summaryrefslogtreecommitdiff
path: root/qadevOOo
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo')
-rwxr-xr-xqadevOOo/build.xml52
-rwxr-xr-xqadevOOo/makefile.mk51
-rw-r--r--qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv2
-rw-r--r--qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv2
-rw-r--r--qadevOOo/objdsc/adabas/com.sun.star.comp.sdbcx.adabas.ODriver.csv5
-rw-r--r--qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv5
-rw-r--r--qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv23
-rw-r--r--qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv24
-rw-r--r--qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv6
-rw-r--r--qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv6
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv1
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv1
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv1
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv2
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv11
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv5
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv18
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv1
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv1
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv1
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv11
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv5
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv10
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv10
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv4
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv16
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv2
-rw-r--r--qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv6
-rw-r--r--qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv45
-rw-r--r--qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv33
-rw-r--r--qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv1
-rw-r--r--qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv1
-rw-r--r--qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv5
-rw-r--r--qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv5
-rw-r--r--qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv29
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv154
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv1
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv63
-rwxr-xr-xqadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv24
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv5
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv12
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv40
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv11
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv13
-rw-r--r--qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv4
-rw-r--r--qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv9
-rw-r--r--qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv18
-rw-r--r--qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv19
-rw-r--r--qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv25
-rw-r--r--qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv5
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv9
-rw-r--r--qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv17
-rw-r--r--qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv12
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv36
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv60
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv49
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv47
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv95
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv67
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv97
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv97
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv225
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv98
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv57
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv235
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv67
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv63
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv62
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv101
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv27
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv90
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv36
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv57
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv23
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv45
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv63
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv41
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv75
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv67
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv95
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv97
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv68
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv84
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv46
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv95
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv69
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv66
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv76
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv96
-rw-r--r--qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv36
-rw-r--r--qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv7
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv37
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv10
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv3
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv5
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv5
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv30
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv1
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv3
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv30
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv3
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv1
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv6
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv21
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv1
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv5
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv6
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv3
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv4
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv6
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv5
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv5
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv5
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv23
-rwxr-xr-xqadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv4
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv10
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv16
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv10
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv39
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv3
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv15
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv23
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv24
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv10
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv13
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv10
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv12
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv15
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv7
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv19
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv3
-rw-r--r--qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv4
-rw-r--r--qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv4
-rw-r--r--qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv1
-rw-r--r--qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv1
-rw-r--r--qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv2
-rw-r--r--qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv2
-rw-r--r--qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv2
-rw-r--r--qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv2
-rw-r--r--qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv6
-rw-r--r--qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv5
-rw-r--r--qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv6
-rw-r--r--qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv18
-rw-r--r--qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv34
-rw-r--r--qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv15
-rw-r--r--qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv15
-rw-r--r--qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv14
-rw-r--r--qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv11
-rw-r--r--qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv6
-rw-r--r--qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv5
-rw-r--r--qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv3
-rw-r--r--qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv3
-rw-r--r--qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv9
-rw-r--r--qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv5
-rw-r--r--qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv9
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv7
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv19
-rwxr-xr-xqadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv27
-rwxr-xr-xqadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv13
-rw-r--r--qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv7
-rw-r--r--qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv1
-rw-r--r--qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv1
-rw-r--r--qadevOOo/objdsc/proxyset/com.sun.star.comp.system.SystemProxySettings.csv17
-rwxr-xr-xqadevOOo/objdsc/qadevOOo/bogus.SelfTest.csv7
-rw-r--r--qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv6
-rw-r--r--qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv6
-rw-r--r--qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv7
-rw-r--r--qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationObj.csv17
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv244
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationsObj.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinkObj.csv19
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinksObj.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv50
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatObj.csv20
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatsObj.csv11
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv239
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldObj.csv16
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldsObj.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsObj.csv5
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv223
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv226
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv206
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellSearchObj.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv180
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsObj.csv3
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartObj.csv9
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartsObj.csv10
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScConsolidationDescriptor.csv12
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinkObj.csv8
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinksObj.csv8
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupItemObj.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupObj.csv10
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupsObj.csv8
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldObj.csv28
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldsObj.csv8
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv11
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemsObj.csv8
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTableObj.csv20
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTablesObj.csv11
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv28
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangesObj.csv10
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv49
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv11
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPagesObj.csv8
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFilterDescriptorBase.csv18
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFunctionListObj.csv9
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldObj.csv16
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldsObj.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterContentObj.csv3
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv180
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAnnotationsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAreaLinksEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DDELinksEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotFieldsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotItemsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotTablesEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DatabaseRangesEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_FunctionDescriptionEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_LabelRangesEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_NamedRangesEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_ScenariosEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetCellRangesEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetLinksEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetViewPanesEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SubTotalFieldsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableAutoFormatEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableChartsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableColumnsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableConditionalEntryEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableRowsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TextFieldEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangeObj.csv4
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangesObj.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv94
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangeObj.csv9
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangesObj.csv12
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScPageObj.csv11
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScRecentFunctionsObj.csv3
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScScenariosObj.csv10
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv29
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv15
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinksObj.csv8
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv25
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettingsObj.csv24
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamiliesObj.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv10
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv27
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalDescriptorBase.csv22
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalFieldObj.csv4
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv86
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv16
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnsObj.csv10
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalEntry.csv10
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalFormat.csv11
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowObj.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowsObj.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv293
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetsObj.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableValidationObj.csv25
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsObj.csv5
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScViewPaneObj.csv11
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv52
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv52
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv52
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv40
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv36
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv45
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv36
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv28
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv32
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv32
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv47
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv47
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccStatisticsObject.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv22
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv92
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv4
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv10
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv37
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv10
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv97
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv109
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv80
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv43
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv21
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv113
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv21
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv79
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv5
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv37
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv8
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv34
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv11
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv11
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv34
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv6
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv5
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv9
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv10
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv60
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv22
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv29
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv22
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv13
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv22
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv58
-rw-r--r--qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv28
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv5
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv3
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv9
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv3
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.StandaloneDocumentInfo.csv46
-rw-r--r--qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv8
-rw-r--r--qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv8
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv22
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv39
-rw-r--r--qadevOOo/objdsc/sm/math.SmModel.csv55
-rw-r--r--qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv28
-rw-r--r--qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv6
-rw-r--r--qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv1
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv20
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv16
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv26
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv19
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv8
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv8
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv20
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv16
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv26
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv19
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv8
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv8
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv28
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv38
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv24
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv24
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv31
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv28
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv49
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv5
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv37
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv212
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv236
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv238
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv6
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv227
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv31
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv233
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv37
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv238
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv238
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv16
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv21
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv205
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv2
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv180
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv16
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv147
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv29
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv53
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv13
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv25
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv65
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv29
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv53
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv33
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv48
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv25
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv25
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv9
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv12
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv13
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv26
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv148
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv16
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv42
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv12
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv34
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv11
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv19
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv11
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv4
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv9
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv36
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv16
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv205
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv13
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv3
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv26
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv12
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv180
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv137
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv87
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv73
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv16
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv5
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv78
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv90
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv155
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv147
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv4
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv19
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv52
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv59
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv142
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv16
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv11
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv190
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv37
-rwxr-xr-xqadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv105
-rwxr-xr-xqadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv95
-rwxr-xr-xqadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv125
-rwxr-xr-xqadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv95
-rw-r--r--qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv16
-rwxr-xr-xqadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv5
-rw-r--r--qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv6
-rw-r--r--qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv2
-rw-r--r--qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv12
-rw-r--r--qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv2
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv9
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv11
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv12
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv43
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv55
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv45
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv50
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv65
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv51
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv47
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv37
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv76
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv56
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv76
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv55
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv56
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv55
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv45
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv40
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv43
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv45
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv60
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv58
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv36
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv39
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv39
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv40
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv63
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv76
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv54
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv66
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv40
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv44
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv47
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv74
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv28
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv28
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv48
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv41
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv32
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv38
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv56
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv31
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv31
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv32
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv41
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv31
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv41
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControl.csv36
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControlModel.csv29
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv44
-rwxr-xr-xqadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControl.csv36
-rwxr-xr-xqadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControlModel.csv29
-rwxr-xr-xqadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv28
-rwxr-xr-xqadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv37
-rw-r--r--qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv51
-rwxr-xr-xqadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv8
-rwxr-xr-xqadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv18
-rw-r--r--qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv2
-rw-r--r--qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv12
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv1
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv3
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv1
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv15
-rw-r--r--qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv13
-rw-r--r--qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv6
-rw-r--r--qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv5
-rw-r--r--qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv3
-rw-r--r--qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv5
-rw-r--r--qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv2
-rw-r--r--qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv1
-rw-r--r--qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv1
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/prj/build.lst5
-rw-r--r--qadevOOo/prj/d.lst1
-rw-r--r--qadevOOo/qa/unoapi/Test.java51
-rwxr-xr-xqadevOOo/qa/unoapi/knownissues.xcl1
-rwxr-xr-xqadevOOo/qa/unoapi/makefile.mk48
-rwxr-xr-xqadevOOo/qa/unoapi/qadevOOo.sce1
-rw-r--r--qadevOOo/runner/base/TestBase.java39
-rw-r--r--qadevOOo/runner/base/basic_fat.java457
-rw-r--r--qadevOOo/runner/base/java_cmp.java83
-rw-r--r--qadevOOo/runner/base/java_complex.java170
-rw-r--r--qadevOOo/runner/base/java_fat.java602
-rw-r--r--qadevOOo/runner/base/java_fat_service.java267
-rw-r--r--qadevOOo/runner/base/makefile.mk52
-rw-r--r--qadevOOo/runner/basicrunner/BasicException.java42
-rw-r--r--qadevOOo/runner/basicrunner/BasicHandler.java612
-rw-r--r--qadevOOo/runner/basicrunner/BasicHandlerProvider.java153
-rw-r--r--qadevOOo/runner/basicrunner/BasicIfcTest.java169
-rw-r--r--qadevOOo/runner/basicrunner/BasicTestCase.java178
-rw-r--r--qadevOOo/runner/basicrunner/basichelper/AttributeList.java138
-rw-r--r--qadevOOo/runner/basicrunner/basichelper/Connector.java272
-rw-r--r--qadevOOo/runner/basicrunner/basichelper/DispatchProviderInterceptor.java194
-rw-r--r--qadevOOo/runner/basicrunner/basichelper/DocumentHandler.java344
-rw-r--r--qadevOOo/runner/basicrunner/basichelper/Filter.java269
-rw-r--r--qadevOOo/runner/basicrunner/basichelper/ThreadRunner.java254
-rw-r--r--qadevOOo/runner/basicrunner/basichelper/makefile.mk47
-rw-r--r--qadevOOo/runner/basicrunner/makefile.mk46
-rw-r--r--qadevOOo/runner/complexlib/Assurance.java407
-rw-r--r--qadevOOo/runner/complexlib/ComplexTestCase.java315
-rw-r--r--qadevOOo/runner/complexlib/MethodThread.java112
-rw-r--r--qadevOOo/runner/complexlib/ShowTargets.java138
-rw-r--r--qadevOOo/runner/complexlib/makefile.mk49
-rw-r--r--qadevOOo/runner/convwatch/Basename.java61
-rw-r--r--qadevOOo/runner/convwatch/BorderRemover.java319
-rw-r--r--qadevOOo/runner/convwatch/BuildID.java163
-rw-r--r--qadevOOo/runner/convwatch/ConvWatch.java432
-rw-r--r--qadevOOo/runner/convwatch/ConvWatchCancelException.java38
-rw-r--r--qadevOOo/runner/convwatch/ConvWatchException.java37
-rw-r--r--qadevOOo/runner/convwatch/ConvWatchStarter.java445
-rw-r--r--qadevOOo/runner/convwatch/CrashLoopTest.java57
-rw-r--r--qadevOOo/runner/convwatch/DB.java541
-rw-r--r--qadevOOo/runner/convwatch/DBHelper.java316
-rwxr-xr-xqadevOOo/runner/convwatch/DateHelper.java58
-rw-r--r--qadevOOo/runner/convwatch/DirectoryHelper.java156
-rw-r--r--qadevOOo/runner/convwatch/DocumentConverter.java277
-rw-r--r--qadevOOo/runner/convwatch/EnhancedComplexTestCase.java130
-rw-r--r--qadevOOo/runner/convwatch/FileHelper.java405
-rw-r--r--qadevOOo/runner/convwatch/FilenameHelper.java398
-rw-r--r--qadevOOo/runner/convwatch/GfxCompare.java196
-rw-r--r--qadevOOo/runner/convwatch/GlobalLogWriter.java57
-rw-r--r--qadevOOo/runner/convwatch/GraphicalDifferenceCheck.java410
-rw-r--r--qadevOOo/runner/convwatch/GraphicalTestArguments.java744
-rw-r--r--qadevOOo/runner/convwatch/HTMLOutputter.java418
-rw-r--r--qadevOOo/runner/convwatch/INIOutputter.java207
-rw-r--r--qadevOOo/runner/convwatch/ImageHelper.java116
-rw-r--r--qadevOOo/runner/convwatch/IniFile.java452
-rw-r--r--qadevOOo/runner/convwatch/LISTOutputter.java104
-rw-r--r--qadevOOo/runner/convwatch/MSOfficePrint.java870
-rw-r--r--qadevOOo/runner/convwatch/NameHelper.java89
-rw-r--r--qadevOOo/runner/convwatch/OSHelper.java84
-rw-r--r--qadevOOo/runner/convwatch/OfficePrint.java1377
-rw-r--r--qadevOOo/runner/convwatch/PRNCompare.java805
-rw-r--r--qadevOOo/runner/convwatch/PerformanceContainer.java250
-rw-r--r--qadevOOo/runner/convwatch/PixelCounter.java206
-rw-r--r--qadevOOo/runner/convwatch/PropertyName.java67
-rw-r--r--qadevOOo/runner/convwatch/ReferenceBuilder.java304
-rwxr-xr-xqadevOOo/runner/convwatch/ReportDesignerTest.java694
-rw-r--r--qadevOOo/runner/convwatch/SimpleFileSemaphore.java189
-rw-r--r--qadevOOo/runner/convwatch/StatusHelper.java108
-rw-r--r--qadevOOo/runner/convwatch/StringHelper.java103
-rwxr-xr-xqadevOOo/runner/convwatch/TimeHelper.java44
-rw-r--r--qadevOOo/runner/convwatch/TriState.java76
-rw-r--r--qadevOOo/runner/convwatch/ValueNotFoundException.java36
-rw-r--r--qadevOOo/runner/convwatch/makefile.mk86
-rw-r--r--qadevOOo/runner/graphical/BuildID.java226
-rw-r--r--qadevOOo/runner/graphical/DateHelper.java58
-rw-r--r--qadevOOo/runner/graphical/DirectoryHelper.java160
-rw-r--r--qadevOOo/runner/graphical/EnhancedComplexTestCase.java519
-rw-r--r--qadevOOo/runner/graphical/FileHelper.java767
-rw-r--r--qadevOOo/runner/graphical/GlobalLogWriter.java72
-rw-r--r--qadevOOo/runner/graphical/GraphicalComparator.java31
-rw-r--r--qadevOOo/runner/graphical/HTMLResult.java212
-rw-r--r--qadevOOo/runner/graphical/IDocument.java46
-rw-r--r--qadevOOo/runner/graphical/IOffice.java63
-rw-r--r--qadevOOo/runner/graphical/ImageHelper.java120
-rw-r--r--qadevOOo/runner/graphical/IniFile.java693
-rw-r--r--qadevOOo/runner/graphical/JPEGComparator.java816
-rw-r--r--qadevOOo/runner/graphical/JPEGCreator.java475
-rw-r--r--qadevOOo/runner/graphical/JPEGEvaluator.java163
-rw-r--r--qadevOOo/runner/graphical/MSOfficePostscriptCreator.java1004
-rw-r--r--qadevOOo/runner/graphical/Office.java170
-rw-r--r--qadevOOo/runner/graphical/OfficeException.java45
-rw-r--r--qadevOOo/runner/graphical/OpenOfficeDatabaseReportExtractor.java560
-rw-r--r--qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java1427
-rw-r--r--qadevOOo/runner/graphical/ParameterHelper.java433
-rw-r--r--qadevOOo/runner/graphical/PerformanceContainer.java271
-rw-r--r--qadevOOo/runner/graphical/PixelCounter.java247
-rw-r--r--qadevOOo/runner/graphical/PostscriptCreator.java137
-rw-r--r--qadevOOo/runner/graphical/PropertyName.java73
-rw-r--r--qadevOOo/runner/graphical/TimeHelper.java91
-rw-r--r--qadevOOo/runner/graphical/Tolerance.java23
-rw-r--r--qadevOOo/runner/graphical/WrongEnvironmentException.java42
-rw-r--r--qadevOOo/runner/graphical/WrongSuffixException.java42
-rw-r--r--qadevOOo/runner/graphical/makefile.mk76
-rw-r--r--qadevOOo/runner/helper/APIDescGetter.java985
-rw-r--r--qadevOOo/runner/helper/AppProvider.java55
-rw-r--r--qadevOOo/runner/helper/BuildEnvTools.java195
-rw-r--r--qadevOOo/runner/helper/CfgParser.java192
-rw-r--r--qadevOOo/runner/helper/ClParser.java193
-rw-r--r--qadevOOo/runner/helper/ComplexDescGetter.java194
-rw-r--r--qadevOOo/runner/helper/ConfigHelper.java348
-rw-r--r--qadevOOo/runner/helper/ConfigurationRead.java141
-rw-r--r--qadevOOo/runner/helper/ContextMenuInterceptor.java140
-rw-r--r--qadevOOo/runner/helper/CwsDataExchangeImpl.java157
-rw-r--r--qadevOOo/runner/helper/FileTools.java160
-rw-r--r--qadevOOo/runner/helper/InetTools.java88
-rw-r--r--qadevOOo/runner/helper/LoggingThread.java96
-rw-r--r--qadevOOo/runner/helper/OSHelper.java88
-rw-r--r--qadevOOo/runner/helper/ObjectInspectorModelImpl.java145
-rw-r--r--qadevOOo/runner/helper/OfficeProvider.java833
-rw-r--r--qadevOOo/runner/helper/OfficeWatcher.java132
-rw-r--r--qadevOOo/runner/helper/ParameterNotFoundException.java39
-rw-r--r--qadevOOo/runner/helper/ProcessHandler.java824
-rw-r--r--qadevOOo/runner/helper/PropertyHandlerFactroy.java49
-rw-r--r--qadevOOo/runner/helper/PropertyHandlerImpl.java258
-rwxr-xr-xqadevOOo/runner/helper/PropertyHelper.java81
-rw-r--r--qadevOOo/runner/helper/SimpleMailSender.java171
-rw-r--r--qadevOOo/runner/helper/StreamSimulator.java533
-rw-r--r--qadevOOo/runner/helper/StringHelper.java125
-rw-r--r--qadevOOo/runner/helper/URLHelper.java292
-rw-r--r--qadevOOo/runner/helper/UnoProvider.java165
-rw-r--r--qadevOOo/runner/helper/WindowListener.java78
-rw-r--r--qadevOOo/runner/helper/makefile.mk65
-rw-r--r--qadevOOo/runner/lib/DynamicClassLoader.java94
-rw-r--r--qadevOOo/runner/lib/ExceptionStatus.java48
-rw-r--r--qadevOOo/runner/lib/MultiMethodTest.java511
-rw-r--r--qadevOOo/runner/lib/MultiPropertyTest.java608
-rw-r--r--qadevOOo/runner/lib/Parameters.java233
-rw-r--r--qadevOOo/runner/lib/SimpleStatus.java149
-rw-r--r--qadevOOo/runner/lib/Status.java173
-rw-r--r--qadevOOo/runner/lib/StatusException.java81
-rw-r--r--qadevOOo/runner/lib/TestCase.java182
-rw-r--r--qadevOOo/runner/lib/TestEnvironment.java153
-rw-r--r--qadevOOo/runner/lib/TestParameters.java343
-rw-r--r--qadevOOo/runner/lib/TestResult.java106
-rw-r--r--qadevOOo/runner/lib/makefile.mk58
-rw-r--r--qadevOOo/runner/makefile.mk60
-rw-r--r--qadevOOo/runner/manifest3
-rw-r--r--qadevOOo/runner/org/openoffice/Runner.java261
-rw-r--r--qadevOOo/runner/org/openoffice/RunnerService.java397
-rw-r--r--qadevOOo/runner/org/openoffice/makefile.mk46
-rw-r--r--qadevOOo/runner/share/ComplexTest.java39
-rw-r--r--qadevOOo/runner/share/CwsDataExchange.java51
-rw-r--r--qadevOOo/runner/share/DescEntry.java97
-rw-r--r--qadevOOo/runner/share/DescGetter.java197
-rw-r--r--qadevOOo/runner/share/LogWriter.java68
-rw-r--r--qadevOOo/runner/share/Watcher.java42
-rw-r--r--qadevOOo/runner/share/makefile.mk52
-rw-r--r--qadevOOo/runner/stats/ComplexDataBaseOutProducer.java181
-rw-r--r--qadevOOo/runner/stats/DataBaseOutProducer.java207
-rw-r--r--qadevOOo/runner/stats/FatDataBaseOutProducer.java147
-rw-r--r--qadevOOo/runner/stats/FileLogWriter.java141
-rw-r--r--qadevOOo/runner/stats/InternalLogWriter.java124
-rw-r--r--qadevOOo/runner/stats/OutProducerFactory.java137
-rw-r--r--qadevOOo/runner/stats/SQLExecution.java337
-rw-r--r--qadevOOo/runner/stats/SimpleFileOutProducer.java114
-rw-r--r--qadevOOo/runner/stats/SimpleLogWriter.java111
-rw-r--r--qadevOOo/runner/stats/SimpleOutProducer.java77
-rw-r--r--qadevOOo/runner/stats/Summarizer.java114
-rw-r--r--qadevOOo/runner/stats/makefile.mk59
-rw-r--r--qadevOOo/runner/util/AccessibilityTools.java461
-rw-r--r--qadevOOo/runner/util/BasicMacroTools.java261
-rw-r--r--qadevOOo/runner/util/BookmarkDsc.java84
-rw-r--r--qadevOOo/runner/util/CalcTools.java160
-rw-r--r--qadevOOo/runner/util/ControlDsc.java80
-rw-r--r--qadevOOo/runner/util/DBTools.java824
-rw-r--r--qadevOOo/runner/util/DefaultDsc.java81
-rw-r--r--qadevOOo/runner/util/DesktopTools.java515
-rw-r--r--qadevOOo/runner/util/DrawTools.java162
-rw-r--r--qadevOOo/runner/util/DynamicClassLoader.java123
-rw-r--r--qadevOOo/runner/util/FootnoteDsc.java84
-rw-r--r--qadevOOo/runner/util/FormTools.java349
-rw-r--r--qadevOOo/runner/util/FrameDsc.java126
-rw-r--r--qadevOOo/runner/util/InstCreator.java122
-rw-r--r--qadevOOo/runner/util/InstDescr.java53
-rw-r--r--qadevOOo/runner/util/ParagraphDsc.java85
-rw-r--r--qadevOOo/runner/util/PropertyName.java169
-rw-r--r--qadevOOo/runner/util/ReferenceMarkDsc.java84
-rw-r--r--qadevOOo/runner/util/RegistryTools.java370
-rw-r--r--qadevOOo/runner/util/SOfficeFactory.java629
-rw-r--r--qadevOOo/runner/util/ShapeDsc.java101
-rw-r--r--qadevOOo/runner/util/StyleFamilyDsc.java80
-rw-r--r--qadevOOo/runner/util/SysUtils.java153
-rw-r--r--qadevOOo/runner/util/TableDsc.java96
-rw-r--r--qadevOOo/runner/util/TextSectionDsc.java84
-rw-r--r--qadevOOo/runner/util/UITools.java814
-rw-r--r--qadevOOo/runner/util/ValueChanger.java994
-rw-r--r--qadevOOo/runner/util/ValueComparer.java266
-rw-r--r--qadevOOo/runner/util/WaitUnreachable.java127
-rw-r--r--qadevOOo/runner/util/WriterTools.java121
-rw-r--r--qadevOOo/runner/util/XInstCreator.java38
-rw-r--r--qadevOOo/runner/util/XLayerHandlerImpl.java119
-rw-r--r--qadevOOo/runner/util/XLayerImpl.java45
-rw-r--r--qadevOOo/runner/util/XMLTools.java939
-rw-r--r--qadevOOo/runner/util/XSchemaHandlerImpl.java137
-rw-r--r--qadevOOo/runner/util/compare/DocComparator.java52
-rw-r--r--qadevOOo/runner/util/compare/DocComparatorFactory.java64
-rw-r--r--qadevOOo/runner/util/compare/GraphicalComparator.java260
-rw-r--r--qadevOOo/runner/util/compare/PDFComparator.java62
-rw-r--r--qadevOOo/runner/util/compare/XMLComparator.java58
-rw-r--r--qadevOOo/runner/util/compare/makefile.mk54
-rw-r--r--qadevOOo/runner/util/db/DataSource.java163
-rw-r--r--qadevOOo/runner/util/db/DataSourceDescriptor.java74
-rw-r--r--qadevOOo/runner/util/db/DatabaseDocument.java90
-rw-r--r--qadevOOo/runner/util/dbg.java347
-rw-r--r--qadevOOo/runner/util/makefile.mk87
-rw-r--r--qadevOOo/runner/util/utils.java1020
-rw-r--r--qadevOOo/testdocs/10test.csv19
-rw-r--r--qadevOOo/testdocs/BasicBridge.sxwbin0 -> 27011 bytes
-rw-r--r--qadevOOo/testdocs/BasicDB/DBTest.dbfbin0 -> 1575 bytes
-rw-r--r--qadevOOo/testdocs/Calc_Link.sxcbin0 -> 5410 bytes
-rw-r--r--qadevOOo/testdocs/ChXChartObject.sdsbin0 -> 52736 bytes
-rw-r--r--qadevOOo/testdocs/FiexdTextDialog.sxwbin0 -> 8259 bytes
-rw-r--r--qadevOOo/testdocs/FixedTextDialog.sxwbin0 -> 8259 bytes
-rw-r--r--qadevOOo/testdocs/Iterator.sxwbin0 -> 5627 bytes
-rw-r--r--qadevOOo/testdocs/JAJPIterator.sxwbin0 -> 5853 bytes
-rw-r--r--qadevOOo/testdocs/MailMerge.sxwbin0 -> 5391 bytes
-rw-r--r--qadevOOo/testdocs/ORowSet.dbfbin0 -> 39449 bytes
-rw-r--r--qadevOOo/testdocs/RunnerStart.sxwbin0 -> 8224 bytes
-rw-r--r--qadevOOo/testdocs/ScAnnotationShapeObj.sxcbin0 -> 6542 bytes
-rw-r--r--qadevOOo/testdocs/ScDDELinksObj.sdcbin0 -> 17408 bytes
-rw-r--r--qadevOOo/testdocs/ScSheetLinksObj.sdcbin0 -> 16896 bytes
-rw-r--r--qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdwbin0 -> 8192 bytes
-rw-r--r--qadevOOo/testdocs/SvxShape.sdabin0 -> 39424 bytes
-rw-r--r--qadevOOo/testdocs/SvxShape.sxdbin0 -> 6344 bytes
-rw-r--r--qadevOOo/testdocs/SwOLE.sxwbin0 -> 8603 bytes
-rw-r--r--qadevOOo/testdocs/SwXTextEmbeddedObject.sdwbin0 -> 180736 bytes
-rw-r--r--qadevOOo/testdocs/SwXTextEmbeddedObject.sxwbin0 -> 24763 bytes
-rw-r--r--qadevOOo/testdocs/SwXTextSection.sdwbin0 -> 8704 bytes
-rw-r--r--qadevOOo/testdocs/TestDB/testDB.dbfbin0 -> 949 bytes
-rw-r--r--qadevOOo/testdocs/TestDB/testDB.dbtbin0 -> 512 bytes
-rw-r--r--qadevOOo/testdocs/TransparencyCalcChart.sxcbin0 -> 8755 bytes
-rw-r--r--qadevOOo/testdocs/TransparencyChart.sxsbin0 -> 10846 bytes
-rw-r--r--qadevOOo/testdocs/TwoShapes.sxibin0 -> 7283 bytes
-rw-r--r--qadevOOo/testdocs/Writer_link.sxwbin0 -> 5188 bytes
-rw-r--r--qadevOOo/testdocs/XDocumentInsertable.sxwbin0 -> 4914 bytes
-rw-r--r--qadevOOo/testdocs/XPageCursor.sdwbin0 -> 16896 bytes
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt1
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt1
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt1
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt1
-rw-r--r--qadevOOo/testdocs/XSimpleRegistry.rdbbin0 -> 8192 bytes
-rw-r--r--qadevOOo/testdocs/XTypeDetection.sxwbin0 -> 4995 bytes
-rw-r--r--qadevOOo/testdocs/ZHCNIterator.sxwbin0 -> 5883 bytes
-rw-r--r--qadevOOo/testdocs/ZHTWIterator.sxwbin0 -> 6247 bytes
-rw-r--r--qadevOOo/testdocs/_BasicBridge.sxwbin0 -> 25191 bytes
-rw-r--r--qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java259
-rw-r--r--qadevOOo/testdocs/backend/org/openoffice/makefile.mk64
-rw-r--r--qadevOOo/testdocs/backend/org/openoffice/manifest1
-rw-r--r--qadevOOo/testdocs/basDialog.odtbin0 -> 9950 bytes
-rw-r--r--qadevOOo/testdocs/calcshapes.sxcbin0 -> 13030 bytes
-rw-r--r--qadevOOo/testdocs/chinese.sxwbin0 -> 5757 bytes
-rw-r--r--qadevOOo/testdocs/crazy-blue.jpgbin0 -> 4451 bytes
-rwxr-xr-xqadevOOo/testdocs/delete.cfgbin0 -> 2799 bytes
-rw-r--r--qadevOOo/testdocs/emptyChart.sdsbin0 -> 44544 bytes
-rw-r--r--qadevOOo/testdocs/filter.sxwbin0 -> 14359 bytes
-rw-r--r--qadevOOo/testdocs/ok.wavbin0 -> 4454 bytes
-rw-r--r--qadevOOo/testdocs/poliball.gifbin0 -> 945 bytes
-rw-r--r--qadevOOo/testdocs/qadevlibs/JobExecutor.jarbin0 -> 3912 bytes
-rw-r--r--qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jarbin0 -> 4346 bytes
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java356
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk64
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest1
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/test/Job.java128
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/test/makefile.mk64
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/test/manifest2
-rw-r--r--qadevOOo/testdocs/report.stwbin0 -> 11186 bytes
-rw-r--r--qadevOOo/testdocs/report2.stwbin0 -> 11000 bytes
-rw-r--r--qadevOOo/testdocs/sForm.sxwbin0 -> 5568 bytes
-rw-r--r--qadevOOo/testdocs/setexpression.sxwbin0 -> 6364 bytes
-rw-r--r--qadevOOo/testdocs/small_submit_test.sdwbin0 -> 18944 bytes
-rw-r--r--qadevOOo/testdocs/space-metal.jpgbin0 -> 4313 bytes
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessible/accessibility_XAccessible.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessible/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/accessibility_XAccessibleAction.xba99
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/accessibility_XAccessibleComponent.xba247
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/accessibility_XAccessibleContext.xba156
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/accessibility_XAccessibleEditableText.xba181
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/accessibility_XAccessibleEventBroadcaster.xba149
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/accessibility_XAccessibleExtendedComponent.xba86
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/accessibility_XAccessibleImage.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/accessibility_XAccessibleSelection.xba259
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/accessibility_XAccessibleTable.xba291
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba197
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/accessibility_XAccessibleValue.xba119
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/awt_UnoControlButtonModel.xba84
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/awt_UnoControlCheckBoxModel.xba80
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/awt_UnoControlComboBoxModel.xba95
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/awt_UnoControlContainerModel.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/awt_UnoControlCurrencyFieldModel.xba134
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/awt_UnoControlDateFieldModel.xba93
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/awt_UnoControlDialogElement.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/awt_UnoControlDialogModel.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/awt_UnoControlEditModel.xba96
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/awt_UnoControlFileControlModel.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/awt_UnoControlFixedLineModel.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/awt_UnoControlFixedTextModel.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/awt_UnoControlFormattedFieldModel.xba141
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/awt_UnoControlGroupBoxModel.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/awt_UnoControlImageControlModel.xba72
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/awt_UnoControlListBoxModel.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlModel/awt_UnoControlModel.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/awt_UnoControlNumericFieldModel.xba132
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/awt_UnoControlPatternFieldModel.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/awt_UnoControlProgressBarModel.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/awt_UnoControlRadioButtonModel.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/awt_UnoControlScrollBarModel.xba76
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/awt_UnoControlTimeFieldModel.xba91
-rw-r--r--qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XButton/awt_XButton.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XCheckBox/awt_XCheckBox.xba107
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XCheckBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XComboBox/awt_XComboBox.xba146
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XComboBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XControl/awt_XControl.xba123
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XControlContainer/awt_XControlContainer.xba104
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XControlContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XCurrencyField/awt_XCurrencyField.xba144
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XCurrencyField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/awt_XDataTransferProviderAccess.xba117
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XDateField/awt_XDateField.xba123
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XDateField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XDialog/awt_XDialog.xba73
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XDialog/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XFixedText/awt_XFixedText.xba87
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XFixedText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XItemListener/awt_XItemListener.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XItemListener/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/awt_XLayoutConstrains.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XListBox/awt_XListBox.xba239
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XListBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XNumericField/awt_XNumericField.xba157
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XNumericField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XPatternField/awt_XPatternField.xba99
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XPatternField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XRadioButton/awt_XRadioButton.xba98
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XRadioButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XSpinField/awt_XSpinField.xba126
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XSpinField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTabController/awt_XTabController.xba116
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTabController/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTabControllerModel/awt_XTabControllerModel.xba117
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTabControllerModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTextComponent/awt_XTextComponent.xba191
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTextComponent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/awt_XTextLayoutConstrains.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTextListener/awt_XTextListener.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTextListener/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTimeField/awt_XTimeField.xba145
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTimeField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XToolkit/awt_XToolkit.xba168
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XToolkit/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTopWindow/awt_XTopWindow.xba138
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XTopWindow/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XView/awt_XView.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XWindow/awt_XWindow.xba482
-rw-r--r--qadevOOo/tests/basic/ifc/awt/XWindow/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XExactName/beans_XExactName.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XExactName/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XFastPropertySet/beans_XFastPropertySet.xba122
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XFastPropertySet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XIntrospection/beans_XIntrospection.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XIntrospection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/beans_XMultiPropertySet.xba261
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/beans_XMultiPropertyStates.xba183
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XProperty/beans_XProperty.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XProperty/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XPropertySet/beans_XPropertySet.xba357
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XPropertySet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/beans_XPropertySetInfo.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba178
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XPropertyState/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/bridge/XBridge/bridge_XBridge.xba88
-rw-r--r--qadevOOo/tests/basic/ifc/bridge/XBridge/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/bridge_XBridgeFactory.xba123
-rw-r--r--qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/bridge_XUnoUrlResolver.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/BarDiagram/chart_BarDiagram.xba101
-rw-r--r--qadevOOo/tests/basic/ifc/chart/BarDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/chart_Chart3DBarProperties.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxis/chart_ChartAxis.xba105
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxis/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/chart_ChartAxisXSupplier.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/chart_ChartAxisYSupplier.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/chart_ChartAxisZSupplier.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/chart_ChartDataPointProperties.xba72
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/chart_ChartDataRowProperties.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartDocument/chart_ChartDocument.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartLegend/chart_ChartLegend.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartLegend/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartStatistics/chart_ChartStatistics.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartStatistics/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/chart_ChartTableAddressSupplier.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTitle/chart_ChartTitle.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTitle/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/chart_ChartTwoAxisXSupplier.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/chart_ChartTwoAxisYSupplier.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/Diagram/chart_Diagram.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/chart/Diagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/chart_Dim3DDiagram.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/LineDiagram/chart_LineDiagram.xba107
-rw-r--r--qadevOOo/tests/basic/ifc/chart/LineDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/StackableDiagram/chart_StackableDiagram.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/chart/StackableDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/StockDiagram/chart_StockDiagram.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/chart/StockDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/X3DDisplay/chart_X3DDisplay.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/chart/X3DDisplay/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/chart_XAxisXSupplier.xba69
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/chart_XAxisYSupplier.xba69
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/chart_XAxisZSupplier.xba69
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XChartData/chart_XChartData.xba130
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XChartData/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XChartDataArray/chart_XChartDataArray.xba179
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XChartDataArray/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XChartDocument/chart_XChartDocument.xba129
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XChartDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XDiagram/chart_XDiagram.xba73
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/chart_XStatisticDisplay.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/chart_XTwoAxisXSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/chart_XTwoAxisYSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba132
-rw-r--r--qadevOOo/tests/basic/ifc/connection/XAcceptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/connection/XConnector/connection_XConnector.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/connection/XConnector/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XChild/container_XChild.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/container/XChild/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XContainer/container_XContainer.xba228
-rw-r--r--qadevOOo/tests/basic/ifc/container/XContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/container_XContentEnumerationAccess.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XElementAccess/container_XElementAccess.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/container/XElementAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XEnumeration/container_XEnumeration.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/container/XEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XEnumerationAccess/container_XEnumerationAccess.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/container/XEnumerationAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XHierarchicalName/container_XHierarchicalName.xba97
-rw-r--r--qadevOOo/tests/basic/ifc/container/XHierarchicalName/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/container_XHierarchicalNameAccess.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XIndexAccess/container_XIndexAccess.xba73
-rw-r--r--qadevOOo/tests/basic/ifc/container/XIndexAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XIndexContainer/container_XIndexContainer.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/container/XIndexContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XIndexReplace/container_XIndexReplace.xba84
-rw-r--r--qadevOOo/tests/basic/ifc/container/XIndexReplace/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNameAccess/container_XNameAccess.xba81
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNameAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNameContainer/container_XNameContainer.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNameContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNameReplace/container_XNameReplace.xba116
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNameReplace/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNamed/container_XNamed.xba111
-rw-r--r--qadevOOo/tests/basic/ifc/container/XNamed/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/container/XSet/container_XSet.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/container/XSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/datatransfer_XDataFormatTranslator.xba95
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/datatransfer_XMimeContentTypeFactory.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/datatransfer_clipboard_XClipboard.xba105
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/datatransfer_clipboard_XClipboardEx.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/datatransfer_clipboard_XClipboardNotifier.xba133
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/datatransfer_clipboard_XFlushableClipboard.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/DocumentInfo/document_DocumentInfo.xba206
-rw-r--r--qadevOOo/tests/basic/ifc/document/DocumentInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/OfficeDocument/document_OfficeDocument.xba55
-rw-r--r--qadevOOo/tests/basic/ifc/document/OfficeDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XActionLockable/document_XActionLockable.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/document/XActionLockable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XDocumentInfo/document_XDocumentInfo.xba94
-rw-r--r--qadevOOo/tests/basic/ifc/document/XDocumentInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/document_XDocumentInfoSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XDocumentInsertable/document_XDocumentInsertable.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/document/XDocumentInsertable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/document_XEmbeddedObjectSupplier.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XEventsSupplier/document_XEventsSupplier.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/document/XEventsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XExporter/document_XExporter.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/document/XExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XFilter/document_XFilter.xba89
-rw-r--r--qadevOOo/tests/basic/ifc/document/XFilter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XImporter/document_XImporter.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/document/XImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/document_XLinkTargetSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/document_XMimeTypeInfo.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/document_XStandaloneDocumentInfo.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XTypeDetection/document_XTypeDetection.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/document/XTypeDetection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/document/XViewDataSupplier/document_XViewDataSupplier.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/document/XViewDataSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/drawing_ConnectorProperties.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/ConnectorShape/drawing_ConnectorShape.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/ConnectorShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/DrawingDocument/drawing_DrawingDocument.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/DrawingDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/drawing_DrawingDocumentDrawView.xba73
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/EllipseShape/drawing_EllipseShape.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/EllipseShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing_FillProperties.xba121
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing__FillProperties.xba121
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/FillProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/drawing_GenericDrawPage.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/drawing_GraphicObjectShape.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/Layer/drawing_Layer.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/Layer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/LineProperties/drawing_LineProperties.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/LineProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/MeasureProperties/drawing_MeasureProperties.xba120
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/MeasureProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/MeasureShape/drawing_MeasureShape.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/MeasureShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/drawing_PolyPolygonBezierDescriptor.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/drawing_PolyPolygonDescriptor.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/drawing_RotationDescriptor.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/ShadowProperties/drawing_ShadowProperties.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/ShadowProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/Shape/drawing_Shape.xba93
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/Shape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/TextProperties/drawing_TextProperties.xba104
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/TextProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/TextShape/drawing_TextShape.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/TextShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XControlShape/drawing_XControlShape.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XControlShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/drawing_XDrawPageDuplicator.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/drawing_XDrawPageExpander.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/drawing_XDrawPageSummarizer.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/drawing_XDrawPageSupplier.xba57
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPages/drawing_XDrawPages.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPages/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/drawing_XDrawPagesSupplier.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawView/drawing_XDrawView.xba89
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XDrawView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/drawing_XGluePointsSupplier.xba69
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XLayerManager/drawing_XLayerManager.xba94
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XLayerManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/drawing_XLayerSupplier.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/drawing_XMasterPageTarget.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/drawing_XMasterPagesSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShape/drawing_XShape.xba133
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeBinder/drawing_XShapeBinder.xba94
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeBinder/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/drawing_XShapeCombiner.xba86
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/drawing_XShapeDescriptor.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeGroup/drawing_XShapeGroup.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeGroup/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/drawing_XShapeGrouper.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapes/drawing_XShapes.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/drawing/XShapes/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/DataAwareControlModel/form_DataAwareControlModel.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/form/DataAwareControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/FormComponent/form_FormComponent.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/form/FormComponent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/FormControlModel/form_FormControlModel.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/form/FormControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/form_XApproveActionBroadcaster.xba99
-rw-r--r--qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XBoundComponent/form_XBoundComponent.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/form/XBoundComponent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XBoundControl/form_XBoundControl.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/form/XBoundControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/form_XChangeBroadcaster.xba103
-rw-r--r--qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XFormController/form_XFormController.xba123
-rw-r--r--qadevOOo/tests/basic/ifc/form/XFormController/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XFormsSupplier/form_XFormsSupplier.xba57
-rw-r--r--qadevOOo/tests/basic/ifc/form/XFormsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XGrid/form_XGrid.xba73
-rw-r--r--qadevOOo/tests/basic/ifc/form/XGrid/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XGridColumnFactory/form_XGridColumnFactory.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/form/XGridColumnFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/form_XGridFieldDataSupplier.xba91
-rw-r--r--qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/form_XImageProducerSupplier.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XLoadListener/form_XLoadListener.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/form/XLoadListener/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XLoadable/form_XLoadable.xba139
-rw-r--r--qadevOOo/tests/basic/ifc/form/XLoadable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XReset/form_XReset.xba116
-rw-r--r--qadevOOo/tests/basic/ifc/form/XReset/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XSubmit/form_XSubmit.xba107
-rw-r--r--qadevOOo/tests/basic/ifc/form/XSubmit/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba172
-rw-r--r--qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/CheckBox/form_component_CheckBox.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/CheckBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/ComboBox/form_component_ComboBox.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/ComboBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/CommandButton/form_component_CommandButton.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/CommandButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/CurrencyField/form_component_CurrencyField.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/CurrencyField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DataForm/form_component_DataForm.xba89
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DataForm/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/form_component_DatabaseComboBox.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/form_component_DatabaseFormattedField.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/form_component_DatabaseImageControl.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/form_component_DatabaseListBox.xba76
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/form_component_DatabasePatternField.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/form_component_DatabaseTextField.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DateField/form_component_DateField.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/DateField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/FileControl/form_component_FileControl.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/FileControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/GridControl/form_component_GridControl.xba69
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/GridControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/HTMLForm/form_component_HTMLForm.xba83
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/HTMLForm/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/HiddenControl/form_component_HiddenControl.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/HiddenControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/ImageButton/form_component_ImageButton.xba72
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/ImageButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/ListBox/form_component_ListBox.xba80
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/ListBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/NumericField/form_component_NumericField.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/NumericField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/PatternField/form_component_PatternField.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/PatternField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/RadioButton/form_component_RadioButton.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/RadioButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/TextField/form_component_TextField.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/TextField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/TimeField/form_component_TimeField.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/form/component/TimeField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/formula/FormulaProperties/formula_FormulaProperties.xba170
-rw-r--r--qadevOOo/tests/basic/ifc/formula/FormulaProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/Frame/frame_Frame.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/frame/Frame/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XComponentLoader/frame_XComponentLoader.xba109
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XComponentLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XController/frame_XController.xba134
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XController/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDesktop/frame_XDesktop.xba97
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDesktop/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatch/frame_XDispatch.xba120
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatch/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchProvider/frame_XDispatchProvider.xba110
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/frame_XDispatchProviderInterception.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba154
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba109
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/frame_XDocumentTemplates.xba191
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XFrame/frame_XFrame.xba347
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XFrame/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XFrameLoader/frame_XFrameLoader.xba127
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XFrameLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XFramesSupplier/frame_XFramesSupplier.xba129
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XFramesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XModel/frame_XModel.xba145
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XStorable/frame_XStorable.xba116
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XStorable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/frame_XSynchronousFrameLoader.xba87
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XBreakIterator/i18n_XBreakIterator.xba408
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XBreakIterator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba306
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XCalendar/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/i18n_XCharacterClassification.xba223
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XCollator/i18n_XCollator.xba133
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XCollator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/i18n_XIndexEntrySupplier.xba84
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XLocaleData/i18n_XLocaleData.xba245
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XLocaleData/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/i18n_XNumberFormatCode.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XTransliteration/i18n_XTransliteration.xba282
-rw-r--r--qadevOOo/tests/basic/ifc/i18n/XTransliteration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XActiveDataControl/io_XActiveDataControl.xba204
-rw-r--r--qadevOOo/tests/basic/ifc/io/XActiveDataControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba112
-rw-r--r--qadevOOo/tests/basic/ifc/io/XActiveDataSink/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XActiveDataSource/io_XActiveDataSource.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/io/XActiveDataSource/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XConnectable/io_XConnectable.xba77
-rw-r--r--qadevOOo/tests/basic/ifc/io/XConnectable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XDataInputStream/io_XDataInputStream.xba170
-rw-r--r--qadevOOo/tests/basic/ifc/io/XDataInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XDataOutputStream/io_XDataOutputStream.xba173
-rw-r--r--qadevOOo/tests/basic/ifc/io/XDataOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XInputStream/io_XInputStream.xba115
-rw-r--r--qadevOOo/tests/basic/ifc/io/XInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XMarkableStream/io_XMarkableStream.xba253
-rw-r--r--qadevOOo/tests/basic/ifc/io/XMarkableStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XObjectInputStream/io_XObjectInputStream.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/io/XObjectInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XObjectOutputStream/io_XObjectOutputStream.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/io/XObjectOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XOutputStream/io_XOutputStream.xba88
-rw-r--r--qadevOOo/tests/basic/ifc/io/XOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba130
-rw-r--r--qadevOOo/tests/basic/ifc/io/XPersistObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/java/XJavaVM/javajava_XJavaVM.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/java/XJavaVM/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/ServiceManager/lang_ServiceManager.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/lang/ServiceManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba112
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XComponent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XEventListener/lang_XEventListener.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XEventListener/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XInitialization/lang_XInitialization.xba86
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XInitialization/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/lang_XMultiComponentFactory.xba91
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/lang_XMultiServiceFactory.xba99
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/lang_XServiceDisplayName.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XServiceInfo/lang_XServiceInfo.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XServiceInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba106
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XTypeProvider/lang_XTypeProvider.xba88
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XTypeProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/linguistic2_LinguProperties.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/linguistic2_XDictionaryList.xba191
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/linguistic2_XHyphenator.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/linguistic2_XLinguServiceEventBroadcaster.xba77
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/linguistic2_XLinguServiceManager.xba138
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/linguistic2_XSearchableDictionaryList.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/linguistic2_XSpellChecker.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/linguistic2_XSupportedLocales.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/linguistic2_XThesaurus.xba69
-rw-r--r--qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/loader/XImplementationLoader/loader_XImplementationLoader.xba94
-rw-r--r--qadevOOo/tests/basic/ifc/loader/XImplementationLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/OutlineView/presentation_OutlineView.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/OutlineView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/Presentation/presentation_Presentation.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/Presentation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/PresentationView/presentation_PresentationView.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/PresentationView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/PreviewView/presentation_PreviewView.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/PreviewView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/presentation_XCustomPresentationSupplier.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/XPresentation/presentation_XPresentation.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/XPresentation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/presentation_XPresentationSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/reflection/XIdlReflection/reflection_XIdlReflection.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/reflection/XIdlReflection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/reflection/XProxyFactory/reflection_XProxyFactory.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/reflection/XProxyFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba168
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba132
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script_XEventAttacherManager.xba160
-rw-r--r--qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script_XInvocationAdapterFactory.xba81
-rw-r--r--qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script_XInvocationAdapterFactory2.xba80
-rw-r--r--qadevOOo/tests/basic/ifc/script/XTypeConverter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/script/XTypeConverter/script_XTypeConverter.xba109
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/sdb_DataAccessDescriptor.xba81
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/DataSource/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/DataSource/sdb_DataSource.xba111
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/sdb_DatasourceAdministrationDialog.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/sdb_ErrorMessageDialog.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/QueryDefinition/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/QueryDefinition/sdb_QueryDefinition.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/RowSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/RowSet/sdb_RowSet.xba100
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/sdb_XBookmarksSupplier.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/sdb_XCompletedConnection.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/sdb_XQueryDefinitionsSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/sdb_XResultSetAccess.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/sdb_XRowSetApproveBroadcaster.xba214
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/ResultSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/ResultSet/sdbc_ResultSet.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/RowSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/RowSet/sdbc_RowSet.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XCloseable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XCloseable/sdbc_XCloseable.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/sdbc_XColumnLocate.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XDataSource/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XDataSource/sdbc_XDataSource.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XDriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XDriver/sdbc_XDriver.xba104
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XDriverManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XDriverManager/sdbc_XDriverManager.xba86
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/sdbc_XIsolatedConnection.xba76
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XParameters/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XParameters/sdbc_XParameters.xba211
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XResultSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XResultSet/sdbc_XResultSet.xba311
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/sdbc_XResultSetMetaDataSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/sdbc_XResultSetUpdate.xba138
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XRow/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XRow/sdbc_XRow.xba317
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XRowSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XRowSet/sdbc_XRowSet.xba107
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/sdbc_XRowUpdate.xba514
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/sdbc_XWarningsSupplier.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/ResultSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/ResultSet/sdbcx_ResultSet.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/sdbcx_XColumnsSupplier.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/sdbcx_XDataDefinitionSupplier.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/sdbcx_XDeleteRows.xba84
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/sdbcx_XRowLocate.xba128
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/CellAreaLink/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/CellAreaLink/sheet_CellAreaLink.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/DataPilotField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/DataPilotField/sheet_DataPilotField.xba57
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/DatabaseRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/DatabaseRange/sheet_DatabaseRange.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/sheet_GlobalSheetSettings.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetCell/sheet_SheetCell.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetCellRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetCellRange/sheet_SheetCellRange.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/sheet_SheetCellRanges.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/sheet_SheetFilterDescriptor.xba72
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetLink/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SheetLink/sheet_SheetLink.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/Spreadsheet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/Spreadsheet/sheet_Spreadsheet.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/sheet_SpreadsheetDocument.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/sheet_SpreadsheetDocumentSettings.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/sheet_SpreadsheetViewSettings.xba96
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/sheet_SubTotalDescriptor.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/sheet_TableAutoFormat.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/sheet_TableAutoFormatField.xba163
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/TableValidation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/TableValidation/sheet_TableValidation.xba72
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XAreaLink/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XAreaLink/sheet_XAreaLink.xba111
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XAreaLinks/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XAreaLinks/sheet_XAreaLinks.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/sheet_XArrayFormulaRange.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellAddressable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellAddressable/sheet_XCellAddressable.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/sheet_XCellRangeAddressable.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeData/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeData/sheet_XCellRangeData.xba72
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/sheet_XCellRangeMovement.xba167
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/sheet_XCellRangeReferrer.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellSeries/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XCellSeries/sheet_XCellSeries.xba126
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/sheet_XConsolidationDescriptor.xba144
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDDELink/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDDELink/sheet_XDDELink.xba84
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/sheet_XDataPilotDescriptor.xba143
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/sheet_XDataPilotTable.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/sheet_XDataPilotTables.xba88
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/sheet_XDataPilotTablesSupplier.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/sheet_XDatabaseRange.xba106
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/sheet_XDatabaseRanges.xba76
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/sheet_XFunctionDescriptions.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/sheet_XHeaderFooterContent.xba94
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XLabelRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XLabelRange/sheet_XLabelRange.xba116
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XLabelRanges/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XLabelRanges/sheet_XLabelRanges.xba88
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XNamedRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XNamedRange/sheet_XNamedRange.xba110
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XNamedRanges/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XNamedRanges/sheet_XNamedRanges.xba131
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/sheet_XRecentFunctions.xba110
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XScenarios/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XScenarios/sheet_XScenarios.xba80
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/sheet_XScenariosSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/sheet_XSheetAnnotation.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/sheet_XSheetAnnotations.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/sheet_XSheetAnnotationsSupplier.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/sheet_XSheetCellCursor.xba135
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/sheet_XSheetCellRange.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/sheet_XSheetCellRangeContainer.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/sheet_XSheetCellRanges.xba81
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCondition/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetCondition/sheet_XSheetCondition.xba103
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/sheet_XSheetConditionalEntries.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/sheet_XSheetConditionalEntry.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/sheet_XSheetFilterDescriptor.xba77
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetOperation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetOperation/sheet_XSheetOperation.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/sheet_XSheetPageBreak.xba103
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/sheet_XSpreadsheet.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/sheet_XSpreadsheetDocument.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/sheet_XSpreadsheetView.xba95
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/sheet_XSpreadsheets.xba130
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/sheet_XSubTotalDescriptor.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSubTotalField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XSubTotalField/sheet_XSubTotalField.xba87
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/sheet_XUsedAreaCursor.xba86
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XViewFreezable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XViewFreezable/sheet_XViewFreezable.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XViewPane/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XViewPane/sheet_XViewPane.xba87
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XViewSplitable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/sheet/XViewSplitable/sheet_XViewSplitable.xba133
-rw-r--r--qadevOOo/tests/basic/ifc/style/CharacterProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/CharacterProperties/style_CharacterProperties.xba292
-rw-r--r--qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/style_CharacterPropertiesAsian.xba100
-rw-r--r--qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/style_CharacterPropertiesComplex.xba94
-rw-r--r--qadevOOo/tests/basic/ifc/style/ParagraphProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/ParagraphProperties/style_ParagraphProperties.xba212
-rw-r--r--qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/style_ParagraphPropertiesAsian.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/style_ParagraphPropertiesComplex.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/style/Style/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/Style/style_Style.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/style/XStyle/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/XStyle/style_XStyle.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/style_XStyleFamiliesSupplier.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/system/XProxySettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/system/XProxySettings/system_XProxySettings.xba114
-rw-r--r--qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/system_XSimpleMailClientSupplier.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/system/XSystemShellExecute/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/system/XSystemShellExecute/system_XSystemShellExecute.xba105
-rw-r--r--qadevOOo/tests/basic/ifc/table/CellProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/CellProperties/table_CellProperties.xba109
-rw-r--r--qadevOOo/tests/basic/ifc/table/TableColumn/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/TableColumn/table_TableColumn.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/table/TableRow/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/TableRow/table_TableRow.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/table/XAutoFormattable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XAutoFormattable/table_XAutoFormattable.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/table/XCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XCell/table_XCell.xba100
-rw-r--r--qadevOOo/tests/basic/ifc/table/XCellCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba144
-rw-r--r--qadevOOo/tests/basic/ifc/table/XCellRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XCellRange/table_XCellRange.xba142
-rw-r--r--qadevOOo/tests/basic/ifc/table/XColumnRowRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XColumnRowRange/table_XColumnRowRange.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableChart/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableChart/table_XTableChart.xba106
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableCharts/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableCharts/table_XTableCharts.xba99
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/table_XTableChartsSupplier.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableColumns/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableColumns/table_XTableColumns.xba87
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableRows/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/table/XTableRows/table_XTableRows.xba88
-rw-r--r--qadevOOo/tests/basic/ifc/task/XInteractionHandler/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/task/XInteractionHandler/task_XInteractionHandler.xba79
-rw-r--r--qadevOOo/tests/basic/ifc/task/XJob/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/task/XJob/task_XJob.xba88
-rw-r--r--qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/task_XStatusIndicatorFactory.xba77
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseFrame/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseFrame/text_BaseFrame.xba63
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseFrameProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseFrameProperties/text_BaseFrameProperties.xba183
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseIndex/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseIndex/text_BaseIndex.xba102
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseIndexMark/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/BaseIndexMark/text_BaseIndexMark.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/text/CellProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/CellProperties/text_CellProperties.xba109
-rw-r--r--qadevOOo/tests/basic/ifc/text/CellRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/CellRange/text_CellRange.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/text/Defaults/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/Defaults/text_Defaults.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/text/DocumentIndex/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/DocumentIndex/text_DocumentIndex.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/text/DocumentIndexMark/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/DocumentIndexMark/text_DocumentIndexMark.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/text/Footnote/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/Footnote/text_Footnote.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/text/FootnoteSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/FootnoteSettings/text_FootnoteSettings.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/text/LineNumberingProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/LineNumberingProperties/text_LineNumberingProperties.xba80
-rw-r--r--qadevOOo/tests/basic/ifc/text/MailMerge/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/MailMerge/text_MailMerge.xba94
-rw-r--r--qadevOOo/tests/basic/ifc/text/NumberingRules/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/NumberingRules/text_NumberingRules.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/text/PrintSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/PrintSettings/text_PrintSettings.xba83
-rw-r--r--qadevOOo/tests/basic/ifc/text/Text/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/Text/text_Text.xba56
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextColumns/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextColumns/text_TextColumns.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextContent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextContent/text_TextContent.xba78
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextDocument/text_TextDocument.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextFieldMaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextFieldMaster/text_TextFieldMaster.xba57
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextFrame/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextFrame/text_TextFrame.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextGraphicObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextGraphicObject/text_TextGraphicObject.xba207
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextPortion/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextPortion/text_TextPortion.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextSection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextSection/text_TextSection.xba139
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextTable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextTable/text_TextTable.xba128
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextTableRow/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/TextTableRow/text_TextTableRow.xba75
-rw-r--r--qadevOOo/tests/basic/ifc/text/ViewSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/ViewSettings/text_ViewSettings.xba114
-rw-r--r--qadevOOo/tests/basic/ifc/text/XAutoTextContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XAutoTextContainer/text_XAutoTextContainer.xba95
-rw-r--r--qadevOOo/tests/basic/ifc/text/XAutoTextEntry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XAutoTextEntry/text_XAutoTextEntry.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/text/XAutoTextGroup/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XAutoTextGroup/text_XAutoTextGroup.xba100
-rw-r--r--qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/text_XChapterNumberingSupplier.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/text_XDefaultNumberingProvider.xba119
-rw-r--r--qadevOOo/tests/basic/ifc/text/XDocumentIndex/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XDocumentIndex/text_XDocumentIndex.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/text_XEndnotesSupplier.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/text/XFootnote/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XFootnote/text_XFootnote.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/text_XFootnotesSupplier.xba64
-rw-r--r--qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/text_XLineNumberingSupplier.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/text_XMailMergeBroadcaster.xba106
-rw-r--r--qadevOOo/tests/basic/ifc/text/XPageCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XPageCursor/text_XPageCursor.xba123
-rw-r--r--qadevOOo/tests/basic/ifc/text/XPagePrintable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XPagePrintable/text_XPagePrintable.xba98
-rw-r--r--qadevOOo/tests/basic/ifc/text/XParagraphCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XParagraphCursor/text_XParagraphCursor.xba121
-rw-r--r--qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/text_XReferenceMarksSupplier.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/text_XRelativeTextContentInsert.xba164
-rw-r--r--qadevOOo/tests/basic/ifc/text/XSentenceCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XSentenceCursor/text_XSentenceCursor.xba105
-rw-r--r--qadevOOo/tests/basic/ifc/text/XSimpleText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XSimpleText/text_XSimpleText.xba113
-rw-r--r--qadevOOo/tests/basic/ifc/text/XText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XText/text_XText.xba153
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextColumns/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextColumns/text_XTextColumns.xba119
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextContent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextContent/text_XTextContent.xba83
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextCursor/text_XTextCursor.xba134
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextDocument/text_XTextDocument.xba65
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/text_XTextEmbeddedObjectsSupplier.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextField/text_XTextField.xba67
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextFrame/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextFrame/text_XTextFrame.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/text_XTextGraphicObjectsSupplier.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextRange/text_XTextRange.xba86
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextRangeCompare/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextRangeCompare/text_XTextRangeCompare.xba98
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextRangeMover/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextRangeMover/text_XTextRangeMover.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextSection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextSection/text_XTextSection.xba106
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextTable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextTable/text_XTextTable.xba140
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextTableCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextTableCursor/text_XTextTableCursor.xba142
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/text_XTextTablesSupplier.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/text_XTextViewCursorSupplier.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/text/XWordCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/text/XWordCursor/text_XWordCursor.xba99
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/ucb_XCachedContentResultSetFactory.xba91
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/ucb_XCachedContentResultSetStubFactory.xba91
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/ucb_XCachedDynamicResultSetFactory.xba97
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/ucb_XCachedDynamicResultSetStubFactory.xba125
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/ucb_XCommandProcessor.xba85
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/ucb_XContentIdentifierFactory.xba77
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentProvider/ucb_XContentProvider.xba95
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/ucb_XContentProviderFactory.xba61
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/ucb_XContentProviderManager.xba115
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XDataContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XDataContainer/ucb_XDataContainer.xba155
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/ucb_XFileIdentifierConverter.xba90
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/ucb_XPropertyMatcherFactory.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/ucb_XPropertySetRegistryFactory.xba62
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/ucb_XSimpleFileAccess.xba242
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/ucb_XSimpleFileAccess2.xba77
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/ucb_XSortedDynamicResultSetFactory.xba111
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/ui_dialogs_FilePicker.xba55
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/ui_dialogs_XExecutableDialog.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/ui_dialogs_XFilePicker.xba93
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/ui_dialogs_XFilePickerControlAccess.xba102
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/ui_dialogs_XFilePickerNotifier.xba93
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/ui_dialogs_XFilePreview.xba112
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/ui_dialogs_XFilterManager.xba73
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/ui_dialogs_XFolderPicker.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/uno/XNamingService/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/uno/XNamingService/uno_XNamingService.xba92
-rw-r--r--qadevOOo/tests/basic/ifc/util/PathSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/PathSettings/util_PathSettings.xba151
-rw-r--r--qadevOOo/tests/basic/ifc/util/SearchDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/SearchDescriptor/util_SearchDescriptor.xba74
-rw-r--r--qadevOOo/tests/basic/ifc/util/XCancellable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XCancellable/util_XCancellable.xba58
-rw-r--r--qadevOOo/tests/basic/ifc/util/XCloneable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XCloneable/util_XCloneable.xba66
-rw-r--r--qadevOOo/tests/basic/ifc/util/XFlushable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XFlushable/util_XFlushable.xba98
-rw-r--r--qadevOOo/tests/basic/ifc/util/XMergeable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XMergeable/util_XMergeable.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/util/XModeSelector/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XModeSelector/util_XModeSelector.xba84
-rw-r--r--qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/util_XModifyBroadcaster.xba82
-rw-r--r--qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/util_XNumberFormatsSupplier.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/util/XRefreshable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XRefreshable/util_XRefreshable.xba106
-rw-r--r--qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/util_XReplaceDescriptor.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/util/XReplaceable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XReplaceable/util_XReplaceable.xba93
-rw-r--r--qadevOOo/tests/basic/ifc/util/XSearchDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XSearchDescriptor/util_XSearchDescriptor.xba70
-rw-r--r--qadevOOo/tests/basic/ifc/util/XSearchable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XSearchable/util_XSearchable.xba111
-rw-r--r--qadevOOo/tests/basic/ifc/util/XSortable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XSortable/util_XSortable.xba80
-rw-r--r--qadevOOo/tests/basic/ifc/util/XStringEscape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XStringEscape/util_XStringEscape.xba71
-rw-r--r--qadevOOo/tests/basic/ifc/util/XTextSearch/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/util/XTextSearch/util_XTextSearch.xba104
-rw-r--r--qadevOOo/tests/basic/ifc/view/XControlAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/view/XControlAccess/view_XControlAccess.xba68
-rw-r--r--qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/view_XPrintSettingsSupplier.xba59
-rw-r--r--qadevOOo/tests/basic/ifc/view/XPrintable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/view/XPrintable/view_XPrintable.xba119
-rw-r--r--qadevOOo/tests/basic/ifc/view/XScreenCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/view/XScreenCursor/view_XScreenCursor.xba69
-rw-r--r--qadevOOo/tests/basic/ifc/view/XSelectionSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba146
-rw-r--r--qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/view_XViewSettingsSupplier.xba60
-rw-r--r--qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/xml_UserDefinedAttributeSupplier.xba72
-rw-r--r--qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/xml_sax_XDocumentHandler.xba137
-rw-r--r--qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/acceptor_uno_Acceptor.xba49
-rw-r--r--qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/acceptor/Acceptor/acceptor_Acceptor.xba49
-rw-r--r--qadevOOo/tests/basic/mod/acceptor/Acceptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/adabas/ODriver/adabas_ODriver.xba69
-rw-r--r--qadevOOo/tests/basic/mod/adabas/ODriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ado/ODriver/ado_ODriver.xba67
-rw-r--r--qadevOOo/tests/basic/mod/ado/ODriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/brdgfctr_BridgeFactory.xba70
-rw-r--r--qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/bridgefac_uno_BridgeFactory.xba70
-rw-r--r--qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/cached_CachedContentResultSetFactory.xba100
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/cached_CachedContentResultSetStubFactory.xba94
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/cached_CachedDynamicResultSetFactory.xba96
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/cached_CachedDynamicResultSetStubFactory.xba94
-rw-r--r--qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/cmdmail_SimpleCommandMail.xba56
-rw-r--r--qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/cnt_ChaosContentProvider.xba59
-rw-r--r--qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/cnt_CntUnoDataContainer.xba94
-rw-r--r--qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/cnt_PropertyMatcherFactory.xba49
-rw-r--r--qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/connector.uno/Connector/connector_uno_Connector.xba49
-rw-r--r--qadevOOo/tests/basic/mod/connector.uno/Connector/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/connectr/Connector/connectr_Connector.xba49
-rw-r--r--qadevOOo/tests/basic/mod/connectr/Connector/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/corefl/CoreReflection/corefl_CoreReflection.xba57
-rw-r--r--qadevOOo/tests/basic/mod/corefl/CoreReflection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/corereflection_uno_CoreReflection.xba57
-rw-r--r--qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/cpld_DLLComponentLoader.xba59
-rw-r--r--qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/dbaccess_ConnectionLineAccessibility.xba147
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/dbaccess_DBContentLoader.xba63
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/dbaccess_JoinViewAccessibility.xba148
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/dbaccess_OCommandDefinition.xba56
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/dbaccess_ODatabaseContext.xba56
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/dbaccess_ODatabaseSource.xba88
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/dbaccess_ODatasourceAdministrationDialog.xba67
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/dbaccess_ODatasourceBrowser.xba142
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/dbaccess_OInteractionHandler.xba56
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ORowSet/dbaccess_ORowSet.xba176
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/ORowSet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/dbaccess_OSQLMessageDialog.xba56
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/dbaccess_SbaXGridControl.xba222
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/dbaccess_TableWindowAccessibility.xba147
-rw-r--r--qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dbpool/OConnectionPool/dbpool_OConnectionPool.xba55
-rw-r--r--qadevOOo/tests/basic/mod/dbpool/OConnectionPool/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/defreg/NestedRegistry/defreg_NestedRegistry.xba94
-rw-r--r--qadevOOo/tests/basic/mod/defreg/NestedRegistry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dtrans/generic/dtrans_generic.xba58
-rw-r--r--qadevOOo/tests/basic/mod/dtrans/generic/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/dynamicloader_uno_Dynamic.xba64
-rw-r--r--qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/dynamicloader/Dynamic/dynamicloader_Dynamic.xba64
-rw-r--r--qadevOOo/tests/basic/mod/dynamicloader/Dynamic/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/file/calc/ODriver/file_calc_ODriver.xba67
-rw-r--r--qadevOOo/tests/basic/mod/file/calc/ODriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/file/dbase/ODriver/file_dbase_ODriver.xba67
-rw-r--r--qadevOOo/tests/basic/mod/file/dbase/ODriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/file/flat/ODriver/file_flat_ODriver.xba67
-rw-r--r--qadevOOo/tests/basic/mod/file/flat/ODriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/fileacc_SimpleFileAccess.xba49
-rw-r--r--qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fop/FolderPicker/fop_FolderPicker.xba56
-rw-r--r--qadevOOo/tests/basic/mod/fop/FolderPicker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OButtonControl/forms_OButtonControl.xba107
-rw-r--r--qadevOOo/tests/basic/mod/forms/OButtonControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OButtonModel/forms_OButtonModel.xba72
-rw-r--r--qadevOOo/tests/basic/mod/forms/OButtonModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCheckBoxControl/forms_OCheckBoxControl.xba127
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCheckBoxControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCheckBoxModel/forms_OCheckBoxModel.xba71
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCheckBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OComboBoxControl/forms_OComboBoxControl.xba108
-rw-r--r--qadevOOo/tests/basic/mod/forms/OComboBoxControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OComboBoxModel/forms_OComboBoxModel.xba131
-rw-r--r--qadevOOo/tests/basic/mod/forms/OComboBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCurrencyControl/forms_OCurrencyControl.xba106
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCurrencyControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCurrencyModel/forms_OCurrencyModel.xba137
-rw-r--r--qadevOOo/tests/basic/mod/forms/OCurrencyModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/ODatabaseForm/forms_ODatabaseForm.xba212
-rw-r--r--qadevOOo/tests/basic/mod/forms/ODatabaseForm/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/ODateControl/forms_ODateControl.xba107
-rw-r--r--qadevOOo/tests/basic/mod/forms/ODateControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/ODateModel/forms_ODateModel.xba140
-rw-r--r--qadevOOo/tests/basic/mod/forms/ODateModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OEditControl/forms_OEditControl.xba106
-rw-r--r--qadevOOo/tests/basic/mod/forms/OEditControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OEditModel/forms_OEditModel.xba128
-rw-r--r--qadevOOo/tests/basic/mod/forms/OEditModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFileControlModel/forms_OFileControlModel.xba76
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFileControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFixedTextModel/forms_OFixedTextModel.xba74
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFixedTextModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFormattedControl/forms_OFormattedControl.xba107
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFormattedControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/forms_OFormattedFieldWrapper.xba166
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFormsCollection/forms_OFormsCollection.xba97
-rw-r--r--qadevOOo/tests/basic/mod/forms/OFormsCollection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OGridControlModel/forms_OGridControlModel.xba123
-rw-r--r--qadevOOo/tests/basic/mod/forms/OGridControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OGroupBoxControl/forms_OGroupBoxControl.xba104
-rw-r--r--qadevOOo/tests/basic/mod/forms/OGroupBoxControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OGroupBoxModel/forms_OGroupBoxModel.xba75
-rw-r--r--qadevOOo/tests/basic/mod/forms/OGroupBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OHiddenModel/forms_OHiddenModel.xba101
-rw-r--r--qadevOOo/tests/basic/mod/forms/OHiddenModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageButtonControl/forms_OImageButtonControl.xba105
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageButtonControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageButtonModel/forms_OImageButtonModel.xba74
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageButtonModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageControlControl/forms_OImageControlControl.xba108
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageControlControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageControlModel/forms_OImageControlModel.xba75
-rw-r--r--qadevOOo/tests/basic/mod/forms/OImageControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OListBoxControl/forms_OListBoxControl.xba121
-rw-r--r--qadevOOo/tests/basic/mod/forms/OListBoxControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OListBoxModel/forms_OListBoxModel.xba158
-rw-r--r--qadevOOo/tests/basic/mod/forms/OListBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/ONumericControl/forms_ONumericControl.xba106
-rw-r--r--qadevOOo/tests/basic/mod/forms/ONumericControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/ONumericModel/forms_ONumericModel.xba127
-rw-r--r--qadevOOo/tests/basic/mod/forms/ONumericModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OPatternControl/forms_OPatternControl.xba104
-rw-r--r--qadevOOo/tests/basic/mod/forms/OPatternControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OPatternModel/forms_OPatternModel.xba128
-rw-r--r--qadevOOo/tests/basic/mod/forms/OPatternModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/ORadioButtonControl/forms_ORadioButtonControl.xba105
-rw-r--r--qadevOOo/tests/basic/mod/forms/ORadioButtonControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/ORadioButtonModel/forms_ORadioButtonModel.xba132
-rw-r--r--qadevOOo/tests/basic/mod/forms/ORadioButtonModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OTimeControl/forms_OTimeControl.xba106
-rw-r--r--qadevOOo/tests/basic/mod/forms/OTimeControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba182
-rw-r--r--qadevOOo/tests/basic/mod/forms/OTimeModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fps/FilePicker/fps_FilePicker.xba80
-rw-r--r--qadevOOo/tests/basic/mod/fps/FilePicker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/ftransl_DataFormatTranslator.xba53
-rw-r--r--qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwk/Desktop/fwk_Desktop.xba66
-rw-r--r--qadevOOo/tests/basic/mod/fwk/Desktop/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwk/DispatchRecorder/fwk_DispatchRecorder.xba76
-rw-r--r--qadevOOo/tests/basic/mod/fwk/DispatchRecorder/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/fwk_DispatchRecorderSupplier.xba53
-rw-r--r--qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwk/DocumentProperties/fwk_DocumentProperties.xba60
-rw-r--r--qadevOOo/tests/basic/mod/fwk/DocumentProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwk/Frame/fwk_Frame.xba64
-rw-r--r--qadevOOo/tests/basic/mod/fwk/Frame/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwk/JobHandler/fwk_JobHandler.xba59
-rw-r--r--qadevOOo/tests/basic/mod/fwk/JobHandler/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwl/FilterFactory/fwl_FilterFactory.xba94
-rw-r--r--qadevOOo/tests/basic/mod/fwl/FilterFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/fwl_FrameLoaderFactory.xba65
-rw-r--r--qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwl/PathSettings/fwl_PathSettings.xba55
-rw-r--r--qadevOOo/tests/basic/mod/fwl/PathSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/fwl/TypeDetection/fwl_TypeDetection.xba55
-rw-r--r--qadevOOo/tests/basic/mod/fwl/TypeDetection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/BreakIterator/i18n_BreakIterator.xba72
-rw-r--r--qadevOOo/tests/basic/mod/i18n/BreakIterator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/CalendarImpl/i18n_CalendarImpl.xba55
-rw-r--r--qadevOOo/tests/basic/mod/i18n/CalendarImpl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/ChapterCollator/i18n_ChapterCollator.xba70
-rw-r--r--qadevOOo/tests/basic/mod/i18n/ChapterCollator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/CharacterClassification/i18n_CharacterClassification.xba56
-rw-r--r--qadevOOo/tests/basic/mod/i18n/CharacterClassification/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/Collator/i18n_Collator.xba70
-rw-r--r--qadevOOo/tests/basic/mod/i18n/Collator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/i18n_IndexEntrySupplier.xba71
-rw-r--r--qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/LocaleData/i18n_LocaleData.xba55
-rw-r--r--qadevOOo/tests/basic/mod/i18n/LocaleData/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/i18n_NumberFormatCodeMapper.xba56
-rw-r--r--qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/TextSearch/i18n_TextSearch.xba59
-rw-r--r--qadevOOo/tests/basic/mod/i18n/TextSearch/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/i18n/Transliteration/i18n_Transliteration.xba71
-rw-r--r--qadevOOo/tests/basic/mod/i18n/Transliteration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/implreg_uno_ImplementationRegistration.xba53
-rw-r--r--qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/impreg_ImplementationRegistration.xba53
-rw-r--r--qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/insp/Introspection/insp_Introspection.xba53
-rw-r--r--qadevOOo/tests/basic/mod/insp/Introspection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/introspection.uno/Introspection/introspection_uno_Introspection.xba53
-rw-r--r--qadevOOo/tests/basic/mod/introspection.uno/Introspection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/inv/Invocation/inv_Invocation.xba66
-rw-r--r--qadevOOo/tests/basic/mod/inv/Invocation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/invadp_InvocationAdapterFactory.xba56
-rw-r--r--qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/invocadapt_uno_InvocationAdapterFactory.xba56
-rw-r--r--qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/invocation.uno/Invocation/invocation_uno_Invocation.xba66
-rw-r--r--qadevOOo/tests/basic/mod/invocation.uno/Invocation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/javaloader_uno_JavaComponentLoader.xba59
-rw-r--r--qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/javaloader_JavaComponentLoader.xba59
-rw-r--r--qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/javavm_uno_JavaVirtualMachine.xba72
-rw-r--r--qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/jdbc/JDBCDriver/jdbc_JDBCDriver.xba71
-rw-r--r--qadevOOo/tests/basic/mod/jdbc/JDBCDriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/jen_JavaVirtualMachine.xba72
-rw-r--r--qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/lng/DicList/lng_DicList.xba89
-rw-r--r--qadevOOo/tests/basic/mod/lng/DicList/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/lng/LinguProps/lng_LinguProps.xba59
-rw-r--r--qadevOOo/tests/basic/mod/lng/LinguProps/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/lng/LngSvcMgr/lng_LngSvcMgr.xba59
-rw-r--r--qadevOOo/tests/basic/mod/lng/LngSvcMgr/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/lnn/Hyphenator/lnn_Hyphenator.xba62
-rw-r--r--qadevOOo/tests/basic/mod/lnn/Hyphenator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/lnn/SpellChecker/lnn_SpellChecker.xba62
-rw-r--r--qadevOOo/tests/basic/mod/lnn/SpellChecker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/lnn/Thesaurus/lnn_Thesaurus.xba62
-rw-r--r--qadevOOo/tests/basic/mod/lnn/Thesaurus/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/mcnttype_MimeContentTypeFactory.xba53
-rw-r--r--qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/mozab/MozabDriver/mozab_MozabDriver.xba67
-rw-r--r--qadevOOo/tests/basic/mod/mozab/MozabDriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/namingservice.uno/NamingService/namingservice_uno_NamingService.xba60
-rw-r--r--qadevOOo/tests/basic/mod/namingservice.uno/NamingService/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/namingservice/NamingService/namingservice_NamingService.xba60
-rw-r--r--qadevOOo/tests/basic/mod/namingservice/NamingService/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/nestedreg_uno_NestedRegistry.xba94
-rw-r--r--qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/odbc/ODBCDriver/odbc_ODBCDriver.xba67
-rw-r--r--qadevOOo/tests/basic/mod/odbc/ODBCDriver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_ProxyFactory.xba53
-rw-r--r--qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_uno_ProxyFactory.xba53
-rw-r--r--qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/proxyfac_ProxyFactory.xba53
-rw-r--r--qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/proxyset_SOffice52ProxySettings.xba53
-rw-r--r--qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/proxyset_SystemProxySettings.xba53
-rw-r--r--qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/rdbtdp_RegistryTypeDescriptionProvider.xba70
-rw-r--r--qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/regtypeprov_uno_RegistryTypeDescriptionProvider.xba70
-rw-r--r--qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/remotebridge.uno/various/remotebridge_uno_various.xba95
-rw-r--r--qadevOOo/tests/basic/mod/remotebridge.uno/various/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/remotebridge/various/remotebridge_various.xba98
-rw-r--r--qadevOOo/tests/basic/mod/remotebridge/various/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/sc_AccessibleEditableTextPara_HeaderFooter.xba99
-rw-r--r--qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/sc_AccessibleEditableTextPara_PreviewCell.xba109
-rw-r--r--qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCell/sc_ScAccessibleCell.xba69
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/sc_ScAccessibleCsvCell.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/sc_ScAccessibleCsvGrid.xba80
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/sc_ScAccessibleCsvRuler.xba87
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/sc_ScAccessibleDocument.xba68
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/sc_ScAccessibleDocumentPagePreview.xba91
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/sc_ScAccessiblePageHeader.xba100
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/sc_ScAccessiblePageHeaderArea.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/sc_ScAccessiblePreviewCell.xba85
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/sc_ScAccessiblePreviewHeaderCell.xba87
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/sc_ScAccessiblePreviewTable.xba85
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/sc_ScAccessibleSpreadsheet.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAnnotationObj/sc_ScAnnotationObj.xba63
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAnnotationObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/sc_ScAnnotationsObj.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/sc_ScAreaLinkObj.xba65
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/sc_ScAreaLinksObj.xba65
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/sc_ScAutoFormatFieldObj.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/sc_ScAutoFormatObj.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/sc_ScAutoFormatsObj.xba76
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellCursorObj/sc_ScCellCursorObj.xba145
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellCursorObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFieldObj/sc_ScCellFieldObj.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFieldObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/sc_ScCellFieldsObj.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/sc_ScCellFormatsEnumeration.xba62
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/sc_ScCellFormatsObj.xba60
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellObj/sc_ScCellObj.xba68
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellRangeObj/sc_ScCellRangeObj.xba135
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellRangeObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellRangesObj/sc_ScCellRangesObj.xba78
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellRangesObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellSearchObj/sc_ScCellSearchObj.xba57
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellSearchObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellTextCursor/sc_ScCellTextCursor.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellTextCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/sc_ScCellsEnumeration.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellsObj/sc_ScCellsObj.xba74
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScCellsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScChartObj/sc_ScChartObj.xba98
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScChartObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScChartsObj/sc_ScChartsObj.xba95
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScChartsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/sc_ScConsolidationDescriptor.xba62
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDDELinkObj/sc_ScDDELinkObj.xba91
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDDELinkObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDDELinksObj/sc_ScDDELinksObj.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDDELinksObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/sc_ScDataPilotFieldObj.xba100
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/sc_ScDataPilotFieldsObj.xba94
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/sc_ScDataPilotTableObj.xba122
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/sc_ScDataPilotTablesObj.xba91
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/sc_ScDatabaseRangeObj.xba75
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/sc_ScDatabaseRangesObj.xba74
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDrawPageObj/sc_ScDrawPageObj.xba103
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDrawPageObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/sc_ScDrawPagesObj.xba55
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/sc_ScFilterDescriptorBase.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScFunctionListObj/sc_ScFunctionListObj.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScFunctionListObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/sc_ScHeaderFieldObj.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/sc_ScHeaderFieldsObj.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/sc_ScHeaderFooterContentObj.xba82
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/sc_ScHeaderFooterTextCursor.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/sc_ScHeaderFooterTextObj.xba80
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/sc_ScIndexEnumeration_CellAnnotationsEnumeration.xba85
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/sc_ScIndexEnumeration_CellAreaLinksEnumeration.xba63
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/sc_ScIndexEnumeration_DDELinksEnumeration.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/sc_ScIndexEnumeration_DataPilotFieldsEnumeration.xba90
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/sc_ScIndexEnumeration_DataPilotTablesEnumeration.xba89
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/sc_ScIndexEnumeration_DatabaseRangesEnumeration.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/sc_ScIndexEnumeration_FunctionDescriptionEnumeration.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/sc_ScIndexEnumeration_LabelRangesEnumeration.xba78
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/sc_ScIndexEnumeration_NamedRangesEnumeration.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/sc_ScIndexEnumeration_ScenariosEnumeration.xba80
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/sc_ScIndexEnumeration_SheetCellRangesEnumeration.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/sc_ScIndexEnumeration_SheetLinksEnumeration.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/sc_ScIndexEnumeration_SpreadsheetViewPanesEnumeration.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/sc_ScIndexEnumeration_SpreadsheetsEnumeration.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/sc_ScIndexEnumeration_SubTotalFieldsEnumeration.xba69
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/sc_ScIndexEnumeration_TableAutoFormatEnumeration.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/sc_ScIndexEnumeration_TableChartsEnumeration.xba95
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/sc_ScIndexEnumeration_TableColumnsEnumeration.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/sc_ScIndexEnumeration_TableConditionalEntryEnumeration.xba106
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/sc_ScIndexEnumeration_TableRowsEnumeration.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/sc_ScIndexEnumeration_TextFieldEnumeration.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/sc_ScLabelRangeObj.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/sc_ScLabelRangesObj.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScModelObj/sc_ScModelObj.xba73
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScModelObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/sc_ScNamedRangeObj.xba82
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/sc_ScNamedRangesObj.xba69
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScPageObj/sc_ScPageObj.xba106
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScPageObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/sc_ScRecentFunctionsObj.xba61
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScScenariosObj/sc_ScScenariosObj.xba75
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScScenariosObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/sc_ScSheetLinkObj.xba68
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/sc_ScSheetLinksObj.xba62
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/sc_ScSpreadsheetSettings.xba61
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/sc_ScSpreadsheetSettingsObj.xba56
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/sc_ScStyleFamiliesObj.xba62
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/sc_ScStyleFamilyObj.xba84
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScStyleObj/sc_ScStyleObj.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScStyleObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/sc_ScSubTotalDescriptorBase.xba61
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/sc_ScSubTotalFieldObj.xba66
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTabViewObj/sc_ScTabViewObj.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTabViewObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableColumnObj/sc_ScTableColumnObj.xba69
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableColumnObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/sc_ScTableColumnsObj.xba62
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/sc_ScTableConditionalEntry.xba103
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/sc_ScTableConditionalFormat.xba104
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableRowObj/sc_ScTableRowObj.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableRowObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableRowsObj/sc_ScTableRowsObj.xba62
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableRowsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableSheetObj/sc_ScTableSheetObj.xba123
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableSheetObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/sc_ScTableSheetsObj.xba78
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableValidationObj/sc_ScTableValidationObj.xba60
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScTableValidationObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScViewPaneObj/sc_ScViewPaneObj.xba69
-rw-r--r--qadevOOo/tests/basic/mod/sc/ScViewPaneObj/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLContentExporter/sc_XMLContentExporter.xba124
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLContentExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLContentImporter/sc_XMLContentImporter.xba92
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLContentImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLExporter/sc_XMLExporter.xba122
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLImporter/sc_XMLImporter.xba92
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLMetaExporter/sc_XMLMetaExporter.xba110
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLMetaExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLMetaImporter/sc_XMLMetaImporter.xba93
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLMetaImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/sc_XMLSettingsExporter.xba118
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/sc_XMLSettingsImporter.xba99
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLStylesExporter/sc_XMLStylesExporter.xba110
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLStylesExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLStylesImporter/sc_XMLStylesImporter.xba100
-rw-r--r--qadevOOo/tests/basic/mod/sc/XMLStylesImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccArea/sch_AccArea.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccArea/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccAxis/sch_AccAxis.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccAxis/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccDataPoint/sch_AccDataPoint.xba68
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccDataPoint/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccDataSeries/sch_AccDataSeries.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccDataSeries/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccDiagram/sch_AccDiagram.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccFloor/sch_AccFloor.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccFloor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccGrid/sch_AccGrid.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccGrid/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccLegend/sch_AccLegend.xba66
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccLegend/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccLegendEntry/sch_AccLegendEntry.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccLegendEntry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccStatisticsObject/sch_AccStatisticsObject.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccStatisticsObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccTitle/sch_AccTitle.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccTitle/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccWall/sch_AccWall.xba66
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccWall/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/sch_AccessibleDocumentView.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartAxis/sch_ChXChartAxis.xba57
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartAxis/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartData/sch_ChXChartData.xba68
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartData/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartDataArray/sch_ChXChartDataArray.xba74
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartDataArray/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartDocument/sch_ChXChartDocument.xba89
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartView/sch_ChXChartView.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXChartView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXDataPoint/sch_ChXDataPoint.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXDataPoint/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXDataRow/sch_ChXDataRow.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXDataRow/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXDiagram/sch_ChXDiagram.xba143
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChXDiagram/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartArea/sch_ChartArea.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartArea/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartGrid/sch_ChartGrid.xba58
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartGrid/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartLegend/sch_ChartLegend.xba83
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartLegend/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartLine/sch_ChartLine.xba58
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartLine/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartTitle/sch_ChartTitle.xba92
-rw-r--r--qadevOOo/tests/basic/mod/sch/ChartTitle/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/sd_AccessibleDrawDocumentView.xba82
-rw-r--r--qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/sd_AccessibleOutlineView.xba136
-rw-r--r--qadevOOo/tests/basic/mod/sd/AccessibleSlideView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/AccessibleSlideView/sd_AccessibleSlideView.xba113
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/sd_SdDocLinkTargets.xba54
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdDrawPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdDrawPage/sd_SdDrawPage.xba107
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/sd_SdDrawPagesAccess.xba61
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/sd_SdGenericDrawPage.xba109
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdLayer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdLayer/sd_SdLayer.xba58
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdLayerManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdLayerManager/sd_SdLayerManager.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdMasterPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdMasterPage/sd_SdMasterPage.xba110
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/sd_SdMasterPagesAccess.xba58
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/sd_SdPageLinkTargets.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdUnoDrawView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdUnoDrawView/sd_SdUnoDrawView.xba123
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/sd_SdUnoOutlineView.xba130
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdUnoPresView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdUnoPresView/sd_SdUnoPresView.xba137
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/sd_SdXCustomPresentation.xba84
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/sd_SdXCustomPresentationAccess.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXImpressDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXImpressDocument/sd_SdXImpressDocument.xba100
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXPresentation/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXPresentation/sd_SdXPresentation.xba63
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sd/SdXShape/sd_SdXShape.xba98
-rw-r--r--qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/servicemgr_uno_OServiceManager.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sfx/DocumentTemplates/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sfx/DocumentTemplates/sfx_DocumentTemplates.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sfx/FrameLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sfx/FrameLoader/sfx_FrameLoader.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/sfx_SfxMacroLoader.xba62
-rw-r--r--qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/sfx_StandaloneDocumentInfo.xba77
-rw-r--r--qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/shlibloader_uno_DLLComponentLoader.xba59
-rw-r--r--qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/simplereg_uno_SimpleRegistry.xba53
-rw-r--r--qadevOOo/tests/basic/mod/simreg/SimpleRegistry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/simreg/SimpleRegistry/simreg_SimpleRegistry.xba53
-rw-r--r--qadevOOo/tests/basic/mod/sm/SmEditAccessible/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/SmEditAccessible/sm_SmEditAccessible.xba78
-rw-r--r--qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/sm_SmGraphicAccessible.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sm/SmModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/SmModel/sm_SmModel.xba54
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLExporter/sm_XMLExporter.xba109
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLImporter/sm_XMLImporter.xba85
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLMetaExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLMetaExporter/sm_XMLMetaExporter.xba111
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLMetaImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLMetaImporter/sm_XMLMetaImporter.xba113
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/sm_XMLSettingsExporter.xba107
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/sm_XMLSettingsImporter.xba98
-rw-r--r--qadevOOo/tests/basic/mod/smgr/OServiceManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/smgr/OServiceManager/smgr_OServiceManager.xba79
-rw-r--r--qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/smplmail_SimpleSystemMail.xba62
-rw-r--r--qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/srtrs_SortedDynamicResultSetFactory.xba56
-rw-r--r--qadevOOo/tests/basic/mod/stm/DataInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/DataInputStream/stm_DataInputStream.xba131
-rw-r--r--qadevOOo/tests/basic/mod/stm/DataOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/DataOutputStream/stm_DataOutputStream.xba115
-rw-r--r--qadevOOo/tests/basic/mod/stm/MarkableInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba125
-rw-r--r--qadevOOo/tests/basic/mod/stm/MarkableOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/MarkableOutputStream/stm_MarkableOutputStream.xba127
-rw-r--r--qadevOOo/tests/basic/mod/stm/ObjectInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/ObjectInputStream/stm_ObjectInputStream.xba109
-rw-r--r--qadevOOo/tests/basic/mod/stm/ObjectOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/ObjectOutputStream/stm_ObjectOutputStream.xba104
-rw-r--r--qadevOOo/tests/basic/mod/stm/Pipe/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/Pipe/stm_Pipe.xba81
-rw-r--r--qadevOOo/tests/basic/mod/stm/Pump/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/stm/Pump/stm_Pump.xba92
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/DataInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/DataInputStream/streams_uno_DataInputStream.xba131
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/streams_uno_DataOutputStream.xba115
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/streams_uno_MarkableInputStream.xba125
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/streams_uno_MarkableOutputStream.xba127
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/streams_uno_ObjectInputStream.xba109
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/streams_uno_ObjectOutputStream.xba104
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/Pipe/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/Pipe/streams_uno_Pipe.xba81
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/Pump/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/streams.uno/Pump/streams_uno_Pump.xba92
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/svtools_AccessibleBrowseBox.xba115
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/svtools_AccessibleBrowseBoxHeaderBar.xba85
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/svtools_AccessibleBrowseBoxHeaderCell.xba98
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/svtools_AccessibleBrowseBoxTable.xba81
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/svtools_AccessibleBrowseBoxTableCell.xba98
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/svtools_AccessibleIconChoiceCtrl.xba98
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/svtools_AccessibleIconChoiceCtrlEntry.xba97
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/svtools_AccessibleTabBarPage.xba66
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/svtools_AccessibleTabBarPageList.xba75
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/svtools_AccessibleTreeListBox.xba87
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/svtools_AccessibleTreeListBoxEntry.xba93
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleControlShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleControlShape/svx_AccessibleControlShape.xba89
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/svx_AccessibleEditableTextPara.xba108
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/svx_AccessibleGraphicShape.xba83
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/svx_AccessibleOLEShape.xba83
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePageShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePageShape/svx_AccessiblePageShape.xba86
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/svx_AccessiblePresentationGraphicShape.xba86
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/svx_AccessiblePresentationOLEShape.xba85
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/svx_AccessiblePresentationShape.xba87
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/AccessibleShape/svx_AccessibleShape.xba83
-rw-r--r--qadevOOo/tests/basic/mod/svx/GraphicExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/GraphicExporter/svx_GraphicExporter.xba109
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxDrawPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxDrawPage/svx_SvxDrawPage.xba125
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/svx_SvxGraphCtrlAccessibleContext.xba102
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxGraphicObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxGraphicObject/svx_SvxGraphicObject.xba102
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShape/svx_SvxShape.xba80
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeCircle/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeCircle/svx_SvxShapeCircle.xba102
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeCollection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeCollection/svx_SvxShapeCollection.xba68
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeConnector/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeConnector/svx_SvxShapeConnector.xba78
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeControl/svx_SvxShapeControl.xba108
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/svx_SvxShapeDimensioning.xba98
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeGroup/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapeGroup/svx_SvxShapeGroup.xba102
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/svx_SvxShapePolyPolygon.xba107
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/svx_SvxShapePolyPolygonBezier.xba121
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/svx_SvxUnoNumberingRules.xba58
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoText/svx_SvxUnoText.xba91
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/svx_SvxUnoTextContent.xba90
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/svx_SvxUnoTextContentEnum.xba81
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/svx_SvxUnoTextCursor.xba85
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextField/svx_SvxUnoTextField.xba94
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/svx_SvxUnoTextRange.xba80
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/svx_SvxUnoTextRangeEnumeration.xba81
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/sw_SwAccessibleDocumentPageView.xba110
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/sw_SwAccessibleDocumentView.xba76
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/sw_SwAccessibleEndnoteView.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/sw_SwAccessibleFooterView.xba76
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/sw_SwAccessibleFootnoteView.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/sw_SwAccessibleHeaderView.xba80
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/sw_SwAccessiblePageView.xba114
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/sw_SwAccessibleParagraphView.xba85
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/sw_SwAccessibleTableCellView.xba73
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/sw_SwAccessibleTableView.xba84
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/sw_SwAccessibleTextEmbeddedObject.xba75
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/sw_SwAccessibleTextFrameView.xba91
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/sw_SwAccessibleTextGraphicObject.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/sw_SwXAutoTextContainer.xba59
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/sw_SwXAutoTextEntry.xba108
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/sw_SwXAutoTextGroup.xba83
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXBodyText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXBodyText/sw_SwXBodyText.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXBookmark/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXBookmark/sw_SwXBookmark.xba104
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXBookmarks/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXBookmarks/sw_SwXBookmarks.xba92
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXCell/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXCell/sw_SwXCell.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXCellRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXCellRange/sw_SwXCellRange.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/sw_SwXChapterNumbering.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/sw_SwXDocumentIndex.xba107
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/sw_SwXDocumentIndexMark.xba82
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/sw_SwXDocumentIndexes.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDrawPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXDrawPage/sw_SwXDrawPage.xba86
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/sw_SwXEndnoteProperties.xba66
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/sw_SwXFieldEnumeration.xba72
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFieldMaster/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFieldMaster/sw_SwXFieldMaster.xba54
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnote/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnote/sw_SwXFootnote.xba85
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/sw_SwXFootnoteProperties.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnoteText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnoteText/sw_SwXFootnoteText.xba76
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnotes/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFootnotes/sw_SwXFootnotes.xba66
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFrames/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXFrames/sw_SwXFrames.xba81
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXHeadFootText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXHeadFootText/sw_SwXHeadFootText.xba87
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/sw_SwXLineNumberingProperties.xba66
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXMailMerge/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXMailMerge/sw_SwXMailMerge.xba155
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXModule/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXModule/sw_SwXModule.xba50
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXNumberingRules/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXNumberingRules/sw_SwXNumberingRules.xba75
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXParagraph/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXParagraph/sw_SwXParagraph.xba101
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/sw_SwXParagraphEnumeration.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXPrintSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXPrintSettings/sw_SwXPrintSettings.xba60
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXPropertySet/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXPropertySet/sw_SwXPropertySet.xba51
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/sw_SwXPropertySetInfo.xba51
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXReferenceMark/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXReferenceMark/sw_SwXReferenceMark.xba92
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/sw_SwXReferenceMarks.xba85
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXShape/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXShape/sw_SwXShape.xba92
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXStyle/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXStyle/sw_SwXStyle.xba104
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/sw_SwXStyleFamilies.xba57
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXStyleFamily/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXStyleFamily/sw_SwXStyleFamily.xba78
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTableCellText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTableCellText/sw_SwXTableCellText.xba75
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTableColumns/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTableColumns/sw_SwXTableColumns.xba84
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTableRows/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTableRows/sw_SwXTableRows.xba87
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextColumns/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextColumns/sw_SwXTextColumns.xba70
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextCursor/sw_SwXTextCursor.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextDefaults/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextDefaults/sw_SwXTextDefaults.xba75
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextDocument/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextDocument/sw_SwXTextDocument.xba98
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/sw_SwXTextEmbeddedObject.xba68
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/sw_SwXTextEmbeddedObjects.xba54
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextField/sw_SwXTextField.xba93
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/sw_SwXTextFieldMasters.xba76
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/sw_SwXTextFieldTypes.xba71
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFrame/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFrame/sw_SwXTextFrame.xba120
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFrameText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextFrameText/sw_SwXTextFrameText.xba83
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/sw_SwXTextGraphicObject.xba89
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/sw_SwXTextGraphicObjects.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextPortion/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextPortion/sw_SwXTextPortion.xba74
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/sw_SwXTextPortionEnumeration.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextRange/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextRange/sw_SwXTextRange.xba57
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextRanges/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextRanges/sw_SwXTextRanges.xba79
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextSearch/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextSearch/sw_SwXTextSearch.xba58
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextSection/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextSection/sw_SwXTextSection.xba103
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextSections/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextSections/sw_SwXTextSections.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTable/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTable/sw_SwXTextTable.xba148
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/sw_SwXTextTableCursor.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTableRow/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTableRow/sw_SwXTextTableRow.xba64
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTables/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextTables/sw_SwXTextTables.xba77
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextView/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextView/sw_SwXTextView.xba120
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/sw_SwXTextViewCursor.xba67
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXViewSettings/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/SwXViewSettings/sw_SwXViewSettings.xba58
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLContentExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLContentExporter/sw_XMLContentExporter.xba119
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLContentImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLContentImporter/sw_XMLContentImporter.xba90
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLExporter/sw_XMLExporter.xba121
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLImporter/sw_XMLImporter.xba91
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLMetaExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLMetaExporter/sw_XMLMetaExporter.xba111
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLMetaImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLMetaImporter/sw_XMLMetaImporter.xba92
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/sw_XMLSettingsExporter.xba113
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/sw_XMLSettingsImporter.xba110
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLStylesExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLStylesExporter/sw_XMLStylesExporter.xba106
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLStylesImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sw/XMLStylesImporter/sw_XMLStylesImporter.xba93
-rw-r--r--qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/sysdtrans_SystemClipboard.xba86
-rw-r--r--qadevOOo/tests/basic/mod/syssh/SystemShellExecute/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/syssh/SystemShellExecute/syssh_SystemShellExecute.xba53
-rw-r--r--qadevOOo/tests/basic/mod/tcv/TypeConverter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/tcv/TypeConverter/tcv_TypeConverter.xba53
-rw-r--r--qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/tdmgr_TypeDescriptionManager.xba59
-rw-r--r--qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/text_DefaultNumberingProvider.xba53
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleButton/toolkit_AccessibleButton.xba90
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/toolkit_AccessibleCheckBox.xba89
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/toolkit_AccessibleComboBox.xba92
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/toolkit_AccessibleDropDownComboBox.xba65
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/toolkit_AccessibleDropDownListBox.xba70
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/toolkit_AccessibleEdit.xba111
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/toolkit_AccessibleFixedText.xba97
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleList/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleList/toolkit_AccessibleList.xba122
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/toolkit_AccessibleListBox.xba99
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/toolkit_AccessibleListItem.xba107
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/toolkit_AccessibleMenu.xba86
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/toolkit_AccessibleMenuBar.xba75
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/toolkit_AccessibleMenuItem.xba82
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/toolkit_AccessibleMenuSeparator.xba77
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/toolkit_AccessibleRadioButton.xba102
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/toolkit_AccessibleScrollBar.xba78
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/toolkit_AccessibleStatusBar.xba73
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/toolkit_AccessibleStatusBarItem.xba91
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/toolkit_AccessibleTabControl.xba101
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/toolkit_AccessibleTabPage.xba106
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/toolkit_AccessibleToolBox.xba79
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/toolkit_AccessibleToolBoxItem.xba79
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/TabController/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/TabController/toolkit_TabController.xba75
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/TabControllerModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/TabControllerModel/toolkit_TabControllerModel.xba74
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/Toolkit/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/Toolkit/toolkit_Toolkit.xba65
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlButton/toolkit_UnoControlButton.xba111
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/toolkit_UnoControlButtonModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/toolkit_UnoControlCheckBox.xba119
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/toolkit_UnoControlCheckBoxModel.xba56
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/toolkit_UnoControlComboBox.xba103
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/toolkit_UnoControlComboBoxModel.xba56
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/toolkit_UnoControlContainer.xba113
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/toolkit_UnoControlContainerModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/toolkit_UnoControlCurrencyField.xba105
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/toolkit_UnoControlCurrencyFieldModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/toolkit_UnoControlDateField.xba102
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/toolkit_UnoControlDateFieldModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/toolkit_UnoControlDialog.xba108
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/toolkit_UnoControlDialogModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/toolkit_UnoControlEdit.xba101
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/toolkit_UnoControlEditModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/toolkit_UnoControlFileControl.xba103
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/toolkit_UnoControlFileControlModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/toolkit_UnoControlFixedLineModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/toolkit_UnoControlFixedText.xba102
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/toolkit_UnoControlFixedTextModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/toolkit_UnoControlFormattedField.xba100
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/toolkit_UnoControlFormattedFieldModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/toolkit_UnoControlGroupBox.xba102
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/toolkit_UnoControlGroupBoxModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/toolkit_UnoControlImageControl.xba99
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/toolkit_UnoControlImageControlModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/toolkit_UnoControlListBox.xba120
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/toolkit_UnoControlListBoxModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/toolkit_UnoControlNumericField.xba101
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/toolkit_UnoControlNumericFieldModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/toolkit_UnoControlPatternField.xba101
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/toolkit_UnoControlPatternFieldModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/toolkit_UnoControlProgressBarModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/toolkit_UnoControlRadioButton.xba101
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/toolkit_UnoControlRadioButtonModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/toolkit_UnoControlScrollBarModel.xba57
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/toolkit_UnoControlTimeField.xba101
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/toolkit_UnoControlTimeFieldModel.xba59
-rw-r--r--qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/typeconverter_uno_TypeConverter.xba53
-rw-r--r--qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/typemgr_uno_TypeDescriptionManager.xba59
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/ucb_UcbContentProviderProxyFactory.xba53
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/ucb_UcbPropertiesManager.xba53
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UcbStore/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UcbStore/ucb_UcbStore.xba53
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/ucb_UniversalContentBroker.xba80
-rw-r--r--qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/ucpdav_WebDAVContentProvider.xba69
-rw-r--r--qadevOOo/tests/basic/mod/ucpfile/FileProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucpfile/FileProvider/ucpfile_FileProvider.xba73
-rw-r--r--qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/ucphier_HierarchyContentProvider.xba65
-rw-r--r--qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/ucphier_HierarchyDataSource.xba71
-rw-r--r--qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/ucppkg_PackageContentProvider.xba65
-rw-r--r--qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/uui_UUIInteractionHandler.xba53
-rw-r--r--qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/uuresolver_uno_UnoUrlResolver.xba53
-rw-r--r--qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/uuresolver_UnoUrlResolver.xba53
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/xmloff_Chart_XMLContentExporter.xba111
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/xmloff_Chart_XMLContentImporter.xba101
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/xmloff_Chart_XMLExporter.xba112
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/xmloff_Chart_XMLImporter.xba101
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/xmloff_Chart_XMLStylesExporter.xba99
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/xmloff_Chart_XMLStylesImporter.xba87
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/xmloff_Draw_XMLContentExporter.xba115
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/xmloff_Draw_XMLContentImporter.xba115
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/xmloff_Draw_XMLExporter.xba110
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/xmloff_Draw_XMLImporter.xba115
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/xmloff_Draw_XMLMetaExporter.xba111
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/xmloff_Draw_XMLMetaImporter.xba94
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/xmloff_Draw_XMLSettingsExporter.xba119
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/xmloff_Draw_XMLSettingsImporter.xba95
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/xmloff_Draw_XMLStylesExporter.xba116
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/xmloff_Draw_XMLStylesImporter.xba93
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/xmloff_Impress_XMLContentExporter.xba112
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/xmloff_Impress_XMLContentImporter.xba128
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/xmloff_Impress_XMLExporter.xba112
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/xmloff_Impress_XMLImporter.xba90
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/xmloff_Impress_XMLMetaExporter.xba111
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/xmloff_Impress_XMLMetaImporter.xba93
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/xmloff_Impress_XMLSettingsExporter.xba123
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/xmloff_Impress_XMLSettingsImporter.xba95
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/xmloff_Impress_XMLStylesExporter.xba113
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/script.xlb5
-rw-r--r--qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/xmloff_Impress_XMLStylesImporter.xba95
-rw-r--r--qadevOOo/tests/java/complex/unoapi/CheckModuleAPI.java654
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessible.java57
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java167
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java651
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java354
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java542
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java212
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java123
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java74
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java600
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java1010
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java1195
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java351
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java122
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java109
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java138
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java72
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java133
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java173
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java35
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java87
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java130
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java117
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java76
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java111
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java251
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java85
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java109
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java126
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlModel.java35
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java133
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java116
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java90
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java108
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java115
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java71
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java137
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XButton.java118
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XCheckBox.java150
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XComboBox.java285
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XControl.java222
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XControlContainer.java142
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XCurrencyField.java308
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java135
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XDateField.java340
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XDialog.java158
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XFixedText.java120
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XImageConsumer.java144
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XImageProducer.java165
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XItemListener.java119
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java77
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XListBox.java513
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java110
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XNumericField.java311
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XPatternField.java176
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XRadioButton.java151
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XScrollBar.java228
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XSpinField.java216
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XSpinValue.java220
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java40
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTabController.java168
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java166
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTextComponent.java270
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java80
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTextListener.java128
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTimeField.java295
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XToolkit.java156
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTopWindow.java206
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java181
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XUserInputInterception.java539
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XView.java143
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XWindow.java624
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java37
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java99
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java295
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java671
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java183
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java261
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XExactName.java94
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java235
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java161
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XIntrospection.java62
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java157
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java378
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java235
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XProperty.java44
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java236
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java309
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertySet.java674
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java126
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyState.java274
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java113
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java346
-rw-r--r--qadevOOo/tests/java/ifc/bridge/_XBridge.java148
-rw-r--r--qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java233
-rw-r--r--qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java207
-rw-r--r--qadevOOo/tests/java/ifc/chart/_BarDiagram.java159
-rw-r--r--qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java132
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxis.java196
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java141
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java167
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java204
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java115
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java63
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartDocument.java44
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartLegend.java42
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartStatistics.java74
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java67
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTitle.java57
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java108
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java108
-rw-r--r--qadevOOo/tests/java/ifc/chart/_Diagram.java68
-rw-r--r--qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java67
-rw-r--r--qadevOOo/tests/java/ifc/chart/_LineDiagram.java194
-rw-r--r--qadevOOo/tests/java/ifc/chart/_StackableDiagram.java89
-rw-r--r--qadevOOo/tests/java/ifc/chart/_StockDiagram.java87
-rw-r--r--qadevOOo/tests/java/ifc/chart/_X3DDisplay.java77
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java106
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java109
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java109
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XChartData.java184
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XChartDataArray.java233
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XChartDocument.java164
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XDiagram.java156
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java91
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java63
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java71
-rw-r--r--qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java50
-rw-r--r--qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java50
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java265
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java181
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java90
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java266
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java166
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java316
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java263
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java118
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java152
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java260
-rw-r--r--qadevOOo/tests/java/ifc/connection/_XAcceptor.java323
-rw-r--r--qadevOOo/tests/java/ifc/connection/_XConnector.java198
-rw-r--r--qadevOOo/tests/java/ifc/container/_XChild.java100
-rw-r--r--qadevOOo/tests/java/ifc/container/_XContainer.java370
-rw-r--r--qadevOOo/tests/java/ifc/container/_XContainerQuery.java162
-rw-r--r--qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java95
-rw-r--r--qadevOOo/tests/java/ifc/container/_XElementAccess.java69
-rw-r--r--qadevOOo/tests/java/ifc/container/_XEnumeration.java137
-rw-r--r--qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java57
-rw-r--r--qadevOOo/tests/java/ifc/container/_XHierarchicalName.java80
-rw-r--r--qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java92
-rw-r--r--qadevOOo/tests/java/ifc/container/_XIndexAccess.java158
-rw-r--r--qadevOOo/tests/java/ifc/container/_XIndexContainer.java210
-rw-r--r--qadevOOo/tests/java/ifc/container/_XIndexReplace.java211
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNameAccess.java164
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNameContainer.java259
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNameReplace.java226
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNamed.java165
-rw-r--r--qadevOOo/tests/java/ifc/container/_XSet.java150
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java77
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java95
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java146
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java55
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java175
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java56
-rw-r--r--qadevOOo/tests/java/ifc/document/_DocumentInfo.java151
-rw-r--r--qadevOOo/tests/java/ifc/document/_ExportFilter.java51
-rw-r--r--qadevOOo/tests/java/ifc/document/_ImportFilter.java52
-rw-r--r--qadevOOo/tests/java/ifc/document/_LinkTarget.java75
-rw-r--r--qadevOOo/tests/java/ifc/document/_OfficeDocument.java45
-rw-r--r--qadevOOo/tests/java/ifc/document/_Settings.java174
-rw-r--r--qadevOOo/tests/java/ifc/document/_XActionLockable.java109
-rw-r--r--qadevOOo/tests/java/ifc/document/_XDocumentInfo.java224
-rw-r--r--qadevOOo/tests/java/ifc/document/_XDocumentInfoSupplier.java56
-rw-r--r--qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java198
-rw-r--r--qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java56
-rw-r--r--qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java83
-rw-r--r--qadevOOo/tests/java/ifc/document/_XEventsSupplier.java60
-rw-r--r--qadevOOo/tests/java/ifc/document/_XExporter.java90
-rw-r--r--qadevOOo/tests/java/ifc/document/_XFilter.java183
-rw-r--r--qadevOOo/tests/java/ifc/document/_XImporter.java77
-rw-r--r--qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java59
-rw-r--r--qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java91
-rw-r--r--qadevOOo/tests/java/ifc/document/_XStandaloneDocumentInfo.java131
-rw-r--r--qadevOOo/tests/java/ifc/document/_XTypeDetection.java123
-rw-r--r--qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java123
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java115
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_CaptionShape.java35
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java48
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java78
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java43
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java48
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java45
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java177
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_EllipseShape.java46
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java36
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_FillProperties.java219
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java96
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java34
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java177
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java71
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_Layer.java47
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_LineProperties.java86
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java150
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java60
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_MeasureShape.java46
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java47
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java47
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java102
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java43
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java48
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_Shape.java158
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java147
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_Text.java72
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_TextProperties.java67
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_TextShape.java44
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java36
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java147
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XControlShape.java106
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java91
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPageExpander.java74
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPageSummarizer.java74
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java44
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPages.java94
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java64
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawView.java113
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java64
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XLayerManager.java166
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java70
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java108
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java63
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShape.java196
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java109
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java110
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java97
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java70
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java110
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapes.java109
-rw-r--r--qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java168
-rw-r--r--qadevOOo/tests/java/ifc/form/_FormComponent.java43
-rw-r--r--qadevOOo/tests/java/ifc/form/_FormControlModel.java45
-rw-r--r--qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java110
-rw-r--r--qadevOOo/tests/java/ifc/form/_XBoundComponent.java58
-rw-r--r--qadevOOo/tests/java/ifc/form/_XBoundControl.java82
-rw-r--r--qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java200
-rw-r--r--qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java75
-rwxr-xr-xqadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java100
-rw-r--r--qadevOOo/tests/java/ifc/form/_XFormController.java173
-rw-r--r--qadevOOo/tests/java/ifc/form/_XFormsSupplier.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/_XGrid.java83
-rw-r--r--qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java80
-rw-r--r--qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java68
-rw-r--r--qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java61
-rw-r--r--qadevOOo/tests/java/ifc/form/_XLoadListener.java94
-rw-r--r--qadevOOo/tests/java/ifc/form/_XLoadable.java247
-rw-r--r--qadevOOo/tests/java/ifc/form/_XReset.java194
-rw-r--r--qadevOOo/tests/java/ifc/form/_XSubmit.java191
-rw-r--r--qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java248
-rw-r--r--qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java36
-rw-r--r--qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java36
-rw-r--r--qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java122
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_CheckBox.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ComboBox.java43
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_CommandButton.java45
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_CurrencyField.java58
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DataForm.java89
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java46
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java93
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java46
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java45
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java45
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DateField.java55
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_FileControl.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_FormattedField.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_GridControl.java101
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_HTMLForm.java47
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_HiddenControl.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ImageButton.java46
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ListBox.java46
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java52
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_NumericField.java57
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_PatternField.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_RadioButton.java46
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_RichTextControl.java34
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ScrollBar.java34
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_SpinButton.java34
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_TextField.java44
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_TimeField.java57
-rw-r--r--qadevOOo/tests/java/ifc/form/submission/_XSubmission.java192
-rw-r--r--qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java81
-rw-r--r--qadevOOo/tests/java/ifc/form/validation/_XValidatable.java85
-rw-r--r--qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java247
-rw-r--r--qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java90
-rw-r--r--qadevOOo/tests/java/ifc/formula/_FormulaProperties.java99
-rw-r--r--qadevOOo/tests/java/ifc/frame/_Desktop.java54
-rw-r--r--qadevOOo/tests/java/ifc/frame/_Frame.java35
-rw-r--r--qadevOOo/tests/java/ifc/frame/_FrameLoader.java45
-rw-r--r--qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java45
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XComponentLoader.java157
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XController.java226
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDesktop.java130
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatch.java243
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java167
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java142
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java224
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java245
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java276
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFrame.java583
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java44
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFrameLoader.java210
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java211
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java48
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XLayoutManager.java198
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XModel.java258
-rwxr-xr-xqadevOOo/tests/java/ifc/frame/_XModuleManager.java163
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java131
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java139
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XStatusListener.java48
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XStorable.java228
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java183
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java100
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java63
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java681
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XCalendar.java561
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java416
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XCollator.java430
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java138
-rwxr-xr-xqadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java336
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java95
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java107
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XLocaleData.java497
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java163
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XTransliteration.java456
-rw-r--r--qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java157
-rw-r--r--qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java160
-rw-r--r--qadevOOo/tests/java/ifc/io/_XActiveDataControl.java249
-rw-r--r--qadevOOo/tests/java/ifc/io/_XActiveDataSink.java111
-rw-r--r--qadevOOo/tests/java/ifc/io/_XActiveDataSource.java104
-rw-r--r--qadevOOo/tests/java/ifc/io/_XConnectable.java132
-rw-r--r--qadevOOo/tests/java/ifc/io/_XDataInputStream.java421
-rw-r--r--qadevOOo/tests/java/ifc/io/_XDataOutputStream.java282
-rw-r--r--qadevOOo/tests/java/ifc/io/_XInputStream.java247
-rw-r--r--qadevOOo/tests/java/ifc/io/_XMarkableStream.java197
-rw-r--r--qadevOOo/tests/java/ifc/io/_XObjectInputStream.java174
-rw-r--r--qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java95
-rw-r--r--qadevOOo/tests/java/ifc/io/_XOutputStream.java173
-rw-r--r--qadevOOo/tests/java/ifc/io/_XPersistObject.java269
-rw-r--r--qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java70
-rw-r--r--qadevOOo/tests/java/ifc/java/_XJavaVM.java70
-rw-r--r--qadevOOo/tests/java/ifc/lang/_ServiceManager.java60
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XComponent.java181
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XEventListener.java62
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XInitialization.java110
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XLocalizable.java72
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XMain.java72
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java128
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java197
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java59
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XServiceInfo.java97
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java168
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XTypeProvider.java93
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java61
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java58
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java295
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java111
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java94
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java185
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java73
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java116
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java89
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java72
-rw-r--r--qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java188
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_OutlineView.java36
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_Presentation.java91
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_PresentationView.java56
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_PreviewView.java39
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_SlidesView.java34
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java58
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_XPresentation.java83
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java58
-rwxr-xr-xqadevOOo/tests/java/ifc/qadevooo/_SelfTest.java83
-rw-r--r--qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java107
-rw-r--r--qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java97
-rw-r--r--qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java95
-rw-r--r--qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java198
-rw-r--r--qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java414
-rw-r--r--qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java498
-rw-r--r--qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java112
-rw-r--r--qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java114
-rw-r--r--qadevOOo/tests/java/ifc/script/_XTypeConverter.java131
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java125
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_DataSource.java171
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java45
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java69
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java55
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_RowSet.java149
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java50
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java60
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java84
-rwxr-xr-xqadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java84
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java64
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java61
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java69
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java64
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java69
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java214
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java38
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java299
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java396
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_ResultSet.java49
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_RowSet.java81
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XCloseable.java94
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java85
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XDataSource.java114
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XDriver.java213
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java160
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java123
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XParameters.java574
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XResultSet.java505
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java69
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java263
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XRow.java544
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XRowSet.java193
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java695
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java139
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java45
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java79
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java50
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java179
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java94
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java50
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java234
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java81
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_CellAreaLink.java48
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_DataPilotField.java169
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_DataPilotItem.java33
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_DatabaseImportDescriptor.java108
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_DatabaseRange.java48
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_DocumentSettings.java39
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_FunctionDescription.java156
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java56
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_Scenario.java41
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_Shape.java62
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SheetCell.java38
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SheetCellRange.java44
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SheetCellRanges.java33
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SheetFilterDescriptor.java52
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SheetLink.java84
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SheetSortDescriptor.java148
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_Spreadsheet.java63
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java50
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocumentSettings.java150
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SpreadsheetViewSettings.java75
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SubTotalDescriptor.java49
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_TableAutoFormat.java49
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java130
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_TableValidation.java52
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XActivationBroadcaster.java105
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XAreaLink.java159
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XAreaLinks.java107
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XArrayFormulaRange.java182
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCalculatable.java105
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellAddressable.java59
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellFormatRangesSupplier.java92
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangeAddressable.java57
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java85
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangeFormula.java71
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangeMovement.java246
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangeReferrer.java103
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java307
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellSeries.java244
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XConsolidatable.java56
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XConsolidationDescriptor.java264
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDDELink.java111
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDataPilotDescriptor.java429
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDataPilotField.java70
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDataPilotFieldGrouping.java73
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDataPilotTable.java105
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDataPilotTable2.java576
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDataPilotTables.java157
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDataPilotTablesSupplier.java59
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDatabaseRange.java244
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDatabaseRanges.java121
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XDocumentAuditing.java228
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java163
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XFormulaQuery.java201
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XFunctionDescriptions.java131
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XGoalSeek.java112
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XHeaderFooterContent.java82
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XLabelRange.java109
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XLabelRanges.java97
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XMultipleOperation.java182
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XNamedRange.java209
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XNamedRanges.java327
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XPrintAreas.java158
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java380
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XRecentFunctions.java168
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XScenario.java100
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XScenarioEnhanced.java93
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XScenarios.java88
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XScenariosSupplier.java56
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetAnnotation.java141
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationAnchor.java132
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationShapeSupplier.java43
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetAnnotations.java90
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationsSupplier.java58
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetAuditing.java206
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetCellCursor.java403
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetCellRange.java57
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetCellRangeContainer.java205
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetCellRanges.java89
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetCondition.java158
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntries.java137
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntry.java75
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetFilterDescriptor.java82
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetFilterable.java135
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetFilterableEx.java99
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetLinkable.java112
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetOperation.java104
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetOutline.java145
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSheetPageBreak.java93
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSpreadsheet.java90
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSpreadsheetDocument.java59
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSpreadsheetView.java92
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSpreadsheets.java184
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSubTotalCalculatable.java125
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSubTotalDescriptor.java77
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XSubTotalField.java115
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XUniqueCellFormatRangesSupplier.java83
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XUsedAreaCursor.java138
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XViewFreezable.java78
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XViewPane.java133
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XViewSplitable.java136
-rw-r--r--qadevOOo/tests/java/ifc/style/_CharacterProperties.java544
-rw-r--r--qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java77
-rw-r--r--qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java69
-rwxr-xr-xqadevOOo/tests/java/ifc/style/_CharacterStyle.java50
-rwxr-xr-xqadevOOo/tests/java/ifc/style/_PageProperties.java125
-rwxr-xr-xqadevOOo/tests/java/ifc/style/_PageStyle.java56
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphProperties.java507
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java86
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java55
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphStyle.java36
-rw-r--r--qadevOOo/tests/java/ifc/style/_Style.java54
-rw-r--r--qadevOOo/tests/java/ifc/style/_XStyle.java117
-rw-r--r--qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/system/_XProxySettings.java305
-rw-r--r--qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java77
-rw-r--r--qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java130
-rw-r--r--qadevOOo/tests/java/ifc/table/_CellProperties.java110
-rw-r--r--qadevOOo/tests/java/ifc/table/_TableColumn.java74
-rw-r--r--qadevOOo/tests/java/ifc/table/_TableRow.java47
-rw-r--r--qadevOOo/tests/java/ifc/table/_XAutoFormattable.java134
-rw-r--r--qadevOOo/tests/java/ifc/table/_XCell.java167
-rw-r--r--qadevOOo/tests/java/ifc/table/_XCellCursor.java247
-rw-r--r--qadevOOo/tests/java/ifc/table/_XCellRange.java151
-rw-r--r--qadevOOo/tests/java/ifc/table/_XColumnRowRange.java66
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableChart.java125
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableCharts.java94
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableChartsSupplier.java60
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableColumns.java399
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableRows.java138
-rw-r--r--qadevOOo/tests/java/ifc/task/_XInteractionHandler.java151
-rw-r--r--qadevOOo/tests/java/ifc/task/_XJob.java98
-rw-r--r--qadevOOo/tests/java/ifc/task/_XJobExecutor.java79
-rw-r--r--qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java78
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseFrame.java124
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java45
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseIndex.java204
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseIndexMark.java45
-rw-r--r--qadevOOo/tests/java/ifc/text/_CellProperties.java155
-rw-r--r--qadevOOo/tests/java/ifc/text/_CellRange.java101
-rw-r--r--qadevOOo/tests/java/ifc/text/_Defaults.java41
-rw-r--r--qadevOOo/tests/java/ifc/text/_DocumentIndex.java54
-rw-r--r--qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java47
-rw-r--r--qadevOOo/tests/java/ifc/text/_DocumentSettings.java35
-rw-r--r--qadevOOo/tests/java/ifc/text/_Footnote.java56
-rw-r--r--qadevOOo/tests/java/ifc/text/_FootnoteSettings.java104
-rw-r--r--qadevOOo/tests/java/ifc/text/_GenericTextDocument.java48
-rw-r--r--qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java63
-rw-r--r--qadevOOo/tests/java/ifc/text/_MailMerge.java174
-rw-r--r--qadevOOo/tests/java/ifc/text/_NumberingLevel.java174
-rw-r--r--qadevOOo/tests/java/ifc/text/_NumberingRules.java48
-rw-r--r--qadevOOo/tests/java/ifc/text/_PrintPreviewSettings.java35
-rw-r--r--qadevOOo/tests/java/ifc/text/_PrintSettings.java56
-rw-r--r--qadevOOo/tests/java/ifc/text/_Text.java35
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextColumns.java73
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextContent.java46
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextDocument.java48
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java68
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextFieldMaster.java46
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextFrame.java69
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextGraphicObject.java171
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextPortion.java57
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextSection.java148
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextTable.java118
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextTableRow.java52
-rw-r--r--qadevOOo/tests/java/ifc/text/_ViewSettings.java71
-rw-r--r--qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java141
-rw-r--r--qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java78
-rw-r--r--qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java308
-rw-r--r--qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java64
-rw-r--r--qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java63
-rw-r--r--qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java74
-rw-r--r--qadevOOo/tests/java/ifc/text/_XDocumentIndex.java129
-rw-r--r--qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java63
-rw-r--r--qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java81
-rw-r--r--qadevOOo/tests/java/ifc/text/_XFootnote.java116
-rw-r--r--qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java63
-rw-r--r--qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java82
-rw-r--r--qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java61
-rw-r--r--qadevOOo/tests/java/ifc/text/_XLineNumberingSupplier.java64
-rw-r--r--qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java162
-rw-r--r--qadevOOo/tests/java/ifc/text/_XPageCursor.java171
-rw-r--r--qadevOOo/tests/java/ifc/text/_XPagePrintable.java161
-rw-r--r--qadevOOo/tests/java/ifc/text/_XParagraphCursor.java140
-rw-r--r--qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java66
-rw-r--r--qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java136
-rw-r--r--qadevOOo/tests/java/ifc/text/_XSentenceCursor.java127
-rw-r--r--qadevOOo/tests/java/ifc/text/_XSimpleText.java136
-rw-r--r--qadevOOo/tests/java/ifc/text/_XText.java170
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextColumns.java114
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextContent.java117
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextCursor.java242
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextDocument.java71
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextEmbeddedObject.java60
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java61
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextField.java66
-rwxr-xr-xqadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java191
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextFrame.java68
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java64
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java67
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextRange.java184
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java189
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextRangeMover.java97
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextSection.java77
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java75
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextTable.java181
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextTableCursor.java294
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java66
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java62
-rw-r--r--qadevOOo/tests/java/ifc/text/_XWordCursor.java132
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java114
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java112
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java122
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java192
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java249
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java50
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java77
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentProvider.java138
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java60
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java278
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XDataContainer.java136
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java100
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java93
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java71
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java59
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java100
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java79
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java542
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java92
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java162
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java212
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java81
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java64
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XUIConfiguration.java102
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java53
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java363
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java83
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java76
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XUIElementFactory.java56
-rwxr-xr-xqadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java83
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java36
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java142
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java192
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java195
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java160
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java202
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java290
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java122
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java64
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java106
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java115
-rw-r--r--qadevOOo/tests/java/ifc/uno/_XComponentContext.java81
-rw-r--r--qadevOOo/tests/java/ifc/uno/_XNamingService.java155
-rw-r--r--qadevOOo/tests/java/ifc/util/_PathSettings.java89
-rw-r--r--qadevOOo/tests/java/ifc/util/_SearchDescriptor.java53
-rw-r--r--qadevOOo/tests/java/ifc/util/_XCancellable.java65
-rw-r--r--qadevOOo/tests/java/ifc/util/_XChangesBatch.java172
-rw-r--r--qadevOOo/tests/java/ifc/util/_XChangesNotifier.java222
-rw-r--r--qadevOOo/tests/java/ifc/util/_XCloneable.java112
-rw-r--r--qadevOOo/tests/java/ifc/util/_XFlushable.java111
-rw-r--r--qadevOOo/tests/java/ifc/util/_XImportable.java202
-rw-r--r--qadevOOo/tests/java/ifc/util/_XIndent.java98
-rw-r--r--qadevOOo/tests/java/ifc/util/_XMergeable.java74
-rw-r--r--qadevOOo/tests/java/ifc/util/_XModeSelector.java104
-rw-r--r--qadevOOo/tests/java/ifc/util/_XModifiable.java57
-rw-r--r--qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java86
-rw-r--r--qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java98
-rw-r--r--qadevOOo/tests/java/ifc/util/_XNumberFormatter.java128
-rw-r--r--qadevOOo/tests/java/ifc/util/_XProtectable.java84
-rw-r--r--qadevOOo/tests/java/ifc/util/_XRefreshable.java119
-rw-r--r--qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java75
-rw-r--r--qadevOOo/tests/java/ifc/util/_XReplaceable.java147
-rw-r--r--qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java87
-rw-r--r--qadevOOo/tests/java/ifc/util/_XSearchable.java185
-rw-r--r--qadevOOo/tests/java/ifc/util/_XSortable.java238
-rw-r--r--qadevOOo/tests/java/ifc/util/_XStringEscape.java64
-rw-r--r--qadevOOo/tests/java/ifc/util/_XStringSubstitution.java101
-rw-r--r--qadevOOo/tests/java/ifc/util/_XTextSearch.java119
-rw-r--r--qadevOOo/tests/java/ifc/util/_XURLTransformer.java471
-rw-r--r--qadevOOo/tests/java/ifc/view/_XControlAccess.java124
-rw-r--r--qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java158
-rw-r--r--qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java427
-rw-r--r--qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java150
-rw-r--r--qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java62
-rw-r--r--qadevOOo/tests/java/ifc/view/_XPrintable.java196
-rw-r--r--qadevOOo/tests/java/ifc/view/_XScreenCursor.java87
-rw-r--r--qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java208
-rw-r--r--qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java62
-rw-r--r--qadevOOo/tests/java/ifc/xml/_UserDefinedAttributeSupplier.java72
-rw-r--r--qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java408
-rw-r--r--qadevOOo/tests/java/mod/_acceptor.uno/Acceptor.java122
-rw-r--r--qadevOOo/tests/java/mod/_acceptor/Acceptor.java127
-rw-r--r--qadevOOo/tests/java/mod/_acceptor/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_adabas/ODriver.java121
-rw-r--r--qadevOOo/tests/java/mod/_ado/ODriver.java105
-rw-r--r--qadevOOo/tests/java/mod/_basctl/AccessibleShape.java155
-rw-r--r--qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java118
-rw-r--r--qadevOOo/tests/java/mod/_brdgfctr/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_bridgefac.uno/BridgeFactory.java116
-rw-r--r--qadevOOo/tests/java/mod/_bridgefac.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java186
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java176
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java183
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java169
-rw-r--r--qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java71
-rw-r--r--qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java110
-rw-r--r--qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java131
-rw-r--r--qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java86
-rw-r--r--qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java57
-rw-r--r--qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java54
-rw-r--r--qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java51
-rw-r--r--qadevOOo/tests/java/mod/_connector.uno/Connector.java122
-rw-r--r--qadevOOo/tests/java/mod/_connector.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_connectr/Connector.java125
-rw-r--r--qadevOOo/tests/java/mod/_connectr/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_corefl/CoreReflection.java87
-rw-r--r--qadevOOo/tests/java/mod/_corefl/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_corereflection.uno/CoreReflection.java83
-rw-r--r--qadevOOo/tests/java/mod/_corereflection.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java117
-rw-r--r--qadevOOo/tests/java/mod/_cpld/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java421
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java110
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java392
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java91
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java149
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java245
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java100
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java332
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java117
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java325
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ORowSet.java644
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java157
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java283
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java485
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java380
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java114
-rw-r--r--qadevOOo/tests/java/mod/_defreg/NestedRegistry.java202
-rw-r--r--qadevOOo/tests/java/mod/_defreg/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_dtrans/generic.java77
-rw-r--r--qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java101
-rw-r--r--qadevOOo/tests/java/mod/_file/calc/ODriver.java112
-rw-r--r--qadevOOo/tests/java/mod/_file/dbase/ODriver.java109
-rw-r--r--qadevOOo/tests/java/mod/_file/flat/ODriver.java107
-rw-r--r--qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java86
-rw-r--r--qadevOOo/tests/java/mod/_fileacc/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_fop/FolderPicker.java102
-rw-r--r--qadevOOo/tests/java/mod/_forms/GenericModelTest.java565
-rw-r--r--qadevOOo/tests/java/mod/_forms/OButtonControl.java223
-rw-r--r--qadevOOo/tests/java/mod/_forms/OButtonModel.java134
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java237
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java149
-rw-r--r--qadevOOo/tests/java/mod/_forms/OComboBoxControl.java244
-rw-r--r--qadevOOo/tests/java/mod/_forms/OComboBoxModel.java164
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCurrencyControl.java251
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCurrencyModel.java159
-rw-r--r--qadevOOo/tests/java/mod/_forms/ODatabaseForm.java901
-rw-r--r--qadevOOo/tests/java/mod/_forms/ODateControl.java243
-rw-r--r--qadevOOo/tests/java/mod/_forms/ODateModel.java178
-rw-r--r--qadevOOo/tests/java/mod/_forms/OEditControl.java261
-rw-r--r--qadevOOo/tests/java/mod/_forms/OEditModel.java170
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFileControlModel.java210
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFixedTextModel.java128
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFormattedControl.java240
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java162
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFormsCollection.java184
-rw-r--r--qadevOOo/tests/java/mod/_forms/OGridControlModel.java431
-rw-r--r--qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java214
-rw-r--r--qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java128
-rw-r--r--qadevOOo/tests/java/mod/_forms/OHiddenModel.java203
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageButtonControl.java219
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageButtonModel.java132
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageControlControl.java220
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageControlModel.java161
-rw-r--r--qadevOOo/tests/java/mod/_forms/OListBoxControl.java180
-rw-r--r--qadevOOo/tests/java/mod/_forms/OListBoxModel.java236
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java180
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java81
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONumericControl.java245
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONumericModel.java160
-rw-r--r--qadevOOo/tests/java/mod/_forms/OPatternControl.java243
-rw-r--r--qadevOOo/tests/java/mod/_forms/OPatternModel.java166
-rw-r--r--qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java222
-rw-r--r--qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java173
-rw-r--r--qadevOOo/tests/java/mod/_forms/OScrollBarModel.java99
-rw-r--r--qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java102
-rw-r--r--qadevOOo/tests/java/mod/_forms/OTimeControl.java258
-rw-r--r--qadevOOo/tests/java/mod/_forms/OTimeModel.java237
-rw-r--r--qadevOOo/tests/java/mod/_forms/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_fps/FilePicker.java133
-rw-r--r--qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java91
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/ControlMenuController.java110
-rw-r--r--qadevOOo/tests/java/mod/_fwk/Desktop.java137
-rw-r--r--qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java174
-rw-r--r--qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java74
-rw-r--r--qadevOOo/tests/java/mod/_fwk/DocumentProperties.java130
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/FontMenuController.java60
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java60
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/FooterMenuController.java60
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/FormatMenuController.java60
-rw-r--r--qadevOOo/tests/java/mod/_fwk/Frame.java119
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/HeaderMenuController.java60
-rw-r--r--qadevOOo/tests/java/mod/_fwk/JobExecutor.java317
-rw-r--r--qadevOOo/tests/java/mod/_fwk/JobHandler.java91
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/LayoutManager.java124
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/MacrosMenuController.java60
-rw-r--r--qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java80
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/MenuBarFactory.java58
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/ModuleManager.java281
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java245
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java60
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/ObjectMenuController.java97
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java124
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ServiceHandler.java80
-rw-r--r--qadevOOo/tests/java/mod/_fwk/SoundHandler.java81
-rw-r--r--qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java74
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java60
-rw-r--r--qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java60
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/UICommandDescription.java61
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java205
-rwxr-xr-xqadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java101
-rw-r--r--qadevOOo/tests/java/mod/_fwk/URLTransformer.java73
-rw-r--r--qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java115
-rw-r--r--qadevOOo/tests/java/mod/_fwl/FilterFactory.java205
-rw-r--r--qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java113
-rw-r--r--qadevOOo/tests/java/mod/_fwl/PathSettings.java161
-rw-r--r--qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java94
-rw-r--r--qadevOOo/tests/java/mod/_fwl/TypeDetection.java187
-rw-r--r--qadevOOo/tests/java/mod/_i18n/BreakIterator.java123
-rw-r--r--qadevOOo/tests/java/mod/_i18n/CalendarImpl.java80
-rw-r--r--qadevOOo/tests/java/mod/_i18n/ChapterCollator.java84
-rw-r--r--qadevOOo/tests/java/mod/_i18n/CharacterClassification.java87
-rw-r--r--qadevOOo/tests/java/mod/_i18n/Collator.java81
-rw-r--r--qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java86
-rw-r--r--qadevOOo/tests/java/mod/_i18n/LocaleData.java85
-rw-r--r--qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java91
-rw-r--r--qadevOOo/tests/java/mod/_i18n/TextSearch.java81
-rw-r--r--qadevOOo/tests/java/mod/_i18n/Transliteration.java81
-rw-r--r--qadevOOo/tests/java/mod/_implreg.uno/ImplementationRegistration.java81
-rw-r--r--qadevOOo/tests/java/mod/_implreg.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java86
-rw-r--r--qadevOOo/tests/java/mod/_impreg/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_insp/Introspection.java81
-rw-r--r--qadevOOo/tests/java/mod/_insp/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_introspection.uno/Introspection.java76
-rw-r--r--qadevOOo/tests/java/mod/_introspection.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_inv/Invocation.java106
-rw-r--r--qadevOOo/tests/java/mod/_inv/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java75
-rw-r--r--qadevOOo/tests/java/mod/_invadp/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_invocadapt.uno/InvocationAdapterFactory.java74
-rw-r--r--qadevOOo/tests/java/mod/_invocadapt.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_invocation.uno/Invocation.java104
-rw-r--r--qadevOOo/tests/java/mod/_invocation.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_javaloader.uno/JavaComponentLoader.java96
-rw-r--r--qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java101
-rw-r--r--qadevOOo/tests/java/mod/_javavm.uno/JavaVirtualMachine.java75
-rw-r--r--qadevOOo/tests/java/mod/_javavm.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java123
-rw-r--r--qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java77
-rw-r--r--qadevOOo/tests/java/mod/_jen/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_lng/DicList.java113
-rw-r--r--qadevOOo/tests/java/mod/_lng/LinguProps.java98
-rw-r--r--qadevOOo/tests/java/mod/_lng/LngSvcMgr.java92
-rw-r--r--qadevOOo/tests/java/mod/_lnn/Hyphenator.java111
-rw-r--r--qadevOOo/tests/java/mod/_lnn/SpellChecker.java109
-rw-r--r--qadevOOo/tests/java/mod/_lnn/Thesaurus.java98
-rw-r--r--qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java90
-rw-r--r--qadevOOo/tests/java/mod/_mozab/MozabDriver.java104
-rw-r--r--qadevOOo/tests/java/mod/_namingservice.uno/NamingService.java99
-rw-r--r--qadevOOo/tests/java/mod/_namingservice/NamingService.java102
-rw-r--r--qadevOOo/tests/java/mod/_namingservice/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_nestedreg.uno/NestedRegistry.java198
-rw-r--r--qadevOOo/tests/java/mod/_nestedreg.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_odbc/ODBCDriver.java101
-rw-r--r--qadevOOo/tests/java/mod/_pcr/ObjectInspector.java215
-rw-r--r--qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java174
-rw-r--r--qadevOOo/tests/java/mod/_proxyfac.uno/ProxyFactory.java76
-rw-r--r--qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java78
-rw-r--r--qadevOOo/tests/java/mod/_proxyfac/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_proxyset/SOffice52ProxySettings.java144
-rw-r--r--qadevOOo/tests/java/mod/_proxyset/SystemProxySettings.java145
-rwxr-xr-xqadevOOo/tests/java/mod/_qadevOOo/SelfTest.java92
-rw-r--r--qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java131
-rw-r--r--qadevOOo/tests/java/mod/_rdbtdp/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_regtypeprov.uno/RegistryTypeDescriptionProvider.java126
-rw-r--r--qadevOOo/tests/java/mod/_remotebridge.uno/various.java309
-rw-r--r--qadevOOo/tests/java/mod/_remotebridge/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_remotebridge/various.java305
-rw-r--r--qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java220
-rw-r--r--qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java193
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java200
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java208
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java202
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java229
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java172
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java242
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java282
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java233
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java208
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java293
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java222
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java168
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAnnotationObj.java178
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java213
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java152
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAnnotationsObj.java175
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAreaLinkObj.java152
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAreaLinksObj.java150
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java106
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAutoFormatObj.java109
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAutoFormatsObj.java158
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java326
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellFieldObj.java196
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellFieldsObj.java167
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellFormatsEnumeration.java157
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellFormatsObj.java141
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellObj.java216
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java312
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java264
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellSearchObj.java151
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java195
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellsEnumeration.java172
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellsObj.java167
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScChartObj.java289
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScChartsObj.java273
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScConsolidationDescriptor.java116
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDDELinkObj.java245
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDDELinksObj.java208
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupItemObj.java371
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupObj.java369
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupsObj.java367
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotFieldObj.java396
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotFieldsObj.java183
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java414
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotItemsObj.java402
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotTableObj.java355
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotTablesObj.java195
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java258
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDatabaseRangesObj.java154
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java90
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDrawPageObj.java162
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDrawPagesObj.java135
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScFilterDescriptorBase.java159
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScFunctionDescriptionObj.java118
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScFunctionListObj.java130
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScHeaderFieldObj.java241
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScHeaderFieldsObj.java221
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScHeaderFooterContentObj.java190
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java228
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java278
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScImportDescriptorBase.java149
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAnnotationsEnumeration.java138
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAreaLinksEnumeration.java131
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DDELinksEnumeration.java187
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotFieldsEnumeration.java165
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotItemsEnumeration.java408
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotTablesEnumeration.java166
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DatabaseRangesEnumeration.java134
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_FunctionDescriptionEnumeration.java113
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_LabelRangesEnumeration.java126
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_NamedRangesEnumeration.java133
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_ScenariosEnumeration.java145
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetCellRangesEnumeration.java167
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetLinksEnumeration.java148
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration.java116
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetsEnumeration.java97
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SubTotalFieldsEnumeration.java141
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableAutoFormatEnumeration.java105
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableChartsEnumeration.java238
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableColumnsEnumeration.java129
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableConditionalEntryEnumeration.java207
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableRowsEnumeration.java128
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TextFieldEnumeration.java166
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScLabelRangeObj.java154
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScLabelRangesObj.java147
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScModelObj.java232
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScNamedRangeObj.java177
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScNamedRangesObj.java178
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScRecentFunctionsObj.java133
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScScenariosObj.java174
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScShapeObj.java117
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java193
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSheetLinksObj.java167
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSortDescriptorBase.java151
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettings.java84
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettingsObj.java110
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScStyleFamiliesObj.java121
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScStyleFamilyObj.java216
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScStyleObj.java270
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSubTotalDescriptorBase.java154
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSubTotalFieldObj.java169
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTabViewObj.java283
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java176
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableColumnsObj.java153
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableConditionalEntry.java230
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableConditionalFormat.java208
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableRowObj.java161
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableRowsObj.java148
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java421
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableSheetsObj.java171
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableValidationObj.java164
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsEnumeration.java145
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsObj.java139
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScViewPaneObj.java209
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLContentExporter.java216
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLContentImporter.java198
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLExporter.java224
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLImporter.java195
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java205
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java197
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java206
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java219
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java211
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java215
-rw-r--r--qadevOOo/tests/java/mod/_sc/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccArea.java121
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccAxis.java119
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccDataPoint.java120
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccDataSeries.java120
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccDiagram.java120
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccFloor.java145
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccGrid.java121
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccLegend.java119
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccLegendEntry.java119
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccStatisticsObject.java124
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccTitle.java119
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccWall.java144
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java133
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartAxis.java130
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartData.java102
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java106
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartDocument.java172
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartView.java147
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXDataPoint.java162
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXDataRow.java169
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXDiagram.java413
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartArea.java122
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartGrid.java122
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartLegend.java142
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartLine.java150
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartTitle.java120
-rw-r--r--qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java183
-rw-r--r--qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java182
-rw-r--r--qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java191
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java303
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java337
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java334
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java334
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java334
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java111
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdDrawPage.java216
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java129
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java189
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdLayer.java139
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdLayerManager.java171
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdMasterPage.java194
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java122
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java153
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java299
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java246
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoPresView.java301
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java222
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java243
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java212
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java199
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXPresentation.java164
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXShape.java219
-rw-r--r--qadevOOo/tests/java/mod/_sd/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_servicemgr.uno/OServiceManager.java169
-rw-r--r--qadevOOo/tests/java/mod/_servicemgr.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java104
-rw-r--r--qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java97
-rw-r--r--qadevOOo/tests/java/mod/_sfx/FrameLoader.java103
-rw-r--r--qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java107
-rw-r--r--qadevOOo/tests/java/mod/_sfx/StandaloneDocumentInfo.java133
-rw-r--r--qadevOOo/tests/java/mod/_shlibloader.uno/DLLComponentLoader.java117
-rw-r--r--qadevOOo/tests/java/mod/_shlibloader.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_simplereg.uno/SimpleRegistry.java163
-rw-r--r--qadevOOo/tests/java/mod/_simplereg.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java167
-rw-r--r--qadevOOo/tests/java/mod/_simreg/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_sm/SmEditAccessible.java178
-rw-r--r--qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java182
-rw-r--r--qadevOOo/tests/java/mod/_sm/SmModel.java100
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLExporter.java197
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLImporter.java170
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java198
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java198
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java198
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java180
-rw-r--r--qadevOOo/tests/java/mod/_smgr/OServiceManager.java171
-rw-r--r--qadevOOo/tests/java/mod/_smgr/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java121
-rw-r--r--qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java83
-rw-r--r--qadevOOo/tests/java/mod/_stm/DataInputStream.java197
-rw-r--r--qadevOOo/tests/java/mod/_stm/DataOutputStream.java182
-rw-r--r--qadevOOo/tests/java/mod/_stm/MarkableInputStream.java147
-rw-r--r--qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java207
-rw-r--r--qadevOOo/tests/java/mod/_stm/ObjectInputStream.java299
-rw-r--r--qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java320
-rw-r--r--qadevOOo/tests/java/mod/_stm/Pipe.java115
-rw-r--r--qadevOOo/tests/java/mod/_stm/Pump.java190
-rw-r--r--qadevOOo/tests/java/mod/_stm/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/DataInputStream.java194
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/DataOutputStream.java179
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/MarkableInputStream.java144
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/MarkableOutputStream.java204
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/ObjectInputStream.java296
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/ObjectOutputStream.java317
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/Pipe.java111
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/Pump.java187
-rw-r--r--qadevOOo/tests/java/mod/_streams.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java202
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java255
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java240
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java238
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java226
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java287
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java264
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java162
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java194
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java209
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java249
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java295
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java125
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java162
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java129
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java151
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java141
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java149
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java158
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java147
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleShape.java128
-rw-r--r--qadevOOo/tests/java/mod/_svx/GraphicExporter.java237
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxDrawPage.java224
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java251
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java263
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShape.java227
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java247
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java148
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java204
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeControl.java158
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java169
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java195
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java265
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java278
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java94
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoText.java170
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java150
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java152
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java144
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java161
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java156
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java157
-rw-r--r--qadevOOo/tests/java/mod/_svx/package.html6
-rwxr-xr-xqadevOOo/tests/java/mod/_sw/CharacterStyle.java207
-rwxr-xr-xqadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java201
-rw-r--r--qadevOOo/tests/java/mod/_sw/DocumentSettings.java85
-rwxr-xr-xqadevOOo/tests/java/mod/_sw/PageStyle.java201
-rwxr-xr-xqadevOOo/tests/java/mod/_sw/ParagraphStyle.java192
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java200
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java195
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java200
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java195
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java188
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java286
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java139
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java154
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java174
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java177
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java89
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java217
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java178
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBodyText.java148
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBookmark.java121
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBookmarks.java119
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXCell.java135
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXCellRange.java169
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java123
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java144
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java145
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java135
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDrawPage.java164
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java134
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java176
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java111
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnote.java158
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java132
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java176
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnotes.java134
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFrames.java143
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java198
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java119
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXMailMerge.java439
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXModule.java90
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java178
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXParagraph.java279
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java154
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java110
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPropertySet.java85
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java97
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java142
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java164
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXShape.java133
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyle.java248
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java111
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java197
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableCellText.java172
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableColumns.java136
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableRows.java128
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextColumns.java184
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextCursor.java316
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java123
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextDocument.java268
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java173
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java137
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextField.java168
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java140
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java140
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFrame.java159
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java207
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java165
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextPortion.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java161
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextRange.java99
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextRanges.java129
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSearch.java131
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSection.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSections.java152
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTable.java261
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java124
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java127
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTables.java154
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextView.java297
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java122
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXViewSettings.java112
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLContentExporter.java196
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLContentImporter.java178
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLExporter.java199
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLImporter.java171
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java200
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java189
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java209
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java208
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java203
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java188
-rw-r--r--qadevOOo/tests/java/mod/_sw/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java60
-rw-r--r--qadevOOo/tests/java/mod/_sysdtrans/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java60
-rw-r--r--qadevOOo/tests/java/mod/_tcv/TypeConverter.java71
-rw-r--r--qadevOOo/tests/java/mod/_tcv/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java89
-rw-r--r--qadevOOo/tests/java/mod/_tdmgr/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java83
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java246
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java261
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java246
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java139
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java154
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java235
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java209
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleList.java237
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java250
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java241
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java196
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java156
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java203
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java170
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java230
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java310
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java186
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java182
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java197
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java282
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java292
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java188
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java207
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java207
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java105
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java191
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/TabController.java143
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java105
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/Toolkit.java142
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java156
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java87
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java164
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java87
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java160
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java252
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java66
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java162
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java85
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java166
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java254
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java189
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java161
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java162
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java97
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java152
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java167
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java85
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java151
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java160
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java62
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java161
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java171
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java162
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java62
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java94
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java152
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java62
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java97
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java162
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java62
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java179
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java149
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java69
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java303
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java84
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_typeconverter.uno/TypeConverter.java66
-rw-r--r--qadevOOo/tests/java/mod/_typeconverter.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_typemgr.uno/TypeDescriptionManager.java84
-rw-r--r--qadevOOo/tests/java/mod/_typemgr.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java77
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java68
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UcbStore.java77
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java88
-rw-r--r--qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java82
-rw-r--r--qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java90
-rw-r--r--qadevOOo/tests/java/mod/_ucpfile/FileProvider.java80
-rw-r--r--qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java81
-rw-r--r--qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java80
-rw-r--r--qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java68
-rw-r--r--qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java83
-rw-r--r--qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java118
-rw-r--r--qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java72
-rw-r--r--qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java81
-rw-r--r--qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java82
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver.uno/UnoUrlResolver.java68
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver.uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java81
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java201
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java206
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java204
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java204
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java191
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java185
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java215
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java211
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java215
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java211
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java205
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java189
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java211
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java199
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java214
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java197
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java207
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java221
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java210
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java180
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java206
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java189
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java219
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java213
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java209
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java202
4598 files changed, 391577 insertions, 0 deletions
diff --git a/qadevOOo/build.xml b/qadevOOo/build.xml
new file mode 100755
index 000000000000..f00746a2a6b8
--- /dev/null
+++ b/qadevOOo/build.xml
@@ -0,0 +1,52 @@
+<project name="qadevOOo" default="main" basedir=".">
+ <description>
+ Build file for qadevOOo project
+ </description>
+
+ <!-- set global properties for this build -->
+ <property name="qadevOOo.output" location="${out}"/>
+ <property name="qadevOOo.class" location="${qadevOOo.output}/class"/>
+ <property name="qadevOOo.runner" location="${prj}/runner"/>
+ <property name="qadevOOo.tests" location="${prj}/tests/java"/>
+ <property name="qadevOOo.office_jars" location="${solar.jar}"/>
+
+ <!-- ================================================================================== -->
+
+ <!-- the main target -->
+ <target name="main" depends="qadevOOo_tests_build,qadevOOo_runner_build"/>
+
+ <!-- ================================================================================== -->
+
+ <!-- target for building the runner -->
+ <target name="qadevOOo_runner_build">
+ <javac srcdir="${qadevOOo.runner}" destdir="${qadevOOo.class}" includes="**/*.java" debug="${debug}" source="${build.source}">
+ <classpath>
+ <pathelement location="${qadevOOo.class}"/>
+ <fileset dir="${qadevOOo.office_jars}">
+ <include name="**/ridl.jar"/>
+ <include name="**/unoil.jar"/>
+ <include name="**/jurt.jar"/>
+ <include name="**/juh.jar"/>
+ <include name="**/java_uno.jar"/>
+ </fileset>
+ </classpath>
+ </javac>
+ </target>
+
+ <!-- target for building the tests -->
+ <target name="qadevOOo_tests_build" depends="qadevOOo_runner_build">
+ <javac srcdir="${qadevOOo.tests}" destdir="${qadevOOo.class}" includes="**/*.java" debug="${debug}" source="${build.source}">
+ <classpath>
+ <pathelement location="${qadevOOo.class}"/>
+ <fileset dir="${qadevOOo.office_jars}">
+ <include name="**/ridl.jar"/>
+ <include name="**/unoil.jar"/>
+ <include name="**/jurt.jar"/>
+ <include name="**/juh.jar"/>
+ <include name="**/java_uno.jar"/>
+ </fileset>
+ </classpath>
+ </javac>
+ </target>
+
+</project>
diff --git a/qadevOOo/makefile.mk b/qadevOOo/makefile.mk
new file mode 100755
index 000000000000..8d8b4ab725f6
--- /dev/null
+++ b/qadevOOo/makefile.mk
@@ -0,0 +1,51 @@
+#***************************************************************************
+#
+# 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.
+#
+#***************************************************************************
+
+
+PRJNAME = OOoRunner
+TARGET=qadevOOo
+PRJ=.
+
+# ------------------------------------------------
+# NEVER REMOVE THIS!
+# The OOoRunner.jar and OOoRunnerLight.jar should build with debug information all the time, also in the .pro builds.
+# If you have any questions about this, ask the qadevOOo Maintainer.
+debug=true
+# ------------------------------------------------
+
+.INCLUDE : ant.mk
+TST:
+ echo $(SOLAR_JAVA)
+
+.IF "$(SOLAR_JAVA)"=="TRUE"
+.IF "$(ANT_HOME)"!="NO_ANT_HOME"
+ANT_FLAGS+=-Dbuild.source=1.5
+.IF "$(L10N_framework)"==""
+ALLTAR: ANTBUILD
+.ENDIF
+.ENDIF
+.ENDIF
diff --git a/qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv b/qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv
new file mode 100644
index 000000000000..3671af42bab0
--- /dev/null
+++ b/qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv
@@ -0,0 +1,2 @@
+"Acceptor";"com::sun::star::connection::XAcceptor";"accept()"
+"Acceptor";"com::sun::star::connection::XAcceptor";"stopAccepting()"
diff --git a/qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv b/qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv
new file mode 100644
index 000000000000..3671af42bab0
--- /dev/null
+++ b/qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv
@@ -0,0 +1,2 @@
+"Acceptor";"com::sun::star::connection::XAcceptor";"accept()"
+"Acceptor";"com::sun::star::connection::XAcceptor";"stopAccepting()"
diff --git a/qadevOOo/objdsc/adabas/com.sun.star.comp.sdbcx.adabas.ODriver.csv b/qadevOOo/objdsc/adabas/com.sun.star.comp.sdbcx.adabas.ODriver.csv
new file mode 100644
index 000000000000..8c11a68ccff2
--- /dev/null
+++ b/qadevOOo/objdsc/adabas/com.sun.star.comp.sdbcx.adabas.ODriver.csv
@@ -0,0 +1,5 @@
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv b/qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv
new file mode 100644
index 000000000000..8c11a68ccff2
--- /dev/null
+++ b/qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv
@@ -0,0 +1,5 @@
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv
new file mode 100644
index 000000000000..8a62a482cc46
--- /dev/null
+++ b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv
@@ -0,0 +1,23 @@
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv
new file mode 100644
index 000000000000..c59a575c8fb2
--- /dev/null
+++ b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv
@@ -0,0 +1,24 @@
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv b/qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv
new file mode 100644
index 000000000000..5a55e9284561
--- /dev/null
+++ b/qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv
@@ -0,0 +1,6 @@
+"BridgeFactory";"com::sun::star::lang::XComponent";"dispose()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"addEventListener()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"removeEventListener()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"createBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getExistingBridges()"
diff --git a/qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv b/qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv
new file mode 100644
index 000000000000..5a55e9284561
--- /dev/null
+++ b/qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv
@@ -0,0 +1,6 @@
+"BridgeFactory";"com::sun::star::lang::XComponent";"dispose()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"addEventListener()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"removeEventListener()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"createBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getExistingBridges()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv
new file mode 100644
index 000000000000..55f3728bcb79
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv
@@ -0,0 +1 @@
+"CachedContentResultSetFactory";"com::sun::star::ucb::XCachedContentResultSetFactory";"createCachedContentResultSet()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv
new file mode 100644
index 000000000000..adc7191c44c7
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv
@@ -0,0 +1 @@
+"CachedContentResultSetStubFactory";"com::sun::star::ucb::XCachedContentResultSetStubFactory";"createCachedContentResultSetStub()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv
new file mode 100644
index 000000000000..88b1af672914
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv
@@ -0,0 +1 @@
+"CachedDynamicResultSetFactory";"com::sun::star::ucb::XCachedDynamicResultSetFactory";"createCachedDynamicResultSet()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv
new file mode 100644
index 000000000000..229b357427eb
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv
@@ -0,0 +1,2 @@
+"CachedDynamicResultSetStubFactory";"com::sun::star::ucb::XCachedDynamicResultSetStubFactory";"createCachedDynamicResultSetStub()"
+"CachedDynamicResultSetStubFactory";"com::sun::star::ucb::XCachedDynamicResultSetStubFactory";"connectToCache()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv
new file mode 100644
index 000000000000..3c368ee9e8f3
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv
@@ -0,0 +1,6 @@
+"AdministrationProvider";"com::sun::star::lang::XComponent";"dispose()"
+"AdministrationProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"AdministrationProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"AdministrationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"AdministrationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"AdministrationProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv
new file mode 100644
index 000000000000..a135f0bf875e
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv
@@ -0,0 +1,6 @@
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"dispose()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv
new file mode 100644
index 000000000000..0f7ecac2c70c
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv
@@ -0,0 +1,6 @@
+"ConfigurationProviderWrapper";"com::sun::star::lang::XComponent";"dispose()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XComponent";"addEventListener()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv
new file mode 100644
index 000000000000..e15ff6d6ce7a
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv
@@ -0,0 +1,11 @@
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
+"OConfigurationRegistry";"com::sun::star::util::XFlushable";"flush()"
+"OConfigurationRegistry";"com::sun::star::util::XFlushable";"addFlushListener()"
+"OConfigurationRegistry";"com::sun::star::util::XFlushable";"removeFlushListener()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv
new file mode 100644
index 000000000000..00e280467a84
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv
@@ -0,0 +1,61 @@
+"OInnerGroupInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerGroupInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerGroupInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv
new file mode 100644
index 000000000000..d69050f53f01
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerGroupUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OInnerGroupUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv
new file mode 100644
index 000000000000..20f06c89c881
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv
@@ -0,0 +1,61 @@
+"OInnerSetInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerSetInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerSetInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OInnerSetInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerSetInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerSetInfoAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OInnerSetInfoAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OInnerSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerSetInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerSetInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv
new file mode 100644
index 000000000000..8e8920e5058b
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv
new file mode 100644
index 000000000000..1069e012561c
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OInnerValueSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv
new file mode 100644
index 000000000000..ebed4629e745
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv
@@ -0,0 +1,61 @@
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementGroupInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementGroupInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv
new file mode 100644
index 000000000000..43437a104849
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv
@@ -0,0 +1,72 @@
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch";"commitChanges()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch";"hasPendingChanges()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch";"getPendingChanges()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"ORootElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv
new file mode 100644
index 000000000000..abec31d660d1
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv
@@ -0,0 +1,61 @@
+"ORootElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementSetInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementSetInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv
new file mode 100644
index 000000000000..96becff6eb93
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch";"commitChanges()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch";"hasPendingChanges()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch";"getPendingChanges()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv
new file mode 100644
index 000000000000..522d5425ba23
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch";"commitChanges()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch";"hasPendingChanges()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch";"getPendingChanges()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv
new file mode 100644
index 000000000000..72c277a03e7b
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv
@@ -0,0 +1,61 @@
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementGroupInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementGroupInfoAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv
new file mode 100644
index 000000000000..d3559992364d
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OSetElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv
new file mode 100644
index 000000000000..7b5201c65064
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv
@@ -0,0 +1,61 @@
+"OSetElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementSetInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementSetInfoAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv
new file mode 100644
index 000000000000..4b44539083c3
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv
new file mode 100644
index 000000000000..bd12e03ff8a1
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv
new file mode 100644
index 000000000000..dc776d136150
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv
@@ -0,0 +1,5 @@
+"CopyImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"getTargetBackend()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"setTargetBackend()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayer()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayerForEntity()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv
new file mode 100644
index 000000000000..48ce3db9db31
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv
@@ -0,0 +1,18 @@
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"startUpdate()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"endUpdate()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"modifyNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplaceNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplaceNodeFromTemplate()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"endNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"removeNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"modifyProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"setPropertyValue()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"setPropertyValueForLocale()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"resetPropertyValue()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"resetPropertyValueForLocale()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"endProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"resetProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplaceProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplacePropertyWithValue()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"removeProperty()"
+"LayerUpdateMerger";"com::sun::star::lang::XInitialization";"initialize()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv
new file mode 100644
index 000000000000..60a917c55a69
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv
@@ -0,0 +1 @@
+"LocalDataImporter";"com::sun::star::task::XJob";"execute()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv
new file mode 100644
index 000000000000..1826b1742389
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv
@@ -0,0 +1 @@
+"LocalHierarchyBrowser";"com::sun::star::task::XJob";"execute()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv
new file mode 100644
index 000000000000..b11a8feb5598
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv
@@ -0,0 +1 @@
+"LocalSchemaSupplier";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv
new file mode 100644
index 000000000000..a9741f31d18b
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv
@@ -0,0 +1,11 @@
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"getOwnerEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"getAdminEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"supportsEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"isEqualEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"listLayerIds()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getUpdateLayerId()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getLayer()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getLayers()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getMultipleLayers()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getUpdatableLayer()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv
new file mode 100644
index 000000000000..8addf91d10ad
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv
@@ -0,0 +1,6 @@
+"LocalSingleStratum";"com::sun::star::configuration::backend::XSingleLayerStratum";"getLayer()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XSingleLayerStratum";"getUpdatableLayer()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"getOwnerEntity()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"getAdminEntity()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"supportsEntity()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"isEqualEntity()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv
new file mode 100644
index 000000000000..2f184f7d3f38
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv
@@ -0,0 +1,5 @@
+"MergeImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"getTargetBackend()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"setTargetBackend()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayer()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayerForEntity()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv
new file mode 100644
index 000000000000..966ecb1fea54
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv
@@ -0,0 +1,10 @@
+"MultiStratumBackend";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"getOwnerEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"getAdminEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"supportsEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"isEqualEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"listOwnLayers()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"getOwnUpdateHandler()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"listLayers()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"getUpdateHandler()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv
new file mode 100644
index 000000000000..d070b09d70bd
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv
@@ -0,0 +1,10 @@
+"SingleBackendAdapter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"getOwnerEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"getAdminEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"supportsEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"isEqualEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"listOwnLayers()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"getOwnUpdateHandler()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"listLayers()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"getUpdateHandler()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv
new file mode 100644
index 000000000000..ea2f4831b14d
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv
@@ -0,0 +1,4 @@
+"LayerParser";"com::sun::star::configuration::backend::XLayer";"readData()"
+"LayerParser";"com::sun::star::lang::XInitialization";"initialize()"
+"LayerParser";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"LayerParser";"com::sun::star::io::XActiveDataSink";"getInputStream()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv
new file mode 100644
index 000000000000..a94c65c42bd6
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv
@@ -0,0 +1,16 @@
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"startLayer()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"endLayer()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"overrideNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addOrReplaceNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addOrReplaceNodeFromTemplate()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"endNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"dropNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"overrideProperty()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"setPropertyValue()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"setPropertyValueForLocale()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"endProperty()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addProperty()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addPropertyWithValue()"
+"LayerWriter";"com::sun::star::lang::XInitialization";"initialize()"
+"LayerWriter";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"LayerWriter";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv
new file mode 100644
index 000000000000..17732ab8f3ff
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv
@@ -0,0 +1,6 @@
+"SchemaParser";"com::sun::star::configuration::backend::XSchema";"readSchema()"
+"SchemaParser";"com::sun::star::configuration::backend::XSchema";"readComponent()"
+"SchemaParser";"com::sun::star::configuration::backend::XSchema";"readTemplates()"
+"SchemaParser";"com::sun::star::lang::XInitialization";"initialize()"
+"SchemaParser";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"SchemaParser";"com::sun::star::io::XActiveDataSink";"getInputStream()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv
new file mode 100644
index 000000000000..86477a872b9c
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv
@@ -0,0 +1,2 @@
+"BootstrapContext";"com::sun::star::uno::XComponentContext";"getValueByName()"
+"BootstrapContext";"com::sun::star::uno::XComponentContext";"getServiceManager()"
diff --git a/qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv b/qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv
new file mode 100644
index 000000000000..a6ff03f4d38e
--- /dev/null
+++ b/qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv
@@ -0,0 +1,6 @@
+"SimpleCommandMail";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SimpleCommandMail";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SimpleCommandMail";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SimpleCommandMail";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SimpleCommandMail";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"SimpleCommandMail";"com::sun::star::system::XSimpleMailClientSupplier";"querySimpleMailClient()"
diff --git a/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv
new file mode 100644
index 000000000000..4a56a474016c
--- /dev/null
+++ b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv
@@ -0,0 +1,45 @@
+#*************************************************************************
+#
+# 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.
+#
+#***********************************************************************/
+
+# In addition to the interfaces of css.configuration.ConfigurationProvider also
+# test the additional, optional (but implemented) interfaces of
+# css.configuration.DefaultProvider:
+
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"dispose()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XLocalizable";"getLocale()"
+"ConfigurationProvider";"com::sun::star::lang::XLocalizable";"setLocale()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"ConfigurationProvider";"com::sun::star::util::XFlushable";"addFlushListener()"
+"ConfigurationProvider";"com::sun::star::util::XFlushable";"flush()"
+"ConfigurationProvider";"com::sun::star::util::XFlushable";"removeFlushListener()"
+"ConfigurationProvider";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"ConfigurationProvider";"com::sun::star::util::XRefreshable";"refresh()"
+"ConfigurationProvider";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
diff --git a/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv
new file mode 100644
index 000000000000..fb668750f670
--- /dev/null
+++ b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv
@@ -0,0 +1,33 @@
+#*************************************************************************
+#
+# 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.
+#
+#***********************************************************************/
+
+# Only test non-modifying functionality of css.configuration.DefaultProvider:
+
+"DefaultProvider";"com::sun::star::lang::XLocalizable";"getLocale()"
+"DefaultProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"DefaultProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"DefaultProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv b/qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv
new file mode 100644
index 000000000000..6a9383929fd3
--- /dev/null
+++ b/qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv
@@ -0,0 +1 @@
+"Connector";"com::sun::star::connection::XConnector";"connect()"
diff --git a/qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv b/qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv
new file mode 100644
index 000000000000..6a9383929fd3
--- /dev/null
+++ b/qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv
@@ -0,0 +1 @@
+"Connector";"com::sun::star::connection::XConnector";"connect()"
diff --git a/qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv b/qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv
new file mode 100644
index 000000000000..68b64c9e54f0
--- /dev/null
+++ b/qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv
@@ -0,0 +1,5 @@
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"forName()"
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"getType()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"dispose()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
diff --git a/qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv b/qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv
new file mode 100644
index 000000000000..68b64c9e54f0
--- /dev/null
+++ b/qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv
@@ -0,0 +1,5 @@
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"forName()"
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"getType()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"dispose()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
diff --git a/qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv b/qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv
new file mode 100644
index 000000000000..97115c0ff85d
--- /dev/null
+++ b/qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv
@@ -0,0 +1,5 @@
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv
new file mode 100644
index 000000000000..9b37f3c049ea
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv
@@ -0,0 +1,13 @@
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"Name"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"Command"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"EscapeProcessing"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"UpdateTableName"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"UpdateCatalogName"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"UpdateSchemaName"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv
new file mode 100644
index 000000000000..8e23f8303d85
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv
@@ -0,0 +1,13 @@
+"ODatabaseContext";"com::sun::star::uno::XNamingService";"getRegisteredObject()"
+"ODatabaseContext";"com::sun::star::uno::XNamingService";"registerObject()"
+"ODatabaseContext";"com::sun::star::uno::XNamingService";"revokeObject()"
+"ODatabaseContext";"com::sun::star::container::XNameAccess";"getByName()"
+"ODatabaseContext";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ODatabaseContext";"com::sun::star::container::XNameAccess";"hasByName()"
+"ODatabaseContext";"com::sun::star::container::XElementAccess";"getElementType()"
+"ODatabaseContext";"com::sun::star::container::XElementAccess";"hasElements()"
+"ODatabaseContext";"com::sun::star::container::XContainer";"addContainerListener()"
+"ODatabaseContext";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ODatabaseContext";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"ODatabaseContext";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
+"ODatabaseContext";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv
new file mode 100644
index 000000000000..8dd53a35da24
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv
@@ -0,0 +1,29 @@
+"ODatabaseSource";"com::sun::star::sdb::XCompletedConnection";"connectWithCompletion()"
+"ODatabaseSource";"com::sun::star::util::XFlushable";"flush()"
+"ODatabaseSource";"com::sun::star::util::XFlushable";"addFlushListener()"
+"ODatabaseSource";"com::sun::star::util::XFlushable";"removeFlushListener()"
+"ODatabaseSource";"com::sun::star::sdbc::XIsolatedConnection";"getIsolatedConnectionWithCompletion()"
+"ODatabaseSource";"com::sun::star::sdbc::XIsolatedConnection";"getIsolatedConnection()"
+"ODatabaseSource";"com::sun::star::sdb::XQueryDefinitionsSupplier";"getQueryDefinitions()"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"Name"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"URL"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"Info"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"User"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"Password"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"IsPasswordRequired"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"SuppressVersionColumns"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"IsReadOnly"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"NumberFormatsSupplier"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"TableFilter"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"TableTypeFilter"
+"ODatabaseSource";"com::sun::star::sdbc::XDataSource";"getConnection()"
+"ODatabaseSource";"com::sun::star::sdbc::XDataSource";"setLoginTimeout()"
+"ODatabaseSource";"com::sun::star::sdbc::XDataSource";"getLoginTimeout()"
+"ODatabaseSource";"com::sun::star::sdb::XBookmarksSupplier#optional";"getBookmarks()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv
new file mode 100644
index 000000000000..b7b048e6c75a
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv
@@ -0,0 +1,154 @@
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"getBookmark()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"moveToBookmark()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"moveRelativeToBookmark()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"compareBookmarks()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"hasOrderedBookmarks()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"hashBookmark()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateNull()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateBoolean()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateByte()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateShort()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateInt()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateLong()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateFloat()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateDouble()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateString()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateBytes()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateDate()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateTime()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateTimestamp()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateBinaryStream()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateCharacterStream()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateObject()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateNumericObject()"
+"ORowSet";"com::sun::star::sdbc::XCloseable#optional";"close()"
+"ORowSet";"com::sun::star::sdb::XRowSetApproveBroadcaster";"addRowSetApproveListener()"
+"ORowSet";"com::sun::star::sdb::XRowSetApproveBroadcaster";"removeRowSetApproveListener()"
+"ORowSet";"com::sun::star::lang::XComponent#optional";"dispose()"
+"ORowSet";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"ORowSet";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"ORowSet";"com::sun::star::sdbcx::ResultSet";"IsBookmarkable"
+"ORowSet";"com::sun::star::sdbcx::ResultSet";"CanUpdateInsertedRows#optional"
+"ORowSet";"com::sun::star::sdbc::XResultSetMetaDataSupplier";"getMetaData()"
+"ORowSet";"com::sun::star::sdb::XCompletedExecution";"executeWithCompletion()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"next()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isBeforeFirst()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isAfterLast()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isFirst()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isLast()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"beforeFirst()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"afterLast()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"first()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"last()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"getRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"absolute()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"relative()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"previous()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"refreshRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"rowUpdated()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"rowInserted()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"rowDeleted()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"getStatement()"
+"ORowSet";"com::sun::star::sdbc::XWarningsSupplier#optional";"getWarnings()"
+"ORowSet";"com::sun::star::sdbc::XWarningsSupplier#optional";"clearWarnings()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"insertRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"updateRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"deleteRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"cancelRowUpdates()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToInsertRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToCurrentRow()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setNull()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setObjectNull()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBoolean()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setByte()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setShort()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setInt()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setLong()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setFloat()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setDouble()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setString()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBytes()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setDate()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setTime()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setTimestamp()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBinaryStream()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setCharacterStream()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setObject()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setObjectWithInfo()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setRef()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBlob()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setClob()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setArray()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"clearParameters()"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"CursorName#optional"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"ResultSetConcurrency"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"ResultSetType"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"FetchDirection"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"FetchSize"
+"ORowSet";"com::sun::star::sdb::XResultSetAccess";"createResultSet()"
+"ORowSet";"com::sun::star::sdbc::RowSet";"DataSourceName"
+"ORowSet";"com::sun::star::sdbc::RowSet";"URL"
+"ORowSet";"com::sun::star::sdbc::RowSet";"Command"
+"ORowSet";"com::sun::star::sdbc::RowSet";"TransactionIsolation"
+"ORowSet";"com::sun::star::sdbc::RowSet";"TypeMap"
+"ORowSet";"com::sun::star::sdbc::RowSet";"EscapeProcessing"
+"ORowSet";"com::sun::star::sdbc::RowSet";"QueryTimeOut"
+"ORowSet";"com::sun::star::sdbc::RowSet";"MaxFieldSize"
+"ORowSet";"com::sun::star::sdbc::RowSet";"MaxRows"
+"ORowSet";"com::sun::star::sdbc::RowSet";"User"
+"ORowSet";"com::sun::star::sdbc::RowSet";"Password"
+"ORowSet";"com::sun::star::sdbc::RowSet";"ResultSetType"
+"ORowSet";"com::sun::star::sdbcx::XDeleteRows#optional";"deleteRows()"
+"ORowSet";"com::sun::star::sdb::RowSet";"ActiveConnection"
+"ORowSet";"com::sun::star::sdb::RowSet";"DataSourceName"
+"ORowSet";"com::sun::star::sdb::RowSet";"Command"
+"ORowSet";"com::sun::star::sdb::RowSet";"CommandType"
+"ORowSet";"com::sun::star::sdb::RowSet";"EscapeProcessing#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"ActiveCommand"
+"ORowSet";"com::sun::star::sdb::RowSet";"IgnoreResult"
+"ORowSet";"com::sun::star::sdb::RowSet";"Filter"
+"ORowSet";"com::sun::star::sdb::RowSet";"ApplyFilter"
+"ORowSet";"com::sun::star::sdb::RowSet";"Order"
+"ORowSet";"com::sun::star::sdb::RowSet";"Privileges"
+"ORowSet";"com::sun::star::sdb::RowSet";"IsModified"
+"ORowSet";"com::sun::star::sdb::RowSet";"IsNew"
+"ORowSet";"com::sun::star::sdb::RowSet";"RowCount"
+"ORowSet";"com::sun::star::sdb::RowSet";"IsRowCountFinal"
+"ORowSet";"com::sun::star::sdb::RowSet";"UpdateTableName#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"UpdateCatalogName#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"UpdateSchemaName#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"HavingClause#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"GroupBy#optional"
+"ORowSet";"com::sun::star::sdbc::XRow";"wasNull()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getString()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBoolean()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getByte()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getShort()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getInt()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getLong()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getFloat()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getDouble()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBytes()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getDate()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getTime()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getTimestamp()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBinaryStream()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getCharacterStream()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getObject()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getRef()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBlob()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getClob()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getArray()"
+"ORowSet";"com::sun::star::sdbcx::XColumnsSupplier";"getColumns()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORowSet";"com::sun::star::util::XCancellable#optional";"cancel()"
+"ORowSet";"com::sun::star::sdbc::XRowSet";"execute()"
+"ORowSet";"com::sun::star::sdbc::XRowSet";"addRowSetListener()"
+"ORowSet";"com::sun::star::sdbc::XRowSet";"removeRowSetListener()"
+"ORowSet";"com::sun::star::sdbc::XColumnLocate";"findColumn()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv
new file mode 100644
index 000000000000..92da86de44c6
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv
@@ -0,0 +1 @@
+"OInteractionHandler";"com::sun::star::task::XInteractionHandler";"handle()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv
new file mode 100644
index 000000000000..9e247fd4da52
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv
@@ -0,0 +1,63 @@
+"SbaXGridControl";"com::sun::star::awt::XView";"setGraphics()"
+"SbaXGridControl";"com::sun::star::awt::XView";"getGraphics()"
+"SbaXGridControl";"com::sun::star::awt::XView";"getSize()"
+"SbaXGridControl";"com::sun::star::awt::XView";"draw()"
+"SbaXGridControl";"com::sun::star::awt::XView";"setZoom()"
+"SbaXGridControl";"com::sun::star::container::XIndexAccess";"getCount()"
+"SbaXGridControl";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SbaXGridControl";"com::sun::star::frame::XDispatch";"dispatch()"
+"SbaXGridControl";"com::sun::star::frame::XDispatch";"addStatusListener()"
+"SbaXGridControl";"com::sun::star::frame::XDispatch";"removeStatusListener()"
+"SbaXGridControl";"com::sun::star::form::XGrid";"getCurrentColumnPosition()"
+"SbaXGridControl";"com::sun::star::form::XGrid";"setCurrentColumnPosition()"
+"SbaXGridControl";"com::sun::star::lang::XComponent";"dispose()"
+"SbaXGridControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"SbaXGridControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"setMode()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"getMode()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"getSupportedModes()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"supportsMode()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"setContext()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getContext()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"createPeer()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getPeer()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"setModel()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getModel()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getView()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"isTransparent()"
+"SbaXGridControl";"com::sun::star::container::XElementAccess";"getElementType()"
+"SbaXGridControl";"com::sun::star::container::XElementAccess";"hasElements()"
+"SbaXGridControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setVisible()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setEnable()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setFocus()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"SbaXGridControl";"com::sun::star::frame::XDispatchProviderInterception#optional";"registerDispatchProviderInterceptor()"
+"SbaXGridControl";"com::sun::star::frame::XDispatchProviderInterception#optional";"releaseDispatchProviderInterceptor()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"select()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"getSelection()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"addSelectionChangeListener()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"removeSelectionChangeListener()"
+"SbaXGridControl";"com::sun::star::form::XBoundComponent";"commit()"
+"SbaXGridControl";"com::sun::star::form::XUpdateBroadcaster";"addUpdateListener()"
+"SbaXGridControl";"com::sun::star::form::XUpdateBroadcaster";"removeUpdateListener()"
+"SbaXGridControl";"com::sun::star::form::XGridFieldDataSupplier#optional";"queryFieldDataType()"
+"SbaXGridControl";"com::sun::star::form::XGridFieldDataSupplier#optional";"queryFieldData()"
+"SbaXGridControl";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SbaXGridControl";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"SbaXGridControl";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv
new file mode 100755
index 000000000000..62dd6622c00d
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv
@@ -0,0 +1,24 @@
+"OSingleSelectQueryComposer";"com::sun::star::sdbcx::XTablesSupplier";"getTables()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setStructuredFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendFilterByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendGroupByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setGroup()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setStructuredHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendHavingClauseByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendOrderByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setOrder()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XParametersSupplier#optional";"getParameters()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::SingleSelectQueryComposer";"Original"
+"OSingleSelectQueryComposer";"com::sun::star::sdbcx::XColumnsSupplier";"getColumns()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getQuery()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"setQuery()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getStructuredFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getGroup()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getGroupColumns()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getStructuredHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getOrder()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getOrderColumns()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv
new file mode 100644
index 000000000000..3b753aad85d2
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv
@@ -0,0 +1,13 @@
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv
new file mode 100644
index 000000000000..78d484dabb87
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv
@@ -0,0 +1,5 @@
+"DBContentLoader";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"DBContentLoader";"com::sun::star::container::XNamed#optional";"getName()"
+"DBContentLoader";"com::sun::star::container::XNamed#optional";"setName()"
+"DBContentLoader";"com::sun::star::frame::XFrameLoader";"load()"
+"DBContentLoader";"com::sun::star::frame::XFrameLoader";"cancel()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv
new file mode 100644
index 000000000000..6768ae747aa1
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv
@@ -0,0 +1,13 @@
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv
new file mode 100644
index 000000000000..f1ac70301c25
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv
@@ -0,0 +1,12 @@
+"ODatasourceAdministrationDialog";"com::sun::star::sdb::DatasourceAdministrationDialog";"Title"
+"ODatasourceAdministrationDialog";"com::sun::star::sdb::DatasourceAdministrationDialog";"ParentWindow"
+"ODatasourceAdministrationDialog";"com::sun::star::lang::XInitialization";"initialize()"
+"ODatasourceAdministrationDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"ODatasourceAdministrationDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv
new file mode 100644
index 000000000000..929ed88558cc
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv
@@ -0,0 +1,40 @@
+"ODatasourceBrowser";"com::sun::star::sdb::XSQLErrorBroadcaster#optional";"addSQLErrorListener()"
+"ODatasourceBrowser";"com::sun::star::sdb::XSQLErrorBroadcaster#optional";"removeSQLErrorListener()"
+"ODatasourceBrowser";"com::sun::star::form::XDatabaseParameterBroadcaster#optional";"addParameterListener()"
+"ODatasourceBrowser";"com::sun::star::form::XDatabaseParameterBroadcaster#optional";"removeParameterListener()"
+"ODatasourceBrowser";"com::sun::star::sdb::XRowSetApproveBroadcaster#optional";"addRowSetApproveListener()"
+"ODatasourceBrowser";"com::sun::star::sdb::XRowSetApproveBroadcaster#optional";"removeRowSetApproveListener()"
+"ODatasourceBrowser";"com::sun::star::lang::XComponent";"dispose()"
+"ODatasourceBrowser";"com::sun::star::lang::XComponent";"addEventListener()"
+"ODatasourceBrowser";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ODatasourceBrowser";"com::sun::star::lang::XInitialization";"initialize()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"setModel()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"getModel()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"setContainer()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"getContainer()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"getControls()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"autoTabOrder()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"activateTabOrder()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"activateFirst()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"activateLast()"
+"ODatasourceBrowser";"com::sun::star::container::XElementAccess#optional";"getElementType()"
+"ODatasourceBrowser";"com::sun::star::container::XElementAccess#optional";"hasElements()"
+"ODatasourceBrowser";"com::sun::star::form::XFormController#optional";"getCurrentControl()"
+"ODatasourceBrowser";"com::sun::star::form::XFormController#optional";"addActivateListener()"
+"ODatasourceBrowser";"com::sun::star::form::XFormController#optional";"removeActivateListener()"
+"ODatasourceBrowser";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"ODatasourceBrowser";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"ODatasourceBrowser";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"attachFrame()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"attachModel()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"suspend()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"getViewData()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"restoreViewData()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"getModel()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"getFrame()"
+"ODatasourceBrowser";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ODatasourceBrowser";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ODatasourceBrowser";"com::sun::star::form::XConfirmDeleteBroadcaster#optional";"addConfirmDeleteListener()"
+"ODatasourceBrowser";"com::sun::star::form::XConfirmDeleteBroadcaster#optional";"removeConfirmDeleteListener()"
+"ODatasourceBrowser";"com::sun::star::container::XChild#optional";"getParent()"
+"ODatasourceBrowser";"com::sun::star::container::XChild#optional";"setParent()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv
new file mode 100644
index 000000000000..3a8827c71fd6
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv
@@ -0,0 +1,11 @@
+"OQueryDesign";"com::sun::star::lang::XComponent";"dispose()"
+"OQueryDesign";"com::sun::star::lang::XComponent";"addEventListener()"
+"OQueryDesign";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OQueryDesign";"com::sun::star::lang::XInitialization";"initialize()"
+"OQueryDesign";"com::sun::star::frame::XController";"attachFrame()"
+"OQueryDesign";"com::sun::star::frame::XController";"attachModel()"
+"OQueryDesign";"com::sun::star::frame::XController";"suspend()"
+"OQueryDesign";"com::sun::star::frame::XController";"getViewData()"
+"OQueryDesign";"com::sun::star::frame::XController";"restoreViewData()"
+"OQueryDesign";"com::sun::star::frame::XController";"getModel()"
+"OQueryDesign";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv
new file mode 100644
index 000000000000..0cb845854e86
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv
@@ -0,0 +1,13 @@
+"OSQLMessageDialog";"com::sun::star::sdb::ErrorMessageDialog";"Title"
+"OSQLMessageDialog";"com::sun::star::sdb::ErrorMessageDialog";"ParentWindow"
+"OSQLMessageDialog";"com::sun::star::sdb::ErrorMessageDialog";"SQLException"
+"OSQLMessageDialog";"com::sun::star::lang::XInitialization";"initialize()"
+"OSQLMessageDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"OSQLMessageDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv
new file mode 100644
index 000000000000..9cf267ba35dc
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv
@@ -0,0 +1,13 @@
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv b/qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv
new file mode 100644
index 000000000000..73398ad20550
--- /dev/null
+++ b/qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv
@@ -0,0 +1,4 @@
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"getConnection()"
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"getConnectionWithInfo()"
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"setLoginTimeout()"
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"getLoginTimeout()"
diff --git a/qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv b/qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv
new file mode 100644
index 000000000000..cf4cd3cef419
--- /dev/null
+++ b/qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv
@@ -0,0 +1,9 @@
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
+"NestedRegistry";"com::sun::star::lang::XInitialization";"initialize()"
diff --git a/qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv b/qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv
new file mode 100644
index 000000000000..c7dd8ea7b857
--- /dev/null
+++ b/qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv
@@ -0,0 +1,18 @@
+"OleDragAndDrop";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"OleDragAndDrop";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"OleDragAndDrop";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"OleDragAndDrop";"com::sun::star::lang::XComponent";"dispose()"
+"OleDragAndDrop";"com::sun::star::lang::XComponent";"addEventListener()"
+"OleDragAndDrop";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OleDragAndDrop";"com::sun::star::lang::XInitialization";"initialize()"
+"OleDragAndDrop";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"OleDragAndDrop";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"addDropTargetListener()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"removeDropTargetListener()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"isActive()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"setActive()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"getDefaultActions()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"setDefaultActions()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDragSource";"isDragImageSupported()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDragSource";"getDefaultCursor()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDragSource";"startDrag()"
diff --git a/qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv b/qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv
new file mode 100644
index 000000000000..1a9fe58f784b
--- /dev/null
+++ b/qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv
@@ -0,0 +1,19 @@
+"generic";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"generic";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"generic";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"generic";"com::sun::star::lang::XComponent";"dispose()"
+"generic";"com::sun::star::lang::XComponent";"addEventListener()"
+"generic";"com::sun::star::lang::XComponent";"removeEventListener()"
+"generic";"com::sun::star::lang::XInitialization";"initialize()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardEx";"getRenderingCapabilities()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"getClipboard()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"addClipboard()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"removeClipboard()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"listClipboardNames()"
+"generic";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"generic";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboard";"getContents()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboard";"setContents()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboard";"getName()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"addClipboardListener()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"removeClipboardListener()"
diff --git a/qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv b/qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv
new file mode 100644
index 000000000000..efec92bff0f7
--- /dev/null
+++ b/qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv
@@ -0,0 +1,25 @@
+"X11";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"X11";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"X11";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"X11";"com::sun::star::lang::XComponent";"dispose()"
+"X11";"com::sun::star::lang::XComponent";"addEventListener()"
+"X11";"com::sun::star::lang::XComponent";"removeEventListener()"
+"X11";"com::sun::star::datatransfer::clipboard::XFlushableClipboard#optional";"flushClipboard()"
+"X11";"com::sun::star::lang::XInitialization";"initialize()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboardEx";"getRenderingCapabilities()"
+"X11";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"X11";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboard";"getContents()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboard";"setContents()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboard";"getName()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"addDropTargetListener()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"removeDropTargetListener()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"isActive()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"setActive()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"getDefaultActions()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"setDefaultActions()"
+"X11";"com::sun::star::datatransfer::dnd::XDragSource";"isDragImageSupported()"
+"X11";"com::sun::star::datatransfer::dnd::XDragSource";"getDefaultCursor()"
+"X11";"com::sun::star::datatransfer::dnd::XDragSource";"startDrag()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"addClipboardListener()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"removeClipboardListener()"
diff --git a/qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv b/qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv
new file mode 100644
index 000000000000..1841e36171c2
--- /dev/null
+++ b/qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv
@@ -0,0 +1,5 @@
+"Dynamic";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Dynamic";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Dynamic";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Dynamic";"com::sun::star::loader::XImplementationLoader";"activate()"
+"Dynamic";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv
new file mode 100644
index 000000000000..68dccb750f2e
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv
@@ -0,0 +1,9 @@
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"ODriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"ODriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv
new file mode 100644
index 000000000000..c83489ba56f6
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv
@@ -0,0 +1,9 @@
+"OEvoabDriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"OEvoabDriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"OEvoabDriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"OEvoabDriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv
new file mode 100644
index 000000000000..68dccb750f2e
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv
@@ -0,0 +1,9 @@
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"ODriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"ODriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv
new file mode 100644
index 000000000000..68dccb750f2e
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv
@@ -0,0 +1,9 @@
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"ODriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"ODriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv
new file mode 100644
index 000000000000..4dd7824f98c1
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv
@@ -0,0 +1,9 @@
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"Driver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"Driver";"com::sun::star::sdbc::XDriver";"connect()"
+"Driver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"Driver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"Driver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv b/qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv
new file mode 100644
index 000000000000..b36486235ec1
--- /dev/null
+++ b/qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv
@@ -0,0 +1,17 @@
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"copy()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"move()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"kill()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"isFolder()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"isReadOnly()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"setReadOnly()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"createFolder()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getSize()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getContentType()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getDateTimeModified()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getFolderContents()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"exists()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"openFileRead()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"openFileWrite()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"openFileReadWrite()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"setInteractionHandler()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess2";"writeFile()"
diff --git a/qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv b/qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv
new file mode 100644
index 000000000000..633748bf8210
--- /dev/null
+++ b/qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv
@@ -0,0 +1,12 @@
+"FolderPicker";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"FolderPicker";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"FolderPicker";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"FolderPicker";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"FolderPicker";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"setDisplayDirectory()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"getDisplayDirectory()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"getDirectory()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"setDescription()"
+"FolderPicker";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"FolderPicker";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
+"FolderPicker";"com::sun::star::util::XCancellable#optional";"cancel()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv
new file mode 100644
index 000000000000..7448df8d869c
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv
@@ -0,0 +1,36 @@
+"ONavigationBarControl";"com::sun::star::awt::XView";"setGraphics()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"getGraphics()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"getSize()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"draw()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"setZoom()"
+"ONavigationBarControl";"com::sun::star::lang::XComponent";"dispose()"
+"ONavigationBarControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONavigationBarControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"setContext()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getContext()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"createPeer()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getPeer()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"setModel()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getModel()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getView()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ONavigationBarControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv
new file mode 100644
index 000000000000..0ebb6c86b094
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv
@@ -0,0 +1,60 @@
+"ONavigationBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ONavigationBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ONavigationBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"ONavigationBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONavigationBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONavigationBarModel";"com::sun::star::form::FormComponent";"Name"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ONavigationBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ONavigationBarModel";"com::sun::star::io::XPersistObject";"write()"
+"ONavigationBarModel";"com::sun::star::io::XPersistObject";"read()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ONavigationBarModel";"com::sun::star::container::XNamed";"getName()"
+"ONavigationBarModel";"com::sun::star::container::XNamed";"setName()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ONavigationBarModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"Border"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"Enabled"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"FontDescriptor"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"TextColor"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"TextLineColor"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"FontRelief"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"FontEmphasisMark"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"IconSize"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowPosition"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowNavigation"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowRecordActions"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowFilterSort"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"RepeatDelay"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ONavigationBarModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ONavigationBarModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ONavigationBarModel";"com::sun::star::form::FormControlModel";"Tag"
+"ONavigationBarModel";"com::sun::star::container::XChild";"getParent()"
+"ONavigationBarModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv
new file mode 100644
index 000000000000..c17a3322d7f1
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv
@@ -0,0 +1,49 @@
+"OButtonControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OButtonControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OButtonControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"OButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"OButtonControl";"com::sun::star::awt::XView";"getSize()"
+"OButtonControl";"com::sun::star::awt::XView";"draw()"
+"OButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"OButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"OButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"submit()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"submitWithInteraction()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"addSubmissionVetoListener()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"removeSubmissionVetoListener()"
+"OButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"OButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"OButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"OButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"OButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"OButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"OButtonControl";"com::sun::star::awt::XControl";"getView()"
+"OButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"addApproveActionListener()"
+"OButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"removeApproveActionListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OButtonControl";"com::sun::star::awt::XButton";"addActionListener()"
+"OButtonControl";"com::sun::star::awt::XButton";"removeActionListener()"
+"OButtonControl";"com::sun::star::awt::XButton";"setLabel()"
+"OButtonControl";"com::sun::star::awt::XButton";"setActionCommand()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv
new file mode 100644
index 000000000000..d5c4d48a5ce4
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv
@@ -0,0 +1,78 @@
+"OButtonModel";"com::sun::star::form::submission::XSubmissionSupplier";"Submission()"
+"OButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"OButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OButtonModel";"com::sun::star::form::FormComponent";"Name"
+"OButtonModel";"com::sun::star::form::component::CommandButton";"ButtonType"
+"OButtonModel";"com::sun::star::form::component::CommandButton";"TargetFrame"
+"OButtonModel";"com::sun::star::form::component::CommandButton";"TargetURL"
+"OButtonModel";"com::sun::star::form::XImageProducerSupplier";"getImageProducer()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Align#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"BackgroundColor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"DefaultButton"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Enabled"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FocusOnClick#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontDescriptor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontEmphasisMark"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontRelief"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpText"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpURL"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageAlign"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImagePosition#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageURL"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Graphic#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Label"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"MultiLine#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Printable"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"PushButtonType"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Repeat#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"RepeatDelay#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"State"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Tabstop"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextColor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextLineColor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Toggle#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"VerticalAlign#optional"
+"OButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"OButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"OButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OButtonModel";"com::sun::star::container::XNamed";"getName()"
+"OButtonModel";"com::sun::star::container::XNamed";"setName()"
+"OButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"OButtonModel";"com::sun::star::container::XChild";"getParent()"
+"OButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv
new file mode 100644
index 000000000000..38f42aabccc2
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv
@@ -0,0 +1,47 @@
+"OCheckBoxControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OCheckBoxControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OCheckBoxControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"draw()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OCheckBoxControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OCheckBoxControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"addItemListener()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"removeItemListener()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"getState()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"setState()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"setLabel()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"enableTriState()"
+"OCheckBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OCheckBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCheckBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OCheckBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv
new file mode 100644
index 000000000000..2e6f70a17f09
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv
@@ -0,0 +1,95 @@
+"OCheckBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OCheckBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OCheckBoxModel";"com::sun::star::form::binding::BindableDatabaseCheckBox";"SecondaryRefValue"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OCheckBoxModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OCheckBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OCheckBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCheckBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCheckBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OCheckBoxModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OCheckBoxModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OCheckBoxModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OCheckBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OCheckBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OCheckBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OCheckBoxModel";"com::sun::star::form::component::CheckBox";"DefaultState"
+"OCheckBoxModel";"com::sun::star::form::component::CheckBox";"RefValue"
+"OCheckBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OCheckBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OCheckBoxModel";"com::sun::star::form::XReset";"reset()"
+"OCheckBoxModel";"com::sun::star::form::XReset";"addResetListener()"
+"OCheckBoxModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OCheckBoxModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OCheckBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OCheckBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OCheckBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OCheckBoxModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OCheckBoxModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OCheckBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OCheckBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OCheckBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Align#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"BackgroundColor#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Enabled"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontDescriptor"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontEmphasisMark"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontRelief"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpText"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpURL"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImagePosition#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImageURL#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Graphic#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Label"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"MultiLine#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Printable"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"State"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Tabstop"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextColor"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextLineColor"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TriState"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VerticalAlign#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VisualEffect#optional"
+"OCheckBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OCheckBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv
new file mode 100644
index 000000000000..ac92e640d068
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv
@@ -0,0 +1,67 @@
+"OComboBoxControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OComboBoxControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OComboBoxControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OComboBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OComboBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OComboBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OComboBoxControl";"com::sun::star::awt::XView";"draw()"
+"OComboBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OComboBoxControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OComboBoxControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OComboBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OComboBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OComboBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OComboBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OComboBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OComboBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addItemListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"removeItemListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addActionListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"removeActionListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addItem()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addItems()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"removeItems()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getItemCount()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getItem()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getItems()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getDropDownLineCount()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"setDropDownLineCount()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv
new file mode 100644
index 000000000000..0e60dbc7d644
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv
@@ -0,0 +1,97 @@
+"OComboBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OComboBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OComboBoxModel";"com::sun::star::form::component::DatabaseComboBox";"ConvertEmptyToNull"
+"OComboBoxModel";"com::sun::star::form::component::DatabaseComboBox";"ListSource"
+"OComboBoxModel";"com::sun::star::form::component::DatabaseComboBox";"ListSourceType"
+"OComboBoxModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OComboBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OComboBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OComboBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OComboBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Align#optional"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Autocomplete"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BackgroundColor"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Border"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BorderColor#optional"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Dropdown"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Enabled"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontDescriptor"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontEmphasisMark"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontRelief"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpText"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpURL"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HideInactiveSelection#optional"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"LineCount"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"MaxTextLen"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Printable"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"ReadOnly"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"StringItemList"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Tabstop"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Text"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextColor"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextLineColor"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OComboBoxModel";"com::sun::star::form::component::ComboBox";"DefaultText"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OComboBoxModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OComboBoxModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OComboBoxModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OComboBoxModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OComboBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OComboBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OComboBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OComboBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OComboBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OComboBoxModel";"com::sun::star::form::XReset";"reset()"
+"OComboBoxModel";"com::sun::star::form::XReset";"addResetListener()"
+"OComboBoxModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OComboBoxModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OComboBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OComboBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OComboBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OComboBoxModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OComboBoxModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OComboBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OComboBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OComboBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OComboBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OComboBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv
new file mode 100644
index 000000000000..49ef87c2fde6
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv
@@ -0,0 +1,78 @@
+"OCurrencyControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OCurrencyControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OCurrencyControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OCurrencyControl";"com::sun::star::awt::XView";"setGraphics()"
+"OCurrencyControl";"com::sun::star::awt::XView";"getGraphics()"
+"OCurrencyControl";"com::sun::star::awt::XView";"getSize()"
+"OCurrencyControl";"com::sun::star::awt::XView";"draw()"
+"OCurrencyControl";"com::sun::star::awt::XView";"setZoom()"
+"OCurrencyControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OCurrencyControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OCurrencyControl";"com::sun::star::lang::XComponent";"dispose()"
+"OCurrencyControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCurrencyControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setValue()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getValue()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setMin()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getMin()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setMax()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getMax()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setFirst()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getFirst()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setLast()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getLast()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setSpinSize()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getSpinSize()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setDecimalDigits()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getDecimalDigits()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setStrictFormat()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"isStrictFormat()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"setContext()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getContext()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"createPeer()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getPeer()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"setModel()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getModel()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getView()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OCurrencyControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OCurrencyControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OCurrencyControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv
new file mode 100644
index 000000000000..fd6344d29107
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv
@@ -0,0 +1,97 @@
+"OCurrencyModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OCurrencyModel";"com::sun::star::util::XCloneable";"createClone()"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BackgroundColor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Border"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BorderColor#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"CurrencySymbol"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"DecimalAccuracy"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Enabled"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontDescriptor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontEmphasisMark"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontRelief"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpText"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpURL"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HideInactiveSelection#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"PrependCurrencySymbol"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Printable"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ReadOnly"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Repeat#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"RepeatDelay#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ShowThousandsSeparator"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Spin"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"StrictFormat"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Tabstop"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextColor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextLineColor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Value"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMax"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMin"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueStep"
+"OCurrencyModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OCurrencyModel";"com::sun::star::lang::XComponent";"dispose()"
+"OCurrencyModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCurrencyModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCurrencyModel";"com::sun::star::form::FormComponent";"Name"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OCurrencyModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OCurrencyModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OCurrencyModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OCurrencyModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OCurrencyModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OCurrencyModel";"com::sun::star::io::XPersistObject";"write()"
+"OCurrencyModel";"com::sun::star::io::XPersistObject";"read()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OCurrencyModel";"com::sun::star::container::XNamed";"getName()"
+"OCurrencyModel";"com::sun::star::container::XNamed";"setName()"
+"OCurrencyModel";"com::sun::star::form::XReset";"reset()"
+"OCurrencyModel";"com::sun::star::form::XReset";"addResetListener()"
+"OCurrencyModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OCurrencyModel";"com::sun::star::form::component::CurrencyField";"DefaultValue"
+"OCurrencyModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OCurrencyModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OCurrencyModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OCurrencyModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OCurrencyModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OCurrencyModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OCurrencyModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OCurrencyModel";"com::sun::star::form::FormControlModel";"Tag"
+"OCurrencyModel";"com::sun::star::container::XChild";"getParent()"
+"OCurrencyModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv
new file mode 100644
index 000000000000..839d06c45516
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv
@@ -0,0 +1,225 @@
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroupControl()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"setGroupControl()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"setControlModels()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getControlModels()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"setGroup()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroupCount()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroup()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroupByName()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"getBookmark()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"moveToBookmark()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"moveRelativeToBookmark()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"compareBookmarks()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"hasOrderedBookmarks()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"hashBookmark()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateBoolean()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateByte()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateShort()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateInt()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateLong()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateFloat()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateDouble()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateString()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateBytes()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateDate()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateTime()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateTimestamp()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateBinaryStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateCharacterStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateObject()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateNumericObject()"
+"ODatabaseForm";"com::sun::star::container::XNameAccess";"getByName()"
+"ODatabaseForm";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ODatabaseForm";"com::sun::star::container::XNameAccess";"hasByName()"
+"ODatabaseForm";"com::sun::star::sdbc::XCloseable#optional";"close()"
+"ODatabaseForm";"com::sun::star::form::XDatabaseParameterBroadcaster";"addParameterListener()"
+"ODatabaseForm";"com::sun::star::form::XDatabaseParameterBroadcaster";"removeParameterListener()"
+"ODatabaseForm";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ODatabaseForm";"com::sun::star::sdb::XRowSetApproveBroadcaster";"addRowSetApproveListener()"
+"ODatabaseForm";"com::sun::star::sdb::XRowSetApproveBroadcaster";"removeRowSetApproveListener()"
+"ODatabaseForm";"com::sun::star::container::XNameContainer";"insertByName()"
+"ODatabaseForm";"com::sun::star::container::XNameContainer";"removeByName()"
+"ODatabaseForm";"com::sun::star::container::XIndexAccess";"getCount()"
+"ODatabaseForm";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ODatabaseForm";"com::sun::star::lang::XComponent#optional";"dispose()"
+"ODatabaseForm";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"ODatabaseForm";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"ODatabaseForm";"com::sun::star::form::FormComponent";"Name"
+"ODatabaseForm";"com::sun::star::sdbcx::ResultSet";"IsBookmarkable"
+"ODatabaseForm";"com::sun::star::sdbcx::ResultSet";"CanUpdateInsertedRows#optional"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetMetaDataSupplier";"getMetaData()"
+"ODatabaseForm";"com::sun::star::sdb::XCompletedExecution";"executeWithCompletion()"
+"ODatabaseForm";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"ODatabaseForm";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"MasterFields"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"DetailFields"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"Cycle"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"NavigationBarMode"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"AllowInserts"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"AllowUpdates"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"AllowDeletes"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"next()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isBeforeFirst()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isAfterLast()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isFirst()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isLast()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"beforeFirst()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"afterLast()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"first()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"last()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"getRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"absolute()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"relative()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"previous()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"refreshRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"rowUpdated()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"rowInserted()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"rowDeleted()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"getStatement()"
+"ODatabaseForm";"com::sun::star::sdbc::XWarningsSupplier#optional";"getWarnings()"
+"ODatabaseForm";"com::sun::star::sdbc::XWarningsSupplier#optional";"clearWarnings()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"insertRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"updateRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"deleteRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"cancelRowUpdates()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToInsertRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToCurrentRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setObjectNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBoolean()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setByte()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setShort()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setInt()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setLong()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setFloat()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setDouble()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setString()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBytes()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setDate()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setTime()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setTimestamp()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBinaryStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setCharacterStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setObject()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setObjectWithInfo()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setRef()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBlob()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setClob()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setArray()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"clearParameters()"
+"ODatabaseForm";"com::sun::star::container::XElementAccess";"getElementType()"
+"ODatabaseForm";"com::sun::star::container::XElementAccess";"hasElements()"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"CursorName#optional"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"ResultSetConcurrency"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"ResultSetType"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"FetchDirection"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"FetchSize"
+"ODatabaseForm";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"ODatabaseForm";"com::sun::star::sdb::XResultSetAccess";"createResultSet()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"load()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"unload()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"reload()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"isLoaded()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"addLoadListener()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"removeLoadListener()"
+"ODatabaseForm";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ODatabaseForm";"com::sun::star::io::XPersistObject";"write()"
+"ODatabaseForm";"com::sun::star::io::XPersistObject";"read()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"DataSourceName"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"URL"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"Command"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"TransactionIsolation"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"TypeMap"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"EscapeProcessing"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"QueryTimeOut"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"MaxFieldSize"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"MaxRows"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"User"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"Password"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"ResultSetType"
+"ODatabaseForm";"com::sun::star::sdbcx::XDeleteRows#optional";"deleteRows()"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"ActiveConnection"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"DataSourceName"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Command"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"CommandType"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"ActiveCommand"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IgnoreResult"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Filter"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"ApplyFilter"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"HavingClause#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"GroupBy#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Order"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Privileges"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IsModified"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IsNew"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"RowCount"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IsRowCountFinal"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"UpdateTableName#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"UpdateCatalogName#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"UpdateSchemaName#optional"
+"ODatabaseForm";"com::sun::star::container::XContainer";"addContainerListener()"
+"ODatabaseForm";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"wasNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getString()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBoolean()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getByte()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getShort()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getInt()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getLong()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getFloat()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getDouble()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBytes()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getDate()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getTime()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getTimestamp()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBinaryStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getCharacterStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getObject()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getRef()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBlob()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getClob()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getArray()"
+"ODatabaseForm";"com::sun::star::container::XNamed";"getName()"
+"ODatabaseForm";"com::sun::star::container::XNamed";"setName()"
+"ODatabaseForm";"com::sun::star::form::XReset";"reset()"
+"ODatabaseForm";"com::sun::star::form::XReset";"addResetListener()"
+"ODatabaseForm";"com::sun::star::form::XReset";"removeResetListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ODatabaseForm";"com::sun::star::sdbcx::XColumnsSupplier";"getColumns()"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"TargetFrame"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"TargetURL"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"SubmitMethod"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"SubmitEncoding"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"registerScriptEvent()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"registerScriptEvents()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvent()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvents()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"insertEntry()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"removeEntry()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"getScriptEvents()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"attach()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"detach()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"addScriptListener()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"removeScriptListener()"
+"ODatabaseForm";"com::sun::star::util::XCancellable#optional";"cancel()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowSet";"execute()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowSet";"addRowSetListener()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowSet";"removeRowSetListener()"
+"ODatabaseForm";"com::sun::star::sdbc::XColumnLocate";"findColumn()"
+"ODatabaseForm";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"ODatabaseForm";"com::sun::star::form::XSubmit";"submit()"
+"ODatabaseForm";"com::sun::star::form::XSubmit";"addSubmitListener()"
+"ODatabaseForm";"com::sun::star::form::XSubmit";"removeSubmitListener()"
+"ODatabaseForm";"com::sun::star::container::XChild";"getParent()"
+"ODatabaseForm";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv
new file mode 100644
index 000000000000..b8fffe248055
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv
@@ -0,0 +1,78 @@
+"ODateControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"ODateControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"ODateControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"ODateControl";"com::sun::star::awt::XView";"setGraphics()"
+"ODateControl";"com::sun::star::awt::XView";"getGraphics()"
+"ODateControl";"com::sun::star::awt::XView";"getSize()"
+"ODateControl";"com::sun::star::awt::XView";"draw()"
+"ODateControl";"com::sun::star::awt::XView";"setZoom()"
+"ODateControl";"com::sun::star::form::XBoundControl";"getLock()"
+"ODateControl";"com::sun::star::form::XBoundControl";"setLock()"
+"ODateControl";"com::sun::star::lang::XComponent";"dispose()"
+"ODateControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ODateControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ODateControl";"com::sun::star::awt::XDateField";"setDate()"
+"ODateControl";"com::sun::star::awt::XDateField";"getDate()"
+"ODateControl";"com::sun::star::awt::XDateField";"setMin()"
+"ODateControl";"com::sun::star::awt::XDateField";"getMin()"
+"ODateControl";"com::sun::star::awt::XDateField";"setMax()"
+"ODateControl";"com::sun::star::awt::XDateField";"getMax()"
+"ODateControl";"com::sun::star::awt::XDateField";"setFirst()"
+"ODateControl";"com::sun::star::awt::XDateField";"getFirst()"
+"ODateControl";"com::sun::star::awt::XDateField";"setLast()"
+"ODateControl";"com::sun::star::awt::XDateField";"getLast()"
+"ODateControl";"com::sun::star::awt::XDateField";"setLongFormat()"
+"ODateControl";"com::sun::star::awt::XDateField";"isLongFormat()"
+"ODateControl";"com::sun::star::awt::XDateField";"setEmpty()"
+"ODateControl";"com::sun::star::awt::XDateField";"isEmpty()"
+"ODateControl";"com::sun::star::awt::XDateField";"setStrictFormat()"
+"ODateControl";"com::sun::star::awt::XDateField";"isStrictFormat()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"ODateControl";"com::sun::star::awt::XControl";"setContext()"
+"ODateControl";"com::sun::star::awt::XControl";"getContext()"
+"ODateControl";"com::sun::star::awt::XControl";"createPeer()"
+"ODateControl";"com::sun::star::awt::XControl";"getPeer()"
+"ODateControl";"com::sun::star::awt::XControl";"setModel()"
+"ODateControl";"com::sun::star::awt::XControl";"getModel()"
+"ODateControl";"com::sun::star::awt::XControl";"getView()"
+"ODateControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ODateControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ODateControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"ODateControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ODateControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ODateControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ODateControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ODateControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ODateControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ODateControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"ODateControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"ODateControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv
new file mode 100644
index 000000000000..1debf61160e0
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv
@@ -0,0 +1,98 @@
+"ODateModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ODateModel";"com::sun::star::util::XCloneable";"createClone()"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"BackgroundColor"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Border"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"BorderColor#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Date"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateFormat"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMax"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMin"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateShowCentury"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Dropdown"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Enabled"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontDescriptor"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontEmphasisMark"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontRelief"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpText"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpURL"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"HideInactiveSelection#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Printable"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"ReadOnly"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Repeat#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"RepeatDelay#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Spin"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"StrictFormat"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Tabstop"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Text#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextColor"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextLineColor"
+"ODateModel";"com::sun::star::lang::XEventListener";"disposing()"
+"ODateModel";"com::sun::star::lang::XComponent";"dispose()"
+"ODateModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ODateModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ODateModel";"com::sun::star::form::FormComponent";"Name"
+"ODateModel";"com::sun::star::form::XLoadListener";"loaded()"
+"ODateModel";"com::sun::star::form::XLoadListener";"unloading()"
+"ODateModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"ODateModel";"com::sun::star::form::XLoadListener";"reloading()"
+"ODateModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ODateModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"ODateModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"ODateModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"ODateModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"ODateModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ODateModel";"com::sun::star::io::XPersistObject";"write()"
+"ODateModel";"com::sun::star::io::XPersistObject";"read()"
+"ODateModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ODateModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ODateModel";"com::sun::star::container::XNamed";"getName()"
+"ODateModel";"com::sun::star::container::XNamed";"setName()"
+"ODateModel";"com::sun::star::form::XReset";"reset()"
+"ODateModel";"com::sun::star::form::XReset";"addResetListener()"
+"ODateModel";"com::sun::star::form::XReset";"removeResetListener()"
+"ODateModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ODateModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ODateModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"ODateModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"ODateModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"ODateModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ODateModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ODateModel";"com::sun::star::form::component::DateField";"DefaultDate"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ODateModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"ODateModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"ODateModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"ODateModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"ODateModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ODateModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ODateModel";"com::sun::star::form::FormControlModel";"Tag"
+"ODateModel";"com::sun::star::container::XChild";"getParent()"
+"ODateModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv
new file mode 100644
index 000000000000..963308d51cca
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv
@@ -0,0 +1,57 @@
+"OEditControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OEditControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OEditControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OEditControl";"com::sun::star::awt::XView";"setGraphics()"
+"OEditControl";"com::sun::star::awt::XView";"getGraphics()"
+"OEditControl";"com::sun::star::awt::XView";"getSize()"
+"OEditControl";"com::sun::star::awt::XView";"draw()"
+"OEditControl";"com::sun::star::awt::XView";"setZoom()"
+"OEditControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OEditControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OEditControl";"com::sun::star::lang::XComponent";"dispose()"
+"OEditControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OEditControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OEditControl";"com::sun::star::form::XChangeBroadcaster";"addChangeListener()"
+"OEditControl";"com::sun::star::form::XChangeBroadcaster";"removeChangeListener()"
+"OEditControl";"com::sun::star::awt::XControl";"setContext()"
+"OEditControl";"com::sun::star::awt::XControl";"getContext()"
+"OEditControl";"com::sun::star::awt::XControl";"createPeer()"
+"OEditControl";"com::sun::star::awt::XControl";"getPeer()"
+"OEditControl";"com::sun::star::awt::XControl";"setModel()"
+"OEditControl";"com::sun::star::awt::XControl";"getModel()"
+"OEditControl";"com::sun::star::awt::XControl";"getView()"
+"OEditControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OEditControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OEditControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OEditControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OEditControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OEditControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OEditControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OEditControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OEditControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OEditControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OEditControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OEditControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv
new file mode 100644
index 000000000000..bb40d2140eed
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv
@@ -0,0 +1,235 @@
+"OEditModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OEditModel";"com::sun::star::util::XCloneable";"createClone()"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"OEditModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OEditModel";"com::sun::star::lang::XComponent";"dispose()"
+"OEditModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OEditModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaAdjust"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLineSpacing#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackColor#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackTransparent#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicURL#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicFilter#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicLocation#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLastLineAdjust"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaExpandSingleWord#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLeftMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaRightMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaTopMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBottomMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberCount#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberStartValue#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"PageDescName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"PageNumberOffset#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaRegisterModeActive#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaTabStops#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaStyleName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"DropCapFormat#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"DropCapWholeWord#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaKeepTogether#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaSplit#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingLevel#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingRules#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingStartValue#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsNumberingRestart#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingStyleName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaOrphans#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaWidows#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaShadowFormat#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"LeftBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"RightBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"TopBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BottomBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"LeftBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"RightBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"TopBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BottomBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BreakType#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"DropCapCharStyleName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaFirstLineIndent#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsAutoFirstLineIndent#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsHyphenation"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxHyphens#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxLeadingChars#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxTrailingChars#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaVertAlignment#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaUserDefinedAttributes#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingIsNumber#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsConnectBorder#optional"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"OEditModel";"com::sun::star::form::FormComponent";"Name"
+"OEditModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OEditModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OEditModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OEditModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OEditModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OEditModel";"com::sun::star::form::component::TextField";"DefaultText"
+"OEditModel";"com::sun::star::form::component::DatabaseTextField";"ConvertEmptyToNull"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OEditModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OEditModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OEditModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OEditModel";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"OEditModel";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"OEditModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getText()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getStart()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getEnd()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getString()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"setString()"
+"OEditModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OEditModel";"com::sun::star::io::XPersistObject";"write()"
+"OEditModel";"com::sun::star::io::XPersistObject";"read()"
+"OEditModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OEditModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OEditModel";"com::sun::star::container::XNamed";"getName()"
+"OEditModel";"com::sun::star::container::XNamed";"setName()"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontName"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontStyleName"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontFamily"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontCharSet"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontPitch"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharColor"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharEscapement#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharHeight"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharUnderline"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharWeight"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharPosture"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharAutoKerning#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharBackColor#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharBackTransparent#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCaseMap#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCrossedOut#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFlash#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharStrikeout#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharWordMode#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharKerning#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharLocale"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharKeepTogether#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharNoLineBreak#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharShadowed#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontType#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharContoured#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCombineIsOn#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCombinePrefix#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCombineSuffix#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharEmphasis#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharRelief#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyText#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyAdjust#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyCharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyIsAbove#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharRotation#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharRotationIsFitToLine#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharScaleWidth#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"HyperLinkURL#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"HyperLinkTarget#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"HyperLinkName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"VisitedCharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"UnvisitedCharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharEscapementHeight#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharNoHyphenation#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineColor"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineHasColor"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharStyleNames#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharHidden#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"TextUserDefinedAttributes#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Align"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"BackgroundColor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Border"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"BorderColor#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"EchoChar#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Enabled"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"FontDescriptor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"FontEmphasisMark"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"FontRelief"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HardLineBreaks"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpText"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpURL"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HideInactiveSelection#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HScroll"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"LineEndFormat#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"MaxTextLen"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"MultiLine"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Printable"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"ReadOnly"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Tabstop"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Text"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"TextColor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"TextLineColor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"VScroll"
+"OEditModel";"com::sun::star::form::XReset";"reset()"
+"OEditModel";"com::sun::star::form::XReset";"addResetListener()"
+"OEditModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OEditModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OEditModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OEditModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OEditModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OEditModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OEditModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OEditModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OEditModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OEditModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OEditModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OEditModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OEditModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OEditModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OEditModel";"com::sun::star::form::FormControlModel";"Tag"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"OEditModel";"com::sun::star::container::XChild";"getParent()"
+"OEditModel";"com::sun::star::container::XChild";"setParent()"
+"OEditModel";"com::sun::star::form::component::RichTextControl#optional";"HardLineBreaks"
+"OEditModel";"com::sun::star::form::component::RichTextControl#optional";"RichText"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv
new file mode 100644
index 000000000000..02bf6425904b
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv
@@ -0,0 +1,67 @@
+"OFileControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OFileControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OFileControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"OFileControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFileControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFileControlModel";"com::sun::star::form::FormComponent";"Name"
+"OFileControlModel";"com::sun::star::form::component::FileControl";"DefaultText"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OFileControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OFileControlModel";"com::sun::star::io::XPersistObject";"write()"
+"OFileControlModel";"com::sun::star::io::XPersistObject";"read()"
+"OFileControlModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OFileControlModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OFileControlModel";"com::sun::star::container::XNamed";"getName()"
+"OFileControlModel";"com::sun::star::container::XNamed";"setName()"
+"OFileControlModel";"com::sun::star::form::XReset";"reset()"
+"OFileControlModel";"com::sun::star::form::XReset";"addResetListener()"
+"OFileControlModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OFileControlModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BackgroundColor"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Border"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BorderColor#optional"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Enabled"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontDescriptor"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontEmphasisMark"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontRelief"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpText"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpURL"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HideInactiveSelection#optional"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Printable"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"ReadOnly#optional"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Tabstop"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Text"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextColor"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextLineColor"
+"OFileControlModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OFileControlModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OFileControlModel";"com::sun::star::form::FormControlModel";"Tag"
+"OFileControlModel";"com::sun::star::container::XChild";"getParent()"
+"OFileControlModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv
new file mode 100644
index 000000000000..952e3fc0439c
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv
@@ -0,0 +1,63 @@
+"OFixedTextModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OFixedTextModel";"com::sun::star::util::XCloneable";"createClone()"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OFixedTextModel";"com::sun::star::lang::XComponent";"dispose()"
+"OFixedTextModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFixedTextModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFixedTextModel";"com::sun::star::form::FormComponent";"Name"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OFixedTextModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OFixedTextModel";"com::sun::star::io::XPersistObject";"write()"
+"OFixedTextModel";"com::sun::star::io::XPersistObject";"read()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OFixedTextModel";"com::sun::star::container::XNamed";"getName()"
+"OFixedTextModel";"com::sun::star::container::XNamed";"setName()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Align"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BackgroundColor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Border"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BorderColor#optional"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Enabled"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontDescriptor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontEmphasisMark"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontRelief"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpText"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpURL"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Label"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"MultiLine"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Printable"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextColor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextLineColor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"VerticalAlign#optional"
+"OFixedTextModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OFixedTextModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OFixedTextModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OFixedTextModel";"com::sun::star::form::FormControlModel";"Tag"
+"OFixedTextModel";"com::sun::star::container::XChild";"getParent()"
+"OFixedTextModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv
new file mode 100644
index 000000000000..6e10fe0e3767
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv
@@ -0,0 +1,62 @@
+"OFormattedControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OFormattedControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OFormattedControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OFormattedControl";"com::sun::star::awt::XView";"setGraphics()"
+"OFormattedControl";"com::sun::star::awt::XView";"getGraphics()"
+"OFormattedControl";"com::sun::star::awt::XView";"getSize()"
+"OFormattedControl";"com::sun::star::awt::XView";"draw()"
+"OFormattedControl";"com::sun::star::awt::XView";"setZoom()"
+"OFormattedControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OFormattedControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OFormattedControl";"com::sun::star::lang::XComponent";"dispose()"
+"OFormattedControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFormattedControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OFormattedControl";"com::sun::star::awt::XControl";"setContext()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getContext()"
+"OFormattedControl";"com::sun::star::awt::XControl";"createPeer()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getPeer()"
+"OFormattedControl";"com::sun::star::awt::XControl";"setModel()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getModel()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getView()"
+"OFormattedControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OFormattedControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OFormattedControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OFormattedControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OFormattedControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OFormattedControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv
new file mode 100644
index 000000000000..90fd17ecf55e
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv
@@ -0,0 +1,101 @@
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OFormattedFieldWrapper";"com::sun::star::util::XCloneable";"createClone()"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Align"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"BackgroundColor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Border"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"BorderColor#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveDefault"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMax"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMin"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveValue"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Enabled"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontDescriptor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontEmphasisMark"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontRelief"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatKey"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatsSupplier"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpText"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpURL"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"HideInactiveSelection#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"MaxTextLen"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Printable"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"ReadOnly"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Repeat#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"RepeatDelay#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Spin"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"StrictFormat#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Tabstop"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Text"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextColor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextLineColor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"TreatAsNumber"
+"OFormattedFieldWrapper";"com::sun::star::lang::XEventListener";"disposing()"
+"OFormattedFieldWrapper";"com::sun::star::lang::XComponent";"dispose()"
+"OFormattedFieldWrapper";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFormattedFieldWrapper";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::FormComponent";"Name"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"loaded()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"unloading()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"unloaded()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"reloading()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"reloaded()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OFormattedFieldWrapper";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OFormattedFieldWrapper";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OFormattedFieldWrapper";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OFormattedFieldWrapper";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OFormattedFieldWrapper";"com::sun::star::io::XPersistObject";"write()"
+"OFormattedFieldWrapper";"com::sun::star::io::XPersistObject";"read()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::form::component::DatabaseFormattedField";"ConvertEmptyToNull"
+"OFormattedFieldWrapper";"com::sun::star::container::XNamed";"getName()"
+"OFormattedFieldWrapper";"com::sun::star::container::XNamed";"setName()"
+"OFormattedFieldWrapper";"com::sun::star::form::XReset";"reset()"
+"OFormattedFieldWrapper";"com::sun::star::form::XReset";"addResetListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::XReset";"removeResetListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OFormattedFieldWrapper";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OFormattedFieldWrapper";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OFormattedFieldWrapper";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OFormattedFieldWrapper";"com::sun::star::form::FormControlModel";"ClassId"
+"OFormattedFieldWrapper";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OFormattedFieldWrapper";"com::sun::star::form::FormControlModel";"Tag"
+"OFormattedFieldWrapper";"com::sun::star::container::XChild";"getParent()"
+"OFormattedFieldWrapper";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv
new file mode 100644
index 000000000000..a0d88b6e8302
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv
@@ -0,0 +1,27 @@
+"OFormsCollection";"com::sun::star::container::XNameAccess";"getByName()"
+"OFormsCollection";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OFormsCollection";"com::sun::star::container::XNameAccess";"hasByName()"
+"OFormsCollection";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OFormsCollection";"com::sun::star::container::XNameContainer";"insertByName()"
+"OFormsCollection";"com::sun::star::container::XNameContainer";"removeByName()"
+"OFormsCollection";"com::sun::star::container::XIndexAccess";"getCount()"
+"OFormsCollection";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"OFormsCollection";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"OFormsCollection";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"OFormsCollection";"com::sun::star::container::XElementAccess";"getElementType()"
+"OFormsCollection";"com::sun::star::container::XElementAccess";"hasElements()"
+"OFormsCollection";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"OFormsCollection";"com::sun::star::container::XContainer";"addContainerListener()"
+"OFormsCollection";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"registerScriptEvent()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"registerScriptEvents()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvent()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvents()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"insertEntry()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"removeEntry()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"getScriptEvents()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"attach()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"detach()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"addScriptListener()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"removeScriptListener()"
+"OFormsCollection";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv
new file mode 100644
index 000000000000..d9c1002b3ed6
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv
@@ -0,0 +1,90 @@
+"OGridControlModel";"com::sun::star::container::XNameAccess";"getByName()"
+"OGridControlModel";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OGridControlModel";"com::sun::star::container::XNameAccess";"hasByName()"
+"OGridControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OGridControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OGridControlModel";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OGridControlModel";"com::sun::star::container::XNameContainer";"insertByName()"
+"OGridControlModel";"com::sun::star::container::XNameContainer";"removeByName()"
+"OGridControlModel";"com::sun::star::container::XIndexAccess";"getCount()"
+"OGridControlModel";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"OGridControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"OGridControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OGridControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OGridControlModel";"com::sun::star::form::FormComponent";"Name"
+"OGridControlModel";"com::sun::star::form::XGridColumnFactory";"createColumn()"
+"OGridControlModel";"com::sun::star::form::XGridColumnFactory";"getColumnTypes()"
+"OGridControlModel";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"OGridControlModel";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"Border"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"BorderColor#optional"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"Enabled"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"FontDescriptor"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"RowHeight"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"Tabstop"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"TextColor"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OGridControlModel";"com::sun::star::container::XElementAccess";"getElementType()"
+"OGridControlModel";"com::sun::star::container::XElementAccess";"hasElements()"
+"OGridControlModel";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"OGridControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OGridControlModel";"com::sun::star::io::XPersistObject";"write()"
+"OGridControlModel";"com::sun::star::io::XPersistObject";"read()"
+"OGridControlModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OGridControlModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OGridControlModel";"com::sun::star::container::XContainer";"addContainerListener()"
+"OGridControlModel";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OGridControlModel";"com::sun::star::container::XNamed";"getName()"
+"OGridControlModel";"com::sun::star::container::XNamed";"setName()"
+"OGridControlModel";"com::sun::star::form::XReset";"reset()"
+"OGridControlModel";"com::sun::star::form::XReset";"addResetListener()"
+"OGridControlModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OGridControlModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"select()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"registerScriptEvent()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"registerScriptEvents()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvent()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvents()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"insertEntry()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"removeEntry()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"getScriptEvents()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"attach()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"detach()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"addScriptListener()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"removeScriptListener()"
+"OGridControlModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OGridControlModel";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"OGridControlModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OGridControlModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OGridControlModel";"com::sun::star::form::FormControlModel";"Tag"
+"OGridControlModel";"com::sun::star::container::XChild";"getParent()"
+"OGridControlModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv
new file mode 100644
index 000000000000..f9b60fbd5da8
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv
@@ -0,0 +1,36 @@
+"OGroupBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"draw()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OGroupBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OGroupBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OGroupBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OGroupBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv
new file mode 100644
index 000000000000..43dbebe99cf6
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv
@@ -0,0 +1,57 @@
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Enabled"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontDescriptor"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontEmphasisMark"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontRelief"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpText"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpURL"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Label"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Printable"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextColor"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextLineColor"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OGroupBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OGroupBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OGroupBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OGroupBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OGroupBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OGroupBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OGroupBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OGroupBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OGroupBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OGroupBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OGroupBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OGroupBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OGroupBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OGroupBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OGroupBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv
new file mode 100644
index 000000000000..280b6b81d4f2
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv
@@ -0,0 +1,23 @@
+"OHiddenModel";"com::sun::star::lang::XComponent";"dispose()"
+"OHiddenModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OHiddenModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OHiddenModel";"com::sun::star::form::FormComponent";"Name"
+"OHiddenModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OHiddenModel";"com::sun::star::io::XPersistObject";"write()"
+"OHiddenModel";"com::sun::star::io::XPersistObject";"read()"
+"OHiddenModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OHiddenModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OHiddenModel";"com::sun::star::container::XNamed";"getName()"
+"OHiddenModel";"com::sun::star::container::XNamed";"setName()"
+"OHiddenModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OHiddenModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OHiddenModel";"com::sun::star::form::component::HiddenControl";"HiddenValue"
+"OHiddenModel";"com::sun::star::container::XChild";"getParent()"
+"OHiddenModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv
new file mode 100644
index 000000000000..7a93d3845a0f
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv
@@ -0,0 +1,45 @@
+"OImageButtonControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OImageButtonControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OImageButtonControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OImageButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"OImageButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"OImageButtonControl";"com::sun::star::awt::XView";"getSize()"
+"OImageButtonControl";"com::sun::star::awt::XView";"draw()"
+"OImageButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"OImageButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"OImageButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"submit()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"submitWithInteraction()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"addSubmissionVetoListener()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"removeSubmissionVetoListener()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getView()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OImageButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OImageButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"addApproveActionListener()"
+"OImageButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"removeApproveActionListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv
new file mode 100644
index 000000000000..59c573192090
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv
@@ -0,0 +1,63 @@
+"OImageButtonModel";"com::sun::star::form::submission::XSubmissionSupplier";"Submission()"
+"OImageButtonModel";"com::sun::star::form::component::ImageButton";"ButtonType"
+"OImageButtonModel";"com::sun::star::form::component::ImageButton";"TargetFrame"
+"OImageButtonModel";"com::sun::star::form::component::ImageButton";"TargetURL"
+"OImageButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OImageButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"BackgroundColor"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Border"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"BorderColor#optional"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Enabled"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpText"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpURL"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"ImageURL"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Graphic#optional"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Printable"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"ScaleImage"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Tabstop#optional"
+"OImageButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"OImageButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageButtonModel";"com::sun::star::form::FormComponent";"Name"
+"OImageButtonModel";"com::sun::star::form::XImageProducerSupplier";"getImageProducer()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OImageButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OImageButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"OImageButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OImageButtonModel";"com::sun::star::container::XNamed";"getName()"
+"OImageButtonModel";"com::sun::star::container::XNamed";"setName()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OImageButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OImageButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OImageButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"OImageButtonModel";"com::sun::star::container::XChild";"getParent()"
+"OImageButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv
new file mode 100644
index 000000000000..88f4441030a7
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv
@@ -0,0 +1,41 @@
+"OImageControlControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OImageControlControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OImageControlControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OImageControlControl";"com::sun::star::awt::XView";"setGraphics()"
+"OImageControlControl";"com::sun::star::awt::XView";"getGraphics()"
+"OImageControlControl";"com::sun::star::awt::XView";"getSize()"
+"OImageControlControl";"com::sun::star::awt::XView";"draw()"
+"OImageControlControl";"com::sun::star::awt::XView";"setZoom()"
+"OImageControlControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OImageControlControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OImageControlControl";"com::sun::star::lang::XComponent";"dispose()"
+"OImageControlControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageControlControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageControlControl";"com::sun::star::awt::XControl";"setContext()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getContext()"
+"OImageControlControl";"com::sun::star::awt::XControl";"createPeer()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getPeer()"
+"OImageControlControl";"com::sun::star::awt::XControl";"setModel()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getModel()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getView()"
+"OImageControlControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OImageControlControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OImageControlControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OImageControlControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv
new file mode 100644
index 000000000000..e2237603a393
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv
@@ -0,0 +1,75 @@
+"OImageControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OImageControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BackgroundColor"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Border"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BorderColor#optional"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Enabled"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpText"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpURL"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ImageURL"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Graphic#optional"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Printable"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ScaleImage"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Tabstop#optional"
+"OImageControlModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OImageControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"OImageControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageControlModel";"com::sun::star::form::FormComponent";"Name"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OImageControlModel";"com::sun::star::form::XImageProducerSupplier";"getImageProducer()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OImageControlModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OImageControlModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OImageControlModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OImageControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OImageControlModel";"com::sun::star::io::XPersistObject";"write()"
+"OImageControlModel";"com::sun::star::io::XPersistObject";"read()"
+"OImageControlModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OImageControlModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OImageControlModel";"com::sun::star::container::XNamed";"getName()"
+"OImageControlModel";"com::sun::star::container::XNamed";"setName()"
+"OImageControlModel";"com::sun::star::form::XReset";"reset()"
+"OImageControlModel";"com::sun::star::form::XReset";"addResetListener()"
+"OImageControlModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OImageControlModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OImageControlModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OImageControlModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OImageControlModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OImageControlModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OImageControlModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OImageControlModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OImageControlModel";"com::sun::star::form::FormControlModel";"Tag"
+"OImageControlModel";"com::sun::star::form::component::DatabaseImageControl";"ReadOnly"
+"OImageControlModel";"com::sun::star::container::XChild";"getParent()"
+"OImageControlModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv
new file mode 100644
index 000000000000..89c0f60a5324
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv
@@ -0,0 +1,67 @@
+"OListBoxControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OListBoxControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OListBoxControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OListBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OListBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OListBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OListBoxControl";"com::sun::star::awt::XView";"draw()"
+"OListBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OListBoxControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OListBoxControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OListBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OListBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OListBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OListBoxControl";"com::sun::star::form::XChangeBroadcaster";"addChangeListener()"
+"OListBoxControl";"com::sun::star::form::XChangeBroadcaster";"removeChangeListener()"
+"OListBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OListBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OListBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OListBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OListBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OListBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OListBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OListBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OListBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addItemListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"removeItemListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addActionListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"removeActionListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"removeItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getItemCount()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItemPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItemsPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"selectItemPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"selectItemsPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"selectItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"isMutipleMode()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"setMultipleMode()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getDropDownLineCount()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"setDropDownLineCount()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"makeVisible()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv
new file mode 100644
index 000000000000..41662124ddd6
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv
@@ -0,0 +1,95 @@
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Align#optional"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BackgroundColor"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Border"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BorderColor#optional"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Dropdown"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Enabled"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontDescriptor"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontEmphasisMark"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontRelief"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpText"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpURL"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"LineCount"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"MultiSelection"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Printable"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"ReadOnly"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"SelectedItems"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"StringItemList"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Tabstop"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextColor"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextLineColor"
+"OListBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OListBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OListBoxModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OListBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OListBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OListBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OListBoxModel";"com::sun::star::form::component::DatabaseListBox";"BoundColumn"
+"OListBoxModel";"com::sun::star::form::component::DatabaseListBox";"ListSourceType"
+"OListBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OListBoxModel";"com::sun::star::form::component::ListBox";"DefaultSelection"
+"OListBoxModel";"com::sun::star::form::component::ListBox";"ListSource"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OListBoxModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OListBoxModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OListBoxModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OListBoxModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OListBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OListBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OListBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OListBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OListBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OListBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OListBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OListBoxModel";"com::sun::star::form::XReset";"reset()"
+"OListBoxModel";"com::sun::star::form::XReset";"addResetListener()"
+"OListBoxModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OListBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OListBoxModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OListBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OListBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OListBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OListBoxModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OListBoxModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OListBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OListBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OListBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OListBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OListBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv
new file mode 100644
index 000000000000..035fae464da2
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv
@@ -0,0 +1,78 @@
+"ONumericControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"ONumericControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"ONumericControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"ONumericControl";"com::sun::star::awt::XView";"setGraphics()"
+"ONumericControl";"com::sun::star::awt::XView";"getGraphics()"
+"ONumericControl";"com::sun::star::awt::XView";"getSize()"
+"ONumericControl";"com::sun::star::awt::XView";"draw()"
+"ONumericControl";"com::sun::star::awt::XView";"setZoom()"
+"ONumericControl";"com::sun::star::form::XBoundControl";"getLock()"
+"ONumericControl";"com::sun::star::form::XBoundControl";"setLock()"
+"ONumericControl";"com::sun::star::lang::XComponent";"dispose()"
+"ONumericControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONumericControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"ONumericControl";"com::sun::star::awt::XControl";"setContext()"
+"ONumericControl";"com::sun::star::awt::XControl";"getContext()"
+"ONumericControl";"com::sun::star::awt::XControl";"createPeer()"
+"ONumericControl";"com::sun::star::awt::XControl";"getPeer()"
+"ONumericControl";"com::sun::star::awt::XControl";"setModel()"
+"ONumericControl";"com::sun::star::awt::XControl";"getModel()"
+"ONumericControl";"com::sun::star::awt::XControl";"getView()"
+"ONumericControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ONumericControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ONumericControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"ONumericControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ONumericControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"ONumericControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"ONumericControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setValue()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getValue()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setMin()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getMin()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setMax()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getMax()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setFirst()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getFirst()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setLast()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getLast()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setSpinSize()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getSpinSize()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setDecimalDigits()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getDecimalDigits()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setStrictFormat()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv
new file mode 100644
index 000000000000..7777a9445f46
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv
@@ -0,0 +1,97 @@
+"ONumericModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ONumericModel";"com::sun::star::util::XCloneable";"createClone()"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ONumericModel";"com::sun::star::lang::XEventListener";"disposing()"
+"ONumericModel";"com::sun::star::lang::XComponent";"dispose()"
+"ONumericModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONumericModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONumericModel";"com::sun::star::form::FormComponent";"Name"
+"ONumericModel";"com::sun::star::form::XLoadListener";"loaded()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"unloading()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"reloading()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"ONumericModel";"com::sun::star::form::component::NumericField";"DefaultValue"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ONumericModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"ONumericModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"ONumericModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"ONumericModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"ONumericModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ONumericModel";"com::sun::star::io::XPersistObject";"write()"
+"ONumericModel";"com::sun::star::io::XPersistObject";"read()"
+"ONumericModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ONumericModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ONumericModel";"com::sun::star::container::XNamed";"getName()"
+"ONumericModel";"com::sun::star::container::XNamed";"setName()"
+"ONumericModel";"com::sun::star::form::XReset";"reset()"
+"ONumericModel";"com::sun::star::form::XReset";"addResetListener()"
+"ONumericModel";"com::sun::star::form::XReset";"removeResetListener()"
+"ONumericModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ONumericModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ONumericModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BackgroundColor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Border"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BorderColor#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"DecimalAccuracy"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Enabled"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontDescriptor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontEmphasisMark"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontRelief"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpText"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpURL"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HideInactiveSelection#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Printable"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ReadOnly"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Repeat#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"RepeatDelay#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ShowThousandsSeparator"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Spin"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"StrictFormat"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Tabstop"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextColor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextLineColor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Value"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMax"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMin"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueStep"
+"ONumericModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"ONumericModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"ONumericModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ONumericModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"ONumericModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"ONumericModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"ONumericModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"ONumericModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ONumericModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ONumericModel";"com::sun::star::form::FormControlModel";"Tag"
+"ONumericModel";"com::sun::star::container::XChild";"getParent()"
+"ONumericModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv
new file mode 100644
index 000000000000..e72864c3a23f
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv
@@ -0,0 +1,68 @@
+"OPatternControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OPatternControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OPatternControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OPatternControl";"com::sun::star::awt::XView";"setGraphics()"
+"OPatternControl";"com::sun::star::awt::XView";"getGraphics()"
+"OPatternControl";"com::sun::star::awt::XView";"getSize()"
+"OPatternControl";"com::sun::star::awt::XView";"draw()"
+"OPatternControl";"com::sun::star::awt::XView";"setZoom()"
+"OPatternControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OPatternControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OPatternControl";"com::sun::star::lang::XComponent";"dispose()"
+"OPatternControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OPatternControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OPatternControl";"com::sun::star::awt::XControl";"setContext()"
+"OPatternControl";"com::sun::star::awt::XControl";"getContext()"
+"OPatternControl";"com::sun::star::awt::XControl";"createPeer()"
+"OPatternControl";"com::sun::star::awt::XControl";"getPeer()"
+"OPatternControl";"com::sun::star::awt::XControl";"setModel()"
+"OPatternControl";"com::sun::star::awt::XControl";"getModel()"
+"OPatternControl";"com::sun::star::awt::XControl";"getView()"
+"OPatternControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OPatternControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OPatternControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OPatternControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OPatternControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OPatternControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OPatternControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"setMasks()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"getMasks()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"setString()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"getString()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"setStrictFormat()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv
new file mode 100644
index 000000000000..cac6e7a01c43
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv
@@ -0,0 +1,84 @@
+"OPatternModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OPatternModel";"com::sun::star::util::XCloneable";"createClone()"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OPatternModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OPatternModel";"com::sun::star::lang::XComponent";"dispose()"
+"OPatternModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OPatternModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OPatternModel";"com::sun::star::form::component::PatternField";"DefaultText"
+"OPatternModel";"com::sun::star::form::FormComponent";"Name"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BackgroundColor"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Border"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BorderColor#optional"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"EditMask"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Enabled"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontDescriptor"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontEmphasisMark"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontRelief"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpText"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpURL"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HideInactiveSelection#optional"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"LiteralMask"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"MaxTextLen"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Printable"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"ReadOnly"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"StrictFormat"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Tabstop"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Text"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextColor"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextLineColor"
+"OPatternModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OPatternModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OPatternModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OPatternModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OPatternModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OPatternModel";"com::sun::star::io::XPersistObject";"write()"
+"OPatternModel";"com::sun::star::io::XPersistObject";"read()"
+"OPatternModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OPatternModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OPatternModel";"com::sun::star::container::XNamed";"getName()"
+"OPatternModel";"com::sun::star::container::XNamed";"setName()"
+"OPatternModel";"com::sun::star::form::XReset";"reset()"
+"OPatternModel";"com::sun::star::form::XReset";"addResetListener()"
+"OPatternModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OPatternModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OPatternModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OPatternModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OPatternModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OPatternModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OPatternModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OPatternModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OPatternModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OPatternModel";"com::sun::star::form::FormControlModel";"Tag"
+"OPatternModel";"com::sun::star::form::component::DatabasePatternField";"ConvertEmptyToNull"
+"OPatternModel";"com::sun::star::container::XChild";"getParent()"
+"OPatternModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv
new file mode 100644
index 000000000000..6532662d24a5
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv
@@ -0,0 +1,46 @@
+"ORadioButtonControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"ORadioButtonControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"ORadioButtonControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"addItemListener()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"removeItemListener()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"getState()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"setState()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"setLabel()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"getSize()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"draw()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"ORadioButtonControl";"com::sun::star::form::XBoundControl";"getLock()"
+"ORadioButtonControl";"com::sun::star::form::XBoundControl";"setLock()"
+"ORadioButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"ORadioButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORadioButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getView()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ORadioButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv
new file mode 100644
index 000000000000..0cb37fed5a4d
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv
@@ -0,0 +1,95 @@
+"ORadioButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ORadioButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ORadioButtonModel";"com::sun::star::form::binding::BindableDatabaseRadioButton";"SecondaryRefValue"
+"ORadioButtonModel";"com::sun::star::lang::XEventListener";"disposing()"
+"ORadioButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"ORadioButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORadioButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORadioButtonModel";"com::sun::star::form::FormComponent";"Name"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"loaded()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"unloading()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"reloading()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Align#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"BackgroundColor#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Enabled"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontDescriptor"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontEmphasisMark"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontRelief"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpText"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpURL"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImagePosition#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImageURL#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Graphic#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Label"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"MultiLine#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Printable"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"State"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Tabstop"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextColor"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextLineColor"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VerticalAlign#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VisualEffect#optional"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ORadioButtonModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"ORadioButtonModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"ORadioButtonModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"ORadioButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ORadioButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"ORadioButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ORadioButtonModel";"com::sun::star::container::XNamed";"getName()"
+"ORadioButtonModel";"com::sun::star::container::XNamed";"setName()"
+"ORadioButtonModel";"com::sun::star::form::XReset";"reset()"
+"ORadioButtonModel";"com::sun::star::form::XReset";"addResetListener()"
+"ORadioButtonModel";"com::sun::star::form::XReset";"removeResetListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ORadioButtonModel";"com::sun::star::form::component::RadioButton";"DefaultState"
+"ORadioButtonModel";"com::sun::star::form::component::RadioButton";"RefValue"
+"ORadioButtonModel";"com::sun::star::form::component::RadioButton";"UncheckedRefValue#optional"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORadioButtonModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"ORadioButtonModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"ORadioButtonModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"ORadioButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"ORadioButtonModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"ORadioButtonModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"ORadioButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ORadioButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ORadioButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"ORadioButtonModel";"com::sun::star::container::XChild";"getParent()"
+"ORadioButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv
new file mode 100644
index 000000000000..136e2a87457d
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv
@@ -0,0 +1,69 @@
+"OScrollBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OScrollBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OScrollBarModel";"com::sun::star::form::component::ScrollBar";"DefaultScrollValue"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BackgroundColor#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BlockIncrement"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Border"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BorderColor#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Enabled"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpText"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpURL"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LineIncrement"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LiveScroll#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Orientation"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Printable"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"RepeatDelay#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValue"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMin#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMax"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"SymbolColor#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Tabstop#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"VisibleSize"
+"OScrollBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"OScrollBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OScrollBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OScrollBarModel";"com::sun::star::form::FormComponent";"Name"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OScrollBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OScrollBarModel";"com::sun::star::io::XPersistObject";"write()"
+"OScrollBarModel";"com::sun::star::io::XPersistObject";"read()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OScrollBarModel";"com::sun::star::container::XNamed";"getName()"
+"OScrollBarModel";"com::sun::star::container::XNamed";"setName()"
+"OScrollBarModel";"com::sun::star::form::XReset";"reset()"
+"OScrollBarModel";"com::sun::star::form::XReset";"addResetListener()"
+"OScrollBarModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OScrollBarModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OScrollBarModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OScrollBarModel";"com::sun::star::form::FormControlModel";"Tag"
+"OScrollBarModel";"com::sun::star::container::XChild";"getParent()"
+"OScrollBarModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv
new file mode 100644
index 000000000000..aae89658f46c
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv
@@ -0,0 +1,66 @@
+"OSpinButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OSpinButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Border"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BorderColor#optional"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Enabled"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpText"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpURL"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinIncrement"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Orientation"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Printable"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValue"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMin"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMax"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BackgroundColor"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SymbolColor"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Repeat"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"RepeatDelay"
+"OSpinButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"OSpinButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSpinButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSpinButtonModel";"com::sun::star::form::component::SpinButton";"DefaultSpinValue"
+"OSpinButtonModel";"com::sun::star::form::FormComponent";"Name"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OSpinButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OSpinButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"OSpinButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OSpinButtonModel";"com::sun::star::container::XNamed";"getName()"
+"OSpinButtonModel";"com::sun::star::container::XNamed";"setName()"
+"OSpinButtonModel";"com::sun::star::form::XReset";"reset()"
+"OSpinButtonModel";"com::sun::star::form::XReset";"addResetListener()"
+"OSpinButtonModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSpinButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OSpinButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OSpinButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"OSpinButtonModel";"com::sun::star::container::XChild";"getParent()"
+"OSpinButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv
new file mode 100644
index 000000000000..7c314fd4f7f5
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv
@@ -0,0 +1,76 @@
+"OTimeControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OTimeControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OTimeControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OTimeControl";"com::sun::star::awt::XView";"setGraphics()"
+"OTimeControl";"com::sun::star::awt::XView";"getGraphics()"
+"OTimeControl";"com::sun::star::awt::XView";"getSize()"
+"OTimeControl";"com::sun::star::awt::XView";"draw()"
+"OTimeControl";"com::sun::star::awt::XView";"setZoom()"
+"OTimeControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OTimeControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OTimeControl";"com::sun::star::lang::XComponent";"dispose()"
+"OTimeControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OTimeControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setTime()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getTime()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setMin()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getMin()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setMax()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getMax()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setFirst()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getFirst()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setLast()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getLast()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setEmpty()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"isEmpty()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setStrictFormat()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"isStrictFormat()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OTimeControl";"com::sun::star::awt::XControl";"setContext()"
+"OTimeControl";"com::sun::star::awt::XControl";"getContext()"
+"OTimeControl";"com::sun::star::awt::XControl";"createPeer()"
+"OTimeControl";"com::sun::star::awt::XControl";"getPeer()"
+"OTimeControl";"com::sun::star::awt::XControl";"setModel()"
+"OTimeControl";"com::sun::star::awt::XControl";"getModel()"
+"OTimeControl";"com::sun::star::awt::XControl";"getView()"
+"OTimeControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OTimeControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OTimeControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OTimeControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OTimeControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OTimeControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OTimeControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv
new file mode 100644
index 000000000000..99e562087040
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv
@@ -0,0 +1,96 @@
+"OTimeModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OTimeModel";"com::sun::star::util::XCloneable";"createClone()"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OTimeModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OTimeModel";"com::sun::star::lang::XComponent";"dispose()"
+"OTimeModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OTimeModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OTimeModel";"com::sun::star::form::FormComponent";"Name"
+"OTimeModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OTimeModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OTimeModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OTimeModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OTimeModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OTimeModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OTimeModel";"com::sun::star::io::XPersistObject";"write()"
+"OTimeModel";"com::sun::star::io::XPersistObject";"read()"
+"OTimeModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OTimeModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OTimeModel";"com::sun::star::container::XNamed";"getName()"
+"OTimeModel";"com::sun::star::container::XNamed";"setName()"
+"OTimeModel";"com::sun::star::form::XReset";"reset()"
+"OTimeModel";"com::sun::star::form::XReset";"addResetListener()"
+"OTimeModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OTimeModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OTimeModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OTimeModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OTimeModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OTimeModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BackgroundColor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Border"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BorderColor#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Enabled"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontDescriptor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontEmphasisMark"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontRelief"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpText"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpURL"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HideInactiveSelection#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Printable"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"ReadOnly"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Repeat#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"RepeatDelay#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Spin"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"StrictFormat"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Tabstop"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Text#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextColor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextLineColor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Time"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeFormat"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMax"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMin"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OTimeModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OTimeModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OTimeModel";"com::sun::star::form::component::TimeField";"DefaultTime"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OTimeModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OTimeModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OTimeModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OTimeModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OTimeModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OTimeModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OTimeModel";"com::sun::star::form::FormControlModel";"Tag"
+"OTimeModel";"com::sun::star::container::XChild";"getParent()"
+"OTimeModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv b/qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv
new file mode 100644
index 000000000000..40eec7051950
--- /dev/null
+++ b/qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv
@@ -0,0 +1,36 @@
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"setMultiSelectionMode()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"setDefaultName()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"setDisplayDirectory()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"getDisplayDirectory()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"getFiles()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"setValue()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"getValue()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"setLabel()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"getLabel()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"enableControl()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterManager";"appendFilter()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterManager";"setCurrentFilter()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterManager";"getCurrentFilter()"
+"FilePicker";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"FilePicker";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"FilePicker";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getSupportedImageFormats()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getTargetColorDepth()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getAvailableWidth()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getAvailableHeight()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"setImage()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"setShowState()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getShowState()"
+"FilePicker";"com::sun::star::lang::XComponent";"dispose()"
+"FilePicker";"com::sun::star::lang::XComponent";"addEventListener()"
+"FilePicker";"com::sun::star::lang::XComponent";"removeEventListener()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterGroupManager#optional";"appendFilterGroup()"
+"FilePicker";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerNotifier";"addFilePickerListener()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerNotifier";"removeFilePickerListener()"
+"FilePicker";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"FilePicker";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"FilePicker";"com::sun::star::util::XCancellable#optional";"cancel()"
+"FilePicker";"com::sun::star::ui::dialogs::FilePicker";"HelpURL#optional"
+"FilePicker";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"FilePicker";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
diff --git a/qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv b/qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv
new file mode 100644
index 000000000000..b24f6e398c9b
--- /dev/null
+++ b/qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv
@@ -0,0 +1,7 @@
+"DataFormatTranslator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DataFormatTranslator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DataFormatTranslator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DataFormatTranslator";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"DataFormatTranslator";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"DataFormatTranslator";"com::sun::star::datatransfer::XDataFormatTranslator";"getSystemDataTypeFromDataFlavor()"
+"DataFormatTranslator";"com::sun::star::datatransfer::XDataFormatTranslator";"getDataFlavorFromSystemDataType()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv
new file mode 100755
index 000000000000..3f1d133d4ff5
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv
@@ -0,0 +1,5 @@
+"ControlMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"ControlMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"ControlMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"ControlMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"ControlMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv
new file mode 100644
index 000000000000..12690b1e808f
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv
@@ -0,0 +1,37 @@
+"Desktop";"com::sun::star::task::XStatusIndicatorFactory#optional";"createStatusIndicator()"
+"Desktop";"com::sun::star::lang::XComponent";"dispose()"
+"Desktop";"com::sun::star::lang::XComponent";"addEventListener()"
+"Desktop";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Desktop";"com::sun::star::frame::Frame";"Title"
+"Desktop";"com::sun::star::frame::Frame";"RecorderSupplier#optional"
+"Desktop";"com::sun::star::frame::XDispatchProviderInterception";"registerDispatchProviderInterceptor()"
+"Desktop";"com::sun::star::frame::XDispatchProviderInterception";"releaseDispatchProviderInterceptor()"
+"Desktop";"com::sun::star::frame::XFrame";"initialize()"
+"Desktop";"com::sun::star::frame::XFrame";"getContainerWindow()"
+"Desktop";"com::sun::star::frame::XFrame";"setCreator()"
+"Desktop";"com::sun::star::frame::XFrame";"getCreator()"
+"Desktop";"com::sun::star::frame::XFrame";"getName()"
+"Desktop";"com::sun::star::frame::XFrame";"setName()"
+"Desktop";"com::sun::star::frame::XFrame";"findFrame()"
+"Desktop";"com::sun::star::frame::XFrame";"isTop()"
+"Desktop";"com::sun::star::frame::XFrame";"activate()"
+"Desktop";"com::sun::star::frame::XFrame";"deactivate()"
+"Desktop";"com::sun::star::frame::XFrame";"isActive()"
+"Desktop";"com::sun::star::frame::XFrame";"setComponent()"
+"Desktop";"com::sun::star::frame::XFrame";"getComponentWindow()"
+"Desktop";"com::sun::star::frame::XFrame";"getController()"
+"Desktop";"com::sun::star::frame::XFrame";"contextChanged()"
+"Desktop";"com::sun::star::frame::XFrame";"addFrameActionListener()"
+"Desktop";"com::sun::star::frame::XFrame";"removeFrameActionListener()"
+"Desktop";"com::sun::star::frame::XComponentLoader";"loadComponentFromURL()"
+"Desktop";"com::sun::star::frame::XFramesSupplier";"getFrames()"
+"Desktop";"com::sun::star::frame::XFramesSupplier";"getActiveFrame()"
+"Desktop";"com::sun::star::frame::XFramesSupplier";"setActiveFrame()"
+"Desktop";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"Desktop";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"Desktop";"com::sun::star::frame::XDesktop";"terminate()"
+"Desktop";"com::sun::star::frame::XDesktop";"addTerminateListener()"
+"Desktop";"com::sun::star::frame::XDesktop";"removeTerminateListener()"
+"Desktop";"com::sun::star::frame::XDesktop";"getComponents()"
+"Desktop";"com::sun::star::frame::XDesktop";"getCurrentComponent()"
+"Desktop";"com::sun::star::frame::XDesktop";"getCurrentFrame()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv
new file mode 100644
index 000000000000..2788976ae16a
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv
@@ -0,0 +1,10 @@
+"DispatchRecorder";"com::sun::star::container::XIndexAccess";"getCount()"
+"DispatchRecorder";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"DispatchRecorder";"com::sun::star::container::XElementAccess";"getElementType()"
+"DispatchRecorder";"com::sun::star::container::XElementAccess";"hasElements()"
+"DispatchRecorder";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"startRecording()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"endRecording()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"recordDispatch()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"recordDispatchAsComment()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"getRecordedMacro()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv
new file mode 100644
index 000000000000..6bc38e0fc164
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv
@@ -0,0 +1,3 @@
+"DispatchRecorderSupplier";"com::sun::star::frame::XDispatchRecorderSupplier";"setDispatchRecorder()"
+"DispatchRecorderSupplier";"com::sun::star::frame::XDispatchRecorderSupplier";"getDispatchRecorder()"
+"DispatchRecorderSupplier";"com::sun::star::frame::XDispatchRecorderSupplier";"dispatchAndRecord()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv
new file mode 100755
index 000000000000..9f9fdbbf4812
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv
@@ -0,0 +1,5 @@
+"FontMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"FontMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"FontMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"FontMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"FontMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv
new file mode 100755
index 000000000000..51ba8b87c3b1
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv
@@ -0,0 +1,5 @@
+"FontSizeMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"FontSizeMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"FontSizeMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"FontSizeMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"FontSizeMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv
new file mode 100755
index 000000000000..1cb5dc5f7f98
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv
@@ -0,0 +1,5 @@
+"FooterMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"FooterMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"FooterMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"FooterMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"FooterMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv
new file mode 100644
index 000000000000..8311fb7d082c
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv
@@ -0,0 +1,30 @@
+"Frame";"com::sun::star::task::XStatusIndicatorFactory#optional";"createStatusIndicator()"
+"Frame";"com::sun::star::lang::XComponent";"dispose()"
+"Frame";"com::sun::star::lang::XComponent";"addEventListener()"
+"Frame";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Frame";"com::sun::star::frame::Frame";"Title"
+"Frame";"com::sun::star::frame::Frame";"RecorderSupplier#optional"
+"Frame";"com::sun::star::frame::XDispatchProviderInterception";"registerDispatchProviderInterceptor()"
+"Frame";"com::sun::star::frame::XDispatchProviderInterception";"releaseDispatchProviderInterceptor()"
+"Frame";"com::sun::star::frame::XFrame";"initialize()"
+"Frame";"com::sun::star::frame::XFrame";"getContainerWindow()"
+"Frame";"com::sun::star::frame::XFrame";"setCreator()"
+"Frame";"com::sun::star::frame::XFrame";"getCreator()"
+"Frame";"com::sun::star::frame::XFrame";"getName()"
+"Frame";"com::sun::star::frame::XFrame";"setName()"
+"Frame";"com::sun::star::frame::XFrame";"findFrame()"
+"Frame";"com::sun::star::frame::XFrame";"isTop()"
+"Frame";"com::sun::star::frame::XFrame";"activate()"
+"Frame";"com::sun::star::frame::XFrame";"deactivate()"
+"Frame";"com::sun::star::frame::XFrame";"isActive()"
+"Frame";"com::sun::star::frame::XFrame";"setComponent()"
+"Frame";"com::sun::star::frame::XFrame";"getComponentWindow()"
+"Frame";"com::sun::star::frame::XFrame";"getController()"
+"Frame";"com::sun::star::frame::XFrame";"contextChanged()"
+"Frame";"com::sun::star::frame::XFrame";"addFrameActionListener()"
+"Frame";"com::sun::star::frame::XFrame";"removeFrameActionListener()"
+"Frame";"com::sun::star::frame::XFramesSupplier";"getFrames()"
+"Frame";"com::sun::star::frame::XFramesSupplier";"getActiveFrame()"
+"Frame";"com::sun::star::frame::XFramesSupplier";"setActiveFrame()"
+"Frame";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"Frame";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv
new file mode 100755
index 000000000000..2266f6e052ac
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv
@@ -0,0 +1,5 @@
+"HeaderMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"HeaderMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"HeaderMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"HeaderMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"HeaderMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv
new file mode 100644
index 000000000000..c50e467c90f5
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv
@@ -0,0 +1 @@
+"JobExecutor";"com::sun::star::task::XJobExecutor";"trigger()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv
new file mode 100644
index 000000000000..0101a53816bd
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv
@@ -0,0 +1,3 @@
+"JobHandler";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"JobHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"JobHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv
new file mode 100755
index 000000000000..af47fcb9f0dd
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv
@@ -0,0 +1,30 @@
+"LayoutManager";"com::sun::star::lang::XEventListener";"disposing()"
+"LayoutManager";"com::sun::star::frame::XInplaceLayout#optional";"setInplaceMenuBar()"
+"LayoutManager";"com::sun::star::frame::XInplaceLayout#optional";"resetInplaceMenuBar()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"attachFrame()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"reset()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getCurrentDockingArea()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setDockingAreaAcceptor()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"createElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"destroyElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElements()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"showElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"hideElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"dockWindow()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"floatWindow()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setElementSize()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setElementPos()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setElementPosSize()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"isElementVisible()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"isElementFloating()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"isElementDocked()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElementSize()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElementPos()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"lock()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"unlock()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"doLayout()"
+"LayoutManager";"com::sun::star::ui::XUIConfigurationListener";"elementInserted()"
+"LayoutManager";"com::sun::star::ui::XUIConfigurationListener";"elementRemoved()"
+"LayoutManager";"com::sun::star::ui::XUIConfigurationListener";"elementReplaced()"
+"LayoutManager";"com::sun::star::frame::XFrameActionListener";"frameAction()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv
new file mode 100755
index 000000000000..fc61766b9870
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv
@@ -0,0 +1,5 @@
+"MacrosMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"MacrosMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"MacrosMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"MacrosMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"MacrosMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv
new file mode 100644
index 000000000000..dde54c227e25
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv
@@ -0,0 +1,3 @@
+"MailToDispatcher";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"MailToDispatcher";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"MailToDispatcher";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv
new file mode 100755
index 000000000000..ede480ffba9f
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv
@@ -0,0 +1 @@
+"MenuBarFactory";"com::sun::star::ui::XUIElementFactory";"createUIElement()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv
new file mode 100755
index 000000000000..106552499fd6
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv
@@ -0,0 +1,6 @@
+"ModuleManager";"com::sun::star::container::XNameAccess";"getByName()"
+"ModuleManager";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ModuleManager";"com::sun::star::container::XNameAccess";"hasByName()"
+"ModuleManager";"com::sun::star::frame::XModuleManager";"identify()"
+"ModuleManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"ModuleManager";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv
new file mode 100755
index 000000000000..79e326d9bc59
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv
@@ -0,0 +1,21 @@
+"ModuleUIConfigurationManager";"com::sun::star::ui::XModuleUIConfigurationManager";"isDefaultSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XModuleUIConfigurationManager";"getDefaultSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::lang::XInitialization";"initialize()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"addConfigurationListener()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"removeConfigurationListener()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"reset()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getUIElementsInfo()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"createSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"hasSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"replaceSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"removeSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"insertSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getImageManager()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getShortCutManager()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getEventsManager()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"reload()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"store()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"storeToStorage()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isModified()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isReadOnly()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv
new file mode 100755
index 000000000000..c471fa6aa2fb
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv
@@ -0,0 +1 @@
+"ModuleUIConfigurationManagerSupplier";"com::sun::star::ui::XModuleUIConfigurationManagerSupplier";"getUIConfigurationManager()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv
new file mode 100755
index 000000000000..72170bdf7070
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv
@@ -0,0 +1,5 @@
+"ObjectMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"ObjectMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"ObjectMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"ObjectMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"ObjectMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv
new file mode 100755
index 000000000000..518122ea3ec3
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv
@@ -0,0 +1,6 @@
+"PopupMenuControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"PopupMenuControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"PopupMenuControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"PopupMenuControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"hasController()"
+"PopupMenuControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"registerController()"
+"PopupMenuControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"deregisterController()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv
new file mode 100644
index 000000000000..e128a7c9f153
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv
@@ -0,0 +1,3 @@
+"ServiceHandler";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"ServiceHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"ServiceHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv
new file mode 100644
index 000000000000..4f07b7cb8a00
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv
@@ -0,0 +1,4 @@
+"SoundHandler";"com::sun::star::frame::XDispatch";"dispatch()"
+"SoundHandler";"com::sun::star::frame::XDispatch";"addStatusListener()"
+"SoundHandler";"com::sun::star::frame::XDispatch";"removeStatusListener()"
+"SoundHandler";"com::sun::star::frame::XNotifyingDispatch";"dispatchWithNotification()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv
new file mode 100755
index 000000000000..3ef744467c57
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv
@@ -0,0 +1,6 @@
+"StatusBarControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"StatusBarControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"StatusBarControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"StatusBarControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"hasController()"
+"StatusBarControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"registerController()"
+"StatusBarControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"deregisterController()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv
new file mode 100755
index 000000000000..135edf872e77
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv
@@ -0,0 +1,5 @@
+"ToolBarsMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"ToolBarsMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"ToolBarsMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"ToolBarsMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"ToolBarsMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv
new file mode 100755
index 000000000000..029740878461
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv
@@ -0,0 +1,5 @@
+"UICategoryDescription";"com::sun::star::container::XNameAccess";"getByName()"
+"UICategoryDescription";"com::sun::star::container::XNameAccess";"getElementNames()"
+"UICategoryDescription";"com::sun::star::container::XNameAccess";"hasByName()"
+"UICategoryDescription";"com::sun::star::container::XElementAccess";"getElementType()"
+"UICategoryDescription";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv
new file mode 100755
index 000000000000..85e87f324561
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv
@@ -0,0 +1,5 @@
+"UICommandDescription";"com::sun::star::container::XNameAccess";"getByName()"
+"UICommandDescription";"com::sun::star::container::XNameAccess";"getElementNames()"
+"UICommandDescription";"com::sun::star::container::XNameAccess";"hasByName()"
+"UICommandDescription";"com::sun::star::container::XElementAccess";"getElementType()"
+"UICommandDescription";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv
new file mode 100755
index 000000000000..b7083cd78fcd
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv
@@ -0,0 +1,23 @@
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationStorage";"setStorage()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationStorage";"hasStorage()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"addConfigurationListener()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"removeConfigurationListener()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"reset()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getUIElementsInfo()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"createSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"hasSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"replaceSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"removeSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"insertSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getImageManager()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getShortCutManager()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getEventsManager()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"reload()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"store()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"storeToStorage()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isModified()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isReadOnly()"
+"UIConfigurationManager";"com::sun::star::lang::XComponent";"dispose()"
+"UIConfigurationManager";"com::sun::star::lang::XComponent";"addEventListener()"
+"UIConfigurationManager";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv
new file mode 100755
index 000000000000..f0c0ab029736
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv
@@ -0,0 +1,5 @@
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactory";"createUIElement()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"getRegisteredFactories()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"getFactory()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"registerFactory()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"deregisterFactory()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv
new file mode 100644
index 000000000000..9d68582e4bb7
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv
@@ -0,0 +1,4 @@
+"URLTransformer";"com::sun::star::util::XURLTransformer";"parseStrict()"
+"URLTransformer";"com::sun::star::util::XURLTransformer";"parseSmart()"
+"URLTransformer";"com::sun::star::util::XURLTransformer";"assemble()"
+"URLTransformer";"com::sun::star::util::XURLTransformer";"getPresentation()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv
new file mode 100644
index 000000000000..cc444af15b64
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv
@@ -0,0 +1,10 @@
+"ContentHandlerFactory";"com::sun::star::container::XNameAccess";"getByName()"
+"ContentHandlerFactory";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ContentHandlerFactory";"com::sun::star::container::XNameAccess";"hasByName()"
+"ContentHandlerFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByQuery()"
+"ContentHandlerFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByProperties()"
+"ContentHandlerFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ContentHandlerFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ContentHandlerFactory";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"ContentHandlerFactory";"com::sun::star::container::XElementAccess";"getElementType()"
+"ContentHandlerFactory";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv
new file mode 100644
index 000000000000..3bf5cbc20be0
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv
@@ -0,0 +1,16 @@
+"FilterFactory";"com::sun::star::container::XNameAccess";"getByName()"
+"FilterFactory";"com::sun::star::container::XNameAccess";"getElementNames()"
+"FilterFactory";"com::sun::star::container::XNameAccess";"hasByName()"
+"FilterFactory";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
+"FilterFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByQuery()"
+"FilterFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByProperties()"
+"FilterFactory";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"FilterFactory";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"FilterFactory";"com::sun::star::util::XFlushable#optional";"flush()"
+"FilterFactory";"com::sun::star::util::XFlushable#optional";"addFlushListener()"
+"FilterFactory";"com::sun::star::util::XFlushable#optional";"removeFlushListener()"
+"FilterFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"FilterFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"FilterFactory";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"FilterFactory";"com::sun::star::container::XElementAccess";"getElementType()"
+"FilterFactory";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv
new file mode 100644
index 000000000000..b5b756432b1a
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv
@@ -0,0 +1,10 @@
+"FrameLoaderFactory";"com::sun::star::container::XNameAccess";"getByName()"
+"FrameLoaderFactory";"com::sun::star::container::XNameAccess";"getElementNames()"
+"FrameLoaderFactory";"com::sun::star::container::XNameAccess";"hasByName()"
+"FrameLoaderFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByQuery()"
+"FrameLoaderFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByProperties()"
+"FrameLoaderFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"FrameLoaderFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"FrameLoaderFactory";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"FrameLoaderFactory";"com::sun::star::container::XElementAccess";"getElementType()"
+"FrameLoaderFactory";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv
new file mode 100644
index 000000000000..29a4a9f85261
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv
@@ -0,0 +1,39 @@
+"PathSettings";"com::sun::star::util::PathSettings";"Addin"
+"PathSettings";"com::sun::star::util::PathSettings";"AutoCorrect"
+"PathSettings";"com::sun::star::util::PathSettings";"AutoText"
+"PathSettings";"com::sun::star::util::PathSettings";"Backup"
+"PathSettings";"com::sun::star::util::PathSettings";"Basic"
+"PathSettings";"com::sun::star::util::PathSettings";"Bitmap"
+"PathSettings";"com::sun::star::util::PathSettings";"Config"
+"PathSettings";"com::sun::star::util::PathSettings";"Dictionary"
+"PathSettings";"com::sun::star::util::PathSettings";"Favorite"
+"PathSettings";"com::sun::star::util::PathSettings";"Filter"
+"PathSettings";"com::sun::star::util::PathSettings";"Gallery"
+"PathSettings";"com::sun::star::util::PathSettings";"Graphic"
+"PathSettings";"com::sun::star::util::PathSettings";"Help"
+"PathSettings";"com::sun::star::util::PathSettings";"Linguistic"
+"PathSettings";"com::sun::star::util::PathSettings";"Module"
+"PathSettings";"com::sun::star::util::PathSettings";"Palette"
+"PathSettings";"com::sun::star::util::PathSettings";"Plugin"
+"PathSettings";"com::sun::star::util::PathSettings";"Storage"
+"PathSettings";"com::sun::star::util::PathSettings";"Temp"
+"PathSettings";"com::sun::star::util::PathSettings";"Template"
+"PathSettings";"com::sun::star::util::PathSettings";"UIConfig"
+"PathSettings";"com::sun::star::util::PathSettings";"UserConfig"
+"PathSettings";"com::sun::star::util::PathSettings";"UserDictionary"
+"PathSettings";"com::sun::star::util::PathSettings";"Work"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"PathSettings";"com::sun::star::beans::XFastPropertySet";"setFastPropertyValue()"
+"PathSettings";"com::sun::star::beans::XFastPropertySet";"getFastPropertyValue()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv
new file mode 100644
index 000000000000..a9c1867104a8
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv
@@ -0,0 +1,3 @@
+"SubstituteVariables";"com::sun::star::util::XStringSubstitution";"substituteVariables()"
+"SubstituteVariables";"com::sun::star::util::XStringSubstitution";"reSubstituteVariables()"
+"SubstituteVariables";"com::sun::star::util::XStringSubstitution";"getSubstituteVariableValue()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv
new file mode 100644
index 000000000000..207ec3700922
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv
@@ -0,0 +1,15 @@
+"TypeDetection";"com::sun::star::container::XNameAccess";"getByName()"
+"TypeDetection";"com::sun::star::container::XNameAccess";"getElementNames()"
+"TypeDetection";"com::sun::star::container::XNameAccess";"hasByName()"
+"TypeDetection";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
+"TypeDetection";"com::sun::star::container::XContainerQuery#optional";"createSubSetEnumerationByQuery()"
+"TypeDetection";"com::sun::star::container::XContainerQuery#optional";"createSubSetEnumerationByProperties()"
+"TypeDetection";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"TypeDetection";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"TypeDetection";"com::sun::star::util::XFlushable#optional";"flush()"
+"TypeDetection";"com::sun::star::util::XFlushable#optional";"addFlushListener()"
+"TypeDetection";"com::sun::star::util::XFlushable#optional";"removeFlushListener()"
+"TypeDetection";"com::sun::star::container::XElementAccess";"getElementType()"
+"TypeDetection";"com::sun::star::container::XElementAccess";"hasElements()"
+"TypeDetection";"com::sun::star::document::XTypeDetection";"queryTypeByURL()"
+"TypeDetection";"com::sun::star::document::XTypeDetection";"queryTypeByDescriptor()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv
new file mode 100644
index 000000000000..f6c5e07f7a19
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv
@@ -0,0 +1,23 @@
+"BreakIterator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"BreakIterator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"BreakIterator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextCharacters()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousCharacters()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getWordBoundary()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getWordType()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"isBeginWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"isEndWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"beginOfSentence()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"endOfSentence()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getLineBreak()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"beginOfScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"endOfScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getScriptType()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"beginOfCharBlock()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"endOfCharBlock()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextCharBlock()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousCharBlock()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv
new file mode 100644
index 000000000000..ee8ab03e289e
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv
@@ -0,0 +1,24 @@
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"loadDefaultCalendar()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"loadCalendar()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getLoadedCalendar()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getAllCalendars()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getUniqueID()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setDateTime()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getDateTime()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setValue()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getValue()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"isValid()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"addValue()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getFirstDayOfWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setFirstDayOfWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setMinimumNumberOfDaysForFirstWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getMinimumNumberOfDaysForFirstWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getNumberOfMonthsInYear()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getNumberOfDaysInWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getMonths()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getDays()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getDisplayName()"
+"CalendarImpl";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"CalendarImpl";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"CalendarImpl";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"CalendarImpl";"com::sun::star::i18n::XExtendedCalendar#optional";"getDisplayString()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv
new file mode 100644
index 000000000000..2bcb67b6c9e5
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv
@@ -0,0 +1,10 @@
+"ChapterCollator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"ChapterCollator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"ChapterCollator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"compareSubstring()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"compareString()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"loadDefaultCollator()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithm()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"listCollatorAlgorithms()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithmWithEndUserOption()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"listCollatorOptions()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv
new file mode 100644
index 000000000000..1bac53629e01
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv
@@ -0,0 +1,13 @@
+"CharacterClassification";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"CharacterClassification";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"CharacterClassification";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"toUpper()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"toLower()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"toTitle()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getType()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getCharacterDirection()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getScript()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getCharacterType()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getStringType()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"parseAnyToken()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"parsePredefinedToken()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv
new file mode 100644
index 000000000000..df33241573ab
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv
@@ -0,0 +1,10 @@
+"Collator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Collator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Collator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Collator";"com::sun::star::i18n::XCollator";"compareSubstring()"
+"Collator";"com::sun::star::i18n::XCollator";"compareString()"
+"Collator";"com::sun::star::i18n::XCollator";"loadDefaultCollator()"
+"Collator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithm()"
+"Collator";"com::sun::star::i18n::XCollator";"listCollatorAlgorithms()"
+"Collator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithmWithEndUserOption()"
+"Collator";"com::sun::star::i18n::XCollator";"listCollatorOptions()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv
new file mode 100644
index 000000000000..537f8522bfb9
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv
@@ -0,0 +1,12 @@
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getLocaleList()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getAlgorithmList()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"usePhoneticEntry()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getPhoneticCandidate()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"loadAlgorithm()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getIndexKey()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"compareIndexEntry()"
+"IndexEntrySupplier";"com::sun::star::i18n::XIndexEntrySupplier";"getIndexCharacter()"
+"IndexEntrySupplier";"com::sun::star::i18n::XIndexEntrySupplier";"getIndexFollowPageWord()"
+"IndexEntrySupplier";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"IndexEntrySupplier";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"IndexEntrySupplier";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv
new file mode 100644
index 000000000000..0ad6a0b81dea
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv
@@ -0,0 +1,15 @@
+"LocaleData";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"LocaleData";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"LocaleData";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getLanguageCountryInfo()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getLocaleItem()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllCalendars()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllCurrencies()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllFormats()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getCollatorImplementations()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getSearchOptions()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getCollationOptions()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getTransliterations()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getForbiddenCharacters()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getReservedWord()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllInstalledLocaleNames()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv
new file mode 100644
index 000000000000..a21ceb721fdf
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv
@@ -0,0 +1,7 @@
+"NumberFormatCodeMapper";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"NumberFormatCodeMapper";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"NumberFormatCodeMapper";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getDefault()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getFormatCode()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getAllFormatCode()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getAllFormatCodes()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv
new file mode 100644
index 000000000000..00ba548244b7
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv
@@ -0,0 +1,19 @@
+"Transliteration";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Transliteration";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Transliteration";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Transliteration";"com::sun::star::i18n::XExtendedTransliteration#optional";"transliterateString2String()"
+"Transliteration";"com::sun::star::i18n::XExtendedTransliteration#optional";"transliterateChar2String()"
+"Transliteration";"com::sun::star::i18n::XExtendedTransliteration#optional";"transliterateChar2Char()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"getName()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"getType()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModule()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModuleNew()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModuleByImplName()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModulesByImplNames()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"getAvailableModules()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"transliterate()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"folding()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"equals()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"transliterateRange()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"compareSubstring()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"compareString()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv b/qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv
new file mode 100644
index 000000000000..6cb6ae9ffcc2
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv
@@ -0,0 +1,3 @@
+"TextSearch";"com::sun::star::util::XTextSearch";"setOptions()"
+"TextSearch";"com::sun::star::util::XTextSearch";"searchForward()"
+"TextSearch";"com::sun::star::util::XTextSearch";"searchBackward()"
diff --git a/qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv b/qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv
new file mode 100644
index 000000000000..9534af931de2
--- /dev/null
+++ b/qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv
@@ -0,0 +1,4 @@
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"registerImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"revokeImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"getImplementations()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"checkInstantiation()"
diff --git a/qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv b/qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv
new file mode 100644
index 000000000000..9534af931de2
--- /dev/null
+++ b/qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv
@@ -0,0 +1,4 @@
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"registerImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"revokeImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"getImplementations()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"checkInstantiation()"
diff --git a/qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv b/qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv
new file mode 100644
index 000000000000..430bd5f0cdd8
--- /dev/null
+++ b/qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv
@@ -0,0 +1 @@
+"Introspection";"com::sun::star::beans::XIntrospection";"inspect()"
diff --git a/qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv b/qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv
new file mode 100644
index 000000000000..430bd5f0cdd8
--- /dev/null
+++ b/qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv
@@ -0,0 +1 @@
+"Introspection";"com::sun::star::beans::XIntrospection";"inspect()"
diff --git a/qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv b/qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv
new file mode 100644
index 000000000000..9e909a88dbf6
--- /dev/null
+++ b/qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv
@@ -0,0 +1,2 @@
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
diff --git a/qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv b/qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
new file mode 100644
index 000000000000..34288d0f4331
--- /dev/null
+++ b/qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
@@ -0,0 +1,2 @@
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory2";"createAdapter()"
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory";"createAdapter()"
diff --git a/qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv b/qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
new file mode 100644
index 000000000000..34288d0f4331
--- /dev/null
+++ b/qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
@@ -0,0 +1,2 @@
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory2";"createAdapter()"
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory";"createAdapter()"
diff --git a/qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv b/qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv
new file mode 100644
index 000000000000..9e909a88dbf6
--- /dev/null
+++ b/qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv
@@ -0,0 +1,2 @@
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
diff --git a/qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv b/qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv
new file mode 100644
index 000000000000..aef8f402fdbd
--- /dev/null
+++ b/qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv
@@ -0,0 +1,5 @@
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv b/qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv
new file mode 100644
index 000000000000..aef8f402fdbd
--- /dev/null
+++ b/qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv
@@ -0,0 +1,5 @@
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv b/qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv
new file mode 100644
index 000000000000..04c3aac55426
--- /dev/null
+++ b/qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv
@@ -0,0 +1,6 @@
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"isThreadAttached()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"registerThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"revokeThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"getJavaVM()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMStarted()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMEnabled()"
diff --git a/qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv b/qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv
new file mode 100644
index 000000000000..da415511ffac
--- /dev/null
+++ b/qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv
@@ -0,0 +1,5 @@
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv b/qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv
new file mode 100644
index 000000000000..04c3aac55426
--- /dev/null
+++ b/qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv
@@ -0,0 +1,6 @@
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"isThreadAttached()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"registerThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"revokeThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"getJavaVM()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMStarted()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMEnabled()"
diff --git a/qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv b/qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv
new file mode 100644
index 000000000000..b8406e4b4d3d
--- /dev/null
+++ b/qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv
@@ -0,0 +1,18 @@
+"DicList";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DicList";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DicList";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DicList";"com::sun::star::lang::XComponent";"dispose()"
+"DicList";"com::sun::star::lang::XComponent";"addEventListener()"
+"DicList";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"getCount()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"getDictionaries()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"getDictionaryByName()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"addDictionary()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"removeDictionary()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"addDictionaryListEventListener()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"removeDictionaryListEventListener()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"beginCollectEvents()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"endCollectEvents()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"flushEvents()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"createDictionary()"
+"DicList";"com::sun::star::linguistic2::XSearchableDictionaryList";"queryDictionaryEntry()"
diff --git a/qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv
new file mode 100644
index 000000000000..eea62d32cead
--- /dev/null
+++ b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv
@@ -0,0 +1,34 @@
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsGermanPreReform"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsUseDictionaryList"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsIgnoreControlCharacters"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellUpperCase"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellWithDigits"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellCapitalization"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"HyphMinLeading"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"HyphMinTrailing"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"HyphMinWordLength"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"DefaultLocale"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsHyphAuto"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsHyphSpecial"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellAuto"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellHide"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellInAllLanguages"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellSpecial"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsWrapReverse"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"DefaultLocale_CJK"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"DefaultLocale_CTL"
+"LinguProps";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"LinguProps";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"LinguProps";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"LinguProps";"com::sun::star::lang::XComponent";"dispose()"
+"LinguProps";"com::sun::star::lang::XComponent";"addEventListener()"
+"LinguProps";"com::sun::star::lang::XComponent";"removeEventListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"LinguProps";"com::sun::star::beans::XFastPropertySet";"setFastPropertyValue()"
+"LinguProps";"com::sun::star::beans::XFastPropertySet";"getFastPropertyValue()"
diff --git a/qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv
new file mode 100644
index 000000000000..2b3a175fbe36
--- /dev/null
+++ b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv
@@ -0,0 +1,15 @@
+"LngSvcMgr";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"LngSvcMgr";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"LngSvcMgr";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"LngSvcMgr";"com::sun::star::lang::XComponent";"dispose()"
+"LngSvcMgr";"com::sun::star::lang::XComponent";"addEventListener()"
+"LngSvcMgr";"com::sun::star::lang::XComponent";"removeEventListener()"
+"LngSvcMgr";"com::sun::star::linguistic2::XAvailableLocales";"getAvailableLocales()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"getSpellChecker()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"getHyphenator()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"getThesaurus()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"addLinguServiceManagerListener()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"removeLinguServiceManagerListener()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"getAvailableServices()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"setConfiguredServices()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager";"getConfiguredServices()"
diff --git a/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv
new file mode 100644
index 000000000000..da591a43af72
--- /dev/null
+++ b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv
@@ -0,0 +1,15 @@
+"Hyphenator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Hyphenator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Hyphenator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Hyphenator";"com::sun::star::lang::XComponent";"dispose()"
+"Hyphenator";"com::sun::star::lang::XComponent";"addEventListener()"
+"Hyphenator";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Hyphenator";"com::sun::star::lang::XInitialization";"initialize()"
+"Hyphenator";"com::sun::star::linguistic2::XHyphenator";"hyphenate()"
+"Hyphenator";"com::sun::star::linguistic2::XHyphenator";"queryAlternativeSpelling()"
+"Hyphenator";"com::sun::star::linguistic2::XHyphenator";"createPossibleHyphens()"
+"Hyphenator";"com::sun::star::linguistic2::XSupportedLocales";"getLocales()"
+"Hyphenator";"com::sun::star::linguistic2::XSupportedLocales";"hasLocale()"
+"Hyphenator";"com::sun::star::lang::XServiceDisplayName";"getServiceDisplayName()"
+"Hyphenator";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"addLinguServiceEventListener()"
+"Hyphenator";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"removeLinguServiceEventListener()"
diff --git a/qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv
new file mode 100644
index 000000000000..a1e42aa6c5ce
--- /dev/null
+++ b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv
@@ -0,0 +1,14 @@
+"SpellChecker";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SpellChecker";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SpellChecker";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SpellChecker";"com::sun::star::lang::XComponent";"dispose()"
+"SpellChecker";"com::sun::star::lang::XComponent";"addEventListener()"
+"SpellChecker";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SpellChecker";"com::sun::star::lang::XInitialization";"initialize()"
+"SpellChecker";"com::sun::star::linguistic2::XSupportedLocales";"getLocales()"
+"SpellChecker";"com::sun::star::linguistic2::XSupportedLocales";"hasLocale()"
+"SpellChecker";"com::sun::star::lang::XServiceDisplayName";"getServiceDisplayName()"
+"SpellChecker";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"addLinguServiceEventListener()"
+"SpellChecker";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"removeLinguServiceEventListener()"
+"SpellChecker";"com::sun::star::linguistic2::XSpellChecker";"isValid()"
+"SpellChecker";"com::sun::star::linguistic2::XSpellChecker";"spell()"
diff --git a/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv
new file mode 100644
index 000000000000..a8803f365bc2
--- /dev/null
+++ b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv
@@ -0,0 +1,11 @@
+"Thesaurus";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Thesaurus";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Thesaurus";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Thesaurus";"com::sun::star::lang::XComponent";"dispose()"
+"Thesaurus";"com::sun::star::lang::XComponent";"addEventListener()"
+"Thesaurus";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Thesaurus";"com::sun::star::lang::XInitialization";"initialize()"
+"Thesaurus";"com::sun::star::linguistic2::XSupportedLocales";"getLocales()"
+"Thesaurus";"com::sun::star::linguistic2::XSupportedLocales";"hasLocale()"
+"Thesaurus";"com::sun::star::lang::XServiceDisplayName";"getServiceDisplayName()"
+"Thesaurus";"com::sun::star::linguistic2::XThesaurus";"queryMeanings()"
diff --git a/qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv b/qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv
new file mode 100644
index 000000000000..5658f170cffb
--- /dev/null
+++ b/qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv
@@ -0,0 +1,6 @@
+"MimeContentTypeFactory";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"MimeContentTypeFactory";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"MimeContentTypeFactory";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"MimeContentTypeFactory";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"MimeContentTypeFactory";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"MimeContentTypeFactory";"com::sun::star::datatransfer::XMimeContentTypeFactory";"createMimeContentType()"
diff --git a/qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv b/qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv
new file mode 100644
index 000000000000..acb7cac7a8be
--- /dev/null
+++ b/qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv
@@ -0,0 +1,5 @@
+"MozabDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv b/qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv
new file mode 100644
index 000000000000..c4c21bb51081
--- /dev/null
+++ b/qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv
@@ -0,0 +1,3 @@
+"NamingService";"com::sun::star::uno::XNamingService";"getRegisteredObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"registerObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"revokeObject()"
diff --git a/qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv b/qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv
new file mode 100644
index 000000000000..c4c21bb51081
--- /dev/null
+++ b/qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv
@@ -0,0 +1,3 @@
+"NamingService";"com::sun::star::uno::XNamingService";"getRegisteredObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"registerObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"revokeObject()"
diff --git a/qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv b/qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv
new file mode 100644
index 000000000000..cf4cd3cef419
--- /dev/null
+++ b/qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv
@@ -0,0 +1,9 @@
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
+"NestedRegistry";"com::sun::star::lang::XInitialization";"initialize()"
diff --git a/qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv b/qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv
new file mode 100644
index 000000000000..58a1360c68a0
--- /dev/null
+++ b/qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv
@@ -0,0 +1,5 @@
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv b/qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv
new file mode 100644
index 000000000000..4dd7824f98c1
--- /dev/null
+++ b/qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv
@@ -0,0 +1,9 @@
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"Driver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"Driver";"com::sun::star::sdbc::XDriver";"connect()"
+"Driver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"Driver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"Driver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv
new file mode 100644
index 000000000000..74e7acf5d188
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv
@@ -0,0 +1,19 @@
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"ButtonNavigationHandler";"com::sun::star::lang::XComponent";"dispose()"
+"ButtonNavigationHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"ButtonNavigationHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv
new file mode 100644
index 000000000000..bcbbdb299707
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv
@@ -0,0 +1,19 @@
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"CellBindingPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"CellBindingPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"CellBindingPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv
new file mode 100644
index 000000000000..1ad82e890898
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv
@@ -0,0 +1,7 @@
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"describeCategories()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"getPropertyOrderIndex()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HandlerFactories()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HasHelpSection()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MinHelpTextLines()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MaxHelpTextLines()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"IsReadOnly()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv
new file mode 100644
index 000000000000..6db082331091
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv
@@ -0,0 +1,19 @@
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"EFormsPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"EFormsPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"EFormsPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv
new file mode 100644
index 000000000000..8e2e5988bbd4
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv
@@ -0,0 +1,19 @@
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"EditPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"EditPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"EditPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv
new file mode 100644
index 000000000000..02cdd1344b08
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv
@@ -0,0 +1,19 @@
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"EventHandler";"com::sun::star::lang::XComponent";"dispose()"
+"EventHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"EventHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv
new file mode 100644
index 000000000000..cf7889577347
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv
@@ -0,0 +1,19 @@
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"FormComponentPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"FormComponentPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"FormComponentPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv
new file mode 100755
index 000000000000..d29d0df55fa7
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv
@@ -0,0 +1,19 @@
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"GenericPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"GenericPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"GenericPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv
new file mode 100644
index 000000000000..689031e8cd98
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv
@@ -0,0 +1,19 @@
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"XSDValidationPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"XSDValidationPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"XSDValidationPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv
new file mode 100644
index 000000000000..68338f4ff6c7
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv
@@ -0,0 +1,27 @@
+"FormController";"com::sun::star::lang::XComponent";"dispose()"
+"FormController";"com::sun::star::lang::XComponent";"addEventListener()"
+"FormController";"com::sun::star::lang::XComponent";"removeEventListener()"
+"FormController";"com::sun::star::form::PropertyBrowserController";"IntrospectedObject"
+"FormController";"com::sun::star::form::PropertyBrowserController";"CurrentPage"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"FormController";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"FormController";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"FormController";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"FormController";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"FormController";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"FormController";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"FormController";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"FormController";"com::sun::star::beans::XFastPropertySet";"setFastPropertyValue()"
+"FormController";"com::sun::star::beans::XFastPropertySet";"getFastPropertyValue()"
+"FormController";"com::sun::star::frame::XController";"attachFrame()"
+"FormController";"com::sun::star::frame::XController";"attachModel()"
+"FormController";"com::sun::star::frame::XController";"suspend()"
+"FormController";"com::sun::star::frame::XController";"getViewData()"
+"FormController";"com::sun::star::frame::XController";"restoreViewData()"
+"FormController";"com::sun::star::frame::XController";"getModel()"
+"FormController";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv
new file mode 100755
index 000000000000..187561999b67
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv
@@ -0,0 +1,13 @@
+"ObjectInspector";"com::sun::star::lang::XComponent";"dispose()"
+"ObjectInspector";"com::sun::star::lang::XComponent";"addEventListener()"
+"ObjectInspector";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ObjectInspector";"com::sun::star::inspection::XObjectInspector";"inspect()"
+"ObjectInspector";"com::sun::star::inspection::XObjectInspector";"InspectorModel()"
+"ObjectInspector";"com::sun::star::inspection::XObjectInspector";"InspectorUI()"
+"ObjectInspector";"com::sun::star::frame::XController";"attachFrame()"
+"ObjectInspector";"com::sun::star::frame::XController";"attachModel()"
+"ObjectInspector";"com::sun::star::frame::XController";"suspend()"
+"ObjectInspector";"com::sun::star::frame::XController";"getViewData()"
+"ObjectInspector";"com::sun::star::frame::XController";"restoreViewData()"
+"ObjectInspector";"com::sun::star::frame::XController";"getModel()"
+"ObjectInspector";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv
new file mode 100644
index 000000000000..6420fe934cac
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv
@@ -0,0 +1,7 @@
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"describeCategories()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"getPropertyOrderIndex()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HandlerFactories()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HasHelpSection()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MinHelpTextLines()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MaxHelpTextLines()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"IsReadOnly()"
diff --git a/qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv b/qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv
new file mode 100644
index 000000000000..9021cd2b1afd
--- /dev/null
+++ b/qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv
@@ -0,0 +1 @@
+"ProxyFactory";"com::sun::star::reflection::XProxyFactory";"createProxy()"
diff --git a/qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv b/qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv
new file mode 100644
index 000000000000..9021cd2b1afd
--- /dev/null
+++ b/qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv
@@ -0,0 +1 @@
+"ProxyFactory";"com::sun::star::reflection::XProxyFactory";"createProxy()"
diff --git a/qadevOOo/objdsc/proxyset/com.sun.star.comp.system.SystemProxySettings.csv b/qadevOOo/objdsc/proxyset/com.sun.star.comp.system.SystemProxySettings.csv
new file mode 100644
index 000000000000..e4a1ca43edbb
--- /dev/null
+++ b/qadevOOo/objdsc/proxyset/com.sun.star.comp.system.SystemProxySettings.csv
@@ -0,0 +1,17 @@
+"SystemProxySettings";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SystemProxySettings";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SystemProxySettings";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SystemProxySettings";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SystemProxySettings";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getFtpProxyAddress()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getFtpProxyPort()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getGopherProxyAddress()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getGopherProxyPort()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getHttpProxyAddress()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getHttpProxyPort()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getHttpsProxyAddress()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getHttpsProxyPort()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getSocksProxyAddress()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getSocksProxyPort()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"getProxyBypassAddress()"
+"SystemProxySettings";"com::sun::star::system::XProxySettings";"isProxyEnabled()"
diff --git a/qadevOOo/objdsc/qadevOOo/bogus.SelfTest.csv b/qadevOOo/objdsc/qadevOOo/bogus.SelfTest.csv
new file mode 100755
index 000000000000..3983a1e88578
--- /dev/null
+++ b/qadevOOo/objdsc/qadevOOo/bogus.SelfTest.csv
@@ -0,0 +1,7 @@
+# "Name";
+# "com::sun::star::" will overread
+# method name which is called
+"SelfTest";"com::sun::star::qadevooo::SelfTest";"testmethod()"
+"SelfTest";"com::sun::star::qadevooo::SelfTest";"testmethod2()"
+"SelfTest";"com::sun::star::qadevooo::SelfTest";"testmethod3()"
+# "SelfTest";"com::sun::star::qadevooo::SelfTest#optional";"testmethod4_bogus()"
diff --git a/qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv b/qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
new file mode 100644
index 000000000000..29822fbf09bb
--- /dev/null
+++ b/qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
@@ -0,0 +1,6 @@
+"RegistryTypeDescriptionProvider";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"dispose()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
diff --git a/qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv b/qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
new file mode 100644
index 000000000000..29822fbf09bb
--- /dev/null
+++ b/qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
@@ -0,0 +1,6 @@
+"RegistryTypeDescriptionProvider";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"dispose()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
diff --git a/qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv b/qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv
new file mode 100644
index 000000000000..fb4ef2efbd3a
--- /dev/null
+++ b/qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv
@@ -0,0 +1,7 @@
+"various";"com::sun::star::lang::XComponent";"dispose()"
+"various";"com::sun::star::lang::XComponent";"addEventListener()"
+"various";"com::sun::star::lang::XComponent";"removeEventListener()"
+"various";"com::sun::star::lang::XInitialization";"initialize()"
+"various";"com::sun::star::bridge::XBridge";"getInstance()"
+"various";"com::sun::star::bridge::XBridge";"getName()"
+"various";"com::sun::star::bridge::XBridge";"getDescription()"
diff --git a/qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv b/qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv
new file mode 100644
index 000000000000..fb4ef2efbd3a
--- /dev/null
+++ b/qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv
@@ -0,0 +1,7 @@
+"various";"com::sun::star::lang::XComponent";"dispose()"
+"various";"com::sun::star::lang::XComponent";"addEventListener()"
+"various";"com::sun::star::lang::XComponent";"removeEventListener()"
+"various";"com::sun::star::lang::XInitialization";"initialize()"
+"various";"com::sun::star::bridge::XBridge";"getInstance()"
+"various";"com::sun::star::bridge::XBridge";"getName()"
+"various";"com::sun::star::bridge::XBridge";"getDescription()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv
new file mode 100644
index 000000000000..669adc9a30f6
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv
new file mode 100644
index 000000000000..08204fe94f87
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv
new file mode 100644
index 000000000000..f05c29aadefa
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv
new file mode 100644
index 000000000000..deb62dc4b39f
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv
new file mode 100644
index 000000000000..1970f1252f2b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv
new file mode 100644
index 000000000000..767ea2ae0899
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv
new file mode 100644
index 000000000000..316d947f09de
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv
new file mode 100644
index 000000000000..fd0e0f32db56
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv
new file mode 100644
index 000000000000..5e863bb09470
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv
new file mode 100644
index 000000000000..c8bc5bca0afb
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationObj.csv
new file mode 100644
index 000000000000..7821167a6d1a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationObj.csv
@@ -0,0 +1,17 @@
+"ScAnnotationObj";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"ScAnnotationObj";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"ScAnnotationObj";"com::sun::star::text::XSimpleText";"insertString()"
+"ScAnnotationObj";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"ScAnnotationObj";"com::sun::star::text::XTextRange";"getText()"
+"ScAnnotationObj";"com::sun::star::text::XTextRange";"getStart()"
+"ScAnnotationObj";"com::sun::star::text::XTextRange";"getEnd()"
+"ScAnnotationObj";"com::sun::star::text::XTextRange";"getString()"
+"ScAnnotationObj";"com::sun::star::text::XTextRange";"setString()"
+"ScAnnotationObj";"com::sun::star::sheet::XSheetAnnotationShapeSupplier#optional";"getAnnotationShape()"
+"ScAnnotationObj";"com::sun::star::sheet::XSheetAnnotation";"getPosition()"
+"ScAnnotationObj";"com::sun::star::sheet::XSheetAnnotation";"getAuthor()"
+"ScAnnotationObj";"com::sun::star::sheet::XSheetAnnotation";"getDate()"
+"ScAnnotationObj";"com::sun::star::sheet::XSheetAnnotation";"getIsVisible()"
+"ScAnnotationObj";"com::sun::star::sheet::XSheetAnnotation";"setIsVisible()"
+"ScAnnotationObj";"com::sun::star::container::XChild";"getParent()"
+"ScAnnotationObj";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv
new file mode 100644
index 000000000000..8603486e3636
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv
@@ -0,0 +1,244 @@
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScAnnotationShapeObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScAnnotationShapeObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScAnnotationShapeObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Printable#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Name#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Style#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"ScAnnotationShapeObj";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineDash"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineColor"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ScAnnotationShapeObj";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"ScAnnotationShapeObj";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"ScAnnotationShapeObj";"com::sun::star::text::XSimpleText";"insertString()"
+"ScAnnotationShapeObj";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"ScAnnotationShapeObj";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillColor"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"ScAnnotationShapeObj";"com::sun::star::text::XTextRange";"getText()"
+"ScAnnotationShapeObj";"com::sun::star::text::XTextRange";"getStart()"
+"ScAnnotationShapeObj";"com::sun::star::text::XTextRange";"getEnd()"
+"ScAnnotationShapeObj";"com::sun::star::text::XTextRange";"getString()"
+"ScAnnotationShapeObj";"com::sun::star::text::XTextRange";"setString()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CornerRadius"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionPoint"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionType"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionIsFixedAngle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionAngle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionGap"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionEscapeDirection"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionIsEscapeRelative"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionEscapeRelative"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionEscapeAbsolute"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionLineLength"
+"ScAnnotationShapeObj";"com::sun::star::drawing::CaptionShape";"CaptionIsFitLineLength"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::XShape";"getPosition()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::XShape";"setPosition()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::XShape";"getSize()"
+"ScAnnotationShapeObj";"com::sun::star::drawing::XShape";"setSize()"
+"ScAnnotationShapeObj";"com::sun::star::text::XText";"insertTextContent()"
+"ScAnnotationShapeObj";"com::sun::star::text::XText";"removeTextContent()"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationsObj.csv
new file mode 100644
index 000000000000..6e5c472dc78a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationsObj.csv
@@ -0,0 +1,7 @@
+"ScAnnotationsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScAnnotationsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScAnnotationsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScAnnotationsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScAnnotationsObj";"com::sun::star::sheet::XSheetAnnotations";"insertNew()"
+"ScAnnotationsObj";"com::sun::star::sheet::XSheetAnnotations";"removeByIndex()"
+"ScAnnotationsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinkObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinkObj.csv
new file mode 100644
index 000000000000..109b4fa38003
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinkObj.csv
@@ -0,0 +1,19 @@
+"ScAreaLinkObj";"com::sun::star::sheet::CellAreaLink";"Url"
+"ScAreaLinkObj";"com::sun::star::sheet::CellAreaLink";"Filter"
+"ScAreaLinkObj";"com::sun::star::sheet::CellAreaLink";"FilterOptions"
+"ScAreaLinkObj";"com::sun::star::sheet::CellAreaLink";"RefreshDelay"
+"ScAreaLinkObj";"com::sun::star::sheet::CellAreaLink";"RefreshPeriod#optional"
+"ScAreaLinkObj";"com::sun::star::util::XRefreshable";"refresh()"
+"ScAreaLinkObj";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"ScAreaLinkObj";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"ScAreaLinkObj";"com::sun::star::sheet::XAreaLink";"getSourceArea()"
+"ScAreaLinkObj";"com::sun::star::sheet::XAreaLink";"setSourceArea()"
+"ScAreaLinkObj";"com::sun::star::sheet::XAreaLink";"getDestArea()"
+"ScAreaLinkObj";"com::sun::star::sheet::XAreaLink";"setDestArea()"
+"ScAreaLinkObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScAreaLinkObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScAreaLinkObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScAreaLinkObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScAreaLinkObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScAreaLinkObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScAreaLinkObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinksObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinksObj.csv
new file mode 100644
index 000000000000..67a7cb9178da
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAreaLinksObj.csv
@@ -0,0 +1,7 @@
+"ScAreaLinksObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScAreaLinksObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScAreaLinksObj";"com::sun::star::sheet::XAreaLinks";"insertAtPosition()"
+"ScAreaLinksObj";"com::sun::star::sheet::XAreaLinks";"removeByIndex()"
+"ScAreaLinksObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScAreaLinksObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScAreaLinksObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv
new file mode 100644
index 000000000000..2d533ec7df41
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv
@@ -0,0 +1,50 @@
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontName"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontNameAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontNameComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontStyleName"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontStyleNameAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontStyleNameComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontCharSet"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontCharSetAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontCharSetComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontFamily"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontFamilyAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontFamilyComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontPitch"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontPitchAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontPitchComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharHeight"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharHeightAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharHeightComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharWeight"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharWeightAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharWeightComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharPosture"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharPostureAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharPostureComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharUnderline"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharCrossedOut"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharContoured"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharShadowed"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharColor"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CellBackColor"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"IsCellBackgroundTransparent"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ShadowFormat#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"HoriJustify#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"VertJustify#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"IsTextWrapped#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"Orientation#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"RotateAngle#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"RotateReference#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaTopMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaBottomMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaLeftMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaRightMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"TableBorder#optional"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatObj.csv
new file mode 100644
index 000000000000..e5015197c6bc
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatObj.csv
@@ -0,0 +1,20 @@
+"ScAutoFormatObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScAutoFormatObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScAutoFormatObj";"com::sun::star::sheet::TableAutoFormat";"IncludeFont"
+"ScAutoFormatObj";"com::sun::star::sheet::TableAutoFormat";"IncludeJustify"
+"ScAutoFormatObj";"com::sun::star::sheet::TableAutoFormat";"IncludeBorder"
+"ScAutoFormatObj";"com::sun::star::sheet::TableAutoFormat";"IncludeBackground"
+"ScAutoFormatObj";"com::sun::star::sheet::TableAutoFormat";"IncludeNumberFormat"
+"ScAutoFormatObj";"com::sun::star::sheet::TableAutoFormat";"IncludeWidthAndHeight"
+"ScAutoFormatObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScAutoFormatObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScAutoFormatObj";"com::sun::star::container::XNamed";"getName()"
+"ScAutoFormatObj";"com::sun::star::container::XNamed";"setName()"
+"ScAutoFormatObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScAutoFormatObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScAutoFormatObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScAutoFormatObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScAutoFormatObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScAutoFormatObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScAutoFormatObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScAutoFormatObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatsObj.csv
new file mode 100644
index 000000000000..048a06f520c2
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatsObj.csv
@@ -0,0 +1,11 @@
+"ScAutoFormatsObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScAutoFormatsObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScAutoFormatsObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScAutoFormatsObj";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ScAutoFormatsObj";"com::sun::star::container::XNameContainer";"insertByName()"
+"ScAutoFormatsObj";"com::sun::star::container::XNameContainer";"removeByName()"
+"ScAutoFormatsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScAutoFormatsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScAutoFormatsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScAutoFormatsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScAutoFormatsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv
new file mode 100644
index 000000000000..ab228661b347
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv
@@ -0,0 +1,239 @@
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellCursorObj";"com::sun::star::util::XMergeable";"merge()"
+"ScCellCursorObj";"com::sun::star::util::XMergeable";"getIsMerged()"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellCursorObj";"com::sun::star::table::XColumnRowRange";"getColumns()"
+"ScCellCursorObj";"com::sun::star::table::XColumnRowRange";"getRows()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetFilterable";"createFilterDescriptor()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetFilterable";"filter()"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangeAddressable";"getRangeAddress()"
+"ScCellCursorObj";"com::sun::star::table::XCellCursor";"gotoStart()"
+"ScCellCursorObj";"com::sun::star::table::XCellCursor";"gotoEnd()"
+"ScCellCursorObj";"com::sun::star::table::XCellCursor";"gotoNext()"
+"ScCellCursorObj";"com::sun::star::table::XCellCursor";"gotoPrevious()"
+"ScCellCursorObj";"com::sun::star::table::XCellCursor";"gotoOffset()"
+"ScCellCursorObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ScCellCursorObj";"com::sun::star::sheet::XUsedAreaCursor";"gotoStartOfUsedArea()"
+"ScCellCursorObj";"com::sun::star::sheet::XUsedAreaCursor";"gotoEndOfUsedArea()"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetOperation";"computeFunction()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetOperation";"clearContents()"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellCursorObj";"com::sun::star::sheet::XFormulaQuery";"queryDependents()"
+"ScCellCursorObj";"com::sun::star::sheet::XFormulaQuery";"queryPrecedents()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetFilterableEx";"createFilterDescriptorByObject()"
+"ScCellCursorObj";"com::sun::star::sheet::XArrayFormulaRange";"getArrayFormula()"
+"ScCellCursorObj";"com::sun::star::sheet::XArrayFormulaRange";"setArrayFormula()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangeFormula#optional";"getFormulaArray()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangeFormula#optional";"setFormulaArray()"
+"ScCellCursorObj";"com::sun::star::util::XIndent";"decrementIndent()"
+"ScCellCursorObj";"com::sun::star::util::XIndent";"incrementIndent()"
+"ScCellCursorObj";"com::sun::star::sheet::XMultipleOperation";"setTableOperation()"
+"ScCellCursorObj";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetCellRange";"getSpreadsheet()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellCursorObj";"com::sun::star::sheet::XUniqueCellFormatRangesSupplier";"getUniqueCellFormatRanges()"
+"ScCellCursorObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScCellCursorObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScCellCursorObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScCellCursorObj";"com::sun::star::sheet::XSubTotalCalculatable";"createSubTotalDescriptor()"
+"ScCellCursorObj";"com::sun::star::sheet::XSubTotalCalculatable";"applySubTotals()"
+"ScCellCursorObj";"com::sun::star::sheet::XSubTotalCalculatable";"removeSubTotals()"
+"ScCellCursorObj";"com::sun::star::sheet::SheetCellRange";"Position"
+"ScCellCursorObj";"com::sun::star::sheet::SheetCellRange";"Size"
+"ScCellCursorObj";"com::sun::star::sheet::SheetCellRange";"ConditionalFormat"
+"ScCellCursorObj";"com::sun::star::sheet::SheetCellRange";"ConditionalFormatLocal#optional"
+"ScCellCursorObj";"com::sun::star::sheet::SheetCellRange";"Validation"
+"ScCellCursorObj";"com::sun::star::sheet::SheetCellRange";"ValidationLocal#optional"
+"ScCellCursorObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScCellCursorObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScCellCursorObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangeData";"getDataArray()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangeData";"setDataArray()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellSeries";"fillSeries()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellSeries";"fillAuto()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellFormatRangesSupplier";"getCellFormatRanges()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetCellCursor";"collapseToCurrentRegion()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetCellCursor";"collapseToCurrentArray()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetCellCursor";"collapseToMergedArea()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetCellCursor";"expandToEntireColumns()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetCellCursor";"expandToEntireRows()"
+"ScCellCursorObj";"com::sun::star::sheet::XSheetCellCursor";"collapseToSize()"
+"ScCellCursorObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScCellCursorObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScCellCursorObj";"com::sun::star::util::XImportable";"createImportDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XImportable";"doImport()"
+"ScCellCursorObj";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XSortable";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldObj.csv
new file mode 100644
index 000000000000..bcb16d0a0c59
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldObj.csv
@@ -0,0 +1,16 @@
+"ScCellFieldObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScCellFieldObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScCellFieldObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScCellFieldObj";"com::sun::star::text::TextContent";"AnchorType#optional"
+"ScCellFieldObj";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"ScCellFieldObj";"com::sun::star::text::TextContent";"TextWrap#optional"
+"ScCellFieldObj";"com::sun::star::text::XTextField";"getPresentation()"
+"ScCellFieldObj";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ScCellFieldObj";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ScCellFieldObj";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ScCellFieldObj";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ScCellFieldObj";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ScCellFieldObj";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ScCellFieldObj";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ScCellFieldObj";"com::sun::star::text::XTextContent";"attach()"
+"ScCellFieldObj";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldsObj.csv
new file mode 100644
index 000000000000..8e7210da3839
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFieldsObj.csv
@@ -0,0 +1,6 @@
+"ScCellFieldsObj";"com::sun::star::util::XRefreshable";"refresh()"
+"ScCellFieldsObj";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"ScCellFieldsObj";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"ScCellFieldsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScCellFieldsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScCellFieldsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsEnumeration.csv
new file mode 100644
index 000000000000..f977812f7f3e
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScCellFormatsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScCellFormatsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsObj.csv
new file mode 100644
index 000000000000..6d993456bd81
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellFormatsObj.csv
@@ -0,0 +1,5 @@
+"ScCellFormatsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScCellFormatsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScCellFormatsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScCellFormatsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScCellFormatsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv
new file mode 100644
index 000000000000..583f9f622b18
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv
@@ -0,0 +1,223 @@
+"ScCellObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScCellObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScCellObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellObj";"com::sun::star::table::XColumnRowRange";"getColumns()"
+"ScCellObj";"com::sun::star::table::XColumnRowRange";"getRows()"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellObj";"com::sun::star::document::XActionLockable";"isActionLocked()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"addActionLock()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"removeActionLock()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"setActionLocks()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"resetActionLocks()"
+"ScCellObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScCellObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellObj";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"ScCellObj";"com::sun::star::sheet::XFormulaQuery";"queryDependents()"
+"ScCellObj";"com::sun::star::sheet::XFormulaQuery";"queryPrecedents()"
+"ScCellObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"ScCellObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"ScCellObj";"com::sun::star::util::XIndent";"decrementIndent()"
+"ScCellObj";"com::sun::star::util::XIndent";"incrementIndent()"
+"ScCellObj";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"ScCellObj";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"ScCellObj";"com::sun::star::text::XSimpleText";"insertString()"
+"ScCellObj";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScCellObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScCellObj";"com::sun::star::table::XCell";"getFormula()"
+"ScCellObj";"com::sun::star::table::XCell";"setFormula()"
+"ScCellObj";"com::sun::star::table::XCell";"getValue()"
+"ScCellObj";"com::sun::star::table::XCell";"setValue()"
+"ScCellObj";"com::sun::star::table::XCell";"getType()"
+"ScCellObj";"com::sun::star::table::XCell";"getError()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getText()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getStart()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getEnd()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getString()"
+"ScCellObj";"com::sun::star::text::XTextRange";"setString()"
+"ScCellObj";"com::sun::star::sheet::XCellAddressable";"getCellAddress()"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"Position"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"Size"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"FormulaLocal#optional"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"FormulaResultType"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"ConditionalFormat"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"ConditionalFormatLocal#optional"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"Validation"
+"ScCellObj";"com::sun::star::sheet::SheetCell";"ValidationLocal#optional"
+"ScCellObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScCellObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScCellObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScCellObj";"com::sun::star::text::XTextFieldsSupplier";"getTextFields()"
+"ScCellObj";"com::sun::star::text::XTextFieldsSupplier";"getTextFieldMasters()"
+"ScCellObj";"com::sun::star::sheet::XSheetAnnotationAnchor";"getAnnotation()"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellObj";"com::sun::star::text::Text";"StartRedline#optional"
+"ScCellObj";"com::sun::star::text::Text";"EndRedline#optional"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellObj";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"ScCellObj";"com::sun::star::text::XText";"insertTextContent()"
+"ScCellObj";"com::sun::star::text::XText";"removeTextContent()"
+"ScCellObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScCellObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScCellObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"ScCellObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv
new file mode 100644
index 000000000000..ee4353710eb2
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv
@@ -0,0 +1,226 @@
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellRangeObj";"com::sun::star::util::XMergeable";"merge()"
+"ScCellRangeObj";"com::sun::star::util::XMergeable";"getIsMerged()"
+"ScCellRangeObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellRangeObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScCellRangeObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScCellRangeObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellRangeObj";"com::sun::star::table::XColumnRowRange";"getColumns()"
+"ScCellRangeObj";"com::sun::star::table::XColumnRowRange";"getRows()"
+"ScCellRangeObj";"com::sun::star::sheet::XSheetFilterable";"createFilterDescriptor()"
+"ScCellRangeObj";"com::sun::star::sheet::XSheetFilterable";"filter()"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangeAddressable";"getRangeAddress()"
+"ScCellRangeObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScCellRangeObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScCellRangeObj";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ScCellRangeObj";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ScCellRangeObj";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ScCellRangeObj";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellRangeObj";"com::sun::star::sheet::XSheetOperation";"computeFunction()"
+"ScCellRangeObj";"com::sun::star::sheet::XSheetOperation";"clearContents()"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellRangeObj";"com::sun::star::sheet::XFormulaQuery";"queryDependents()"
+"ScCellRangeObj";"com::sun::star::sheet::XFormulaQuery";"queryPrecedents()"
+"ScCellRangeObj";"com::sun::star::sheet::XSheetFilterableEx";"createFilterDescriptorByObject()"
+"ScCellRangeObj";"com::sun::star::sheet::XArrayFormulaRange";"getArrayFormula()"
+"ScCellRangeObj";"com::sun::star::sheet::XArrayFormulaRange";"setArrayFormula()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangeFormula#optional";"getFormulaArray()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangeFormula#optional";"setFormulaArray()"
+"ScCellRangeObj";"com::sun::star::util::XIndent";"decrementIndent()"
+"ScCellRangeObj";"com::sun::star::util::XIndent";"incrementIndent()"
+"ScCellRangeObj";"com::sun::star::sheet::XMultipleOperation";"setTableOperation()"
+"ScCellRangeObj";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"ScCellRangeObj";"com::sun::star::sheet::XSheetCellRange";"getSpreadsheet()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellRangeObj";"com::sun::star::sheet::XUniqueCellFormatRangesSupplier";"getUniqueCellFormatRanges()"
+"ScCellRangeObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScCellRangeObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScCellRangeObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScCellRangeObj";"com::sun::star::sheet::XSubTotalCalculatable";"createSubTotalDescriptor()"
+"ScCellRangeObj";"com::sun::star::sheet::XSubTotalCalculatable";"applySubTotals()"
+"ScCellRangeObj";"com::sun::star::sheet::XSubTotalCalculatable";"removeSubTotals()"
+"ScCellRangeObj";"com::sun::star::sheet::SheetCellRange";"Position"
+"ScCellRangeObj";"com::sun::star::sheet::SheetCellRange";"Size"
+"ScCellRangeObj";"com::sun::star::sheet::SheetCellRange";"ConditionalFormat"
+"ScCellRangeObj";"com::sun::star::sheet::SheetCellRange";"ConditionalFormatLocal#optional"
+"ScCellRangeObj";"com::sun::star::sheet::SheetCellRange";"Validation"
+"ScCellRangeObj";"com::sun::star::sheet::SheetCellRange";"ValidationLocal#optional"
+"ScCellRangeObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScCellRangeObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScCellRangeObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangeData";"getDataArray()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangeData";"setDataArray()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellSeries";"fillSeries()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellSeries";"fillAuto()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellFormatRangesSupplier";"getCellFormatRanges()"
+"ScCellRangeObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScCellRangeObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScCellRangeObj";"com::sun::star::util::XImportable";"createImportDescriptor()"
+"ScCellRangeObj";"com::sun::star::util::XImportable";"doImport()"
+"ScCellRangeObj";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"ScCellRangeObj";"com::sun::star::util::XSortable";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv
new file mode 100644
index 000000000000..cfe1f3bfef3b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv
@@ -0,0 +1,206 @@
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellRangesObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScCellRangesObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScCellRangesObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellRangesObj";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ScCellRangesObj";"com::sun::star::container::XNameContainer";"insertByName()"
+"ScCellRangesObj";"com::sun::star::container::XNameContainer";"removeByName()"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellRangesObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScCellRangesObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetCellRanges";"getCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetCellRanges";"getRangeAddressesAsString()"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetCellRanges";"getRangeAddresses()"
+"ScCellRangesObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScCellRangesObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetOperation";"computeFunction()"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetOperation";"clearContents()"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetCellRangeContainer";"addRangeAddress()"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetCellRangeContainer";"removeRangeAddress()"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetCellRangeContainer";"addRangeAddresses()"
+"ScCellRangesObj";"com::sun::star::sheet::XSheetCellRangeContainer";"removeRangeAddresses()"
+"ScCellRangesObj";"com::sun::star::sheet::XFormulaQuery";"queryDependents()"
+"ScCellRangesObj";"com::sun::star::sheet::XFormulaQuery";"queryPrecedents()"
+"ScCellRangesObj";"com::sun::star::sheet::SheetCellRanges";"ConditionalFormat"
+"ScCellRangesObj";"com::sun::star::sheet::SheetCellRanges";"ConditionalFormatLocal#optional"
+"ScCellRangesObj";"com::sun::star::sheet::SheetCellRanges";"Validation"
+"ScCellRangesObj";"com::sun::star::sheet::SheetCellRanges";"ValidationLocal#optional"
+"ScCellRangesObj";"com::sun::star::util::XIndent";"decrementIndent()"
+"ScCellRangesObj";"com::sun::star::util::XIndent";"incrementIndent()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellRangesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScCellRangesObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"ScCellRangesObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellSearchObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellSearchObj.csv
new file mode 100644
index 000000000000..3af1d2feb37e
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellSearchObj.csv
@@ -0,0 +1,21 @@
+"ScCellSearchObj";"com::sun::star::util::XSearchDescriptor";"getSearchString()"
+"ScCellSearchObj";"com::sun::star::util::XSearchDescriptor";"setSearchString()"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchBackwards"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchCaseSensitive"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchWords"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchRegularExpression"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchStyles"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchSimilarity"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchSimilarityRelax"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchSimilarityRemove"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchSimilarityAdd"
+"ScCellSearchObj";"com::sun::star::util::SearchDescriptor";"SearchSimilarityExchange"
+"ScCellSearchObj";"com::sun::star::util::XReplaceDescriptor";"getReplaceString()"
+"ScCellSearchObj";"com::sun::star::util::XReplaceDescriptor";"setReplaceString()"
+"ScCellSearchObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellSearchObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellSearchObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellSearchObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellSearchObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellSearchObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellSearchObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv
new file mode 100644
index 000000000000..c38c09cc1156
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv
@@ -0,0 +1,180 @@
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"ScCellTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"ScCellTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"ScCellTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"ScCellTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsEnumeration.csv
new file mode 100644
index 000000000000..c4b6df4c5e94
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScCellsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScCellsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsObj.csv
new file mode 100644
index 000000000000..d6ede74a7d3f
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsObj.csv
@@ -0,0 +1,3 @@
+"ScCellsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScCellsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScCellsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartObj.csv
new file mode 100644
index 000000000000..8b0e4c91405c
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartObj.csv
@@ -0,0 +1,9 @@
+"ScChartObj";"com::sun::star::table::XTableChart";"getHasColumnHeaders()"
+"ScChartObj";"com::sun::star::table::XTableChart";"setHasColumnHeaders()"
+"ScChartObj";"com::sun::star::table::XTableChart";"getHasRowHeaders()"
+"ScChartObj";"com::sun::star::table::XTableChart";"setHasRowHeaders()"
+"ScChartObj";"com::sun::star::table::XTableChart";"getRanges()"
+"ScChartObj";"com::sun::star::table::XTableChart";"setRanges()"
+"ScChartObj";"com::sun::star::document::XEmbeddedObjectSupplier";"getEmbeddedObject()"
+"ScChartObj";"com::sun::star::container::XNamed";"getName()"
+"ScChartObj";"com::sun::star::container::XNamed";"setName()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartsObj.csv
new file mode 100644
index 000000000000..62d4817cdf9b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScChartsObj.csv
@@ -0,0 +1,10 @@
+"ScChartsObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScChartsObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScChartsObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScChartsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScChartsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScChartsObj";"com::sun::star::table::XTableCharts";"addNewByName()"
+"ScChartsObj";"com::sun::star::table::XTableCharts";"removeByName()"
+"ScChartsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScChartsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScChartsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScConsolidationDescriptor.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScConsolidationDescriptor.csv
new file mode 100644
index 000000000000..b63ae7188675
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScConsolidationDescriptor.csv
@@ -0,0 +1,12 @@
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"getFunction()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"setFunction()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"getSources()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"setSources()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"getStartOutputPosition()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"setStartOutputPosition()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"getUseColumnHeaders()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"setUseColumnHeaders()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"getUseRowHeaders()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"setUseRowHeaders()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"getInsertLinks()"
+"ScConsolidationDescriptor";"com::sun::star::sheet::XConsolidationDescriptor";"setInsertLinks()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinkObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinkObj.csv
new file mode 100644
index 000000000000..57dce6828d02
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinkObj.csv
@@ -0,0 +1,8 @@
+"ScDDELinkObj";"com::sun::star::util::XRefreshable";"refresh()"
+"ScDDELinkObj";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"ScDDELinkObj";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"ScDDELinkObj";"com::sun::star::sheet::XDDELink";"getApplication()"
+"ScDDELinkObj";"com::sun::star::sheet::XDDELink";"getTopic()"
+"ScDDELinkObj";"com::sun::star::sheet::XDDELink";"getItem()"
+"ScDDELinkObj";"com::sun::star::container::XNamed";"getName()"
+"ScDDELinkObj";"com::sun::star::container::XNamed";"setName()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinksObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinksObj.csv
new file mode 100644
index 000000000000..078a30a93b0e
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDDELinksObj.csv
@@ -0,0 +1,8 @@
+"ScDDELinksObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScDDELinksObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScDDELinksObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScDDELinksObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDDELinksObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDDELinksObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDDELinksObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDDELinksObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupItemObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupItemObj.csv
new file mode 100644
index 000000000000..b68ef064305b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupItemObj.csv
@@ -0,0 +1,2 @@
+"ScDataPilotFieldGroupItemObj";"com::sun::star::container::XNamed";"getName()"
+"ScDataPilotFieldGroupItemObj";"com::sun::star::container::XNamed";"setName()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupObj.csv
new file mode 100644
index 000000000000..13fc711cf91d
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupObj.csv
@@ -0,0 +1,10 @@
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XNamed";"getName()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XNamed";"setName()"
+"ScDataPilotFieldGroupObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupsObj.csv
new file mode 100644
index 000000000000..feccada1783b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldGroupsObj.csv
@@ -0,0 +1,8 @@
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDataPilotFieldGroupsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldObj.csv
new file mode 100644
index 000000000000..3cab66e718f4
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldObj.csv
@@ -0,0 +1,28 @@
+"ScDataPilotFieldObj";"com::sun::star::sheet::XDataPilotFieldGrouping#optional";"createNameGroup()"
+"ScDataPilotFieldObj";"com::sun::star::sheet::XDataPilotFieldGrouping#optional";"createDateGroup()"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"Orientation"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"Function"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"SelectedPage#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"UseSelectedPage#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"UsedHierarchy#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"HasSortInfo#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"SortInfo#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"HasLayoutInfo#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"LayoutInfo#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"HasAutoShowInfo#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"AutoShowInfo#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"HasReference#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"Reference#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"IsGroupField#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"GroupInfo#optional"
+"ScDataPilotFieldObj";"com::sun::star::sheet::DataPilotField";"ShowEmpty#optional"
+"ScDataPilotFieldObj";"com::sun::star::container::XNamed";"getName()"
+"ScDataPilotFieldObj";"com::sun::star::container::XNamed";"setName()"
+"ScDataPilotFieldObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScDataPilotFieldObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScDataPilotFieldObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScDataPilotFieldObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScDataPilotFieldObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScDataPilotFieldObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScDataPilotFieldObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScDataPilotFieldObj";"com::sun::star::sheet::XDataPilotField#optional";"getItems()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldsObj.csv
new file mode 100644
index 000000000000..10e5650ed423
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotFieldsObj.csv
@@ -0,0 +1,8 @@
+"ScDataPilotFieldsObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScDataPilotFieldsObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScDataPilotFieldsObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScDataPilotFieldsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDataPilotFieldsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDataPilotFieldsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDataPilotFieldsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDataPilotFieldsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv
new file mode 100644
index 000000000000..362ca346a1cf
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv
@@ -0,0 +1,11 @@
+"ScDataPilotItemObj";"com::sun::star::sheet::DataPilotItem";"ShowDetail"
+"ScDataPilotItemObj";"com::sun::star::sheet::DataPilotItem";"IsHidden"
+"ScDataPilotItemObj";"com::sun::star::container::XNamed";"getName()"
+"ScDataPilotItemObj";"com::sun::star::container::XNamed";"setName()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemsObj.csv
new file mode 100644
index 000000000000..6b5fa0c41ec7
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemsObj.csv
@@ -0,0 +1,8 @@
+"ScDataPilotItemsObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScDataPilotItemsObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScDataPilotItemsObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScDataPilotItemsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDataPilotItemsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDataPilotItemsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDataPilotItemsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDataPilotItemsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTableObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTableObj.csv
new file mode 100644
index 000000000000..bab50db1b312
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTableObj.csv
@@ -0,0 +1,20 @@
+"ScDataPilotTableObj";"com::sun::star::container::XNamed";"getName()"
+"ScDataPilotTableObj";"com::sun::star::container::XNamed";"setName()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getTag()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"setTag()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getSourceRange()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"setSourceRange()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getFilterDescriptor()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getDataPilotFields()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getColumnFields()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getRowFields()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getPageFields()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getDataFields()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotDescriptor";"getHiddenFields()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotTable";"getOutputRange()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotTable";"refresh()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotTable2";"getDrillDownData()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotTable2";"getPositionData()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotTable2";"insertDrillDownSheet()"
+"ScDataPilotTableObj";"com::sun::star::sheet::XDataPilotTable2";"getOutputRangeByType()"
+
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTablesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTablesObj.csv
new file mode 100644
index 000000000000..3fa9eccc6dda
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotTablesObj.csv
@@ -0,0 +1,11 @@
+"ScDataPilotTablesObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScDataPilotTablesObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScDataPilotTablesObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScDataPilotTablesObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDataPilotTablesObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDataPilotTablesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDataPilotTablesObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDataPilotTablesObj";"com::sun::star::sheet::XDataPilotTables";"createDataPilotDescriptor()"
+"ScDataPilotTablesObj";"com::sun::star::sheet::XDataPilotTables";"insertNewByName()"
+"ScDataPilotTablesObj";"com::sun::star::sheet::XDataPilotTables";"removeByName()"
+"ScDataPilotTablesObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv
new file mode 100644
index 000000000000..13916ae2eb56
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv
@@ -0,0 +1,28 @@
+"ScDatabaseRangeObj";"com::sun::star::util::XRefreshable#optional";"refresh()"
+"ScDatabaseRangeObj";"com::sun::star::util::XRefreshable#optional";"addRefreshListener()"
+"ScDatabaseRangeObj";"com::sun::star::util::XRefreshable#optional";"removeRefreshListener()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XCellRangeReferrer";"getReferredCells()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XDatabaseRange";"getDataArea()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XDatabaseRange";"setDataArea()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XDatabaseRange";"getSortDescriptor()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XDatabaseRange";"getFilterDescriptor()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XDatabaseRange";"getSubTotalDescriptor()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XDatabaseRange";"getImportDescriptor()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::XDatabaseRange";"refresh()"
+"ScDatabaseRangeObj";"com::sun::star::container::XNamed";"getName()"
+"ScDatabaseRangeObj";"com::sun::star::container::XNamed";"setName()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"MoveCells"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"KeepFormats"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"StripData"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"AutoFilter#optional"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"UseFilterCriteriaSource#optional"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"FilterCriteriaSource#optional"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"RefreshPeriod#optional"
+"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"FromSelection#optional"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangesObj.csv
new file mode 100644
index 000000000000..6b8b71e47fb2
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangesObj.csv
@@ -0,0 +1,10 @@
+"ScDatabaseRangesObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScDatabaseRangesObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScDatabaseRangesObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScDatabaseRangesObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDatabaseRangesObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDatabaseRangesObj";"com::sun::star::sheet::XDatabaseRanges";"addNewByName()"
+"ScDatabaseRangesObj";"com::sun::star::sheet::XDatabaseRanges";"removeByName()"
+"ScDatabaseRangesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDatabaseRangesObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDatabaseRangesObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv
new file mode 100644
index 000000000000..81b594f2953b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv
@@ -0,0 +1,49 @@
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"ForbiddenCharacters#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"LinkUpdateMode#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrinterName"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrinterSetup"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsKernAsianPunctuation#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CharacterCompressionType#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"ApplyUserData#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"SaveVersionOnClose#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"UpdateFromTemplate#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"FieldAutoUpdate#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CurrentDatabaseDataSource#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CurrentDatabaseCommand#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CurrentDatabaseCommandType#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"DefaultTabStop#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsPrintBooklet#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsPrintBookletFront#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsPrintBookletBack#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrintQuality#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"ColorTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"DashTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"LineEndTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"HatchTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"GradientTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"BitmapTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"AutoCalculate#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrinterIndependentLayout#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"AddExternalLeading#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"ShowZeroValues#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"ShowNotes#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"ShowGrid#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"GridColor#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"ShowPageBreaks#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"HasColumnRowHeaders#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"HasSheetTabs#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"IsOutlineSymbolsSet#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"IsSnapToRaster#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"RasterIsVisible#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"RasterResolutionX#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"RasterResolutionY#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"RasterSubdivisionX#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"RasterSubdivisionY#optional"
+"ScDocumentConfiguration";"com::sun::star::sheet::DocumentSettings";"IsRasterAxisSynchronized#optional"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv
new file mode 100644
index 000000000000..a5afd6833915
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPageObj.csv
@@ -0,0 +1,11 @@
+"ScDrawPageObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDrawPageObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDrawPageObj";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"ScDrawPageObj";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"ScDrawPageObj";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"ScDrawPageObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDrawPageObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDrawPageObj";"com::sun::star::drawing::XShapes";"add()"
+"ScDrawPageObj";"com::sun::star::drawing::XShapes";"remove()"
+"ScDrawPageObj";"com::sun::star::drawing::XShapeGrouper";"group()"
+"ScDrawPageObj";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPagesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPagesObj.csv
new file mode 100644
index 000000000000..e1775ea0d8db
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDrawPagesObj.csv
@@ -0,0 +1,8 @@
+"ScDrawPagesObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScDrawPagesObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScDrawPagesObj";"com::sun::star::drawing::XDrawPages";"insertNewByIndex()"
+"ScDrawPagesObj";"com::sun::star::drawing::XDrawPages";"remove()"
+"ScDrawPagesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScDrawPagesObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScDrawPagesObj";"com::sun::star::drawing::XDrawPageExpander#optional";"expand()"
+"ScDrawPagesObj";"com::sun::star::drawing::XDrawPageSummarizer#optional";"summarize()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFilterDescriptorBase.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFilterDescriptorBase.csv
new file mode 100644
index 000000000000..80cf902f40b8
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFilterDescriptorBase.csv
@@ -0,0 +1,18 @@
+"ScFilterDescriptorBase";"com::sun::star::sheet::XSheetFilterDescriptor";"getFilterFields()"
+"ScFilterDescriptorBase";"com::sun::star::sheet::XSheetFilterDescriptor";"setFilterFields()"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"IsCaseSensitive"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"SkipDuplicates"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"UseRegularExpressions"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"SaveOutputPosition"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"Orientation"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"ContainsHeader"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"CopyOutputData"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"OutputPosition"
+"ScFilterDescriptorBase";"com::sun::star::sheet::SheetFilterDescriptor";"MaxFieldCount"
+"ScFilterDescriptorBase";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScFilterDescriptorBase";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScFilterDescriptorBase";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScFilterDescriptorBase";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScFilterDescriptorBase";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScFilterDescriptorBase";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScFilterDescriptorBase";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFunctionListObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFunctionListObj.csv
new file mode 100644
index 000000000000..a784e0e0f29f
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScFunctionListObj.csv
@@ -0,0 +1,9 @@
+"ScFunctionListObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScFunctionListObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScFunctionListObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScFunctionListObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScFunctionListObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScFunctionListObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScFunctionListObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScFunctionListObj";"com::sun::star::sheet::XFunctionDescriptions";"getById()"
+"ScFunctionListObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldObj.csv
new file mode 100644
index 000000000000..3ae50e42ac18
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldObj.csv
@@ -0,0 +1,16 @@
+"ScHeaderFieldObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScHeaderFieldObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScHeaderFieldObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScHeaderFieldObj";"com::sun::star::text::TextContent";"AnchorType#optional"
+"ScHeaderFieldObj";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"ScHeaderFieldObj";"com::sun::star::text::TextContent";"TextWrap#optional"
+"ScHeaderFieldObj";"com::sun::star::text::XTextField";"getPresentation()"
+"ScHeaderFieldObj";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ScHeaderFieldObj";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ScHeaderFieldObj";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ScHeaderFieldObj";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ScHeaderFieldObj";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ScHeaderFieldObj";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ScHeaderFieldObj";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ScHeaderFieldObj";"com::sun::star::text::XTextContent";"attach()"
+"ScHeaderFieldObj";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldsObj.csv
new file mode 100644
index 000000000000..86875218abdd
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFieldsObj.csv
@@ -0,0 +1,6 @@
+"ScHeaderFieldsObj";"com::sun::star::util::XRefreshable";"refresh()"
+"ScHeaderFieldsObj";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"ScHeaderFieldsObj";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"ScHeaderFieldsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScHeaderFieldsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScHeaderFieldsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterContentObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterContentObj.csv
new file mode 100644
index 000000000000..e04311b56418
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterContentObj.csv
@@ -0,0 +1,3 @@
+"ScHeaderFooterContentObj";"com::sun::star::sheet::XHeaderFooterContent";"getLeftText()"
+"ScHeaderFooterContentObj";"com::sun::star::sheet::XHeaderFooterContent";"getCenterText()"
+"ScHeaderFooterContentObj";"com::sun::star::sheet::XHeaderFooterContent";"getRightText()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv
new file mode 100644
index 000000000000..db461f1de201
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv
@@ -0,0 +1,180 @@
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"ScHeaderFooterTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"ScHeaderFooterTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"ScHeaderFooterTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"ScHeaderFooterTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv
new file mode 100644
index 000000000000..2d9ddd6c1a70
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv
@@ -0,0 +1,21 @@
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"insertString()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"ScHeaderFooterTextObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScHeaderFooterTextObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getText()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getStart()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getEnd()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getString()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"setString()"
+"ScHeaderFooterTextObj";"com::sun::star::text::Text";"StartRedline#optional"
+"ScHeaderFooterTextObj";"com::sun::star::text::Text";"EndRedline#optional"
+"ScHeaderFooterTextObj";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XText";"insertTextContent()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XText";"removeTextContent()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAnnotationsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAnnotationsEnumeration.csv
new file mode 100644
index 000000000000..f68696975e86
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAnnotationsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_CellAnnotationsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_CellAnnotationsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAreaLinksEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAreaLinksEnumeration.csv
new file mode 100644
index 000000000000..c39b1fe9fa07
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_CellAreaLinksEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_CellAreaLinksEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_CellAreaLinksEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DDELinksEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DDELinksEnumeration.csv
new file mode 100644
index 000000000000..1b617c83d18e
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DDELinksEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_DDELinksEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_DDELinksEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotFieldsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotFieldsEnumeration.csv
new file mode 100644
index 000000000000..7a1ab2a5ecf4
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotFieldsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_DataPilotFieldsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_DataPilotFieldsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotItemsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotItemsEnumeration.csv
new file mode 100644
index 000000000000..f46004cbff37
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotItemsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_DataPilotItemsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_DataPilotItemsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotTablesEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotTablesEnumeration.csv
new file mode 100644
index 000000000000..756fb96baeca
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DataPilotTablesEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_DataPilotTablesEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_DataPilotTablesEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DatabaseRangesEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DatabaseRangesEnumeration.csv
new file mode 100644
index 000000000000..29d7fe9f2a09
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_DatabaseRangesEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_DatabaseRangesEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_DatabaseRangesEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_FunctionDescriptionEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_FunctionDescriptionEnumeration.csv
new file mode 100644
index 000000000000..b52ab0a709c8
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_FunctionDescriptionEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_FunctionDescriptionEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_FunctionDescriptionEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_LabelRangesEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_LabelRangesEnumeration.csv
new file mode 100644
index 000000000000..76dffe88c9fd
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_LabelRangesEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_LabelRangesEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_LabelRangesEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_NamedRangesEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_NamedRangesEnumeration.csv
new file mode 100644
index 000000000000..a325ed597e2e
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_NamedRangesEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_NamedRangesEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_NamedRangesEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_ScenariosEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_ScenariosEnumeration.csv
new file mode 100644
index 000000000000..ef8fb10de08f
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_ScenariosEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_ScenariosEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_ScenariosEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetCellRangesEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetCellRangesEnumeration.csv
new file mode 100644
index 000000000000..6c2b3574f77d
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetCellRangesEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_SheetCellRangesEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_SheetCellRangesEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetLinksEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetLinksEnumeration.csv
new file mode 100644
index 000000000000..5fdf9c037db7
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SheetLinksEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_SheetLinksEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_SheetLinksEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetViewPanesEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetViewPanesEnumeration.csv
new file mode 100644
index 000000000000..03d0ea5a3fb6
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetViewPanesEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_SpreadsheetViewPanesEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_SpreadsheetViewPanesEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetsEnumeration.csv
new file mode 100644
index 000000000000..d398ac47c6b5
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SpreadsheetsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_SpreadsheetsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_SpreadsheetsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SubTotalFieldsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SubTotalFieldsEnumeration.csv
new file mode 100644
index 000000000000..1cba00a04945
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_SubTotalFieldsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_SubTotalFieldsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_SubTotalFieldsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableAutoFormatEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableAutoFormatEnumeration.csv
new file mode 100644
index 000000000000..6c567e3de1fc
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableAutoFormatEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_TableAutoFormatEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_TableAutoFormatEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableChartsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableChartsEnumeration.csv
new file mode 100644
index 000000000000..f4128d6ee2f6
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableChartsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_TableChartsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_TableChartsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableColumnsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableColumnsEnumeration.csv
new file mode 100644
index 000000000000..87790be81cb9
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableColumnsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_TableColumnsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_TableColumnsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableConditionalEntryEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableConditionalEntryEnumeration.csv
new file mode 100644
index 000000000000..da66a948dec2
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableConditionalEntryEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_TableConditionalEntryEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_TableConditionalEntryEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableRowsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableRowsEnumeration.csv
new file mode 100644
index 000000000000..67398487b882
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TableRowsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_TableRowsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_TableRowsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TextFieldEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TextFieldEnumeration.csv
new file mode 100644
index 000000000000..f01b4c52b1f7
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScIndexEnumeration_TextFieldEnumeration.csv
@@ -0,0 +1,2 @@
+"ScIndexEnumeration_TextFieldEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScIndexEnumeration_TextFieldEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangeObj.csv
new file mode 100644
index 000000000000..19a9abea5c54
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangeObj.csv
@@ -0,0 +1,4 @@
+"ScLabelRangeObj";"com::sun::star::sheet::XLabelRange";"getLabelArea()"
+"ScLabelRangeObj";"com::sun::star::sheet::XLabelRange";"setLabelArea()"
+"ScLabelRangeObj";"com::sun::star::sheet::XLabelRange";"getDataArea()"
+"ScLabelRangeObj";"com::sun::star::sheet::XLabelRange";"setDataArea()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangesObj.csv
new file mode 100644
index 000000000000..ac8cae1c8e06
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScLabelRangesObj.csv
@@ -0,0 +1,7 @@
+"ScLabelRangesObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScLabelRangesObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScLabelRangesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScLabelRangesObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScLabelRangesObj";"com::sun::star::sheet::XLabelRanges";"addNew()"
+"ScLabelRangesObj";"com::sun::star::sheet::XLabelRanges";"removeByIndex()"
+"ScLabelRangesObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv
new file mode 100644
index 000000000000..c4da0da4f5a5
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv
@@ -0,0 +1,94 @@
+"ScModelObj";"com::sun::star::drawing::XDrawPagesSupplier";"getDrawPages()"
+"ScModelObj";"com::sun::star::document::XEventBroadcaster#optional";"addEventListener()"
+"ScModelObj";"com::sun::star::document::XEventBroadcaster#optional";"removeEventListener()"
+"ScModelObj";"com::sun::star::document::XLinkTargetSupplier";"getLinks()"
+"ScModelObj";"com::sun::star::style::XStyleFamiliesSupplier";"getStyleFamilies()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"isActionLocked()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"addActionLock()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"removeActionLock()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"setActionLocks()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"resetActionLocks()"
+"ScModelObj";"com::sun::star::view::XPrintable";"getPrinter()"
+"ScModelObj";"com::sun::star::view::XPrintable";"setPrinter()"
+"ScModelObj";"com::sun::star::view::XPrintable";"print()"
+"ScModelObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScModelObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScModelObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScModelObj";"com::sun::star::sheet::XSpreadsheetDocument";"getSheets()"
+"ScModelObj";"com::sun::star::util::XProtectable";"protect()"
+"ScModelObj";"com::sun::star::util::XProtectable";"unprotect()"
+"ScModelObj";"com::sun::star::util::XProtectable";"isProtected()"
+"ScModelObj";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ScModelObj";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ScModelObj";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"ScModelObj";"com::sun::star::view::XPrintJobBroadcaster#optional";"addPrintJobListener()"
+"ScModelObj";"com::sun::star::view::XPrintJobBroadcaster#optional";"removePrintJobListener()"
+"ScModelObj";"com::sun::star::document::XViewDataSupplier#optional";"getViewData()"
+"ScModelObj";"com::sun::star::document::XViewDataSupplier#optional";"setViewData()"
+"ScModelObj";"com::sun::star::frame::XStorable";"hasLocation()"
+"ScModelObj";"com::sun::star::frame::XStorable";"getLocation()"
+"ScModelObj";"com::sun::star::frame::XStorable";"isReadonly()"
+"ScModelObj";"com::sun::star::frame::XStorable";"store()"
+"ScModelObj";"com::sun::star::frame::XStorable";"storeAsURL()"
+"ScModelObj";"com::sun::star::frame::XStorable";"storeToURL()"
+"ScModelObj";"com::sun::star::sheet::XConsolidatable";"createConsolidationDescriptor()"
+"ScModelObj";"com::sun::star::sheet::XConsolidatable";"consolidate()"
+"ScModelObj";"com::sun::star::document::XEventsSupplier#optional";"getEvents()"
+"ScModelObj";"com::sun::star::util::XModifiable";"isModified()"
+"ScModelObj";"com::sun::star::util::XModifiable";"setModified()"
+"ScModelObj";"com::sun::star::sheet::XCalculatable";"calculate()"
+"ScModelObj";"com::sun::star::sheet::XCalculatable";"calculateAll()"
+"ScModelObj";"com::sun::star::sheet::XCalculatable";"isAutomaticCalculationEnabled()"
+"ScModelObj";"com::sun::star::sheet::XCalculatable";"enableAutomaticCalculation()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ScModelObj";"com::sun::star::document::XDocumentInfoSupplier#optional";"getDocumentInfo()"
+"ScModelObj";"com::sun::star::sheet::XDocumentAuditing";"refreshArrows()"
+"ScModelObj";"com::sun::star::sheet::XGoalSeek";"seekGoal()"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"NamedRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"DatabaseRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"ColumnLabelRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"RowLabelRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"SheetLinks"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"AreaLinks"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"DDELinks"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"IsIterationEnabled"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"IterationCount"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"IterationEpsilon"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"StandardDecimals"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"NullDate"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"DefaultTabStop"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"IgnoreCase"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"CalcAsShown"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"MatchWholeCell"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"SpellOnline"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"LookUpLabels"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"RegularExpressions"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"ForbiddenCharacters#optional"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"HasDrawPages#optional"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"CharLocale#optional"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"CharLocaleAsian#optional"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocumentSettings#optional";"CharLocaleComplex#optional"
+"ScModelObj";"com::sun::star::document::OfficeDocument";"AutomaticControlFocus#optional"
+"ScModelObj";"com::sun::star::document::OfficeDocument";"ApplyFormDesignMode#optional"
+"ScModelObj";"com::sun::star::document::OfficeDocument";"RuntimeUID#optional"
+"ScModelObj";"com::sun::star::frame::XModel";"attachResource()"
+"ScModelObj";"com::sun::star::frame::XModel";"getURL()"
+"ScModelObj";"com::sun::star::frame::XModel";"getArgs()"
+"ScModelObj";"com::sun::star::frame::XModel";"connectController()"
+"ScModelObj";"com::sun::star::frame::XModel";"disconnectController()"
+"ScModelObj";"com::sun::star::frame::XModel";"lockControllers()"
+"ScModelObj";"com::sun::star::frame::XModel";"unlockControllers()"
+"ScModelObj";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"ScModelObj";"com::sun::star::frame::XModel";"getCurrentController()"
+"ScModelObj";"com::sun::star::frame::XModel";"setCurrentController()"
+"ScModelObj";"com::sun::star::frame::XModel";"getCurrentSelection()"
+"ScModelObj";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"ScModelObj";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
+"ScModelObj";"com::sun::star::util::XNumberFormatsSupplier";"getNumberFormatSettings()"
+"ScModelObj";"com::sun::star::util::XNumberFormatsSupplier";"getNumberFormats()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangeObj.csv
new file mode 100644
index 000000000000..98e1beeccd8a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangeObj.csv
@@ -0,0 +1,9 @@
+"ScNamedRangeObj";"com::sun::star::sheet::XCellRangeReferrer";"getReferredCells()"
+"ScNamedRangeObj";"com::sun::star::container::XNamed";"getName()"
+"ScNamedRangeObj";"com::sun::star::container::XNamed";"setName()"
+"ScNamedRangeObj";"com::sun::star::sheet::XNamedRange";"getContent()"
+"ScNamedRangeObj";"com::sun::star::sheet::XNamedRange";"setContent()"
+"ScNamedRangeObj";"com::sun::star::sheet::XNamedRange";"getReferencePosition()"
+"ScNamedRangeObj";"com::sun::star::sheet::XNamedRange";"setReferencePosition()"
+"ScNamedRangeObj";"com::sun::star::sheet::XNamedRange";"getType()"
+"ScNamedRangeObj";"com::sun::star::sheet::XNamedRange";"setType()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangesObj.csv
new file mode 100644
index 000000000000..f3e5cdbf502e
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScNamedRangesObj.csv
@@ -0,0 +1,12 @@
+"ScNamedRangesObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScNamedRangesObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScNamedRangesObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScNamedRangesObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScNamedRangesObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScNamedRangesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScNamedRangesObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScNamedRangesObj";"com::sun::star::sheet::XNamedRanges";"addNewByName()"
+"ScNamedRangesObj";"com::sun::star::sheet::XNamedRanges";"addNewFromTitles()"
+"ScNamedRangesObj";"com::sun::star::sheet::XNamedRanges";"removeByName()"
+"ScNamedRangesObj";"com::sun::star::sheet::XNamedRanges";"outputList()"
+"ScNamedRangesObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScPageObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScPageObj.csv
new file mode 100644
index 000000000000..4a2f50a0b2f6
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScPageObj.csv
@@ -0,0 +1,11 @@
+"ScPageObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScPageObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScPageObj";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"ScPageObj";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"ScPageObj";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"ScPageObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScPageObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScPageObj";"com::sun::star::drawing::XShapes";"add()"
+"ScPageObj";"com::sun::star::drawing::XShapes";"remove()"
+"ScPageObj";"com::sun::star::drawing::XShapeGrouper";"group()"
+"ScPageObj";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScRecentFunctionsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScRecentFunctionsObj.csv
new file mode 100644
index 000000000000..67bf2d9a2a5c
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScRecentFunctionsObj.csv
@@ -0,0 +1,3 @@
+"ScRecentFunctionsObj";"com::sun::star::sheet::XRecentFunctions";"getRecentFunctionIds()"
+"ScRecentFunctionsObj";"com::sun::star::sheet::XRecentFunctions";"setRecentFunctionIds()"
+"ScRecentFunctionsObj";"com::sun::star::sheet::XRecentFunctions";"getMaxRecentFunctions()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScScenariosObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScScenariosObj.csv
new file mode 100644
index 000000000000..4e88b9a6ae7a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScScenariosObj.csv
@@ -0,0 +1,10 @@
+"ScScenariosObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScScenariosObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScScenariosObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScScenariosObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScScenariosObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScScenariosObj";"com::sun::star::sheet::XScenarios";"addNewByName()"
+"ScScenariosObj";"com::sun::star::sheet::XScenarios";"removeByName()"
+"ScScenariosObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScScenariosObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScScenariosObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv
new file mode 100644
index 000000000000..e4cb0812dbda
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv
@@ -0,0 +1,29 @@
+"ScShapeObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScShapeObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScShapeObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScShapeObj";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Printable#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Name#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Style#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ScShapeObj";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ScShapeObj";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"ScShapeObj";"com::sun::star::sheet::Shape";"Anchor"
+"ScShapeObj";"com::sun::star::sheet::Shape";"HoriOrientPosition"
+"ScShapeObj";"com::sun::star::sheet::Shape";"VertOrientPosition"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScShapeObj";"com::sun::star::drawing::XShape";"getPosition()"
+"ScShapeObj";"com::sun::star::drawing::XShape";"setPosition()"
+"ScShapeObj";"com::sun::star::drawing::XShape";"getSize()"
+"ScShapeObj";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv
new file mode 100644
index 000000000000..9caf4204d036
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv
@@ -0,0 +1,15 @@
+"ScSheetLinkObj";"com::sun::star::util::XRefreshable";"refresh()"
+"ScSheetLinkObj";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"ScSheetLinkObj";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"ScSheetLinkObj";"com::sun::star::sheet::SheetLink";"Url"
+"ScSheetLinkObj";"com::sun::star::sheet::SheetLink";"Filter"
+"ScSheetLinkObj";"com::sun::star::sheet::SheetLink";"FilterOptions"
+"ScSheetLinkObj";"com::sun::star::container::XNamed";"getName()"
+"ScSheetLinkObj";"com::sun::star::container::XNamed";"setName()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinksObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinksObj.csv
new file mode 100644
index 000000000000..e8e7b8abb039
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinksObj.csv
@@ -0,0 +1,8 @@
+"ScSheetLinksObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScSheetLinksObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScSheetLinksObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScSheetLinksObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScSheetLinksObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScSheetLinksObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScSheetLinksObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScSheetLinksObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv
new file mode 100644
index 000000000000..e7f234204af5
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv
@@ -0,0 +1,25 @@
+"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"MoveSelection"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"MoveDirection"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"EnterEdit"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"ExtendFormat"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"RangeFinder"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"ExpandReferences"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"MarkHeader"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"UseTabCol"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"Metric"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"Scale"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"DoAutoComplete"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"StatusBarFunction"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"UserLists"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"LinkUpdateMode#optional"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"PrintAllSheets#optional"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"PrintEmptyPages#optional"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"UsePrinterMetrics#optional"
+"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"ReplaceCellsWarning#optional"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettingsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettingsObj.csv
new file mode 100644
index 000000000000..26144b75267e
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettingsObj.csv
@@ -0,0 +1,24 @@
+"ScSpreadsheetSettingsObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScSpreadsheetSettingsObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScSpreadsheetSettingsObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScSpreadsheetSettingsObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScSpreadsheetSettingsObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScSpreadsheetSettingsObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScSpreadsheetSettingsObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"IsIterationEnabled"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"IterationCount"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"IterationEpsilon"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"StandardDecimals"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"NullDate"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"DefaultTabStop"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"IgnoreCase"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"CalcAsShown"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"MatchWholeCell"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"SpellOnline"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"LookUpLabels"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"RegularExpressions"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"ForbiddenCharacters#optional"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"HasDrawPages#optional"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"CharLocale#optional"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"CharLocaleAsian#optional"
+"ScSpreadsheetSettingsObj";"com::sun::star::sheet::SpreadsheetDocumentSettings";"CharLocaleComplex#optional"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamiliesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamiliesObj.csv
new file mode 100644
index 000000000000..485343e08110
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamiliesObj.csv
@@ -0,0 +1,7 @@
+"ScStyleFamiliesObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScStyleFamiliesObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScStyleFamiliesObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScStyleFamiliesObj";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"ScStyleFamiliesObj";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"ScStyleFamiliesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScStyleFamiliesObj";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv
new file mode 100644
index 000000000000..d6178b16aa55
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleFamilyObj.csv
@@ -0,0 +1,10 @@
+"ScStyleFamilyObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScStyleFamilyObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScStyleFamilyObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScStyleFamilyObj";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
+"ScStyleFamilyObj";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"ScStyleFamilyObj";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"ScStyleFamilyObj";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"ScStyleFamilyObj";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"ScStyleFamilyObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScStyleFamilyObj";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv
new file mode 100644
index 000000000000..cd24c8c8f6bc
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv
@@ -0,0 +1,27 @@
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ScStyleObj";"com::sun::star::style::XStyle";"isUserDefined()"
+"ScStyleObj";"com::sun::star::style::XStyle";"isInUse()"
+"ScStyleObj";"com::sun::star::style::XStyle";"getParentStyle()"
+"ScStyleObj";"com::sun::star::style::XStyle";"setParentStyle()"
+"ScStyleObj";"com::sun::star::style::Style";"IsPhysical#optional"
+"ScStyleObj";"com::sun::star::style::Style";"FollowStyle#optional"
+"ScStyleObj";"com::sun::star::style::Style";"DisplayName#optional"
+"ScStyleObj";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"ScStyleObj";"com::sun::star::container::XNamed";"getName()"
+"ScStyleObj";"com::sun::star::container::XNamed";"setName()"
+"ScStyleObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScStyleObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScStyleObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScStyleObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalDescriptorBase.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalDescriptorBase.csv
new file mode 100644
index 000000000000..0e6e5e9933a5
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalDescriptorBase.csv
@@ -0,0 +1,22 @@
+"ScSubTotalDescriptorBase";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScSubTotalDescriptorBase";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::XSubTotalDescriptor";"addNew()"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::XSubTotalDescriptor";"clear()"
+"ScSubTotalDescriptorBase";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScSubTotalDescriptorBase";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"InsertPageBreaks"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"IsCaseSensitive"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"EnableUserSortList"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"UserSortListIndex"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"BindFormatsToContent"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"EnableSort"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"SortAscending"
+"ScSubTotalDescriptorBase";"com::sun::star::sheet::SubTotalDescriptor";"MaxFieldCount"
+"ScSubTotalDescriptorBase";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScSubTotalDescriptorBase";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScSubTotalDescriptorBase";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScSubTotalDescriptorBase";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScSubTotalDescriptorBase";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScSubTotalDescriptorBase";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScSubTotalDescriptorBase";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScSubTotalDescriptorBase";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalFieldObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalFieldObj.csv
new file mode 100644
index 000000000000..a25bff1dcdd0
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSubTotalFieldObj.csv
@@ -0,0 +1,4 @@
+"ScSubTotalFieldObj";"com::sun::star::sheet::XSubTotalField";"getGroupColumn()"
+"ScSubTotalFieldObj";"com::sun::star::sheet::XSubTotalField";"setGroupColumn()"
+"ScSubTotalFieldObj";"com::sun::star::sheet::XSubTotalField";"getSubTotalColumns()"
+"ScSubTotalFieldObj";"com::sun::star::sheet::XSubTotalField";"setSubTotalColumns()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv
new file mode 100644
index 000000000000..0e1709ffd3b1
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv
@@ -0,0 +1,86 @@
+"ScTabViewObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScTabViewObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScTabViewObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScTabViewObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScTabViewObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"getFirstVisibleColumn()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"setFirstVisibleColumn()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"getFirstVisibleRow()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"setFirstVisibleRow()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"getVisibleRange()"
+"ScTabViewObj";"com::sun::star::sheet::XEnhancedMouseClickBroadcaster#optional";"addEnhancedMouseClickHandler()"
+"ScTabViewObj";"com::sun::star::sheet::XEnhancedMouseClickBroadcaster#optional";"removeEnhancedMouseClickHandler()"
+"ScTabViewObj";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"ScTabViewObj";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"ScTabViewObj";"com::sun::star::sheet::XCellRangeReferrer";"getReferredCells()"
+"ScTabViewObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScTabViewObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowFormulas"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowZeroValues"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"IsValueHighlightingEnabled"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowNotes"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"HasVerticalScrollBar"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"HasHorizontalScrollBar"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"HasSheetTabs"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"IsOutlineSymbolsSet"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"HasColumnRowHeaders"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowGrid"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"GridColor"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowHelpLines"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowAnchor"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowPageBreaks"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"SolidHandles"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowObjects"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowCharts"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ShowDrawing"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"HideSpellMarks"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ZoomType"
+"ScTabViewObj";"com::sun::star::sheet::SpreadsheetViewSettings";"ZoomValue"
+"ScTabViewObj";"com::sun::star::sheet::XViewFreezable";"hasFrozenPanes()"
+"ScTabViewObj";"com::sun::star::sheet::XViewFreezable";"freezeAtPosition()"
+"ScTabViewObj";"com::sun::star::sheet::XActivationBroadcaster#optional";"addActivationEventListener()"
+"ScTabViewObj";"com::sun::star::sheet::XActivationBroadcaster#optional";"removeActivationEventListener()"
+"ScTabViewObj";"com::sun::star::sheet::XViewSplitable";"getIsWindowSplit()"
+"ScTabViewObj";"com::sun::star::sheet::XViewSplitable";"getSplitHorizontal()"
+"ScTabViewObj";"com::sun::star::sheet::XViewSplitable";"getSplitVertical()"
+"ScTabViewObj";"com::sun::star::sheet::XViewSplitable";"getSplitColumn()"
+"ScTabViewObj";"com::sun::star::sheet::XViewSplitable";"getSplitRow()"
+"ScTabViewObj";"com::sun::star::sheet::XViewSplitable";"splitAtPosition()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"startRangeSelection()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"abortRangeSelection()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"addRangeSelectionListener()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"removeRangeSelectionListener()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"addRangeSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"removeRangeSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"select()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"ScTabViewObj";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"ScTabViewObj";"com::sun::star::view::XControlAccess#optional";"getControl()"
+"ScTabViewObj";"com::sun::star::view::XFormLayerAccess#optional";"getFromController()"
+"ScTabViewObj";"com::sun::star::view::XFormLayerAccess#optional";"isFormDesignMode()"
+"ScTabViewObj";"com::sun::star::view::XFormLayerAccess#optional";"setFormDesignMode()"
+"ScTabViewObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"ScTabViewObj";"com::sun::star::sheet::XSpreadsheetView";"getActiveSheet()"
+"ScTabViewObj";"com::sun::star::sheet::XSpreadsheetView";"setActiveSheet()"
+"ScTabViewObj";"com::sun::star::frame::XController";"attachFrame()"
+"ScTabViewObj";"com::sun::star::frame::XController";"attachModel()"
+"ScTabViewObj";"com::sun::star::frame::XController";"suspend()"
+"ScTabViewObj";"com::sun::star::frame::XController";"getViewData()"
+"ScTabViewObj";"com::sun::star::frame::XController";"restoreViewData()"
+"ScTabViewObj";"com::sun::star::frame::XController";"getModel()"
+"ScTabViewObj";"com::sun::star::frame::XController";"getFrame()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv
new file mode 100644
index 000000000000..72c9345a266b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv
@@ -0,0 +1,16 @@
+"ScTableColumnObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScTableColumnObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScTableColumnObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScTableColumnObj";"com::sun::star::container::XNamed";"getName()"
+"ScTableColumnObj";"com::sun::star::container::XNamed";"setName()"
+"ScTableColumnObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScTableColumnObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScTableColumnObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScTableColumnObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScTableColumnObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScTableColumnObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScTableColumnObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScTableColumnObj";"com::sun::star::table::TableColumn";"Width"
+"ScTableColumnObj";"com::sun::star::table::TableColumn";"OptimalWidth"
+"ScTableColumnObj";"com::sun::star::table::TableColumn";"IsVisible"
+"ScTableColumnObj";"com::sun::star::table::TableColumn";"IsStartOfNewPage"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnsObj.csv
new file mode 100644
index 000000000000..f050ff0b7be5
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnsObj.csv
@@ -0,0 +1,10 @@
+"ScTableColumnsObj";"com::sun::star::container::XNameAccess#optional";"getByName()"
+"ScTableColumnsObj";"com::sun::star::container::XNameAccess#optional";"getElementNames()"
+"ScTableColumnsObj";"com::sun::star::container::XNameAccess#optional";"hasByName()"
+"ScTableColumnsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScTableColumnsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScTableColumnsObj";"com::sun::star::table::XTableColumns";"insertByIndex()"
+"ScTableColumnsObj";"com::sun::star::table::XTableColumns";"removeByIndex()"
+"ScTableColumnsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScTableColumnsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScTableColumnsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalEntry.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalEntry.csv
new file mode 100644
index 000000000000..7666b1eecf78
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalEntry.csv
@@ -0,0 +1,10 @@
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetConditionalEntry";"getStyleName()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetConditionalEntry";"setStyleName()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"getOperator()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"setOperator()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"getFormula1()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"setFormula1()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"getFormula2()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"setFormula2()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"getSourcePosition()"
+"ScTableConditionalEntry";"com::sun::star::sheet::XSheetCondition";"setSourcePosition()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalFormat.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalFormat.csv
new file mode 100644
index 000000000000..a20c6c01da35
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableConditionalFormat.csv
@@ -0,0 +1,11 @@
+"ScTableConditionalFormat";"com::sun::star::container::XNameAccess";"getByName()"
+"ScTableConditionalFormat";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScTableConditionalFormat";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScTableConditionalFormat";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScTableConditionalFormat";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScTableConditionalFormat";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScTableConditionalFormat";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScTableConditionalFormat";"com::sun::star::sheet::XSheetConditionalEntries";"addNew()"
+"ScTableConditionalFormat";"com::sun::star::sheet::XSheetConditionalEntries";"removeByIndex()"
+"ScTableConditionalFormat";"com::sun::star::sheet::XSheetConditionalEntries";"clear()"
+"ScTableConditionalFormat";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowObj.csv
new file mode 100644
index 000000000000..23e159b4768a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowObj.csv
@@ -0,0 +1,14 @@
+"ScTableRowObj";"com::sun::star::table::TableRow";"Height"
+"ScTableRowObj";"com::sun::star::table::TableRow";"OptimalHeight"
+"ScTableRowObj";"com::sun::star::table::TableRow";"IsVisible"
+"ScTableRowObj";"com::sun::star::table::TableRow";"IsStartOfNewPage"
+"ScTableRowObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScTableRowObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScTableRowObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScTableRowObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScTableRowObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScTableRowObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScTableRowObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScTableRowObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScTableRowObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScTableRowObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowsObj.csv
new file mode 100644
index 000000000000..5fc9e5772b15
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableRowsObj.csv
@@ -0,0 +1,7 @@
+"ScTableRowsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScTableRowsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScTableRowsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScTableRowsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScTableRowsObj";"com::sun::star::table::XTableRows";"insertByIndex()"
+"ScTableRowsObj";"com::sun::star::table::XTableRows";"removeByIndex()"
+"ScTableRowsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv
new file mode 100644
index 000000000000..7a443be1eb98
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv
@@ -0,0 +1,293 @@
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScTableSheetObj";"com::sun::star::util::XMergeable";"merge()"
+"ScTableSheetObj";"com::sun::star::util::XMergeable";"getIsMerged()"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOutline";"group()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOutline";"ungroup()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOutline";"autoOutline()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOutline";"clearOutline()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOutline";"hideDetail()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOutline";"showDetail()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOutline";"showLevel()"
+"ScTableSheetObj";"com::sun::star::table::XColumnRowRange";"getColumns()"
+"ScTableSheetObj";"com::sun::star::table::XColumnRowRange";"getRows()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetFilterable";"createFilterDescriptor()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetFilterable";"filter()"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeAddressable";"getRangeAddress()"
+"ScTableSheetObj";"com::sun::star::sheet::XScenariosSupplier";"getScenarios()"
+"ScTableSheetObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOperation";"computeFunction()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetOperation";"clearContents()"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"IsActive#optional"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"BorderColor#optional"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"Protected#optional"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"ShowBorder#optional"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"PrintBorder#optional"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"CopyBack#optional"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"CopyStyles#optional"
+"ScTableSheetObj";"com::sun::star::sheet::Scenario";"CopyFormulas#optional"
+"ScTableSheetObj";"com::sun::star::util::XProtectable";"protect()"
+"ScTableSheetObj";"com::sun::star::util::XProtectable";"unprotect()"
+"ScTableSheetObj";"com::sun::star::util::XProtectable";"isProtected()"
+"ScTableSheetObj";"com::sun::star::sheet::XFormulaQuery";"queryDependents()"
+"ScTableSheetObj";"com::sun::star::sheet::XFormulaQuery";"queryPrecedents()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetFilterableEx";"createFilterDescriptorByObject()"
+"ScTableSheetObj";"com::sun::star::sheet::XSpreadsheet";"createCursor()"
+"ScTableSheetObj";"com::sun::star::sheet::XSpreadsheet";"createCursorByRange()"
+"ScTableSheetObj";"com::sun::star::sheet::XArrayFormulaRange";"getArrayFormula()"
+"ScTableSheetObj";"com::sun::star::sheet::XArrayFormulaRange";"setArrayFormula()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeFormula#optional";"getFormulaArray()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeFormula#optional";"setFormulaArray()"
+"ScTableSheetObj";"com::sun::star::util::XIndent";"decrementIndent()"
+"ScTableSheetObj";"com::sun::star::util::XIndent";"incrementIndent()"
+"ScTableSheetObj";"com::sun::star::sheet::XMultipleOperation";"setTableOperation()"
+"ScTableSheetObj";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetCellRange";"getSpreadsheet()"
+"ScTableSheetObj";"com::sun::star::sheet::Spreadsheet";"IsVisible"
+"ScTableSheetObj";"com::sun::star::sheet::Spreadsheet";"PageStyle"
+"ScTableSheetObj";"com::sun::star::sheet::Spreadsheet";"AutomaticPrintArea#optional"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"getPrintAreas()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"setPrintAreas()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"getPrintTitleColumns()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"setPrintTitleColumns()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"getTitleColumns()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"setTitleColumns()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"getPrintTitleRows()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"setPrintTitleRows()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"getTitleRows()"
+"ScTableSheetObj";"com::sun::star::sheet::XPrintAreas";"setTitleRows()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAnnotationsSupplier";"getAnnotations()"
+"ScTableSheetObj";"com::sun::star::table::XTableChartsSupplier";"getCharts()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAuditing";"hideDependents()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAuditing";"hidePrecedents()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAuditing";"showDependents()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAuditing";"showPrecedents()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAuditing";"showErrors()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAuditing";"showInvalid()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetAuditing";"clearArrows()"
+"ScTableSheetObj";"com::sun::star::sheet::XScenario";"getIsScenario()"
+"ScTableSheetObj";"com::sun::star::sheet::XScenario";"getScenarioComment()"
+"ScTableSheetObj";"com::sun::star::sheet::XScenario";"setScenarioComment()"
+"ScTableSheetObj";"com::sun::star::sheet::XScenario";"addRanges()"
+"ScTableSheetObj";"com::sun::star::sheet::XScenario";"apply()"
+"ScTableSheetObj";"com::sun::star::sheet::XUniqueCellFormatRangesSupplier";"getUniqueCellFormatRanges()"
+"ScTableSheetObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScTableSheetObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScTableSheetObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScTableSheetObj";"com::sun::star::sheet::XSubTotalCalculatable";"createSubTotalDescriptor()"
+"ScTableSheetObj";"com::sun::star::sheet::XSubTotalCalculatable";"applySubTotals()"
+"ScTableSheetObj";"com::sun::star::sheet::XSubTotalCalculatable";"removeSubTotals()"
+"ScTableSheetObj";"com::sun::star::sheet::SheetCellRange";"Position"
+"ScTableSheetObj";"com::sun::star::sheet::SheetCellRange";"Size"
+"ScTableSheetObj";"com::sun::star::sheet::SheetCellRange";"ConditionalFormat"
+"ScTableSheetObj";"com::sun::star::sheet::SheetCellRange";"ConditionalFormatLocal#optional"
+"ScTableSheetObj";"com::sun::star::sheet::SheetCellRange";"Validation"
+"ScTableSheetObj";"com::sun::star::sheet::SheetCellRange";"ValidationLocal#optional"
+"ScTableSheetObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScTableSheetObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScTableSheetObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetLinkable";"getLinkMode()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetLinkable";"setLinkMode()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetLinkable";"getLinkUrl()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetLinkable";"setLinkUrl()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetLinkable";"getLinkSheetName()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetLinkable";"setLinkSheetName()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetLinkable";"link()"
+"ScTableSheetObj";"com::sun::star::container::XNamed";"getName()"
+"ScTableSheetObj";"com::sun::star::container::XNamed";"setName()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeMovement";"insertCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeMovement";"removeRange()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeMovement";"moveRange()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeMovement";"copyRange()"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScTableSheetObj";"com::sun::star::drawing::XDrawPageSupplier";"getDrawPage()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeData";"getDataArray()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangeData";"setDataArray()"
+"ScTableSheetObj";"com::sun::star::sheet::XScenarioEnhanced#optional";"getRanges()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellSeries";"fillSeries()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellSeries";"fillAuto()"
+"ScTableSheetObj";"com::sun::star::sheet::XDataPilotTablesSupplier";"getDataPilotTables()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellFormatRangesSupplier";"getCellFormatRanges()"
+"ScTableSheetObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScTableSheetObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScTableSheetObj";"com::sun::star::util::XImportable";"createImportDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XImportable";"doImport()"
+"ScTableSheetObj";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XSortable";"sort()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetPageBreak";"getColumnPageBreaks()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetPageBreak";"getRowPageBreaks()"
+"ScTableSheetObj";"com::sun::star::sheet::XSheetPageBreak";"removeAllManualPageBreaks()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetsObj.csv
new file mode 100644
index 000000000000..ff6726f4270a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetsObj.csv
@@ -0,0 +1,14 @@
+"ScTableSheetsObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScTableSheetsObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScTableSheetsObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScTableSheetsObj";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ScTableSheetsObj";"com::sun::star::container::XNameContainer";"insertByName()"
+"ScTableSheetsObj";"com::sun::star::container::XNameContainer";"removeByName()"
+"ScTableSheetsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScTableSheetsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScTableSheetsObj";"com::sun::star::sheet::XSpreadsheets";"insertNewByName()"
+"ScTableSheetsObj";"com::sun::star::sheet::XSpreadsheets";"moveByName()"
+"ScTableSheetsObj";"com::sun::star::sheet::XSpreadsheets";"copyByName()"
+"ScTableSheetsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScTableSheetsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScTableSheetsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableValidationObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableValidationObj.csv
new file mode 100644
index 000000000000..5ee5e9d6f919
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableValidationObj.csv
@@ -0,0 +1,25 @@
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"getOperator()"
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"setOperator()"
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"getFormula1()"
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"setFormula1()"
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"getFormula2()"
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"setFormula2()"
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"getSourcePosition()"
+"ScTableValidationObj";"com::sun::star::sheet::XSheetCondition";"setSourcePosition()"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"Type"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"ShowInputMessage"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"InputTitle"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"InputMessage"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"ShowErrorMessage"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"ErrorTitle"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"ErrorMessage"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"IgnoreBlankCells"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"ErrorAlertStyle"
+"ScTableValidationObj";"com::sun::star::sheet::TableValidation";"ShowList#optional"
+"ScTableValidationObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScTableValidationObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScTableValidationObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScTableValidationObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScTableValidationObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScTableValidationObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScTableValidationObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsEnumeration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsEnumeration.csv
new file mode 100644
index 000000000000..e3ee16a5935b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsEnumeration.csv
@@ -0,0 +1,2 @@
+"ScUniqueCellFormatsEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"ScUniqueCellFormatsEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsObj.csv
new file mode 100644
index 000000000000..f06e22629bbd
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScUniqueCellFormatsObj.csv
@@ -0,0 +1,5 @@
+"ScUniqueCellFormatsObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScUniqueCellFormatsObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScUniqueCellFormatsObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScUniqueCellFormatsObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScUniqueCellFormatsObj";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScViewPaneObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScViewPaneObj.csv
new file mode 100644
index 000000000000..c798590316a9
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScViewPaneObj.csv
@@ -0,0 +1,11 @@
+"ScViewPaneObj";"com::sun::star::sheet::XViewPane";"getFirstVisibleColumn()"
+"ScViewPaneObj";"com::sun::star::sheet::XViewPane";"setFirstVisibleColumn()"
+"ScViewPaneObj";"com::sun::star::sheet::XViewPane";"getFirstVisibleRow()"
+"ScViewPaneObj";"com::sun::star::sheet::XViewPane";"setFirstVisibleRow()"
+"ScViewPaneObj";"com::sun::star::sheet::XViewPane";"getVisibleRange()"
+"ScViewPaneObj";"com::sun::star::sheet::XCellRangeReferrer";"getReferredCells()"
+"ScViewPaneObj";"com::sun::star::view::XControlAccess#optional";"getControl()"
+"ScViewPaneObj";"com::sun::star::view::XFormLayerAccess#optional";"getFromController()"
+"ScViewPaneObj";"com::sun::star::view::XFormLayerAccess#optional";"isFormDesignMode()"
+"ScViewPaneObj";"com::sun::star::view::XFormLayerAccess#optional";"setFormDesignMode()"
+
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv
new file mode 100644
index 000000000000..5405d73d94db
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv
@@ -0,0 +1,52 @@
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv
new file mode 100644
index 000000000000..a34a1306a3e7
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv
@@ -0,0 +1,52 @@
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv
new file mode 100644
index 000000000000..9cfca916be60
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv
@@ -0,0 +1,52 @@
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv
new file mode 100644
index 000000000000..d126d8e275d6
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv
@@ -0,0 +1,40 @@
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv
new file mode 100644
index 000000000000..dff416cd251c
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv
@@ -0,0 +1,36 @@
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv
new file mode 100644
index 000000000000..17cff9097bbf
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv
@@ -0,0 +1,45 @@
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv
new file mode 100644
index 000000000000..25649719ad17
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv
@@ -0,0 +1,36 @@
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv
new file mode 100644
index 000000000000..85178a5204b1
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv
@@ -0,0 +1,28 @@
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv
new file mode 100644
index 000000000000..96135c2b5aa1
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv
@@ -0,0 +1,21 @@
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv
new file mode 100644
index 000000000000..5772f8159c38
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv
@@ -0,0 +1,21 @@
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv
new file mode 100644
index 000000000000..11bff3f1d945
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv
@@ -0,0 +1,21 @@
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv
new file mode 100644
index 000000000000..8094dfa83688
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv
@@ -0,0 +1,32 @@
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv
new file mode 100644
index 000000000000..4d6561c1f9d7
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv
@@ -0,0 +1,32 @@
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv
new file mode 100644
index 000000000000..db56ccad89b3
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv
@@ -0,0 +1,47 @@
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv
new file mode 100644
index 000000000000..baa240076fa3
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv
@@ -0,0 +1,47 @@
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv
new file mode 100644
index 000000000000..60087ba0f670
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv
@@ -0,0 +1,25 @@
+"AccAxis";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccAxis";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv
new file mode 100644
index 000000000000..c67f16c0ab33
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv
@@ -0,0 +1,25 @@
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv
new file mode 100644
index 000000000000..5a66a39307e2
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv
@@ -0,0 +1,25 @@
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv
new file mode 100644
index 000000000000..1f4041d32499
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv
@@ -0,0 +1,25 @@
+"AccDiagram";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccDiagram";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv
new file mode 100644
index 000000000000..29714eae6029
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv
@@ -0,0 +1,25 @@
+"AccFloor";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccFloor";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv
new file mode 100644
index 000000000000..ca2985c66fca
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv
@@ -0,0 +1,25 @@
+"AccGrid";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccGrid";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv
new file mode 100644
index 000000000000..0ebcb8ecf358
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv
@@ -0,0 +1,25 @@
+"AccLegend";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccLegend";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv
new file mode 100644
index 000000000000..5e4063e74558
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv
@@ -0,0 +1,25 @@
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccStatisticsObject.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccStatisticsObject.csv
new file mode 100644
index 000000000000..a0b788811727
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccStatisticsObject.csv
@@ -0,0 +1,25 @@
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccStatisticsObject";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv
new file mode 100644
index 000000000000..19cfd3837147
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv
@@ -0,0 +1,25 @@
+"AccTitle";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccTitle";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv
new file mode 100644
index 000000000000..44d22c6f4cfa
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv
@@ -0,0 +1,25 @@
+"AccWall";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccWall";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccWall";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccWall";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccWall";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccWall";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv
new file mode 100644
index 000000000000..1ce683d704c7
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv
@@ -0,0 +1,22 @@
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv
new file mode 100644
index 000000000000..37102ca2713b
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv
@@ -0,0 +1,25 @@
+"AccArea";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccArea";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccArea";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccArea";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv
new file mode 100644
index 000000000000..dba990912264
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv
@@ -0,0 +1,92 @@
+"ChXChartAxis";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Max#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Min#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Origin#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"StepMain#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"StepHelp#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoMax#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoMin#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoOrigin#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoStepMain#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoStepHelp#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Logarithmic#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"DisplayLabels"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"TextRotation"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Marks"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"HelpMarks"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Overlap"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"GapWidth"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"ArrangeOrder"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"TextBreak"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"TextCanOverlap"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"NumberFormat"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv
new file mode 100644
index 000000000000..aadc7fe8bb14
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv
@@ -0,0 +1,4 @@
+"ChXChartData";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ChXChartData";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ChXChartData";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ChXChartData";"com::sun::star::chart::XChartData";"isNotANumber()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv
new file mode 100644
index 000000000000..f6986c16178f
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv
@@ -0,0 +1,10 @@
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"getData()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"setData()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv
new file mode 100644
index 000000000000..ca1df6eb1e71
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv
@@ -0,0 +1,37 @@
+"ChXChartDocument";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChXChartDocument";"com::sun::star::chart::ChartDocument";"HasMainTitle"
+"ChXChartDocument";"com::sun::star::chart::ChartDocument";"HasSubTitle"
+"ChXChartDocument";"com::sun::star::chart::ChartDocument";"HasLegend"
+"ChXChartDocument";"com::sun::star::lang::XComponent";"dispose()"
+"ChXChartDocument";"com::sun::star::lang::XComponent";"addEventListener()"
+"ChXChartDocument";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"CategoriesRangeAddress"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"SeriesAddresses"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"MainTitleAddress#optional"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"SubTitleAddress#optional"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getTitle()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getSubTitle()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getLegend()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getArea()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getDiagram()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"setDiagram()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getData()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"attachData()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"attachResource()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getURL()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getArgs()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"connectController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"disconnectController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"lockControllers()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"unlockControllers()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getCurrentController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"setCurrentController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getCurrentSelection()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv
new file mode 100644
index 000000000000..b052a9f811a8
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv
@@ -0,0 +1,10 @@
+"ChXChartView";"com::sun::star::view::XViewSettingsSupplier#optional";"getViewSettings()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"select()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"ChXChartView";"com::sun::star::view::XControlAccess#optional";"getControl()"
+"ChXChartView";"com::sun::star::view::XFormLayerAccess#optional";"getFromController()"
+"ChXChartView";"com::sun::star::view::XFormLayerAccess#optional";"isFormDesignMode()"
+"ChXChartView";"com::sun::star::view::XFormLayerAccess#optional";"setFormDesignMode()"
+
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv
new file mode 100644
index 000000000000..a42e65bcbde9
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv
@@ -0,0 +1,97 @@
+"ChXDataPoint";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChXDataPoint";"com::sun::star::chart::Chart3DBarProperties#optional";"SolidType"
+"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"DataCaption"
+"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"SymbolType#optional"
+"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"SymbolBitmapURL#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillColor"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv
new file mode 100644
index 000000000000..73d280d7a750
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv
@@ -0,0 +1,109 @@
+"ChXDataRow";"com::sun::star::xml::UserDefinedAttributeSupplier#optional";"UserDefinedAttributes"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChXDataRow";"com::sun::star::chart::Chart3DBarProperties#optional";"SolidType"
+"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"DataCaption"
+"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"SymbolType#optional"
+"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"SymbolBitmapURL#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillStyle"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillColor"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillTransparence"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillTransparenceGradientName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillTransparenceGradient#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillGradientName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillGradient#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillHatchName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillHatch#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmap#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapURL#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapOffsetX"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapOffsetY"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapPositionOffsetX"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapPositionOffsetY"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapRectanglePoint"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapLogicalSize"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapSizeX"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapSizeY"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapMode"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBackground"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"Axis"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"DataRegressionProperties#optional"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"DataErrorProperties#optional"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"DataMeanValueProperties#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ConstantErrorLow"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ConstantErrorHigh"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"MeanValue"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ErrorCategory"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"PercentageError"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ErrorMargin"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ErrorIndicator"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"RegressionCurves"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv
new file mode 100644
index 000000000000..516842fa7e34
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv
@@ -0,0 +1,80 @@
+"ChXDiagram";"com::sun::star::xml::UserDefinedAttributeSupplier#optional";"UserDefinedAttributes"
+"ChXDiagram";"com::sun::star::chart::XDiagram";"getDiagramType()"
+"ChXDiagram";"com::sun::star::chart::XDiagram";"getDataRowProperties()"
+"ChXDiagram";"com::sun::star::chart::XDiagram";"getDataPointProperties()"
+"ChXDiagram";"com::sun::star::chart::XTwoAxisYSupplier";"getSecondaryYAxis()"
+"ChXDiagram";"com::sun::star::chart::Diagram";"DataRowSource"
+"ChXDiagram";"com::sun::star::chart::Diagram";"DataCaption"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisXSupplier";"HasSecondaryXAxis"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisXSupplier";"HasSecondaryXAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisYSupplier";"HasSecondaryYAxis"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisYSupplier";"HasSecondaryYAxisDescription"
+"ChXDiagram";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ChXDiagram";"com::sun::star::chart::StockDiagram";"Volume"
+"ChXDiagram";"com::sun::star::chart::StockDiagram";"UpDown"
+"ChXDiagram";"com::sun::star::chart::Dim3DDiagram";"Dim3D"
+"ChXDiagram";"com::sun::star::chart::XTwoAxisXSupplier";"getSecondaryXAxis()"
+"ChXDiagram";"com::sun::star::chart::XStatisticDisplay";"getUpBar()"
+"ChXDiagram";"com::sun::star::chart::XStatisticDisplay";"getDownBar()"
+"ChXDiagram";"com::sun::star::chart::XStatisticDisplay";"getMinMaxLine()"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"Vertical"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"Deep#optional"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"StackedBarsConnected#optional"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"NumberOfLines"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxis"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisHelpGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisTitle"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxis"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisHelpGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisTitle"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxis"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisHelpGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisTitle"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZAxisTitle()"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZMainGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZHelpGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZAxis()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYAxisTitle()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYAxis()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYHelpGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYMainGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXAxisTitle()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXAxis()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXMainGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXHelpGrid()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"getPosition()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"setPosition()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"getSize()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"setSize()"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolType"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolSize#optional"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolBitmapURL#optional"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"Lines"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineType"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineOrder#optional"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineResolution#optional"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ConstantErrorLow"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ConstantErrorHigh"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"MeanValue"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ErrorCategory"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"PercentageError"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ErrorMargin"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ErrorIndicator"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"RegressionCurves"
+"ChXDiagram";"com::sun::star::chart::X3DDisplay";"getWall()"
+"ChXDiagram";"com::sun::star::chart::X3DDisplay";"getFloor()"
+"ChXDiagram";"com::sun::star::chart::StackableDiagram";"Percent"
+"ChXDiagram";"com::sun::star::chart::StackableDiagram";"Stacked"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv
new file mode 100644
index 000000000000..bbf3918db761
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv
@@ -0,0 +1,43 @@
+"ChartArea";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillColor"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ChartArea";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv
new file mode 100644
index 000000000000..79b51eb2029d
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv
@@ -0,0 +1,21 @@
+"ChartGrid";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv
new file mode 100644
index 000000000000..3ca8aa02b667
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv
@@ -0,0 +1,113 @@
+"ChartLegend";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChartLegend";"com::sun::star::lang::XComponent";"dispose()"
+"ChartLegend";"com::sun::star::lang::XComponent";"addEventListener()"
+"ChartLegend";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ChartLegend";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Printable#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Name#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Style#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ChartLegend";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartLegend";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillColor"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ChartLegend";"com::sun::star::chart::ChartLegend";"Alignment"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChartLegend";"com::sun::star::drawing::XShape";"getPosition()"
+"ChartLegend";"com::sun::star::drawing::XShape";"setPosition()"
+"ChartLegend";"com::sun::star::drawing::XShape";"getSize()"
+"ChartLegend";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv
new file mode 100644
index 000000000000..5f57e957963c
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv
@@ -0,0 +1,21 @@
+"ChartLine";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartLine";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv
new file mode 100644
index 000000000000..7c00aa6503ff
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv
@@ -0,0 +1,79 @@
+"ChartTitle";"com::sun::star::xml::UserDefinedAttributeSupplier";"UserDefinedAttributes"
+"ChartTitle";"com::sun::star::lang::XComponent";"dispose()"
+"ChartTitle";"com::sun::star::lang::XComponent";"addEventListener()"
+"ChartTitle";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ChartTitle";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Printable#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Name#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Style#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ChartTitle";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ChartTitle";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"ChartTitle";"com::sun::star::chart::ChartTitle";"TextRotation"
+"ChartTitle";"com::sun::star::chart::ChartTitle";"String"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChartTitle";"com::sun::star::drawing::XShape";"getPosition()"
+"ChartTitle";"com::sun::star::drawing::XShape";"setPosition()"
+"ChartTitle";"com::sun::star::drawing::XShape";"getSize()"
+"ChartTitle";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv
new file mode 100644
index 000000000000..800f06fc7d25
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv
@@ -0,0 +1,5 @@
+"SdDocLinkTargets";"com::sun::star::container::XNameAccess";"getByName()"
+"SdDocLinkTargets";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdDocLinkTargets";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdDocLinkTargets";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdDocLinkTargets";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv
new file mode 100644
index 000000000000..2398d3c2114d
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv
@@ -0,0 +1,37 @@
+"SdDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SdDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SdDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SdDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SdDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SdDrawPage";"com::sun::star::form::XFormsSupplier#optional";"getForms()"
+"SdDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SdDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SdDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdDrawPage";"com::sun::star::drawing::XMasterPageTarget";"getMasterPage()"
+"SdDrawPage";"com::sun::star::drawing::XMasterPageTarget";"setMasterPage()"
+"SdDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SdDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SdDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SdDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SdDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SdDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv
new file mode 100644
index 000000000000..059f4b0e966b
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv
@@ -0,0 +1,8 @@
+"SdDrawPagesAccess";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdDrawPagesAccess";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdDrawPagesAccess";"com::sun::star::drawing::XDrawPages";"insertNewByIndex()"
+"SdDrawPagesAccess";"com::sun::star::drawing::XDrawPages";"remove()"
+"SdDrawPagesAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdDrawPagesAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdDrawPagesAccess";"com::sun::star::drawing::XDrawPageExpander#optional";"expand()"
+"SdDrawPagesAccess";"com::sun::star::drawing::XDrawPageSummarizer#optional";"summarize()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv
new file mode 100644
index 000000000000..f72f0ac228a4
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv
@@ -0,0 +1,34 @@
+"SdGenericDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdGenericDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdGenericDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SdGenericDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SdGenericDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SdGenericDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdGenericDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SdGenericDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SdGenericDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv
new file mode 100644
index 000000000000..42cf3d99a0e5
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv
@@ -0,0 +1,11 @@
+"SdLayer";"com::sun::star::drawing::Layer";"Name"
+"SdLayer";"com::sun::star::drawing::Layer";"IsVisible"
+"SdLayer";"com::sun::star::drawing::Layer";"IsPrintable"
+"SdLayer";"com::sun::star::drawing::Layer";"IsLocked"
+"SdLayer";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv
new file mode 100644
index 000000000000..4902e5c90624
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv
@@ -0,0 +1,11 @@
+"SdLayerManager";"com::sun::star::container::XNameAccess";"getByName()"
+"SdLayerManager";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdLayerManager";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdLayerManager";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdLayerManager";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"insertNewByIndex()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"remove()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"attachShapeToLayer()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"getLayerForShape()"
+"SdLayerManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdLayerManager";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv
new file mode 100644
index 000000000000..445442524e87
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv
@@ -0,0 +1,34 @@
+"SdMasterPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdMasterPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdMasterPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SdMasterPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SdMasterPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SdMasterPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SdMasterPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SdMasterPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SdMasterPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SdMasterPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdMasterPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdMasterPage";"com::sun::star::drawing::XShapes";"add()"
+"SdMasterPage";"com::sun::star::drawing::XShapes";"remove()"
+"SdMasterPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SdMasterPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SdMasterPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SdMasterPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Number"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv
new file mode 100644
index 000000000000..1e6611695712
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv
@@ -0,0 +1,6 @@
+"SdMasterPagesAccess";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdMasterPagesAccess";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdMasterPagesAccess";"com::sun::star::drawing::XDrawPages";"insertNewByIndex()"
+"SdMasterPagesAccess";"com::sun::star::drawing::XDrawPages";"remove()"
+"SdMasterPagesAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdMasterPagesAccess";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv
new file mode 100644
index 000000000000..c78ba4bfd37e
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv
@@ -0,0 +1,5 @@
+"SdPageLinkTargets";"com::sun::star::container::XNameAccess";"getByName()"
+"SdPageLinkTargets";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdPageLinkTargets";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdPageLinkTargets";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdPageLinkTargets";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv
new file mode 100644
index 000000000000..51196201311b
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv
@@ -0,0 +1,9 @@
+"SdXCustomPresentation";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdXCustomPresentation";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XNamed";"getName()"
+"SdXCustomPresentation";"com::sun::star::container::XNamed";"setName()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv
new file mode 100644
index 000000000000..83d672fafac8
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv
@@ -0,0 +1,10 @@
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdXCustomPresentationAccess";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"SdXCustomPresentationAccess";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv
new file mode 100644
index 000000000000..0e50db8f1c42
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv
@@ -0,0 +1,60 @@
+"SdXImpressDocument";"com::sun::star::drawing::XDrawPagesSupplier";"getDrawPages()"
+"SdXImpressDocument";"com::sun::star::document::XEventBroadcaster#optional";"addEventListener()"
+"SdXImpressDocument";"com::sun::star::document::XEventBroadcaster#optional";"removeEventListener()"
+"SdXImpressDocument";"com::sun::star::document::XLinkTargetSupplier";"getLinks()"
+"SdXImpressDocument";"com::sun::star::style::XStyleFamiliesSupplier";"getStyleFamilies()"
+"SdXImpressDocument";"com::sun::star::drawing::XLayerSupplier";"getLayerManager()"
+"SdXImpressDocument";"com::sun::star::view::XPrintable";"getPrinter()"
+"SdXImpressDocument";"com::sun::star::view::XPrintable";"setPrinter()"
+"SdXImpressDocument";"com::sun::star::view::XPrintable";"print()"
+"SdXImpressDocument";"com::sun::star::lang::XComponent";"dispose()"
+"SdXImpressDocument";"com::sun::star::lang::XComponent";"addEventListener()"
+"SdXImpressDocument";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SdXImpressDocument";"com::sun::star::presentation::XPresentationSupplier";"getPresentation()"
+"SdXImpressDocument";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"SdXImpressDocument";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"SdXImpressDocument";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"SdXImpressDocument";"com::sun::star::presentation::XCustomPresentationSupplier";"getCustomPresentations()"
+"SdXImpressDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"addPrintJobListener()"
+"SdXImpressDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"removePrintJobListener()"
+"SdXImpressDocument";"com::sun::star::document::XViewDataSupplier#optional";"getViewData()"
+"SdXImpressDocument";"com::sun::star::document::XViewDataSupplier#optional";"setViewData()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"hasLocation()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"getLocation()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"isReadonly()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"store()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"storeAsURL()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"storeToURL()"
+"SdXImpressDocument";"com::sun::star::drawing::XDrawPageDuplicator";"duplicate()"
+"SdXImpressDocument";"com::sun::star::document::XEventsSupplier#optional";"getEvents()"
+"SdXImpressDocument";"com::sun::star::util::XModifiable";"isModified()"
+"SdXImpressDocument";"com::sun::star::util::XModifiable";"setModified()"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"TabStop"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"CharLocale"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"VisibleArea"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"ForbiddenCharacters"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SdXImpressDocument";"com::sun::star::document::XDocumentInfoSupplier#optional";"getDocumentInfo()"
+"SdXImpressDocument";"com::sun::star::document::OfficeDocument";"AutomaticControlFocus#optional"
+"SdXImpressDocument";"com::sun::star::document::OfficeDocument";"ApplyFormDesignMode#optional"
+"SdXImpressDocument";"com::sun::star::document::OfficeDocument";"RuntimeUID#optional"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"attachResource()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getURL()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getArgs()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"connectController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"disconnectController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"lockControllers()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"unlockControllers()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getCurrentController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"setCurrentController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getCurrentSelection()"
+"SdXImpressDocument";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"SdXImpressDocument";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
+"SdXImpressDocument";"com::sun::star::drawing::XMasterPagesSupplier";"getMasterPages()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv
new file mode 100644
index 000000000000..bf496d27b990
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv
@@ -0,0 +1,22 @@
+"SdXPresentation";"com::sun::star::presentation::Presentation";"AllowAnimations"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"CustomShow"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"FirstPage"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsAlwaysOnTop"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsAutomatic"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsEndless"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsFullScreen"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsLivePresentation"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsMouseVisible"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"Pause"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"StartWithNavigator"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"UsePen"
+"SdXPresentation";"com::sun::star::presentation::XPresentation";"start()"
+"SdXPresentation";"com::sun::star::presentation::XPresentation";"end()"
+"SdXPresentation";"com::sun::star::presentation::XPresentation";"rehearseTimings()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv
new file mode 100644
index 000000000000..06fa7a0bae92
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv
@@ -0,0 +1,29 @@
+"SdXShape";"com::sun::star::lang::XComponent";"dispose()"
+"SdXShape";"com::sun::star::lang::XComponent";"addEventListener()"
+"SdXShape";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SdXShape";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Printable#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Name#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Style#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SdXShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SdXShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SdXShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SdXShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SdXShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SdXShape";"com::sun::star::drawing::XShape";"getPosition()"
+"SdXShape";"com::sun::star::drawing::XShape";"setPosition()"
+"SdXShape";"com::sun::star::drawing::XShape";"getSize()"
+"SdXShape";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv
new file mode 100644
index 000000000000..7efcd5cacadf
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv
@@ -0,0 +1,22 @@
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv
new file mode 100644
index 000000000000..8b86af9da9f3
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv
@@ -0,0 +1,13 @@
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv
new file mode 100644
index 000000000000..a90cd92a692e
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv
@@ -0,0 +1,22 @@
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv
new file mode 100644
index 000000000000..f98e20b3fe36
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv
@@ -0,0 +1,58 @@
+"DrawController_DrawView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_DrawView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_DrawView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_DrawView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_DrawView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_DrawView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_DrawView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_DrawView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_DrawView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_DrawView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_DrawView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_DrawView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv
new file mode 100644
index 000000000000..20b590afe627
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv
@@ -0,0 +1,58 @@
+"DrawController_HandoutView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_HandoutView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_HandoutView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_HandoutView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_HandoutView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_HandoutView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_HandoutView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_HandoutView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_HandoutView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_HandoutView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_HandoutView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_HandoutView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv
new file mode 100644
index 000000000000..c80030263ede
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv
@@ -0,0 +1,58 @@
+"DrawController_NotesView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_NotesView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_NotesView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_NotesView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_NotesView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_NotesView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_NotesView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_NotesView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_NotesView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_NotesView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_NotesView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_NotesView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv
new file mode 100644
index 000000000000..190d053f1518
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv
@@ -0,0 +1,58 @@
+"DrawController_OutlineView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_OutlineView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_OutlineView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_OutlineView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_OutlineView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_OutlineView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_OutlineView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_OutlineView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_OutlineView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_OutlineView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_OutlineView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_OutlineView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv
new file mode 100644
index 000000000000..bafd2766f9b4
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv
@@ -0,0 +1,58 @@
+"DrawController_PresentationView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_PresentationView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_PresentationView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_PresentationView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_PresentationView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_PresentationView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_PresentationView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_PresentationView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_PresentationView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_PresentationView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_PresentationView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_PresentationView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv b/qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv
new file mode 100644
index 000000000000..a6d86e168258
--- /dev/null
+++ b/qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv
@@ -0,0 +1,28 @@
+"OServiceManager";"com::sun::star::lang::ServiceManager";"DefaultContext#optional"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"OServiceManager";"com::sun::star::lang::XComponent";"dispose()"
+"OServiceManager";"com::sun::star::lang::XComponent";"addEventListener()"
+"OServiceManager";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"createContentEnumeration()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XSet";"has()"
+"OServiceManager";"com::sun::star::container::XSet";"insert()"
+"OServiceManager";"com::sun::star::container::XSet";"remove()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OServiceManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv
new file mode 100644
index 000000000000..dac6a78bbd33
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv
@@ -0,0 +1,5 @@
+"FrameLoader";"com::sun::star::frame::XSynchronousFrameLoader";"load()"
+"FrameLoader";"com::sun::star::frame::XSynchronousFrameLoader";"cancel()"
+"FrameLoader";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"FrameLoader";"com::sun::star::container::XNamed#optional";"getName()"
+"FrameLoader";"com::sun::star::container::XNamed#optional";"setName()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv
new file mode 100644
index 000000000000..abdbfd9e534a
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv
@@ -0,0 +1,3 @@
+"AppDispatchProvider";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"AppDispatchProvider";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"AppDispatchProvider";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv
new file mode 100644
index 000000000000..72ed0093f29f
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv
@@ -0,0 +1,9 @@
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"getContent()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"storeTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"addTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"removeTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"renameTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"addGroup()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"removeGroup()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"renameGroup()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"update()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv
new file mode 100644
index 000000000000..2bcf526612d4
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv
@@ -0,0 +1,3 @@
+"SfxMacroLoader";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SfxMacroLoader";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"SfxMacroLoader";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.StandaloneDocumentInfo.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.StandaloneDocumentInfo.csv
new file mode 100644
index 000000000000..d9b6e02696c3
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.StandaloneDocumentInfo.csv
@@ -0,0 +1,46 @@
+"StandaloneDocumentInfo";"com::sun::star::document::XStandaloneDocumentInfo";"loadFromURL()"
+"StandaloneDocumentInfo";"com::sun::star::document::XStandaloneDocumentInfo";"storeIntoURL()"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Author"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Generator"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"CreationDate"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Title"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Subject"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Description"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Keywords"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"MIMEType"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Language"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"ModifiedBy"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"ModifyDate"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"PrintedBy"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"PrintDate"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Template"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"TemplateDate"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"AutoloadURL"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"AutoloadSecs"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"DefaultTarget"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"BlindCopiesTo"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"CopyTo"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"InReplyTo"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Newsgroups"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Original"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Priority"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Recipient"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"References"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"ReplyTo"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"Theme"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"IsEncrypted"
+"StandaloneDocumentInfo";"com::sun::star::document::DocumentInfo";"AutoloadEnabled"
+"StandaloneDocumentInfo";"com::sun::star::document::XDocumentInfo";"getUserFieldCount()"
+"StandaloneDocumentInfo";"com::sun::star::document::XDocumentInfo";"getUserFieldName()"
+"StandaloneDocumentInfo";"com::sun::star::document::XDocumentInfo";"getUserFieldValue()"
+"StandaloneDocumentInfo";"com::sun::star::document::XDocumentInfo";"setUserFieldName()"
+"StandaloneDocumentInfo";"com::sun::star::document::XDocumentInfo";"setUserFieldValue()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XFastPropertySet";"setFastPropertyValue()"
+"StandaloneDocumentInfo";"com::sun::star::beans::XFastPropertySet";"getFastPropertyValue()"
diff --git a/qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv b/qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv
new file mode 100644
index 000000000000..97115c0ff85d
--- /dev/null
+++ b/qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv
@@ -0,0 +1,5 @@
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv b/qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv
new file mode 100644
index 000000000000..fd4b86c012df
--- /dev/null
+++ b/qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv
@@ -0,0 +1,8 @@
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
diff --git a/qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv b/qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv
new file mode 100644
index 000000000000..fd4b86c012df
--- /dev/null
+++ b/qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv
@@ -0,0 +1,8 @@
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv
new file mode 100644
index 000000000000..f05c29aadefa
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv
new file mode 100644
index 000000000000..deb62dc4b39f
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv
new file mode 100644
index 000000000000..1970f1252f2b
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv
new file mode 100644
index 000000000000..767ea2ae0899
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv
new file mode 100644
index 000000000000..316d947f09de
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv
new file mode 100644
index 000000000000..fd0e0f32db56
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv
new file mode 100644
index 000000000000..58e85c7c7973
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv
@@ -0,0 +1,22 @@
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv
new file mode 100644
index 000000000000..4f410395bff1
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv
@@ -0,0 +1,39 @@
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sm/math.SmModel.csv b/qadevOOo/objdsc/sm/math.SmModel.csv
new file mode 100644
index 000000000000..89447100e3e6
--- /dev/null
+++ b/qadevOOo/objdsc/sm/math.SmModel.csv
@@ -0,0 +1,55 @@
+"SmModel";"com::sun::star::formula::FormulaProperties";"Alignment"
+"SmModel";"com::sun::star::formula::FormulaProperties";"BaseFontHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"CustomFontNameFixed"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFixedIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFixedIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"CustomFontNameSans"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSansIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSansIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"CustomFontNameSerif"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSerifIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSerifIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameFunctions"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFunctionsIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFunctionsIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameNumbers"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNumbersIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNumbersIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameText"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontTextIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontTextIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameVariables"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontVariablesIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontVariablesIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"Formula"
+"SmModel";"com::sun::star::formula::FormulaProperties";"IsScaleAllBrackets"
+"SmModel";"com::sun::star::formula::FormulaProperties";"IsTextMode"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightFunctions"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightIndices"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightLimits"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightOperators"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightText"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeBracketDistance"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeBracketExcessSize"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionBarExcessLength"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionBarLineWeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionDenominatorDepth"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionNumeratorHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeIndexSubscript"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeIndexSuperscript"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeLineSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeLowerLimitDistance"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeMatrixColumnSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeMatrixLineSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeOperatorExcessSize"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeOperatorSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeRootSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeScaleBracketExcessSize"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeSymbolMinimumHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeSymbolPrimaryHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeUpperLimitDistance"
+"SmModel";"com::sun::star::formula::FormulaProperties";"TopMargin"
+"SmModel";"com::sun::star::formula::FormulaProperties";"BottomMargin"
+"SmModel";"com::sun::star::formula::FormulaProperties";"LeftMargin"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RightMargin"
diff --git a/qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv b/qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv
new file mode 100644
index 000000000000..a6d86e168258
--- /dev/null
+++ b/qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv
@@ -0,0 +1,28 @@
+"OServiceManager";"com::sun::star::lang::ServiceManager";"DefaultContext#optional"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"OServiceManager";"com::sun::star::lang::XComponent";"dispose()"
+"OServiceManager";"com::sun::star::lang::XComponent";"addEventListener()"
+"OServiceManager";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"createContentEnumeration()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XSet";"has()"
+"OServiceManager";"com::sun::star::container::XSet";"insert()"
+"OServiceManager";"com::sun::star::container::XSet";"remove()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OServiceManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv b/qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv
new file mode 100644
index 000000000000..4d3ad862de99
--- /dev/null
+++ b/qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv
@@ -0,0 +1,6 @@
+"SimpleSystemMail";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SimpleSystemMail";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SimpleSystemMail";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SimpleSystemMail";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SimpleSystemMail";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"SimpleSystemMail";"com::sun::star::system::XSimpleMailClientSupplier";"querySimpleMailClient()"
diff --git a/qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv b/qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv
new file mode 100644
index 000000000000..67e769f7752e
--- /dev/null
+++ b/qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv
@@ -0,0 +1 @@
+"SortedDynamicResultSetFactory";"com::sun::star::ucb::XSortedDynamicResultSetFactory";"createSortedDynamicResultSet()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv
new file mode 100644
index 000000000000..bc4129a96400
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv
@@ -0,0 +1,20 @@
+"DataInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"available()"
+"DataInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv
new file mode 100644
index 000000000000..7d42dff754a0
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv
@@ -0,0 +1,14 @@
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv
new file mode 100644
index 000000000000..715c7564de8c
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv
@@ -0,0 +1,16 @@
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"available()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv
new file mode 100644
index 000000000000..e3fb61b6a2b3
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv
@@ -0,0 +1,14 @@
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv
new file mode 100644
index 000000000000..16af6a1cd57f
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv
@@ -0,0 +1,26 @@
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XObjectInputStream";"readObject()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"available()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv
new file mode 100644
index 000000000000..beaef1929648
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv
@@ -0,0 +1,19 @@
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"ObjectOutputStream";"com::sun::star::io::XObjectOutputStream";"writeObject()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv
new file mode 100644
index 000000000000..0a46592d1faf
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv
@@ -0,0 +1,8 @@
+"Pipe";"com::sun::star::io::XOutputStream";"writeBytes()"
+"Pipe";"com::sun::star::io::XOutputStream";"flush()"
+"Pipe";"com::sun::star::io::XOutputStream";"closeOutput()"
+"Pipe";"com::sun::star::io::XInputStream";"readBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"skipBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"available()"
+"Pipe";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv
new file mode 100644
index 000000000000..2099b7e4e9f0
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv
@@ -0,0 +1,8 @@
+"Pump";"com::sun::star::io::XActiveDataControl";"addListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"removeListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"start()"
+"Pump";"com::sun::star::io::XActiveDataControl";"terminate()"
+"Pump";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv
new file mode 100644
index 000000000000..bc4129a96400
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv
@@ -0,0 +1,20 @@
+"DataInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"available()"
+"DataInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv
new file mode 100644
index 000000000000..7d42dff754a0
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv
@@ -0,0 +1,14 @@
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv
new file mode 100644
index 000000000000..715c7564de8c
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv
@@ -0,0 +1,16 @@
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"available()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv
new file mode 100644
index 000000000000..e3fb61b6a2b3
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv
@@ -0,0 +1,14 @@
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv
new file mode 100644
index 000000000000..16af6a1cd57f
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv
@@ -0,0 +1,26 @@
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XObjectInputStream";"readObject()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"available()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv
new file mode 100644
index 000000000000..beaef1929648
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv
@@ -0,0 +1,19 @@
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"ObjectOutputStream";"com::sun::star::io::XObjectOutputStream";"writeObject()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv
new file mode 100644
index 000000000000..0a46592d1faf
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv
@@ -0,0 +1,8 @@
+"Pipe";"com::sun::star::io::XOutputStream";"writeBytes()"
+"Pipe";"com::sun::star::io::XOutputStream";"flush()"
+"Pipe";"com::sun::star::io::XOutputStream";"closeOutput()"
+"Pipe";"com::sun::star::io::XInputStream";"readBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"skipBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"available()"
+"Pipe";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv
new file mode 100644
index 000000000000..2099b7e4e9f0
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv
@@ -0,0 +1,8 @@
+"Pump";"com::sun::star::io::XActiveDataControl";"addListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"removeListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"start()"
+"Pump";"com::sun::star::io::XActiveDataControl";"terminate()"
+"Pump";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv
new file mode 100644
index 000000000000..2a2583c4dfca
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv
new file mode 100644
index 000000000000..cef9cd976788
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv
new file mode 100644
index 000000000000..536898df0cb2
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv
new file mode 100644
index 000000000000..20d115adf057
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv
new file mode 100644
index 000000000000..42a25b07bfc3
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv
new file mode 100644
index 000000000000..1226aa8f72e9
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv
@@ -0,0 +1,28 @@
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv
new file mode 100644
index 000000000000..58c996a73742
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv
@@ -0,0 +1,38 @@
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv
new file mode 100644
index 000000000000..73948b2fc6f0
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv
@@ -0,0 +1,24 @@
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv
new file mode 100644
index 000000000000..32b30d64b1a5
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv
@@ -0,0 +1,24 @@
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv
new file mode 100644
index 000000000000..b4f87286f6b7
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv
@@ -0,0 +1,31 @@
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv
new file mode 100644
index 000000000000..bff5bdd4bf2e
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv
@@ -0,0 +1,28 @@
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv
new file mode 100644
index 000000000000..0f69eed9906e
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv
@@ -0,0 +1,49 @@
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv
new file mode 100644
index 000000000000..c88ac423f8b7
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv
@@ -0,0 +1,5 @@
+"GraphicExporter";"com::sun::star::document::XFilter";"filter()"
+"GraphicExporter";"com::sun::star::document::XFilter";"cancel()"
+"GraphicExporter";"com::sun::star::document::XMimeTypeInfo";"supportsMimeType()"
+"GraphicExporter";"com::sun::star::document::XMimeTypeInfo";"getSupportedMimeTypeNames()"
+"GraphicExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv
new file mode 100644
index 000000000000..ab8c9277f73a
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv
@@ -0,0 +1,37 @@
+"SvxDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SvxDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SvxDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SvxDrawPage";"com::sun::star::form::XFormsSupplier#optional";"getForms()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SvxDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxDrawPage";"com::sun::star::drawing::XMasterPageTarget";"getMasterPage()"
+"SvxDrawPage";"com::sun::star::drawing::XMasterPageTarget";"setMasterPage()"
+"SvxDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SvxDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SvxDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SvxDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv
new file mode 100644
index 000000000000..b7605ee47f0e
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv
@@ -0,0 +1,212 @@
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxGraphicObject";"com::sun::star::lang::XComponent";"dispose()"
+"SvxGraphicObject";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxGraphicObject";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxGraphicObject";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxGraphicObject";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxGraphicObject";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxGraphicObject";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicURL"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicStreamURL"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicObjectFillBitmap#optional"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustLuminance"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustContrast"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustRed"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustGreen"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustBlue"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"Gamma"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"Transparency"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicColorMode"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"ImageMap#optional"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getText()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getStart()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getString()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"setString()"
+"SvxGraphicObject";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxGraphicObject";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxGraphicObject";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"getSize()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"setSize()"
+"SvxGraphicObject";"com::sun::star::text::XText";"insertTextContent()"
+"SvxGraphicObject";"com::sun::star::text::XText";"removeTextContent()"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv
new file mode 100644
index 000000000000..701089362ebe
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv
@@ -0,0 +1,236 @@
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShape";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShape";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShape";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShape";"com::sun::star::drawing::TextShape";"CornerRadius"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShape";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShape";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShape";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShape";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShape";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShape";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShape";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShape";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShape";"com::sun::star::text::XTextRange";"getText()"
+"SvxShape";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShape";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShape";"com::sun::star::text::XTextRange";"getString()"
+"SvxShape";"com::sun::star::text::XTextRange";"setString()"
+"SvxShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShape";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShape";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShape";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShape";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShape";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShape";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShape";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv
new file mode 100644
index 000000000000..8e1814d18db1
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv
@@ -0,0 +1,238 @@
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeCircle";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeCircle";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeCircle";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapeCircle";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeCircle";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapeCircle";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapeCircle";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeCircle";"com::sun::star::drawing::EllipseShape";"CircleKind"
+"SvxShapeCircle";"com::sun::star::drawing::EllipseShape";"CircleStartAngle"
+"SvxShapeCircle";"com::sun::star::drawing::EllipseShape";"CircleEndAngle"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapeCircle";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeCircle";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeCircle";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapeCircle";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapeCircle";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv
new file mode 100644
index 000000000000..6942faaa5d9c
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv
@@ -0,0 +1,6 @@
+"SvxShapeCollection";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxShapeCollection";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxShapeCollection";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxShapeCollection";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxShapeCollection";"com::sun::star::drawing::XShapes";"add()"
+"SvxShapeCollection";"com::sun::star::drawing::XShapes";"remove()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv
new file mode 100644
index 000000000000..95b9abe6b6a9
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv
@@ -0,0 +1,227 @@
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeConnector";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeConnector";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeConnector";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapeConnector";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeConnector";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapeConnector";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapeConnector";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapeConnector";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeConnector";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeConnector";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"StartShape"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"StartGluePointIndex"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"StartPosition"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EndShape"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EndPosition"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EndGluePointIndex"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EdgeLine1Delta"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EdgeLine2Delta"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EdgeLine3Delta"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeKind"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode1HorzDist"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode1VertDist"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode2HorzDist"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode2VertDist"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapeConnector";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapeConnector";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv
new file mode 100644
index 000000000000..945c4fc24caf
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv
@@ -0,0 +1,31 @@
+"SvxShapeControl";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeControl";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeControl";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeControl";"com::sun::star::drawing::XControlShape";"getControl()"
+"SvxShapeControl";"com::sun::star::drawing::XControlShape";"setControl()"
+"SvxShapeControl";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeControl";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeControl";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv
new file mode 100644
index 000000000000..1713d9ca9c60
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv
@@ -0,0 +1,233 @@
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureBelowReferenceEdge"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLine1Length"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLine2Length"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLineDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLineOverhang"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureKind"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureLineDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureOverhang"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureShowUnit"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextAutoAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextAutoAngleView"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextFixedAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextHorizontalPosition"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextVerticalPosition"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextIsFixedAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextRotate90"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextUpsideDown"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureDecimalPlaces#optional"
+"SvxShapeDimensioning";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeDimensioning";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeDimensioning";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeDimensioning";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapeDimensioning";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapeDimensioning";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeDimensioning";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeDimensioning";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapeDimensioning";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapeDimensioning";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureShape";"StartPosition"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureShape";"EndPosition"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv
new file mode 100644
index 000000000000..c20164a3334b
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv
@@ -0,0 +1,37 @@
+"SvxShapeGroup";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxShapeGroup";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxShapeGroup";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeGroup";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeGroup";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeGroup";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeGroup";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapeGroup";"enterGroup()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapeGroup";"leaveGroup()"
+"SvxShapeGroup";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxShapeGroup";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxShapeGroup";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeGroup";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeGroup";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapes";"add()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapes";"remove()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv
new file mode 100644
index 000000000000..9fdea2b0aa81
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv
@@ -0,0 +1,238 @@
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygon";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapePolyPolygon";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapePolyPolygon";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapePolyPolygon";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::PolyPolygonDescriptor";"PolygonKind"
+"SvxShapePolyPolygon";"com::sun::star::drawing::PolyPolygonDescriptor";"PolyPolygon"
+"SvxShapePolyPolygon";"com::sun::star::drawing::PolyPolygonDescriptor";"Geometry"
+"SvxShapePolyPolygon";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapePolyPolygon";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapePolyPolygon";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv
new file mode 100644
index 000000000000..ad9eb30b7001
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv
@@ -0,0 +1,238 @@
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::PolyPolygonBezierDescriptor";"PolygonKind"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::PolyPolygonBezierDescriptor";"PolyPolygonBezier"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::PolyPolygonBezierDescriptor";"Geometry"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygonBezier";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapePolyPolygonBezier";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv
new file mode 100644
index 000000000000..f79addb00b24
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv
@@ -0,0 +1,16 @@
+"SvxUnoNumberingRules";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxUnoNumberingRules";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxUnoNumberingRules";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxUnoNumberingRules";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxUnoNumberingRules";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"IsAbsoluteMargins#optional"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"IsAutomatic#optional"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"IsContinuousNumbering#optional"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"Name#optional"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv
new file mode 100644
index 000000000000..538e7edfdc4a
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv
@@ -0,0 +1,21 @@
+"SvxUnoText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SvxUnoText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SvxUnoText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxUnoText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxUnoText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getText()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getStart()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getString()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"setString()"
+"SvxUnoText";"com::sun::star::text::Text";"StartRedline#optional"
+"SvxUnoText";"com::sun::star::text::Text";"EndRedline#optional"
+"SvxUnoText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SvxUnoText";"com::sun::star::text::XText";"insertTextContent()"
+"SvxUnoText";"com::sun::star::text::XText";"removeTextContent()"
+"SvxUnoText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SvxUnoText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv
new file mode 100644
index 000000000000..50bf29408e01
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv
@@ -0,0 +1,205 @@
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextContent";"com::sun::star::lang::XComponent";"dispose()"
+"SvxUnoTextContent";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxUnoTextContent";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"addChartDataChangeEventListener()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"removeChartDataChangeEventListener()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"getNotANumber()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"isNotANumber()"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaAdjust"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLineSpacing#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackColor#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackTransparent#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicURL#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicFilter#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicLocation#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLastLineAdjust"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaExpandSingleWord#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLeftMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaRightMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaTopMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBottomMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberCount#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberStartValue#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"PageDescName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"PageNumberOffset#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaRegisterModeActive#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaTabStops#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"DropCapFormat#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"DropCapWholeWord#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaKeepTogether#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaSplit#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingLevel#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingRules#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingStartValue#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsNumberingRestart#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaOrphans#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaWidows#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaShadowFormat#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"LeftBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"RightBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"TopBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BottomBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"LeftBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"RightBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"TopBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BottomBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BreakType#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"DropCapCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaFirstLineIndent#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsAutoFirstLineIndent#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsHyphenation"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxHyphens#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxLeadingChars#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxTrailingChars#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaVertAlignment#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaUserDefinedAttributes#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingIsNumber#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsConnectBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxUnoTextContent";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SvxUnoTextContent";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SvxUnoTextContent";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SvxUnoTextContent";"com::sun::star::table::XAutoFormattable#optional";"autoFormat()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"initialize()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getRows()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getColumns()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getCellByName()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getCellNames()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"createCursorByCellName()"
+"SvxUnoTextContent";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxUnoTextContent";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxUnoTextContent";"com::sun::star::table::XCellRange#optional";"getCellByPosition()"
+"SvxUnoTextContent";"com::sun::star::table::XCellRange#optional";"getCellRangeByPosition()"
+"SvxUnoTextContent";"com::sun::star::table::XCellRange#optional";"getCellRangeByName()"
+"SvxUnoTextContent";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxUnoTextContent";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxUnoTextContent";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BreakType"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"LeftMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"RightMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"HoriOrient"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"KeepTogether"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"Split"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"PageNumberOffset"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"PageDescName"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"RelativeWidth"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"IsWidthRelative"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"RepeatHeadline"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"ShadowFormat"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TopMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BottomMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackTransparent"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"Width"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"ChartRowAsLabel"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"ChartColumnAsLabel"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TableBorder"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TableColumnSeparators"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TableColumnRelativeSum"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackColor"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackGraphicURL"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackGraphicFilter"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackGraphicLocation"
+"SvxUnoTextContent";"com::sun::star::container::XNamed#optional";"getName()"
+"SvxUnoTextContent";"com::sun::star::container::XNamed#optional";"setName()"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontName"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontStyleName"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontFamily"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontCharSet"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontPitch"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharColor"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharEscapement#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharHeight"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharUnderline"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharWeight"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharPosture"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharAutoKerning#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharBackColor#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharBackTransparent#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCaseMap#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCrossedOut#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFlash#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharStrikeout#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharWordMode#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharKerning#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharLocale"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharKeepTogether#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharNoLineBreak#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharShadowed#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontType#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharContoured#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCombineIsOn#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCombinePrefix#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCombineSuffix#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharEmphasis#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharRelief#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyText#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyAdjust#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyIsAbove#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharRotation#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharRotationIsFitToLine#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharScaleWidth#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"HyperLinkURL#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"HyperLinkTarget#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"HyperLinkName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"VisitedCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"UnvisitedCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharEscapementHeight#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharNoHyphenation#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineColor"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineHasColor"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharStyleNames#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharHidden#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"TextUserDefinedAttributes#optional"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxUnoTextContent";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SvxUnoTextContent";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SvxUnoTextContent";"com::sun::star::text::XTextContent";"attach()"
+"SvxUnoTextContent";"com::sun::star::text::XTextContent";"getAnchor()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"getData()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"setData()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"getRowDescriptions()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"setRowDescriptions()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"getColumnDescriptions()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"setColumnDescriptions()"
+"SvxUnoTextContent";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SvxUnoTextContent";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SvxUnoTextContent";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv
new file mode 100644
index 000000000000..ef8a621f045a
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv
@@ -0,0 +1,2 @@
+"SvxUnoTextContentEnum";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SvxUnoTextContentEnum";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv
new file mode 100644
index 000000000000..fd7383f76c82
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv
@@ -0,0 +1,180 @@
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"SvxUnoTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SvxUnoTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxUnoTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SvxUnoTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SvxUnoTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv
new file mode 100644
index 000000000000..4e08134cc710
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv
@@ -0,0 +1,16 @@
+"SvxUnoTextField";"com::sun::star::lang::XComponent";"dispose()"
+"SvxUnoTextField";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxUnoTextField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxUnoTextField";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SvxUnoTextField";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SvxUnoTextField";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SvxUnoTextField";"com::sun::star::text::XTextField";"getPresentation()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SvxUnoTextField";"com::sun::star::text::XTextContent";"attach()"
+"SvxUnoTextField";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv
new file mode 100644
index 000000000000..92ade4421626
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv
@@ -0,0 +1,147 @@
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxUnoTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SvxUnoTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getText()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getStart()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getString()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"setString()"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv
new file mode 100644
index 000000000000..f04e05240c16
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv
@@ -0,0 +1,2 @@
+"SvxUnoTextRangeEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SvxUnoTextRangeEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv
new file mode 100644
index 000000000000..03438ccc7040
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv
@@ -0,0 +1,29 @@
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv
new file mode 100644
index 000000000000..887d3151b4c5
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv
@@ -0,0 +1,25 @@
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv
new file mode 100644
index 000000000000..861b218ae50e
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv
@@ -0,0 +1,53 @@
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv
new file mode 100644
index 000000000000..2db06b3e8b53
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv
@@ -0,0 +1,25 @@
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv
new file mode 100644
index 000000000000..0eb39417c486
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv
@@ -0,0 +1,13 @@
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv
new file mode 100644
index 000000000000..e5db4c6989e8
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv
@@ -0,0 +1,25 @@
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv
new file mode 100644
index 000000000000..8a61c76902dd
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv
new file mode 100644
index 000000000000..991f2b8f078c
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv
new file mode 100644
index 000000000000..c37eea41cb82
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv
new file mode 100644
index 000000000000..84d3ebc1fe12
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv
new file mode 100644
index 000000000000..154ee27961c0
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv
@@ -0,0 +1,25 @@
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv
new file mode 100644
index 000000000000..5edc3bce8dca
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv
@@ -0,0 +1,65 @@
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"ChartAutoUpdate#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AddParaTableSpacing#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AddParaTableSpacingAtStart#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AlignTabStopPosition#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"SaveGlobalDocumentLinks#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"IsLabelDocument#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"UseFormerLineSpacing#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AddParaSpacingToTableCells#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"UseFormerObjectPositioning#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"ForbiddenCharacters#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"LinkUpdateMode#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"PrinterName"
+"DocumentSettings";"com::sun::star::document::Settings";"PrinterSetup"
+"DocumentSettings";"com::sun::star::document::Settings";"IsKernAsianPunctuation#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CharacterCompressionType#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"ApplyUserData#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"SaveVersionOnClose#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"UpdateFromTemplate#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"FieldAutoUpdate#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CurrentDatabaseDataSource#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CurrentDatabaseCommand#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CurrentDatabaseCommandType#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"DefaultTabStop#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"IsPrintBooklet#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"IsPrintBookletFront#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"IsPrintBookletBack#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"PrintQuality#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"ColorTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"DashTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"LineEndTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"HatchTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"GradientTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"BitmapTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"AutoCalculate#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"PrinterIndependentLayout#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"AddExternalLeading#optional"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintGraphics"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintTables"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintDrawings"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintLeftPages"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintRightPages"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintControls"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintReversed"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintPaperFromSetup"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintFaxName"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintAnnotationMode"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintProspect"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintPageBackground"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintBlackFonts"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintLeftMargin"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintRightMargin"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintTopMargin"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintBottomMargin"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintHorizontalSpacing"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintVerticalSpacing"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintNumRows"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintNumColumns"
+"DocumentSettings";"com::sun::star::text::PrintPreviewSettings";"PreviewPrintLandscape"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv
new file mode 100644
index 000000000000..75e0a856ee00
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv
new file mode 100644
index 000000000000..db85ba9776cd
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv
@@ -0,0 +1,29 @@
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv
new file mode 100644
index 000000000000..ce45042fe093
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv
new file mode 100644
index 000000000000..d8118188aa81
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv
new file mode 100644
index 000000000000..337dc434d8d3
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv
new file mode 100644
index 000000000000..43b3107cc93a
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv
new file mode 100644
index 000000000000..4f7e3522389c
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv
@@ -0,0 +1,22 @@
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv
new file mode 100644
index 000000000000..95ac8a8c96d0
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv
@@ -0,0 +1,53 @@
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv
new file mode 100644
index 000000000000..5cd6e41e6258
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv
@@ -0,0 +1,33 @@
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv
new file mode 100644
index 000000000000..84b975795aeb
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv
@@ -0,0 +1,48 @@
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv
new file mode 100644
index 000000000000..2f1fa0fdde19
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv
@@ -0,0 +1,25 @@
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageDescription()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageHeight()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageWidth()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv
new file mode 100644
index 000000000000..dbaca5986cf0
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv
new file mode 100644
index 000000000000..25474d6cdcd9
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv
@@ -0,0 +1,25 @@
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageDescription()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageHeight()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageWidth()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv
new file mode 100644
index 000000000000..669adc9a30f6
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv
new file mode 100644
index 000000000000..08204fe94f87
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv
new file mode 100644
index 000000000000..f05c29aadefa
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv
new file mode 100644
index 000000000000..deb62dc4b39f
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv
new file mode 100644
index 000000000000..1970f1252f2b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv
new file mode 100644
index 000000000000..767ea2ae0899
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv
new file mode 100644
index 000000000000..316d947f09de
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv
new file mode 100644
index 000000000000..fd0e0f32db56
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv
new file mode 100644
index 000000000000..5e863bb09470
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv
new file mode 100644
index 000000000000..c8bc5bca0afb
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv
new file mode 100644
index 000000000000..25352ae1f972
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv
@@ -0,0 +1,9 @@
+"SwXAutoTextContainer";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXAutoTextContainer";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXAutoTextContainer";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXAutoTextContainer";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"SwXAutoTextContainer";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"SwXAutoTextContainer";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXAutoTextContainer";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXAutoTextContainer";"com::sun::star::text::XAutoTextContainer";"insertNewByName()"
+"SwXAutoTextContainer";"com::sun::star::text::XAutoTextContainer";"removeByName()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv
new file mode 100644
index 000000000000..8b4a43c38ff3
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv
@@ -0,0 +1,12 @@
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXAutoTextEntry";"com::sun::star::text::XAutoTextEntry";"applyTo()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getText()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getStart()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getString()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"setString()"
+"SwXAutoTextEntry";"com::sun::star::text::XText";"insertTextContent()"
+"SwXAutoTextEntry";"com::sun::star::text::XText";"removeTextContent()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv
new file mode 100644
index 000000000000..59e5a68b4885
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv
@@ -0,0 +1,13 @@
+"SwXAutoTextGroup";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXAutoTextGroup";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXAutoTextGroup";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXAutoTextGroup";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXAutoTextGroup";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXAutoTextGroup";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXAutoTextGroup";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"getTitles()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"renameByName()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"insertNewByName()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"removeByName()"
+"SwXAutoTextGroup";"com::sun::star::container::XNamed";"getName()"
+"SwXAutoTextGroup";"com::sun::star::container::XNamed";"setName()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv
new file mode 100644
index 000000000000..45ebfd332ec9
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv
@@ -0,0 +1,21 @@
+"SwXBodyText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getText()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getString()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"setString()"
+"SwXBodyText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXBodyText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXBodyText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXBodyText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXBodyText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv
new file mode 100644
index 000000000000..5508d6f1bd0a
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv
@@ -0,0 +1,10 @@
+"SwXBookmark";"com::sun::star::lang::XComponent";"dispose()"
+"SwXBookmark";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXBookmark";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXBookmark";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXBookmark";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXBookmark";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXBookmark";"com::sun::star::container::XNamed";"getName()"
+"SwXBookmark";"com::sun::star::container::XNamed";"setName()"
+"SwXBookmark";"com::sun::star::text::XTextContent";"attach()"
+"SwXBookmark";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv
new file mode 100644
index 000000000000..49db753ce896
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv
@@ -0,0 +1,7 @@
+"SwXBookmarks";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXBookmarks";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXBookmarks";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXBookmarks";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXBookmarks";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXBookmarks";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXBookmarks";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv
new file mode 100644
index 000000000000..43ef6fab7443
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv
@@ -0,0 +1,26 @@
+"SwXCell";"com::sun::star::text::CellProperties";"CellName"
+"SwXCell";"com::sun::star::text::CellProperties";"BackColor"
+"SwXCell";"com::sun::star::text::CellProperties";"BackGraphicURL"
+"SwXCell";"com::sun::star::text::CellProperties";"BackGraphicFilter"
+"SwXCell";"com::sun::star::text::CellProperties";"BackGraphicLocation"
+"SwXCell";"com::sun::star::text::CellProperties";"NumberFormat"
+"SwXCell";"com::sun::star::text::CellProperties";"BackTransparent"
+"SwXCell";"com::sun::star::text::CellProperties";"LeftBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"RightBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"TopBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"BottomBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"LeftBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"RightBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"TopBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"BottomBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"UserDefinedAttributes"
+"SwXCell";"com::sun::star::text::CellProperties";"TextSection"
+"SwXCell";"com::sun::star::text::CellProperties";"IsProtected"
+"SwXCell";"com::sun::star::text::CellProperties";"VertOrient"
+"SwXCell";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv
new file mode 100644
index 000000000000..13c319cf4720
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv
@@ -0,0 +1,148 @@
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"SwXCellRange";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"SwXCellRange";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"SwXCellRange";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackColor"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackGraphicFilter"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackGraphicLocation"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackGraphicURL"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackTransparent"
+"SwXCellRange";"com::sun::star::text::CellRange";"ChartColumnAsLabel"
+"SwXCellRange";"com::sun::star::text::CellRange";"ChartRowAsLabel"
+"SwXCellRange";"com::sun::star::text::CellRange";"NumberFormat"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXCellRange";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SwXCellRange";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"getData()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"setData()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"getRowDescriptions()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"setRowDescriptions()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"getColumnDescriptions()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"setColumnDescriptions()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv
new file mode 100644
index 000000000000..89a3669e18d9
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv
@@ -0,0 +1,16 @@
+"SwXChapterNumbering";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXChapterNumbering";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXChapterNumbering";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXChapterNumbering";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXChapterNumbering";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"IsAbsoluteMargins#optional"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"IsAutomatic#optional"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"IsContinuousNumbering#optional"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"Name#optional"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv
new file mode 100644
index 000000000000..de73a283cf7e
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv
@@ -0,0 +1,42 @@
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"Title"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"IsProtected"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleHeading"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel1"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel2#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel3#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel4#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel5#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel6#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel7#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel8#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel9#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel10#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleSeparator#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"TextColumns"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackGraphicURL"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackGraphicFilter"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackGraphicLocation"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackColor"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackTransparent"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"LevelFormat#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"CreateFromChapter#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ContentSection"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"HeaderSection"
+"SwXDocumentIndex";"com::sun::star::lang::XComponent";"dispose()"
+"SwXDocumentIndex";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXDocumentIndex";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseAlphabeticalSeparators#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseKeyAsEntry#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseCombinedEntries#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"IsCaseSensitive#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UsePP#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseDash#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseUpperCase#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"MainEntryCharacterStyleName#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"DocumentIndexMarks"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"Locale"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"SortAlgorithm"
+"SwXDocumentIndex";"com::sun::star::text::XDocumentIndex";"getServiceName()"
+"SwXDocumentIndex";"com::sun::star::text::XDocumentIndex";"update()"
+"SwXDocumentIndex";"com::sun::star::text::XTextContent";"attach()"
+"SwXDocumentIndex";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv
new file mode 100644
index 000000000000..9bf2b782aa0b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv
@@ -0,0 +1,12 @@
+"SwXDocumentIndexMark";"com::sun::star::lang::XComponent";"dispose()"
+"SwXDocumentIndexMark";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXDocumentIndexMark";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXDocumentIndexMark";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXDocumentIndexMark";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXDocumentIndexMark";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXDocumentIndexMark";"com::sun::star::text::BaseIndexMark";"AlternativeText"
+"SwXDocumentIndexMark";"com::sun::star::text::DocumentIndexMark";"PrimaryKey"
+"SwXDocumentIndexMark";"com::sun::star::text::DocumentIndexMark";"SecondaryKey"
+"SwXDocumentIndexMark";"com::sun::star::text::DocumentIndexMark";"IsMainEntry"
+"SwXDocumentIndexMark";"com::sun::star::text::XTextContent";"attach()"
+"SwXDocumentIndexMark";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv
new file mode 100644
index 000000000000..84f323698cdb
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv
@@ -0,0 +1,7 @@
+"SwXDocumentIndexes";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXDocumentIndexes";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXDocumentIndexes";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXDocumentIndexes";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXDocumentIndexes";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXDocumentIndexes";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXDocumentIndexes";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv
new file mode 100644
index 000000000000..bf6f9936c404
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv
@@ -0,0 +1,34 @@
+"SwXDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SwXDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SwXDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SwXDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SwXDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SwXDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SwXDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv
new file mode 100644
index 000000000000..9438a993728c
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv
@@ -0,0 +1,11 @@
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"CharStyleName"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"NumberingType"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"PageStyleName"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"ParaStyleName"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"Prefix"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"StartAt"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"Suffix"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"BeginNotice#optional"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"EndNotice#optional"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"FootnoteCounting#optional"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"PositionEndOfDoc#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv
new file mode 100644
index 000000000000..9b2391fc092b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv
@@ -0,0 +1,2 @@
+"SwXFieldEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SwXFieldEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv
new file mode 100644
index 000000000000..52771f9c6572
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv
@@ -0,0 +1,10 @@
+"SwXFieldMaster";"com::sun::star::text::TextFieldMaster";"Name#optional"
+"SwXFieldMaster";"com::sun::star::text::TextFieldMaster";"DependentTextFields"
+"SwXFieldMaster";"com::sun::star::text::TextFieldMaster";"InstanceName"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv
new file mode 100644
index 000000000000..888987553a39
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv
@@ -0,0 +1,19 @@
+"SwXFootnote";"com::sun::star::lang::XComponent";"dispose()"
+"SwXFootnote";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXFootnote";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getText()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getStart()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getString()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"setString()"
+"SwXFootnote";"com::sun::star::text::XFootnote";"getLabel()"
+"SwXFootnote";"com::sun::star::text::XFootnote";"setLabel()"
+"SwXFootnote";"com::sun::star::text::XTextContent";"attach()"
+"SwXFootnote";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXFootnote";"com::sun::star::text::XText";"insertTextContent()"
+"SwXFootnote";"com::sun::star::text::XText";"removeTextContent()"
+"SwXFootnote";"com::sun::star::text::Footnote";"ReferenceId#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv
new file mode 100644
index 000000000000..29abe97f2d58
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv
@@ -0,0 +1,11 @@
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"CharStyleName"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"NumberingType"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"PageStyleName"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"ParaStyleName"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"Prefix"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"StartAt"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"Suffix"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"BeginNotice#optional"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"EndNotice#optional"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"FootnoteCounting#optional"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"PositionEndOfDoc#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv
new file mode 100644
index 000000000000..3f3663b8c2dd
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv
@@ -0,0 +1,21 @@
+"SwXFootnoteText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXFootnoteText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXFootnoteText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXFootnoteText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXFootnoteText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getText()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getString()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"setString()"
+"SwXFootnoteText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXFootnoteText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXFootnoteText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXFootnoteText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXFootnoteText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXFootnoteText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXFootnoteText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv
new file mode 100644
index 000000000000..c9749ef355c5
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv
@@ -0,0 +1,4 @@
+"SwXFootnotes";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXFootnotes";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXFootnotes";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXFootnotes";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv
new file mode 100644
index 000000000000..abc540ec135c
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv
@@ -0,0 +1,9 @@
+"SwXFrames";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXFrames";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXFrames";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXFrames";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXFrames";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXFrames";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXFrames";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXFrames";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"SwXFrames";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv
new file mode 100644
index 000000000000..0602fbf2e584
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv
@@ -0,0 +1,21 @@
+"SwXHeadFootText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXHeadFootText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXHeadFootText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXHeadFootText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXHeadFootText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getText()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getString()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"setString()"
+"SwXHeadFootText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXHeadFootText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXHeadFootText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXHeadFootText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXHeadFootText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXHeadFootText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXHeadFootText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv
new file mode 100644
index 000000000000..566db1a6f1a9
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv
@@ -0,0 +1,10 @@
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"IsOn"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"CharStyleName"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"CountEmptyLines"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"CountLinesInFrames"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"Distance"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"Interval"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"SeparatorText"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"SeparatorInterval"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"NumberPosition"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"NumberingType"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv
new file mode 100644
index 000000000000..f6158aee2cbc
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv
@@ -0,0 +1,36 @@
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"DataSourceName#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"ActiveConnection#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Command#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"CommandType#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Filter#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"EscapeProcessing#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"ResultSet#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Selection#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"BookmarkSelection#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"ColumnName#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Column#optional"
+"SwXMailMerge";"com::sun::star::text::XMailMergeBroadcaster#optional";"addMailMergeEventListener()"
+"SwXMailMerge";"com::sun::star::text::XMailMergeBroadcaster#optional";"removeMailMergeEventListener()"
+"SwXMailMerge";"com::sun::star::task::XJob";"execute()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"DataSourceName"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"CommandType"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Command"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"ResultSet"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"ActiveConnection"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Selection"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"EscapeProcessing"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Filter"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"DocumentURL"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Model"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"OutputType"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"SinglePrintJobs"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"OutputURL"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"FileNameFromColumn"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"FileNamePrefix"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv
new file mode 100644
index 000000000000..53430c7c281b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv
@@ -0,0 +1,2 @@
+"SwXModule";"com::sun::star::view::XViewSettingsSupplier";"getViewSettings()"
+"SwXModule";"com::sun::star::view::XPrintSettingsSupplier";"getPrintSettings()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv
new file mode 100644
index 000000000000..6b30de486f46
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv
@@ -0,0 +1,16 @@
+"SwXNumberingRules";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXNumberingRules";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXNumberingRules";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXNumberingRules";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXNumberingRules";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"IsAbsoluteMargins#optional"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"IsAutomatic#optional"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"IsContinuousNumbering#optional"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"Name#optional"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv
new file mode 100644
index 000000000000..00e5ffa781c9
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv
@@ -0,0 +1,205 @@
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXParagraph";"com::sun::star::lang::XComponent";"dispose()"
+"SwXParagraph";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXParagraph";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"addChartDataChangeEventListener()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"removeChartDataChangeEventListener()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"getNotANumber()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"isNotANumber()"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaAdjust"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLineSpacing#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackColor#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackTransparent#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicURL#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicFilter#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicLocation#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLastLineAdjust"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaExpandSingleWord#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLeftMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaRightMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaTopMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBottomMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberCount#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberStartValue#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"PageDescName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"PageNumberOffset#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaRegisterModeActive#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaTabStops#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaStyleName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"DropCapFormat#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"DropCapWholeWord#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaKeepTogether#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaSplit#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingLevel#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingRules#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingStartValue#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsNumberingRestart#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingStyleName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaOrphans#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaWidows#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaShadowFormat#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"LeftBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"RightBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"TopBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BottomBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"LeftBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"RightBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"TopBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BottomBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BreakType#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"DropCapCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaFirstLineIndent#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsAutoFirstLineIndent#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsHyphenation"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxHyphens#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxLeadingChars#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxTrailingChars#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaVertAlignment#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaUserDefinedAttributes#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingIsNumber#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsConnectBorder#optional"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXParagraph";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXParagraph";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXParagraph";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXParagraph";"com::sun::star::table::XAutoFormattable#optional";"autoFormat()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"initialize()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getRows()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getColumns()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getCellByName()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getCellNames()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"createCursorByCellName()"
+"SwXParagraph";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXParagraph";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXParagraph";"com::sun::star::table::XCellRange#optional";"getCellByPosition()"
+"SwXParagraph";"com::sun::star::table::XCellRange#optional";"getCellRangeByPosition()"
+"SwXParagraph";"com::sun::star::table::XCellRange#optional";"getCellRangeByName()"
+"SwXParagraph";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SwXParagraph";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SwXParagraph";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BreakType"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"LeftMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"RightMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"HoriOrient"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"KeepTogether"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"Split"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"PageNumberOffset"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"PageDescName"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"RelativeWidth"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"IsWidthRelative"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"RepeatHeadline"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"ShadowFormat"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TopMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BottomMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackTransparent"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"Width"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"ChartRowAsLabel"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"ChartColumnAsLabel"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TableBorder"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TableColumnSeparators"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TableColumnRelativeSum"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackColor"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackGraphicURL"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackGraphicFilter"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackGraphicLocation"
+"SwXParagraph";"com::sun::star::container::XNamed#optional";"getName()"
+"SwXParagraph";"com::sun::star::container::XNamed#optional";"setName()"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontName"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontStyleName"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontFamily"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontCharSet"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontPitch"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharColor"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharEscapement#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharHeight"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharUnderline"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharWeight"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharPosture"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharAutoKerning#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharBackColor#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharBackTransparent#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCaseMap#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCrossedOut#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFlash#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharStrikeout#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharWordMode#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharKerning#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharLocale"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharKeepTogether#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharNoLineBreak#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharShadowed#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontType#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharContoured#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCombineIsOn#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCombinePrefix#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCombineSuffix#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharEmphasis#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharRelief#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyText#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyAdjust#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyIsAbove#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharRotation#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharRotationIsFitToLine#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharScaleWidth#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"HyperLinkURL#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"HyperLinkTarget#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"HyperLinkName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"VisitedCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"UnvisitedCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharEscapementHeight#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharNoHyphenation#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineColor"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineHasColor"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharStyleNames#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharHidden#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"TextUserDefinedAttributes#optional"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXParagraph";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SwXParagraph";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SwXParagraph";"com::sun::star::text::XTextContent";"attach()"
+"SwXParagraph";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"getData()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"setData()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"getRowDescriptions()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"setRowDescriptions()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"getColumnDescriptions()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"setColumnDescriptions()"
+"SwXParagraph";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXParagraph";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SwXParagraph";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv
new file mode 100644
index 000000000000..9462032b1fed
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv
@@ -0,0 +1,2 @@
+"SwXParagraphEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SwXParagraphEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv
new file mode 100644
index 000000000000..50f5cbcd3c68
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv
@@ -0,0 +1,13 @@
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintGraphics"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintTables"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintDrawings"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintLeftPages"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintRightPages"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintControls"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintReversed"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintPaperFromSetup"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintFaxName"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintAnnotationMode"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintProspect"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintPageBackground"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintBlackFonts"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv
new file mode 100644
index 000000000000..44a32895425c
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv
@@ -0,0 +1,7 @@
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv
new file mode 100644
index 000000000000..98a87cbf9719
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv
@@ -0,0 +1,3 @@
+"SwXPropertySetInfo";"com::sun::star::beans::XPropertySetInfo";"getProperties()"
+"SwXPropertySetInfo";"com::sun::star::beans::XPropertySetInfo";"getPropertyByName()"
+"SwXPropertySetInfo";"com::sun::star::beans::XPropertySetInfo";"hasPropertyByName()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv
new file mode 100644
index 000000000000..bdabc0f82d21
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv
@@ -0,0 +1,7 @@
+"SwXReferenceMark";"com::sun::star::lang::XComponent";"dispose()"
+"SwXReferenceMark";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXReferenceMark";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXReferenceMark";"com::sun::star::container::XNamed";"getName()"
+"SwXReferenceMark";"com::sun::star::container::XNamed";"setName()"
+"SwXReferenceMark";"com::sun::star::text::XTextContent";"attach()"
+"SwXReferenceMark";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv
new file mode 100644
index 000000000000..bcc24a043220
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv
@@ -0,0 +1,7 @@
+"SwXReferenceMarks";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXReferenceMarks";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXReferenceMarks";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXReferenceMarks";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXReferenceMarks";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXReferenceMarks";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXReferenceMarks";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv
new file mode 100644
index 000000000000..ca857ce964df
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv
@@ -0,0 +1,26 @@
+"SwXShape";"com::sun::star::lang::XComponent";"dispose()"
+"SwXShape";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXShape";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXShape";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Printable#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Name#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Style#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SwXShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SwXShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXShape";"com::sun::star::drawing::XShape";"getPosition()"
+"SwXShape";"com::sun::star::drawing::XShape";"setPosition()"
+"SwXShape";"com::sun::star::drawing::XShape";"getSize()"
+"SwXShape";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv
new file mode 100644
index 000000000000..f2f3e1303856
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv
@@ -0,0 +1,7 @@
+"SwXStyleFamilies";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXStyleFamilies";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXStyleFamilies";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXStyleFamilies";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"SwXStyleFamilies";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"SwXStyleFamilies";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXStyleFamilies";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv
new file mode 100644
index 000000000000..290649843f5a
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv
@@ -0,0 +1,10 @@
+"SwXStyleFamily";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXStyleFamily";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"SwXStyleFamily";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"SwXStyleFamily";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"SwXStyleFamily";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXStyleFamily";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv
new file mode 100644
index 000000000000..36487858ae67
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv
@@ -0,0 +1,21 @@
+"SwXTableCellText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXTableCellText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXTableCellText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXTableCellText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTableCellText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getText()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getString()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"setString()"
+"SwXTableCellText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXTableCellText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXTableCellText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXTableCellText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXTableCellText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXTableCellText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXTableCellText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv
new file mode 100644
index 000000000000..fab928f20a3e
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv
@@ -0,0 +1,6 @@
+"SwXTableColumns";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTableColumns";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTableColumns";"com::sun::star::table::XTableColumns";"insertByIndex()"
+"SwXTableColumns";"com::sun::star::table::XTableColumns";"removeByIndex()"
+"SwXTableColumns";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTableColumns";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv
new file mode 100644
index 000000000000..f38f414160f7
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv
@@ -0,0 +1,6 @@
+"SwXTableRows";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTableRows";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTableRows";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTableRows";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTableRows";"com::sun::star::table::XTableRows";"insertByIndex()"
+"SwXTableRows";"com::sun::star::table::XTableRows";"removeByIndex()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv
new file mode 100644
index 000000000000..00abbc82865d
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv
@@ -0,0 +1,12 @@
+"SwXTextColumns";"com::sun::star::text::TextColumns";"IsAutomatic"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"AutomaticDistance"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineWidth"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineColor"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineRelativeHeight"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineVerticalAlignment"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineIsOn"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"getReferenceValue()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"getColumnCount()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"setColumnCount()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"getColumns()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"setColumns()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv
new file mode 100644
index 000000000000..4082ae2c74d8
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv
@@ -0,0 +1,180 @@
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"SwXTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SwXTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv
new file mode 100644
index 000000000000..b59c0897fa40
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv
@@ -0,0 +1,137 @@
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextDefaults";"com::sun::star::text::Defaults";"TabStopDistance"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv
new file mode 100644
index 000000000000..09e9c91ca3ef
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv
@@ -0,0 +1,87 @@
+"SwXTextDocument";"com::sun::star::document::XEventBroadcaster#optional";"addEventListener()"
+"SwXTextDocument";"com::sun::star::document::XEventBroadcaster#optional";"removeEventListener()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"findAll()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"findFirst()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"findNext()"
+"SwXTextDocument";"com::sun::star::style::XStyleFamiliesSupplier#optional";"getStyleFamilies()"
+"SwXTextDocument";"com::sun::star::text::XTextFramesSupplier#optional";"getTextFrames()"
+"SwXTextDocument";"com::sun::star::text::XBookmarksSupplier#optional";"getBookmarks()"
+"SwXTextDocument";"com::sun::star::text::XTextDocument";"getText()"
+"SwXTextDocument";"com::sun::star::text::XTextDocument";"reformat()"
+"SwXTextDocument";"com::sun::star::util::XReplaceable#optional";"createReplaceDescriptor()"
+"SwXTextDocument";"com::sun::star::util::XReplaceable#optional";"replaceAll()"
+"SwXTextDocument";"com::sun::star::view::XPrintable";"getPrinter()"
+"SwXTextDocument";"com::sun::star::view::XPrintable";"setPrinter()"
+"SwXTextDocument";"com::sun::star::view::XPrintable";"print()"
+"SwXTextDocument";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextDocument";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextDocument";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextDocument";"com::sun::star::util::XRefreshable";"refresh()"
+"SwXTextDocument";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"SwXTextDocument";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"SwXTextDocument";"com::sun::star::text::XTextEmbeddedObjectsSupplier#optional";"getEmbeddedObjects()"
+"SwXTextDocument";"com::sun::star::text::XChapterNumberingSupplier#optional";"getChapterNumberingRules()"
+"SwXTextDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"addPrintJobListener()"
+"SwXTextDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"removePrintJobListener()"
+"SwXTextDocument";"com::sun::star::text::XFootnotesSupplier#optional";"getFootnotes()"
+"SwXTextDocument";"com::sun::star::text::XFootnotesSupplier#optional";"getFootnoteSettings()"
+"SwXTextDocument";"com::sun::star::text::XTextGraphicObjectsSupplier#optional";"getGraphicObjects()"
+"SwXTextDocument";"com::sun::star::text::XDocumentIndexesSupplier#optional";"getDocumentIndexes()"
+"SwXTextDocument";"com::sun::star::document::XViewDataSupplier#optional";"getViewData()"
+"SwXTextDocument";"com::sun::star::document::XViewDataSupplier#optional";"setViewData()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"hasLocation()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"getLocation()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"isReadonly()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"store()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"storeAsURL()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"storeToURL()"
+"SwXTextDocument";"com::sun::star::text::XLineNumberingSupplier#optional";"getLineNumberingRules()"
+"SwXTextDocument";"com::sun::star::text::XLineNumberingSupplier#optional";"setLineNumberingRules()"
+"SwXTextDocument";"com::sun::star::document::XEventsSupplier#optional";"getEvents()"
+"SwXTextDocument";"com::sun::star::text::XPagePrintable#optional";"getPagePrintSettings()"
+"SwXTextDocument";"com::sun::star::text::XPagePrintable#optional";"setPagePrintSettings()"
+"SwXTextDocument";"com::sun::star::text::XPagePrintable#optional";"printPages()"
+"SwXTextDocument";"com::sun::star::text::XTextFieldsSupplier#optional";"getTextFields()"
+"SwXTextDocument";"com::sun::star::text::XTextFieldsSupplier#optional";"getTextFieldMasters()"
+"SwXTextDocument";"com::sun::star::text::XReferenceMarksSupplier#optional";"getReferenceMarks()"
+"SwXTextDocument";"com::sun::star::text::XEndnotesSupplier#optional";"getEndnotes()"
+"SwXTextDocument";"com::sun::star::text::XEndnotesSupplier#optional";"getEndnoteSettings()"
+"SwXTextDocument";"com::sun::star::text::XTextTablesSupplier#optional";"getTextTables()"
+"SwXTextDocument";"com::sun::star::util::XModifiable";"isModified()"
+"SwXTextDocument";"com::sun::star::util::XModifiable";"setModified()"
+"SwXTextDocument";"com::sun::star::text::XTextSectionsSupplier#optional";"getTextSections()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SwXTextDocument";"com::sun::star::document::XDocumentInfoSupplier#optional";"getDocumentInfo()"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"CharLocale#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"CharacterCount#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"ParagraphCount#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"WordCount#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"WordSeparator#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"IndexAutoMarkFileURL#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"RecordChanges#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"TwoDigitYear#optional"
+"SwXTextDocument";"com::sun::star::document::OfficeDocument";"AutomaticControlFocus#optional"
+"SwXTextDocument";"com::sun::star::document::OfficeDocument";"ApplyFormDesignMode#optional"
+"SwXTextDocument";"com::sun::star::document::OfficeDocument";"RuntimeUID#optional"
+"SwXTextDocument";"com::sun::star::frame::XModel";"attachResource()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getURL()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getArgs()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"connectController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"disconnectController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"lockControllers()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"unlockControllers()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getCurrentController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"setCurrentController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getCurrentSelection()"
+"SwXTextDocument";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"SwXTextDocument";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
+"SwXTextDocument";"com::sun::star::util::XNumberFormatsSupplier#optional";"getNumberFormatSettings()"
+"SwXTextDocument";"com::sun::star::util::XNumberFormatsSupplier#optional";"getNumberFormats()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv
new file mode 100644
index 000000000000..ba30fe7dbd92
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv
@@ -0,0 +1,73 @@
+"SwXTextEmbeddedObject";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextEmbeddedObject";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextEmbeddedObject";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrame";"FrameStyleName"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShapeDescriptor#optional";"getShapeType()"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextEmbeddedObject";"CLSID"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextEmbeddedObject";"Model"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextEmbeddedObject";"Component"
+"SwXTextEmbeddedObject";"com::sun::star::document::XEmbeddedObjectSupplier";"getEmbeddedObject()"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"AnchorPageNo"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"AnchorFrame"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackColor"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicURL"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicFilter"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicLocation"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"LeftBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RightBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"TopBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BottomBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"LeftBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RightBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"TopBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BottomBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackTransparent"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"ContentProtected"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"LeftMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RightMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"TopMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BottomMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Height"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Width"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RelativeHeight"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RelativeWidth"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"IsSyncWidthToHeight"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"IsSyncHeightToWidth"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HoriOrient"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientPosition"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientRelation"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"VertOrient"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"VertOrientPosition"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"VertOrientRelation"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkURL"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkTarget"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkName"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Opaque"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"PageToggle"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"PositionProtected"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Print"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"ShadowFormat"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"ServerMap"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Size"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"SizeProtected"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Surround"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"SurroundAnchorOnly"
+"SwXTextEmbeddedObject";"com::sun::star::container::XNamed";"getName()"
+"SwXTextEmbeddedObject";"com::sun::star::container::XNamed";"setName()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"getPosition()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"setPosition()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"getSize()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"setSize()"
+"SwXTextEmbeddedObject";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextEmbeddedObject";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv
new file mode 100644
index 000000000000..89ab2d561f04
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv
@@ -0,0 +1,7 @@
+"SwXTextEmbeddedObjects";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv
new file mode 100644
index 000000000000..647254ff5cbe
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv
@@ -0,0 +1,16 @@
+"SwXTextField";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextField";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextField";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextField";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextField";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextField";"com::sun::star::text::XTextField";"getPresentation()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SwXTextField";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextField";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv
new file mode 100644
index 000000000000..4cc2e926c4eb
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv
@@ -0,0 +1,5 @@
+"SwXTextFieldMasters";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextFieldMasters";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextFieldMasters";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextFieldMasters";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextFieldMasters";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv
new file mode 100644
index 000000000000..7a466b54f492
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv
@@ -0,0 +1,6 @@
+"SwXTextFieldTypes";"com::sun::star::util::XRefreshable";"refresh()"
+"SwXTextFieldTypes";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"SwXTextFieldTypes";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"SwXTextFieldTypes";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextFieldTypes";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTextFieldTypes";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv
new file mode 100644
index 000000000000..2f70e8a75f9f
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv
@@ -0,0 +1,78 @@
+"SwXTextFrame";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextFrame";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextFrame";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextFrame";"com::sun::star::text::BaseFrame";"FrameStyleName"
+"SwXTextFrame";"com::sun::star::drawing::XShapeDescriptor#optional";"getShapeType()"
+"SwXTextFrame";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextFrame";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextFrame";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextFrame";"com::sun::star::text::XTextFrame";"getText()"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameHeightAbsolute"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameWidthAbsolute"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameWidthPercent"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameHeightPercent"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameIsAutomaticHeight"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"SizeType"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"WritingMode#optional"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"IsFollowingTextFlow#optional"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"AnchorPageNo"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"AnchorFrame"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackColor"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackGraphicURL"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackGraphicFilter"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackGraphicLocation"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"LeftBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RightBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"TopBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BottomBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"LeftBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RightBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"TopBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BottomBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackTransparent"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"ContentProtected"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"LeftMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RightMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"TopMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BottomMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Height"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Width"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RelativeHeight"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RelativeWidth"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"IsSyncWidthToHeight"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"IsSyncHeightToWidth"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HoriOrient"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HoriOrientPosition"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HoriOrientRelation"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"VertOrient"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"VertOrientPosition"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"VertOrientRelation"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HyperLinkURL"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HyperLinkTarget"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HyperLinkName"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Opaque"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"PageToggle"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"PositionProtected"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Print"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"ShadowFormat"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"ServerMap"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Size"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"SizeProtected"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Surround"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"SurroundAnchorOnly"
+"SwXTextFrame";"com::sun::star::container::XNamed";"getName()"
+"SwXTextFrame";"com::sun::star::container::XNamed";"setName()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"getPosition()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"setPosition()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"getSize()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"setSize()"
+"SwXTextFrame";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextFrame";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv
new file mode 100644
index 000000000000..4b00aec796be
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv
@@ -0,0 +1,21 @@
+"SwXTextFrameText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXTextFrameText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXTextFrameText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXTextFrameText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextFrameText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextFrameText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXTextFrameText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXTextFrameText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXTextFrameText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXTextFrameText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXTextFrameText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXTextFrameText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv
new file mode 100644
index 000000000000..bf33c49518c5
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv
@@ -0,0 +1,90 @@
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ImageMap"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ContentProtected"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"SurroundContour"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ContourOutside"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ContourPolyPolygon#optional"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicCrop"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"HoriMirroredOnEvenPages"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"HoriMirroredOnOddPages"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"VertMirrored"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicURL"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicFilter"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ActualSize"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustLuminance"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustContrast"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustRed"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustGreen"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustBlue"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"Gamma"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicIsInverted"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"Transparency"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicColorMode"
+"SwXTextGraphicObject";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextGraphicObject";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextGraphicObject";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrame";"FrameStyleName"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShapeDescriptor#optional";"getShapeType()"
+"SwXTextGraphicObject";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextGraphicObject";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextGraphicObject";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"AnchorPageNo"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"AnchorFrame"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackColor"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicURL"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicFilter"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicLocation"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"LeftBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RightBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"TopBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BottomBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"LeftBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RightBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"TopBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BottomBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackTransparent"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"ContentProtected"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"LeftMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RightMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"TopMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BottomMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Height"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Width"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RelativeHeight"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RelativeWidth"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"IsSyncWidthToHeight"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"IsSyncHeightToWidth"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HoriOrient"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientPosition"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientRelation"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"VertOrient"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"VertOrientPosition"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"VertOrientRelation"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkURL"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkTarget"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkName"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Opaque"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"PageToggle"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"PositionProtected"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Print"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"ShadowFormat"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"ServerMap"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Size"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"SizeProtected"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Surround"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"SurroundAnchorOnly"
+"SwXTextGraphicObject";"com::sun::star::container::XNamed";"getName()"
+"SwXTextGraphicObject";"com::sun::star::container::XNamed";"setName()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"getPosition()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"setPosition()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"getSize()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"setSize()"
+"SwXTextGraphicObject";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextGraphicObject";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv
new file mode 100644
index 000000000000..f1a2aa6714b6
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv
@@ -0,0 +1,7 @@
+"SwXTextGraphicObjects";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextGraphicObjects";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextGraphicObjects";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextGraphicObjects";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextGraphicObjects";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextGraphicObjects";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextGraphicObjects";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv
new file mode 100644
index 000000000000..73718824d7b0
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv
@@ -0,0 +1,155 @@
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextPortion";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextPortion";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextPortion";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SwXTextPortion";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SwXTextPortion";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"TextPortionType"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"ControlCharacter"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"Bookmark#optional"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"IsCollapsed#optional"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"IsStart#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv
new file mode 100644
index 000000000000..843f7b5ec876
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv
@@ -0,0 +1,2 @@
+"SwXTextPortionEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SwXTextPortionEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv
new file mode 100644
index 000000000000..c93369af74f3
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv
@@ -0,0 +1,147 @@
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv
new file mode 100644
index 000000000000..59fb1434e9f7
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv
@@ -0,0 +1,4 @@
+"SwXTextRanges";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextRanges";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextRanges";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextRanges";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv
new file mode 100644
index 000000000000..535e0bf599ae
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv
@@ -0,0 +1,19 @@
+"SwXTextSearch";"com::sun::star::util::XSearchDescriptor";"getSearchString()"
+"SwXTextSearch";"com::sun::star::util::XSearchDescriptor";"setSearchString()"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchBackwards"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchCaseSensitive"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchWords"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchRegularExpression"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchStyles"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarity"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityRelax"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityRemove"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityAdd"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityExchange"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv
new file mode 100644
index 000000000000..196897e5ef73
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv
@@ -0,0 +1,52 @@
+"SwXTextSection";"com::sun::star::text::XTextSection";"getParentSection()"
+"SwXTextSection";"com::sun::star::text::XTextSection";"getChildSections()"
+"SwXTextSection";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextSection";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextSection";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextSection";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextSection";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextSection";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextSection";"com::sun::star::container::XNamed";"getName()"
+"SwXTextSection";"com::sun::star::container::XNamed";"setName()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextSection";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextSection";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXTextSection";"com::sun::star::text::TextSection";"Condition"
+"SwXTextSection";"com::sun::star::text::TextSection";"IsVisible"
+"SwXTextSection";"com::sun::star::text::TextSection";"IsProtected"
+"SwXTextSection";"com::sun::star::text::TextSection";"FileLink"
+"SwXTextSection";"com::sun::star::text::TextSection";"LinkRegion"
+"SwXTextSection";"com::sun::star::text::TextSection";"DDECommandType"
+"SwXTextSection";"com::sun::star::text::TextSection";"DDECommandFile"
+"SwXTextSection";"com::sun::star::text::TextSection";"DDECommandElement"
+"SwXTextSection";"com::sun::star::text::TextSection";"BackGraphicURL"
+"SwXTextSection";"com::sun::star::text::TextSection";"BackGraphicFilter"
+"SwXTextSection";"com::sun::star::text::TextSection";"BackGraphicLocation"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteIsCollectAtTextEnd"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteIsRestartNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteRestartNumberingAt"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteIsOwnNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteNumberingType"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteNumberingPrefix"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteNumberingSuffix"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteIsCollectAtTextEnd"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteIsRestartNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteRestartNumberingAt"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteIsOwnNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteNumberingType"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteNumberingPrefix"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteNumberingSuffix"
+"SwXTextSection";"com::sun::star::text::TextSection";"IsAutomaticUpdate"
+"SwXTextSection";"com::sun::star::text::TextSection";"TextColumns"
+"SwXTextSection";"com::sun::star::text::TextSection";"SectionLeftMargin#optional"
+"SwXTextSection";"com::sun::star::text::TextSection";"SectionRightMargin#optional"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv
new file mode 100644
index 000000000000..990ae764df98
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv
@@ -0,0 +1,7 @@
+"SwXTextSections";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextSections";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextSections";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextSections";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextSections";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextSections";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextSections";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv
new file mode 100644
index 000000000000..275b232dad08
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv
@@ -0,0 +1,59 @@
+"SwXTextTable";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextTable";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextTable";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"getNotANumber()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"isNotANumber()"
+"SwXTextTable";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextTable";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextTable";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextTable";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"initialize()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getRows()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getColumns()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getCellByName()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getCellNames()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"createCursorByCellName()"
+"SwXTextTable";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"SwXTextTable";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"SwXTextTable";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"SwXTextTable";"com::sun::star::text::TextTable";"BreakType"
+"SwXTextTable";"com::sun::star::text::TextTable";"LeftMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"RightMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"HoriOrient"
+"SwXTextTable";"com::sun::star::text::TextTable";"KeepTogether"
+"SwXTextTable";"com::sun::star::text::TextTable";"Split"
+"SwXTextTable";"com::sun::star::text::TextTable";"PageNumberOffset"
+"SwXTextTable";"com::sun::star::text::TextTable";"PageDescName"
+"SwXTextTable";"com::sun::star::text::TextTable";"RelativeWidth"
+"SwXTextTable";"com::sun::star::text::TextTable";"IsWidthRelative"
+"SwXTextTable";"com::sun::star::text::TextTable";"RepeatHeadline"
+"SwXTextTable";"com::sun::star::text::TextTable";"ShadowFormat"
+"SwXTextTable";"com::sun::star::text::TextTable";"TopMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"BottomMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackTransparent"
+"SwXTextTable";"com::sun::star::text::TextTable";"Width"
+"SwXTextTable";"com::sun::star::text::TextTable";"ChartRowAsLabel"
+"SwXTextTable";"com::sun::star::text::TextTable";"ChartColumnAsLabel"
+"SwXTextTable";"com::sun::star::text::TextTable";"TableBorder"
+"SwXTextTable";"com::sun::star::text::TextTable";"TableColumnSeparators"
+"SwXTextTable";"com::sun::star::text::TextTable";"TableColumnRelativeSum"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackColor"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackGraphicURL"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackGraphicFilter"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackGraphicLocation"
+"SwXTextTable";"com::sun::star::container::XNamed";"getName()"
+"SwXTextTable";"com::sun::star::container::XNamed";"setName()"
+"SwXTextTable";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SwXTextTable";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SwXTextTable";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextTable";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"getData()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"setData()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"SwXTextTable";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"SwXTextTable";"com::sun::star::util::XSortable";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv
new file mode 100644
index 000000000000..2f2e52f42508
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv
@@ -0,0 +1,142 @@
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"getRangeName()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"gotoCellByName()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goLeft()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goRight()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goUp()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goDown()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"gotoStart()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"gotoEnd()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"mergeRange()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"splitRange()"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv
new file mode 100644
index 000000000000..271f4e2482bd
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv
@@ -0,0 +1,16 @@
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackColor"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackTransparent"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackGraphicURL"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackGraphicFilter"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackGraphicLocation"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"TableColumnSeparators"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"Height"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"IsAutoHeight"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"IsSplitAllowed#optional"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv
new file mode 100644
index 000000000000..7fb1526deef1
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv
@@ -0,0 +1,7 @@
+"SwXTextTables";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextTables";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextTables";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextTables";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextTables";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextTables";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextTables";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv
new file mode 100644
index 000000000000..9221719bbb24
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv
@@ -0,0 +1,11 @@
+"SwXTextView";"com::sun::star::view::XViewSettingsSupplier";"getViewSettings()"
+"SwXTextView";"com::sun::star::text::XTextViewCursorSupplier";"getViewCursor()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"select()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"SwXTextView";"com::sun::star::view::XControlAccess#optional";"getControl()"
+"SwXTextView";"com::sun::star::view::XFormLayerAccess#optional";"getFromController()"
+"SwXTextView";"com::sun::star::view::XFormLayerAccess#optional";"isFormDesignMode()"
+"SwXTextView";"com::sun::star::view::XFormLayerAccess#optional";"setFormDesignMode()"
+
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv
new file mode 100644
index 000000000000..524fd0f3299b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv
@@ -0,0 +1,190 @@
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToFirstPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToLastPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"getPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToNextPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToPreviousPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToEndOfPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToStartOfPage()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"SwXTextViewCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextViewCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextViewCursor";"com::sun::star::view::XScreenCursor";"screenDown()"
+"SwXTextViewCursor";"com::sun::star::view::XScreenCursor";"screenUp()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextViewCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXTextViewCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SwXTextViewCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv
new file mode 100644
index 000000000000..63fdcb56e998
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv
@@ -0,0 +1,37 @@
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowAnnotations"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowBreaks"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowDrawings"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowFieldCommands"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowFootnoteBackground"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowGraphics"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHiddenParagraphs"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHiddenText"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowRulers"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHoriRuler"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHoriScrollBar"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowIndexMarkBackground"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowParaBreaks"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowProtectedSpaces"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowSoftHyphens"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowSpaces"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTableBoundaries"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTables"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTabstops"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTextBoundaries"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTextFieldBackground"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowVertRuler"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowVertScrollBar"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"SmoothScrolling"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"SolidMarkHandles"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"IsVertRulerRightAligned"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowOnlineLayout"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ZoomType"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ZoomValue"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"IsExecuteHyperlinks#optional"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv
new file mode 100755
index 000000000000..f9dbb50ff760
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv
@@ -0,0 +1,105 @@
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharDiffHeight"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharPropHeight"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharDiffHeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharPropHeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharDiffHeightComplex"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharPropHeightComplex"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"CharacterStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"CharacterStyle";"com::sun::star::style::XStyle";"isInUse()"
+"CharacterStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"CharacterStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"CharacterStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"CharacterStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"CharacterStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"CharacterStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"CharacterStyle";"com::sun::star::container::XNamed";"getName()"
+"CharacterStyle";"com::sun::star::container::XNamed";"setName()"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontName"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharColor"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharHeight"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharWeight"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharPosture"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharLocale"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv
new file mode 100755
index 000000000000..1fc943d0d938
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv
@@ -0,0 +1,95 @@
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaLeftMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaRightMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaTopMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaBottomMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"Category"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeight"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeight"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightAsian"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightAsian"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightComplex"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightComplex"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"isInUse()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"ConditionalParagraphStyle";"com::sun::star::container::XNamed";"getName()"
+"ConditionalParagraphStyle";"com::sun::star::container::XNamed";"setName()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsHangingPunctuation"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsCharacterDistance"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsForbiddenRules"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesComplex";"WritingMode"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv
new file mode 100755
index 000000000000..f3bd8466345b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv
@@ -0,0 +1,125 @@
+"PageStyle";"com::sun::star::style::PageProperties";"BackColor"
+"PageStyle";"com::sun::star::style::PageProperties";"BackGraphicURL"
+"PageStyle";"com::sun::star::style::PageProperties";"BackGraphicFilter"
+"PageStyle";"com::sun::star::style::PageProperties";"BackGraphicLocation"
+"PageStyle";"com::sun::star::style::PageProperties";"BackTransparent"
+"PageStyle";"com::sun::star::style::PageProperties";"LeftMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"RightMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"TopMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"BottomMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"LeftBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"RightBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"TopBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"BottomBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"LeftBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"RightBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"TopBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"BottomBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"ShadowFormat"
+"PageStyle";"com::sun::star::style::PageProperties";"IsLandscape"
+"PageStyle";"com::sun::star::style::PageProperties";"NumberingType"
+"PageStyle";"com::sun::star::style::PageProperties";"PageStyleLayout"
+"PageStyle";"com::sun::star::style::PageProperties";"PrinterPaperTray"
+"PageStyle";"com::sun::star::style::PageProperties";"RegisterModeActive#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"RegisterParagraphStyle#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"Size"
+"PageStyle";"com::sun::star::style::PageProperties";"Width"
+"PageStyle";"com::sun::star::style::PageProperties";"Height"
+"PageStyle";"com::sun::star::style::PageProperties";"TextColumns#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"UserDefinedAttributes"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackColor"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackGraphicURL"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackGraphicFilter"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackGraphicLocation"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderLeftMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderRightMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackTransparent"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderLeftBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderRightBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTopBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBottomBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderLeftBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderRightBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTopBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBottomBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderShadowFormat"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBodyDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderIsShared"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderIsDynamicHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderIsOn"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderText#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTextLeft#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTextRight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackColor"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackGraphicURL"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackGraphicFilter"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackGraphicLocation"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterLeftMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterRightMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackTransparent"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterLeftBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterRightBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTopBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBottomBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterLeftBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterRightBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTopBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBottomBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterShadowFormat"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBodyDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterIsDynamicHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterIsShared"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterIsOn"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterText#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTextLeft#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTextRight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteHeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineWeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineColor#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineRelativeWidth#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineAdjust#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineTextDistance#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineDistance#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"WritingMode#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridMode#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridColor#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridLines#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridBaseHeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridRubyHeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridRubyBelow#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridPrint#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridDisplay#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderDynamicSpacing#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterDynamicSpacing#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"BorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBorderDistance"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"PageStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"PageStyle";"com::sun::star::style::XStyle";"isInUse()"
+"PageStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"PageStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"PageStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"PageStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"PageStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"PageStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"PageStyle";"com::sun::star::container::XNamed";"getName()"
+"PageStyle";"com::sun::star::container::XNamed";"setName()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv
new file mode 100755
index 000000000000..a1d7cead8d29
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv
@@ -0,0 +1,95 @@
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaLeftMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaRightMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaTopMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaBottomMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"Category"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeight"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeight"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightAsian"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightAsian"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightComplex"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightComplex"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"isInUse()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"ParagraphStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"ParagraphStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"ParagraphStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"ParagraphStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"ParagraphStyle";"com::sun::star::container::XNamed";"getName()"
+"ParagraphStyle";"com::sun::star::container::XNamed";"setName()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsHangingPunctuation"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsCharacterDistance"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsForbiddenRules"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesComplex";"WritingMode"
diff --git a/qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv b/qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv
new file mode 100644
index 000000000000..3c98a408ba20
--- /dev/null
+++ b/qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv
@@ -0,0 +1,16 @@
+"SystemClipboard";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SystemClipboard";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SystemClipboard";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SystemClipboard";"com::sun::star::lang::XComponent";"dispose()"
+"SystemClipboard";"com::sun::star::lang::XComponent";"addEventListener()"
+"SystemClipboard";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XFlushableClipboard#optional";"flushClipboard()"
+"SystemClipboard";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboardEx";"getRenderingCapabilities()"
+"SystemClipboard";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SystemClipboard";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboard";"getContents()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboard";"setContents()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboard";"getName()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"addClipboardListener()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"removeClipboardListener()"
diff --git a/qadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv b/qadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv
new file mode 100755
index 000000000000..4e5b8132a610
--- /dev/null
+++ b/qadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv
@@ -0,0 +1,5 @@
+"SystemIntegration";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"listOwnLayers()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"getOwnUpdateHandler()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"listLayers()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"getUpdateHandler()"
diff --git a/qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv b/qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv
new file mode 100644
index 000000000000..9497893648a4
--- /dev/null
+++ b/qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv
@@ -0,0 +1,6 @@
+"SystemShellExecute";"com::sun::star::system::XSystemShellExecute";"execute()"
+"SystemShellExecute";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SystemShellExecute";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SystemShellExecute";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SystemShellExecute";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SystemShellExecute";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
diff --git a/qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv b/qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv
new file mode 100644
index 000000000000..9d9ec2605ea0
--- /dev/null
+++ b/qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv
@@ -0,0 +1,2 @@
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertTo()"
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertToSimpleType()"
diff --git a/qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv b/qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv
new file mode 100644
index 000000000000..e3ad0c1a0319
--- /dev/null
+++ b/qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv
@@ -0,0 +1,12 @@
+"TypeDescriptionManager";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"dispose()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"has()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"insert()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"remove()"
+"TypeDescriptionManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv b/qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv
new file mode 100644
index 000000000000..bbc29d582c70
--- /dev/null
+++ b/qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv
@@ -0,0 +1,2 @@
+"DefaultNumberingProvider";"com::sun::star::text::XDefaultNumberingProvider";"getDefaultOutlineNumberings()"
+"DefaultNumberingProvider";"com::sun::star::text::XDefaultNumberingProvider";"getDefaultContinuousNumberingLevels()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv
new file mode 100644
index 000000000000..54fac0f2ee40
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv
@@ -0,0 +1,9 @@
+"TabController";"com::sun::star::awt::XTabController";"setModel()"
+"TabController";"com::sun::star::awt::XTabController";"getModel()"
+"TabController";"com::sun::star::awt::XTabController";"setContainer()"
+"TabController";"com::sun::star::awt::XTabController";"getContainer()"
+"TabController";"com::sun::star::awt::XTabController";"getControls()"
+"TabController";"com::sun::star::awt::XTabController";"autoTabOrder()"
+"TabController";"com::sun::star::awt::XTabController";"activateTabOrder()"
+"TabController";"com::sun::star::awt::XTabController";"activateFirst()"
+"TabController";"com::sun::star::awt::XTabController";"activateLast()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv
new file mode 100644
index 000000000000..e3c1c1767058
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv
@@ -0,0 +1,11 @@
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroupControl()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"setGroupControl()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"setControlModels()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getControlModels()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"setGroup()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroupCount()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroup()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroupByName()"
+"TabControllerModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"TabControllerModel";"com::sun::star::io::XPersistObject";"write()"
+"TabControllerModel";"com::sun::star::io::XPersistObject";"read()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv
new file mode 100644
index 000000000000..b8fb768c79e5
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv
@@ -0,0 +1,12 @@
+"Toolkit";"com::sun::star::awt::XSystemChildFactory#optional";"createSystemChild()"
+"Toolkit";"com::sun::star::awt::XToolkit";"getDesktopWindow()"
+"Toolkit";"com::sun::star::awt::XToolkit";"getWorkArea()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createWindow()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createWindows()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createScreenCompatibleDevice()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createRegion()"
+"Toolkit";"com::sun::star::awt::XMessageBoxFactory#optional";"createMessageBox()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getDragGestureRecognizer()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getDragSource()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getDropTarget()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getClipboard()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv
new file mode 100644
index 000000000000..baef22ec36a3
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv
@@ -0,0 +1,43 @@
+"UnoControlButton";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlButton";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlButton";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlButton";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlButton";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlButton";"com::sun::star::awt::XView";"getSize()"
+"UnoControlButton";"com::sun::star::awt::XView";"draw()"
+"UnoControlButton";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlButton";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlButton";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlButton";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlButton";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlButton";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlButton";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getView()"
+"UnoControlButton";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlButton";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlButton";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlButton";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlButton";"com::sun::star::awt::XButton";"addActionListener()"
+"UnoControlButton";"com::sun::star::awt::XButton";"removeActionListener()"
+"UnoControlButton";"com::sun::star::awt::XButton";"setLabel()"
+"UnoControlButton";"com::sun::star::awt::XButton";"setActionCommand()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv
new file mode 100644
index 000000000000..148c39ab0ed0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv
@@ -0,0 +1,55 @@
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Align#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"BackgroundColor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"DefaultButton"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Enabled"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FocusOnClick#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontDescriptor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontEmphasisMark"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontRelief"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpText"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpURL"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageAlign"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImagePosition#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageURL"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Graphic#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Label"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"MultiLine#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Printable"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"PushButtonType"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Repeat#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"RepeatDelay#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"State"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Tabstop"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextColor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextLineColor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Toggle#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"VerticalAlign#optional"
+"UnoControlButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv
new file mode 100644
index 000000000000..368547ee197f
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv
@@ -0,0 +1,45 @@
+"UnoControlCheckBox";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"addItemListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"removeItemListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"getState()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"setState()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"setLabel()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"enableTriState()"
+"UnoControlCheckBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCheckBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCheckBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlCheckBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv
new file mode 100644
index 000000000000..1094f735cf4e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv
@@ -0,0 +1,50 @@
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlCheckBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlCheckBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCheckBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCheckBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlCheckBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlCheckBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlCheckBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Align#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"BackgroundColor#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Enabled"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontDescriptor"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontEmphasisMark"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontRelief"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpText"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpURL"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImagePosition#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImageURL#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Graphic#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Label"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"MultiLine#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Printable"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"State"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Tabstop"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextColor"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextLineColor"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TriState"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VerticalAlign#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VisualEffect#optional"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv
new file mode 100644
index 000000000000..e17ce8b621df
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv
@@ -0,0 +1,65 @@
+"UnoControlComboBox";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlComboBox";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlComboBox";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlComboBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlComboBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlComboBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlComboBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlComboBox";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlComboBox";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addItemListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"removeItemListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addActionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"removeActionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addItem()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addItems()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"removeItems()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getItemCount()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getItem()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getItems()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getDropDownLineCount()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"setDropDownLineCount()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv
new file mode 100644
index 000000000000..979b003458c5
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv
@@ -0,0 +1,51 @@
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlComboBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlComboBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlComboBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlComboBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Align#optional"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Autocomplete"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BackgroundColor"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Border"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BorderColor#optional"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Dropdown"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Enabled"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontDescriptor"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontEmphasisMark"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontRelief"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpText"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpURL"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HideInactiveSelection#optional"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"LineCount"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"MaxTextLen"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Printable"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"ReadOnly"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"StringItemList"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Tabstop"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Text"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextColor"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextLineColor"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlComboBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlComboBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlComboBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv
new file mode 100644
index 000000000000..eb6201ed6a1d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv
@@ -0,0 +1,47 @@
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"setStatusText()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"getControls()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"getControl()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"addControl()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"removeControl()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"setTabControllers()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"getTabControllers()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"addTabController()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"removeTabController()"
+"UnoControlContainer";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlContainer";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlContainer";"com::sun::star::awt::XView";"getSize()"
+"UnoControlContainer";"com::sun::star::awt::XView";"draw()"
+"UnoControlContainer";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlContainer";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlContainer";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlContainer";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getView()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlContainer";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlContainer";"com::sun::star::container::XContainer";"addContainerListener()"
+"UnoControlContainer";"com::sun::star::container::XContainer";"removeContainerListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv
new file mode 100644
index 000000000000..bf04ccbd77a1
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv
@@ -0,0 +1,37 @@
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlContainerModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlContainerModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlContainerModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlContainerModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlContainerModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlContainerModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlContainerModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"BackgroundColor"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Enabled"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Border"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"BorderColor#optional"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Printable"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Text"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"HelpText"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"HelpURL"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv
new file mode 100644
index 000000000000..6363b1a3c1ec
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv
@@ -0,0 +1,76 @@
+"UnoControlCurrencyField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"draw()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlCurrencyField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCurrencyField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCurrencyField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setValue()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getValue()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setMin()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getMin()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setMax()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getMax()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setFirst()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getFirst()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setLast()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getLast()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setSpinSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getSpinSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setDecimalDigits()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getDecimalDigits()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setStrictFormat()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"isStrictFormat()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlCurrencyField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv
new file mode 100644
index 000000000000..67a5b5c91ecb
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv
@@ -0,0 +1,56 @@
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlCurrencyFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BackgroundColor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Border"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BorderColor#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"CurrencySymbol"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"DecimalAccuracy"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Enabled"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontDescriptor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontEmphasisMark"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontRelief"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpText"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpURL"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HideInactiveSelection#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"PrependCurrencySymbol"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Printable"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ReadOnly"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Repeat#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"RepeatDelay#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ShowThousandsSeparator"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Spin"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"StrictFormat"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Tabstop"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextColor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextLineColor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Value"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMax"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMin"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueStep"
+"UnoControlCurrencyFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCurrencyFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlCurrencyFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlCurrencyFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlCurrencyFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv
new file mode 100644
index 000000000000..4fe8ef1a5f41
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv
@@ -0,0 +1,76 @@
+"UnoControlDateField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlDateField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlDateField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlDateField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlDateField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlDateField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlDateField";"com::sun::star::awt::XView";"draw()"
+"UnoControlDateField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlDateField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDateField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDateField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setDate()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getDate()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setMin()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getMin()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setMax()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getMax()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setFirst()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getFirst()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setLast()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getLast()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setLongFormat()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"isLongFormat()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setEmpty()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"isEmpty()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setStrictFormat()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"isStrictFormat()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlDateField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlDateField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlDateField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv
new file mode 100644
index 000000000000..ee9facefa598
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv
@@ -0,0 +1,55 @@
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlDateFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"BackgroundColor"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Border"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"BorderColor#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Date"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateFormat"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMax"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMin"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateShowCentury"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Dropdown"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Enabled"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontDescriptor"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontEmphasisMark"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontRelief"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpText"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpURL"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"HideInactiveSelection#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Printable"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"ReadOnly"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Repeat#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"RepeatDelay#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Spin"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"StrictFormat"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Tabstop"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Text#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextColor"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextLineColor"
+"UnoControlDateFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDateFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDateFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlDateFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlDateFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlDateFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv
new file mode 100644
index 000000000000..be4d2b286d64
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv
@@ -0,0 +1,56 @@
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"setStatusText()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"getControls()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"getControl()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"addControl()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"removeControl()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"setTitle()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"getTitle()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"execute()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"endExecute()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"setTabControllers()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"getTabControllers()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"addTabController()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"removeTabController()"
+"UnoControlDialog";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlDialog";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlDialog";"com::sun::star::awt::XView";"getSize()"
+"UnoControlDialog";"com::sun::star::awt::XView";"draw()"
+"UnoControlDialog";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"addTopWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"removeTopWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"toFront()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"toBack()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"setMenuBar()"
+"UnoControlDialog";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDialog";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDialog";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getView()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlDialog";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlDialog";"com::sun::star::container::XContainer";"addContainerListener()"
+"UnoControlDialog";"com::sun::star::container::XContainer";"removeContainerListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv
new file mode 100644
index 000000000000..645120789abe
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv
@@ -0,0 +1,55 @@
+"UnoControlDialogModel";"com::sun::star::container::XNameAccess";"getByName()"
+"UnoControlDialogModel";"com::sun::star::container::XNameAccess";"getElementNames()"
+"UnoControlDialogModel";"com::sun::star::container::XNameAccess";"hasByName()"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlDialogModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlDialogModel";"com::sun::star::container::XNameReplace";"replaceByName()"
+"UnoControlDialogModel";"com::sun::star::container::XNameContainer";"insertByName()"
+"UnoControlDialogModel";"com::sun::star::container::XNameContainer";"removeByName()"
+"UnoControlDialogModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDialogModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDialogModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDialogModel";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"UnoControlDialogModel";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"UnoControlDialogModel";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"BackgroundColor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Closeable"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Enabled"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"FontDescriptor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"FontEmphasisMark"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"FontRelief"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"HelpText"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"HelpURL"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Moveable"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Sizeable"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"TextColor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"TextLineColor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Title"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlDialogModel";"com::sun::star::container::XElementAccess";"getElementType()"
+"UnoControlDialogModel";"com::sun::star::container::XElementAccess";"hasElements()"
+"UnoControlDialogModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlDialogModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlDialogModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlDialogModel";"com::sun::star::container::XContainer";"addContainerListener()"
+"UnoControlDialogModel";"com::sun::star::container::XContainer";"removeContainerListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv
new file mode 100644
index 000000000000..fc30f46ca5dc
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv
@@ -0,0 +1,53 @@
+"UnoControlEdit";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlEdit";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlEdit";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlEdit";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlEdit";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlEdit";"com::sun::star::awt::XView";"getSize()"
+"UnoControlEdit";"com::sun::star::awt::XView";"draw()"
+"UnoControlEdit";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlEdit";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlEdit";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlEdit";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getView()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlEdit";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlEdit";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlEdit";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv
new file mode 100644
index 000000000000..7e5f6a37b20d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv
@@ -0,0 +1,53 @@
+"UnoControlEditModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlEditModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlEditModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlEditModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlEditModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlEditModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlEditModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlEditModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Align"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"BackgroundColor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Border"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"BorderColor#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"EchoChar#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Enabled"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"FontDescriptor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"FontEmphasisMark"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"FontRelief"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HardLineBreaks"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpText"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpURL"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HideInactiveSelection#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HScroll"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"LineEndFormat#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"MaxTextLen"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"MultiLine"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Printable"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"ReadOnly"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Tabstop"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Text"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"TextColor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"TextLineColor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"VScroll"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv
new file mode 100644
index 000000000000..37ba4712c02e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv
@@ -0,0 +1,53 @@
+"UnoControlFileControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlFileControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlFileControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"getSize()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"draw()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlFileControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFileControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFileControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getView()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlFileControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlFileControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlFileControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv
new file mode 100644
index 000000000000..66b24c5b3ea6
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv
@@ -0,0 +1,45 @@
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFileControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFileControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFileControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFileControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFileControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFileControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFileControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BackgroundColor"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Border"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BorderColor#optional"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Enabled"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontDescriptor"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontEmphasisMark"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontRelief"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpText"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpURL"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HideInactiveSelection#optional"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Printable"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"ReadOnly#optional"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Tabstop"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Text"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextColor"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextLineColor"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv
new file mode 100644
index 000000000000..5c04d9aa088e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv
@@ -0,0 +1,40 @@
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFixedLineModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFixedLineModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFixedLineModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFixedLineModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Enabled"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"FontDescriptor"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"FontEmphasisMark"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"FontRelief"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"HelpText"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"HelpURL"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Label"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Orientation"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Printable"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"TextColor"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"TextLineColor"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFixedLineModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFixedLineModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFixedLineModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv
new file mode 100644
index 000000000000..3a78bf5d8a40
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv
@@ -0,0 +1,43 @@
+"UnoControlFixedText";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlFixedText";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlFixedText";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"getSize()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"draw()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlFixedText";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFixedText";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFixedText";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getView()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"setText()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"getText()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"setAlignment()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"getAlignment()"
+"UnoControlFixedText";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv
new file mode 100644
index 000000000000..c7ba42d7974f
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv
@@ -0,0 +1,45 @@
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFixedTextModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFixedTextModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFixedTextModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFixedTextModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFixedTextModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFixedTextModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFixedTextModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Align"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BackgroundColor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Border"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BorderColor#optional"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Enabled"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontDescriptor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontEmphasisMark"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontRelief"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpText"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpURL"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Label"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"MultiLine"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Printable"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextColor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextLineColor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"VerticalAlign#optional"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv
new file mode 100644
index 000000000000..2fa33f742e69
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv
@@ -0,0 +1,60 @@
+"UnoControlFormattedField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"draw()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlFormattedField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFormattedField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFormattedField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlFormattedField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv
new file mode 100644
index 000000000000..b8b646f42482
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv
@@ -0,0 +1,58 @@
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFormattedFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Align"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"BackgroundColor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Border"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"BorderColor#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveDefault"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMax"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMin"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveValue"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Enabled"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontDescriptor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontEmphasisMark"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontRelief"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatKey"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatsSupplier"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpText"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpURL"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"HideInactiveSelection#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"MaxTextLen"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Printable"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"ReadOnly"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Repeat#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"RepeatDelay#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Spin"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"StrictFormat#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Tabstop"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Text"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextColor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextLineColor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"TreatAsNumber"
+"UnoControlFormattedFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFormattedFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFormattedFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFormattedFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFormattedFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv
new file mode 100644
index 000000000000..3a6e070a8bd3
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv
@@ -0,0 +1,36 @@
+"UnoControlGroupBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlGroupBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlGroupBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlGroupBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlGroupBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv
new file mode 100644
index 000000000000..d29f6947c8e6
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv
@@ -0,0 +1,39 @@
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Enabled"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontDescriptor"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontEmphasisMark"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontRelief"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpText"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpURL"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Label"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Printable"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextColor"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextLineColor"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlGroupBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlGroupBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlGroupBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlGroupBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlGroupBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlGroupBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlGroupBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv
new file mode 100644
index 000000000000..0c9bcc76b5e0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv
@@ -0,0 +1,39 @@
+"UnoControlImageControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlImageControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlImageControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"getSize()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"draw()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlImageControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlImageControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlImageControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getView()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlImageControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv
new file mode 100644
index 000000000000..e5f2d74fcd99
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv
@@ -0,0 +1,40 @@
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlImageControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BackgroundColor"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Border"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BorderColor#optional"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Enabled"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpText"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpURL"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ImageURL"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Graphic#optional"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Printable"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ScaleImage"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Tabstop#optional"
+"UnoControlImageControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlImageControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlImageControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlImageControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlImageControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlImageControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv
new file mode 100644
index 000000000000..0e4fa1b3e439
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv
@@ -0,0 +1,63 @@
+"UnoControlListBox";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlListBox";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlListBox";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlListBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlListBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlListBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlListBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlListBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlListBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlListBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlListBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlListBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlListBox";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlListBox";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addItemListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"removeItemListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addActionListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"removeActionListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"removeItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getItemCount()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItemPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItemsPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"selectItemPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"selectItemsPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"selectItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"isMutipleMode()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"setMultipleMode()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getDropDownLineCount()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"setDropDownLineCount()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"makeVisible()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv
new file mode 100644
index 000000000000..fd81d508dbc6
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv
@@ -0,0 +1,49 @@
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Align#optional"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BackgroundColor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Border"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BorderColor#optional"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Dropdown"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Enabled"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontDescriptor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontEmphasisMark"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontRelief"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpText"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpURL"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"LineCount"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"MultiSelection"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Printable"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"ReadOnly"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"SelectedItems"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"StringItemList"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Tabstop"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextColor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextLineColor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlListBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlListBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlListBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlListBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlListBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlListBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlListBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv
new file mode 100644
index 000000000000..2eaeaebc1f1d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv
@@ -0,0 +1,76 @@
+"UnoControlNumericField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlNumericField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlNumericField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"draw()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlNumericField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlNumericField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlNumericField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlNumericField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlNumericField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlNumericField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setValue()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getValue()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setMin()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getMin()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setMax()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getMax()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setFirst()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getFirst()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setLast()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getLast()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setSpinSize()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getSpinSize()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setDecimalDigits()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getDecimalDigits()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setStrictFormat()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv
new file mode 100644
index 000000000000..adc0bb0d1591
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv
@@ -0,0 +1,54 @@
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlNumericFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlNumericFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlNumericFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlNumericFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlNumericFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlNumericFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlNumericFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BackgroundColor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Border"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BorderColor#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"DecimalAccuracy"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Enabled"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontDescriptor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontEmphasisMark"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontRelief"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpText"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpURL"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HideInactiveSelection#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Printable"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ReadOnly"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Repeat#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"RepeatDelay#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ShowThousandsSeparator"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Spin"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"StrictFormat"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Tabstop"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextColor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextLineColor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Value"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMax"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMin"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueStep"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv
new file mode 100644
index 000000000000..614738018f4b
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv
@@ -0,0 +1,66 @@
+"UnoControlPatternField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlPatternField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlPatternField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"draw()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlPatternField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlPatternField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlPatternField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlPatternField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlPatternField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlPatternField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"setMasks()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"getMasks()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"setString()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"getString()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"setStrictFormat()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv
new file mode 100644
index 000000000000..20c556a0121e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv
@@ -0,0 +1,49 @@
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlPatternFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlPatternFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlPatternFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlPatternFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BackgroundColor"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Border"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BorderColor#optional"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"EditMask"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Enabled"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontDescriptor"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontEmphasisMark"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontRelief"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpText"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpURL"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HideInactiveSelection#optional"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"LiteralMask"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"MaxTextLen"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Printable"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"ReadOnly"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"StrictFormat"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Tabstop"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Text"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextColor"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextLineColor"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlPatternFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlPatternFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlPatternFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv
new file mode 100644
index 000000000000..4cda47a813f8
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv
@@ -0,0 +1,40 @@
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlProgressBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"BackgroundColor"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"Border"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"BorderColor#optional"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"Enabled"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"FillColor"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"HelpText"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"HelpURL"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"Printable"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"ProgressValue"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"ProgressValueMax"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"ProgressValueMin"
+"UnoControlProgressBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlProgressBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlProgressBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlProgressBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlProgressBarModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlProgressBarModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv
new file mode 100644
index 000000000000..1a2647316341
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv
@@ -0,0 +1,44 @@
+"UnoControlRadioButton";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"addItemListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"removeItemListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"getState()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"setState()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"setLabel()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"getSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"draw()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlRadioButton";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlRadioButton";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlRadioButton";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getView()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlRadioButton";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv
new file mode 100644
index 000000000000..360cf362f455
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv
@@ -0,0 +1,49 @@
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlRadioButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlRadioButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlRadioButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlRadioButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Align#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"BackgroundColor#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Enabled"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontDescriptor"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontEmphasisMark"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontRelief"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpText"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpURL"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImagePosition#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImageURL#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Graphic#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Label"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"MultiLine#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Printable"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"State"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Tabstop"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextColor"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextLineColor"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VerticalAlign#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VisualEffect#optional"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlRadioButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlRadioButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlRadioButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv
new file mode 100644
index 000000000000..a8c97303d620
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv
@@ -0,0 +1,47 @@
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlScrollBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BackgroundColor#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BlockIncrement"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Border"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BorderColor#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Enabled"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpText"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpURL"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LineIncrement"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LiveScroll#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Orientation"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Printable"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"RepeatDelay#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValue"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMin#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMax"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"SymbolColor#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Tabstop#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"VisibleSize"
+"UnoControlScrollBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlScrollBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlScrollBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlScrollBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlScrollBarModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlScrollBarModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv
new file mode 100644
index 000000000000..e5879ecc0713
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv
@@ -0,0 +1,74 @@
+"UnoControlTimeField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlTimeField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlTimeField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"draw()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlTimeField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlTimeField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlTimeField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setTime()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getTime()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setMin()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getMin()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setMax()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getMax()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setFirst()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getFirst()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setLast()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getLast()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setEmpty()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"isEmpty()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setStrictFormat()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"isStrictFormat()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlTimeField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlTimeField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv
new file mode 100644
index 000000000000..ae58bd6b5229
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv
@@ -0,0 +1,53 @@
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlTimeFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlTimeFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlTimeFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlTimeFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlTimeFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlTimeFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlTimeFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BackgroundColor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Border"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BorderColor#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Enabled"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontDescriptor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontEmphasisMark"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontRelief"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpText"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpURL"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HideInactiveSelection#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Printable"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"ReadOnly"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Repeat#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"RepeatDelay#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Spin"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"StrictFormat"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Tabstop"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Text#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextColor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextLineColor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Time"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeFormat"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMax"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMin"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv
new file mode 100644
index 000000000000..b5074fae0796
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv
@@ -0,0 +1,49 @@
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv
new file mode 100644
index 000000000000..f55d013eae03
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv
@@ -0,0 +1,49 @@
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv
new file mode 100644
index 000000000000..30956a4ef8a0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv
@@ -0,0 +1,24 @@
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv
new file mode 100644
index 000000000000..96e3d27f3ba4
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv
@@ -0,0 +1,28 @@
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv
new file mode 100644
index 000000000000..2df3ecb2f6a3
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv
@@ -0,0 +1,28 @@
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv
new file mode 100644
index 000000000000..ab60d7412017
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv
@@ -0,0 +1,48 @@
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"cutText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"pasteText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"deleteText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"insertText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"replaceText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"setAttributes()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"setText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv
new file mode 100644
index 000000000000..0a58a7933a6c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv
@@ -0,0 +1,41 @@
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv
new file mode 100644
index 000000000000..ddbc2a586b70
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv
@@ -0,0 +1,32 @@
+"AccessibleList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleList";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv
new file mode 100644
index 000000000000..fbf420288a74
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv
@@ -0,0 +1,24 @@
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv
new file mode 100644
index 000000000000..22f633f7662c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv
@@ -0,0 +1,38 @@
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv
new file mode 100644
index 000000000000..017a8ff4e902
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv
@@ -0,0 +1,56 @@
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv
new file mode 100644
index 000000000000..580dcf2b2bb8
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv
@@ -0,0 +1,31 @@
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv
new file mode 100644
index 000000000000..12978754ab68
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv
@@ -0,0 +1,49 @@
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv
new file mode 100644
index 000000000000..d0fd63b66dce
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv
@@ -0,0 +1,24 @@
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv
new file mode 100644
index 000000000000..ec26fdf299e8
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv
@@ -0,0 +1,31 @@
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv
new file mode 100644
index 000000000000..e6b09510472c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv
@@ -0,0 +1,49 @@
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv
new file mode 100644
index 000000000000..38ef1161a39e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv
@@ -0,0 +1,32 @@
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv
new file mode 100644
index 000000000000..3850e15f2969
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv
@@ -0,0 +1,24 @@
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv
new file mode 100644
index 000000000000..78254662dd4b
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv
@@ -0,0 +1,41 @@
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv
new file mode 100644
index 000000000000..34936b28a5c1
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv
@@ -0,0 +1,31 @@
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv
new file mode 100644
index 000000000000..9df4ff13dc9c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv
@@ -0,0 +1,41 @@
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv
new file mode 100644
index 000000000000..38b6e66890d4
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv
@@ -0,0 +1,24 @@
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv
new file mode 100644
index 000000000000..c37673d7e271
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv
@@ -0,0 +1,49 @@
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv
new file mode 100644
index 000000000000..c59a575c8fb2
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv
@@ -0,0 +1,24 @@
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControl.csv
new file mode 100644
index 000000000000..8b460529f33c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControl.csv
@@ -0,0 +1,36 @@
+"UnoSimpleAnimationControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XView";"getSize()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XView";"draw()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoSimpleAnimationControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoSimpleAnimationControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoSimpleAnimationControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"getView()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoSimpleAnimationControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoSimpleAnimationControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControlModel.csv
new file mode 100644
index 000000000000..8862a2448b88
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSimpleAnimationControlModel.csv
@@ -0,0 +1,29 @@
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoSimpleAnimationControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoSimpleAnimationControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoSimpleAnimationControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoSimpleAnimationControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoSimpleAnimationControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoSimpleAnimationControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoSimpleAnimationControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoSimpleAnimationControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoSimpleAnimationControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv
new file mode 100644
index 000000000000..6d1eaf05b70d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv
@@ -0,0 +1,49 @@
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"getSize()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"draw()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoSpinButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoSpinButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoSpinButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"addAdjustmentListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"removeAdjustmentListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setValue()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setValues()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getValue()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setMinimum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setMaximum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getMinimum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getMaximum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setSpinIncrement()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getSpinIncrement()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setOrientation()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getOrientation()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getView()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoSpinButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv
new file mode 100644
index 000000000000..e6e1c0b8f294
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv
@@ -0,0 +1,44 @@
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoSpinButtonControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Border"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BorderColor#optional"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Enabled"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpText"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpURL"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinIncrement"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Orientation"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Printable"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValue"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMin"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMax"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BackgroundColor"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SymbolColor"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Repeat"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"RepeatDelay"
+"UnoSpinButtonControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoSpinButtonControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoSpinButtonControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoSpinButtonControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoSpinButtonControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoSpinButtonControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControl.csv
new file mode 100755
index 000000000000..679782177f15
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControl.csv
@@ -0,0 +1,36 @@
+"UnoThrobberControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoThrobberControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoThrobberControl";"com::sun::star::awt::XView";"getSize()"
+"UnoThrobberControl";"com::sun::star::awt::XView";"draw()"
+"UnoThrobberControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoThrobberControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoThrobberControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoThrobberControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"getView()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoThrobberControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoThrobberControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoThrobberControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControlModel.csv
new file mode 100755
index 000000000000..9439cecaa8e6
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoThrobberControlModel.csv
@@ -0,0 +1,29 @@
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoThrobberControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoThrobberControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoThrobberControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoThrobberControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoThrobberControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoThrobberControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoThrobberControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoThrobberControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoThrobberControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoThrobberControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoThrobberControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoThrobberControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoThrobberControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoThrobberControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoThrobberControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoThrobberControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoThrobberControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoThrobberControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoThrobberControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoThrobberControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoThrobberControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv
new file mode 100755
index 000000000000..fa6ee22158d0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv
@@ -0,0 +1,28 @@
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isNodeExpanded()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isNodeCollapsed()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"makeNodeVisible()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isNodeVisible()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"expandNode()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"collapseNode()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"addTreeExpansionListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"removeTreeExpansionListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"getNodeForLocation()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"getClosestNodeForLocation()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isEditing()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"stopEditing()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"cancelEditing()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"startEditingAtNode()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"addTreeEditListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"removeTreeEditListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"DefaultExpandedGraphicURL()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"DefaultCollapsedGraphicURL()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"addSelection()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"removeSelection()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"clearSelection()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"getSelectionCount()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"createSelectionEnumeration()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"createReverseSelectionEnumeration()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"select()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv
new file mode 100755
index 000000000000..8dc544ed886f
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv
@@ -0,0 +1,37 @@
+"UnoTreeModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoTreeModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoTreeModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoTreeModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoTreeModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"SelectionType"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"DataModel"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"RootDisplayed"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"ShowsHandles"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"ShowsRootHandles"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"RowHeight"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"Editable"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"InvokesStopNodeEditing"
+"UnoTreeModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoTreeModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoTreeModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv b/qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv
new file mode 100644
index 000000000000..58e5b715b09c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv
@@ -0,0 +1,51 @@
+"UnoScrollBarControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"getSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"draw()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoScrollBarControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoScrollBarControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoScrollBarControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"addAdjustmentListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"removeAdjustmentListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setValue()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setValues()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getValue()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setMaximum()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getMaximum()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setLineIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getLineIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setBlockIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getBlockIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setVisibleSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getVisibleSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setOrientation()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getOrientation()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getView()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoScrollBarControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv
new file mode 100755
index 000000000000..c92c18ce32cd
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv
@@ -0,0 +1,8 @@
+"MutableTreeDataModel";"com::sun::star::awt::tree::XMutableTreeDataModel";"createNode()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XMutableTreeDataModel";"setRoot()"
+"MutableTreeDataModel";"com::sun::star::lang::XComponent";"dispose()"
+"MutableTreeDataModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"MutableTreeDataModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XTreeDataModel";"getRoot()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XTreeDataModel";"addTreeDataModelListener()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XTreeDataModel";"removeTreeDataModelListener()"
diff --git a/qadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv
new file mode 100755
index 000000000000..295083ed0aa2
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv
@@ -0,0 +1,18 @@
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getChildAt()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getChildCount()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getParent()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getIndex()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"hasChildrenOnDemand()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getDisplayValue()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getNodeGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getExpandedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getCollapsedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"appendChild()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"insertChildByIndex()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"removeChildByIndex()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setHasChildrenOnDemand()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setDisplayValue()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setNodeGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setExpandedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setCollapsedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"DataValue()"
diff --git a/qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv b/qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv
new file mode 100644
index 000000000000..9d9ec2605ea0
--- /dev/null
+++ b/qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv
@@ -0,0 +1,2 @@
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertTo()"
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertToSimpleType()"
diff --git a/qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv b/qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv
new file mode 100644
index 000000000000..e3ad0c1a0319
--- /dev/null
+++ b/qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv
@@ -0,0 +1,12 @@
+"TypeDescriptionManager";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"dispose()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"has()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"insert()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"remove()"
+"TypeDescriptionManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv
new file mode 100644
index 000000000000..69c9c6bc1f01
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv
@@ -0,0 +1 @@
+"UcbContentProviderProxyFactory";"com::sun::star::ucb::XContentProviderFactory";"createContentProvider()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv
new file mode 100644
index 000000000000..bfdd50f02297
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv
@@ -0,0 +1,3 @@
+"UcbPropertiesManager";"com::sun::star::beans::XPropertySetInfo";"getProperties()"
+"UcbPropertiesManager";"com::sun::star::beans::XPropertySetInfo";"getPropertyByName()"
+"UcbPropertiesManager";"com::sun::star::beans::XPropertySetInfo";"hasPropertyByName()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv
new file mode 100644
index 000000000000..b5f08bf271bf
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv
@@ -0,0 +1 @@
+"UcbStore";"com::sun::star::ucb::XPropertySetRegistryFactory";"createPropertySetRegistry()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv
new file mode 100644
index 000000000000..fcb52600d7b6
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv
@@ -0,0 +1,15 @@
+"UniversalContentBroker";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"UniversalContentBroker";"com::sun::star::lang::XComponent";"dispose()"
+"UniversalContentBroker";"com::sun::star::lang::XComponent";"addEventListener()"
+"UniversalContentBroker";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentIdentifierFactory";"createContentIdentifier()"
+"UniversalContentBroker";"com::sun::star::lang::XInitialization";"initialize()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor2#optional";"releaseCommandIdentifier()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor";"createCommandIdentifier()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor";"execute()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor";"abort()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"registerContentProvider()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"deregisterContentProvider()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"queryContentProviders()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"queryContentProvider()"
diff --git a/qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv b/qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv
new file mode 100644
index 000000000000..4a358d8228e5
--- /dev/null
+++ b/qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv
@@ -0,0 +1,2 @@
+"CHelpContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"CHelpContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv b/qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv
new file mode 100644
index 000000000000..c4c3c08b4373
--- /dev/null
+++ b/qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv
@@ -0,0 +1,2 @@
+"WebDAVContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"WebDAVContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv b/qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv
new file mode 100644
index 000000000000..dca3caac6254
--- /dev/null
+++ b/qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv
@@ -0,0 +1,13 @@
+"FileProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"FileProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"FileProvider";"com::sun::star::ucb::XContentIdentifierFactory";"createContentIdentifier()"
+"FileProvider";"com::sun::star::ucb::XFileIdentifierConverter";"getFileProviderLocality()"
+"FileProvider";"com::sun::star::ucb::XFileIdentifierConverter";"getFileURLFromSystemPath()"
+"FileProvider";"com::sun::star::ucb::XFileIdentifierConverter";"getSystemPathFromFileURL()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv b/qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv
new file mode 100644
index 000000000000..c5adee391f2a
--- /dev/null
+++ b/qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv
@@ -0,0 +1,2 @@
+"FTPContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"FTPContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv
new file mode 100644
index 000000000000..c62b051b2d43
--- /dev/null
+++ b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv
@@ -0,0 +1,2 @@
+"HierarchyContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"HierarchyContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv
new file mode 100644
index 000000000000..757e59573d47
--- /dev/null
+++ b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv
@@ -0,0 +1,6 @@
+"HierarchyDataSource";"com::sun::star::lang::XComponent";"dispose()"
+"HierarchyDataSource";"com::sun::star::lang::XComponent";"addEventListener()"
+"HierarchyDataSource";"com::sun::star::lang::XComponent";"removeEventListener()"
+"HierarchyDataSource";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"HierarchyDataSource";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"HierarchyDataSource";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv b/qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv
new file mode 100644
index 000000000000..8db3ace3c083
--- /dev/null
+++ b/qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv
@@ -0,0 +1,2 @@
+"PackageContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"PackageContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv
new file mode 100644
index 000000000000..81f041d5a2ac
--- /dev/null
+++ b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv
@@ -0,0 +1,5 @@
+"ContentProvider";"com::sun::star::ucb::XParameterizedContentProvider";"registerInstance()"
+"ContentProvider";"com::sun::star::ucb::XParameterizedContentProvider";"deregisterInstance()"
+"ContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"ContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"ContentProvider";"com::sun::star::ucb::XContentIdentifierFactory#optional";"createContentIdentifier()"
diff --git a/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv
new file mode 100644
index 000000000000..4cd5e51c02f6
--- /dev/null
+++ b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv
@@ -0,0 +1,3 @@
+"ProviderAcceptor";"com::sun::star::ucb::XRemoteContentProviderAcceptor";"addRemoteContentProvider()"
+"ProviderAcceptor";"com::sun::star::ucb::XRemoteContentProviderAcceptor";"removeRemoteContentProvider()"
+"ProviderAcceptor";"com::sun::star::ucb::XRemoteContentProviderActivator#optional";"activateRemoteContentProviders()"
diff --git a/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv
new file mode 100644
index 000000000000..0a7937f2a821
--- /dev/null
+++ b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv
@@ -0,0 +1,5 @@
+"ProxyProvider";"com::sun::star::ucb::XParameterizedContentProvider#optional";"registerInstance()"
+"ProxyProvider";"com::sun::star::ucb::XParameterizedContentProvider#optional";"deregisterInstance()"
+"ProxyProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"ProxyProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"ProxyProvider";"com::sun::star::ucb::XContentIdentifierFactory#optional";"createContentIdentifier()"
diff --git a/qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv b/qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv
new file mode 100644
index 000000000000..98e68f64371b
--- /dev/null
+++ b/qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv
@@ -0,0 +1,2 @@
+"UUIInteractionHandler";"com::sun::star::lang::XInitialization";"initialize()"
+"UUIInteractionHandler";"com::sun::star::task::XInteractionHandler";"handle()"
diff --git a/qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv b/qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv
new file mode 100644
index 000000000000..f0f364328a3e
--- /dev/null
+++ b/qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv
@@ -0,0 +1 @@
+"UnoUrlResolver";"com::sun::star::bridge::XUnoUrlResolver";"resolve()"
diff --git a/qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv b/qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv
new file mode 100644
index 000000000000..f0f364328a3e
--- /dev/null
+++ b/qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv
@@ -0,0 +1 @@
+"UnoUrlResolver";"com::sun::star::bridge::XUnoUrlResolver";"resolve()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv
new file mode 100644
index 000000000000..669adc9a30f6
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv
new file mode 100644
index 000000000000..08204fe94f87
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv
new file mode 100644
index 000000000000..f05c29aadefa
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv
new file mode 100644
index 000000000000..deb62dc4b39f
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv
new file mode 100644
index 000000000000..5e863bb09470
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv
new file mode 100644
index 000000000000..c8bc5bca0afb
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv
new file mode 100644
index 000000000000..669adc9a30f6
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv
new file mode 100644
index 000000000000..08204fe94f87
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv
new file mode 100644
index 000000000000..f05c29aadefa
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv
new file mode 100644
index 000000000000..deb62dc4b39f
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv
new file mode 100644
index 000000000000..1970f1252f2b
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv
new file mode 100644
index 000000000000..767ea2ae0899
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv
new file mode 100644
index 000000000000..316d947f09de
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv
new file mode 100644
index 000000000000..fd0e0f32db56
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv
new file mode 100644
index 000000000000..5e863bb09470
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv
new file mode 100644
index 000000000000..c8bc5bca0afb
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv
new file mode 100644
index 000000000000..669adc9a30f6
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv
new file mode 100644
index 000000000000..08204fe94f87
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv
new file mode 100644
index 000000000000..f05c29aadefa
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv
new file mode 100644
index 000000000000..deb62dc4b39f
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv
new file mode 100644
index 000000000000..1970f1252f2b
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv
new file mode 100644
index 000000000000..767ea2ae0899
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv
new file mode 100644
index 000000000000..316d947f09de
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv
new file mode 100644
index 000000000000..fd0e0f32db56
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv
new file mode 100644
index 000000000000..5e863bb09470
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv
new file mode 100644
index 000000000000..c8bc5bca0afb
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/prj/build.lst b/qadevOOo/prj/build.lst
new file mode 100644
index 000000000000..1594d5c59f57
--- /dev/null
+++ b/qadevOOo/prj/build.lst
@@ -0,0 +1,5 @@
+qa qadevOOo : javaunohelper jurt ridljar unoil NULL
+qa qadevOOo usr1 - all qa_mkout NULL
+qa qadevOOo nmake - all qa_runner_ant_build NULL
+qa qadevOOo\runner nmake - all qa_make_package qa_runner_ant_build NULL
+qa qadevOOo\qa\unoapi nmake - all qa_qa_unoapi NULL
diff --git a/qadevOOo/prj/d.lst b/qadevOOo/prj/d.lst
new file mode 100644
index 000000000000..e6e07e83d80f
--- /dev/null
+++ b/qadevOOo/prj/d.lst
@@ -0,0 +1 @@
+..\%__SRC%\class\OOoRunner*.jar %_DEST%\bin%_EXT%
diff --git a/qadevOOo/qa/unoapi/Test.java b/qadevOOo/qa/unoapi/Test.java
new file mode 100644
index 000000000000..e7921911d937
--- /dev/null
+++ b/qadevOOo/qa/unoapi/Test.java
@@ -0,0 +1,51 @@
+/*************************************************************************
+* 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 org.openoffice.qadevOOo.qa.unoapi;
+
+import org.openoffice.Runner;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
+
+public final class Test {
+ @org.junit.Before public void setUp() throws Exception {
+ connection.setUp();
+ }
+
+ @org.junit.After public void tearDown()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ @org.junit.Test public void test() {
+ assertTrue(
+ Runner.run(
+ "-sce", "qadevOOo.sce", "-xcl", "knownissues.xcl", "-cs",
+ connection.getDescription()));
+ }
+
+ private final OfficeConnection connection = new OfficeConnection();
+}
diff --git a/qadevOOo/qa/unoapi/knownissues.xcl b/qadevOOo/qa/unoapi/knownissues.xcl
new file mode 100755
index 000000000000..02c509060d97
--- /dev/null
+++ b/qadevOOo/qa/unoapi/knownissues.xcl
@@ -0,0 +1 @@
+# This file contains all Errors
diff --git a/qadevOOo/qa/unoapi/makefile.mk b/qadevOOo/qa/unoapi/makefile.mk
new file mode 100755
index 000000000000..d8d308c47d3b
--- /dev/null
+++ b/qadevOOo/qa/unoapi/makefile.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+# 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.
+#***********************************************************************/
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../..
+PRJNAME = qadevOOo
+TARGET = qa_unoapi
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = org/openoffice/qadevOOo/qa/unoapi
+JAVATESTFILES = Test.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END
diff --git a/qadevOOo/qa/unoapi/qadevOOo.sce b/qadevOOo/qa/unoapi/qadevOOo.sce
new file mode 100755
index 000000000000..8e24c474e7e8
--- /dev/null
+++ b/qadevOOo/qa/unoapi/qadevOOo.sce
@@ -0,0 +1 @@
+-o qadevOOo.SelfTest
diff --git a/qadevOOo/runner/base/TestBase.java b/qadevOOo/runner/base/TestBase.java
new file mode 100644
index 000000000000..d09f28721ab0
--- /dev/null
+++ b/qadevOOo/runner/base/TestBase.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * 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 base;
+
+import lib.TestParameters;
+/**
+ *
+ * Base Interface to execute a given TestJob
+ */
+public interface TestBase {
+
+ public boolean executeTest(TestParameters param);
+
+}
diff --git a/qadevOOo/runner/base/basic_fat.java b/qadevOOo/runner/base/basic_fat.java
new file mode 100644
index 000000000000..74a6708cf801
--- /dev/null
+++ b/qadevOOo/runner/base/basic_fat.java
@@ -0,0 +1,457 @@
+/*************************************************************************
+ *
+ * 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 base;
+
+
+import basicrunner.BasicIfcTest;
+import basicrunner.BasicTestCase;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+import helper.APIDescGetter;
+import helper.AppProvider;
+import helper.OfficeProvider;
+import helper.OfficeWatcher;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.PrintWriter;
+
+import java.util.Vector;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import share.DescEntry;
+import share.DescGetter;
+import share.LogWriter;
+
+import stats.OutProducerFactory;
+import stats.Summarizer;
+
+import util.DynamicClassLoader;
+
+/**
+ * The testbase for executing basic tests.
+ * @see lib.TestBase
+ */
+public class basic_fat implements TestBase
+{
+
+ public static boolean debug = false;
+
+ /**
+ * Execute a test.
+ * @param param The test parameters.
+ * @return True, if the test was executed.
+ */
+ public boolean executeTest(TestParameters param)
+ {
+ DescGetter dg = new APIDescGetter();
+ String job = (String) param.get("TestJob");
+ OfficeProvider office = null;
+ debug = param.getBool("DebugIsActive");
+
+
+ //get Job-Descriptions
+ System.out.print("Getting Descriptions for Job: " + job + " from ");
+
+ DescEntry[] entries = dg.getDescriptionFor(job,
+ (String) param.get(
+ "DescriptionPath"),
+ debug);
+
+ if (entries == null)
+ {
+ System.out.println("Couldn't get Description for Job");
+
+ return false;
+ }
+
+ String ExclusionFile = (String) param.get("ExclusionList");
+ Vector exclusions = null;
+
+ if (ExclusionFile != null)
+ {
+ exclusions = getExclusionList(ExclusionFile, debug);
+ }
+
+ String conStr = (String) param.get("ConnectionString");
+ System.out.println("");
+ System.out.print("> Connecting the Office ");
+ System.out.println("With " + conStr);
+
+ for (int l = 0; l < entries.length; l++)
+ {
+ if (entries[l].hasErrorMsg)
+ {
+ System.out.println(entries[l].ErrorMsg);
+
+ continue;
+ }
+
+ office = new OfficeProvider();
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) office.getManager(
+ param);
+
+ if (msf == null)
+ {
+ return false;
+ }
+
+ param.put("ServiceFactory", msf);
+
+ DescEntry entry = entries[l];
+
+ //get some helper classes
+ Summarizer sumIt = new Summarizer();
+ DynamicClassLoader dcl = new DynamicClassLoader();
+
+ TestCase tCase = null;
+
+ tCase = (TestCase) new BasicTestCase(entry);
+
+ if (tCase == null)
+ {
+ sumIt.summarizeDown(entry, entry.ErrorMsg);
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(param);
+ sumObj.initialize(entry, true);
+ sumObj.summary(entry);
+
+ continue;
+ }
+
+ System.out.println("Creating: " + tCase.getObjectName());
+
+ LogWriter log = (LogWriter) dcl.getInstance(
+ (String) param.get("LogWriter"));
+ log.initialize(entry, true);
+ entry.UserDefinedParams = param;
+ tCase.setLogWriter((PrintWriter) log);
+
+ try
+ {
+ tCase.initializeTestCase(param);
+ }
+ catch (RuntimeException e)
+ {
+ helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
+ "AppProvider");
+
+ if (ph != null)
+ {
+ OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
+
+ if ((ow != null) && ow.isAlive())
+ {
+ ow.finish = true;
+ }
+
+ ph.kill();
+ shortWait(5000);
+ }
+
+ continue;
+ }
+
+ TestEnvironment tEnv = tCase.getTestEnvironment(param);
+
+ if (tEnv == null)
+ {
+ sumIt.summarizeDown(entry, "Unable to create testcase");
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(param);
+ sumObj.initialize(entry, true);
+ sumObj.summary(entry);
+
+ helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
+ "AppProvider");
+
+ if (ph != null)
+ {
+ OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
+
+ if ((ow != null) && ow.isAlive())
+ {
+ ow.finish = true;
+ }
+
+ ph.kill();
+ shortWait(5000);
+ }
+
+ continue;
+ }
+
+ System.out.println("created " + tCase.getObjectName());
+
+ for (int j = 0; j < entry.SubEntryCount; j++)
+ {
+ if (!entry.SubEntries[j].isToTest)
+ {
+ Summarizer.summarizeDown(entry.SubEntries[j],
+ "not part of the job");
+
+ continue;
+ }
+
+ if ((exclusions != null) &&
+ (exclusions.contains(entry.SubEntries[j].longName)))
+ {
+ Summarizer.summarizeDown(entry.SubEntries[j],
+ "known issue");
+
+ continue;
+ }
+
+ System.out.println("running: " +
+ entry.SubEntries[j].entryName);
+
+ LogWriter ifclog = (LogWriter) dcl.getInstance(
+ (String) param.get("LogWriter"));
+ ifclog.initialize(entry.SubEntries[j], true);
+ entry.SubEntries[j].UserDefinedParams = param;
+ entry.SubEntries[j].Logger = ifclog;
+
+ if ((tEnv == null) || tEnv.isDisposed())
+ {
+ helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
+ "AppProvider");
+
+ if (ph != null)
+ {
+ office.closeExistingOffice(param, true);
+ shortWait(5000);
+ }
+
+ tEnv = getEnv(entry, param);
+ }
+
+ BasicIfcTest ifc = null;
+ lib.TestResult res = null;
+ ifc = new BasicIfcTest(entry.SubEntries[j].longName);
+ res = ifc.run(entry.SubEntries[j], tEnv, param);
+
+ sumIt.summarizeUp(entry.SubEntries[j]);
+
+ LogWriter sumIfc = OutProducerFactory.createOutProducer(param);
+
+ sumIfc.initialize(entry.SubEntries[j], true);
+ sumIfc.summary(entry.SubEntries[j]);
+ }
+
+ try
+ {
+ tCase.cleanupTestCase(param);
+ }
+ catch (Exception e)
+ {
+ log.println("TestCase already gone");
+
+ helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
+ "AppProvider");
+
+ if (ph != null)
+ {
+ office.closeExistingOffice(param, true);
+ shortWait(5000);
+ }
+ }
+
+ sumIt.summarizeUp(entry);
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(param);
+ sumObj.initialize(entry, true);
+ sumObj.summary(entry);
+ }
+
+ if (entries.length > 1)
+ {
+ System.out.println();
+
+ int counter = 0;
+ System.out.println(
+ "Failures that appeared during scenario execution:");
+
+ for (int i = 0; i < entries.length; i++)
+ {
+ if (!entries[i].State.endsWith("OK"))
+ {
+ System.out.println("\t " + entries[i].longName);
+ counter++;
+ }
+ }
+
+ System.out.println(counter + " of " + entries.length +
+ " tests failed");
+ }
+
+ helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
+ "AppProvider");
+
+ if (ph != null)
+ {
+ office.closeExistingOffice(param, true);
+ }
+
+ return true;
+ }
+
+ protected TestEnvironment getEnv(DescEntry entry, TestParameters param)
+ {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ String officeProviderName = (String) param.get("OfficeProvider");
+ AppProvider office = (AppProvider) dcl.getInstance(officeProviderName);
+
+ if (office == null)
+ {
+ System.out.println("ERROR: Wrong parameter 'OfficeProvider', " +
+ " it cannot be instantiated.");
+ System.exit(-1);
+ }
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) office.getManager(
+ param);
+
+ if (msf == null)
+ {
+ return null;
+ }
+
+ param.put("ServiceFactory", msf);
+
+ TestCase tCase = (TestCase) new BasicTestCase(entry);
+
+ System.out.println("Creating: " + tCase.getObjectName());
+
+ LogWriter log = (LogWriter) dcl.getInstance(
+ (String) param.get("LogWriter"));
+ log.initialize(entry, true);
+ entry.UserDefinedParams = param;
+ tCase.setLogWriter((PrintWriter) log);
+
+ TestEnvironment tEnv = null;
+
+ try
+ {
+ tCase.initializeTestCase(param);
+ tEnv = tCase.getTestEnvironment(param);
+ }
+ catch (java.lang.RuntimeException e)
+ {
+ System.out.println(e.getMessage());
+
+ helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
+ "AppProvider");
+
+ if (ph != null)
+ {
+ office.closeExistingOffice(param, true);
+ shortWait(5000);
+ }
+
+ entry.ErrorMsg = e.getMessage();
+ entry.hasErrorMsg = true;
+ }
+
+ return tEnv;
+ }
+
+ protected void shortWait(int millis)
+ {
+ try
+ {
+ Thread.sleep(millis);
+ }
+ catch (java.lang.InterruptedException ie)
+ {
+ }
+ }
+
+ protected Vector getExclusionList(String url, boolean debug)
+ {
+ Vector entryList = new Vector();
+ String line = "#";
+ BufferedReader exclusion = null;
+
+ try
+ {
+ exclusion = new BufferedReader(new FileReader(url));
+ }
+ catch (java.io.FileNotFoundException fnfe)
+ {
+ if (debug)
+ {
+ System.out.println("Couldn't find file " + url);
+ }
+
+ return entryList;
+ }
+
+ while (line != null)
+ {
+ try
+ {
+ if (!line.startsWith("#"))
+ {
+ entryList.add(line);
+ }
+
+ line = exclusion.readLine();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println(
+ "Exception while reading exclusion list");
+ }
+
+ return entryList;
+ }
+ }
+
+ try
+ {
+ exclusion.close();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println("Couldn't close file " + url);
+ }
+
+ return entryList;
+ }
+
+ return entryList;
+ }
+}
diff --git a/qadevOOo/runner/base/java_cmp.java b/qadevOOo/runner/base/java_cmp.java
new file mode 100644
index 000000000000..c25de6efc4a9
--- /dev/null
+++ b/qadevOOo/runner/base/java_cmp.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 base;
+
+
+
+
+/**
+ *
+ * this class handles tests written in java without running an Office with
+ * own bootstrapping of UNO
+ */
+public class java_cmp implements TestBase {
+
+ private TestBase mWrappedTestBase = new java_fat();
+
+ public boolean executeTest(lib.TestParameters param) {
+ param.put("OfficeProvider", "helper.UnoProvider");
+ return mWrappedTestBase.executeTest(param);
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qadevOOo/runner/base/java_complex.java b/qadevOOo/runner/base/java_complex.java
new file mode 100644
index 000000000000..946e14b42934
--- /dev/null
+++ b/qadevOOo/runner/base/java_complex.java
@@ -0,0 +1,170 @@
+/*************************************************************************
+ *
+ * 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 base;
+
+import complexlib.ComplexTestCase;
+import util.DynamicClassLoader;
+import share.DescGetter;
+import stats.OutProducerFactory;
+import helper.ComplexDescGetter;
+import helper.AppProvider;
+import helper.CfgParser;
+import share.DescEntry;
+import share.LogWriter;
+import stats.Summarizer;
+import lib.TestParameters;
+import util.PropertyName;
+
+/**
+ * Test base for executing a java complex test.
+ * @see base.TestBase
+ */
+public class java_complex implements TestBase
+{
+
+ /**
+ * This function executes the complex tests given as parameter "-o" or "TestJob". It querys for the correspond class
+ * and crates the JobDescription.
+ * @param param
+ * @return true of all tests run successfuly, esle false
+ */
+ public boolean executeTest(TestParameters param)
+ {
+
+ // is there an ini file for the complex tests defined?
+ String complexIniFileName = ((String) param.get("ComplexIni"));
+ if (complexIniFileName != null)
+ {
+ CfgParser ini = new CfgParser(complexIniFileName);
+ ini.getIniParameters(param);
+ }
+
+ // get the test job
+ String testJob = ((String) param.get("TestJob"));
+
+ DescGetter descGetter = new ComplexDescGetter();
+ // get the test jobs
+ DescEntry[] entries = descGetter.getDescriptionFor(testJob, null, true);
+ return executeTest(param, entries);
+
+ }
+
+ /**
+ * This function run the given DescEntry[] as ComplexTest
+ * @param param
+ * @param entries
+ * @return true of all tests run successfuly, esle false
+ */
+ public boolean executeTest(TestParameters param, DescEntry[] entries)
+ {
+ // is there an ini file for the complex tests defined?
+ String complexIniFileName = ((String) param.get("ComplexIni"));
+ if (complexIniFileName != null)
+ {
+ CfgParser ini = new CfgParser(complexIniFileName);
+ ini.getIniParameters(param);
+ }
+
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ ComplexTestCase testClass = null;
+ boolean returnVal = true;
+
+// the concept of the TimeOut depends on runner logs. If the runner log,
+// for exmaple to start a test method, the timeout was restet. This is not
+// while the test itself log something like "open docuent...".
+// An property of complex test could be that it have only one test method
+// which works for serveral minutes. Ih this case the TimeOut get not trigger
+// and the office was killed.
+// In complex tests just use "ThreadTimeOut" as timout.
+
+ // param.put("TimeOut", new Integer(0));
+
+ for (int i = 0; i < entries.length; i++)
+ {
+
+ if (entries[i] == null)
+ {
+ continue;
+ }
+ String iniName = entries[i].longName;
+ iniName = iniName.replace('.', '/');
+ CfgParser ini = new CfgParser(iniName + ".props");
+ ini.getIniParameters(param);
+
+ LogWriter log = (LogWriter) dcl.getInstance((String) param.get("LogWriter"));
+
+ AppProvider office = null;
+ if (!param.getBool("NoOffice"))
+ {
+ try
+ {
+ office = (AppProvider) dcl.getInstance("helper.OfficeProvider");
+ Object msf = office.getManager(param);
+ if (msf == null)
+ {
+ returnVal = false;
+ continue;
+ }
+ param.put("ServiceFactory", msf);
+ }
+ catch (IllegalArgumentException e)
+ {
+ office = null;
+ }
+ }
+ log.initialize(entries[i], param.getBool(PropertyName.LOGGING_IS_ACTIVE));
+ entries[i].Logger = log;
+
+ // create an instance
+ try
+ {
+ testClass = (ComplexTestCase) dcl.getInstance(entries[i].longName);
+ }
+ catch (java.lang.Exception e)
+ {
+ e.printStackTrace();
+ return false;
+ }
+ testClass.executeMethods(entries[i], param);
+
+ Summarizer sum = new Summarizer();
+ sum.summarizeUp(entries[i]);
+
+ if (office != null)
+ {
+ office.closeExistingOffice(param, false);
+ }
+
+ LogWriter out = OutProducerFactory.createOutProducer(param);
+
+ out.initialize(entries[i], true);
+ out.summary(entries[i]);
+ returnVal &= entries[i].State.endsWith("OK");
+ }
+ return returnVal;
+ }
+}
diff --git a/qadevOOo/runner/base/java_fat.java b/qadevOOo/runner/base/java_fat.java
new file mode 100644
index 000000000000..4dd3ad51a817
--- /dev/null
+++ b/qadevOOo/runner/base/java_fat.java
@@ -0,0 +1,602 @@
+/*************************************************************************
+ *
+ * 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 base;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+import helper.APIDescGetter;
+import helper.AppProvider;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.PrintWriter;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import lib.TestResult;
+
+import share.DescEntry;
+import share.DescGetter;
+import share.LogWriter;
+
+import stats.OutProducerFactory;
+import stats.Summarizer;
+
+import util.DynamicClassLoader;
+
+/**
+ *
+ * this class handles tests written in java and running on a fat Office
+ */
+public class java_fat implements TestBase
+{
+
+ private static boolean m_isDebug = false;
+ private static boolean keepdocument = false;
+ private static boolean logging = true;
+ private static boolean newOffice = false;
+ private DynamicClassLoader m_aDynamicClassLoader = null;
+
+ private lib.TestParameters m_aParams;
+ private AppProvider m_aOffice;
+
+ public boolean executeTest(lib.TestParameters _aParams)
+ {
+ m_aParams = _aParams;
+
+ m_aDynamicClassLoader = new DynamicClassLoader();
+
+ DescGetter dg = new APIDescGetter();
+ String job = (String) m_aParams.get("TestJob");
+ String ExclusionFile = (String) m_aParams.get("ExclusionList");
+ Vector exclusions = null;
+ boolean retValue = true;
+ m_isDebug = m_aParams.getBool("DebugIsActive");
+ logging = m_aParams.getBool("LoggingIsActive");
+ keepdocument = m_aParams.getBool("KeepDocument");
+ newOffice = m_aParams.getBool(util.PropertyName.NEW_OFFICE_INSTANCE);
+ if (keepdocument)
+ {
+ System.setProperty("KeepDocument", "true");
+ }
+ if (ExclusionFile != null)
+ {
+ exclusions = getExclusionList(ExclusionFile, m_isDebug);
+ }
+ //get Job-Descriptions
+ // System.out.println("Getting Descriptions for Job: " + job);
+
+ String sDescriptionPath = (String) m_aParams.get("DescriptionPath");
+ DescEntry[] entries = dg.getDescriptionFor(job, sDescriptionPath, m_isDebug);
+
+ // System.out.println();
+
+ if (entries == null)
+ {
+ System.out.println("Couldn't get Description for Job: " + job);
+
+ return false;
+ }
+
+// String officeProviderName = (String) m_aParams.get("OfficeProvider");
+// AppProvider office = (AppProvider) m_aDynamicClassLoader.getInstance(officeProviderName);
+//
+// if (office == null) {
+// System.out.println("ERROR: Wrong parameter 'OfficeProvider', " +
+// " it cannot be instantiated.");
+// System.exit(-1);
+// }
+
+ m_aOffice = startOffice(m_aParams);
+
+ boolean firstRun = true;
+
+ // Run through all entries (e.g. sw.SwXBookmark.*)
+
+ for (int l = 0; l < entries.length; l++)
+ {
+ DescEntry entry = entries[l];
+
+ if (entry == null)
+ {
+ continue;
+ }
+
+ if (entry.hasErrorMsg)
+ {
+ System.out.println(entries[l].ErrorMsg);
+ retValue = false;
+ continue;
+ }
+
+ if (!firstRun && newOffice)
+ {
+ if (!m_aOffice.closeExistingOffice(m_aParams, true))
+ {
+ m_aOffice.disposeManager(m_aParams);
+ }
+ startOffice(m_aParams);
+ }
+ firstRun = false;
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) m_aParams.getMSF();
+
+ if (msf == null)
+ {
+ retValue = false;
+ continue;
+ }
+
+ //get some helper classes
+ Summarizer sumIt = new Summarizer();
+ TestCase tCase = getTestCase(entry);
+ if (tCase == null)
+ {
+ continue;
+ }
+
+// if (m_isDebug)
+// {
+// System.out.println("sleeping 2 seconds..");
+// }
+ util.utils.shortWait(2000);
+
+ System.out.println("Creating: " + entry.entryName);
+
+ LogWriter log = (LogWriter) m_aDynamicClassLoader.getInstance((String) m_aParams.get("LogWriter"));
+ log.initialize(entry, logging);
+ entry.UserDefinedParams = m_aParams;
+
+ tCase.setLogWriter((PrintWriter) log);
+ tCase.initializeTestCase(m_aParams);
+
+ TestEnvironment tEnv = getTestEnvironment(tCase, entry);
+ if (tEnv == null)
+ {
+ continue;
+ }
+
+ final String sObjectName = tCase.getObjectName();
+ // System.out.println(sObjectName + " recreated ");
+
+ for (int j = 0; j < entry.SubEntryCount; j++)
+ {
+ DescEntry aSubEntry = entry.SubEntries[j];
+ final boolean bIsToTest = aSubEntry.isToTest;
+ if (!bIsToTest)
+ {
+ Summarizer.summarizeDown(aSubEntry, "not part of the job");
+ continue;
+ }
+
+ // final String sEntryName = aSubEntry.entryName;
+ final String sLongEntryName = aSubEntry.longName;
+
+ if ((exclusions != null) && (exclusions.contains(sLongEntryName)))
+ {
+ Summarizer.summarizeDown(aSubEntry, "known issue");
+ continue;
+ }
+
+ // System.out.println("running: '" + sLongEntryName + "' testcode: [" + sEntryName + "]");
+ // this will shown in test itself
+
+ LogWriter ifclog = (LogWriter) m_aDynamicClassLoader.getInstance( (String) m_aParams.get("LogWriter"));
+
+ ifclog.initialize(aSubEntry, logging);
+ aSubEntry.UserDefinedParams = m_aParams;
+ aSubEntry.Logger = ifclog;
+
+ if ((tEnv == null) || tEnv.isDisposed())
+ {
+ closeExistingOffice();
+ tEnv = getEnv(entry, m_aParams);
+ tCase = tEnv.getTestCase();
+ }
+
+ // MultiMethodTest ifc = null;
+ lib.TestResult res = null;
+
+ // run the interface test twice if it failed.
+ int countInterfaceTestRun = 0;
+ boolean finished = false;
+ while (!finished)
+ {
+ try
+ {
+ countInterfaceTestRun++;
+ finished = true;
+ res = executeInterfaceTest(aSubEntry, tEnv, m_aParams);
+ }
+ catch (IllegalArgumentException iae)
+ {
+ System.out.println("Couldn't load class " + aSubEntry.entryName);
+ System.out.println("**** " + iae.getMessage() + " ****");
+ Summarizer.summarizeDown(aSubEntry, iae.getMessage());
+ }
+ catch (java.lang.NoClassDefFoundError iae)
+ {
+ System.out.println("Couldn't load class " + aSubEntry.entryName);
+ System.out.println("**** " + iae.getMessage() + " ****");
+ Summarizer.summarizeDown(aSubEntry, iae.getMessage());
+ }
+ catch (java.lang.RuntimeException e)
+ {
+ closeExistingOffice();
+ tEnv = getEnv(entry, m_aParams);
+ tCase = tEnv.getTestCase();
+ if (countInterfaceTestRun < 2)
+ {
+ finished = false;
+ }
+ else
+ {
+ Summarizer.summarizeDown(aSubEntry, e.toString() + ".FAILED");
+ }
+ }
+ }
+ setState(aSubEntry, res);
+
+ sumIt.summarizeUp(aSubEntry);
+
+ LogWriter sumIfc = OutProducerFactory.createOutProducer(m_aParams);
+ aSubEntry.UserDefinedParams = m_aParams;
+ sumIfc.initialize(aSubEntry, logging);
+ sumIfc.summary(aSubEntry);
+ }
+
+ try
+ {
+ if (!keepdocument)
+ {
+ tCase.cleanupTestCase(m_aParams);
+ }
+ }
+ catch (Exception e)
+ {
+ System.err.println( "couldn't cleanup:" + e.toString() );
+ }
+ catch (java.lang.NoClassDefFoundError e)
+ {
+ System.err.println( "couldn't cleanup:" + e.toString() );
+ }
+
+ sumIt.summarizeUp(entry);
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(m_aParams);
+
+ sumObj.initialize(entry, logging);
+ sumObj.summary(entry);
+ }
+
+ if (entries.length > 0)
+ {
+ System.out.println();
+
+ int counter = 0;
+ System.out.println("Failures that appeared during scenario execution:");
+
+ for (int i = 0; i < entries.length; i++)
+ {
+ final String sState = entries[i].State;
+ if (!sState.endsWith("OK"))
+ {
+ System.out.println("\t " + entries[i].longName);
+ counter++;
+ }
+ }
+
+ System.out.println(counter + " of " + entries.length + " tests failed");
+ if (counter != 0) {
+ retValue = false;
+ }
+ }
+
+ closeExistingOffice();
+ return retValue;
+ }
+
+//
+ private TestEnvironment getTestEnvironment(TestCase tCase, DescEntry entry)
+ {
+ TestEnvironment tEnv = null;
+
+ try
+ {
+ tEnv = tCase.getTestEnvironment(m_aParams);
+ }
+ catch (Exception e)
+ {
+ System.out.println("Exception while creating " + tCase.getObjectName());
+ System.out.println("Message " + e.getMessage());
+ e.printStackTrace();
+ tEnv = null;
+ }
+ catch (java.lang.UnsatisfiedLinkError e)
+ {
+ System.out.println("Exception while creating " + tCase.getObjectName());
+ System.out.println("Message " + e.getMessage());
+ tEnv = null;
+ }
+ catch (java.lang.NoClassDefFoundError e)
+ {
+ System.out.println("Exception while creating " + tCase.getObjectName());
+ System.out.println("Message " + e.getMessage());
+ tEnv = null;
+ }
+
+ if (tEnv == null)
+ {
+ Summarizer.summarizeDown(entry, "Couldn't create " + tCase.getObjectName());
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(m_aParams);
+ entry.UserDefinedParams = m_aParams;
+ sumObj.initialize(entry, logging);
+ sumObj.summary(entry);
+ }
+ return tEnv;
+ }
+ // -------------------------------------------------------------------------
+ private TestCase getTestCase(DescEntry _aEntry)
+ {
+ TestCase tCase = null;
+
+ try
+ {
+ tCase = (TestCase) m_aDynamicClassLoader.getInstance("mod._" + _aEntry.entryName);
+ }
+ catch (java.lang.IllegalArgumentException ie)
+ {
+ _aEntry.ErrorMsg = ie.getMessage();
+ _aEntry.hasErrorMsg = true;
+ }
+ catch (java.lang.NoClassDefFoundError ie)
+ {
+ _aEntry.ErrorMsg = ie.getMessage();
+ _aEntry.hasErrorMsg = true;
+ }
+
+ if (tCase == null)
+ {
+ Summarizer.summarizeDown(_aEntry, _aEntry.ErrorMsg);
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(m_aParams);
+ _aEntry.UserDefinedParams = m_aParams;
+ sumObj.initialize(_aEntry, logging);
+ sumObj.summary(_aEntry);
+ }
+ return tCase;
+}
+
+ private void setState(DescEntry aSubEntry, lib.TestResult res)
+ {
+ if (res != null)
+ {
+ for (int k = 0; k < aSubEntry.SubEntryCount; k++)
+ {
+ DescEntry aSubSubEntry = aSubEntry.SubEntries[k];
+ if (res.hasMethod( aSubSubEntry.entryName))
+ {
+ aSubSubEntry.State = res.getStatusFor(aSubSubEntry.entryName).toString();
+ }
+ }
+ }
+ }
+
+ private TestEnvironment getEnv(DescEntry entry, TestParameters param)
+ {
+// if (m_aDynamicClassLoader == null)
+// m_aDynamicClassLoader = new DynamicClassLoader();
+// String officeProviderName = (String) m_aParams.get("OfficeProvider");
+// AppProvider office = (AppProvider) m_aDynamicClassLoader.getInstance(officeProviderName);
+//
+// if (office == null) {
+// System.out.println("ERROR: Wrong parameter 'OfficeProvider', " +
+// " it cannot be instantiated.");
+// System.exit(-1);
+// }
+//
+// XMultiServiceFactory msf = (XMultiServiceFactory) office.getManager(
+// m_aParams);
+//
+// if (msf == null) {
+// return null;
+// }
+//
+// m_aParams.put("ServiceFactory", msf);
+
+ // AppProvider office = startOffice(m_aParams);
+
+ TestCase tCase = null;
+
+ try
+ {
+ tCase = (TestCase) m_aDynamicClassLoader.getInstance("mod._" + entry.entryName);
+ }
+ catch (java.lang.IllegalArgumentException ie)
+ {
+ entry.ErrorMsg = ie.getMessage();
+ entry.hasErrorMsg = true;
+ }
+ catch (java.lang.NoClassDefFoundError ie)
+ {
+ entry.ErrorMsg = ie.getMessage();
+ entry.hasErrorMsg = true;
+ }
+
+ System.out.println("Creating: " + entry.entryName);
+
+ entry.UserDefinedParams = param;
+
+ LogWriter log = (LogWriter) m_aDynamicClassLoader.getInstance((String) param.get("LogWriter"));
+ log.initialize(entry, logging);
+ tCase.setLogWriter((PrintWriter) log);
+
+ try
+ {
+ tCase.initializeTestCase(param);
+ return tCase.getTestEnvironment(param);
+ }
+ catch (com.sun.star.lang.DisposedException de)
+ {
+ System.out.println("Office disposed");
+ closeExistingOffice();
+ throw de;
+ }
+ catch (lib.StatusException e)
+ {
+ System.out.println(e.getMessage());
+
+ closeExistingOffice();
+
+ entry.ErrorMsg = e.getMessage();
+ entry.hasErrorMsg = true;
+ throw e;
+ }
+ }
+
+ private void closeExistingOffice()
+ {
+ helper.ProcessHandler ph = (helper.ProcessHandler) m_aParams.get("AppProvider");
+
+ if (ph != null)
+ {
+ m_aOffice.closeExistingOffice(m_aParams, true);
+ util.utils.shortWait(5000);
+ }
+
+ }
+
+// private void shortWait(int millis)
+// {
+// try
+// {
+// Thread.sleep(millis);
+// }
+// catch (java.lang.InterruptedException ie)
+// {
+// }
+// }
+
+ private Vector getExclusionList(String url, boolean debug)
+ {
+ Vector entryList = new Vector();
+ String line = "#";
+ BufferedReader exclusion = null;
+
+ try
+ {
+ exclusion = new BufferedReader(new FileReader(url));
+ }
+ catch (java.io.FileNotFoundException fnfe)
+ {
+ if (debug)
+ {
+ System.out.println("Couldn't find file " + url);
+ }
+
+ return entryList;
+ }
+
+ while (line != null)
+ {
+ try
+ {
+ if (!line.startsWith("#") && (line.length() > 1))
+ {
+ entryList.add(line.trim());
+ }
+
+ line = exclusion.readLine();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println("Exception while reading exclusion list");
+ }
+
+ return entryList;
+ }
+ }
+
+ try
+ {
+ exclusion.close();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println("Couldn't close file " + url);
+ }
+
+ return entryList;
+ }
+
+ return entryList;
+ }
+
+ private TestResult executeInterfaceTest(
+ DescEntry entry, TestEnvironment tEnv, TestParameters param)
+ throws IllegalArgumentException, java.lang.NoClassDefFoundError
+ {
+ MultiMethodTest ifc = (MultiMethodTest) m_aDynamicClassLoader.getInstance(entry.entryName);
+ return ifc.run(entry, tEnv, param);
+ }
+
+ private AppProvider startOffice(lib.TestParameters param)
+ {
+
+ if (m_aDynamicClassLoader == null)
+ {
+ m_aDynamicClassLoader = new DynamicClassLoader();
+ }
+
+ String officeProviderName = (String) param.get("OfficeProvider");
+ AppProvider office = (AppProvider) m_aDynamicClassLoader.getInstance(officeProviderName);
+
+ if (office == null)
+ {
+ System.out.println("ERROR: Wrong parameter 'OfficeProvider', " + " it cannot be instantiated.");
+ System.exit(-1);
+ }
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) office.getManager(param);
+
+ if (msf != null)
+ {
+ param.put("ServiceFactory", msf);
+ }
+
+ return office;
+ }
+}
diff --git a/qadevOOo/runner/base/java_fat_service.java b/qadevOOo/runner/base/java_fat_service.java
new file mode 100644
index 000000000000..0c8fd17e43ec
--- /dev/null
+++ b/qadevOOo/runner/base/java_fat_service.java
@@ -0,0 +1,267 @@
+/*************************************************************************
+ *
+ * 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 base;
+
+
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+import lib.TestCase;
+import lib.MultiMethodTest;
+import lib.TestEnvironment;
+import util.DynamicClassLoader;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+import share.DescEntry;
+import share.DescGetter;
+import helper.APIDescGetter;
+
+import share.LogWriter;
+import stats.Summarizer;
+
+/**
+ * this class handles tests written in java and running on a fat Office
+ * with the runner as a service.
+ */
+public class java_fat_service implements TestBase {
+
+ static protected boolean debug = false;
+ protected LogWriter log = null;
+
+ public boolean executeTest(lib.TestParameters param) {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ log = (LogWriter)dcl.getInstance((String)param.get("LogWriter"));
+ debug = ((Boolean) param.get("DebugIsActive")).booleanValue();
+
+ DescGetter dg = new APIDescGetter();
+ String job = (String) param.get("TestJob");
+ boolean retValue = true;
+
+ //get Job-Descriptions
+ log.println("Getting Descriptions for Job: "+job);
+ DescEntry[] entries = dg.getDescriptionFor(job,
+ (String) param.get("DescriptionPath"),debug);
+
+ if (entries == null ) {
+ log.println("Couldn't get Description for Job");
+ return false;
+ }
+
+ String conStr = (String) param.get("ConnectionString");
+
+ XMultiServiceFactory msf = (XMultiServiceFactory)param.getMSF();
+
+ for (int l=0;l<entries.length;l++) {
+
+ if (entries[l] == null ) {
+ continue;
+ }
+
+ if (entries[l].hasErrorMsg) {
+ log.println(entries[l].ErrorMsg);
+ continue;
+ }
+
+ DescEntry entry = entries[l];
+
+ //get some helper classes
+ Summarizer sumIt = new Summarizer();
+
+ TestCase tCase = null;
+ try {
+ tCase = (TestCase)
+ dcl.getInstance("mod._"+entry.entryName);
+ } catch (java.lang.IllegalArgumentException ie) {
+ entry.ErrorMsg=ie.getMessage();
+ entry.hasErrorMsg=true;
+ }
+
+ if (tCase == null) {
+ sumIt.summarizeDown(entry,entry.ErrorMsg);
+ LogWriter sumObj = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+ sumObj.initialize(entry,true);
+ entry.UserDefinedParams = param;
+ sumObj.summary(entry);
+ continue;
+ }
+
+ log.println("Creating: "+tCase.getObjectName());
+
+ log.initialize(entry,true);
+ entry.UserDefinedParams = param;
+ TestEnvironment tEnv = null;
+ try {
+ tCase.setLogWriter((PrintWriter) log);
+ tCase.initializeTestCase(param);
+ tEnv = tCase.getTestEnvironment(param);
+ } catch (Exception e) {
+ log.println("Exception while creating "+tCase.getObjectName());
+ log.println("Exception: " + e);
+ log.println("Message "+e.getMessage());
+ tEnv = null;
+ }
+ if (tEnv == null) {
+ sumIt.summarizeDown(entry,"Couldn't create "+tCase.getObjectName());
+ LogWriter sumObj = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+ sumObj.initialize(entry,true);
+ entry.UserDefinedParams = param;
+ sumObj.summary(entry);
+ continue;
+ }
+ log.println("Created "+tCase.getObjectName()+"\n");
+
+ for (int j=0;j<entry.SubEntryCount;j++) {
+ if (!entry.SubEntries[j].isToTest) {
+ Summarizer.summarizeDown(entry.SubEntries[j],"not part of the job");
+ continue;
+ }
+
+ log.println("running: "+entry.SubEntries[j].entryName);
+
+ LogWriter ifclog = (LogWriter)dcl.getInstance(
+ (String)param.get("LogWriter"));
+
+ ifclog.initialize(entry.SubEntries[j],true);
+ entry.SubEntries[j].UserDefinedParams = param;
+ entry.SubEntries[j].Logger = ifclog;
+
+ if (tEnv == null || tEnv.isDisposed()) {
+ tEnv = getEnv(entry,param);
+ }
+
+ MultiMethodTest ifc = null;
+ lib.TestResult res = null;
+ try {
+ ifc = (MultiMethodTest) dcl.getInstance(
+ entry.SubEntries[j].entryName);
+ res = ifc.run(entry.SubEntries[j],tEnv,param);
+ } catch (IllegalArgumentException iae) {
+ log.println("Couldn't load class "+entry.SubEntries[j].entryName);
+ log.println("**** "+iae.getMessage()+" ****");
+ Summarizer.summarizeDown(entry.SubEntries[j],iae.getMessage());
+ } catch (java.lang.RuntimeException e) {
+ tEnv = getEnv(entry,param);
+ ifc = (MultiMethodTest) dcl.getInstance(
+ entry.SubEntries[j].entryName);
+ if ((tEnv != null) && (ifc != null)) {
+ res = ifc.run(entry.SubEntries[j],tEnv,param);
+ }
+ else
+ {
+ res = null;
+ }
+ }
+ if (res != null) {
+ for (int k=0;k<entry.SubEntries[j].SubEntryCount;k++) {
+ if (res.hasMethod(entry.SubEntries[j].SubEntries[k].entryName)) {
+ entry.SubEntries[j].SubEntries[k].State=
+ res.getStatusFor(entry.SubEntries[j].SubEntries[k].entryName).toString();
+ }
+ }
+ }
+ sumIt.summarizeUp(entry.SubEntries[j]);
+
+ LogWriter sumIfc = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+
+ sumIfc.initialize(entry.SubEntries[j],true);
+ entry.SubEntries[j].UserDefinedParams = param;
+ sumIfc.summary(entry.SubEntries[j]);
+ }
+ try {
+ tCase.cleanupTestCase(param);
+ } catch (Exception e) {
+ e.printStackTrace((PrintWriter)log);
+ }
+ sumIt.summarizeUp(entry);
+ LogWriter sumObj = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+ sumObj.initialize(entry,true);
+ sumObj.summary(entry);
+ }
+ if (entries.length > 1) {
+ log.println("");
+ int counter = 0;
+ log.println("Failures that appeared during scenario execution:");
+ for (int i=0;i<entries.length;i++) {
+ if (! entries[i].State.endsWith("OK")) {
+ log.println("\t "+entries[i].longName);
+ counter++;
+ }
+ }
+ log.println(counter +" of "+entries.length + " tests failed" );
+ }
+
+ return retValue;
+ }
+
+ protected TestEnvironment getEnv(DescEntry entry, TestParameters param) {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ log = (LogWriter)dcl.getInstance((String)param.get("LogWriter"));
+ XMultiServiceFactory msf = (XMultiServiceFactory)param.getMSF();
+
+ TestCase tCase = null;
+
+ try
+ {
+ tCase = (TestCase) dcl.getInstance("mod._"+entry.entryName);
+ }
+ catch (java.lang.IllegalArgumentException ie)
+ {
+ entry.ErrorMsg=ie.getMessage();
+ entry.hasErrorMsg=true;
+ }
+
+ log.println("Creating: "+tCase.getObjectName());
+ // LogWriter log = (LogWriter)dcl.getInstance( (String)param.get("LogWriter"));
+ log.initialize(entry,true);
+ entry.UserDefinedParams = param;
+ tCase.setLogWriter((PrintWriter) log);
+ TestEnvironment tEnv = null;
+ try
+ {
+ tCase.initializeTestCase(param);
+ tEnv = tCase.getTestEnvironment(param);
+ }
+ catch (com.sun.star.lang.DisposedException de)
+ {
+ log.println("Office disposed");
+ }
+ return tEnv;
+ }
+
+// protected void shortWait(int millis) {
+// try {
+// Thread.sleep(millis);
+// } catch (java.lang.InterruptedException ie) {}
+// }
+
+}
diff --git a/qadevOOo/runner/base/makefile.mk b/qadevOOo/runner/base/makefile.mk
new file mode 100644
index 000000000000..17fb497c0c8b
--- /dev/null
+++ b/qadevOOo/runner/base/makefile.mk
@@ -0,0 +1,52 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = base
+TARGET = runner_base
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+JAVAFILES = TestBase.java \
+ java_complex.java \
+ java_fat.java \
+ java_fat_service.java \
+ java_cmp.java \
+ basic_fat.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/basicrunner/BasicException.java b/qadevOOo/runner/basicrunner/BasicException.java
new file mode 100644
index 000000000000..419e26461916
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/BasicException.java
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 basicrunner;
+
+/** An exception while executing a Basic test.
+ */
+public class BasicException extends Throwable {
+ /** Detailed information about the exception.
+ */
+ public String info;
+
+ /** Constructor with detailed information.
+ * @param info Information about the exception.
+ */
+ public BasicException(String info) {
+ this.info = info;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/basicrunner/BasicHandler.java b/qadevOOo/runner/basicrunner/BasicHandler.java
new file mode 100644
index 000000000000..a0f5f5e405fc
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/BasicHandler.java
@@ -0,0 +1,612 @@
+/*************************************************************************
+ *
+ * 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 basicrunner;
+
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.connection.ConnectionSetupException;
+import com.sun.star.container.ContainerEvent;
+import com.sun.star.container.XContainer;
+import com.sun.star.container.XContainerListener;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XChangesBatch;
+import java.util.Hashtable;
+import lib.TestParameters;
+
+import share.LogWriter;
+
+
+/**
+ * This class is a java-part of BASIC-java interaction "driver"
+ * It is used to call Star-Basic's function from java using
+ * basic's part of "driver" where listeners are implemented.
+ * The instance of the BasicHandler should be added to the MSF that will be
+ * used for loading BASIC's part of "driver".<br>
+ * After opening basic's document it creates an instance of the
+ * HandlerContainer using BasicHandler. HandlerContainer is a UNO
+ * XContainer and XNameContainer.
+ * Only one instance of BasicHandler can be used at the moment.
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XSingleServiceFactory
+ */
+public class BasicHandler implements XServiceInfo, XSingleServiceFactory {
+ /**
+ * serviceName is the name of service that can be created in BASIC.
+ */
+ static final String serviceName =
+ "com.sun.star.jsuite.basicrunner.BasicHandler";
+
+ /**
+ * <code>container</code> is a SHARED variable (between BASIC and Java).
+ * It is used for interacting.
+ */
+ static private HandlerContainer container = null;
+
+ /**
+ * Contains a writer to log an information about the interface testing, to
+ * allows for tests to access it.
+ */
+ static private LogWriter log;
+
+ /**
+ * <code>oHandlerDoc</code> is a referrence to BASIC's document.
+ */
+ static private XComponent oHandlerDoc = null;
+
+ /**
+ * <code>xMSF</code> is a MultiServiceFactory currently used by
+ * BasicHandler.
+ */
+ static private XMultiServiceFactory xMSF = null;
+
+ /**
+ * Interface being tested now.
+ */
+ static private BasicIfcTest TestedInterface = null;
+
+ /**
+ * Ab enhanced scheme of timeouts can be used with BASIC tests.
+ * A small timeout can be used zo wait for changes in the test status.
+ * <code>respFlag</code> is set to <code>true</code> when a BASIC test
+ * writes any log information.
+ */
+ static private boolean respFlag = false;
+
+ /**
+ * <code>iBasicTimeout</code> is the amount of milliseconds that
+ * the BasicHandler will wait for a response from tests
+ * (finish to execute a method or add log information)
+ * before it decides that SOffice is dead.
+ */
+ static private int iBasicTimeout = 10000;
+
+
+
+ /**
+ * Creates an instance of a HandlerContainer. This instance is used from
+ * BASIC.
+ * @param tParam The test parameters.
+ */
+ public BasicHandler(TestParameters tParam) {
+ if (tParam.get("soapi.test.basic.debugFile") != null) {
+ iBasicTimeout = 0; // Debug mode.
+ }
+ container = new HandlerContainer(this);
+ }
+
+ /**
+ * Set the tested interface and a log writer.
+ * @param ifc The test of an interface
+ * @param log A log writer.
+ */
+ public void setTestedInterface(BasicIfcTest ifc, LogWriter log) {
+ this.log = log;
+ TestedInterface = ifc;
+ }
+
+ /**
+ * Is called when BASIC signals that it has performed the test of a method.
+ * @param methodName The name of the method.
+ * @bResult The result of the test.
+ */
+ synchronized void methodTested(String methodName, boolean bResult) {
+ respFlag = true;
+ TestedInterface.methodTested(methodName, bResult);
+ notify() ;
+ }
+
+ /**
+ * Is called when BASIC sends a signal to write some log information.
+ * @param info The string to write.
+ */
+ synchronized public void Log(String info) {
+ respFlag = true;
+ log.println(info);
+ notify() ;
+ }
+
+ /**
+ * Is called by BasicIfcTest to find out if this BasicHandler uses the
+ * correct MultiServiceFactory.
+ * @param xMSF The MultiServiceFactory
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @return True, if xMSF is equal to the MultiServiceFactory of this class.
+ */
+ public boolean isUptodate(XMultiServiceFactory xMSF) {
+ return xMSF.equals(this.xMSF);
+ }
+
+
+ /**
+ * Establishes a connection between BASIC and Java.
+ * If required, hte BASIC part of the "driver" is loaded.
+ * @param sBasicBridgeURL The URL of the basic bridge document
+ * (BasicBridge.sxw)
+ * @param tParam The test parameters.
+ * @param xMSF The MultiServiceFactory
+ * @param log The log writer.
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @throws ConnectionSetupException Exception is thrown, if no connection could be made.
+ */
+ public synchronized void Connect(String sBasicBridgeURL,
+ TestParameters tParam, XMultiServiceFactory xMSF,
+ LogWriter log) throws ConnectionSetupException {
+ this.log = log;
+ try {
+ this.xMSF = xMSF;
+ Object oInterface = xMSF.createInstance(
+ "com.sun.star.frame.Desktop");
+ XDesktop oDesktop = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, oInterface);
+ XComponentLoader oCLoader = (XComponentLoader)
+ UnoRuntime.queryInterface(
+ XComponentLoader.class, oDesktop);
+
+ // load BasicBridge with MarcoEceutionMode = Always-no warn
+ //PropertyValue[] DocArgs = null;
+ PropertyValue[] DocArgs = new PropertyValue[1];
+ PropertyValue DocArg = new PropertyValue();
+ DocArg.Name = "MacroExecutionMode";
+ DocArg.Value = new Short(
+ com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN);
+ DocArgs[0] = DocArg;
+
+ // configure Office to allow to execute macos
+ PropertyValue [] ProvArgs = new PropertyValue [1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "nodepath";
+ Arg.Value = "/org.openoffice.Office.Common/Security";
+ ProvArgs[0] = Arg;
+
+ Object oProvider = xMSF.createInstance(
+ "com.sun.star.configuration.ConfigurationProvider");
+
+ XMultiServiceFactory oProviderMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, oProvider);
+
+ Object oSecure = oProviderMSF.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationUpdateAccess",
+ ProvArgs);
+
+ XPropertySet oSecureProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oSecure);
+
+ Object oScripting = oSecureProps.getPropertyValue("Scripting");
+ XPropertySet oScriptingSettings = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oScripting);
+
+ oScriptingSettings.setPropertyValue("Warning", Boolean.FALSE);
+ oScriptingSettings.setPropertyValue("OfficeBasic", new Integer(2));
+
+ XChangesBatch oSecureChange = (XChangesBatch)
+ UnoRuntime.queryInterface(XChangesBatch.class, oSecure);
+ oSecureChange.commitChanges();
+
+ // As we want to have some information about a debugFile
+ // BEFORE connection is established
+ // we pass the information about it in frame name.
+ String sFrameName = (String)tParam.get(
+ "soapi.test.basic.debugFile");
+ if (sFrameName == null) sFrameName = "BasicRunner";
+
+ oHandlerDoc = oCLoader.loadComponentFromURL(sBasicBridgeURL,
+ sFrameName, 40, DocArgs);
+
+ do {
+ respFlag = false ;
+ wait(10000); // waiting for basic response for 10 seconds.
+ } while (respFlag && !container.hasByName("BASIC_Done")) ;
+
+ if (!container.hasByName("BASIC_Done")) {
+ throw new ConnectionSetupException("Connection timed out.");
+ }
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.toString());
+ throw new ConnectionSetupException();
+ }
+
+ log.println("Java-BASIC connection established!");
+ }
+
+ /**
+ * Overloads perform(Strin fName, Object params) for convenience.
+ * @return A proprty value as result.
+ *
+ public synchronized PropertyValue perform(String fName)
+ throws BasicException {
+ return perform(fName, "");
+ }
+*/
+ /**
+ * Perform a test of a method.
+ * @param fName The name of the method to test.
+ * @param params The test parameters.
+ * @return A proprty value as result of the test.
+ * @throws BasicException The method could not be executed.
+ */
+ public synchronized PropertyValue perform(String fName, Object params)
+ throws BasicException {
+ try {
+ container.callBasicFunction(fName, params);
+
+ do {
+ respFlag = false;
+ // waiting for basic response for iBasicTimeout milliseconds.
+ wait(iBasicTimeout);
+ } while(respFlag && !container.hasByName("BASIC_Done"));
+
+ } catch (InterruptedException e) {
+ System.out.println("The operation " + fName + " was interrupted.");
+ } catch (com.sun.star.lang.DisposedException de) {
+ System.out.println("## Office is disposed");
+ }
+
+ if (!container.hasByName("BASIC_Done")) {
+ System.out.println("Operation timed out.");
+ throw new BasicException(
+ "Operation timed out.");
+ }
+
+ Object res = container.getByName("BASIC_Done") ;
+ container.removeByName("BASIC_Done");
+
+ if (!(res instanceof PropertyValue)) {
+ if (res == null) {
+ System.out.println(
+ "BasicBridge returns null");
+ throw new BasicException(
+ "BasicBridge returns null");
+ } else {
+ System.out.println(
+ "BasicBridge returns wrong type: " + res.getClass());
+ throw new BasicException(
+ "BasicBridge returns wrong type: " + res.getClass());
+ }
+ }
+
+ PropertyValue result = (PropertyValue) res ;
+
+ if ((result.Value instanceof String) && (((String)result.Value)).startsWith("Exception")) {
+ throw new BasicException((String)result.Value);
+ }
+
+ return result;
+ }
+
+ /**
+ * Returns true, if name is a supported service of this class.
+ * @param name The service name.
+ * @return True, if the service is supported.
+ */
+ public boolean supportsService(String name) {
+ return serviceName.equals(name);
+ }
+
+ /**
+ * Return all supported service names.
+ * @return All supported services.
+ */
+ public String[] getSupportedServiceNames() {
+ return new String[] {serviceName};
+ }
+
+ /**
+ * Get the implementation name.
+ * @return Implementation name.
+ */
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ /**
+ * Create an instance of HandlerContainer.
+ * Arguments are not supported here, so they will be ignored.
+ * @param args The arguments.
+ * @return The instance.
+ */
+ public Object createInstanceWithArguments(Object[] args) {
+ return container;
+ }
+
+ /**
+ * Create an instance of HandlerContainer.
+ * @return The instance.
+ */
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ /**
+ * Dispose the BASIC document.
+ */
+ public synchronized void dispose() {
+ try {
+ if (oHandlerDoc != null) {
+ //oHandlerDoc.dispose();
+ util.DesktopTools.closeDoc(oHandlerDoc);
+ wait(1000);
+ }
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.toString());
+ }
+ }
+}
+
+
+/**
+ * This class handles the communication between Java and BASIC.
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.lang.XTypeProvider
+ */
+class HandlerContainer implements XContainer, XNameContainer, XTypeProvider{
+
+ /** Container for parameters.
+ **/
+ Hashtable container = new Hashtable(20);
+ /**
+ * An array of listeners for container events.
+ * @see com.sun.star.container.XContainerListener
+ */
+ static XContainerListener[] listener = null;
+
+ /** The BasicHandler belonging to this handler. **/
+ BasicHandler parent = null;
+
+ /**
+ * Constructor with the parent BasicHandler.
+ * @param par The BasicHandler.
+ */
+ public HandlerContainer(BasicHandler par) {
+ parent = par;
+ }
+
+ /**
+ * Call a BASIC function, meaning a test method.
+ * @param fName The method name.
+ * @param args Arguments for the method.
+ */
+ public void callBasicFunction(String fName, Object args) {
+ // BASIC's listener should be called ONLY in this case.
+ if (container.containsKey(fName)) {
+ container.remove(fName);
+ }
+ container.put(fName, args);
+ if (listener != null) {
+ ContainerEvent event = new ContainerEvent();
+ event.Element = fName;
+ for (int i=0; i<listener.length; i++){
+ if (listener[i] != null) {
+ listener[i].elementInserted(event);
+ }
+ }
+ }
+ }
+
+ /**
+ * Insert an object into the container.
+ * @param name The key for the object.
+ * @param object The object to insert.
+ * @throws IllegalArgumentException Throws this exception when trying to insert null.
+ */
+ public void insertByName(String name, Object object) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.ElementExistException, com.sun.star.lang.WrappedTargetException {
+
+ // BASIC and Java can insert into the container.
+ if (container.containsKey(name)) {
+ container.remove(name);
+ }
+ container.put(name, object);
+
+ PropertyValue result = null ;
+
+ if (object instanceof PropertyValue) {
+ result = (PropertyValue)object;
+ if (name.equals("BASIC_Done")) {
+ synchronized (parent) {
+ parent.notify();
+ }
+ } else if (name.equals("BASIC_MethodTested")) {
+ parent.methodTested(result.Name,
+ ((Boolean)result.Value).booleanValue());
+ }
+ } else if (name.equals("BASIC_Log")) {
+ parent.Log(object.toString());
+ }
+ }
+
+ /**
+ * Remove the object with this name from the container.
+ * @param name The key.
+ */
+ public void removeByName(String name) {
+ container.remove(name) ;
+ }
+
+ /**
+ * Unsupported method.
+ * @param name The name of the key.
+ * @param value The value.
+ * @throws WrappedTargetException Throws this exception when called falsely.
+ */
+ public void replaceByName(String name, Object value)
+ throws WrappedTargetException {
+ throw new WrappedTargetException("Unsupported");
+ }
+
+ /**
+ * Has a value for this key.
+ * @param name The name of a key.
+ * @return True, if name exists as key in the container.
+ */
+ public boolean hasByName(String name) {
+ return container.containsKey(name);
+ }
+
+ /**
+ * Get an object by its key.
+ * @param name The name of the key.
+ * @return The object of this key.
+ */
+ public Object getByName(String name) {
+ return container.get(name);
+ }
+
+ /**
+ * Get all key names.
+ * @return All names of keys.
+ */
+ public String[] getElementNames() {
+ String[] res = new String[container.size()];
+ return (String[])container.keySet().toArray(res);
+ }
+
+ /**
+ * Is the xcontainer empty?
+ * @return True, if the container has elements.
+ */
+ public boolean hasElements() {
+ return !container.isEmpty();
+ }
+
+ /**
+ * Get the type of this class.
+ * @return The type of this class.
+ */
+ public Type getElementType() {
+ try {
+ return new Type(String.class);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ /**
+ * Get the implementation id of this class.
+ * @return A unique id for this class
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /**
+ * Get all types of this class.
+ * @return All implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i) {
+ types[i] = new Type(interfaces[i]);
+ }
+ return types;
+ }
+
+ /**
+ * Add a listener
+ * @param xListener The listener.
+ */
+ public void addContainerListener(XContainerListener xListener){
+ int length = 0;
+ if (listener != null)
+ length = listener.length;
+
+ XContainerListener[] mListener =
+ new XContainerListener[length+1];
+ for (int i=0; i<length-1; i++) {
+ mListener[i] = listener[i];
+ // listener already added
+ if (((Object)xListener).equals(listener[i]))
+ return;
+ }
+ mListener[length] = xListener;
+ listener = mListener;
+ }
+
+ /**
+ * Remove a listener
+ * @param xListener The listener.
+ */
+ public void removeContainerListener(XContainerListener xListener){
+ if (listener != null && listener.length != 0) {
+ int length = listener.length;
+ XContainerListener[] mListener =
+ new XContainerListener[length-1];
+ boolean found = false;
+ int j=0;
+ for (int i=0; i<length-1; i++) {
+ if (!((Object)xListener).equals(listener[j])) {
+ mListener[i] = listener[j];
+ }
+ else {
+ j++;
+ found = true;
+ }
+ j++;
+ }
+ if (!found) {
+ if (((Object)xListener).equals(listener[length-1]))
+ listener = mListener;
+ }
+ else
+ listener = mListener;
+
+ }
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/BasicHandlerProvider.java b/qadevOOo/runner/basicrunner/BasicHandlerProvider.java
new file mode 100644
index 000000000000..9a6479d50f1d
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/BasicHandlerProvider.java
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * 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 basicrunner;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.container.ElementExistException;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.connection.ConnectionSetupException;
+import lib.TestParameters;
+import share.LogWriter;
+import basicrunner.basichelper.Connector;
+import basicrunner.basichelper.DocumentHandler;
+import basicrunner.basichelper.ThreadRunner;
+import basicrunner.basichelper.AttributeList;
+import basicrunner.basichelper.Filter;
+import basicrunner.basichelper.DispatchProviderInterceptor;
+
+/**
+ * This class provides a BasicHandler. All classes for the communication with
+ * and handling of the BASIC tests are instantiated and inserted int the
+ * MultiServiceFactory of StarOffice.
+ */
+public class BasicHandlerProvider {
+
+ /** The BassicHandler **/
+ static BasicHandler oHandler = null;
+ /** The Connector **/
+ static Connector oConnector = null;
+ /** The DocumentHandler **/
+ static DocumentHandler oDocumentHandler = null;
+ /** The Thread Runner **/
+ static ThreadRunner oThreadRunner = null;
+ /** The AttributeList **/
+ static AttributeList oAttributeList = null;
+ /** The Filter **/
+ static Filter oFilter = null;
+ /** The DispatchProviderInterceptor **/
+ static DispatchProviderInterceptor oCeptor = null ;
+ /** The MultiServiceFactory from StarOffice **/
+ static XMultiServiceFactory MSF = null;
+ /** IS this a new connection or an existing one? **/
+ static boolean bIsNewConnection = true;
+
+ /**
+ * Get a BasicHandler
+ * @param tParam Test parameters.
+ * @param log A log writer
+ * @return An instance of BasicHandler
+ */
+ static public BasicHandler getHandler(TestParameters tParam, LogWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ if (!xMSF.equals(MSF)) {
+ MSF = xMSF;
+ oHandler = new BasicHandler(tParam);
+ oConnector = new Connector();
+ oFilter = new Filter();
+ oDocumentHandler = new DocumentHandler();
+ oThreadRunner = new ThreadRunner(xMSF);
+ oCeptor = new DispatchProviderInterceptor() ;
+ oAttributeList = new AttributeList();
+ XSet xMSFSet = (XSet)UnoRuntime.queryInterface(XSet.class, xMSF);
+
+ try {
+ xMSFSet.insert(oHandler);
+ xMSFSet.insert(oConnector);
+ xMSFSet.insert(oFilter);
+ xMSFSet.insert(oDocumentHandler);
+ xMSFSet.insert(oThreadRunner);
+ xMSFSet.insert(oCeptor);
+ xMSFSet.insert(oAttributeList);
+ } catch (ElementExistException e) {
+ System.out.println(e.toString());
+ } catch (IllegalArgumentException e) {
+ System.out.println(e.toString());
+ }
+
+ try {
+ oHandler.Connect(util.utils.getFullURL((String)tParam.get("BASICBRIDGE")),
+ tParam, xMSF, log);
+ } catch (ConnectionSetupException e) {
+ System.out.println("Can't connect to BASIC !");
+ }
+
+ bIsNewConnection = true;
+ } else {
+ bIsNewConnection = false;
+ }
+
+ return oHandler;
+ }
+
+ /**
+ * Is this a new connection?
+ * @return True, if the connection did not exist before.
+ */
+ static public boolean isNewConnection() {
+ return bIsNewConnection;
+ }
+
+ /**
+ * Dispose the BasicHandler
+ */
+ static public void disposeHandler() {
+
+ try {
+ if (oHandler != null) {
+ oHandler.dispose();
+ }
+ if (MSF != null) {
+ XSet xMSFSet = (XSet)UnoRuntime.queryInterface(XSet.class, MSF);
+ xMSFSet.remove(oHandler);
+ xMSFSet.remove(oFilter);
+ xMSFSet.remove(oConnector);
+ xMSFSet.remove(oDocumentHandler);
+ xMSFSet.remove(oThreadRunner);
+ xMSFSet.remove(oAttributeList);
+ }
+ } catch (Exception e){
+ System.out.println(e.toString());
+ }
+
+ MSF = null;
+ oHandler = null;
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/BasicIfcTest.java b/qadevOOo/runner/basicrunner/BasicIfcTest.java
new file mode 100644
index 000000000000..8c75f8ff94f0
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/BasicIfcTest.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 basicrunner;
+
+import lib.TestResult;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import share.DescEntry;
+import share.LogWriter;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+import com.sun.star.beans.PropertyValue;
+
+
+/**
+ * The BASIC interface test
+ */
+public class BasicIfcTest {
+ /** The BasicHandler **/
+ static BasicHandler oBasicHandler = null;
+ /** The result orf the test **/
+ protected TestResult tRes;
+ /** the name of the test **/
+ protected String testName;
+
+ /** Constructor with test name.
+ * @param name The name of the test.
+ */
+ public BasicIfcTest(String name) {
+ testName = name;
+ }
+
+ /**
+ * Let the test run.
+ * @param xTestedEntry Informaton about the interface to test.
+ * @param tEnv The environment of the test.
+ * @param tParam The test parameters.
+ * @return A result of the test.
+ */
+ public TestResult run(DescEntry xTestedEntry, TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ String sResult = "";
+
+ this.tRes = new TestResult();
+ LogWriter log = xTestedEntry.Logger;
+
+ // Get Handler, that was created during object creation.
+ try {
+ oBasicHandler = (BasicHandler)tEnv.getObjRelation("BasicHandler");
+ } catch (java.lang.NullPointerException e) {
+ log.println("No Component created");
+ return null;
+ }
+
+ if (!oBasicHandler.isUptodate((XMultiServiceFactory)tParam.getMSF())) {
+ // If Handler uses old MSF (in case of Office's GPF) then don't test
+ // interface.
+ return null;
+ }
+
+ boolean objectWasCreated = ((Boolean)tEnv.getObjRelation("objectCreated")).booleanValue();
+
+ if (objectWasCreated) {
+ oBasicHandler.setTestedInterface(this, log);
+
+ DescEntry methods[] = xTestedEntry.SubEntries;
+
+ String names[] = new String[methods.length + 1];
+ boolean isOpt[] = new boolean[methods.length + 1];
+ String other[] = new String[1];
+
+ String aName = xTestedEntry.longName;
+ aName = aName.substring(aName.indexOf("::")+2);
+ int oldIndex = 0;
+ int index = aName.indexOf("::");
+ names[0] = "";
+ while(index!=-1) {
+ names[0] += aName.substring(oldIndex,index) + ".";
+ oldIndex=index+2;
+ index=aName.indexOf("::", oldIndex);
+ }
+ names[0] += aName.substring(oldIndex);
+ isOpt[0] = xTestedEntry.isOptional;
+
+ for (int i = 1; i < names.length; i++) {
+ names[i] = methods[i - 1].entryName;
+ isOpt[i] = methods[i - 1].isOptional;
+ }
+
+ // for reasons of compatibility with JSuite we change the first
+ // character of EntryType to upper case.
+ String eType = xTestedEntry.EntryType;
+ other[0] = eType.toUpperCase().charAt(0)+eType.substring(1);
+
+ Object params[] = {names, isOpt, other};
+
+ try {
+ PropertyValue Res = oBasicHandler.perform("testInterface", params);
+ sResult = (String)Res.Value;
+ } catch (BasicException e) {
+ log.println(e.info);
+ sResult = "SKIPPED.FAILED";
+ }
+ } else { // if object was not created...
+ sResult = "SKIPPED.FAILED";
+ }
+
+ // now tRes has all substates: collect them
+ DescEntry[] subs = xTestedEntry.SubEntries;
+ for (int i = 0; i < subs.length ; i++) {
+ if (sResult.equals("SKIPPED.FAILED"))
+ subs[i].State = "SKIPPED.FAILED";
+ else if (sResult.equals("SKIPPED.OK"))
+ subs[i].State = "SKIPPED.OK";
+ else
+ if (tRes.getStatusFor(subs[i].entryName) == null) {
+ subs[i].State = "SKIPPED.FAILED";
+ } else {
+ subs[i].State = tRes.getStatusFor(
+ subs[i].entryName).toString();
+ }
+ }
+
+ xTestedEntry.State = sResult;
+ return null;
+ }
+
+ /**
+ * Set the result of the method that is tested.
+ * @param methodName The name of the method.
+ * @param bResult The result of the test.
+ */
+ public void methodTested(String methodName, boolean bResult) {
+ tRes.tested(methodName, bResult);
+ }
+
+ /**
+ * @return The name of the interface or the service tested.
+ */
+ String getTestedClassName() {
+ return testName;
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/BasicTestCase.java b/qadevOOo/runner/basicrunner/BasicTestCase.java
new file mode 100644
index 000000000000..1356badc12d7
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/BasicTestCase.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 basicrunner;
+
+import lib.TestCase;
+import lib.TestParameters;
+import lib.TestEnvironment;
+import share.DescEntry;
+import share.LogWriter;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import com.sun.star.beans.PropertyValue;
+
+
+/**
+ * The basic test case.
+ */
+public class BasicTestCase extends TestCase {
+
+ /**
+ * Specifies the PrintWriter to log information.
+ */
+ public PrintWriter oLog;
+
+ /** The name of the test object **/
+ protected String objName;
+ /** The implementation name of the test object **/
+ protected String implName;
+ /** A BasicHandler **/
+ static BasicHandler oBasicHandler = null;
+
+ /**
+ * Constructor with the entry which is to test.
+ * @param entry The description entry.
+ */
+ public BasicTestCase(DescEntry entry) {
+ this.objName = entry.entryName;
+ this.implName = entry.longName;
+ }
+
+
+ /**
+ * Initialize the test case.
+ * The BasicHandler is talken from the test parameters and several
+ * parameters are initialized.
+ * @param tParam The test parameters.
+ * @param pLog A log writer.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter pLog) {
+ // Create Handler ONLY here. If SOffice crashes,
+ // no new Handler will be created until new object's initialization.
+ this.oLog = pLog;
+ LogWriter log = (LogWriter)pLog;
+ oBasicHandler = BasicHandlerProvider.getHandler(tParam, log);
+ try {
+ oBasicHandler.perform("setValue",
+ "cBASPath = \"" + tParam.get("BASICRESPTH") + "/\"");
+ oBasicHandler.perform("setValue",
+ "cTestDocsDir = \"" + tParam.get("DOCPTH") + "/\"");
+ oBasicHandler.perform("setValue",
+ "CNCSTR = \"" + tParam.get("CNCSTR") + "\"");
+ if (tParam.get("soapi.test.hidewindows") != null) {
+ oBasicHandler.perform("setValue",
+ "soapi_test_hidewindows = true");
+ } else {
+ oBasicHandler.perform("setValue",
+ "soapi_test_hidewindows = false");
+ }
+ //this parameters are used by testcases of db-driver components
+ oBasicHandler.perform("setValue", "dbaseUrl = \"sdbc:dbase:" +
+ tParam.get("dbase.url") + "\"");
+ oBasicHandler.perform("setValue", "flatUrl = \"sdbc:flat:" +
+ tParam.get("flat.url") + "\"");
+ oBasicHandler.perform("setValue", "calcUrl = \"sdbc:calc:" +
+ tParam.get("calc.url") + "\"");
+ oBasicHandler.perform("setValue", "odbcUrl = \"sdbc:odbc:" +
+ tParam.get("odbc.url") + "\"");
+ oBasicHandler.perform("setValue", "jdbcUrl = \"jdbc:" +
+ tParam.get("jdbc.url") + "\"");
+ oBasicHandler.perform("setValue", "jdbcUser = \"" +
+ tParam.get("jdbc.user") + "\"");
+ oBasicHandler.perform("setValue", "jdbcPassword = \"" +
+ tParam.get("jdbc.password") + "\"");
+ oBasicHandler.perform("setValue", "adabasUrl = \"sdbc:adabas:" +
+ tParam.get("adabas.url") + "\"");
+ oBasicHandler.perform("setValue", "adabasUser = \"" +
+ tParam.get("adabas.user") + "\"");
+ oBasicHandler.perform("setValue", "adabasPassword = \"" +
+ tParam.get("adabas.password") + "\"");
+ oBasicHandler.perform("setValue", "adoUrl = \"sdbc:ado:" +
+ tParam.get("ado.url") + "\"");
+ oBasicHandler.perform("setValue", "mozabUrl = \"sdbc:address:" +
+ tParam.get("mozab.url") + "\"");
+ } catch (BasicException e) {
+ log.println(e.info);
+ throw new RuntimeException(e.info);
+ }
+ }
+
+ /**
+ * Create the environment for the test. This is done by BASIC.
+ * @param tParam The test parameters.
+ * @param log A log writer.
+ * @return The test environment
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+
+ PropertyValue Res;
+ boolean bObjectWasCreated = false;
+
+ try {
+ oBasicHandler.perform("setValue",
+ "cObjectImplementationName = \"" + implName + "\"");
+ Res = oBasicHandler.perform("createObject", objName);
+ bObjectWasCreated = ((Boolean)Res.Value).booleanValue();
+
+ if (!bObjectWasCreated) {
+ log.println("Couldn't create object");
+ throw new RuntimeException("Couldn't create object");
+ }
+
+ } catch (BasicException e) {
+ log.println(e.info);
+ bObjectWasCreated = false;
+ throw new RuntimeException(e.info);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(new XInterface(){});
+ tEnv.addObjRelation("objectCreated", new Boolean(bObjectWasCreated));
+ tEnv.addObjRelation("BasicHandler", oBasicHandler);
+ return tEnv;
+ }
+
+ /**
+ * BASIC is told to dispose the test object.
+ * @param tParam The test parameters.
+ */
+
+ public void cleanupTestCase(TestParameters tParam) {
+ PropertyValue Res;
+ oLog.println("Cleaning up testcase");
+ try {
+ Res = oBasicHandler.perform("disposeObject", objName);
+ } catch (BasicException e) {
+ oLog.println(e.info);
+ throw new RuntimeException(e.info);
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/basicrunner/basichelper/AttributeList.java b/qadevOOo/runner/basicrunner/basichelper/AttributeList.java
new file mode 100644
index 000000000000..cdcba0f6f956
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/basichelper/AttributeList.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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 basicrunner.basichelper;
+
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.Type;
+import com.sun.star.lang.XTypeProvider;
+import util.XMLTools;
+
+/**
+* The class provides an implementation of the service
+* <code>com.sun.star.xml.sax.XAttributeList</code>.
+* @see com.sun.star.xml.sax.XAttributeList
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.lang.XSingleServiceFactory
+*/
+public class AttributeList implements XServiceInfo, XSingleServiceFactory {
+ /** The service name of this class **/
+ static final String __serviceName = "basichelper.AttributeList";
+
+ /**
+ * Returns True, of the service is supported.
+ * @param name The service name.
+ * @return True, if the service is supported.
+ */
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ /**
+ * Get all supported services.
+ * @return The supported services.
+ */
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ /**
+ * Ask for the implementation name.
+ * @return The implementation name.
+ */
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ /**
+ * Create an instance of the actual implementation of the AttributeList.
+ * Arguments are not supported, so they will bge ignored.
+ * @param args The arguments.
+ * @return A new instance of this class.
+ */
+ public Object createInstanceWithArguments(Object[] args) {
+ return new AttributeListImpl();
+ }
+
+ /**
+ * Create an instance of this class.
+ * @return A new instance of this class.
+ */
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+}
+
+/**
+ * The actual implementation of the service
+ * <code>com.sun.star.xml.sax.XAttributeList</code>.
+ * Extends the class util.XMLTools.AttributeList.
+ * @see util.XMLTools.AttributeList
+ * @see com.sun.star.xml.sax.XAttributeList
+ * @see com.sun.star.lang.XTypeProvider
+ * @see com.sun.star.lang.XInitialization
+ */
+class AttributeListImpl extends XMLTools.AttributeList
+ implements XTypeProvider, XInitialization {
+
+ /**
+ * Initialize this class.
+ * @param p0 An array of XML attributes that are added to the list.
+ * @throws Exception Initialize failed.
+ */
+ public void initialize(Object[] p0) throws com.sun.star.uno.Exception {
+ for(int i = 0; i + 2 < p0.length; i += 3) {
+ add((String)p0[i], (String)p0[i + 1], (String)p0[i + 2]);
+ }
+ }
+
+ /**
+ * Return all implemented types of this class.
+ * @return All UNO types of this class.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Class superInterfaces[] = getClass().getSuperclass().getInterfaces();
+
+ Type types[] = new Type[interfaces.length + superInterfaces.length];
+ int i = 0;
+ for(; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ for(; i < interfaces.length + superInterfaces.length; ++ i)
+ types[i] = new Type(superInterfaces[i - interfaces.length]);
+ return types;
+ }
+
+ /**
+ * Get a unique id for this class
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/basichelper/Connector.java b/qadevOOo/runner/basicrunner/basichelper/Connector.java
new file mode 100644
index 000000000000..cc219ac9f416
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/basichelper/Connector.java
@@ -0,0 +1,272 @@
+/*************************************************************************
+ *
+ * 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 basicrunner.basichelper;
+
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.connection.XConnector;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.ConnectionSetupException;
+import com.sun.star.connection.NoConnectException;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.lang.XSingleServiceFactory;
+
+/**
+ * This is a special service that is used in testing Acceptor
+ * component in BASIC. This componennt creates a separate thread
+ * that tries to connect to BASIC's acceptor. After successfull
+ * connection it writes a connectionString to XConnection.
+ */
+ public class Connector implements XServiceInfo, XSingleServiceFactory {
+ /** The service name of this class **/
+ static final String __serviceName = "basichelper.Connector";
+ /** The Connector implementation **/
+ static ConnectorImpl oConnector = null;
+
+ /** Create a connector.
+ */
+ public Connector() {
+ oConnector = new ConnectorImpl();
+ }
+
+ /**
+ * Returns an instance of the connector.
+ * Arguments are not supported here and will be ignored.
+ * @param args The arguments.
+ * @return The connector.
+ */
+ public Object createInstanceWithArguments(Object[] args) {
+ return oConnector;
+ }
+
+ /**
+ * Returns an instance of the connector.
+ * @return The connector.
+ */
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ /**
+ * Get a unique id for this implementation.
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /**
+ * Return all implemented types of this class.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+
+ return types;
+ }
+
+ /** Is this servioce supported?
+ * @param name The service name.
+ * @return True, if the service is supported.
+ */
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ /**
+ * Get all supported service names.
+ * @return All supported servcices.
+ */
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ /**
+ * Get the implementation name of this class.
+ * @return The implementation name.
+ */
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+}
+
+/**
+ * The actual implementation of the connector
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.lang.XTypeProvider
+ * @see com.sun.star.container.XNameAccess
+ */
+class ConnectorImpl implements XInitialization, XTypeProvider, XNameAccess {
+ static String aState;
+ static Integer iTimeout;
+
+ /**
+ * Construct a new connector.
+ */
+ public ConnectorImpl() {
+ aState = "just created";
+ iTimeout = new Integer(3000);
+ }
+
+ /**
+ * Method initialize() creates a new thread that will try to connect to
+ * Acceptor for a few seconds. One should pass as parameters an array,
+ * where element 0 is an instance of Connector and element 1 is a
+ * connection string (the same as in Acceptor)
+ * @param parm1 An instance of XConnector.
+ * @see com.sun.star.connection.XConnector
+ * @throws Exception Is thrown, when initialize fails.
+ */
+ public void initialize(Object[] parm1) throws com.sun.star.uno.Exception {
+ aState = "just initialized";
+ XConnector cntr = (XConnector)UnoRuntime.queryInterface(
+ XConnector.class, parm1[0]);
+ ConnThread aThread = new ConnThread(cntr, (String)parm1[1]);
+ aThread.start();
+ }
+
+ /**
+ * Get the element names
+ * @return All element names.
+ */
+ public String[] getElementNames() {
+ return new String[]{"State", "Timeout"};
+ }
+
+ /**
+ * Does this element exist?
+ * @param name The element name.
+ * @return True, if the name exists.
+ */
+ public boolean hasByName(String name) {
+ return (name.equals("State") || name.equals("Timeout"));
+ }
+
+ /**
+ * Get an element by its name.
+ * @param name The name of the element.
+ * @return The value of the element.
+ * @throws NoSuchElementException The element does not exist.
+ */
+ public Object getByName(String name) throws NoSuchElementException{
+ if (name.equals("State"))
+ return aState;
+ else if (name.equals("Timeout"))
+ return iTimeout;
+ else
+ throw new NoSuchElementException();
+ }
+
+ /**
+ * Are there elements
+ * @return Always true.
+ */
+ public boolean hasElements() {
+ return true;
+ }
+
+ /**
+ * Get element type.
+ * @return null.
+ */
+ public Type getElementType() {
+ return null;
+ }
+
+ /**
+ * Get a unique id for this implementation.
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /**
+ * Return all implemented types of this class.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+
+ return types;
+ }
+}
+
+/**
+ * A connector thread
+ */
+class ConnThread extends Thread {
+ String connStr;
+ XConnector oConnector;
+
+ /**Construct the thread.
+ * @param oCntr A connector.
+ * @param cStr The conection string.
+ */
+ public ConnThread(XConnector oCntr, String cStr){
+ connStr = cStr;
+ oConnector = oCntr;
+ }
+
+ /**
+ * Run the thread.
+ */
+ public void run(){
+ try {
+ Thread.sleep(ConnectorImpl.iTimeout.intValue());
+ ConnectorImpl.aState = "before connection";
+ XConnection oConnection = oConnector.connect(connStr);
+ if (oConnection != null) {
+ ConnectorImpl.aState = "connected";
+ oConnection.write(connStr.getBytes());
+ oConnection.write(new byte[]{0});
+ } else
+ ConnectorImpl.aState = "XConnection is null";
+ } catch (ConnectionSetupException e) {
+ ConnectorImpl.aState = "ConnectionSetupException";
+ throw new RuntimeException(e.toString());
+ } catch (NoConnectException e) {
+ ConnectorImpl.aState = "NoConnectException";
+ throw new RuntimeException(e.toString());
+ } catch (Exception e) {
+ ConnectorImpl.aState = "error";
+ throw new RuntimeException("Can't sleep exception");
+ }
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/basichelper/DispatchProviderInterceptor.java b/qadevOOo/runner/basicrunner/basichelper/DispatchProviderInterceptor.java
new file mode 100644
index 000000000000..f50a7d2eb470
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/basichelper/DispatchProviderInterceptor.java
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * 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 basicrunner.basichelper;
+
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.frame.XDispatchProviderInterceptor;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.util.URL;
+
+/**
+ * This implementation provides an implementation of an interceptor.
+ * @see com.sun.star.lang.XSingleServiceFactory
+ * @see com.sun.star.lang.XServiceInfo
+ */
+public class DispatchProviderInterceptor implements XServiceInfo,
+ XSingleServiceFactory {
+ /** The service name **/
+ static final String __serviceName =
+ "basichelper.DispatchProviderInterceptor";
+
+ /** Create an instance of the interceptor
+ * Arguments are not supported here, so they will be ignored.
+ * @param args The arguments.
+ * @return A new instance of the interceptor.
+ **/
+ public Object createInstanceWithArguments(Object[] args) {
+ return new InterceptorImpl();
+ }
+
+ /** Create an instance of the interceptor
+ * @return A new instance of the interceptor.
+ **/
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ /** Get the unique id for this implementation
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /** Get all implemented types.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+
+ return types;
+ }
+
+ /**
+ * Is this service supported?
+ * @param name The name of a service.
+ * @return True, if the service is supported.
+ */
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ /**
+ * Get all supported service names.
+ * @return All service names.
+ */
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ /**
+ * Get the implementation name of this class.
+ * @return The name.
+ */
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+}
+
+/**
+ * The actual implementation of the interceptor.
+ * @see com.sun.star.lang.XTypeProvider
+ * @see com.sun.star.frame.XDispatchProviderInterceptor
+ * @see com.sun.star.frame.XDispatchProvider
+ */
+class InterceptorImpl implements XDispatchProvider,
+ XDispatchProviderInterceptor, XTypeProvider {
+
+ /** A master dispatch provider **/
+ public XDispatchProvider master = null;
+ /** A slave dispatch provider **/
+ public XDispatchProvider slave = null;
+
+ /** Get the slave dispatch provider
+ * @return The slave.
+ */
+ public XDispatchProvider getSlaveDispatchProvider() {
+ return slave;
+ }
+ /** Get the master dispatch provider
+ * @return The master.
+ */
+ public XDispatchProvider getMasterDispatchProvider() {
+ return master;
+ }
+
+ /** Set the slave dispatch provider
+ * @param prov The new slave.
+ */
+ public void setSlaveDispatchProvider(XDispatchProvider prov) {
+ slave = prov ;
+ }
+
+ /** Set the master dispatch provider
+ * @param prov The new master.
+ */
+ public void setMasterDispatchProvider(XDispatchProvider prov) {
+ master = prov ;
+ }
+
+ /** Searches for an <type>XDispatch</type> for the specified URL within
+ * the specified target frame.
+ * @param url The URL.
+ * @param frame The target frame
+ * @param flags Optional search flags.
+ * @return The dispatch object which provides the queried functionality
+ * or null if no dispatch object is available.
+ * @see com.sun.star.frame.XDispatch
+ */
+ public XDispatch queryDispatch(URL url, String frame, int flags) {
+ return master.queryDispatch(url, frame, flags) ;
+ }
+
+ /**
+ * Query for an array of <type>XDispatch</type>.
+ * @param desc A list of dipatch requests.
+ * @return A list of dispatch objects.
+ */
+ public XDispatch[] queryDispatches(DispatchDescriptor[] desc) {
+ return master.queryDispatches(desc) ;
+ }
+
+ /** Get the unique id for this implementation
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /** Get all implemented types.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+
+ return types;
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/basichelper/DocumentHandler.java b/qadevOOo/runner/basicrunner/basichelper/DocumentHandler.java
new file mode 100644
index 000000000000..62909f16dd4f
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/basichelper/DocumentHandler.java
@@ -0,0 +1,344 @@
+/*************************************************************************
+ *
+ * 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 basicrunner.basichelper;
+
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.sax.XDocumentHandler;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.NoSuchElementException;
+import java.util.Vector;
+import util.XMLTools.Tag;
+import util.XMLTools;
+import java.io.StringWriter;
+import java.io.PrintWriter;
+
+/**
+ * This class provides a handler of the BASIC test document.
+ * @see com.sun.star.lang.XSingleServiceFactory
+ * @see com.sun.star.lang.XServiceInfo
+ */
+public class DocumentHandler implements XServiceInfo, XSingleServiceFactory {
+ /** The service name of this class **/
+ static final String __serviceName = "basichelper.DocumentHandler";
+ /** The actual handler of the document **/
+ static DocumentHandlerImpl oDocumentHandler = null;
+ /** A string writer **/
+ private StringWriter writer;
+ /** The log writer (just a wrapper around <code>writer</code>) **/
+ private PrintWriter log;
+
+ /**
+ * Create an instance of the document handler.
+ * @param args A boolean value as <codde>args[0]</code> determines,
+ * if checked XML data is printed to the log.
+ * Default is false.
+ * @return The document handler
+ */
+ public Object createInstanceWithArguments(Object[] args) {
+ boolean printXML = false;
+ if (args != null && args.length!=0 && args[0] instanceof Boolean)
+ printXML = ((Boolean)args[0]).booleanValue();
+ writer = new StringWriter();
+ log = new PrintWriter(writer);
+ oDocumentHandler = new DocumentHandlerImpl(log, printXML, writer);
+ return oDocumentHandler;
+ }
+
+ /**
+ * Create an instance of the document handler.
+ * @return The document handler
+ */
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ /** Get the unique id for this implementation
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /** Get all implemented types.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+
+ /** Is this servioce supported?
+ * @param name The service name.
+ * @return True, if the service is supported.
+ */
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ /**
+ * Get all supported service names.
+ * @return All supported servcices.
+ */
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ /**
+ * Get the implementation name of this class.
+ * @return The implementation name.
+ */
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+}
+
+/**
+ * The actual implementation of the document handler
+ * @see util.XMLTools.XMLChecker
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.lang.XTypeProvider
+ */
+class DocumentHandlerImpl extends XMLTools.XMLChecker
+ implements XInitialization, XDocumentHandler,
+ XNameAccess, XTypeProvider {
+ /** A string writer **/
+ private StringWriter writer;
+
+ /**
+ * Constructor
+ * @param log_ A log writer.
+ * @param printXML Should XML data be printed to the log?
+ * @param logWriter A wrapper around <code>log_</code> for convenience.
+ */
+ public DocumentHandlerImpl(PrintWriter log_,
+ boolean printXML, StringWriter logWriter) {
+ super(log_, printXML);
+ writer = logWriter;
+ }
+
+ /**
+ * Initialize this class with rules.
+ * @param parm1 An array of filter rules:
+ * <code>processAction()</code> is called for every rule.
+ * @throws com.sun.star.uno.Exception for an incorrect rule.
+ */
+ public void initialize(Object[] parm1) throws com.sun.star.uno.Exception {
+ if (!(parm1[0] instanceof Object[])) return;
+ for (int i=0; i<parm1.length; i++) {
+ processActionForXMLChecker((Object[])parm1[i]);
+ }
+ }
+
+ /**
+ * Method processes all filters received from basic tests.
+ * Called by initialize().
+ * @param filterRule An array building one filter rule.
+ * @throws com.sun.star.uno.Exception for an incorrect rule.
+ */
+ private void processActionForXMLChecker(Object[] filterRule)
+ throws com.sun.star.uno.Exception {
+ int arrLen = filterRule.length;
+ String oTagName;
+ Object[] oTags;
+ Object[] oTag;
+ int tagsNum = arrLen-1;
+ Vector allTags = new Vector();
+ String CDATA = "";
+ String action = "";
+
+ // First element of rule is RuleName and should be String
+ if (!(filterRule[0] instanceof String)) {
+ throw new com.sun.star.uno.Exception("Error: incorrect filter rule "+
+ "received from basic test! Rule name must be a String.");
+ } else {
+ action = (String) filterRule[0];
+ }
+
+ // Searching for character data and defining amount of tags received.
+ for (int j=1; j<arrLen; j++) {
+ if ( (filterRule[j] instanceof String) && (j != 1) ) {
+ CDATA = (String) filterRule[j];
+ tagsNum--;
+ }
+ }
+
+ // Adding received tags to internal array.
+ oTags = new Object[tagsNum];
+ for (int j=1; j<=tagsNum; j++) {
+ if (filterRule[j] instanceof Object[]) {
+ oTags[j-1] = (Object[]) filterRule[j];
+ }
+ }
+
+ // Process all received tags for a given filter rule
+ for (int i=0; i<oTags.length; i++) {
+ if (oTags[i] instanceof Object[]) {
+ oTag = (Object[]) oTags[i];
+ oTagName = (String) oTag[0];
+ } else if (oTags[i] instanceof Object) {
+ oTag = new Object[1];
+ oTag[0] = (Object) oTags[i];
+ oTagName = (String) oTag[0];
+ } else {
+ throw new com.sun.star.uno.Exception("Error: invalid tag "+
+ "received from basic test! Check tag "
+ +i+" in rule '"+action+"'.");
+ }
+
+ // Action for constructor Tag(TagName, attrName, attrValue)
+ if (oTag.length == 3) {
+ if ((oTag[1] instanceof String)&&(oTag[2] instanceof String)) {
+ allTags.add(new Tag(oTagName,
+ (String) oTag[1], (String) oTag[2]));
+ } else {
+ throw new com.sun.star.uno.Exception("Error: invalid tag '"+
+ oTagName+"' received from basic test!");
+ }
+
+ // Action for constructors:
+ // Tag(TagName, String[][] attrValues )
+ // Tag(TagName, String[] attrNames)
+ // Tag(TagName, String attrName)
+ //
+ } else if (oTag.length == 2) {
+ if (oTag[1] instanceof String[][]) {
+ allTags.add(new Tag(oTagName, (String[][]) oTag[1]));
+ } else if (oTag[1] instanceof String[]) {
+ allTags.add(new Tag(oTagName, (String[]) oTag[1]));
+ } else if (oTag[1] instanceof String) {
+ allTags.add(new Tag(oTagName, (String) oTag[1]));
+ } else {
+ throw new com.sun.star.uno.Exception("Error: invalid tag '"+
+ oTagName+"' received from basic test!");
+ }
+
+ // Action for constructor Tag(TagName)
+ } else if (oTag.length == 1) {
+ if (oTag[0] instanceof String) {
+ allTags.add(new Tag(oTagName));
+ } else {
+ throw new com.sun.star.uno.Exception("Error: invalid tag '"+
+ oTagName+"' received from basic test!");
+ }
+ } else {
+ throw new com.sun.star.uno.Exception("Error: invalid tag '"+
+ oTagName+"' received from basic test!");
+ }
+ }
+
+ // Adding tags to XMLChecker
+ if ( action.equals((String)"TagExists") ) {
+ for (int i=0; i<allTags.size(); i++) {
+ addTag((Tag)allTags.get(i));
+ }
+ } else if (action.equals((String)"TagEnclosed")) {
+ addTagEnclosed((Tag) allTags.get(0), (Tag) allTags.get(1));
+ } else if (action.equals((String)"CharsEnclosed")) {
+ addCharactersEnclosed(CDATA, (Tag) allTags.get(0));
+ } else {
+ throw new com.sun.star.uno.Exception("Error: incorrect rule name '"+
+ action+"' received from basic test!");
+ }
+ }
+
+ /**
+ * Get the names of the elements.
+ * @return element names.
+ */
+ public String[] getElementNames() {
+ return new String[]{"XMLCode", "XMLIsCorrect"};
+ }
+
+ /**
+ * Is this an element?
+ * @param name Element name.
+ * @return true, if <code>name>/code> is the name of an element.
+ */
+ public boolean hasByName(String name) {
+ return (name.equals("XMLCode") || name.equals("XMLIsCorrect"));
+ }
+
+ /**
+ * Get an element by its name.
+ * @param name The element name.
+ * @return The element with the specified <code>name</code>.
+ * @throws NoSuchElementException Is thrown, if name does not exist.
+ */
+ public Object getByName(String name) throws NoSuchElementException{
+ if (name.equals("XMLIsCorrect"))
+ return new Boolean(this.check());
+ else if (name.equals("XMLCode")) {
+ return writer.getBuffer().toString();
+ } else
+ throw new NoSuchElementException();
+ }
+
+ /**
+ * Are there any elements?
+ * @return Always true.
+ */
+ public boolean hasElements() {
+ return true;
+ }
+
+ /**
+ * Get the element type.
+ * @return The type.
+ */
+ public Type getElementType() {
+ return new Type(Object.class);
+ }
+
+ /**
+ * Get a unique id for this implementation.
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /**
+ * Return all implemented types of this class.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/basichelper/Filter.java b/qadevOOo/runner/basicrunner/basichelper/Filter.java
new file mode 100644
index 000000000000..d9616d30e5b2
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/basichelper/Filter.java
@@ -0,0 +1,269 @@
+/*************************************************************************
+ *
+ * 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 basicrunner.basichelper;
+
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.document.XFilter;
+import com.sun.star.beans.PropertyValue;
+
+
+/**
+ * Provides an implementation of XFilter.
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XSingleServiceFactory
+ */
+public class Filter implements XServiceInfo, XSingleServiceFactory {
+ /** The service name of this class **/
+ static final String __serviceName = "basichelper.Filter";
+ /** The actual filter **/
+ static FilterImpl oFilter = null;
+
+ /**
+ * Construct a new filter
+ */
+ public Filter() {
+ oFilter = new FilterImpl();
+ }
+
+ /**
+ * Returns an instance of the filter.
+ * Arguments are not supported here and will be ignored.
+ * @param args The arguments.
+ * @return The filter.
+ */
+ public Object createInstanceWithArguments(Object[] args) {
+ return oFilter;
+ }
+
+ /**
+ * Returns an instance of the filter.
+ * @return The filter.
+ */
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ /**
+ * Get a unique id for this implementation.
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /**
+ * Return all implemented types of this class.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+
+ return types;
+ }
+
+ /** Is this servioce supported?
+ * @param name The service name.
+ * @return True, if the service is supported.
+ */
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ /**
+ * Get all supported service names.
+ * @return All supported servcices.
+ */
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ /**
+ * Get the implementation name of this class.
+ * @return The implementation name.
+ */
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+}
+
+/**
+ * The actual filter implementation
+ * @see com.sun.star.lang.XInitialization;
+ * @see com.sun.star.lang.XTypeProvider;
+ * @see com.sun.star.container.XNameAccess;
+ */
+class FilterImpl implements XInitialization, XTypeProvider, XNameAccess {
+ /** A state **/
+ static String aState;
+ /** A result **/
+ static boolean bResult;
+
+ /**
+ * Constructs a new filter.
+ */
+ public FilterImpl() {
+ aState = "just created";
+ bResult = false;
+ }
+
+ /**
+ * Get the element names
+ * @return All element names.
+ */
+ public String[] getElementNames() {
+ return new String[]{"State", "Result"};
+ }
+
+ /**
+ * Does this element exist?
+ * @param name The element name.
+ * @return True, if the name exists.
+ */
+ public boolean hasByName(String name) {
+ return (name.equals("State") || name.equals("Result"));
+ }
+
+ /**
+ * Get an element by its name.
+ * @param name The name of the element.
+ * @return The value of the element.
+ * @throws NoSuchElementException The element does not exist.
+ */
+ public Object getByName(String name) throws NoSuchElementException{
+ if (name.equals("State"))
+ return aState;
+ else if (name.equals("Result"))
+ return new Boolean(bResult);
+ else
+ throw new NoSuchElementException();
+ }
+
+ /**
+ * Are there elements
+ * @return Always true.
+ */
+ public boolean hasElements() {
+ return true;
+ }
+
+ /**
+ * Get element type.
+ * @return null.
+ */
+ public Type getElementType() {
+ return null;
+ }
+
+ /**
+ * Get a unique id for this implementation.
+ * @return The id.
+ */
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ /**
+ * Return all implemented types of this class.
+ * @return The implemented UNO types.
+ */
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+
+ return types;
+ }
+
+
+ /**
+ * Method initialize() creates a new thread that will try to start
+ * filtering
+ * @param parm1 An instance of XFilter
+ * @see com.sun.star.document.XFilter
+ * @throws Exception Is thrown, when initialize fails.
+ */
+ public void initialize(Object[] parm1) throws com.sun.star.uno.Exception {
+ XFilter oFilter = (XFilter)UnoRuntime.queryInterface(
+ XFilter.class, parm1[0]);
+//? PropertyValue[] FilterDesc = (PropertyValue[])AnyConverter.toArray(parm1[1]);
+ PropertyValue[] FilterDesc = (PropertyValue[])UnoRuntime.queryInterface(PropertyValue[].class, parm1[1]);
+ aState = "just initialized";
+ FilterThread aThread = new FilterThread(oFilter, FilterDesc);
+ aThread.start();
+ }
+}
+
+/**
+ * A thread for filtering.
+ */
+class FilterThread extends Thread {
+ /** The filter that is used **/
+ XFilter oFilter = null;
+ /** Filter descriptions **/
+ PropertyValue[] FilterDesc = null;
+
+ /**
+ * Construct the thread.
+ * @param oObj The filter.
+ * @param Desc The descriptions.
+ */
+ public FilterThread(XFilter oObj, PropertyValue[] Desc){
+ oFilter = oObj;
+ FilterDesc = Desc;
+ }
+
+ /**
+ * Let the thread run
+ */
+ public void run(){
+ boolean bOK;
+ try {
+ FilterImpl.aState = "before filtering";
+ bOK = oFilter.filter(FilterDesc);
+ FilterImpl.aState = "filtering finished";
+ FilterImpl.bResult = bOK;
+ } catch (Exception e) {
+ ConnectorImpl.aState = "error";
+ throw new RuntimeException("Can't filtering exception"
+ + e.toString());
+ }
+ }
+}
diff --git a/qadevOOo/runner/basicrunner/basichelper/ThreadRunner.java b/qadevOOo/runner/basicrunner/basichelper/ThreadRunner.java
new file mode 100644
index 000000000000..ec8957e01a6f
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/basichelper/ThreadRunner.java
@@ -0,0 +1,254 @@
+/*************************************************************************
+ *
+ * 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 basicrunner.basichelper;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.util.XURLTransformer;
+import com.sun.star.frame.XController;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.lang.XMultiServiceFactory;
+import util.utils;
+import com.sun.star.lang.XComponent;
+import lib.StatusException;
+import lib.Status;
+import util.SOfficeFactory;
+import com.sun.star.ui.dialogs.XExecutableDialog;
+
+
+public class ThreadRunner implements XServiceInfo, XSingleServiceFactory {
+ static final String __serviceName = "basichelper.ThreadRunner";
+ static ThreadRunnerImpl oThreadRunner = null;
+
+ public ThreadRunner(XMultiServiceFactory xMSF) {
+ oThreadRunner = new ThreadRunnerImpl(xMSF);
+ }
+
+ public Object createInstanceWithArguments(Object[] args) {
+ return oThreadRunner;
+ }
+
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+}
+
+
+class ThreadRunnerImpl implements XInitialization, XTypeProvider {
+ Object oDoc = null;
+ String actionType = null;
+ String actionParm = null;
+ XMultiServiceFactory oMSF = null;
+
+ public ThreadRunnerImpl(XMultiServiceFactory MSF) {
+ oMSF = MSF;
+ }
+
+ public void initialize(Object[] params) throws com.sun.star.uno.Exception {
+ boolean parmsOK = false;
+
+ if (!(params[0] instanceof String)) {
+ throw new StatusException(Status.failed(
+ "Wrong first parameter for ThreadRunner, allowed values:" +
+ "'OpenToolkitDialog', 'OpenDialogFromFile', 'ExecuteDialog'"));
+ }
+
+ actionType = (String) params[0];
+
+ if (actionType.equals("OpenToolkitDialog")) {
+ if (params.length != 3 || !(params[2] instanceof Object) ||
+ !(params[1] instanceof String) ) {
+ throw new StatusException(Status.failed("Expected the " +
+ "following type of parameters for 'OpenToolkitDialog': " +
+ "String, Object"));
+ }
+ actionParm = (String)params[1];
+ oDoc = (Object)params[2];
+ ToolkitDialogThread aThread =
+ new ToolkitDialogThread(oMSF, oDoc, actionParm);
+ aThread.start();
+ } else if (actionType.equals("OpenDialogFromFile")) {
+ if (params.length != 2 || !(params[1] instanceof String) ) {
+ throw new StatusException(Status.failed("Expected the " +
+ "following type of parameters for 'OpenDialogFromFile': " +
+ "String"));
+ }
+ actionParm = (String)params[1];
+ DialogFromFileThread bThread =
+ new DialogFromFileThread(oMSF, actionParm);
+ bThread.start();
+ } else if ( actionType.equals("ExecuteDialog")) {
+ if (params.length != 2 || !(params[1] instanceof String)) {
+ throw new StatusException(Status.failed("Expected the " +
+ "following type of parameters for 'ExecuteDialog': " +
+ "String"));
+ }
+ ExecuteDialogThread cThread =
+ new ExecuteDialogThread(oMSF, (String)params[1]);
+ cThread.start();
+ } else {
+ System.out.println("Error! ThreadRunnerImpl.initialize(): " +
+ "Incorrect parameters!");
+ }
+ }
+
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+}
+
+
+class ToolkitDialogThread extends Thread {
+ Object oDoc = null;
+ String url = null;
+ XMultiServiceFactory msf = null;
+
+ public ToolkitDialogThread(XMultiServiceFactory xMSF, Object doc, String sUrl) {
+ oDoc = doc;
+ url = sUrl;
+ msf = xMSF;
+ }
+
+ public void run() {
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class, oDoc);
+ XController xController = aModel.getCurrentController();
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface( XDispatchProvider.class, xController );
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ msf.createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = url;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("Couldn't open dialog!!!");
+ throw new StatusException( "Couldn't open dialog!!!", e );
+ }
+ }
+}
+
+
+class DialogFromFileThread extends Thread {
+ String url = null;
+ SOfficeFactory SOF = null;
+ XMultiServiceFactory myMSF = null;
+
+ public DialogFromFileThread(XMultiServiceFactory xMSF, String sUrl) {
+ url = sUrl;
+ SOF = SOfficeFactory.getFactory(xMSF);
+ myMSF = xMSF;
+ }
+
+ public void run() {
+ try {
+ PropertyValue[] args = new PropertyValue[1];
+ args[0] = new PropertyValue();
+ args[0].Name = "InteractionHandler";
+ args[0].Value = myMSF.createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler");
+
+ String testUrl= utils.getFullTestURL(url);
+ System.out.println("loading "+testUrl);
+ XComponent xDoc = SOF.loadDocument(testUrl, args);
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("Couldn't create document!!!");
+ throw new StatusException( "Couldn't create document!!!", e );
+ }
+ }
+
+}
+
+class ExecuteDialogThread extends Thread {
+ XMultiServiceFactory xMSF = null;
+ String serviceName = null;
+
+ public ExecuteDialogThread(XMultiServiceFactory xMSF, String serviceName) {
+ this.xMSF = xMSF;
+ this.serviceName = serviceName;
+ }
+
+ public void run() {
+ Object dlg = null;
+ try {
+ dlg = xMSF.createInstance(serviceName);
+ } catch(com.sun.star.uno.Exception e) {
+ throw new StatusException(Status.failed("Couldn't create service"));
+ }
+ XExecutableDialog execDlg = (XExecutableDialog)UnoRuntime.queryInterface
+ (XExecutableDialog.class, dlg);
+ execDlg.execute();
+ }
+}
+
+
diff --git a/qadevOOo/runner/basicrunner/basichelper/makefile.mk b/qadevOOo/runner/basicrunner/basichelper/makefile.mk
new file mode 100644
index 000000000000..cc45b0014fb9
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/basichelper/makefile.mk
@@ -0,0 +1,47 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = basicrunner$/basichelper
+TARGET = runner_basichelper
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+JAVAFILES = AttributeList.java DocumentHandler.java Filter.java \
+ Connector.java DispatchProviderInterceptor.java \
+ ThreadRunner.java
+JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/basicrunner/makefile.mk b/qadevOOo/runner/basicrunner/makefile.mk
new file mode 100644
index 000000000000..54874a77ef48
--- /dev/null
+++ b/qadevOOo/runner/basicrunner/makefile.mk
@@ -0,0 +1,46 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = basicrunner
+TARGET = runner_basicrunner
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+JAVAFILES = BasicException.java BasicIfcTest.java BasicHandler.java BasicTestCase.java BasicHandlerProvider.java
+JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+#SUBDIRS = basichelper
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/complexlib/Assurance.java b/qadevOOo/runner/complexlib/Assurance.java
new file mode 100644
index 000000000000..665980d792ab
--- /dev/null
+++ b/qadevOOo/runner/complexlib/Assurance.java
@@ -0,0 +1,407 @@
+/*
+ * ************************************************************************
+ *
+ * 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 complexlib;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ *
+ * @author ll93751
+ *
+ * I have removed the assure(...) functions from ComplexTestCase due to the fact now I can
+ * use the functions every where and don't need to be a ComplexTestCase any longer.
+ */
+public class Assurance
+{
+ public static final boolean CONTINUE = true;
+
+ /** State of the current test method **/
+ protected boolean state = true;
+
+ /** The message if the test did fail **/
+ protected String message = null;
+
+
+ /**
+ * Assure that s is true.
+ * This function generates "Assure failed." as standard message.
+ * @param s The condition that should be true.
+ */
+ protected void assure(boolean s) {
+ assure("Assure failed.", s, false);
+ }
+
+ /**
+ * Assure that s is true.
+ * The given message will be only evaluated, if s is false.
+ * @param msg The message that is evaluated.
+ * @param s The condition that should be true.
+ */
+ protected void assure(String msg, boolean s) {
+ assure(msg, s, false);
+ }
+
+ /**
+ * Assure that two boolean values are equal
+ * @param expected specifies the expected boolean value
+ * @param actual specifies the actual boolean value
+ */
+ protected void assureEquals( boolean expected, boolean actual ) {
+ assureEquals( "Equality test failed", new Boolean( expected ), new Boolean( actual ), false );
+ }
+
+ /**
+ * Assure that two boolean values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected boolean value
+ * @param actual specifies the actual boolean value
+ */
+ protected void assureEquals( String message, boolean expected, boolean actual ) {
+ assureEquals( message, new Boolean( expected ), new Boolean( actual ), false );
+ }
+
+ /**
+ * Assure that two byte values are equal
+ * @param expected specifies the expected byte value
+ * @param actual specifies the actual byte value
+ */
+ protected void assureEquals( byte expected, byte actual ) {
+ assureEquals( "Equality test failed", new Byte( expected ), new Byte( actual ), false );
+ }
+
+ /**
+ * Assure that two byte values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected byte value
+ * @param actual specifies the actual byte value
+ */
+ protected void assureEquals( String message, byte expected, byte actual ) {
+ assureEquals( message, new Byte( expected ), new Byte( actual ), false );
+ }
+
+ /**
+ * Assure that two double values are equal
+ * @param expected specifies the expected double value
+ * @param actual specifies the actual double value
+ */
+ protected void assureEquals( double expected, double actual ) {
+ assureEquals( "Equality test failed", new Double( expected ), new Double( actual ), false );
+ }
+
+ /**
+ * Assure that two double values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected double value
+ * @param actual specifies the actual double value
+ */
+ protected void assureEquals( String message, double expected, double actual ) {
+ assureEquals( message, new Double( expected ), new Double( actual ), false );
+ }
+
+ /**
+ * Assure that two float values are equal
+ * @param expected specifies the expected float value
+ * @param actual specifies the actual float value
+ */
+ protected void assureEquals( float expected, float actual ) {
+ assureEquals( "Equality test failed", new Float( expected ), new Float( actual ), false );
+ }
+
+ /**
+ * Assure that two float values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected float value
+ * @param actual specifies the actual float value
+ */
+ protected void assureEquals( String message, float expected, float actual ) {
+ assureEquals( message, new Float( expected ), new Float( actual ), false );
+ }
+
+ /**
+ * Assure that two short values are equal
+ * @param expected specifies the expected short value
+ * @param actual specifies the actual short value
+ */
+ protected void assureEquals( short expected, short actual ) {
+ assureEquals( "Equality test failed", new Short( expected ), new Short( actual ), false );
+ }
+
+ /**
+ * Assure that two short values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected short value
+ * @param actual specifies the actual short value
+ */
+ protected void assureEquals( String message, short expected, short actual ) {
+ assureEquals( message, new Short( expected ), new Short( actual ), false );
+ }
+
+ /**
+ * Assure that two int values are equal
+ * @param expected specifies the expected int value
+ * @param actual specifies the actual int value
+ */
+ protected void assureEquals( int expected, int actual ) {
+ assureEquals( "Equality test failed", new Integer( expected ), new Integer( actual ), false );
+ }
+
+ /**
+ * Assure that two int values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected int value
+ * @param actual specifies the actual int value
+ */
+ protected void assureEquals( String message, int expected, int actual ) {
+ assureEquals( message, new Integer( expected ), new Integer( actual ), false );
+ }
+
+ /**
+ * Assure that two long values are equal
+ * @param expected specifies the expected long value
+ * @param actual specifies the actual long value
+ */
+ protected void assureEquals( long expected, long actual ) {
+ assureEquals( "Equality test failed", new Long( expected ), new Long( actual ), false );
+ }
+
+ /**
+ * Assure that two long values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected long value
+ * @param actual specifies the actual long value
+ */
+ protected void assureEquals( String message, long expected, long actual ) {
+ assureEquals( message, new Long( expected ), new Long( actual ), false );
+ }
+
+ /**
+ * Assure that two string values are equal
+ * @param expected specifies the expected string value
+ * @param actual specifies the actual string value
+ */
+ protected void assureEquals( String expected, String actual ) {
+ assureEquals( "Equality test failed", expected, actual, false );
+ }
+
+ /**
+ * Assure that two string values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected string value
+ * @param actual specifies the actual string value
+ */
+ protected void assureEquals( String message, String expected, String actual ) {
+ assureEquals( message, expected, actual, false );
+ }
+
+ /**
+ * Assure that two object are equal
+ * @param expected specifies the expected object value
+ * @param actual specifies the actual object value
+ */
+ protected void assureEquals( Object expected, Object actual ) {
+ assureEquals( "Equality test failed", expected, actual, false );
+ }
+
+ /**
+ * Assure that two objects are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected object value
+ * @param actual specifies the actual object value
+ */
+ protected void assureEquals( String message, Object expected, Object actual ) {
+ assureEquals( message, expected, actual, false );
+ }
+
+ /** invokes a given method on a given object, and assures a certain exception is caught
+ * @param _message is the message to print when the check fails
+ * @param _object is the object to invoke the method on
+ * @param _methodName is the name of the method to invoke
+ * @param _methodArgs are the arguments to pass to the method.
+ * @param _argClasses are the classes to assume for the arguments of the methods
+ * @param _expectedExceptionClass is the class of the exception to be caught. If this is null,
+ * it means that <em>no</em> exception must be throw by invoking the method.
+ */
+ protected void assureException( final String _message, final Object _object, final String _methodName,
+ final Class[] _argClasses, final Object[] _methodArgs, final Class _expectedExceptionClass )
+ {
+ Class objectClass = _object.getClass();
+
+ boolean noExceptionAllowed = ( _expectedExceptionClass == null );
+
+ boolean caughtExpected = noExceptionAllowed ? true : false;
+ try
+ {
+ Method method = objectClass.getMethod( _methodName, _argClasses );
+ method.invoke(_object, _methodArgs );
+ }
+ catch ( InvocationTargetException e )
+ {
+ caughtExpected = noExceptionAllowed
+ ? false
+ : ( e.getTargetException().getClass().equals( _expectedExceptionClass ) );
+ }
+ catch( Exception e )
+ {
+ caughtExpected = false;
+ }
+
+ assure( _message, caughtExpected );
+ }
+
+ /** invokes a given method on a given object, and assures a certain exception is caught
+ * @param _message is the message to print when the check fails
+ * @param _object is the object to invoke the method on
+ * @param _methodName is the name of the method to invoke
+ * @param _methodArgs are the arguments to pass to the method. Those implicitly define
+ * the classes of the arguments of the method which is called.
+ * @param _expectedExceptionClass is the class of the exception to be caught. If this is null,
+ * it means that <em>no</em> exception must be throw by invoking the method.
+ */
+ protected void assureException( final String _message, final Object _object, final String _methodName,
+ final Object[] _methodArgs, final Class _expectedExceptionClass )
+ {
+ Class[] argClasses = new Class[ _methodArgs.length ];
+ for ( int i=0; i<_methodArgs.length; ++i )
+ argClasses[i] = _methodArgs[i].getClass();
+ assureException( _message, _object, _methodName, argClasses, _methodArgs, _expectedExceptionClass );
+ }
+
+ /** invokes a given method on a given object, and assures a certain exception is caught
+ * @param _object is the object to invoke the method on
+ * @param _methodName is the name of the method to invoke
+ * @param _methodArgs are the arguments to pass to the method. Those implicitly define
+ * the classes of the arguments of the method which is called.
+ * @param _expectedExceptionClass is the class of the exception to be caught. If this is null,
+ * it means that <em>no</em> exception must be throw by invoking the method.
+ */
+ protected void assureException( final Object _object, final String _methodName, final Object[] _methodArgs,
+ final Class _expectedExceptionClass )
+ {
+ assureException(
+ "did not catch the expected exception (" +
+ ( ( _expectedExceptionClass == null ) ? "none" : _expectedExceptionClass.getName() ) +
+ ") while calling " + _object.getClass().getName() + "." + _methodName,
+ _object, _methodName, _methodArgs, _expectedExceptionClass );
+ }
+
+ /** invokes a given method on a given object, and assures a certain exception is caught
+ * @param _object is the object to invoke the method on
+ * @param _methodName is the name of the method to invoke
+ * @param _methodArgs are the arguments to pass to the method
+ * @param _argClasses are the classes to assume for the arguments of the methods
+ * @param _expectedExceptionClass is the class of the exception to be caught. If this is null,
+ * it means that <em>no</em> exception must be throw by invoking the method.
+ */
+ protected void assureException( final Object _object, final String _methodName, final Class[] _argClasses,
+ final Object[] _methodArgs, final Class _expectedExceptionClass )
+ {
+ assureException(
+ "did not catch the expected exception (" +
+ ( ( _expectedExceptionClass == null ) ? "none" : _expectedExceptionClass.getName() ) +
+ ") while calling " + _object.getClass().getName() + "." + _methodName,
+ _object, _methodName, _argClasses, _methodArgs, _expectedExceptionClass );
+ }
+
+ /**
+ * Mark the currently executed method as failed.
+ * This function generates "Test did fail." as standard message.
+ */
+ protected void failed() {
+ assure("Test did fail.", false, false);
+ }
+
+ /**
+ * Mark the currently executed method as failed.
+ * with the given message.
+ * @param msg The message of the failure.
+ */
+ protected void failed(String msg) {
+ assure(msg, false, false);
+ }
+
+ /**
+ * Assure that s is true.
+ * The given message will be only evaluated, if s is false.
+ * Normally, assure() leaves the current test method, and the next one
+ * is executed. With the parameter 'cont' set to true, the current test
+ * method will continue.<br>
+ * The current method will of course marked as failed.
+ * @param msg The message that is evaluated.
+ * @param s The condition that should be true.
+ * @param cont Continue with test method, even if s is false.
+ */
+ protected void assure(String msg, boolean s, boolean cont) {
+ state &= s;
+ if (!s) {
+ message += msg + "\r\n";
+ // log.println(msg);
+ if (!cont) {
+ throw new AssureException(msg);
+ }
+ }
+ }
+
+ protected void assureEquals( String message, Object expected, Object actual, boolean cont ) {
+ assure( message + " (expected: " + expected.toString() + ", actual: " + actual.toString() + ")",
+ expected.equals( actual ), cont );
+ }
+
+ /**
+ * Mark the currently executed method as failed.
+ * with the given message.
+ * The given message will be only evaluated, if s is false.
+ * With the parameter 'cont' set to true, the current test
+ * method will continue.<br>
+ * The current method will of course marked as failed.
+ * @param msg The message that is evaluated.
+ * @param cont Continue with test method, even if s is false.
+ */
+ protected void failed(String msg, boolean cont) {
+ assure(msg, false, cont);
+ }
+
+ /**
+ * @deprecated
+ */
+// protected void addResult(String message, boolean state) {
+// String msg = message + " - " + state;
+// this.state &= state;
+// this.message += msg + "\r\n";
+// log.println(msg);
+// }
+
+ public class AssureException extends RuntimeException {
+
+ public AssureException(String msg) {
+ super(msg);
+ }
+ }
+}
diff --git a/qadevOOo/runner/complexlib/ComplexTestCase.java b/qadevOOo/runner/complexlib/ComplexTestCase.java
new file mode 100644
index 000000000000..b15224bc503f
--- /dev/null
+++ b/qadevOOo/runner/complexlib/ComplexTestCase.java
@@ -0,0 +1,315 @@
+/*************************************************************************
+ *
+ * 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 complexlib;
+
+import java.lang.reflect.Method;
+import share.DescEntry;
+import lib.TestParameters;
+import lib.StatusException;
+import share.LogWriter;
+import share.ComplexTest;
+import java.io.PrintWriter;
+
+/**
+ * Base class for all complex tests.
+ */
+public abstract class ComplexTestCase extends Assurance implements ComplexTest
+{
+
+ /** The test parameters **/
+ protected static TestParameters param = null;
+ /** Log writer **/
+ protected static LogWriter log = null;
+ /**
+ * The method name which will be written into f.e. the data base
+ **/
+ protected String mTestMethodName = null;
+ /** Maximal time one method is allowed to execute
+ * Can be set with parameter 'ThreadTimeOut'
+ **/
+ protected int m_nThreadTimeOut = 0;
+ /** Continue a test even if it did fail **/
+ // public static final boolean CONTINUE = true;
+
+ /** End a test if it did fail **/
+ public static final boolean BREAK = true;
+
+ private boolean m_bBeforeCalled;
+
+ /**
+ * is called before the real test starts
+ */
+ private void before()
+ {
+ try
+ {
+ Method before = this.getClass().getMethod("before", new Class[] {} );
+ before.invoke(this, new Object[] {} );
+
+ // beforeWorked = false;
+ m_bBeforeCalled = true;
+ }
+ catch (java.lang.NoSuchMethodException e)
+ {
+ // simply ignore
+ int dummy = 0;
+ m_bBeforeCalled = true;
+ }
+ catch (java.lang.IllegalAccessException e)
+ {
+ log.println("Cannot access the 'before()' method, although it" + " is there. Is this ok?");
+ }
+ catch (java.lang.reflect.InvocationTargetException e)
+ {
+ Throwable t = e.getTargetException();
+ if (!(t instanceof RuntimeException) || state)
+ {
+ log.println(t.toString());
+ if (message == null)
+ {
+ message = "Exception in before() method.\n\r" + t.getMessage();
+ }
+ state = false;
+ t.printStackTrace((PrintWriter) log);
+ }
+ }
+
+ }
+
+ /** Description entry **/
+ // protected DescEntry subEntry = null;
+
+ private void test_method(DescEntry _entry)
+ {
+
+ m_nThreadTimeOut = param.getInt("ThreadTimeOut");
+ if (m_nThreadTimeOut == 0)
+ {
+ m_nThreadTimeOut = 300000;
+ }
+
+ for (int i = 0; i < _entry.SubEntries.length; i++)
+ {
+
+ DescEntry subEntry = _entry.SubEntries[i];
+ if (m_bBeforeCalled)
+ {
+ state = true;
+ message = "";
+ }
+ else
+ {
+ // set all test methods on failed, if 'before()' did not work.
+ subEntry.State = message;
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = message;
+ continue;
+ }
+ Method testMethod = null;
+ try
+ {
+ String entryName = subEntry.entryName;
+ Object[] parameter = null;
+
+ if (entryName.indexOf("(") != -1)
+ {
+ String sParameter = (entryName.substring(entryName.indexOf("(") + 1, entryName.indexOf(")")));
+ mTestMethodName = entryName;
+ parameter = new String[] { sParameter };
+ entryName = entryName.substring(0, entryName.indexOf("("));
+ testMethod = this.getClass().getMethod(entryName, new Class[] { String.class });
+ }
+ else
+ {
+ testMethod = this.getClass().getMethod(entryName, new Class[] {} );
+ mTestMethodName = entryName;
+ }
+
+ MethodThread th = new MethodThread(testMethod, this, parameter, (java.io.PrintWriter) log);
+ log.println("Starting " + mTestMethodName);
+ th.start();
+
+ try
+ {
+ // some tests are very dynamic in its exceution time so that
+ // a threadTimeOut fials. In this cases the logging mechanisim
+ // is a usefull way to detect that a office respective a test
+ // is running and not death.
+ // But way ThreadTimeOut?
+ // There exeitsts a complex test which uses no office. Therefore
+ // a logging mechanisim to detect a stalled test.
+ int lastPing = -1;
+ int newPing = 0;
+
+ int sleepingStep = 1000;
+ int factor = 0;
+
+ while (th.isAlive() && (lastPing != newPing || factor * sleepingStep < m_nThreadTimeOut))
+ {
+ Thread.sleep(sleepingStep);
+ factor++;
+ // if a test starts the office itself it the watcher is a
+ // new one.
+ share.Watcher ow = (share.Watcher) param.get("Watcher");
+ if (ow != null)
+ {
+ lastPing = newPing;
+ newPing = ow.getPing();
+ //System.out.println("lastPing: '" + lastPing + "' newPing '" + newPing + "'");
+ factor = 0;
+ }
+ }
+ }
+ catch (InterruptedException e)
+ {
+ }
+ if (th.isAlive())
+ {
+ log.println("Destroy " + mTestMethodName);
+ th.destroy();
+ subEntry.State = "Test did sleep for " + (m_nThreadTimeOut / 1000) + " seconds and has been killed!";
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = subEntry.State;
+ continue;
+ }
+ else
+ {
+ log.println("Finished " + mTestMethodName);
+ if (th.hasErrorMessage())
+ {
+ subEntry.State = th.getErrorMessage();
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = subEntry.State;
+ continue;
+ }
+ }
+ }
+ catch (java.lang.Exception e)
+ {
+ log.println(e.getClass().getName());
+ String msg = e.getMessage();
+ log.println("Message: " + msg);
+ e.printStackTrace((PrintWriter) log);
+ subEntry.State = "SKIPPED.FAILED";
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = (msg == null ? "" : msg);
+ continue;
+ }
+ subEntry.State = (state ? "PASSED.OK" : message);
+ subEntry.hasErrorMsg = !state;
+ subEntry.ErrorMsg = message;
+ }
+ }
+
+ /**
+ * after() is called after the test is done
+ */
+ private void after()
+ {
+ if (m_bBeforeCalled)
+ {
+ // the after() method
+ try
+ {
+ Method after = this.getClass().getMethod("after", new Class[] {});
+ after.invoke(this, new Object[] {} );
+ }
+ catch (java.lang.NoSuchMethodException e)
+ {
+ // simply ignore
+ }
+ catch (java.lang.IllegalAccessException e)
+ {
+ // simply ignore
+ }
+ catch (java.lang.reflect.InvocationTargetException e)
+ {
+ Throwable t = e.getTargetException();
+ if (!(t instanceof StatusException))
+ {
+ log.println(t.toString());
+ if (message == null)
+ {
+ message = "Exception in after() method.\n\r" + t.getMessage();
+ }
+ else
+ {
+ message += "Exception in \'after()\' method.\n\r" + t.getMessage();
+ }
+ log.println("Message: " + message);
+ t.printStackTrace((PrintWriter) log);
+ }
+ }
+ }
+
+ }
+
+
+
+ /**
+ * Call test. It is expected, that an environment is
+ * given to this test.
+ *
+ * @param entry The name of the test method that should be called.
+ * @param environment The environment for the test.
+ */
+ public void executeMethods(DescEntry entry, TestParameters environment)
+ {
+ m_bBeforeCalled = false;
+
+ // get the environment
+ param = environment;
+ log = entry.Logger;
+
+
+ // start with the before() method
+ before();
+
+ //executeMethodTests
+ test_method(entry);
+
+ // cleanup
+ after();
+ }
+
+
+ /**
+ * Implement this method in the Complex test.
+ * @return All test method names.
+ */
+ public abstract String[] getTestMethodNames();
+
+ /**
+ * Return a name for the test or tested object.
+ * Override to give an own name.
+ * @return As default, the name of this class.
+ */
+ public String getTestObjectName()
+ {
+ return this.getClass().getName();
+ }
+}
diff --git a/qadevOOo/runner/complexlib/MethodThread.java b/qadevOOo/runner/complexlib/MethodThread.java
new file mode 100644
index 000000000000..e068323fd41e
--- /dev/null
+++ b/qadevOOo/runner/complexlib/MethodThread.java
@@ -0,0 +1,112 @@
+package complexlib;
+
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+
+/**
+ * Invoke a method of a class in an own thread. Provide a method to end
+ * the thread.
+ */
+public class MethodThread extends Thread
+{
+
+ /** The method that should be executed **/
+ private Method mTestMethod = null;
+ /** The object that implements the method **/
+ private Object mInvokeClass = null;
+ /** A PrintWriter for debug Output **/
+ private PrintWriter mLog = null;
+ /** An Error String **/
+ private String mErrMessage = null;
+ /** Did an Exception happen? **/
+ private boolean mExceptionHappened = false;
+ private Object[] mParameter = null;
+
+ /**
+ * Constructor.
+ * @param testMethod The method that will be invoked.
+ * @param invokeClass The class where the method is invoked.
+ * @param log The logging mechanism.
+ */
+ public MethodThread(Method testMethod, Object invokeClass, PrintWriter log)
+ {
+ mTestMethod = testMethod;
+ mInvokeClass = invokeClass;
+ mLog = log;
+ }
+
+ public MethodThread(Method testMethod, Object invokeClass, Object[] parameter, PrintWriter log)
+ {
+ mTestMethod = testMethod;
+ mInvokeClass = invokeClass;
+ mParameter = parameter;
+ mLog = log;
+ }
+
+ /**
+ * Invoke the method.
+ */
+ public void run()
+ {
+ try
+ {
+ mTestMethod.invoke(mInvokeClass, mParameter);
+ }
+ catch (IllegalAccessException e)
+ {
+ e.printStackTrace(mLog);
+ mErrMessage = e.getMessage();
+ mExceptionHappened = true;
+ }
+ catch (java.lang.reflect.InvocationTargetException e)
+ {
+ Throwable t = e.getTargetException();
+ if (!(t instanceof ComplexTestCase.AssureException))
+ {
+ t.printStackTrace(mLog);
+ mErrMessage = t.getMessage();
+ if (mErrMessage == null)
+ {
+ mErrMessage = t.toString();
+ }
+ mExceptionHappened = true;
+ }
+
+ }
+ }
+
+ /**
+ * Get the error message
+ * @return The error message.
+ */
+ public String getErrorMessage()
+ {
+ return mErrMessage;
+ }
+
+ /**
+ * Is there an error message?
+ * @return True, if an error did happen.
+ */
+ public boolean hasErrorMessage()
+ {
+ return mExceptionHappened;
+ }
+
+ /**
+ * Stop the running method.
+ */
+ public void destroy()
+ {
+ try
+ {
+ interrupt();
+ }
+ catch (SecurityException e)
+ {
+ e.printStackTrace(mLog);
+ mErrMessage = e.getMessage();
+ mExceptionHappened = true;
+ }
+ }
+}
diff --git a/qadevOOo/runner/complexlib/ShowTargets.java b/qadevOOo/runner/complexlib/ShowTargets.java
new file mode 100644
index 000000000000..6f46a389d14b
--- /dev/null
+++ b/qadevOOo/runner/complexlib/ShowTargets.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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 complexlib;
+
+/**
+ *
+ * @author fs93730
+ */
+public class ShowTargets
+{
+ /** Creates a new instance of ShowTargets */
+ public ShowTargets()
+ {
+ }
+
+ public static void main( String[] args )
+ {
+ java.util.Vector targets = new java.util.Vector();
+ java.util.Vector descs = new java.util.Vector();
+
+ targets.add( "run" );
+ descs.add( "runs all complex tests in this module" );
+
+ int maxTargetLength = 3;
+
+ for ( int i = 0; i < args.length; ++i )
+ {
+ String completePotentialClassName = args[i].replace( '/', '.' );
+
+ // filter
+ if ( completePotentialClassName.endsWith( ".TestCase" ) )
+ continue;
+ if ( completePotentialClassName.endsWith( ".TestSkeleton" ) )
+ continue;
+
+ // get the class
+ Class potentialTestClass = null;
+ try { potentialTestClass = Class.forName( completePotentialClassName ); }
+ catch( java.lang.ClassNotFoundException e )
+ {
+ continue;
+ }
+
+ // see if it is derived from complexlib.ComplexTestCase
+ Class superClass = potentialTestClass.getSuperclass();
+ while ( superClass != null )
+ {
+ if ( superClass.getName().equals( "complexlib.ComplexTestCase" ) )
+ {
+ String bareClassName = completePotentialClassName.substring( completePotentialClassName.lastIndexOf( '.' ) + 1 );
+ String target = "run_" + bareClassName;
+ targets.add( target );
+ descs.add( getShortTestDescription( potentialTestClass ) );
+
+ if ( maxTargetLength < target.length() )
+ maxTargetLength = target.length();
+ break;
+ }
+ superClass = superClass.getSuperclass();
+ }
+ }
+
+ System.out.println( "possible targets:" );
+ for ( int i=0; i<targets.size(); ++i )
+ {
+ // target
+ String target = (String)targets.get(i);
+ // 'tab'
+ System.out.print( " " + target );
+ for ( int s = maxTargetLength - target.length(); s>0; --s )
+ System.out.print( " " );
+ // description
+ System.out.println( " (" + (String)descs.get(i) + ")" );
+ }
+ }
+
+ /** determines if the test denoted by a given Class is an interactive test
+ */
+ static private boolean isInteractiveTest( Class testClass )
+ {
+ java.lang.reflect.Method interactiveTestMethod = null;
+ try { interactiveTestMethod = testClass.getMethod( "isInteractiveTest", new Class[]{} ); }
+ catch( Exception e ) { }
+
+ if ( interactiveTestMethod != null )
+ {
+ try
+ {
+ Boolean result = (Boolean)interactiveTestMethod.invoke( null, new Object[]{} );
+ return result.booleanValue();
+ }
+ catch( Exception e ) { }
+ }
+ return false;
+ }
+
+ static private String getShortTestDescription( Class _testClass )
+ {
+ java.lang.reflect.Method getShortDescriptionMethod = null;
+ try { getShortDescriptionMethod = _testClass.getMethod( "getShortTestDescription", new Class[]{} ); }
+ catch( Exception e ) { }
+
+ if ( getShortDescriptionMethod != null )
+ {
+ try
+ {
+ return (String)getShortDescriptionMethod.invoke( null, new Object[]{} );
+ }
+ catch( Exception e ) { }
+ }
+ return "no description provided by the test";
+ }
+}
diff --git a/qadevOOo/runner/complexlib/makefile.mk b/qadevOOo/runner/complexlib/makefile.mk
new file mode 100644
index 000000000000..7af514193c12
--- /dev/null
+++ b/qadevOOo/runner/complexlib/makefile.mk
@@ -0,0 +1,49 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = complexlib
+TARGET = runner_complexlib
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+
+JAVAFILES = ComplexTestCase.java MethodThread.java ShowTargets.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/convwatch/Basename.java b/qadevOOo/runner/convwatch/Basename.java
new file mode 100644
index 000000000000..05381e841eed
--- /dev/null
+++ b/qadevOOo/runner/convwatch/Basename.java
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+// -----------------------------------------------------------------------------
+// Helper stuff to
+// abstract class Name
+// {
+// abstract public String getName();
+// }
+// class PRN extends Name
+// {
+// public String getName() {return "-ref";}
+// }
+// class PS extends Name
+// {
+// public String getName() {return "-test";}
+// }
+//
+// public class Basename /* extends *//* implements */ {
+// String fs;
+// Basename()
+// {
+// fs = System.getProperty("file.separator");
+// }
+// String getJPEGName(String _sOutputPath, String _sBasename, String _sGS_PageOutput, Name _aPostNameAdd)
+// {
+// String sBaseNameNoSuffix = FileHelper.getNameNoSuffix(_sBasename);
+// String sJPEGName = _sOutputPath + fs + sBaseNameNoSuffix + "-" + _sGS_PageOutput + _aPostNameAdd.getName() + ".jpg";
+// return sJPEGName;
+// }
+//
+// public static void main( String[] argv ) {
+//
+// }
+// }
diff --git a/qadevOOo/runner/convwatch/BorderRemover.java b/qadevOOo/runner/convwatch/BorderRemover.java
new file mode 100644
index 000000000000..986f6ff6582b
--- /dev/null
+++ b/qadevOOo/runner/convwatch/BorderRemover.java
@@ -0,0 +1,319 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import convwatch.ImageHelper;
+import java.io.File;
+import java.awt.image.RenderedImage;
+import java.awt.image.BufferedImage;
+import java.lang.reflect.Method;
+
+// -----------------------------------------------------------------------------
+class Rect
+{
+ int x;
+ int y;
+ int w;
+ int h;
+
+ public Rect(int _x, int _y, int _w, int _h)
+ {
+ x = _x;
+ y = _y;
+ w = _w;
+ h = _h;
+ }
+ public int getX() {return x;}
+ public int getY() {return y;}
+ public int getWidth() {return w;}
+ public int getHeight() {return h;}
+}
+
+class BorderRemover
+{
+ ImageHelper m_aImage;
+
+ // Helper values, filled after find Border
+
+ // --------------------------------- test mode ---------------------------------
+
+ // void pixelValue(int pixel)
+ // {
+ // int alpha = (pixel >> 24) & 0xff;
+ // int red = (pixel >> 16) & 0xff;
+ // int green = (pixel >> 8) & 0xff;
+ // int blue = (pixel ) & 0xff;
+ // int dummy = 0;
+ // }
+
+ /*
+ * compares 2 colors with a given tolerance. So it's possible to check differences approximate.
+ * @param _nColor1
+ * @param _nColor2
+ * @param _nTolerance is a percentage value how strong the colors could be differ
+
+ */
+ boolean compareColorWithTolerance(int _nColor1, int _nColor2, int _nTolerance)
+ {
+ // int alpha1 = (_nColor1 >> 24) & 0xff;
+ int red1 = (_nColor1 >> 16) & 0xff;
+ int green1 = (_nColor1 >> 8) & 0xff;
+ int blue1 = (_nColor1 ) & 0xff;
+
+ // int alpha2 = (_nColor2 >> 24) & 0xff;
+ int red2 = (_nColor2 >> 16) & 0xff;
+ int green2 = (_nColor2 >> 8) & 0xff;
+ int blue2 = (_nColor2 ) & 0xff;
+
+ if (_nTolerance > 100)
+ {
+ _nTolerance = 100;
+ }
+
+ // calculate tolerance halve
+ double nTolerable = (_nTolerance * 256 / 100);
+ if (nTolerable < 0)
+ {
+ nTolerable = 0;
+ }
+
+ // X - th < Y < X + th
+ // if ((red1 - nTolerable) < red2 && red2 < (red1 + nTolerable))
+ // is the same
+ // abs (X - Y) < th
+ if (Math.abs(red1 - red2) < nTolerable)
+ {
+ if (Math.abs(green1 - green2) < nTolerable)
+ {
+ if (Math.abs(blue1 - blue2) < nTolerable)
+ {
+ return true;
+ }
+ else
+ {
+ // blue differ
+ }
+ }
+ else
+ {
+ // green differ
+ }
+ }
+ else
+ {
+ // red differ
+ }
+
+ return false;
+ }
+
+ /**
+ * create a new image from an exist one without it's borders
+ * open the file (_sFilenameFrom) as an image, check if it contains any borders and remove
+ * the borders.
+ */
+ public boolean createNewImageWithoutBorder(String _sFilenameFrom, String _sFilenameTo)
+ throws java.io.IOException
+ {
+ // System.out.println("load image: " + fileName);
+ m_aImage = ImageHelper.createImageHelper(_sFilenameFrom);
+
+ // System.out.println("image width:" + String.valueOf(m_aImage.getWidth()));
+ // System.out.println("image height:" + String.valueOf(m_aImage.getHeight()));
+
+ // int nw = graphics_stuff.countNotWhitePixel(m_aImage);
+ // System.out.println("not white pixels:" + String.valueOf(nw));
+
+ // int nb = graphics_stuff.countNotBlackPixel(m_aImage);
+ // System.out.println("not black pixels:" + String.valueOf(nb));
+
+ int nBorderColor = m_aImage.getPixel(0,0);
+ Rect aInnerRect = findBorder(m_aImage, nBorderColor);
+
+ RenderedImage aImage = createImage(m_aImage, aInnerRect);
+
+ File aWriteFile = new File(_sFilenameTo);
+ // GlobalLogWriter.get().println("Hello World: File to: " + _sFilenameTo);
+
+ Exception ex = null;
+ try
+ {
+ Class imageIOClass = Class.forName("javax.imageio.ImageIO");
+ // GlobalLogWriter.get().println("Hello World: get Class");
+
+ Method getWriterMIMETypesMethod = imageIOClass.getDeclaredMethod("getWriterMIMETypes", new Class[]{ });
+ // GlobalLogWriter.get().println("Hello World: get Methode");
+
+ Object aObj = getWriterMIMETypesMethod.invoke(imageIOClass, new Object[]{ });
+ String[] types = (String[])aObj;
+ // GlobalLogWriter.get().println("Hello World: types: " + Arrays.asList(types) );
+
+ Method writeMethod = imageIOClass.getDeclaredMethod("write", new Class[]{ java.awt.image.RenderedImage.class,
+ java.lang.String.class,
+ java.io.File.class});
+ // GlobalLogWriter.get().println("Hello World: get Methode");
+ writeMethod.invoke(imageIOClass, new Object[]{aImage, "image/jpeg", aWriteFile});
+ }
+ catch(java.lang.ClassNotFoundException e) {
+ e.printStackTrace();
+ ex = e;
+ }
+ catch(java.lang.NoSuchMethodException e) {
+ e.printStackTrace();
+ ex = e;
+ }
+ catch(java.lang.IllegalAccessException e) {
+ e.printStackTrace();
+ ex = e;
+ }
+ catch(java.lang.reflect.InvocationTargetException e) {
+ e.printStackTrace();
+ ex = e;
+ }
+
+ if (ex != null) {
+ // get Java version:
+ String javaVersion = System.getProperty("java.version");
+ throw new java.io.IOException(
+ "Cannot construct object with current Java version " +
+ javaVersion + ": " + ex.getMessage());
+ }
+// ImageIO.write(aImage, "jpg", aWriteFile);
+
+ return true;
+ }
+
+
+ /**
+ * runs through the image, pixel by pixel
+ * as long as found pixels like the color at (0,0) this is interpreted as border.
+ * as result it fills the m_nXMin, m_nXMax, m_nYMin, m_nYMax values.
+ */
+
+ Rect findBorder(ImageHelper _aImage, int _nBorderColor)
+ {
+ int h = _aImage.getHeight();
+ int w = _aImage.getWidth();
+ int nXMin = w;
+ int nXMax = 0;
+ int nYMin = h;
+ int nYMax = 0;
+
+ for (int y = 0; y < h; y++)
+ {
+ for (int x = 0; x < nXMin; x++)
+ {
+ // handlesinglepixel(x+i, y+j, pixels[j * w + i]);
+ int nCurrentColor = _aImage.getPixel(x, y);
+ if (! compareColorWithTolerance(nCurrentColor, _nBorderColor, 10))
+ {
+ // pixelValue(nCurrentColor);
+ // System.out.print("*");
+ nXMin = java.lang.Math.min(nXMin, x);
+ nYMin = java.lang.Math.min(nYMin, y);
+ }
+ // else
+ // {
+ // System.out.print(" ");
+ // }
+ }
+ }
+ for (int y = 0; y < h; y++)
+ {
+ for (int nx = w - 1; nx >= nXMax; --nx)
+ {
+ int ny = h - y - 1;
+ int nCurrentColor = _aImage.getPixel(nx, ny);
+ if (! compareColorWithTolerance(nCurrentColor, _nBorderColor, 10))
+ {
+ nXMax = java.lang.Math.max(nXMax, nx);
+ nYMax = java.lang.Math.max(nYMax, ny);
+ }
+ }
+ // System.out.println();
+ }
+ // System.out.println("xmin: " + String.valueOf(nXMin));
+ // System.out.println("xmax: " + String.valueOf(nXMax));
+ // System.out.println("ymin: " + String.valueOf(nYMin));
+ // System.out.println("ymax: " + String.valueOf(nYMax));
+
+ Rect aRect;
+ if (nXMin < nXMax && nYMin < nYMax)
+ {
+ int nw = nXMax - nXMin + 1;
+ int nh = nYMax - nYMin + 1;
+
+ // this is the rectangle around the image content.
+ aRect = new Rect(nXMin, nYMin, nw, nh );
+ }
+ else
+ {
+ // create the smalles possible image
+ aRect = new Rect(0,0,1,1);
+ }
+
+
+ // m_nXMin = nXMin;
+ // m_nXMax = nXMax;
+ // m_nYMin = nYMin;
+ // m_nYMax = nYMax;
+ return aRect;
+ }
+
+ RenderedImage createImage(ImageHelper _aImage, Rect _aRect) throws IllegalArgumentException
+ {
+// TODO: throw if w or h < 0
+ int w = _aRect.getWidth();
+ int h = _aRect.getHeight();
+
+ if (w <= 0 || h <= 0)
+ {
+ throw new IllegalArgumentException("width or height are too small or negative.");
+ }
+
+ BufferedImage aBI = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
+
+ int nXOffset = _aRect.getX();
+ int nYOffset = _aRect.getY();
+
+ // Memory Block move
+ for (int y = 0; y < h; y++)
+ {
+ for (int x = 0; x < w; x++)
+ {
+ // aPixels[y * w + x] = m_aImage.getPixel(m_nXMin + x, m_nYMin + y);
+ aBI.setRGB(x, y, _aImage.getPixel(x + nXOffset, y + nYOffset));
+ }
+ }
+ // java.awt.image.MemoryImageSource aSource = new java.awt.image.MemoryImageSource(w, h, aPixels, 0, w);
+// return java.awt.Component.createImage(aSource);
+ // return java.awt.Toolkit.getDefaultToolkit().createImage(aSource);
+ return aBI;
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/BuildID.java b/qadevOOo/runner/convwatch/BuildID.java
new file mode 100644
index 000000000000..efb091d160f9
--- /dev/null
+++ b/qadevOOo/runner/convwatch/BuildID.java
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import helper.OSHelper;
+import convwatch.IniFile;
+import java.util.Date;
+
+public class BuildID
+{
+ public static String getBuildID(String _sApp)
+ {
+ String sOfficePath = "";
+ if (_sApp.startsWith("\""))
+ {
+ int nIdx = _sApp.indexOf("\"", 1);
+ if (nIdx == -1)
+ {
+ }
+ else
+ {
+ // leave double qoute out.
+ sOfficePath = _sApp.substring(1, nIdx);
+ }
+ }
+ else
+ {
+ // check if a space exist, so we get all until space
+ int nIdx = _sApp.indexOf(" ", 1);
+ if (nIdx == -1)
+ {
+ sOfficePath = _sApp;
+ }
+ else
+ {
+ sOfficePath = _sApp.substring(0, nIdx);
+ }
+ }
+ GlobalLogWriter.get().println("Office path: " + sOfficePath);
+
+ String fs = System.getProperty("file.separator");
+ String sBuildID = "";
+ File aSOfficeFile = new File(sOfficePath);
+ if (aSOfficeFile.exists())
+ {
+ int nIdx = sOfficePath.lastIndexOf(fs);
+ sOfficePath = sOfficePath.substring(0, nIdx);
+ // ok. System.out.println("directory: " + sOfficePath);
+ sBuildID = getBuildIDFromBootstrap(sOfficePath);
+ if (sBuildID.length() == 0)
+ {
+ sBuildID = getBuildIDFromVersion(sOfficePath);
+ }
+ }
+ else
+ {
+ GlobalLogWriter.get().println("soffice executable not found.");
+ }
+
+ int dummy = 0;
+ return sBuildID;
+ }
+
+ private static String getBuildIDFromBootstrap(String _sOfficePath)
+ {
+ String fs = System.getProperty("file.separator");
+ String sBuildID = "";
+ String sOfficePath = _sOfficePath;
+ if (OSHelper.isWindows())
+ {
+ sOfficePath += fs + "bootstrap.ini";
+ }
+ else
+ {
+ sOfficePath += fs + "bootstraprc";
+ }
+ IniFile aIniFile = new IniFile(sOfficePath);
+ if (aIniFile.is())
+ {
+ sBuildID = aIniFile.getValue("Bootstrap", "buildid");
+ }
+ else
+ {
+ GlobalLogWriter.get().println("Property Build, can't open file '" + sOfficePath + "', please check.");
+ }
+ return sBuildID;
+ }
+
+ private static String getBuildIDFromVersion(String _sOfficePath)
+ {
+ String fs = System.getProperty("file.separator");
+ String sBuildID = "";
+ String sOfficePath = _sOfficePath;
+ if (OSHelper.isWindows())
+ {
+ sOfficePath += fs + "version.ini";
+ }
+ else
+ {
+ sOfficePath += fs + "versionrc";
+ }
+ IniFile aIniFile = new IniFile(sOfficePath);
+ if (aIniFile.is())
+ {
+ sBuildID = aIniFile.getValue("Version", "buildid");
+ }
+ else
+ {
+ GlobalLogWriter.get().println("Property Build, can't open file '" + sOfficePath + "', please check.");
+ }
+ return sBuildID;
+ }
+// public static void main(String[] args)
+// {
+// String sApp;
+// sApp = "/opt/staroffice8_m116/program/soffice -headless -accept=socket,host=localhost,port=8100;urp;";
+// String sBuildID;
+// sBuildID = getBuildID(sApp);
+// System.out.println("BuildID is: " + sBuildID);
+//
+// Date aDate = new Date();
+// long nStart = aDate.getTime();
+// System.out.println("Time:" + nStart);
+// // LLA: Just some more tests for getBuildID
+// // sApp = "/opt/staroffice8_net/program/soffice";
+// // sBuildID = getBuildID(sApp);
+// // System.out.println("BuildID is: " + sBuildID);
+// //
+// // sApp = "\"/opt/staroffice8_net/program/soffice\" test blah";
+// // sBuildID = getBuildID(sApp);
+// //
+// // System.out.println("BuildID is: " + sBuildID);
+// System.exit(1);
+// }
+
+}
+
diff --git a/qadevOOo/runner/convwatch/ConvWatch.java b/qadevOOo/runner/convwatch/ConvWatch.java
new file mode 100644
index 000000000000..76dc3522d2e0
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ConvWatch.java
@@ -0,0 +1,432 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import convwatch.ConvWatchException;
+import convwatch.ConvWatchCancelException;
+import convwatch.FileHelper;
+import convwatch.OfficePrint;
+import convwatch.PRNCompare;
+import convwatch.StatusHelper;
+import helper.URLHelper;
+import java.io.File;
+
+public class ConvWatch
+{
+
+ String getBuildID_FromFile(String _sInfoFile)
+ {
+ String sBuildID = "";
+ IniFile aIniFile = new IniFile(_sInfoFile);
+ if (aIniFile.is())
+ {
+ sBuildID = aIniFile.getValue("", "buildid");
+ }
+ return sBuildID;
+ }
+ /**
+ * Check if given document (_sAbsoluteInputFile) and it's postscript representation (_sAbsoluteReferenceFile) produce
+ * the same output like the StarOffice / OpenOffice.org which is accessable with XMultiServiceFactory.
+ * Here a simple graphically difference check is run through.
+ *
+ * Hint: In the OutputPath all needed files will create, there must
+ * be very much space. It's not possible to say how much.
+ * One page need up to 800kb as jpeg.
+ * Sample: If a document contains 2 pages, we need 2*800kb for prn
+ * output and 2*800kb for ps output and 2*800kb for it's difference
+ * output. So up to 4800kb or 4.8mb.
+ *
+ * RAM is need least 300mb. Will say, it's tested on a pc with 128mb RAM and 256mb swap.
+ *
+ * It's also absolutlly impossible to say, how much time this functions consume.
+ */
+
+ StatusHelper[] createPostscriptStartCheck(GraphicalTestArguments _aGTA,
+ String _sOutputPath, String _sAbsoluteInputFile, String _sAbsoluteReferenceFile)
+ throws ConvWatchCancelException
+ {
+// TODO: some more checks
+
+ if (! FileHelper.exists(_sAbsoluteInputFile))
+ {
+ throw new ConvWatchCancelException("createPostscriptStartCheck: Input file: " + _sAbsoluteInputFile + " does not exist.");
+ }
+
+ if (_sAbsoluteReferenceFile == null)
+ {
+ // we assume, that the prn file is near the document
+ String sAbsoluteInputFileNoSuffix = FileHelper.getNameNoSuffix(_sAbsoluteInputFile);
+ _sAbsoluteReferenceFile = sAbsoluteInputFileNoSuffix + ".prn";
+ }
+
+ String fs = System.getProperty("file.separator");
+ File aAbsoluteReferenceFile = new File(_sAbsoluteReferenceFile);
+
+ if (aAbsoluteReferenceFile.isDirectory())
+ {
+ String sBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+ String sAbsoluteReferenceFileInfo = _sAbsoluteReferenceFile + fs + sNameNoSuffix + ".info";
+ _sAbsoluteReferenceFile = _sAbsoluteReferenceFile + fs + sNameNoSuffix + ".prn";
+
+ // Read the reference from the info file
+ String sRefBuildID = "";
+ if (FileHelper.exists(sAbsoluteReferenceFileInfo))
+ {
+ sRefBuildID = getBuildID_FromFile(sAbsoluteReferenceFileInfo);
+ }
+ _aGTA.setRefBuildID(sRefBuildID);
+
+ }
+ else
+ {
+ // java file has problems to check for directories, if the given directory doesn't exist.
+ String sName = FileHelper.getBasename(_sAbsoluteReferenceFile);
+ // thanks to Mircosoft, every document has a suffix, so if a name doesn't have a suffix, it must be a directory name
+ int nIdx = sName.indexOf('.');
+ if (nIdx == -1)
+ {
+ // must be a directory
+ throw new ConvWatchCancelException("createPostscriptStartCheck: Given reference directory: '" + _sAbsoluteReferenceFile + "' does not exist.");
+ }
+ }
+
+
+ boolean bAbsoluteReferenceFile = true;
+ if (! FileHelper.exists(_sAbsoluteReferenceFile))
+ {
+ if (_aGTA.createDefaultReference())
+ {
+ GlobalLogWriter.get().println("Reference File doesn't exist, will create a default");
+ bAbsoluteReferenceFile = false;
+ }
+ else
+ {
+ throw new ConvWatchCancelException("createPostscriptStartCheck: Given reference file: " + _sAbsoluteReferenceFile + " does not exist.");
+ }
+ }
+
+ FileHelper.makeDirectories("", _sOutputPath);
+
+ // runner.convwatch.compare();
+
+ String sAbsoluteInputFileURL = URLHelper.getFileURLFromSystemPath(_sAbsoluteInputFile);
+
+ String sInputFile = FileHelper.getBasename(_sAbsoluteInputFile);
+ // System.out.println("InputFile: " + sInputFile);
+
+ String sInputFileNoSuffix = FileHelper.getNameNoSuffix(sInputFile);
+ // System.out.println("BasenameNoSuffix: " + sInputFileNoSuffix);
+
+
+ String sAbsoluteOutputFile = _sOutputPath + fs + sInputFile;
+ String sAbsoluteOutputFileURL = URLHelper.getFileURLFromSystemPath(sAbsoluteOutputFile);
+
+ String sReferenceFile = FileHelper.getBasename(_sAbsoluteReferenceFile);
+ String sReferenceFileNoSuffix = FileHelper.getNameNoSuffix(sReferenceFile);
+ String sPostScriptFile = sReferenceFileNoSuffix + ".ps";
+ // System.out.println("PostscriptFile: " + sPostScriptFile);
+
+ String sAbsolutePrintFile = _sOutputPath + fs + sPostScriptFile;
+ String sAbsolutePrintFileURL = URLHelper.getFileURLFromSystemPath(sAbsolutePrintFile);
+
+ // System.out.println("AbsoluteInputFileURL: " + sAbsoluteInputFileURL);
+ // System.out.println("AbsoluteOutputFileURL: " + sAbsoluteOutputFileURL);
+ // System.out.println("AbsolutePrintFileURL: " + sAbsolutePrintFileURL);
+
+ // store and print the sAbsoluteInputFileURL file with StarOffice / OpenOffice.org
+ OfficePrint.printToFile(_aGTA, sAbsoluteInputFileURL, sAbsoluteOutputFileURL, sAbsolutePrintFileURL);
+
+ // wait(2);
+
+ if (! FileHelper.exists(sAbsolutePrintFile))
+ {
+ throw new ConvWatchCancelException("createPostscriptStartCheck: Printed file " + sAbsolutePrintFile + " does not exist.");
+ }
+
+ if (bAbsoluteReferenceFile == false)
+ {
+ // copy AbsolutePrintFile to AbsoluteReferenceFile
+ String sDestinationFile = sAbsolutePrintFile; // URLHelper.getSystemPathFromFileURL(...)
+ String sSourceFile = _sAbsoluteReferenceFile;
+ FileHelper.copy(sDestinationFile, sSourceFile);
+ // now the fix reference of the AbsoluteReferenceFile should exist.
+ if (! FileHelper.exists(_sAbsoluteReferenceFile))
+ {
+ throw new ConvWatchCancelException("createPostscriptStartCheck: Given reference file: " + _sAbsoluteReferenceFile + " does not exist, after try to copy.");
+ }
+ }
+
+ PRNCompare a = new PRNCompare();
+ String sInputPath = FileHelper.getPath(_sAbsoluteInputFile);
+ String sReferencePath = FileHelper.getPath(_sAbsoluteReferenceFile);
+ // String sReferenceFile = FileHelper.getBasename(sAbsoluteReferenceFile);
+
+ // System.out.println("InputPath: " + sInputPath);
+ // System.out.println("sReferencePath: " + sReferencePath);
+ // System.out.println("sReferenceFile: " + sReferenceFile);
+
+ a.setInputPath( sInputPath );
+ a.setReferencePath( sReferencePath );
+ a.setOutputPath( _sOutputPath );
+ // a.setDocFile( "1_Gov.ppt");
+ a.setReferenceFile( sReferenceFile );
+ a.setPostScriptFile(sPostScriptFile );
+ if (_aGTA.printAllPages() == true)
+ {
+ a.setMaxPages(9999);
+ }
+ else
+ {
+ if (_aGTA.getMaxPages() > 0)
+ {
+ a.setMaxPages(_aGTA.getMaxPages());
+ }
+ if (_aGTA.getOnlyPages().length() != 0)
+ {
+ // we can't interpret the string of getOnlyPages() right without much logic, so print all pages here!
+ a.setMaxPages(9999);
+ }
+ }
+
+ a.setResolutionInDPI(_aGTA.getResolutionInDPI());
+ a.setBorderMove(_aGTA.getBorderMove());
+ a.setDocumentType(_aGTA.getDocumentType());
+
+ StatusHelper[] aList = a.compare();
+
+ _aGTA.setBorderMove(a.getBorderMove());
+ return aList;
+ }
+
+ // -----------------------------------------------------------------------------
+ // This creates a status for exact on document
+ static boolean createINIStatus(StatusHelper[] aList, String _sFilenamePrefix, String _sOutputPath, String _sAbsoluteInputFile, String _sBuildID, String _sRefBuildID)
+ {
+ // Status
+ String fs = System.getProperty("file.separator");
+ String sBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+// String sHTMLFile = _sFilenamePrefix + sNameNoSuffix + ".html";
+// HTMLOutputter HTMLoutput = HTMLOutputter.create(_sOutputPath, sHTMLFile, "", "");
+// HTMLoutput.header(sNameNoSuffix);
+// TODO: version info was fine
+// HTMLoutput.checkSection(sBasename);
+ // Status end
+
+ String sINIFile = _sFilenamePrefix + sNameNoSuffix + ".ini";
+ INIOutputter INIoutput = INIOutputter.create(_sOutputPath, sINIFile, "", "");
+ INIoutput.createHeader();
+// TODO: version info was fine
+
+ INIoutput.writeSection("global");
+ INIoutput.writeValue("pages", String.valueOf(aList.length));
+ INIoutput.writeValue("buildid", _sBuildID);
+ INIoutput.writeValue("refbuildid", _sRefBuildID);
+ INIoutput.writeValue("diffdiff", "no");
+ INIoutput.writeValue("basename", sBasename);
+
+ boolean bResultIsOk = true; // result over all pages
+ for (int i=0;i<aList.length; i++)
+ {
+ INIoutput.writeSection("page" + String.valueOf(i + 1)); // list start at point 0, but this is page 1 and so on... current_page = (i + 1)
+ aList[i].printStatus();
+
+ boolean bCurrentResult = true; // result over exact one page
+
+ int nCurrentDiffStatus = aList[i].nDiffStatus;
+
+ // check if the status is in a defined range
+ if (nCurrentDiffStatus == StatusHelper.DIFF_NO_DIFFERENCES)
+ {
+ // ok.
+ }
+ else if (nCurrentDiffStatus == StatusHelper.DIFF_DIFFERENCES_FOUND && aList[i].nPercent < 5)
+ {
+ // ok.
+ }
+ else if (nCurrentDiffStatus == StatusHelper.DIFF_AFTER_MOVE_DONE_NO_PROBLEMS)
+ {
+ // ok.
+ }
+ else if (nCurrentDiffStatus == StatusHelper.DIFF_AFTER_MOVE_DONE_DIFFERENCES_FOUND && aList[i].nPercent2 < 5)
+ {
+ // ok.
+ }
+ else
+ {
+ // failed.
+ bCurrentResult = false; // logic: nDiff==0 = true if there is no difference
+ }
+
+ // Status
+// HTMLoutput.checkLine(aList[i], bCurrentResult);
+ INIoutput.checkLine(aList[i], bCurrentResult);
+ bResultIsOk &= bCurrentResult;
+ }
+ // Status
+// HTMLoutput.close();
+ INIoutput.close();
+ return bResultIsOk;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ static void createINIStatus_DiffDiff(StatusHelper[] aDiffDiffList, String _sFilenamePrefix, String _sOutputPath, String _sAbsoluteInputFile, String _sBuildID)
+ {
+ // Status
+ String fs = System.getProperty("file.separator");
+ String sBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+ String sINIFile = _sFilenamePrefix + sNameNoSuffix + ".ini";
+
+// HTMLOutputter HTMLoutput = HTMLOutputter.create(_sOutputPath, sHTMLFile, _sFilenamePrefix, "");
+// HTMLoutput.header(sNameNoSuffix);
+// HTMLoutput.checkDiffDiffSection(sBasename);
+
+ INIOutputter INIoutput = INIOutputter.create(_sOutputPath, sINIFile, _sFilenamePrefix, "");
+ INIoutput.createHeader();
+ // LLA? what if the are no values in the list? true or false;
+ INIoutput.writeSection("global");
+ INIoutput.writeValue("pages", String.valueOf(aDiffDiffList.length));
+ INIoutput.writeValue("buildid", _sBuildID);
+ INIoutput.writeValue("diffdiff", "yes");
+ INIoutput.writeValue("basename", sBasename);
+
+ for (int i=0;i<aDiffDiffList.length; i++)
+ {
+ INIoutput.writeSection("page" + String.valueOf(i + 1)); // list start at point 0, but this is page 1 and so on... current_page = (i + 1)
+ boolean bCurrentResult = (aDiffDiffList[i].nDiffStatus == StatusHelper.DIFF_NO_DIFFERENCES); // logic: nDiff==0 = true if there is no difference
+
+// HTMLoutput.checkDiffDiffLine(aDiffDiffList[i], bCurrentResult);
+ INIoutput.checkDiffDiffLine(aDiffDiffList[i], bCurrentResult);
+ }
+ // Status
+// HTMLoutput.close();
+ INIoutput.close();
+ }
+
+
+ // -----------------------------------------------------------------------------
+
+ public static boolean check(GraphicalTestArguments _aGTA,
+ String _sOutputPath, String _sAbsoluteInputFile, String _sAbsoluteReferenceFile)
+ throws ConvWatchCancelException, ConvWatchException
+ {
+ ConvWatch a = new ConvWatch();
+ StatusHelper[] aList = a.createPostscriptStartCheck(_aGTA, _sOutputPath, _sAbsoluteInputFile, _sAbsoluteReferenceFile);
+ DB.writeNumberOfPages(aList.length);
+
+ boolean bResultIsOk = createINIStatus(aList, "", _sOutputPath, _sAbsoluteInputFile, _aGTA.getBuildID(), _aGTA.getRefBuildID());
+
+ if (! bResultIsOk)
+ {
+ // it could be that this will store in a DB, there are problems with '\'
+ String sErrorMessage = "Graphical compare failed with file ";
+ String sErrorFile = _sAbsoluteInputFile.replace('\\', '/');
+ sErrorMessage = sErrorMessage + "'" + sErrorFile + "'";
+ DB.writeErrorFile(sErrorFile);
+ throw new ConvWatchException(sErrorMessage);
+ }
+ return bResultIsOk;
+ }
+
+ // -----------------------------------------------------------------------------
+ public static boolean checkDiffDiff(GraphicalTestArguments _aGTA,
+ String _sOutputPath, String _sAbsoluteInputFile, String _sAbsoluteReferenceFile,
+ String _sAbsoluteDiffPath)
+ throws ConvWatchCancelException, ConvWatchException
+ {
+ ConvWatch a = new ConvWatch();
+ _aGTA.setBorderMove(TriState.FALSE);
+ StatusHelper[] aList = a.createPostscriptStartCheck(_aGTA, _sOutputPath, _sAbsoluteInputFile, _sAbsoluteReferenceFile);
+
+ // Status
+ boolean bResultIsOk = createINIStatus(aList, "", _sOutputPath, _sAbsoluteInputFile, _aGTA.getBuildID(), _aGTA.getRefBuildID());
+
+ StatusHelper[] aDiffDiffList = new StatusHelper[aList.length];
+
+ String fs = System.getProperty("file.separator");
+
+ boolean bDiffIsOk = true;
+ boolean bFoundAOldDiff = false;
+
+ PRNCompare aCompare = new PRNCompare();
+ // LLA? what if the are no values in the list? true or false;
+ for (int i=0;i<aList.length; i++)
+ {
+ String sOrigDiffName = aList[i].m_sDiffGfx;
+ String sDiffBasename = FileHelper.getBasename(sOrigDiffName);
+
+ String sNewDiffName = _sAbsoluteDiffPath + fs + sDiffBasename;
+ if (! FileHelper.exists(sNewDiffName))
+ {
+ GlobalLogWriter.get().println("checkDiffDiff: Old diff file: '" + sNewDiffName + "' does not exist." );
+ continue;
+ }
+ // String sNewDiffName = _sAbsoluteDiffPath + fs + sDiffBasename;
+
+ // make a simple difference between these both diff files.
+ String sSourcePath1 = FileHelper.getPath(sOrigDiffName);
+ String sSourceFile1 = sDiffBasename;
+ String sSourcePath2 = _sAbsoluteDiffPath;
+ String sSourceFile2 = sDiffBasename;
+
+ StatusHelper aCurrentStatus = aCompare.checkDiffDiff(_sOutputPath, sSourcePath1, sSourceFile1, sSourcePath2, sSourceFile2);
+ boolean bCurrentResult = (aCurrentStatus.nDiffStatus == StatusHelper.DIFF_NO_DIFFERENCES); // logic: nDiff==0 = true if there is no difference
+ bDiffIsOk &= bCurrentResult;
+ bFoundAOldDiff = true;
+
+ aDiffDiffList[i] = aCurrentStatus;
+ }
+
+ createINIStatus_DiffDiff(aDiffDiffList, "DiffDiff_", _sOutputPath, _sAbsoluteInputFile, _aGTA.getBuildID());
+
+ if (bFoundAOldDiff == false)
+ {
+ throw new ConvWatchCancelException("No old difference file found." );
+ }
+ if (! bDiffIsOk)
+ {
+ throw new ConvWatchException("Graphical difference compare failed with file '" + _sAbsoluteInputFile + "'");
+ }
+ return bDiffIsOk;
+ }
+
+ // public static void main( String[] argv )
+ // {
+ // PRNCompare a = new PRNCompare();
+ // a.setInputPath( "/cws/so-cwsserv06/qadev18/SRC680/src.m47/convwatch.keep/input/msoffice/xp/PowerPoint");
+ // a.setDocFile( "1_Gov.ppt");
+ // a.setReferencePath( "/cws/so-cwsserv06/qadev18/SRC680/src.m47/convwatch.keep/input/msoffice/xp/PowerPoint");
+ // a.setReferenceFile( "1_Gov.prn" );
+ //
+ // a.setOutputPath( "/tmp/convwatch_java");
+ // a.setPostScriptFile("1_Gov.ps" );
+ // }
+}
diff --git a/qadevOOo/runner/convwatch/ConvWatchCancelException.java b/qadevOOo/runner/convwatch/ConvWatchCancelException.java
new file mode 100644
index 000000000000..2042f600b4cc
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ConvWatchCancelException.java
@@ -0,0 +1,38 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import convwatch.ConvWatchException;
+
+public class ConvWatchCancelException extends ConvWatchException
+{
+ public ConvWatchCancelException(String _aMessage)
+ {
+ super(_aMessage);
+ }
+}
diff --git a/qadevOOo/runner/convwatch/ConvWatchException.java b/qadevOOo/runner/convwatch/ConvWatchException.java
new file mode 100644
index 000000000000..f0fab0852deb
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ConvWatchException.java
@@ -0,0 +1,37 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+public class ConvWatchException extends Exception
+{
+ public ConvWatchException(String _aMessage)
+ {
+ super(_aMessage);
+ }
+}
+
diff --git a/qadevOOo/runner/convwatch/ConvWatchStarter.java b/qadevOOo/runner/convwatch/ConvWatchStarter.java
new file mode 100644
index 000000000000..c81ba3dfca85
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ConvWatchStarter.java
@@ -0,0 +1,445 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+// imports
+import java.util.ArrayList;
+import java.io.File;
+import java.io.FileFilter;
+
+import convwatch.EnhancedComplexTestCase;
+import com.sun.star.lang.XMultiServiceFactory;
+
+import convwatch.ConvWatchException;
+import convwatch.DirectoryHelper;
+import convwatch.GraphicalTestArguments;
+import convwatch.HTMLOutputter;
+import helper.OfficeProvider;
+import helper.OfficeWatcher;
+import helper.OSHelper;
+import convwatch.PerformanceContainer;
+
+/**
+ * The following Complex Test will test
+ * an already created document and it's postscript output (by an older office version)
+ * with a new office version.
+ * This test use Ghostscript for the jpeg export and graphically compare tools from ImageMagick.
+ * Read the manual for more information.
+ *
+ * this is only the starter program
+ * more is found in qadevOOo/runner/convwatch/*
+ */
+
+public class ConvWatchStarter extends EnhancedComplexTestCase
+{
+ // The first of the mandatory functions:
+ /**
+ * Return the name of the test.
+ * In this case it is the actual name of the service.
+ * @return The tested service.
+ */
+ // public String getTestObjectName() {
+ // return "ConvWatch runner";
+ // }
+
+ // The second of the mandatory functions: return all test methods as an
+ // array. There is only one test function in this example.
+ /**
+ * Return all test methods.
+ * @return The test methods.
+ */
+ public String[] getTestMethodNames() {
+ return new String[]{"compareGraphicalDiffs"};
+ }
+
+ String m_sInputPath = "";
+ String m_sReferencePath = "";
+ String m_sOutputPath = "";
+ String m_sDiffPath = null;
+
+ private void initMember()
+ {
+ // MUST PARAMETER
+ // INPUTFILE ----------
+ String sINPATH = (String)param.get( PropertyName.DOC_COMPARATOR_INPUT_PATH );
+ boolean bQuit = false;
+ if (sINPATH == null || sINPATH.length() == 0)
+ {
+ log.println("Please set input path (path to documents) " + PropertyName.DOC_COMPARATOR_INPUT_PATH + "=path.");
+ bQuit = true;
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_INPUT_PATH + " " + sINPATH);
+ m_sInputPath = sINPATH;
+ }
+
+ // REFERENCE_PATH ----------
+ String sREF = (String)param.get( PropertyName.DOC_COMPARATOR_REFERENCE_PATH );
+ if (sREF == null || sREF.length() == 0)
+ {
+ // log.println("Please set reference file (path to good documents) REFERENCEFILE=path.");
+ log.println("Assumtion, reference directory and input directory are the same.");
+ m_sReferencePath = m_sInputPath;
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_REFERENCE_PATH + " " + sREF);
+ m_sReferencePath = sREF;
+ }
+
+ // OUTPUT_PATH ----------
+ String sOUT = (String)param.get( PropertyName.DOC_COMPARATOR_OUTPUT_PATH );
+ if (sOUT == null || sOUT.length() == 0)
+ {
+ log.println("Please set output path (path to a temp directory) " + PropertyName.DOC_COMPARATOR_OUTPUT_PATH + "=path.");
+ bQuit = true;
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_OUTPUT_PATH + " " + sOUT);
+ m_sOutputPath = sOUT;
+ }
+
+ if (bQuit == true)
+ {
+ // log.println("must quit.");
+ assure("Must quit", false);
+ }
+
+
+ // DIFF_PATH ----------
+ String sDIFF = (String)param.get( PropertyName.DOC_COMPARATOR_DIFF_PATH );
+ if (sDIFF == null || sDIFF.length() == 0)
+ {
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_DIFF_PATH + " " + sDIFF);
+ m_sDiffPath = sDIFF;
+ }
+
+ if (m_sInputPath.startsWith("file:") ||
+ m_sReferencePath.startsWith("file:") ||
+ m_sOutputPath.startsWith("file:"))
+ {
+ assure("We can't handle file: URL right, use system path instead.", false);
+ }
+
+ }
+
+
+ /**
+ *
+ * @return a List of software which must accessable as an external executable
+ */
+ protected Object[] mustInstalledSoftware()
+ {
+ ArrayList aList = new ArrayList();
+ // Tools from ImageMagick
+ if (! OSHelper.isWindows())
+ {
+ aList.add( "composite -version" );
+ aList.add( "identify -version" );
+
+ // Ghostscript
+ aList.add( "gs -version" );
+ }
+ else
+ {
+ aList.add( "composite.exe -version" );
+ aList.add( "identify.exe -version" );
+
+ // Ghostscript
+ aList.add( "gswin32c.exe -version" );
+ }
+
+ return aList.toArray();
+ }
+
+
+ /**
+ * The test method itself.
+ * Don't try to call it from outside, it is started only from qadevOOo runner
+ */
+
+ /* protected */
+ public void compareGraphicalDiffs()
+ {
+ GlobalLogWriter.set(log);
+ String sDBConnection = (String)param.get( PropertyName.DB_CONNECTION_STRING );
+ // check if all need software is installed and accessable
+ checkEnvironment(mustInstalledSoftware());
+
+ GraphicalTestArguments aGTA = getGraphicalTestArguments();
+ if (aGTA == null)
+ {
+ assure("Must quit", false);
+ }
+ if (aGTA.cancelRequest())
+ {
+ return;
+ }
+
+ initMember();
+
+ aGTA.allowStore();
+
+ String sBuildID = aGTA.getBuildID();
+ log.println("Current Office has buildid: " + sBuildID);
+
+ // LLA: sample code, how to access all parameters
+ // for (Enumeration e = param.keys() ; e.hasMoreElements() ;)
+ // {
+ // System.out.println(e.nextElement());
+ // }
+
+ String fs = System.getProperty("file.separator");
+
+ String sHTMLName = "index.html";
+ File aInputPathTest = new File(m_sInputPath);
+ if (!aInputPathTest.isDirectory())
+ {
+ int n = m_sInputPath.lastIndexOf(fs);
+ sHTMLName = m_sInputPath.substring(n + 1);
+ sHTMLName += ".html";
+ }
+ HTMLOutputter HTMLoutput = HTMLOutputter.create(m_sOutputPath, sHTMLName, "", "");
+ HTMLoutput.header( m_sOutputPath );
+ HTMLoutput.indexSection( m_sOutputPath );
+ LISTOutputter LISToutput = LISTOutputter.create(m_sOutputPath, "allfiles.txt");
+
+ DB.init(aGTA.getDBInfoString() + "," + sDBConnection);
+
+ File aInputPath = new File(m_sInputPath);
+ if (aInputPath.isDirectory())
+ {
+ // check a whole directory
+ // a whole directory
+ FileFilter aFileFilter = FileHelper.getFileFilter();
+
+ Object[] aList = DirectoryHelper.traverse(m_sInputPath, aFileFilter, aGTA.includeSubDirectories());
+ if (aList.length == 0)
+ {
+ log.println("Nothing to do, there are no document files found.");
+ }
+ else
+ {
+ for (int i=0;i<aList.length;i++)
+ {
+ String sEntry = (String)aList[i];
+ log.println("- next file is: ------------------------------");
+ log.println(sEntry);
+
+ String sNewSubDir = FileHelper.removeFirstDirectorysAndBasenameFrom(sEntry, m_sInputPath);
+
+ String sNewReferencePath = m_sReferencePath;
+ String sNewOutputPath = m_sOutputPath;
+ String sNewDiffPath = m_sDiffPath;
+ if (sNewSubDir.length() > 0)
+ {
+ if (sNewReferencePath != null)
+ sNewReferencePath = sNewReferencePath + fs + sNewSubDir;
+ // String sNameNoSuffix = FileHelper.getNameNoSuffix(FileHelper.getBasename(sEntry));
+ // sNewReferenceFile = sNewReferencePath + fs + sNameNoSuffix + ".prn";
+
+ sNewOutputPath = sNewOutputPath + fs + sNewSubDir;
+ if (sNewDiffPath != null)
+ sNewDiffPath = sNewDiffPath + fs + sNewSubDir;
+ }
+
+ // NameHelper aNameContainer = new NameHelper(m_sOutputPath, sNewSubDir, FileHelper.getBasename(sEntry));
+ // aNameContainer.print();
+
+ if (aGTA.checkIfUsableDocumentType(sEntry))
+ {
+ runGDCWithStatus(HTMLoutput, LISToutput, sEntry, sNewOutputPath, sNewReferencePath, sNewDiffPath, sNewSubDir);
+ }
+ if (aGTA.cancelRequest())
+ {
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ // check exact name
+ if (aGTA.checkIfUsableDocumentType(m_sInputPath))
+ {
+ runGDCWithStatus(HTMLoutput, LISToutput, m_sInputPath, m_sOutputPath, m_sReferencePath, m_sDiffPath, "");
+ }
+ }
+
+ LISToutput.close();
+ HTMLoutput.close();
+ log.println("The file '" + HTMLoutput.getFilename() + "' shows a html based status.");
+ DB.writeHTMLFile(HTMLoutput.getFilename());
+ }
+
+
+ // -----------------------------------------------------------------------------
+ void runGDCWithStatus(HTMLOutputter _aHTMLoutput, LISTOutputter _aLISToutput, String _sInputFile, String _sOutputPath, String _sReferencePath, String _sDiffPath, String _sNewSubDir )
+ {
+ // start a fresh Office
+ GraphicalTestArguments aGTA = getGraphicalTestArguments();
+
+ OfficeProvider aProvider = null;
+ // SimpleFileSemaphore aSemaphore = new SimpleFileSemaphore();
+ if (aGTA.shouldOfficeStart())
+ {
+ // if (OSHelper.isWindows())
+ // {
+ // aSemaphore.P(aSemaphore.getSemaphoreFile());
+ // }
+
+ aGTA.getPerformance().startTime(PerformanceContainer.OfficeStart);
+ aProvider = new OfficeProvider();
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) aProvider.getManager(param);
+ param.put("ServiceFactory", xMSF);
+ aGTA.getPerformance().stopTime(PerformanceContainer.OfficeStart);
+
+ long nStartTime = aGTA.getPerformance().getTime(PerformanceContainer.OfficeStart);
+ aGTA = getGraphicalTestArguments(); // get new TestArguments
+ aGTA.getPerformance().setTime(PerformanceContainer.OfficeStart, nStartTime);
+ }
+
+ // Watcher Object is need in log object to give a simple way to say if a running office is alive.
+ // As long as a log comes, it pings the Watcher and says the office is alive, if not an
+ // internal counter increase and at a given point (300 seconds) the office is killed.
+ GlobalLogWriter.get().println("Set office watcher");
+ OfficeWatcher aWatcher = (OfficeWatcher)param.get("Watcher");
+ GlobalLogWriter.get().setWatcher(aWatcher);
+ // initializeWatcher(param);
+
+ String sStatusRunThrough = "";
+ String sStatusMessage = "";
+ try
+ {
+ DB.destination_start();
+ // better was:
+ // load document
+ // create postscript from document
+ // check file
+ GraphicalDifferenceCheck.checkOneFile(_sInputFile, _sOutputPath, _sReferencePath, _sDiffPath, aGTA);
+ sStatusRunThrough = "PASSED, OK";
+ DB.destination_finished();
+ }
+ catch(ConvWatchCancelException e)
+ {
+ assure(e.getMessage(), false, true);
+ sStatusRunThrough = "CANCELLED, FAILED";
+ sStatusMessage = e.getMessage();
+ DB.destination_failed(sStatusRunThrough, sStatusMessage);
+ }
+ catch(ConvWatchException e)
+ {
+ assure(e.getMessage(), false, true);
+ sStatusMessage = e.getMessage();
+ sStatusRunThrough = "PASSED, FAILED";
+ DB.destination_failed(sStatusRunThrough, sStatusMessage);
+ }
+ catch(com.sun.star.lang.DisposedException e)
+ {
+ assure(e.getMessage(), false, true);
+ sStatusMessage = e.getMessage();
+ sStatusRunThrough = "FAILED, FAILED";
+ DB.destination_failed(sStatusRunThrough, sStatusMessage);
+ }
+
+ GlobalLogWriter.get().println("Watcher count is: " + aWatcher.getPing());
+
+ // Office shutdown
+ if (aProvider != null)
+ {
+ aProvider.closeExistingOffice(param, true);
+ // if (OSHelper.isWindows())
+ // {
+ // aSemaphore.V(aSemaphore.getSemaphoreFile());
+ // aSemaphore.sleep(2);
+ // // wait some time maybe an other process will take the semaphore
+ // // I know, this is absolutly dirty, but the whole convwatch is dirty and need a big cleanup.
+ // }
+ }
+
+ // -------------------- Status --------------------
+ String fs = System.getProperty("file.separator");
+ String sBasename = FileHelper.getBasename(_sInputFile);
+ String sFilenameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+
+ // -------------------- List of all files -----------------
+ String sListFile;
+ if (_sNewSubDir.length() > 0)
+ {
+ sListFile = _sNewSubDir + fs + sFilenameNoSuffix + ".ini";
+ }
+ else
+ {
+ sListFile = sFilenameNoSuffix + ".ini";
+ }
+ _aLISToutput.writeValue(sListFile);
+
+ // -------------------- HTML --------------------
+ String sLink;
+ String sLinkDD;
+ String sLinkName;
+ String sLinkDDName;
+ String sHTMLPrefix = aGTA.getHTMLOutputPrefix();
+
+ GlobalLogWriter.get().println("----------------------------------------------------------------------");
+ GlobalLogWriter.get().println(" OutputPath: " + _sOutputPath);
+ GlobalLogWriter.get().println(" NewPath: " + _sNewSubDir);
+ GlobalLogWriter.get().println("----------------------------------------------------------------------");
+
+// if (_sNewSubDir.length() > 0)
+// {
+// sLink = sHTMLPrefix /* + "/cw.php?inifile=" */ + _sOutputPath + fs + _sNewSubDir + fs + sFilenameNoSuffix + ".ini";
+// sLinkDD = sHTMLPrefix /* + "/cw.php?inifile=" */ + _sOutputPath + fs + _sNewSubDir + fs + "DiffDiff_" + sFilenameNoSuffix + ".ini";
+// }
+// else
+// {
+ sLink = sHTMLPrefix /* + "/cw.php?inifile=" */ + _sOutputPath + fs + sFilenameNoSuffix + ".ini";
+ // sLinkDD = sHTMLPrefix /* + "/cw.php?inifile=" */ + _sOutputPath + fs + _sNewSubDir + fs + "DiffDiff_" + sFilenameNoSuffix + ".ini";
+ sLinkDD = sHTMLPrefix /* + "/cw.php?inifile=" */ + _sOutputPath + fs + "DiffDiff_" + sFilenameNoSuffix + ".ini";
+// }
+ sLinkName = sFilenameNoSuffix;
+ sLinkDDName = sFilenameNoSuffix + " (DiffDiff)";
+
+ if (_sDiffPath != null && _sDiffPath.length() > 0)
+ {
+ _aHTMLoutput.indexLine( sLinkDD, sLinkDDName, sLink, sLinkName, sStatusRunThrough, sStatusMessage );
+ }
+ else
+ {
+ _aHTMLoutput.indexLine( sLink, sLinkName, "", "", sStatusRunThrough, sStatusMessage );
+ }
+
+ }
+
+
+}
diff --git a/qadevOOo/runner/convwatch/CrashLoopTest.java b/qadevOOo/runner/convwatch/CrashLoopTest.java
new file mode 100644
index 000000000000..6eb7b35391b8
--- /dev/null
+++ b/qadevOOo/runner/convwatch/CrashLoopTest.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+public class CrashLoopTest extends ReferenceBuilder
+{
+ // The first of the mandatory functions:
+ /**
+ * Return the name of the test.
+ * In this case it is the actual name of the service.
+ * @return The tested service.
+ */
+ public String getTestObjectName() {
+ return "CrashLoopTest runner";
+ }
+
+ // The second of the mandatory functions: return all test methods as an
+ // array. There is only one test function in this example.
+ /**
+ * Return all test methods.
+ * @return The test methods.
+ */
+ public String[] getTestMethodNames() {
+ return new String[]{"testcrashandloops"};
+ }
+
+ public void testcrashandloops()
+ {
+ buildreference();
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/DB.java b/qadevOOo/runner/convwatch/DB.java
new file mode 100644
index 000000000000..4f6ab74a738b
--- /dev/null
+++ b/qadevOOo/runner/convwatch/DB.java
@@ -0,0 +1,541 @@
+package convwatch;
+
+import java.sql.Connection;
+import java.util.StringTokenizer;
+import java.util.ArrayList;
+import helper.OSHelper;
+
+// import convwatch.DBHelper;
+
+public class DB extends DBHelper
+{
+ private static DB m_aDB = null;
+
+ // private ctor
+ private DB()
+ {
+ }
+
+ private static synchronized DB getDB()
+ {
+ if (m_aDB == null)
+ {
+ m_aDB = new DB();
+ }
+ return m_aDB;
+ }
+
+ private String m_sSourceVersion;
+ private String m_sDestinationVersion;
+ private String m_sDocumentPool;
+ private String m_sEnvironment;
+ private String m_sDocID;
+ private String m_sDBDistinct;
+
+ public static void init(String _sDBInfoString)
+ {
+ if (_sDBInfoString == null) return;
+ getDB().fillVariables(_sDBInfoString);
+ getDB().updatestate_status("source started");
+ }
+
+ public static void test()
+ {
+ getDB().sql_test();
+ }
+
+ public static void source_start()
+ {
+ getDB().updatestate_status("source started");
+ }
+
+ public static void source_finished()
+ {
+ getDB().updatestate_status( "source finished");
+ }
+
+ public static void source_failed(String _sMessage)
+ {
+ getDB().updatestate_status("source failed");
+ getDB().updateinfo_status(_sMessage);
+ }
+
+ public static void destination_start()
+ {
+ getDB().updatestate_status("destination started");
+ }
+
+ public static void destination_finished()
+ {
+ getDB().updatestate_status("PASSED-OK");
+ }
+
+ public static void destination_failed(String _sStatus, String _sMessage)
+ {
+ getDB().updatestate_status(_sStatus);
+ getDB().updateinfo_status(_sMessage);
+ }
+ public static void writeNumberOfPages(int _nPages)
+ {
+ getDB().updatepagecount_documents(_nPages);
+ }
+ public static void writeErrorFile(String _sErrorFile)
+ {
+ getDB().updateerrorfile_status(_sErrorFile);
+ }
+ public static void writeHTMLFile(String _sHTMLFile)
+ {
+ getDB().updatehtmlfile_status(_sHTMLFile);
+ }
+
+ public static void writeToDB(String _sFilename,
+ String _sBasename,
+ String _sFileFormat,
+ String _sBuildID,
+ String _sSourceType,
+ int _nResolution )
+ {
+ GlobalLogWriter.get().println("DB: Filename:" + _sFilename);
+ GlobalLogWriter.get().println("DB: Basename:" + _sBasename);
+ GlobalLogWriter.get().println("DB: FileFormat:" + _sFileFormat);
+ GlobalLogWriter.get().println("DB: BuildID:" + _sBuildID);
+ GlobalLogWriter.get().println("DB: SourceType:" + _sSourceType);
+ GlobalLogWriter.get().println("DB: Resolution:" + _nResolution);
+ }
+
+ private String getEnvironment()
+ {
+ if (OSHelper.isWindows())
+ {
+ return "wntmsci";
+ }
+ else if ( OSHelper.isSolarisIntel())
+ {
+ return "unxsoli";
+ }
+ else if ( OSHelper.isSolarisSparc())
+ {
+ return "unxsols";
+ }
+ else if ( OSHelper.isLinuxIntel())
+ {
+ return "unxlngi";
+ }
+ else
+ {
+ GlobalLogWriter.get().println("DB: Unknown environment.");
+ GlobalLogWriter.get().println("DB: os.name := " + System.getProperty("os.name").toLowerCase());
+ GlobalLogWriter.get().println("DB: os.arch := " + System.getProperty("os.arch"));
+ return "";
+ }
+ }
+
+ // fill some db access important variables with values given out of a simple string
+ // DOC_COMPARATOR_DB_INFO_STRING=p:m220,c:m224,d:demo_lla,src:m220,dest:m224,doc:demo_lla,id:294,distinct:81
+
+ private void fillVariables(String _sInfo)
+ {
+ fillDBConnection(_sInfo);
+ m_sEnvironment = getEnvironment();
+
+ StringTokenizer aTokenizer = new StringTokenizer(_sInfo,",",false);
+ while (aTokenizer.hasMoreTokens())
+ {
+ String sPart = aTokenizer.nextToken();
+ if (sPart.startsWith("p:"))
+ {
+ m_sSourceVersion = sPart.substring(2);
+ GlobalLogWriter.get().println("DB: source version: " + m_sSourceVersion);
+ }
+ else if (sPart.startsWith("src:"))
+ {
+ m_sSourceVersion = sPart.substring(4);
+ GlobalLogWriter.get().println("DB: source version: " + m_sSourceVersion);
+ }
+ else if (sPart.startsWith("c:"))
+ {
+ m_sDestinationVersion = sPart.substring(2);
+ GlobalLogWriter.get().println("DB: destination version: " + m_sDestinationVersion);
+ }
+ else if (sPart.startsWith("dest:"))
+ {
+ m_sDestinationVersion = sPart.substring(5);
+ GlobalLogWriter.get().println("DB: destination version: " + m_sDestinationVersion);
+ }
+ else if (sPart.startsWith("d:"))
+ {
+ m_sDocumentPool = sPart.substring(2);
+ GlobalLogWriter.get().println("DB: documentpool version: " + m_sDocumentPool);
+ }
+ else if (sPart.startsWith("doc:"))
+ {
+ m_sDocumentPool = sPart.substring(4);
+ GlobalLogWriter.get().println("DB: documentpool version: " + m_sDocumentPool);
+ }
+ else if (sPart.startsWith("id:"))
+ {
+ m_sDocID = sPart.substring(3);
+ GlobalLogWriter.get().println("DB: docid: " + m_sDocID);
+ }
+ else if (sPart.startsWith("distinct:"))
+ {
+ m_sDBDistinct = sPart.substring(9);
+ GlobalLogWriter.get().println("DB: distinct: " + m_sDBDistinct);
+ }
+ else
+ {
+ }
+ }
+ }
+
+ // public static void insertinto_file(String _sFilename,
+ // String _sBasename,
+ // String _sFileFormat,
+ // String _sBuildID,
+ // String _sSourceType,
+ // int _nResolution )
+ // {
+ // Connection aCon = new ShareConnection().getConnection();
+ //
+ // String sFilename = _sFilename.replace('\\', '/');
+ //
+ // String sDeleteOld = "DELETE FROM file WHERE filename = " + Quote(sFilename);
+ // ExecSQL(aCon, sDeleteOld);
+ //
+ // String sValueLine = "type, filename, basename, fileformat, buildid, resolution, date";
+ // StringBuffer aDataLine = new StringBuffer();
+ // aDataLine.append( Quote(_sSourceType) ) . append( sComma ) .
+ // append( Quote( sFilename) ) . append( sComma ) .
+ // append( Quote( _sBasename) ) . append( sComma ) .
+ // append( Quote( _sFileFormat) ) . append( sComma ) .
+ // append( Quote( _sBuildID) ) . append( sComma ) .
+ // append( _nResolution) . append( sComma ) .
+ // append( Quote( today() ) );
+ //
+ // SQLinsertValues(aCon, "file", sValueLine, aDataLine.toString());
+ // }
+
+ // public static void updatestate_currentdocs(String _sFilename,
+ // String _sState)
+ // {
+ // Connection aCon = new ShareConnection().getConnection();
+ //
+ // String sFilename = _sFilename.replace('\\', '/');
+ //
+ // // String sDeleteOld = "DELETE FROM file WHERE filename = " + Quote(sFilename);
+ // // ExecSQL(aCon, sDeleteOld);
+ //
+ // String sSet = "state=" + Quote(_sState);
+ // String sWhere = getWhereClause() + sAND + "name=" + Quote(sFilename);
+ // SQLupdateValue( aCon, "currentdocs", sSet, sWhere );
+ // }
+
+ private void sql_test()
+ {
+ String sUUID = getDBDistinct();
+ System.out.println("UUID: " + sUUID);
+ }
+
+ public ArrayList QuerySQL(Connection _aCon, String _sSQL)
+ {
+ java.sql.Statement oStmt = null;
+ Connection oCon = null;
+ ArrayList aResultList = new ArrayList();
+ try
+ {
+ oStmt = _aCon.createStatement();
+
+ java.sql.ResultSet aResultSet = oStmt.executeQuery(_sSQL);
+ java.sql.ResultSetMetaData aResultSetMetaData = aResultSet.getMetaData();
+
+ int nColumnCount = aResultSetMetaData.getColumnCount(); // java sql starts with '1'
+ // String[] aColumnName = new String[nColumnCount];
+ // for(int i=1;i<nColumnCount;i++)
+ // {
+ // String aColumnName[i - 1] = aResultSetMetaData.getColumnName(i);
+ // }
+
+ while( aResultSet.next() )
+ {
+ StringBuffer aResult = new StringBuffer();
+ try
+ {
+ Object aObj = null;
+
+
+ aResult.append("sqlresult: ");
+ for (int i=1;i<=nColumnCount;i++)
+ {
+ String sColumnName = aResultSetMetaData.getColumnName(i);
+ aResult.append(sColumnName).append("=");
+ String sValue;
+ int nSQLType = aResultSetMetaData.getColumnType(i);
+ switch(nSQLType)
+ {
+ case java.sql.Types.VARCHAR:
+ sValue = "'" + aResultSet.getString(i) + "'";
+ break;
+ case java.sql.Types.INTEGER:
+ {
+ int nValue = aResultSet.getInt(i);
+ sValue = String.valueOf(nValue);
+ break;
+ }
+
+ default:
+ sValue = "UNSUPPORTED TYPE";
+ }
+ aResult.append(sValue).append(", ");
+ // String sName = aObj.getClass().getName();
+ // System.out.println("sqlresult: Class name: " + sName);
+ }
+ String sResult = aResult.toString();
+ aResultList.add(sResult);
+ // System.out.println(sResult);
+ }
+ catch (java.sql.SQLException e)
+ {
+ }
+ }
+ }
+ catch (java.sql.SQLException e)
+ {
+ String sError = e.getMessage();
+ GlobalLogWriter.get().println("DB: Original SQL error: " + sError);
+ // throw new ValueNotFoundException("Cant execute SQL: " + _sSQL);
+ }
+ return aResultList;
+ }
+
+ private void updatestate_status(String _sStatus)
+ {
+ Connection aCon = new ShareConnection().getConnection();
+
+ // String sInfo = _sInfo.replace('\\', '/');
+
+ // String sDeleteOld = "DELETE FROM file WHERE filename = " + Quote(sFilename);
+ // ExecSQL(aCon, sDeleteOld);
+
+ String sSet = "state=" + Quote(_sStatus);
+ String sWhere = getWhereClause();
+ if (sWhere.length() > 0)
+ {
+ SQLupdateValue( aCon, "status", sSet, sWhere );
+ }
+ }
+ private void updateinfo_status(String _sInfo)
+ {
+ Connection aCon = new ShareConnection().getConnection();
+
+ // String sInfo = _sInfo.replace('\\', '/');
+
+ // String sDeleteOld = "DELETE FROM file WHERE filename = " + Quote(sFilename);
+ // ExecSQL(aCon, sDeleteOld);
+
+ String sSet = "info=" + Quote(_sInfo);
+ String sWhere = getWhereClause();
+ SQLupdateValue( aCon, "status", sSet, sWhere );
+ }
+ private void updateerrorfile_status(String _sErrorFile)
+ {
+ Connection aCon = new ShareConnection().getConnection();
+
+ String sErrorFile = _sErrorFile.replace('\\', '/');
+
+ String sSet = "errorfile=" + Quote(sErrorFile);
+ String sWhere = getWhereClause();
+ SQLupdateValue( aCon, "status", sSet, sWhere );
+ }
+ private void updatehtmlfile_status(String _sHtmlFile)
+ {
+ Connection aCon = new ShareConnection().getConnection();
+
+ String sHtmlFile = _sHtmlFile.replace('\\', '/');
+
+ String sSet = "htmlfile=" + Quote(sHtmlFile);
+ String sWhere = getWhereClause();
+ SQLupdateValue( aCon, "status", sSet, sWhere );
+ }
+ private void updatepagecount_documents(int _nPageCount)
+ {
+ Connection aCon = new ShareConnection().getConnection();
+
+ String sSet = "pagecount=" + _nPageCount;
+ String sWhere = getWhereClause();
+ SQLupdateValue( aCon, "documents", sSet, sWhere );
+
+ }
+
+
+ private String getWhereClause()
+ {
+ StringBuffer aWhereClause = new StringBuffer();
+ // WHERE environment='' and referenceversion='' and currentversion='' and documentpool=''
+ // aWhere.append( "environment" ). append(sEqual) . append(Quote(m_sEnvironment)) .
+ // append(sAND) .
+ // append( "referenceversion" ). append(sEqual) . append(Quote(m_sSourceVersion)) .
+ // append(sAND) .
+ // append( "currentversion" ). append(sEqual) . append(Quote(m_sDestinationVersion)) .
+ // append(sAND) .
+ // append( "documentpool" ). append(sEqual) . append(Quote(m_sDocumentPool));
+ boolean bAND = false;
+ if (m_sDocID != null)
+ {
+ aWhereClause.append( "docid" ). append(sEqual) . append(m_sDocID);
+ bAND = true;
+ }
+ if (bAND)
+ {
+ aWhereClause.append(sAND);
+ }
+ if (m_sDBDistinct != null)
+ {
+ aWhereClause.append( "dbdistinct2" ). append(sEqual) . append(Quote(m_sDBDistinct));
+ }
+ return aWhereClause.toString();
+ }
+
+ private String getDBDistinct()
+ {
+ Connection aCon = new ShareConnection().getConnection();
+
+ String sSQL = "SELECT uuid()";
+ ArrayList aResultList = QuerySQL(aCon, sSQL);
+
+ for (int i=0;i<aResultList.size();i++)
+ {
+ String sResult = (String)aResultList.get(i);
+
+ StringTokenizer aTokenizer = new StringTokenizer(sResult,",",false);
+ while (aTokenizer.hasMoreTokens())
+ {
+ String sToken = aTokenizer.nextToken();
+ // System.out.println("PART: " + sToken);
+ int nIndex = sToken.indexOf("uuid()=");
+ // System.out.println("Index " + nIndex);
+ int nIndexTuettel = sToken.indexOf("'", nIndex);
+ // System.out.println("IndexTuettel " + nIndexTuettel);
+ int nIndexTuettel2 = sToken.lastIndexOf("'");
+ // System.out.println("IndexTuettel2 " + nIndexTuettel2);
+ String sUuid = sToken.substring(nIndexTuettel + 1, nIndexTuettel2);
+ // if (sPart.startsWith("p:"))
+ // {
+ // m_sSourceVersion = sPart.substring(2);
+ // GlobalLogWriter.get().println("DB: source version: " + m_sSourceVersion);
+ // }
+ return sUuid;
+ }
+ // System.out.println(sResult);
+ }
+
+ return "0";
+ }
+
+ public static void insertinto_documentcompare(String _sSourceVersion, String _sSourceName, String _sSourceCreatorType,
+ String _sDestinationVersion, String _sDestinationName, String _sDestinationCreatorType,
+ String _sDocumentPoolDir, String _sDocumentPoolName, String _sMailAddress,
+ String _sSpecial, String _sParentDistinct)
+ {
+ getDB().insertinto_documentcompare_impl( _sSourceVersion, _sSourceName, _sSourceCreatorType,
+ _sDestinationVersion, _sDestinationName, _sDestinationCreatorType,
+ _sDocumentPoolDir, _sDocumentPoolName, _sMailAddress,
+ _sSpecial, _sParentDistinct);
+ }
+
+ private void insertinto_documentcompare_impl(String _sSourceVersion, String _sSourceName, String _sSourceCreatorType,
+ String _sDestinationVersion, String _sDestinationName, String _sDestinationCreatorType,
+ String _sDocumentPoolDir, String _sDocumentPoolName, String _sMailAddress,
+ String _sSpecial, String _sParentDistinct)
+ {
+ // $sSQLInsert = "INSERT INTO documentcompare
+ if (_sParentDistinct == null)
+ {
+ _sParentDistinct = "";
+ }
+
+ Connection aCon = new ShareConnection().getConnection();
+
+ String sValueLine="dbdistinct2, environment, sourceversion, sourcename, sourcecreatortype, destinationversion, destinationname, destinationcreatortype, documentpoolpath, documentpool, mailfeedback, state, special, parentdistinct, startdate";
+ String sDocumentPoolDir = _sDocumentPoolDir.replace('\\', '/');
+ StringBuffer aDataLine = new StringBuffer();
+ aDataLine.append( Quote(getDBDistinct()) ) . append( sComma ) .
+ append( Quote( getEnvironment()) ) . append( sComma ) .
+ append( Quote( _sSourceVersion) ) . append( sComma ) .
+ append( Quote( _sSourceName) ) . append( sComma ) .
+ append( Quote( _sSourceCreatorType ) ) . append( sComma ) .
+ append( Quote( _sDestinationVersion) ) . append( sComma ) .
+ append( Quote( _sDestinationName) ) . append( sComma ) .
+ append( Quote( _sDestinationCreatorType ) ) . append( sComma ) .
+ append( Quote( sDocumentPoolDir) ) . append( sComma ) .
+ append( Quote( _sDocumentPoolName) ) . append( sComma ) .
+ append( Quote( _sMailAddress) ) . append( sComma ) .
+ append( Quote( "new" )) . append ( sComma ) .
+ append( Quote( _sSpecial ) ) . append( sComma ) .
+ append( Quote( _sParentDistinct ) ) . append( sComma ) .
+ append( Quote( today() ));
+
+ SQLinsertValues(aCon, "documentcompare", sValueLine, aDataLine.toString());
+ }
+
+ // public static void filesRemove(String _sDBInfoString)
+ // {
+ // if (_sDBInfoString == null) return;
+ // fillVariables(_sDBInfoString);
+ //
+ // Connection aCon = new ShareConnection().getConnection();
+ //
+ // String sDeleteSQL = "DELETE FROM currentdocs WHERE " + getWhereClause();
+ //
+ // ExecSQL(aCon, sDeleteSQL);
+ // }
+ //
+ // public static void fileInsert(String _sDBInfoString,
+ // String _sFilename,
+ // String _sRemovePath)
+ // {
+ // if (_sDBInfoString == null) return;
+ // fillVariables(_sDBInfoString);
+ //
+ // String sFilename = _sFilename.replace('\\', '/');
+ //
+ // Connection aCon = new ShareConnection().getConnection();
+ //
+ // String sValueLine = "environment, referenceversion, currentversion, documentpool, name, state";
+ // StringBuffer aDataLine = new StringBuffer();
+ // aDataLine.append( Quote(m_sEnvironment) ) . append( sComma ) .
+ // append( Quote( m_sSourceVersion) ) . append( sComma ) .
+ // append( Quote( m_sDestinationVersion) ) . append( sComma ) .
+ // append( Quote( m_sDocumentPool) ) . append( sComma ) .
+ // append( Quote( sFilename) ) . append( sComma ) .
+ // append( Quote( "undone"));
+ //
+ // SQLinsertValues(aCon, "currentdocs", sValueLine, aDataLine.toString());
+ // }
+
+
+ // public static void insertinto_file(String _sFilename, String _sFileFormat, String _sBuildID)
+ // {
+ // Connection aCon = new ShareConnection().getConnection();
+ //
+ // String sValueLine = "type, filename, fileformat, buildid, date";
+ // StringBuffer aDataLine = new StringBuffer();
+ // aDataLine.append( "1" ) . append( sComma ) .
+ // append( Quote( _sFilename) ) . append( sComma ) .
+ // append( Quote( _sFileFormat) ) . append( sComma ) .
+ // append( Quote( _sBuildID) ) . append( sComma ) .
+ // append( Quote( today() ) );
+ //
+ // SQLinsertValues(aCon, "file", sValueLine, aDataLine.toString());
+ // }
+
+ // public static void main( String[] args )
+ // {
+ //
+ // String _sFilename = "";
+ // String _sFileFormat = "";
+ // String _sBuildID = "";
+ //
+ // // insertinto_file("c:\temp\test.txt", "test", "txt", "nix", "", 0);
+ // fillVariables("p:m128,c:m134,d:demo");
+ // }
+}
diff --git a/qadevOOo/runner/convwatch/DBHelper.java b/qadevOOo/runner/convwatch/DBHelper.java
new file mode 100644
index 000000000000..e28fafb65ec4
--- /dev/null
+++ b/qadevOOo/runner/convwatch/DBHelper.java
@@ -0,0 +1,316 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import java.lang.Thread;
+import java.util.StringTokenizer;
+
+class ShareConnection
+{
+ private Connection m_aConnection = null;
+ public ShareConnection()
+ {}
+
+ public Connection getConnection()
+ {
+ if (m_aConnection == null)
+ {
+ try
+ {
+ m_aConnection = DBHelper.getMySQLConnection();
+ }
+ catch(java.sql.SQLException e)
+ {
+ GlobalLogWriter.get().println("DB: ERROR: can't connect to DB.");
+ m_aConnection = null;
+ }
+ }
+ return m_aConnection;
+ }
+}
+
+ class MySQLThread extends Thread
+ {
+ Connection m_aCon = null;
+ String m_sSQL;
+ public MySQLThread(Connection _aCon, String _sSQL)
+ {
+ m_aCon = _aCon;
+ m_sSQL = _sSQL;
+ }
+
+ public void run()
+ {
+ Statement oStmt = null;
+ if (m_aCon == null)
+ {
+ GlobalLogWriter.get().println("DB: ERROR: in ExecSQL, connection not established.");
+ return;
+ }
+
+ // Connection oCon = null;
+ try
+ {
+ // oCon = getMySQLConnection();
+ oStmt = m_aCon.createStatement();
+
+ GlobalLogWriter.get().println("DB: " + m_sSQL);
+ /* ResultSet oResult = */
+ oStmt.executeUpdate(m_sSQL);
+ }
+ catch(Exception e)
+ {
+ GlobalLogWriter.get().println("DB: Couldn't execute sql string '" + m_sSQL + "'");
+ GlobalLogWriter.get().println("DB: Reason: " + e.getMessage());
+ }
+ }
+ }
+
+public class DBHelper
+{
+ /**
+ * This method inserts given values into<br>
+ * the table 'states'
+ * @param values a set of comma separated values to be inserted
+ */
+
+ public void SQLinsertValues(Connection _aCon, String _sTableName, String value_names, String values)
+ {
+ if (_aCon == null)
+ {
+ GlobalLogWriter.get().println("DB: ERROR: in SQLinsertValues, connection not established.");
+ return;
+ }
+
+ // String aInsertStr = "";
+ //
+ // aInsertStr = "INSERT INTO " + _sTableName + " (" + value_names + " ) VALUES (" + values + ")";
+ // ExecSQL(_aCon, aInsertStr);
+ StringBuffer aInsertStr = new StringBuffer();
+
+ aInsertStr.append( "INSERT INTO " ) . append( _sTableName );
+ aInsertStr.append( " (").append( value_names ).append ( ")" );
+ aInsertStr.append(" VALUES (" ).append( values ).append( ")" );
+ ExecSQL(_aCon, aInsertStr.toString() );
+ }
+
+ public void SQLupdateValue(Connection _aCon, String _sTableName, String _sSet, String _sWhere)
+ {
+ if (_aCon == null)
+ {
+ GlobalLogWriter.get().println("DB: ERROR: in SQLinsertValues, connection not established.");
+ return;
+ }
+
+ // String aUpdateStr = "";
+ //
+ // aUpdateStr = "UPDATE " + _sTableName + " SET " + _sSet + " WHERE " + _sWhere;
+ // ExecSQL( _aCon, aUpdateStr );
+ StringBuffer aUpdateStr = new StringBuffer();
+
+ aUpdateStr.append( "UPDATE " ).append( _sTableName )
+ .append( " SET " ).append( _sSet )
+ .append( " WHERE " ).append( _sWhere );
+ ExecSQL( _aCon, aUpdateStr.toString() );
+ }
+
+ private static String m_sDBServerName;
+ private static String m_sDBName;
+ private static String m_sDBUser;
+ private static String m_sDBPasswd;
+
+ protected synchronized void fillDBConnection(String _sInfo)
+ {
+ StringTokenizer aTokenizer = new StringTokenizer(_sInfo,",",false);
+ while (aTokenizer.hasMoreTokens())
+ {
+ String sPart = aTokenizer.nextToken();
+ if (sPart.startsWith("db:"))
+ {
+ m_sDBName = sPart.substring(3);
+ // GlobalLogWriter.get().println("DB: source version: " + m_sSourceVersion);
+ }
+ else if (sPart.startsWith("user:"))
+ {
+ m_sDBUser = sPart.substring(5);
+ }
+ else if (sPart.startsWith("passwd:"))
+ {
+ m_sDBPasswd = sPart.substring(7);
+ }
+ else if (sPart.startsWith("server:"))
+ {
+ m_sDBServerName = sPart.substring(7);
+ }
+ }
+ }
+
+ /**
+ * This method establishes a Connection<br>
+ * with the database 'module_unit' on jakobus
+ */
+
+ public static Connection getMySQLConnection() throws SQLException
+ {
+ try
+ {
+ Class.forName("org.gjt.mm.mysql.Driver");
+ String sConnection = "jdbc:mysql://" + m_sDBServerName + ":3306/" + m_sDBName;
+ // Connection mysql = DriverManager.getConnection(
+ // "jdbc:mysql://jakobus:3306/jobs_convwatch","admin","admin");
+ Connection mysql = DriverManager.getConnection(sConnection, m_sDBUser, m_sDBPasswd);
+ return mysql;
+ }
+ catch (ClassNotFoundException e)
+ {
+ GlobalLogWriter.get().println("DB: Class not found exception caught: " + e.getMessage());
+ GlobalLogWriter.get().println("DB: Maybe mysql.jar is not added to the classpath.");
+ }
+ return null;
+ }
+
+
+ /**
+ * This method removes all entries of the given<br>
+ * module/platform combination
+ * @param mdl the name of the module, e.g. sal
+ * @param os the name of the platform, e.g. unxsols
+ */
+ // LLA: public static void SQLdeleteValues(Connection _aCon, String _sEnvironment, String _sUnitName, String _sMethodName, String _sCWS, String _sDate)
+ // LLA: {
+ // LLA: String sSQL =
+ // LLA: "DELETE FROM states WHERE " +
+ // LLA: " unit=" + DatabaseEntry.Quote(_sUnitName) +
+ // LLA: " AND pf=" + DatabaseEntry.Quote (_sEnvironment) +
+ // LLA: " AND meth=" + DatabaseEntry.Quote (_sMethodName) +
+ // LLA: " AND cws=" + DatabaseEntry.Quote(_sCWS) +
+ // LLA: " AND dt=" + DatabaseEntry.Quote(_sDate);
+ // LLA:
+ // LLA: // ExecSQL(_aCon, sSQL);
+ // LLA: }
+
+ protected synchronized void ExecSQL(Connection _aCon, String _sSQL)
+ {
+ MySQLThread aSQLThread = new MySQLThread(_aCon, _sSQL);
+ aSQLThread.start();
+ }
+
+
+
+ // public static int QueryIntFromSQL(String _sSQL, String _sColumnName, String _sValue)
+ // {
+ // boolean bNeedSecondTry = false;
+ // int nValue = 0;
+ // do
+ // {
+ // try
+ // {
+ // nValue = QueryIntFromSQL(_sSQL, _sColumnName, _sValue);
+ // }
+ // catch (ValueNotFoundException e)
+ // {
+ // bNeedSecondTry = true;
+ // String sSQL = "INSERT INTO " + _sTable + "(" + _sColumnName + ") VALUES (" + _sValue + ")";
+ // ExecSQL(sSQL);
+ // }
+ // } while (bNeedSecondTry);
+ // return nValue;
+ // }
+
+ public int QueryIntFromSQL(Connection _aCon, String _sSQL, String _sColumnName)
+ throws ValueNotFoundException
+ {
+ Statement oStmt = null;
+ Connection oCon = null;
+ int nValue = 0;
+ try
+ {
+ // oCon = getMySQLConnection();
+ oStmt = _aCon.createStatement();
+
+ ResultSet oResult = oStmt.executeQuery(_sSQL);
+ oResult.next();
+
+ try
+ {
+ if (_sColumnName.length() == 0)
+ {
+ // take the first row value (started with 1)
+ nValue = oResult.getInt(1);
+ }
+ else
+ {
+ nValue = oResult.getInt(_sColumnName);
+ }
+ // System.out.println("value: " + String.valueOf(nValue));
+ }
+ catch (SQLException e)
+ {
+ String sError = e.getMessage();
+ GlobalLogWriter.get().println("DB: Original SQL error: " + sError);
+ throw new ValueNotFoundException("Cant execute SQL: " + _sSQL);
+ }
+ }
+ catch(SQLException e)
+ {
+ String sError = e.getMessage();
+ GlobalLogWriter.get().println("DB: Couldn't execute sql string " + _sSQL + "\n" + sError);
+ }
+ return nValue;
+ }
+
+ public String Quote(String _sToQuote)
+ {
+ String ts = "'";
+ String ds = "\"";
+ int nQuote = _sToQuote.indexOf(ts);
+ if (nQuote >= 0)
+ {
+ return ds + _sToQuote + ds;
+ }
+ return ts + _sToQuote + ts;
+ }
+
+/* default date format in the MySQL DB yyyy-MM-dd */
+ public static String today()
+ {
+ return DateHelper.getDateString("yyyy-MM-dd");
+ }
+
+ public static final String sComma = ",";
+ public static final String sEqual = "=";
+ public static final String sAND = " AND ";
+
+}
+
diff --git a/qadevOOo/runner/convwatch/DateHelper.java b/qadevOOo/runner/convwatch/DateHelper.java
new file mode 100755
index 000000000000..59207ea3ee3a
--- /dev/null
+++ b/qadevOOo/runner/convwatch/DateHelper.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.text.SimpleDateFormat;
+import java.util.GregorianCalendar;
+import java.text.FieldPosition;
+import java.util.Locale;
+
+public class DateHelper
+{
+ public static String getDateTimeForFilename()
+ {
+ return getDateString("yyyyMMdd-HHmmss");
+ }
+
+ public static String getDateTimeForHumanreadableLog()
+ {
+ return getDateString("[yyyy/MM/dd hh:mm:ss]");
+ }
+
+ public static String getDateString(String _sFormat)
+ {
+ GregorianCalendar aCalendar = new GregorianCalendar();
+ StringBuffer aBuf = new StringBuffer();
+
+ Locale aLocale = new Locale("en","US");
+ SimpleDateFormat aFormat = new SimpleDateFormat(_sFormat, aLocale);
+ aBuf = aFormat.format(aCalendar.getTime(), aBuf, new FieldPosition(0) );
+ // DebugHelper.writeInfo("Date: " + aBuf.toString());
+ return aBuf.toString();
+ }
+}
diff --git a/qadevOOo/runner/convwatch/DirectoryHelper.java b/qadevOOo/runner/convwatch/DirectoryHelper.java
new file mode 100644
index 000000000000..a15d790b9c25
--- /dev/null
+++ b/qadevOOo/runner/convwatch/DirectoryHelper.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+
+/**
+ * Helper for directory access
+ *
+ * @author Lars.Langhans@sun.com
+ */
+public class DirectoryHelper
+{
+ ArrayList m_aFileList = new ArrayList();
+ boolean m_bRecursiveIsAllowed = true;
+
+ void setRecursiveIsAllowed(boolean _bValue)
+ {
+ m_bRecursiveIsAllowed = _bValue;
+ }
+
+ /**
+ * Traverse over a given directory, and filter with a given FileFilter
+ * object and gives back the deep directory as a Object[] list, which
+ * contain a String object for every directory entry.
+ *
+ * <B>Example</B>
+ * List directory /bin, filter out all files which ends with '.prn'
+ *
+ * FileFilter aFileFilter = new FileFilter()
+ * {
+ * public boolean accept( File pathname )
+ * {
+ * if (pathname.getName().endsWith(".prn"))
+ * {
+ * return false;
+ * }
+ * return true;
+ * }
+ * };
+ *
+ * Object[] aList = DirectoryHelper.traverse("/bin", aFileFilter);
+ * for (int i=0;i<aList.length;i++)
+ * {
+ * String aEntry = (String)aList[i];
+ * System.out.println(aEntry);
+ * }
+ *
+ */
+ public static Object[] traverse( String _sDirectory, FileFilter _aFileFilter, boolean _bRecursiveIsAllowed )
+ {
+ DirectoryHelper a = new DirectoryHelper();
+ a.setRecursiveIsAllowed(_bRecursiveIsAllowed);
+ a.traverse_impl(_sDirectory, _aFileFilter);
+ return a.m_aFileList.toArray();
+ }
+
+ public static Object[] traverse( String _sDirectory, boolean _bRecursiveIsAllowed )
+ {
+ DirectoryHelper a = new DirectoryHelper();
+ a.setRecursiveIsAllowed(_bRecursiveIsAllowed);
+ a.traverse_impl(_sDirectory, null);
+ return a.m_aFileList.toArray();
+ }
+
+ void traverse_impl( String afileDirectory, FileFilter _aFileFilter )
+ {
+ File fileDirectory = new File(afileDirectory);
+ // Testing, if the file is a directory, and if so, it throws an exception
+ if ( !fileDirectory.isDirectory() )
+ {
+ throw new IllegalArgumentException( "not a directory: " + fileDirectory.getName() );
+ }
+
+ // Getting all files and directories in the current directory
+ File[] aDirEntries;
+ if (_aFileFilter != null)
+ {
+ aDirEntries = fileDirectory.listFiles(_aFileFilter);
+ }
+ else
+ {
+ aDirEntries = fileDirectory.listFiles();
+ }
+
+ // Iterating for each file and directory
+ for ( int i = 0; i < aDirEntries.length; ++i )
+ {
+ if ( aDirEntries[ i ].isDirectory() )
+ {
+ if (m_bRecursiveIsAllowed == true)
+ {
+ // Recursive call for the new directory
+ traverse_impl( aDirEntries[ i ].getAbsolutePath(), _aFileFilter );
+ }
+ }
+ else
+ {
+ // adding file to List
+ try
+ {
+ // Composing the URL by replacing all backslashs
+ // String stringUrl = "file:///" + aFileEntries[ i ].getAbsolutePath().replace( '\\', '/' );
+ String aStr = aDirEntries[ i ].getAbsolutePath();
+ m_aFileList.add(aStr);
+ }
+ catch( Exception exception )
+ {
+ exception.printStackTrace();
+ break;
+ }
+ }
+ }
+ }
+
+ // tests
+ // public static void main(String[] args)
+ // {
+ // String sDirectory = "/misc/convwatch/gfxcmp/data/doc-pool/demo";
+ // Object[] aDirectoryList = DirectoryHelper.traverse( sDirectory, false );
+ //
+ // for (int i=0;i<aDirectoryList.length;i++)
+ // {
+ // String sEntry = (String)aDirectoryList[i];
+ // System.out.println(sEntry);
+ // }
+ // }
+}
+
diff --git a/qadevOOo/runner/convwatch/DocumentConverter.java b/qadevOOo/runner/convwatch/DocumentConverter.java
new file mode 100644
index 000000000000..f6583dd5fdbc
--- /dev/null
+++ b/qadevOOo/runner/convwatch/DocumentConverter.java
@@ -0,0 +1,277 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+// imports
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+import convwatch.DirectoryHelper;
+import convwatch.OfficePrint;
+import convwatch.ConvWatchException;
+import convwatch.EnhancedComplexTestCase;
+import convwatch.PropertyName;
+import helper.OfficeProvider;
+
+/**
+ * The following Complex Test will test
+ * an already created document and it's postscript output (by an older office version)
+ * with a new office version.
+ * This test use Ghostscript for the jpeg export and graphically compare tools from ImageMagick.
+ * Read the manual for more information.
+ *
+ * this is only the starter program
+ * more is found in qadevOOo/runner/convwatch/*
+ */
+
+public class DocumentConverter extends EnhancedComplexTestCase
+{
+ // The first of the mandatory functions:
+ /**
+ * Return the name of the test.
+ * In this case it is the actual name of the service.
+ * @return The tested service.
+ */
+ public String getTestObjectName() {
+ return "DocumentConverter runner";
+ }
+
+ // The second of the mandatory functions: return all test methods as an
+ // array. There is only one test function in this example.
+ /**
+ * Return all test methods.
+ * @return The test methods.
+ */
+ public String[] getTestMethodNames() {
+ return new String[]{"convert"};
+ }
+
+ // This test is fairly simple, so there is no need for before() or after()
+ // methods.
+
+ public void before()
+ {
+ // System.out.println("before()");
+ }
+
+ public void after()
+ {
+ // System.out.println("after()");
+ }
+
+ // The test method itself.
+ private String m_sInputPath = "";
+ private String m_sReferencePath = "";
+ private boolean m_bIncludeSubdirectories = true;
+
+ void initMember()
+ {
+ // MUST PARAMETER
+ // INPUT_PATH ----------
+ String sINPATH = (String)param.get( PropertyName.DOC_COMPARATOR_INPUT_PATH );
+ boolean bQuit = false;
+ String sError = "";
+ if (sINPATH == null || sINPATH.length() == 0)
+ {
+ log.println("Please set input path (path to documents) " + PropertyName.DOC_COMPARATOR_INPUT_PATH + "=path.");
+ bQuit = true;
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_INPUT_PATH + " " + sINPATH);
+ m_sInputPath = sINPATH;
+ }
+
+ // REFERENCE_PATH ----------
+ String sREF = (String)param.get( PropertyName.DOC_COMPARATOR_REFERENCE_PATH );
+ if (sREF == null || sREF.length() == 0)
+ {
+ log.println("Please set output path (path to a directory, where the references should stay) " + PropertyName.DOC_COMPARATOR_REFERENCE_PATH + "=path.");
+ bQuit = true;
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_REFERENCE_PATH + " " + sREF);
+ m_sReferencePath = sREF;
+ }
+
+ if (bQuit == true)
+ {
+ // log.println("must quit.");
+ assure("Must quit, Parameter problems.", false);
+ }
+
+ if (m_sInputPath.startsWith("file:") ||
+ m_sReferencePath.startsWith("file:"))
+ {
+ assure("We can't handle file: URL right, use system path instead.", false);
+ }
+
+ }
+
+ /**
+ * Function returns a List of software which must accessable as an external executable
+ */
+ protected Object[] mustInstalledSoftware()
+ {
+ ArrayList aList = new ArrayList();
+ // aList.add("perl -version");
+ return aList.toArray();
+ }
+
+ // the test ======================================================================
+ public void convert()
+ {
+ GlobalLogWriter.set(log);
+ // check if all need software is installed and accessable
+ checkEnvironment(mustInstalledSoftware());
+
+ // test_removeFirstDirectorysAndBasenameFrom();
+ // Get the MultiServiceFactory.
+ // XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
+ GraphicalTestArguments aGTA = getGraphicalTestArguments();
+ if (aGTA == null)
+ {
+ assure("Must quit", false);
+ }
+
+ initMember();
+
+ File aInputPath = new File(m_sInputPath);
+ if (aInputPath.isDirectory())
+ {
+ String fs = System.getProperty("file.separator");
+
+ String sRemovePath = aInputPath.getAbsolutePath();
+ // a whole directory
+ FileFilter aFileFilter = FileHelper.getFileFilter();
+
+ Object[] aList = DirectoryHelper.traverse(m_sInputPath, aFileFilter, aGTA.includeSubDirectories());
+ for (int i=0;i<aList.length;i++)
+ {
+ String sEntry = (String)aList[i];
+
+ String sNewReferencePath = m_sReferencePath + fs + FileHelper.removeFirstDirectorysAndBasenameFrom(sEntry, m_sInputPath);
+ log.println("- next file is: ------------------------------");
+ log.println(sEntry);
+
+ if (aGTA.checkIfUsableDocumentType(sEntry))
+ {
+ runGDC(sEntry, sNewReferencePath);
+ }
+ if (aGTA.cancelRequest())
+ {
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (aGTA.checkIfUsableDocumentType(m_sInputPath))
+ {
+ runGDC(m_sInputPath, m_sReferencePath);
+ }
+ }
+ }
+
+ void runGDC(String _sInputFile, String _sReferencePath)
+ {
+ // first do a check if the reference not already exist, this is a big speedup, due to the fact,
+ // we don't need to start a new office.
+ GraphicalTestArguments aGTA_local = getGraphicalTestArguments();
+ // if (GraphicalDifferenceCheck.isReferenceExists(_sInputFile, _sReferencePath, aGTA_local) == false)
+ // {
+ // start a fresh Office
+ OfficeProvider aProvider = null;
+ if (aGTA_local.restartOffice())
+ {
+ aProvider = new OfficeProvider();
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) aProvider.getManager(param);
+ param.put("ServiceFactory", xMSF);
+ }
+ GraphicalTestArguments aGTA = getGraphicalTestArguments();
+
+ if (aGTA.getOfficeProgram().toLowerCase().equals("msoffice"))
+ {
+ // ReferenceType is MSOffice
+ GlobalLogWriter.get().println("USE MSOFFICE AS EXPORT FORMAT.");
+ MSOfficePrint a = new MSOfficePrint();
+ try
+ {
+ String sInputFileBasename = FileHelper.getBasename(_sInputFile);
+ String fs = System.getProperty("file.separator");
+ FileHelper.makeDirectories("", _sReferencePath);
+ String sOutputFile = _sReferencePath;
+ if (sOutputFile.endsWith(fs))
+ {
+ sOutputFile += sInputFileBasename;
+ }
+ else
+ {
+ sOutputFile += fs + sInputFileBasename;
+ }
+
+ a.storeToFileWithMSOffice(aGTA, _sInputFile, sOutputFile);
+ }
+ catch(ConvWatchCancelException e)
+ {
+ GlobalLogWriter.get().println(e.getMessage());
+ }
+ catch(java.io.IOException e)
+ {
+ GlobalLogWriter.get().println(e.getMessage());
+ }
+ }
+ else
+ {
+ try
+ {
+ OfficePrint.convertDocument(_sInputFile, _sReferencePath, aGTA);
+ }
+ catch(ConvWatchCancelException e)
+ {
+ assure(e.getMessage(), false);
+ }
+ catch(ConvWatchException e)
+ {
+ assure(e.getMessage(), false);
+ }
+ }
+
+ if (aGTA.restartOffice())
+ {
+ // Office shutdown
+ aProvider.closeExistingOffice(param, true);
+ }
+ // }
+ }
+}
+
diff --git a/qadevOOo/runner/convwatch/EnhancedComplexTestCase.java b/qadevOOo/runner/convwatch/EnhancedComplexTestCase.java
new file mode 100644
index 000000000000..7c51940d7801
--- /dev/null
+++ b/qadevOOo/runner/convwatch/EnhancedComplexTestCase.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import complexlib.ComplexTestCase;
+import helper.ProcessHandler;
+import convwatch.GraphicalTestArguments;
+
+/**
+ * Some Helperfunctions which are nice in ReferenceBuilder and ConvWatchTest
+ */
+
+public abstract class EnhancedComplexTestCase extends ComplexTestCase
+{
+ // public void before()
+ // {
+ // // System.out.println("before()");
+ // }
+ //
+ // public void after()
+ // {
+ // // System.out.println("after()");
+ // }
+
+ void checkExistance(String _sScriptFile, String _sName)
+ {
+ boolean bBackValue = false;
+ // Process testshl = Runtime.getRuntime().exec(scriptFile);
+ ProcessHandler aHandler = new ProcessHandler(_sScriptFile);
+ bBackValue = aHandler.executeSynchronously();
+ TimeHelper.waitInSeconds(1, "wait after ProcessHandler.executeSynchronously()");
+
+ StringBuffer aBuffer = new StringBuffer();
+ aBuffer.append(aHandler.getErrorText()).append(aHandler.getOutputText());
+ String sText = aBuffer.toString();
+
+ if (sText.length() == 0)
+ {
+ String sError = "Must quit. " + _sName + " may be not accessable.";
+ assure(sError, false);
+ // System.exit(1);
+ }
+ else
+ {
+ // System.out.println("Output from script:");
+ // System.out.println(sText);
+ }
+ }
+
+ // -----------------------------------------------------------------------------
+
+ protected void checkEnvironment(Object[] _aList)
+ {
+ // checks if some packages already installed,
+ // this function will not return if packages are not installed,
+ // it will call System.exit(1)!
+
+ if (needCheckForInstalledSoftware())
+ {
+ for (int i=0;i<_aList.length;i++)
+ {
+ String sCommand = (String)_aList[i];
+ // TODO: nice to have, a pair object
+ checkExistance(sCommand, sCommand);
+ }
+ }
+ }
+
+ // -----------------------------------------------------------------------------
+
+ protected abstract Object[] mustInstalledSoftware();
+ public boolean needCheckForInstalledSoftware()
+ {
+ String sNEEDCHECK = (String)param.get( PropertyName.CHECK_NEED_TOOLS );
+// TODO: I need to get the boolean value with get("name") because, if it is not given getBool() returns
+// with a default of 'false' which is not very helpful if the default should be 'true'
+// maybe a getBoolean("name", true) could be a better choise.
+ if (sNEEDCHECK == null)
+ {
+ sNEEDCHECK = "false";
+ }
+ if (sNEEDCHECK.toLowerCase().equals("yes") ||
+ sNEEDCHECK.toLowerCase().equals("true"))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ public GraphicalTestArguments getGraphicalTestArguments()
+ {
+ GraphicalTestArguments aGTA = new GraphicalTestArguments(param);
+ if (aGTA.getImportFilterName() != null && aGTA.getImportFilterName().toLowerCase().equals("help"))
+ {
+ aGTA = null;
+ }
+ if (aGTA.getExportFilterName() != null && aGTA.getExportFilterName().toLowerCase().equals("help"))
+ {
+ aGTA = null;
+ }
+ return aGTA;
+ }
+}
diff --git a/qadevOOo/runner/convwatch/FileHelper.java b/qadevOOo/runner/convwatch/FileHelper.java
new file mode 100644
index 000000000000..2ff9ede2f8d4
--- /dev/null
+++ b/qadevOOo/runner/convwatch/FileHelper.java
@@ -0,0 +1,405 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.util.StringTokenizer;
+import helper.OSHelper;
+
+import javax.swing.JOptionPane;
+
+public class FileHelper
+{
+ public FileHelper()
+ {
+ // fs = System.getProperty("file.separator");
+
+
+ String sOSName = System.getProperty("os.name");
+ String sOSArch = System.getProperty("os.arch");
+ String sOSVersion = System.getProperty("os.version");
+
+ GlobalLogWriter.get().println(sOSName);
+ GlobalLogWriter.get().println(sOSArch);
+ GlobalLogWriter.get().println(sOSVersion);
+
+ }
+
+ public static void MessageBox(String _sStr)
+ {
+ String sVersion = System.getProperty("java.version");
+ String sOSName = System.getProperty("os.name");
+ JOptionPane.showMessageDialog( null, _sStr, sVersion + " " + sOSName + " Hello World Debugger", JOptionPane.INFORMATION_MESSAGE );
+ }
+
+ public static boolean exists(String _sFile)
+ {
+ if (_sFile == null) return false;
+
+ File aFile = new File(_sFile);
+ if (aFile.exists())
+ {
+ return true;
+ }
+ // This is just nice for DEBUG behaviour
+ // due to the fact this is absolutly context dependency no one should use it.
+ // else
+ // {
+ // System.out.println("FileHelper:exists() tell this path doesn't exists. Check it. path is:" );
+ // System.out.println( _sFile );
+ // System.out.println( aFile.getAbsolutePath() );
+ // MessageBox("Der JavaProzess wartet auf eine interaktion ihrerseits.");
+ //
+ // File aFile2 = new File(_sFile);
+ // if (aFile2.exists())
+ // {
+ // System.out.println("Thanks, file exists." );
+ // return true;
+ // }
+ // }
+ return false;
+ }
+
+ public static boolean isDir(String _sDir)
+ {
+ if (_sDir == null) return false;
+ try
+ {
+ File aFile = new File(_sDir);
+ if (aFile.exists() && aFile.isDirectory())
+ {
+ return true;
+ }
+ }
+ catch (NullPointerException e)
+ {
+ GlobalLogWriter.get().println("Exception caught. FileHelper.isDir('" + _sDir + "')");
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ public static String getBasename(String _sFilename)
+ {
+ if (_sFilename == null) return "";
+ String fs = System.getProperty("file.separator");
+
+ int nIdx = _sFilename.lastIndexOf(fs);
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(nIdx + 1);
+ }
+ return _sFilename;
+ }
+
+ public static String getNameNoSuffix(String _sFilename)
+ {
+ if (_sFilename == null) return "";
+ int nIdx = _sFilename.lastIndexOf(".");
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(0, nIdx);
+ }
+ return _sFilename;
+ }
+
+ public static String getSuffix(String _sFilename)
+ {
+ if (_sFilename == null) return "";
+ int nIdx = _sFilename.lastIndexOf(".");
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(nIdx );
+ }
+ return "";
+ }
+
+ public static String getPath(String _sFilename)
+ {
+ if (_sFilename == null) return "";
+ String fs = System.getProperty("file.separator");
+
+ int nIdx = _sFilename.lastIndexOf(fs);
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(0, nIdx);
+ }
+ return "";
+ }
+
+/*
+ static ArrayList files = new ArrayList();
+ public static Object[] traverse( String afileDirectory )
+ {
+
+ File fileDirectory = new File(afileDirectory);
+ // Testing, if the file is a directory, and if so, it throws an exception
+ if ( !fileDirectory.isDirectory() )
+ {
+ throw new IllegalArgumentException( "not a directory: " + fileDirectory.getName() );
+ }
+
+ // Getting all files and directories in the current directory
+ File[] entries = fileDirectory.listFiles();
+
+ // Iterating for each file and directory
+ for ( int i = 0; i < entries.length; ++i )
+ {
+ // adding file to List
+ try
+ {
+ // Composing the URL by replacing all backslashs
+ String stringUrl = "file:///"
+ + entries[ i ].getAbsolutePath().replace( '\\', '/' );
+ files.add(stringUrl);
+ }
+ catch( Exception exception )
+ {
+ exception.printStackTrace();
+ }
+ }
+ return files.toArray();
+ }
+*/
+
+ // makeDirectories("", "/tmp/a/b");
+ // creates all directories /tmp/a/b
+ //
+ public static void makeDirectories(String first, String path)
+ {
+ makeDirectories(first, path, "0777");
+ }
+
+ public static void makeDirectories(String first, String path, String _sMode)
+ {
+ String fs = System.getProperty("file.separator");
+ if (path.startsWith(fs + fs)) // starts with UNC Path
+ {
+ int n = path.indexOf(fs, 2);
+ n = path.indexOf(fs, n + 1);
+ first = path.substring(0, n);
+ path = path.substring(n + 1);
+ }
+
+ String already_done = null;
+ StringTokenizer path_tokenizer = new StringTokenizer(path,fs,false);
+ already_done = first;
+ while (path_tokenizer.hasMoreTokens())
+ {
+ String part = path_tokenizer.nextToken();
+ File new_dir = new File(already_done + File.separatorChar + part);
+ already_done = new_dir.toString();
+ // System.out.println(already_done);
+ //create the directory
+ new_dir.mkdirs();
+ if (OSHelper.isUnix() &&
+ _sMode.length() > 0)
+ {
+ try
+ {
+ chmod(new_dir, _sMode);
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.get().println("Exception caught. FileHelper.makeDirectories('" + new_dir.getAbsolutePath() + "')");
+ }
+ }
+ }
+ // return;
+ }
+
+ public static void chmod(File file, String mode) throws java.io.IOException
+ {
+ Runtime.getRuntime().exec
+ (new String[]
+ {"chmod", mode, file.getAbsolutePath()});
+ }
+
+ public static String removeFirstDirectorysAndBasenameFrom(String _sName, String _sRemovePath)
+ {
+ // pre: _sName: /a/b/c/d/e/f.g _sRemovePath /a/b/c
+ // result: d/e
+ String fs = System.getProperty("file.separator");
+
+ String sBasename = FileHelper.getBasename(_sName);
+ String sSubDirs = "";
+ if (_sName.startsWith(_sRemovePath))
+ {
+ // if _sName starts with _sRemovePath
+ int nRemovePathIndex = _sRemovePath.length();
+ if (! _sRemovePath.endsWith(fs))
+ {
+ // add 1 if we not ends with file separator
+ nRemovePathIndex ++;
+ }
+ int nBasenameIndex = _sName.length() - sBasename.length() - 1;
+ if (nRemovePathIndex < nBasenameIndex)
+ {
+ sSubDirs = _sName.substring(nRemovePathIndex, nBasenameIndex);
+ }
+ }
+ else
+ {
+ // special case, the _sRemovePath is not part of _sName
+ sSubDirs = FileHelper.getPath(_sName);
+ if (sSubDirs.startsWith(fs))
+ {
+ // remove leading file separator
+ sSubDirs = sSubDirs.substring(1);
+ }
+ }
+
+ return sSubDirs;
+ }
+
+ public static void test_removeFirstDirectorysAndBasenameFrom()
+ {
+ String a = removeFirstDirectorysAndBasenameFrom("/a/b/c/d/e/f.g", "/a/b/c");
+ // assure("", a.equals("d/e"));
+ String b = removeFirstDirectorysAndBasenameFrom("/a/b/c/d/e/f.g", "/a/b/c/");
+ // assure("", b.equals("d/e"));
+ String c = removeFirstDirectorysAndBasenameFrom("/a/b/c/d/e/f.g", "/b/c");
+ // assure("", c.equals("a/b/c/d/e"));
+ }
+
+
+ public static String getSystemPathFromFileURL( String _sFileURL )
+ {
+ String sSystemFile = null;
+
+ if(_sFileURL.startsWith("file:///"))
+ {
+ if (OSHelper.isWindows())
+ {
+ sSystemFile = _sFileURL.substring(8);
+ }
+ else
+ {
+ sSystemFile = _sFileURL.substring(7);
+ }
+ }
+ else if (_sFileURL.startsWith("file://"))
+ {
+ sSystemFile = _sFileURL.substring(5);
+ }
+ String fs = System.getProperty("file.separator");
+ if (! fs.equals("/"))
+ {
+ sSystemFile = sSystemFile.replace ('/', fs.toCharArray ()[0]);
+ }
+// FEATURE FOR UNC NEED!!!
+ return sSystemFile;
+ }
+
+ private static boolean m_bDebugTextShown = false;
+ public static boolean isDebugEnabled()
+ {
+ boolean bDebug = false;
+ String sTmpPath = util.utils.getUsersTempDir();
+ //util.utils.getUsersTempDir();
+ String fs = System.getProperty("file.separator");
+ String sName = sTmpPath + fs + "DOC_COMPARATOR_DEBUG";
+ File aFile = new File(sName);
+ if (aFile.exists())
+ {
+ if (m_bDebugTextShown == false)
+ {
+ GlobalLogWriter.get().println("Found file: " + sName);
+ GlobalLogWriter.get().println("Activate debug mode.");
+ GlobalLogWriter.get().println("If debug mode is no longer necessary, remove the above file.");
+ m_bDebugTextShown = true;
+ }
+ bDebug = true;
+ }
+ return bDebug;
+ }
+
+ public static void copy(String _sSource, String _sDestination)
+ {
+ try
+ {
+ File inputFile = new File(_sSource);
+ File outputFile = new File(_sDestination);
+
+ java.io.FileReader in = new java.io.FileReader(inputFile);
+ java.io.FileWriter out = new java.io.FileWriter(outputFile);
+ int c;
+
+ while ((c = in.read()) != -1)
+ out.write(c);
+
+ in.close();
+ out.close();
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.get().println("Exception caught. FileHelper.copy('" + _sSource + ", " + _sDestination + "')");
+ GlobalLogWriter.get().println("Message: " + e.getMessage());
+ }
+ }
+
+ /**
+ * Within the directory run through, it's possible to say which file extension types should not
+ * consider like '*.prn' because it's not a document.
+ *
+ * @return a FileFilter function
+ */
+ public static FileFilter getFileFilter()
+ {
+ FileFilter aFileFilter = new FileFilter()
+ {
+ public boolean accept( File pathname )
+ {
+ // leave out files which started by '~$' these are Microsoft Office temp files
+ if (pathname.getName().startsWith("~$"))
+ {
+ return false;
+ }
+
+ if (pathname.getName().endsWith(".prn"))
+ {
+ return false;
+ }
+ // This type of document no one would like to load.
+ if (pathname.getName().endsWith(".zip"))
+ {
+ return false;
+ }
+ // just a hack
+ if (pathname.getName().endsWith("_"))
+ {
+ return false;
+ }
+ return true;
+ }
+ };
+ return aFileFilter;
+ }
+}
+
diff --git a/qadevOOo/runner/convwatch/FilenameHelper.java b/qadevOOo/runner/convwatch/FilenameHelper.java
new file mode 100644
index 000000000000..3d49703dc995
--- /dev/null
+++ b/qadevOOo/runner/convwatch/FilenameHelper.java
@@ -0,0 +1,398 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+/**
+ * Helper class to hold a Filename or a FileURL
+ * Something like File in Java,
+ * with some more extensions direct to ConvWatch and it's name conventions
+ *
+ *
+ */
+package convwatch;
+
+import helper.URLHelper;
+import convwatch.FileHelper;
+import helper.StringHelper;
+import util.utils;
+
+interface Filenamer
+{
+ public String getSuffix();
+ public String getFileURL();
+ public String getAbsoluteSystemFilename();
+ public String getFilename();
+ public String getSystemPath();
+}
+
+// -----------------------------------------------------------------------------
+
+abstract class FilenameHelper_impl implements Filenamer
+{
+ String fs; // file separator like '/'
+ String m_sPath;
+ String m_sFilename;
+ String m_sSuffix;
+ int m_nNumber = 0;
+
+ public String getNumber()
+ {
+ return StringHelper.createValueString(m_nNumber, 4);
+ }
+ public void setNumber(int _n)
+ {
+ m_nNumber = _n;
+ }
+ void initMember()
+ {
+ fs = System.getProperty("file.separator");
+ }
+
+ /**
+ * initialise a FilenameHelper_impl with a complete filename.
+ * if the filename starts with 'file:///' it is interpret as a file URL
+ *
+ */
+ public FilenameHelper_impl()
+ {
+ initMember();
+ }
+
+ public void setCompleteFilename(String _sFilename)
+ {
+ if (_sFilename.startsWith("file:///"))
+ {
+ _sFilename = FileHelper.getSystemPathFromFileURL(_sFilename);
+ }
+ _sFilename = utils.replaceAll13(_sFilename, "\\\\", "/");
+
+ String sPath = checkPath(FileHelper.getPath(_sFilename));
+ String sFilenameWithSuffix = checkFilename(FileHelper.getBasename(_sFilename));
+ String sSuffix = splitSuffix(sFilenameWithSuffix);
+
+ m_sPath = sPath;
+ m_sFilename = FileHelper.getNameNoSuffix(sFilenameWithSuffix);
+ m_sSuffix = sSuffix;
+ }
+
+ /**
+ * initialise a FilenameHelper_impl with a path a name and a suffix separately
+ */
+ public FilenameHelper_impl(String _sPath, String _sName, String _sSuffix)
+ {
+ initMember();
+ _sPath = utils.replaceAll13(_sPath, "\\\\", "/");
+
+ String sPath = checkPath(_sPath);
+ String sFilename = checkFilename(_sName);
+ String sSuffix = checkSuffix(_sSuffix);
+
+ m_sPath = sPath;
+ m_sFilename = sFilename;
+ m_sSuffix = sSuffix;
+ }
+
+ /**
+ * @return the current path as a OOo path URL
+ */
+ public String getFileURL()
+ {
+ String sSystemPath = createAbsoluteFilename();
+ String sFileURL = URLHelper.getFileURLFromSystemPath(sSystemPath);
+ return sFileURL;
+ }
+
+
+ /**
+ * @return the current path as a system path
+ */
+ public String getAbsoluteSystemFilename()
+ {
+ String sSystemFilename = createAbsoluteFilename();
+ sSystemFilename = utils.replaceAll13(sSystemFilename, "/", fs);
+ return sSystemFilename;
+ }
+
+ /**
+ * @return the filename without it's suffix
+ */
+ public String getName()
+ {
+ return m_sFilename;
+ }
+ /**
+ * set only the filename, maybe it's is only a directory.
+ */
+ public void setName(String _sName)
+ {
+ m_sFilename = _sName;
+ }
+ public void setPath(String _sName)
+ {
+ m_sPath = _sName;
+ }
+
+ /**
+ * @return a created name
+ */
+ abstract public String buildName();
+ // {
+ // return getName();
+ // }
+
+ /**
+ * @return the complete filename with it's suffix
+ */
+ public String getFilename()
+ {
+ return buildName() + "." + getSuffix();
+ }
+
+ /**
+ * @return the path as system path
+ */
+ public String getSystemPath()
+ {
+ String sSystemPath = m_sPath;
+ sSystemPath = utils.replaceAll13(sSystemPath, "/", fs);
+ return sSystemPath;
+ }
+ /**
+ * @return true, if current SystemPath is a directory
+ */
+ public boolean isDirectory()
+ {
+ return FileHelper.isDir(getSystemPath());
+ }
+
+ /**
+ * @return true, if the file really exist.
+ */
+ public boolean exists()
+ {
+ return FileHelper.exists(createAbsoluteFilename());
+ }
+
+ /**
+ * @return the current suffix
+ */
+ public String getSuffix()
+ {
+ return m_sSuffix;
+ }
+ /**
+ * @return the complete name. Without convert the path separator!
+ */
+ String createAbsoluteFilename()
+ {
+ return m_sPath + fs + getFilename();
+ }
+
+ /*
+ * remove follows 'file separators'
+ */
+ String checkPath(String _sPath)
+ {
+ String sPath;
+ if (_sPath.endsWith("/") || _sPath.endsWith("\\"))
+ {
+ sPath = _sPath.substring(0, _sPath.length() - 1);
+ }
+ else
+ {
+ sPath = _sPath;
+ }
+ return sPath;
+ }
+
+ String checkFilename(String _sFilename)
+ {
+ String sFilename;
+ if (_sFilename.startsWith("/") || _sFilename.startsWith("\\"))
+ {
+ sFilename = _sFilename.substring(1);
+ }
+ else
+ {
+ sFilename = _sFilename;
+ }
+ return sFilename;
+ }
+
+ String checkSuffix(String _sSuffix)
+ {
+ String sSuffix;
+ if (_sSuffix.startsWith("."))
+ {
+ sSuffix = _sSuffix.substring(1);
+ }
+ else
+ {
+ sSuffix = _sSuffix;
+ }
+ return sSuffix;
+ }
+
+ String splitSuffix(String _sName)
+ {
+ String sSuffix = FileHelper.getSuffix(_sName);
+ return checkSuffix(sSuffix);
+ }
+
+ public boolean equals(FilenameHelper_impl _aOtherFN)
+ {
+ String sPath = createAbsoluteFilename();
+ String sPathOther = _aOtherFN.createAbsoluteFilename();
+ if (sPath.equals(sPathOther))
+ {
+ return true;
+ }
+ return false;
+ }
+
+}
+
+/**
+ * Original filename
+ */
+class OriginalFilename extends FilenameHelper_impl
+{
+ public String buildName()
+ {
+ return getName();
+ }
+
+ public OriginalFilename(){}
+ public OriginalFilename(String _path, String _filename, String _ext) { super(_path, _filename, _ext);}
+}
+
+/**
+ * Reference from original
+ */
+class OriginalReferenceFilename extends FilenameHelper_impl
+{
+ public String getSuffix()
+ {
+ return "prn";
+ }
+ public String buildName()
+ {
+ return getName();
+ }
+ public OriginalReferenceFilename(){}
+ public OriginalReferenceFilename(String _path, String _filename, String _ext) { super(_path, _filename, _ext);}
+}
+
+/**
+ * picture from reference from original
+ */
+class OriginalReferencePictureFilename extends FilenameHelper_impl
+{
+ public String getSuffix()
+ {
+ return "jpg";
+ }
+ public String buildName()
+ {
+ return getName() + "-" + getNumber() + "-ref";
+ }
+ public String getBuildString()
+ {
+ return getName() + "-" + "%04d" + "-ref";
+ }
+
+ public OriginalReferencePictureFilename(){}
+ public OriginalReferencePictureFilename(String _path, String _filename, String _ext) { super(_path, _filename, _ext);}
+}
+
+/**
+ * Reference from OpenOffice.org
+ */
+class CurrentReferenceFilename extends FilenameHelper_impl
+{
+ public String getSuffix()
+ {
+ return "ps";
+ }
+ public String buildName()
+ {
+ return getName();
+ }
+
+ public CurrentReferenceFilename(){}
+ public CurrentReferenceFilename(String _path, String _filename, String _ext) { super(_path, _filename, _ext);}
+}
+
+/**
+ * picture from reference from OpenOffice.org
+ */
+class CurrentReferencePictureFilename extends FilenameHelper_impl
+{
+ public String getSuffix()
+ {
+ return "jpg";
+ }
+ public String buildName()
+ {
+ return getName() + "-" + getNumber() + "-new-ref";
+ }
+ public String getBuildString()
+ {
+ return getName() + "-" + "%04d" + "-new-ref";
+ }
+
+ public CurrentReferencePictureFilename(){}
+ public CurrentReferencePictureFilename(String _path, String _filename, String _ext) { super(_path, _filename, _ext);}
+}
+
+
+public class FilenameHelper
+{
+
+ public static void main(String[] args)
+ {
+ OriginalReferenceFilename d = new OriginalReferenceFilename();
+ d.setCompleteFilename("c:\\dir1\\dir2\\name.ext");
+ System.out.println("Suffix: " + d.getSuffix());
+ System.out.println("Path: " + d.getSystemPath());
+ System.out.println("Absolute system path filename: " + d.getAbsoluteSystemFilename());
+ System.out.println("URL: " + d.getFileURL());
+ System.out.println("Filename: " + d.getFilename());
+
+ OriginalReferenceFilename a = new OriginalReferenceFilename("/dir1/dir2/", "name",".ext");
+ OriginalReferenceFilename a1 = new OriginalReferenceFilename("/dir1/dir2","name.ext","");
+ OriginalReferenceFilename a2 = new OriginalReferenceFilename("/dir1/dir2","/name.ext","");
+ OriginalReferenceFilename a3 = new OriginalReferenceFilename("/dir1/dir2","/name",".ext");
+ OriginalReferenceFilename a4 = new OriginalReferenceFilename("/dir1/dir2","name","ext");
+
+
+ // OriginalReferenceFilename b = new OriginalReferenceFilename("c:/dir1/dir2/name.ext");
+ // OriginalReferenceFilename c = new OriginalReferenceFilename("file:///dir1/dir2/name.ext");
+ // OriginalReferenceFilename e = new OriginalReferenceFilename("c:\\dir1\\dir2\\name");
+ // OriginalReferenceFilename f = new OriginalReferenceFilename("c:\\dir1\\dir2");
+ // OriginalReferenceFilename g = new OriginalReferenceFilename("c:\\dir1\\dir2\\");
+ }
+}
diff --git a/qadevOOo/runner/convwatch/GfxCompare.java b/qadevOOo/runner/convwatch/GfxCompare.java
new file mode 100644
index 000000000000..b45897475c23
--- /dev/null
+++ b/qadevOOo/runner/convwatch/GfxCompare.java
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.util.ArrayList;
+import convwatch.EnhancedComplexTestCase;
+import convwatch.PRNCompare;
+import convwatch.GraphicalTestArguments;
+import helper.URLHelper;
+import convwatch.OfficePrint;
+import java.io.File;
+
+public class GfxCompare extends EnhancedComplexTestCase
+{
+ // The first of the mandatory functions:
+ /**
+ * Return the name of the test.
+ * In this case it is the actual name of the service.
+ * @return The tested service.
+ */
+ // public String getTestObjectName() {
+ // return "ConvWatch runner";
+ // }
+
+ // The second of the mandatory functions: return all test methods as an
+ // array. There is only one test function in this example.
+ /**
+ * Return all test methods.
+ * @return The test methods.
+ */
+
+ public String[] getTestMethodNames() {
+ return new String[]{"gfxcompare"};
+ }
+
+ /**
+ *
+ * @return a List of software which must accessable as an external executable
+ */
+ protected Object[] mustInstalledSoftware()
+ {
+ ArrayList aList = new ArrayList();
+ // Tools from ImageMagick
+ aList.add( "composite -version" );
+ aList.add( "identify -version" );
+
+ // Ghostscript
+ aList.add( "gs -version" );
+ return aList.toArray();
+ }
+
+
+ GraphicalTestArguments m_aArguments = null;
+ /**
+ * The test method itself.
+ * Don't try to call it from outside, it is started only from qadevOOo runner
+ */
+
+ /* protected */
+ public void gfxcompare()
+ {
+ GlobalLogWriter.set(log);
+
+ // check if all need software is installed and accessable
+ checkEnvironment(mustInstalledSoftware());
+
+ m_aArguments = getGraphicalTestArguments();
+
+ String sFile1 = (String)param.get("FILE1");
+ String sFile2 = (String)param.get("FILE2");
+ compare(sFile1, sFile2);
+ }
+
+ // -----------------------------------------------------------------------------
+
+ String createJPEG(String _sFile, String _sAdditional)
+ {
+ String sJPEGFile = "";
+ if (_sFile.startsWith("file:///"))
+ {
+ _sFile = FileHelper.getSystemPathFromFileURL(_sFile);
+ }
+ File aFile = new File(_sFile);
+ if (aFile.exists())
+ {
+ String sAbsFile = aFile.getAbsolutePath();
+ if (!sAbsFile.equals(_sFile))
+ {
+ _sFile = sAbsFile;
+ }
+ }
+ else
+ {
+ GlobalLogWriter.get().println("File: '" + _sFile + "' doesn't exist.");
+ return "";
+ }
+ String sFileDir = FileHelper.getPath(_sFile);
+ String sBasename = FileHelper.getBasename(_sFile);
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+
+ String fs = System.getProperty("file.separator");
+ String sTmpDir = util.utils.getUsersTempDir();
+ if (m_aArguments.getOutputPath() != null)
+ {
+ sTmpDir = m_aArguments.getOutputPath();
+ }
+
+ if (_sFile.toLowerCase().endsWith("ps") ||
+ _sFile.toLowerCase().endsWith("prn") ||
+ _sFile.toLowerCase().endsWith("pdf"))
+ {
+ // seems to be a Postscript of PDF file
+
+ String[] aList = PRNCompare.createJPEGFromPostscript(sTmpDir, sFileDir, sBasename, m_aArguments.getResolutionInDPI());
+ sJPEGFile = aList[0];
+ }
+ else if (_sFile.toLowerCase().endsWith("jpg") ||
+ _sFile.toLowerCase().endsWith("jpeg"))
+ {
+ // do nothing, it's already a picture.
+ return _sFile;
+ }
+ else
+ {
+ // we assume it's an office document.
+ String sInputURL;
+ String sOutputURL;
+ String sPrintFileURL;
+
+ String sInputFile = sFileDir + fs + sBasename;
+ sInputURL = URLHelper.getFileURLFromSystemPath(sInputFile);
+
+ String sOutputFile = sTmpDir + fs + sBasename;
+ sOutputURL = URLHelper.getFileURLFromSystemPath(sOutputFile);
+
+ String sPrintFile = sTmpDir + fs + sNameNoSuffix + _sAdditional + ".ps";
+ sPrintFileURL = URLHelper.getFileURLFromSystemPath(sPrintFile);
+
+ try
+ {
+ OfficePrint.printToFile(m_aArguments, sInputURL, sOutputURL, sPrintFileURL);
+ sJPEGFile = createJPEG(sPrintFile, _sAdditional);
+ }
+ catch (ConvWatchCancelException e)
+ {
+ GlobalLogWriter.get().println("Exception caught, can't create:" + sPrintFileURL);
+ }
+ }
+ return sJPEGFile;
+ }
+
+
+ public String compare(String _sFile1, String _sFile2)
+ {
+ String sJPEGFile1 = createJPEG(_sFile1, "-1");
+ String sJPEGFile2 = createJPEG(_sFile2, "-2");
+
+ if (sJPEGFile1.length() > 0 && sJPEGFile2.length() > 0)
+ {
+ String sDiffFile = PRNCompare.compareJPEGs(sJPEGFile1, sJPEGFile2);
+
+ if (sDiffFile.length() > 0)
+ {
+ GlobalLogWriter.get().println("Difference created: " + sDiffFile);
+ }
+ return sDiffFile;
+ }
+ return "";
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/GlobalLogWriter.java b/qadevOOo/runner/convwatch/GlobalLogWriter.java
new file mode 100644
index 000000000000..fe785915cc02
--- /dev/null
+++ b/qadevOOo/runner/convwatch/GlobalLogWriter.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import share.LogWriter;
+import stats.SimpleLogWriter;
+
+public class GlobalLogWriter
+{
+ private static LogWriter m_aGlobalLogWriter = null;
+ public static synchronized LogWriter get()
+ {
+ if (m_aGlobalLogWriter == null)
+ {
+ SimpleLogWriter aLog = new SimpleLogWriter();
+ m_aGlobalLogWriter = aLog;
+ }
+ return m_aGlobalLogWriter;
+ }
+
+// public static synchronized void initialize()
+// {
+// get().initialize(null, true);
+// }
+
+ public static synchronized void set(LogWriter _aLog)
+ {
+ m_aGlobalLogWriter = _aLog;
+ }
+
+}
+
diff --git a/qadevOOo/runner/convwatch/GraphicalDifferenceCheck.java b/qadevOOo/runner/convwatch/GraphicalDifferenceCheck.java
new file mode 100644
index 000000000000..efce96c1c15b
--- /dev/null
+++ b/qadevOOo/runner/convwatch/GraphicalDifferenceCheck.java
@@ -0,0 +1,410 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import convwatch.GraphicalTestArguments;
+import convwatch.OfficePrint;
+import convwatch.ConvWatchCancelException;
+import convwatch.FileHelper;
+import java.io.File;
+
+import helper.URLHelper;
+import com.sun.star.lang.XComponent;
+import com.sun.star.frame.XStorable;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+
+public class GraphicalDifferenceCheck
+{
+ private static void showVersion()
+ {
+ // DEBUG only
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.get().println("");
+ GlobalLogWriter.get().println("+##############################+");
+ GlobalLogWriter.get().println("##### THIS IS CONVWATCH #####");
+ GlobalLogWriter.get().println("##### Debug Version 1.0015 #####");
+ GlobalLogWriter.get().println("+##############################+");
+ GlobalLogWriter.get().println("");
+ }
+ }
+
+ /**
+ * Creates references form documents used by the graphical difference check
+ *
+ * @param _sInputPath the original document path
+ * @param _sReferencePath the directory where the document will print as file or export as pdf.
+ *
+ * @throws ConvWatchException if there are problems, see message
+ *
+ * Stops rest, if one creation of reference fails.
+ */
+ public static void createReferences(String _sInputPath, String _sReferencePath, GraphicalTestArguments _aGTA) throws ConvWatchException
+ {
+//!
+// System.out.println("createReferences() InputPath: " + _sInputPath + " refpath: " + _sReferencePath);
+ showVersion();
+ File aInputPath = new File(_sInputPath);
+
+// System.out.println("Inputpath in file: " + aInputPath.getAbsolutePath());
+//!
+// if (aInputPath.exists())
+// {
+// System.out.println("Inputpath exists");
+// }
+// else
+// {
+// System.out.println("Inputpath doesn't exists");
+// return;
+// }
+
+ if (aInputPath.isDirectory())
+ {
+ String fs = System.getProperty("file.separator");
+
+ String sRemovePath = aInputPath.getAbsolutePath();
+ // a whole directory
+
+ Object[] aList = DirectoryHelper.traverse(_sInputPath, FileHelper.getFileFilter(), _aGTA.includeSubDirectories());
+ for (int i=0;i<aList.length;i++)
+ {
+ String sEntry = (String)aList[i];
+ String sNewReferencePath = _sReferencePath + fs + FileHelper.removeFirstDirectorysAndBasenameFrom(sEntry, _sInputPath);
+ createOneReferenceFile(sEntry, sNewReferencePath, _aGTA);
+ }
+ }
+ else
+ {
+//!
+ // System.out.println("No directory.");
+ createOneReferenceFile(_sInputPath, _sReferencePath, _aGTA);
+ }
+ }
+
+
+ /**
+ * Creates a reference for a single document used by the graphical difference check
+ *
+ * @param _sInputFile the original document
+ * @param _sReferencePath the directory where the document will print as file or export as pdf.
+ *
+ * @throws ConvWatchException if the are problems, see containing message
+ */
+ public static boolean createOneReferenceFile(String _sInputFile, String _sReferencePath, GraphicalTestArguments _aGTA) throws ConvWatchException
+ {
+ showVersion();
+ if (_aGTA != null)
+ {
+ _aGTA.setInputFile(_sInputFile);
+ }
+ return OfficePrint.buildReference(_aGTA, _sReferencePath, _sInputFile);
+ }
+
+ /**
+ * Check if a reference exist
+ *
+ * @param _sInputFile the original document
+ * @param _sReferencePath the directory where the document will print as file or export as pdf.
+ *
+ * @throws ConvWatchException if the are problems, see containing message
+ */
+ public static boolean isReferenceExists(String _sInputFile, String _sReferencePath, GraphicalTestArguments _aGTA)
+ {
+ return OfficePrint.isReferenceExists(_aGTA, _sReferencePath, _sInputFile);
+ }
+
+
+ /**
+ * Used for the comparance of graphical differences.
+ * Method compares one document (_sInputFile) with an older document of the same name in the provided directory (_sReferencePath).
+ *
+ * @param _sInputPath the original document path
+ * @param _sOutputPath path where the same directory structure of the given input path will create. All the result documents
+ * needed very much disk space (up to 10MB per page).
+ * The path _sOutputPath must be writeable.
+ * @param _sReferencePath the directory where the document will print as file or export as pdf.
+ * @param _GTA Helper class for lot of parameter to control the office.
+ *
+ * Disadvantage: stops rest if one test file has a problem.
+ */
+ public static boolean check(String _sInputPath, String _sOutputPath, String _sReferencePath, GraphicalTestArguments _aGTA ) throws ConvWatchException
+ {
+ return check(_sInputPath, _sOutputPath, _sReferencePath, null, _aGTA);
+ }
+
+ /**
+ * Used for the comparance of graphical differences.
+ * Method compares one document (_sInputFile) with an older document of the same name in the provided directory (_sReferencePath).
+ *
+ * @param _sInputPath the original document path
+ * @param _sReferencePath the directory where the document will print as file or export as pdf.
+ * @param _sOutputPath path where the same directory structure of the given input path will create. All the result documents
+ * needed very much disk space (up to 10MB per page).
+ * The path _sOutputPath must be writeable.
+ * @param _sDiffPath Path to older differences.
+ * @param _GTA Helper class for lot of parameter to control the office.
+ *
+ *
+ * Stops all, if one creation of reference fails
+ */
+ public static boolean check(String _sInputPath, String _sOutputPath, String _sReferencePath, String _sDiffPath, GraphicalTestArguments _aGTA ) throws ConvWatchException
+ {
+ showVersion();
+
+ boolean bOk = true;
+
+ File aInputPath = new File(_sInputPath);
+ if (aInputPath.isDirectory())
+ {
+ String fs = System.getProperty("file.separator");
+ // a whole directory
+ Object[] aList = DirectoryHelper.traverse(_sInputPath, FileHelper.getFileFilter(), _aGTA.includeSubDirectories());
+ if (aList.length != 0)
+ {
+ for (int i=0;i<aList.length;i++)
+ {
+ String sEntry = (String)aList[i];
+ String sNewSubDir = FileHelper.removeFirstDirectorysAndBasenameFrom(sEntry, _sInputPath);
+ String sNewReferencePath = _sReferencePath;
+ String sNewOutputPath = _sOutputPath;
+ String sNewDiffPath = _sDiffPath;
+ if (sNewSubDir.length() > 0)
+ {
+ if (sNewReferencePath != null)
+ {
+ sNewReferencePath = sNewReferencePath + fs + sNewSubDir;
+ }
+
+ sNewOutputPath = sNewOutputPath + fs + sNewSubDir;
+ if (sNewDiffPath != null)
+ {
+ sNewDiffPath = sNewDiffPath + fs + sNewSubDir;
+ }
+ }
+ bOk &= checkOneFile(sEntry, sNewOutputPath, sNewReferencePath, sNewDiffPath, _aGTA);
+ }
+ }
+ }
+ else
+ {
+ bOk = /* GraphicalDifferenceCheck.*/ checkOneFile(_sInputPath, _sOutputPath, _sReferencePath, _sDiffPath, _aGTA);
+ }
+ return bOk;
+ }
+
+ /**
+ * Used for the comparance of graphical differences.
+ * Method compares one document (_sInputFile) with an older document of the same name in the provided directory (_sReferencePath).
+ *
+ * The path _sOutputPath must be writeable
+ */
+ public static boolean checkOneFile(String _sInputFile, String _sOutputPath, String _sReferencePath, GraphicalTestArguments _aGTA) throws ConvWatchException
+ {
+ return checkOneFile( _sInputFile, _sOutputPath, _sReferencePath, null, _aGTA);
+ }
+
+
+ /**
+ * Used for the comparance of graphical differences.
+ * Method compares one document (_sInputFile) with an older document of the same name in the provided directory (_sReferencePath).
+ *
+ * For scenarios, where a difference is known and further changes are of interest, differences itself can be compared.
+ * This functionality is provided by the difference path parameter (_sDiffPath). If set, the difference of the current comparance (between input and reference),
+ * will be compared with the (same named) difference document from a earlier comparance.
+ *
+ * The path _sOutputPath must be writeable
+ */
+ public static boolean checkOneFile(String _sInputFile, String _sOutputPath, String _sReferencePath, String _sDiffPath, GraphicalTestArguments _aGTA ) throws ConvWatchException
+ {
+ showVersion();
+ if (_aGTA != null)
+ {
+ _aGTA.setInputFile(_sInputFile);
+ }
+
+ boolean bOk = false;
+ if (_sDiffPath != null)
+ {
+ // check with an old diff
+ bOk = convwatch.ConvWatch.checkDiffDiff(_aGTA, _sOutputPath, _sInputFile, _sReferencePath, _sDiffPath);
+ }
+ else
+ {
+ // one file
+ bOk = convwatch.ConvWatch.check(_aGTA, _sOutputPath, _sInputFile, _sReferencePath);
+ }
+ return bOk;
+ }
+
+ /**
+ * Instead of providing a saved document for graphical comparance a StarOffice xComponent
+ * will be saved and afterwards compared.
+ *
+ * @param xComponent the test document to be compared as StarOffice component
+ * @param _sOutputPath Path where test results are supposed to been saved. The path _sOutputPath must be writeable.
+ * These documents need sufficient disk space (up to 10MB per page).
+ * A directory structure will be created, which is a mirrored from input path.
+ *
+ * @param resultDocName Name by which the xComponent shall be saved as OpenOffice.org XML document.
+ * If provided without suffix, the suffix will be derived from the export filter.
+ * @param _sReferencePath the directory where the document will print as file or export as pdf.
+ * @param _GTA Helper class for lot of parameter to control the office.
+ */
+ public static boolean checkOneFile(XComponent xComponent, String _sOutputPath, String _resultDocName, String _sReferencePath, GraphicalTestArguments _aGTA ) throws ConvWatchException
+ {
+ showVersion();
+
+ // one file
+ String sInputFile;
+ sInputFile = createInputFile(xComponent, _sOutputPath, _resultDocName);
+ sInputFile = FileHelper.getSystemPathFromFileURL(sInputFile);
+ return convwatch.ConvWatch.check(_aGTA, _sOutputPath, sInputFile, _sReferencePath);
+ }
+
+
+// LLA: old! /**
+// LLA: old! * Returns 'true' if a reference document on the specific output path exists.
+// LLA: old! * The name of the document is corresponding to the input document, which can be
+// LLA: old! * provided by a single name or path.
+// LLA: old! *
+// LLA: old! * @param inputPath the original document name (possibly including path)
+// LLA: old! * @param referencePath the directory where the reference document will be stored
+// LLA: old!
+// LLA: old! */
+// LLA: old! public static boolean isReferencExistent(String inputDocumentPath, String referencePath)
+// LLA: old! {
+// LLA: old! // isolate the document name
+// LLA: old! if(inputDocumentPath.indexOf(File.separator) != -1)
+// LLA: old! inputDocumentPath = inputDocumentPath.substring(inputDocumentPath.lastIndexOf(File.separator) + 1, inputDocumentPath.length());
+// LLA: old!
+// LLA: old! // exchange any arbitray suffix against the refence suffix (.prn)
+// LLA: old! if(inputDocumentPath.indexOf('.') != -1)
+// LLA: old! inputDocumentPath = inputDocumentPath.substring(0, inputDocumentPath.lastIndexOf('.'));
+// LLA: old! inputDocumentPath = inputDocumentPath + ".prn";
+// LLA: old! System.out.println("GraphicalDifference CheckReferenceDocument: " + inputDocumentPath);
+// LLA: old!
+// LLA: old! File refFile = new File(referencePath + inputDocumentPath);
+// LLA: old! if(refFile.exists()){
+// LLA: old! return true;
+// LLA: old! }else
+// LLA: old! return false;
+// LLA: old! }
+
+
+ private static String createInputFile(XComponent xComponent, String _sOutputPath, String resultDocName)
+ throws ConvWatchCancelException
+ {
+
+ // find the adequate XML StarOffice output filter to save the document and adequate suffix
+ StringBuffer suffix = new StringBuffer();
+ String exportFilter = getXMLOutputFilterforXComponent(xComponent, suffix);
+ if(resultDocName == null)
+ resultDocName = "OOoTestDocument";
+ if(resultDocName.indexOf('.') == -1)
+ resultDocName = suffix.insert(0, resultDocName).toString();
+
+ // create a result URL for storing the office document
+ String resultURL = URLHelper.getFileURLFromSystemPath(ensureEndingFileSep(_sOutputPath) + resultDocName);
+
+ XStorable xStorable = null;
+ xStorable = (com.sun.star.frame.XStorable)UnoRuntime.queryInterface(com.sun.star.frame.XStorable.class, xComponent);
+ if(xStorable == null)
+ {
+ throw new ConvWatchCancelException("com.sun.star.frame.XStorable could not be instantiated from the office.");
+ }
+
+ PropertyValue pvFilterName = new PropertyValue("FilterName", -1, exportFilter, com.sun.star.beans.PropertyState.getDefault());
+ PropertyValue pvOverwrite = new PropertyValue("Overwrite", -1, new Boolean(true), com.sun.star.beans.PropertyState.getDefault());
+
+ try
+ {
+ xStorable.storeAsURL(resultURL, new PropertyValue[]{pvFilterName, pvOverwrite});
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ // wrap IOException
+ throw new ConvWatchCancelException("Wrap IOException caught, " + e.getMessage());
+ }
+
+ GlobalLogWriter.get().println("Saving XComponent as " + resultURL);
+
+ return resultURL;
+ }
+
+
+ private static String getXMLOutputFilterforXComponent(XComponent xComponent, StringBuffer suffix){
+ XServiceInfo xSI = (XServiceInfo) UnoRuntime.queryInterface(XServiceInfo.class, xComponent);
+ if (xSI.supportsService("com.sun.star.text.TextDocument")){
+ resetBuffer(suffix, ".sxw");
+ return "swriter: StarOffice XML (Writer)";
+ }else if (xSI.supportsService("com.sun.star.sheet.SpreadsheetDocument")){
+ resetBuffer(suffix, ".sxc");
+ return "scalc: StarOffice XML (Calc)";
+ }else if (xSI.supportsService("com.sun.star.presentation.PresentationDocument")){
+ resetBuffer(suffix, ".sxi");
+ return "simpress: StarOffice XML (Impress)";
+ }else if(xSI.supportsService("com.sun.star.drawing.DrawingDocument")){
+ resetBuffer(suffix, ".sxd");
+ return "sdraw: StarOffice XML (Draw)";
+ }else if (xSI.supportsService("com.sun.star.formula.FormulaProperties")){
+ resetBuffer(suffix, ".sxm");
+ return "smath: StarOffice XML (Math)";
+ }
+ return null;
+ }
+
+ private static StringBuffer resetBuffer(StringBuffer sb, String suffix)
+ {
+ if(sb != null)
+ {
+ sb.replace(0, sb.length(), suffix);
+ }
+ return sb;
+ }
+
+ private static String ensureEndingFileSep(String s)
+ {
+ if(s != null && !s.equals("") && !s.endsWith(File.separator))
+ {
+ s = s.trim() + File.separator;
+ }
+ else
+ {
+ if(s == null)
+ {
+ s = "";
+ }
+ }
+
+ return s;
+ }
+
+
+}
diff --git a/qadevOOo/runner/convwatch/GraphicalTestArguments.java b/qadevOOo/runner/convwatch/GraphicalTestArguments.java
new file mode 100644
index 000000000000..72d732d3d8de
--- /dev/null
+++ b/qadevOOo/runner/convwatch/GraphicalTestArguments.java
@@ -0,0 +1,744 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import lib.TestParameters;
+import java.io.File;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * This class object is more a Helper or Controller.
+ * It stores information like:
+ * - How to create a document (with a OpenOffice.org method, or with MS Word, or with OpenOffice.org as pdf)
+ * - some more infos for OpenOffice.org method
+ * - a service factory pointer
+ * - if hidden mode should use
+ * - target name
+ *
+ * - printer name
+ *
+ * - how to handle .xml files, which in Microsoft could be Excel or Word documents
+ *
+ * HOWTO USE:
+ * For OOo,
+ * create an GraphicalTestArguments with a set of TestParameters
+ * GraphicalTestArguments a = new GraphicalTestArguments(params);
+ *
+ * If you wish to use pdf export instead of normal printer output, set also the reference type to 'pdf'
+ * a.setReferenceType("pdf");
+ *
+ *
+ * For MS Office:
+ * create an GraphicalTestArguments and set the reference type to 'msoffice'
+ * GraphicalTestArguments a = new GraphicalTestArguments(params);
+ * a.setReferenceType("msoffice");
+ *
+ * within windows it's better to set also a printer name so it's simply possible to use for normal work the default printer
+ * and for such tests with ConvWatch a extra printer.
+ * a.setPrinterName("CrossOffice Printer");
+ *
+ */
+
+public class GraphicalTestArguments
+{
+ /**
+ 2DO:
+ Possible reference types are currently
+ // ooo
+ // pdf
+ // msoffice
+ */
+ String m_sReferenceType = "OOo";
+
+ String m_sTargetFrameName = "_blank";
+
+ String m_sPrinterName = null;
+
+ // Hidden = true hiddes a used OpenOffice.org, all code is executed in the background
+ // This parameter is not used for RefType: msoffice
+ boolean m_bHidden = true;
+
+ String m_sDefaultXMLFormatApplication = null;
+
+ boolean m_bIncludeSubdirectories;
+
+ TestParameters m_aCurrentParams;
+
+ int m_nMaxPages = 0; // default is 0 (print all pages)
+ String m_sOnlyPage = ""; // default is "", there is no page which we want to print only.
+
+ int m_nResolutionInDPI = 0;
+
+ boolean m_bStoreFile = true;
+ boolean m_bResuseOffice = false;
+
+ boolean m_bDebugMode = false;
+
+ String m_sLeaveOutNames = null;
+
+ String m_sDistinct = null;
+
+ boolean m_bCreateDefaultReference = false;
+
+ // CONSTRUCTOR
+ private GraphicalTestArguments(){}
+
+ public GraphicalTestArguments(TestParameters param)
+ {
+ m_aCurrentParams = param;
+ // collect interesting information from the ComplexTestCase
+ // ....
+
+ // REFERENCE_TYPE ----------
+ String sReferenceType = (String)param.get( PropertyName.DOC_COMPARATOR_REFERENCE_TYPE );
+ if (sReferenceType == null || sReferenceType.length() == 0)
+ {
+ }
+ else
+ {
+ // log.println("found REFERENCE_TYPE " + sReferenceType );
+ setReferenceType(sReferenceType);
+ }
+
+ // PRINTER_NAME ----------
+ String sPrinterName = (String)param.get( PropertyName.DOC_COMPARATOR_PRINTER_NAME );
+ if (sPrinterName == null || sPrinterName.length() == 0)
+ {
+ }
+ else
+ {
+ // log.println("found PRINTER_NAME " + sPrinterName );
+ setPrinterName(sPrinterName);
+ }
+ // DEFAULT_XML_FORMAT_APP ------
+ String sDefaultXMLFormatApp = (String)param.get( PropertyName.DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP );
+ if (sDefaultXMLFormatApp == null || sDefaultXMLFormatApp.length() == 0)
+ {
+ }
+ else
+ {
+ setDefaultXMLFormatApp(sDefaultXMLFormatApp);
+ }
+
+ m_bIncludeSubdirectories = true;
+ String sRECURSIVE = (String)param.get( PropertyName.DOC_COMPARATOR_INCLUDE_SUBDIRS );
+// TODO: I need to get the boolean value with get("name") because, if it is not given getBool() returns
+// with a default of 'false' which is not very helpful if the default should be 'true'
+// maybe a getBoolean("name", true) could be a better choise.
+ if (sRECURSIVE == null)
+ {
+ sRECURSIVE = "true";
+ }
+ if (sRECURSIVE.toLowerCase().equals("no") ||
+ sRECURSIVE.toLowerCase().equals("false"))
+ {
+ m_bIncludeSubdirectories = false;
+ }
+
+ // ----------------------------------------
+ m_nMaxPages = param.getInt( PropertyName.DOC_COMPARATOR_PRINT_MAX_PAGE );
+ m_sOnlyPage = (String)param.get(PropertyName.DOC_COMPARATOR_PRINT_ONLY_PAGE);
+
+ m_nResolutionInDPI = param.getInt( PropertyName.DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION );
+ if (m_nResolutionInDPI == 0)
+ {
+ // 212 DPI is 1754 x 2474 pixel for DIN A4
+ m_nResolutionInDPI = 212;
+ }
+
+ // ----------------------------------------
+ String sImportFilterName = (String)param.get(PropertyName.DOC_CONVERTER_IMPORT_FILTER_NAME);
+ if (sImportFilterName != null && sImportFilterName.length() > 0)
+ {
+ // System.out.println("found " + PropertyName.DOC_CONVERTER_IMPORT_FILTER_NAME + " " + sImportFilterName );
+ m_sImportFilterName = sImportFilterName;
+
+ if (sImportFilterName.toLowerCase().equals("help"))
+ {
+ showInternalFilterName(sImportFilterName, getMultiServiceFactory() );
+ GlobalLogWriter.get().println("Must quit.");
+ }
+ }
+ // ----------------------------------------
+ String sExportFilterName = (String)param.get(PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME);
+ if (sExportFilterName != null && sExportFilterName.length() > 0)
+ {
+ // System.out.println("found " + PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME + " " + sExportFilterName );
+ m_sExportFilterName = sExportFilterName;
+ if (sExportFilterName.toLowerCase().equals("help"))
+ {
+ showInternalFilterName(sExportFilterName, getMultiServiceFactory() );
+ GlobalLogWriter.get().println("Must quit.");
+ }
+ }
+
+ // ----------------------------------------
+ String sOfficeProgram = (String)param.get(PropertyName.DOC_CONVERTER_OFFICE_PROGRAM);
+ if (sOfficeProgram != null && sOfficeProgram.length() > 0)
+ {
+ m_sOfficeProgram = sOfficeProgram;
+ }
+ // ----------------------------------------
+ String sREUSE_OFFICE = (String)param.get( PropertyName.DOC_CONVERTER_REUSE_OFFICE);
+ if (sREUSE_OFFICE == null)
+ {
+ sREUSE_OFFICE = "false";
+ }
+ if (sREUSE_OFFICE.toLowerCase().equals("yes") ||
+ sREUSE_OFFICE.toLowerCase().equals("true"))
+ {
+ m_bResuseOffice = true;
+ }
+ else
+ {
+ m_bResuseOffice = false;
+ }
+
+
+ String sHTMLOutputPrefix = (String)param.get( PropertyName.DOC_COMPARATOR_HTML_OUTPUT_PREFIX);
+ if (sHTMLOutputPrefix == null)
+ {
+ m_sHTMLOutputPrefix = "";
+ }
+ else
+ {
+ m_sHTMLOutputPrefix = sHTMLOutputPrefix;
+ }
+
+ String sWithBorderMove = (String)param.get( PropertyName.DOC_COMPARATOR_GFXCMP_WITH_BORDERMOVE);
+ if (sWithBorderMove == null)
+ {
+ sWithBorderMove = "";
+ // m_tWithBorderMove = TriState.UNSET;
+ m_tWithBorderMove = TriState.FALSE;
+ }
+ if (sWithBorderMove.toLowerCase().equals("yes") ||
+ sWithBorderMove.toLowerCase().equals("true"))
+ {
+ m_tWithBorderMove = TriState.TRUE;
+ }
+ else if (sWithBorderMove.toLowerCase().equals("no") ||
+ sWithBorderMove.toLowerCase().equals("false"))
+ {
+ m_tWithBorderMove = TriState.FALSE;
+ }
+ else
+ {
+ m_tWithBorderMove = TriState.FALSE;
+ // m_tWithBorderMove = TriState.UNSET;
+ }
+
+ String sLeaveOutNames = (String)param.get(PropertyName.DOC_COMPARATOR_LEAVE_OUT_FILES);
+ if (sLeaveOutNames != null)
+ {
+ m_sLeaveOutNames = sLeaveOutNames;
+ }
+
+ String sDBInfoString = (String)param.get(PropertyName.DOC_COMPARATOR_DB_INFO_STRING);
+ if (sDBInfoString != null)
+ {
+ m_sDBInfoString = sDBInfoString;
+ }
+
+ // DISTINCT ----------
+ String sDistinct = (String)param.get( "DISTINCT" );
+ if (sDistinct == null || sDistinct.length() == 0)
+ {
+ sDistinct = "";
+ }
+ else
+ {
+ m_sDistinct = sDistinct;
+ }
+ // HIDDEN
+ String sOfficeViewable = (String)param.get(PropertyName.OFFICE_VIEWABLE);
+ if (sOfficeViewable != null)
+ {
+ if (sOfficeViewable.toLowerCase().equals("yes") ||
+ sOfficeViewable.toLowerCase().equals("true"))
+ {
+ setViewable();
+ }
+ else
+ {
+ setHidden();
+ }
+ }
+ // CREATE_DEFAULT
+ String sCreateDefault = (String)param.get(PropertyName.CREATE_DEFAULT);
+ if (sCreateDefault != null)
+ {
+ if (sCreateDefault.toLowerCase().equals("yes") ||
+ sCreateDefault.toLowerCase().equals("true"))
+ {
+ m_bCreateDefaultReference = true;
+ }
+ else
+ {
+ m_bCreateDefaultReference = false;
+ }
+ }
+
+ }
+
+ public boolean checkIfUsableDocumentType(String _sName)
+ {
+ // @todo
+ // check if the name is in the leave out list and then return 'false'
+ if (_sName.toLowerCase().endsWith(".jpg") ||
+ _sName.toLowerCase().endsWith(".png") ||
+ _sName.toLowerCase().endsWith(".gif") ||
+ _sName.toLowerCase().endsWith(".bmp") ||
+ _sName.toLowerCase().endsWith(".prn") ||
+ _sName.toLowerCase().endsWith(".ps"))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ static void showInternalFilterName(String _sFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory not set.");
+ return;
+ }
+ // XFilterFactory aFilterFactory = null;
+ Object aObj = null;
+ try
+ {
+ aObj = _xMSF.createInstance("com.sun.star.document.FilterFactory");
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.get().println("Can't get com.sun.star.document.FilterFactory.");
+ return;
+ }
+ if (aObj != null)
+ {
+ XNameAccess aNameAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, aObj);
+ if (aNameAccess != null)
+ {
+
+ if (_sFilterName.toLowerCase().equals("help"))
+ {
+ GlobalLogWriter.get().println("Show all possible ElementNames from current version." );
+ String[] aElementNames = aNameAccess.getElementNames();
+ for (int i = 0; i<aElementNames.length; i++)
+ {
+ GlobalLogWriter.get().println(aElementNames[i]);
+ }
+ }
+ }
+ }
+ }
+
+ /*
+ public GraphicalTestArguments(TestParameters param, Log xxx)
+ {
+ // collect interesting information from the ComplexTestCase
+ // ....
+ }
+ */
+
+ // set methods
+ public void setReferenceType(String _sType)
+ {
+ // special casse, null is not allowed, set to default.
+ if (_sType == null)
+ {
+ m_sReferenceType = "OOo";
+ }
+ else
+ {
+ m_sReferenceType = _sType;
+ }
+ }
+ public void setTargetFrameName(String _sTargetFrameName) {m_sTargetFrameName = _sTargetFrameName;}
+ public void setPrinterName(String _sName) {m_sPrinterName = _sName;}
+ public void setHidden() { m_bHidden = true;}
+ public void setViewable() {m_bHidden = false;}
+ public void setDefaultXMLFormatApp(String _sNameOfApp) {m_sDefaultXMLFormatApplication = _sNameOfApp;}
+
+ // get methods
+ public XMultiServiceFactory getMultiServiceFactory()
+ {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)m_aCurrentParams.getMSF();
+
+ // check if MultiServiceFactory is given
+ if (getReferenceType().toLowerCase().equals("pdf") ||
+ getReferenceType().toLowerCase().equals("ooo"))
+ {
+ if (xMSF == null)
+ {
+ GlobalLogWriter.get().println("ERROR! MultiServiceFactory not given.");
+ }
+ }
+ return xMSF;
+ }
+
+ public String getReferenceType() {return m_sReferenceType;}
+ public String getTargetFrameName() {return m_sTargetFrameName;}
+ public String getPrinterName() {return m_sPrinterName;}
+ public boolean isHidden() {return m_bHidden;}
+ public String getDefaultXMLFormatApp() {return m_sDefaultXMLFormatApplication;}
+
+
+ /**
+ * @return true, if subdirectories should run through
+ */
+ public boolean includeSubDirectories() {return m_bIncludeSubdirectories;}
+
+ /**
+ * @return the number of pages to be print
+ */
+ public int getMaxPages() {return m_nMaxPages;}
+
+ /**
+ * @return as string, which pages should be print, e.g. '1-4;6' here, page 1 to 4 and page 6.
+ */
+ public String getOnlyPages()
+ {
+ if (m_sOnlyPage == null)
+ {
+ return "";
+ }
+ return m_sOnlyPage;
+ }
+
+ /**
+ * @return true, if there should not print all pages at all, use getMaxPages() and or getOnlyPages() to get which pages to print
+ */
+ public boolean printAllPages()
+ {
+ if ( (getMaxPages() > 0) ||
+ (getOnlyPages().length() != 0))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * @return integer value, which contain resolution in DPI.
+ */
+ public int getResolutionInDPI() {return m_nResolutionInDPI;}
+
+ public static void checkIfMSWindowsConformPath(String _sPath)
+ {
+ if (_sPath != null && _sPath.length() > 1)
+ {
+ if (_sPath.charAt(1) == ':')
+ {
+ if (_sPath.charAt(2) != '\\')
+ {
+ GlobalLogWriter.get().println("This is not a Microsoft Windows conform path: '" + _sPath + "' please fix.");
+ System.exit(1);
+ }
+ }
+ }
+ }
+
+
+ /**
+ * @return the INPUT_PATH out of the TestParameters
+ */
+ public String getInputPath()
+ {
+ String sInputPath;
+ sInputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_INPUT_PATH);
+ checkIfMSWindowsConformPath(sInputPath);
+ return sInputPath;
+ }
+ /**
+ * @return the OUTPUT_PATH out of the TestParameters
+ */
+ public String getOutputPath()
+ {
+ String sOutputPath;
+ sOutputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_OUTPUT_PATH);
+ checkIfMSWindowsConformPath(sOutputPath);
+ return sOutputPath;
+ }
+ /**
+ * @return the REFERENCE_PATH out of the TestParameters
+ */
+ public String getReferencePath()
+ {
+ String sReferencePath;
+ sReferencePath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_REFERENCE_PATH);
+ checkIfMSWindowsConformPath(sReferencePath);
+ return sReferencePath;
+ }
+ /**
+ * @return the DIFF_PATH out of the TestParameters
+ */
+ public String getDiffPath()
+ {
+ String sDiffPath;
+ sDiffPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_DIFF_PATH);
+ checkIfMSWindowsConformPath(sDiffPath);
+ return sDiffPath;
+ }
+
+ public boolean getOverwrite()
+ {
+ boolean bOverwrite = m_aCurrentParams.getBool( PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE);
+ return bOverwrite;
+ }
+ public String getReferenceInputPath()
+ {
+ String sReferenceInputPath;
+ sReferenceInputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_REFERENCE_INPUT_PATH);
+ return sReferenceInputPath;
+ }
+
+ /**
+ * Helper function to get the buildid of the current used OpenOffice.org
+ * out of the AppExecutionCommand the build ID
+ */
+ public String getBuildID()
+ {
+ String sAPP = (String)m_aCurrentParams.get(util.PropertyName.APP_EXECUTION_COMMAND);
+ // return getBuildID(sAPP);
+// TODO: here we need the getBuildID(string) method
+ String sBuildID = convwatch.BuildID.getBuildID(sAPP);
+ return sBuildID;
+ }
+
+ public boolean shouldOfficeStart()
+ {
+ String sNoOffice = (String)m_aCurrentParams.get( "NoOffice" );
+ if (sNoOffice != null)
+ {
+ if (sNoOffice.toLowerCase().startsWith("t") || sNoOffice.toLowerCase().startsWith("y"))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ // Handle for Reference Build ID, is set in ConvWatch.createPostscriptStartCheck()
+ private String m_sRefBuildID;
+
+ public void setRefBuildID(String _sRef)
+ {
+ m_sRefBuildID = _sRef;
+ }
+ public String getRefBuildID()
+ {
+ return m_sRefBuildID;
+ }
+
+ public void disallowStore()
+ {
+ m_bStoreFile = false;
+ }
+ public void allowStore()
+ {
+ m_bStoreFile = true;
+ }
+ public boolean isStoreAllowed()
+ {
+ return m_bStoreFile;
+ }
+ public boolean createDefaultReference()
+ {
+ return m_bCreateDefaultReference;
+ }
+
+
+ // get/set for FilterName
+ // get the right Filtername (internal Name) from
+ // http://framework.openoffice.org/files/documents/25/897/filter_description.html
+
+ String m_sImportFilterName = "";
+ String m_sExportFilterName = "";
+ public void setImportFilterName(String _sImportFilterName)
+ {
+ m_sImportFilterName = _sImportFilterName;
+ }
+ public String getImportFilterName()
+ {
+ return m_sImportFilterName;
+ }
+ public void setExportFilterName(String _sExportFilterName)
+ {
+ m_sExportFilterName = _sExportFilterName;
+ }
+ public String getExportFilterName()
+ {
+ return m_sExportFilterName;
+ }
+
+ String m_sOfficeProgram = "";
+ public void setOfficeProgram(String _sName)
+ {
+ m_sOfficeProgram = _sName;
+ }
+ public String getOfficeProgram()
+ {
+ return m_sOfficeProgram;
+ }
+
+ public boolean restartOffice()
+ {
+ if (m_bResuseOffice == false)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ String m_sHTMLOutputPrefix = "";
+ public String getHTMLOutputPrefix()
+ {
+ return m_sHTMLOutputPrefix;
+ }
+
+ TriState m_tWithBorderMove = TriState.UNSET;
+ // public TriState isBorderMove()
+ // {
+ // return m_tWithBorderMove;
+ // }
+ public TriState getBorderMove()
+ {
+ return m_tWithBorderMove;
+ }
+ public void setBorderMove(TriState _tBorderMove)
+ {
+ m_tWithBorderMove = _tBorderMove;
+ }
+
+ String m_sDocumentType = "";
+ public void setDocumentType(String _sName)
+ {
+ m_sDocumentType = _sName;
+ }
+ public String getDocumentType()
+ {
+ return m_sDocumentType;
+ }
+
+ /*
+ helper class for performance analyser features
+ */
+ PerformanceContainer m_aPerformanceContainer = null;
+ public PerformanceContainer getPerformance()
+ {
+ if (m_aPerformanceContainer == null)
+ {
+ m_aPerformanceContainer = new PerformanceContainer();
+ }
+ return m_aPerformanceContainer;
+ }
+
+ private String m_aInputFile;
+ public void setInputFile(String _sInputFile)
+ {
+ m_aInputFile = _sInputFile;
+ }
+ public String getInputFile()
+ {
+ return m_aInputFile;
+ }
+
+ private String m_sDBInfoString;
+ public String getDBInfoString()
+ {
+ if (m_sDBInfoString != null)
+ {
+ if (m_sDBInfoString.length() == 0)
+ {
+ return null;
+ }
+ }
+
+ return m_sDBInfoString;
+ }
+
+ public boolean cancelRequest()
+ {
+ File aCancelFile = null;
+ String fs;
+ fs = System.getProperty("file.separator");
+ String sTempPath = (String)m_aCurrentParams.get( PropertyName.TEMPPATH );
+ if (sTempPath != null)
+ {
+ String sGDC_Dir = sTempPath;
+
+ if (m_sDistinct.length() > 0)
+ {
+ sGDC_Dir = sGDC_Dir + fs + m_sDistinct;
+ }
+
+ String sCancelFile = sGDC_Dir + fs + "cancel_compare.txt";
+ aCancelFile = new File(sCancelFile);
+
+ if (aCancelFile.exists())
+ {
+ GlobalLogWriter.get().println("ATTENTION: Found file: '" + sCancelFile + "'.");
+ GlobalLogWriter.get().println("User has canceled the program flow.");
+ return true;
+ }
+ }
+ return false;
+ }
+
+}
+
+
+/*
+public class MSGraphicalTestArguments extends GraphicalTestArguments
+{
+ MSGraphicalTestArguments()
+ {
+ setReferenceType("msoffice");
+ }
+}
+
+public class OOoGraphicalTestArguments extends GraphicalTestArguments
+{
+ OOoGraphicalTestArguments(XMultiServiceFactory _aFactory)
+ {
+ setMultiServiceFactory(_aFactory);
+ }
+}
+*/
diff --git a/qadevOOo/runner/convwatch/HTMLOutputter.java b/qadevOOo/runner/convwatch/HTMLOutputter.java
new file mode 100644
index 000000000000..49edb2c25ac0
--- /dev/null
+++ b/qadevOOo/runner/convwatch/HTMLOutputter.java
@@ -0,0 +1,418 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.FileWriter;
+import helper.OSHelper;
+
+public class HTMLOutputter
+{
+ FileWriter m_aOut;
+ String m_sFilename;
+ String m_sNamePrefix; // the HTML files used a suffix to build it's right name
+
+ /**
+ * ls is the current line separator (carridge return)
+ */
+ String ls;
+
+ HTMLOutputter() {}
+ public static HTMLOutputter create( String _sOutputPath, String _sHTMLFilename, String _sNamePrefix, String _sTitle )
+ {
+ FileHelper.makeDirectories("", _sOutputPath);
+ HTMLOutputter a = new HTMLOutputter();
+ String fs = System.getProperty("file.separator");
+ String sFilename = _sOutputPath + fs + _sHTMLFilename;
+
+ try
+ {
+ File outputFile = new File(sFilename);
+ a.m_aOut = new FileWriter(outputFile.toString());
+ a.ls = System.getProperty("line.separator");
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ GlobalLogWriter.get().println("ERROR: Can't create HTML Outputter");
+ return null;
+ }
+ a.m_sFilename = sFilename;
+ a.m_sNamePrefix = _sNamePrefix;
+ return a;
+ }
+ public String getFilename() {return m_sFilename;}
+
+ public void header(String _sTitle)
+ {
+ try
+ {
+ m_aOut.write( "<html>" + ls);
+ m_aOut.write( "<head>" + ls);
+ m_aOut.write( "<title>" + _sTitle + "</title>" + ls);
+ m_aOut.write( "<link rel=\"stylesheet\" type=\"text/css\" href=\"/gfxcmp_ui/xmloff.css\" media=\"screen\" />" + ls);
+ m_aOut.write( "<link rel=\"stylesheet\" type=\"text/css\" href=\"/gfxcmp_ui/style.css\" media=\"screen\" />" + ls);
+ m_aOut.write( "</head>" + ls);
+ m_aOut.write( "<body bgcolor=white>" + ls);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ final static String TEST_TABLETITLE = "Test";
+ final static String VISUAL_STATUS_TABLETITLE = "Visual status";
+ final static String VISUAL_STATUS_MESSAGE_TABLETITLE = "Message";
+
+ public void indexSection(String _sOfficeInfo)
+ {
+ try
+ {
+ m_aOut.write( "<h2>Results for " + _sOfficeInfo + "</h2>" + ls);
+ m_aOut.write( "<p>Legend:<br>");
+ m_aOut.write( stronghtml(FIRSTGFX_TABLETITLE) + " contains the output printed via 'ghostscript' as a jpeg picture.<br>");
+
+ m_aOut.write( "<table class=\"infotable\">" + ls);
+ m_aOut.write( "<TR>");
+ m_aOut.write( tableHeaderCell(TEST_TABLETITLE));
+ m_aOut.write( tableHeaderCell(TEST_TABLETITLE));
+ m_aOut.write( tableHeaderCell(VISUAL_STATUS_TABLETITLE));
+ m_aOut.write( tableHeaderCell(VISUAL_STATUS_MESSAGE_TABLETITLE));
+ m_aOut.write( "</TR>" + ls);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ String getHREF(String _sHREF, String _sPathInfo)
+ {
+ StringBuffer a = new StringBuffer();
+ if (! OSHelper.isWindows())
+ {
+ // System.out.println("Tu'nix system.");
+ a.append("<A HREF=\"");
+ a.append(_sHREF);
+ a.append("\">");
+ a.append(_sPathInfo);
+ a.append("</A>");
+ }
+ else
+ {
+ // System.out.println("Windows system.");
+ //! this should be replaced by a better method
+ //! name(WIN|UNIX)
+ a.append("<A HREF=\"");
+ a.append(_sHREF);
+ a.append("\">");
+ a.append(_sPathInfo);
+ // a.append("(first)");
+ a.append("</A>");
+ // if (_sHREF.charAt(1) == ':' && (_sHREF.charAt(0) == 'x' || _sHREF.charAt(0) == 'X'))
+ // int index = 0;
+ // index = _sHREF.indexOf("X:");
+ // if (index == -1)
+ // {
+ // index = _sHREF.indexOf("x:");
+ // }
+ // if (index >= 0)
+ // {
+ // // int index = 0;
+ // // remove "X:" and insert "/tausch"
+ // StringBuffer sbUNIXPath = new StringBuffer( _sHREF.substring(0, index) );
+ // sbUNIXPath.append("/tausch");
+ // sbUNIXPath.append(_sHREF.substring(index + 2));
+ // String sUNIXPath = sbUNIXPath.toString();
+ // sUNIXPath = utils.replaceAll13(sUNIXPath, "\\", "/");
+ //
+ // a.append("<A HREF=\"");
+ // a.append(sUNIXPath);
+ // a.append("\">");
+ // a.append("(second)");
+ // a.append("</A>");
+ // }
+ // else
+ // {
+ // System.out.println("Path is '" + _sHREF + "'");
+ // }
+
+ }
+ return a.toString();
+ }
+
+ String tableDataCell(String _sValue)
+ {
+ StringBuffer a = new StringBuffer();
+ a.append("<TD>");
+ a.append(_sValue);
+ a.append("</TD>");
+ return a.toString();
+ }
+
+ String tableHeaderCell(String _sValue)
+ {
+ StringBuffer a = new StringBuffer();
+ a.append("<TH>");
+ a.append(_sValue);
+ a.append("</TH>");
+ return a.toString();
+ }
+
+ public void indexLine(String _sHTMLFile, String _sHTMLName, String _sHTMLFile2, String _sHTMLName2, String _sStatusRunThrough, String _sStatusMessage)
+ {
+ try
+ {
+ m_aOut.write( "<TR>");
+ m_aOut.write(tableDataCell( getHREF(_sHTMLFile, _sHTMLName) ) );
+ if (_sHTMLFile2.length() > 0)
+ {
+ m_aOut.write(tableDataCell( getHREF(_sHTMLFile2, _sHTMLName2) ) );
+ }
+ else
+ {
+ m_aOut.write(tableDataCell( "" ) );
+ }
+
+ m_aOut.write( tableDataCell(_sStatusRunThrough) );
+ m_aOut.write( tableDataCell(_sStatusMessage) );
+ m_aOut.write( "</TR>" + ls);
+
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void close()
+ {
+ try
+ {
+ m_aOut.write( "</TABLE>" + ls);
+ m_aOut.write( "</BODY></HTML>" + ls);
+ m_aOut.flush();
+ m_aOut.close();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+// -----------------------------------------------------------------------------
+ String stronghtml(String _sValue)
+ {
+ StringBuffer a = new StringBuffer();
+ a.append("<STRONG>");
+ a.append(_sValue);
+ a.append("</STRONG>");
+ return a.toString();
+ }
+
+ final static String FIRSTGFX_TABLETITLE = "Original print file as jpeg";
+ final static String SECONDGFX_TABLETITLE = "New print file as jpeg";
+ final static String DIFFER_TABLETITLE = "Difference file";
+ final static String STATUS_TABLETITLE = "Status";
+ final static String PIXELDIFF_TABLETITLE = "Pixel difference in %";
+
+ final static String PIXELDIFF_BM_TABLETITLE = "P.diff. in % after remove border";
+ final static String DIFFER_BM_TABLETITLE = "Diff file (RB)";
+
+ final static String OK_TABLETITLE = "OK?";
+ public void checkSection(String _sDocumentName)
+ {
+ try
+ {
+ m_aOut.write( "<H2>Results for the document " + _sDocumentName + "</H2>" + ls);
+
+ m_aOut.write( "<p>Legend:<br>");
+ m_aOut.write( stronghtml(FIRSTGFX_TABLETITLE) + " contains the output printed via 'ghostscript' as a jpeg picture.<br>");
+ m_aOut.write( stronghtml(SECONDGFX_TABLETITLE) + " contains the same document opened within OpenOffice.org also printed via ghostscript as jpeg.<br>");
+ m_aOut.write( stronghtml(DIFFER_TABLETITLE)+" is build via composite from original and new picture. The result should be a whole black picture, if there are no differences.<br>At the moment "+stronghtml(STATUS_TABLETITLE)+" is only ok, if the difference file contains only one color (black).</p>" );
+ m_aOut.write( stronghtml(DIFFER_BM_TABLETITLE) + " is build via composite from original and new picture after the border of both pictures are removed, so differences based on center problems may solved here");
+ m_aOut.write( "</p>");
+ m_aOut.write( "<p>Some words about the percentage value<br>");
+ m_aOut.write( "If a character is on the original page (a) and on the new page this character is moved to an other position only (b) , this means the difference is 100%.<br>");
+ m_aOut.write( "If character (b) is also bigger than character (a) the percentage is grow over the 100% mark.<br>");
+ m_aOut.write( "This tool count only the pixels which are differ to it's background color. It makes no sense to count all pixels, or the difference percentage will most the time in a very low percentage range.");
+ m_aOut.write( "</p>");
+
+ m_aOut.write( "<table class=\"infotable\">" + ls);
+
+ m_aOut.write( "<TR>" + ls);
+ m_aOut.write( tableHeaderCell( FIRSTGFX_TABLETITLE) );
+ m_aOut.write( tableHeaderCell( SECONDGFX_TABLETITLE ) );
+ m_aOut.write( tableHeaderCell(DIFFER_TABLETITLE ) );
+ m_aOut.write( tableHeaderCell(PIXELDIFF_TABLETITLE ) );
+
+ m_aOut.write( tableHeaderCell(DIFFER_BM_TABLETITLE) );
+ m_aOut.write( tableHeaderCell(PIXELDIFF_BM_TABLETITLE ) );
+
+ m_aOut.write( tableHeaderCell( OK_TABLETITLE) );
+
+ m_aOut.write( "</TR>" + ls);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void checkLine(StatusHelper _aStatus, boolean _bCurrentResult)
+ {
+ try
+ {
+ m_aOut.write( "<TR>" + ls);
+ String sLink = getHREF(FileHelper.getBasename(_aStatus.m_sOldGfx), FileHelper.getBasename(_aStatus.m_sOldGfx));
+ m_aOut.write( tableDataCell(sLink) );
+
+ sLink = getHREF(FileHelper.getBasename(_aStatus.m_sNewGfx), FileHelper.getBasename(_aStatus.m_sNewGfx));
+ m_aOut.write( tableDataCell(sLink) );
+
+ sLink = getHREF(FileHelper.getBasename(_aStatus.m_sDiffGfx), FileHelper.getBasename(_aStatus.m_sDiffGfx));
+ m_aOut.write( tableDataCell(sLink) );
+
+ String sPercent = String.valueOf(_aStatus.nPercent) + "%";
+ if (_aStatus.nPercent > 0 && _aStatus.nPercent < 5)
+ {
+ sPercent += " (less 5% is ok)";
+ }
+ m_aOut.write(tableDataCell( sPercent ) );
+
+ if (_aStatus.m_sDiff_BM_Gfx == null)
+ {
+ sLink = "No diffs, therefore no moves";
+ m_aOut.write( tableDataCell(sLink) );
+ m_aOut.write(tableDataCell( "" ) );
+ }
+ else
+ {
+ sLink = getHREF(FileHelper.getBasename(_aStatus.m_sDiff_BM_Gfx), FileHelper.getBasename(_aStatus.m_sDiff_BM_Gfx));
+ m_aOut.write( tableDataCell(sLink) );
+
+ String sPercent2 = String.valueOf(_aStatus.nPercent2) + "%";
+ if (_aStatus.nPercent2 > 0 && _aStatus.nPercent2 < 5)
+ {
+ sPercent2 += " (less 5% is ok)";
+ }
+ m_aOut.write(tableDataCell( sPercent2 ) );
+ }
+
+ // is the check positiv, in a defined range
+ if (_bCurrentResult)
+ {
+ m_aOut.write(tableDataCell( "YES" ) );
+ }
+ else
+ {
+ m_aOut.write(tableDataCell( "NO" ) );
+ }
+
+ m_aOut.write( "</TR>" + ls);
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+// -----------------------------------------------------------------------------
+ public void checkDiffDiffSection(String _sDocumentName)
+ {
+ try
+ {
+ m_aOut.write( "<H2>Results for the document " + _sDocumentName + "</H2>" + ls);
+
+ m_aOut.write( "<p>Legend:<br>");
+ m_aOut.write( "</p>");
+
+ m_aOut.write( "<table class=\"infotable\">" + ls);
+
+ m_aOut.write( "<TR>" + ls);
+ m_aOut.write( tableHeaderCell( "Source to actual difference" ) );
+ m_aOut.write( tableHeaderCell( "Actual difference" ) );
+ m_aOut.write( tableHeaderCell(DIFFER_TABLETITLE ) );
+ m_aOut.write( tableHeaderCell(PIXELDIFF_TABLETITLE ) );
+
+ m_aOut.write( tableHeaderCell( OK_TABLETITLE) );
+
+ m_aOut.write( "</TR>" + ls);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void checkDiffDiffLine(StatusHelper _aStatus, boolean _bCurrentResult)
+ {
+ try
+ {
+ m_aOut.write( "<TR>" + ls);
+ // the link to the old difference can't offer here
+ // String sLink = getHREF(FileHelper.getBasename(_aStatus.m_sOldGfx), FileHelper.getBasename(_aStatus.m_sOldGfx));
+ // m_aOut.write( tableDataCell(sLink) );
+
+ String sBasename = FileHelper.getBasename(m_sFilename);
+ String sNew = sBasename.substring(m_sNamePrefix.length());
+
+ String sLink;
+ sLink = getHREF(sNew, sNew);
+ m_aOut.write( tableDataCell(sLink) );
+
+ sLink = getHREF(FileHelper.getBasename(_aStatus.m_sNewGfx), FileHelper.getBasename(_aStatus.m_sNewGfx));
+ m_aOut.write( tableDataCell(sLink) );
+
+ sLink = getHREF(FileHelper.getBasename(_aStatus.m_sDiffGfx), FileHelper.getBasename(_aStatus.m_sDiffGfx));
+ m_aOut.write( tableDataCell(sLink) );
+
+ String sPercent = String.valueOf(_aStatus.nPercent) + "%";
+ // if (_aStatus.nPercent > 0 && _aStatus.nPercent < 5)
+ // {
+ // sPercent += " (less 5% is ok)";
+ // }
+ m_aOut.write(tableDataCell( sPercent ) );
+
+ // is the check positiv, in a defined range
+ if (_bCurrentResult)
+ {
+ m_aOut.write(tableDataCell( "YES" ) );
+ }
+ else
+ {
+ m_aOut.write(tableDataCell( "NO" ) );
+ }
+
+ m_aOut.write( "</TR>" + ls);
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/INIOutputter.java b/qadevOOo/runner/convwatch/INIOutputter.java
new file mode 100644
index 000000000000..faa542a05cb8
--- /dev/null
+++ b/qadevOOo/runner/convwatch/INIOutputter.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.FileWriter;
+
+public class INIOutputter
+{
+ FileWriter m_aOut;
+ String m_sFilename;
+ String m_sNamePrefix; // the HTML files used a suffix to build it's right name
+
+ /**
+ * ls is the current line separator (carridge return)
+ */
+ String ls;
+
+ public static INIOutputter create( String _sOutputPath, String _sHTMLFilename, String _sNamePrefix, String _sTitle )
+ {
+ FileHelper.makeDirectories("", _sOutputPath);
+ INIOutputter a = new INIOutputter();
+ String fs = System.getProperty("file.separator");
+ String sFilename = _sOutputPath + fs + _sHTMLFilename;
+
+ try
+ {
+ File outputFile = new File(sFilename);
+ a.m_aOut = new FileWriter(outputFile.toString());
+ a.ls = System.getProperty("line.separator");
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ GlobalLogWriter.get().println("ERROR: Can't create INI Outputter");
+ return null;
+ }
+ a.m_sFilename = sFilename;
+ a.m_sNamePrefix = _sNamePrefix;
+
+ return a;
+ }
+ public String getFilename() {return m_sFilename;}
+
+ public void createHeader()
+ {
+ try
+ {
+ m_aOut.write("; This file is automatically created by a convwatch run" + ls);
+ m_aOut.write("; " + ls);
+ m_aOut.write("; If you see this file in a browser you may have forgotten to set the follows in the property file" + ls);
+ m_aOut.write("; " + PropertyName.DOC_COMPARATOR_HTML_OUTPUT_PREFIX + "=http://lla-1.germany/gfxcmp/cw.php?inifile=" + ls);
+ m_aOut.write("; Please check the documentation if you got confused." + ls);
+ m_aOut.write("; " + ls);
+ m_aOut.write("; " + ls);
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void writeSection(String _sSectionName)
+ {
+ try
+ {
+ m_aOut.write("[" + _sSectionName + "]" + ls);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void writeValue(String _sName, String _sValue)
+ {
+ try
+ {
+ m_aOut.write(_sName + "=" + _sValue + ls);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void startSection(int _nNumber)
+ {
+ writeSection( "page" + String.valueOf(_nNumber));
+ }
+
+ public void close()
+ {
+ try
+ {
+ m_aOut.flush();
+ m_aOut.close();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void checkLine(StatusHelper _aStatus, boolean _bCurrentResult)
+ {
+ try
+ {
+ m_aOut.write( "oldgfx=" + _aStatus.m_sOldGfx + ls);
+ m_aOut.write( "newgfx=" + _aStatus.m_sNewGfx + ls);
+ m_aOut.write( "diffgfx=" + _aStatus.m_sDiffGfx + ls);
+
+ String sPercent = String.valueOf(_aStatus.nPercent) + "%";
+ if (_aStatus.nPercent > 0 && _aStatus.nPercent < 5)
+ {
+ sPercent += " (less 5% is ok)";
+ }
+ m_aOut.write("percent=" + sPercent + ls);
+
+ if (_aStatus.m_sDiff_BM_Gfx == null)
+ {
+ m_aOut.write("BM=false" + ls);
+ }
+ else
+ {
+ m_aOut.write("BM=true" + ls);
+ m_aOut.write( "old_BM_gfx=" + _aStatus.m_sOld_BM_Gfx + ls);
+ m_aOut.write( "new_BM_gfx=" + _aStatus.m_sNew_BM_Gfx + ls);
+ m_aOut.write( "diff_BM_gfx=" + _aStatus.m_sDiff_BM_Gfx + ls);
+
+ String sPercent2 = String.valueOf(_aStatus.nPercent2) + "%";
+ if (_aStatus.nPercent2 > 0 && _aStatus.nPercent2 < 5)
+ {
+ sPercent2 += " (less 5% is ok)";
+ }
+ m_aOut.write("percent2=" + sPercent2 + ls);
+ }
+
+ writeResult(_bCurrentResult);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ void writeResult(boolean _bCurrentResult) throws java.io.IOException
+ {
+ // is the check positiv, in a defined range
+ if (_bCurrentResult)
+ {
+ m_aOut.write("result=YES" + ls);
+ }
+ else
+ {
+ m_aOut.write("result=NO" + ls);
+ }
+ }
+
+ public void checkDiffDiffLine(StatusHelper _aStatus, boolean _bCurrentResult)
+ {
+ try
+ {
+ m_aOut.write( "oldgfx=" + _aStatus.m_sOldGfx + ls);
+ m_aOut.write( "newgfx=" + _aStatus.m_sNewGfx + ls);
+ m_aOut.write( "diffgfx=" + _aStatus.m_sDiffGfx + ls);
+
+ String sPercent = String.valueOf(_aStatus.nPercent) + "%";
+ // if (_aStatus.nPercent > 0 && _aStatus.nPercent < 5)
+ // {
+ // sPercent += " (less 5% is ok)";
+ // }
+ m_aOut.write("percent=" + sPercent + ls);
+
+ // is the check positiv, in a defined range
+ writeResult(_bCurrentResult);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/ImageHelper.java b/qadevOOo/runner/convwatch/ImageHelper.java
new file mode 100644
index 000000000000..6eec5dee6b63
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ImageHelper.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.awt.Image;
+import java.awt.image.PixelGrabber;
+import java.awt.image.ImageObserver;
+import java.io.File;
+//import javax.imageio.ImageIO;
+import java.lang.reflect.Method;
+
+class ImageHelper
+{
+ Image m_aImage;
+ int[] m_aPixels;
+ int m_w = 0;
+ int m_h = 0;
+ boolean m_bGrabbed = false;
+
+ public ImageHelper(Image _aImage)
+ {
+ m_aImage = _aImage;
+
+ // grab all (consume much memory)
+ m_w = getWidth();
+ m_h = getHeight();
+ int x = 0;
+ int y = 0;
+ m_aPixels = new int[m_w * m_h];
+ PixelGrabber pg = new PixelGrabber(m_aImage, x, y, m_w, m_h, m_aPixels, 0, m_w);
+ try {
+ pg.grabPixels();
+ } catch (InterruptedException e) {
+ System.err.println("interrupted waiting for pixels!");
+ return;
+ }
+ if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
+ System.err.println("image fetch aborted or errored");
+ return;
+ }
+ m_bGrabbed = true;
+ }
+ public int getWidth() {return m_aImage.getWidth(null);}
+ public int getHeight() {return m_aImage.getHeight(null);}
+ // direct access to a pixel
+ public int getPixel(int x, int y)
+ {
+ return m_aPixels[y * m_w + x];
+ }
+
+ // Write down the current image to a file.
+ // public void storeImage(String _sFilename)
+ // {
+ // }
+
+ public static ImageHelper createImageHelper(String _sFilename)
+ throws java.io.IOException
+ {
+ Image aImage = null;
+ File aFile = new File(_sFilename);
+ Exception ex = null;
+ try {
+ Class imageIOClass = Class.forName("javax.imageio.ImageIO");
+ Method readMethod = imageIOClass.getDeclaredMethod("read", new Class[]{java.io.File.class});
+ Object retValue = readMethod.invoke(imageIOClass, new Object[]{aFile});
+ aImage = (Image)retValue;
+ }
+ catch(java.lang.ClassNotFoundException e) {
+ ex = e;
+ }
+ catch(java.lang.NoSuchMethodException e) {
+ ex = e;
+ }
+ catch(java.lang.IllegalAccessException e) {
+ ex = e;
+ }
+ catch(java.lang.reflect.InvocationTargetException e) {
+ ex = e;
+ }
+
+ if (ex != null) {
+ // get Java version:
+ String javaVersion = System.getProperty("java.version");
+ throw new java.io.IOException(
+ "Cannot construct object with current Java version " +
+ javaVersion + ": " + ex.getMessage());
+ }
+// aImage = ImageIO.read(aFile);
+ return new ImageHelper(aImage);
+ }
+}
diff --git a/qadevOOo/runner/convwatch/IniFile.java b/qadevOOo/runner/convwatch/IniFile.java
new file mode 100644
index 000000000000..fbcaaea0b33b
--- /dev/null
+++ b/qadevOOo/runner/convwatch/IniFile.java
@@ -0,0 +1,452 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.RandomAccessFile;
+import java.util.ArrayList;
+
+/**
+ Helper class to give a simple API to read/write windows like ini files
+ */
+/* public */ // is only need, if we need this class outside package convwatch
+class IniFile
+{
+ /**
+ * internal representation of the ini file content.
+ * Problem, if ini file changed why other write something difference, we don't realise this.
+ */
+ String m_sFilename;
+ ArrayList m_aList;
+ boolean m_bListContainUnsavedChanges = false;
+
+ /**
+ open a ini file by it's name
+ @param _sFilename string a filename, if the file doesn't exist, a new empty ini file will create.
+ write back to disk only if there are really changes.
+ */
+ public IniFile(String _sFilename)
+ {
+ m_sFilename = _sFilename;
+ m_aList = loadLines();
+ }
+
+ ArrayList loadLines()
+ {
+ File aFile = new File(m_sFilename);
+ ArrayList aLines = new ArrayList();
+ if (! aFile.exists())
+ {
+ GlobalLogWriter.get().println("couldn't find file " + m_sFilename);
+ // DebugHelper.exception(BasicErrorCode.SbERR_FILE_NOT_FOUND, "");
+ // m_bListContainUnsavedChanges = false;
+ return aLines;
+ }
+ RandomAccessFile aReader = null;
+ try
+ {
+ aReader = new RandomAccessFile(aFile,"r");
+ String aLine = "";
+ while (aLine != null)
+ {
+ aLine = aReader.readLine();
+ if (aLine != null)
+ {
+ aLines.add(aLine);
+ }
+ }
+ }
+ catch (java.io.FileNotFoundException fne)
+ {
+ GlobalLogWriter.get().println("couldn't open file " + m_sFilename);
+ GlobalLogWriter.get().println("Message: " + fne.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_FILE_NOT_FOUND, "");
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.get().println("Exception occurs while reading from file " + m_sFilename);
+ GlobalLogWriter.get().println("Message: " + ie.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, ie.getMessage());
+ }
+ try
+ {
+ aReader.close();
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.get().println("Couldn't close file " + m_sFilename);
+ GlobalLogWriter.get().println("Message: " + ie.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, ie.getMessage());
+ }
+ return aLines;
+ }
+
+ /**
+ * @return true, if the ini file contain some readable data
+ */
+ public boolean is()
+ {
+ return m_aList.size() > 1 ? true : false;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ boolean isRemark(String _sLine)
+ {
+ if ( ((_sLine.length() < 2) ) ||
+ ( _sLine.startsWith("#")) ||
+ ( _sLine.startsWith(";")) )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ String getItem(int i)
+ {
+ return (String)m_aList.get(i);
+ }
+
+ String buildSectionName(String _sSectionName)
+ {
+ String sFindSection = "[" + _sSectionName + "]";
+ return sFindSection;
+ }
+ String toLowerIfNeed(String _sName)
+ {
+ return _sName.toLowerCase();
+ }
+
+ // return the number where this section starts
+ int findSection(String _sSection)
+ {
+ String sFindSection = toLowerIfNeed(buildSectionName(_sSection));
+ // ----------- find _sSection ---------------
+ int i;
+ for (i=0; i<m_aList.size();i++)
+ {
+ String sLine = toLowerIfNeed(getItem(i).trim());
+ if (isRemark(sLine))
+ {
+ continue;
+ }
+ if (sFindSection.equals("[]"))
+ {
+ // special case, empty Section.
+ return i - 1;
+ }
+ if (sLine.startsWith(sFindSection))
+ {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ // return the line number, where the key is found.
+ int findKey(String _sSection, String _sKey)
+ {
+ int i = findSection(_sSection);
+ if (i == -1)
+ {
+ // Section not found, therefore the value can't exist
+ return -1;
+ }
+ return findKeyFromKnownSection(i, _sKey);
+ }
+
+ // i must be the index in the list, where the well known section starts
+ int findKeyFromKnownSection(int _nSectionIndex, String _sKey)
+ {
+ _sKey = toLowerIfNeed(_sKey);
+ for (int j=_nSectionIndex + 1; j<m_aList.size();j++)
+ {
+ String sLine = getItem(j).trim();
+
+ if (isRemark(sLine))
+ {
+ continue;
+ }
+
+ if (sLine.startsWith("[") /* && sLine.endsWith("]") */)
+ {
+ // found end.
+ break;
+ }
+
+ int nEqual = sLine.indexOf("=");
+ if (nEqual >= 0)
+ {
+ String sKey = toLowerIfNeed(sLine.substring(0, nEqual).trim());
+ if (sKey.equals(_sKey))
+ {
+ return j;
+ }
+ }
+ }
+ return -1;
+ }
+
+ // i must be the index in the list, where the well known section starts
+ int findLastKnownKeyIndex(int _nSectionIndex, String _sKey)
+ {
+ _sKey = toLowerIfNeed(_sKey);
+ int i = _nSectionIndex + 1;
+ for (int j=i; j<m_aList.size();j++)
+ {
+ String sLine = getItem(j).trim();
+
+ if (isRemark(sLine))
+ {
+ continue;
+ }
+
+ if (sLine.startsWith("[") /* && sLine.endsWith("]") */)
+ {
+ // found end.
+ return j;
+ }
+
+ int nEqual = sLine.indexOf("=");
+ if (nEqual >= 0)
+ {
+ String sKey = toLowerIfNeed(sLine.substring(0, nEqual).trim());
+ if (sKey.equals(_sKey))
+ {
+ return j;
+ }
+ }
+ }
+ return i;
+ }
+
+ String getValue(int _nIndex)
+ {
+ String sLine = getItem(_nIndex).trim();
+ if (isRemark(sLine))
+ {
+ return "";
+ }
+ int nEqual = sLine.indexOf("=");
+ if (nEqual >= 0)
+ {
+ String sKey = sLine.substring(0, nEqual).trim();
+ String sValue = sLine.substring(nEqual + 1).trim();
+ return sValue;
+ }
+ return "";
+ }
+
+ /**
+ @param _sSection string
+ @param _sKey string
+ @return the value found in the inifile which is given by the section and key parameter
+ */
+ public String getValue(String _sSection, String _sKey)
+ {
+ String sValue = "";
+ int i = findKey(_sSection, _sKey);
+ if (i == -1)
+ {
+ // Section not found, therefore the value can't exist
+ return "";
+ }
+
+ sValue = getValue(i);
+
+ return sValue;
+ }
+
+ /**
+ write back the ini file to the disk, only if there exist changes
+ */
+ public void store()
+ {
+ if (m_bListContainUnsavedChanges == false)
+ {
+ // nothing has changed, so no need to store
+ return;
+ }
+
+ File aFile = new File(m_sFilename);
+ if (aFile.exists())
+ {
+ // System.out.println("couldn't find file " + m_sFilename);
+ aFile.delete();
+ if (aFile.exists())
+ {
+ GlobalLogWriter.get().println("Couldn't delete the file " + m_sFilename);
+ return;
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, "Couldn't delete the file " + m_sFilename);
+ }
+ }
+ // if (! aFile.canWrite())
+ // {
+ // System.out.println("Couldn't write to file " + m_sFilename);
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, "");
+ // }
+ try
+ {
+ RandomAccessFile aWriter = new RandomAccessFile(aFile, "rw");
+ for (int i=0; i<m_aList.size();i++)
+ {
+ String sLine = getItem(i);
+ aWriter.writeBytes(sLine);
+ aWriter.writeByte((int)'\n');
+ }
+ aWriter.close();
+ }
+
+ catch (java.io.FileNotFoundException fne)
+ {
+ GlobalLogWriter.get().println("couldn't open file for writing " + m_sFilename);
+ GlobalLogWriter.get().println("Message: " + fne.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_FILE_NOT_FOUND, "");
+ }
+ catch(java.io.IOException ie)
+ {
+ GlobalLogWriter.get().println("Exception occurs while writing to file " + m_sFilename);
+ GlobalLogWriter.get().println("Message: " + ie.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, ie.getMessage());
+ }
+ }
+
+
+
+ /**
+ insert a value
+ there are 3 cases
+ 1. section doesn't exist, goto end and insert a new section, insert a new key value pair
+ 2. section exist but key not, search section, search key, if key is -1 get last known key position and insert new key value pair there
+ 3. section exist and key exist, remove the old key and insert the key value pair at the same position
+ */
+ public void insertValue(String _sSection, String _sKey, String _sValue)
+ {
+ int i = findSection(_sSection);
+ if (i == -1)
+ {
+ // case 1: section doesn't exist
+ String sFindSection = buildSectionName(_sSection);
+
+ m_aList.add(sFindSection);
+ String sKeyValuePair = _sKey + "=" + _sValue;
+ m_aList.add(sKeyValuePair);
+ m_bListContainUnsavedChanges = true;
+ return;
+ }
+ int j = findKeyFromKnownSection(i, _sKey);
+ if (j == -1)
+ {
+ // case 2: section exist, but not the key
+ j = findLastKnownKeyIndex(i, _sKey);
+ String sKeyValuePair = _sKey + "=" + _sValue;
+ m_aList.add(j, sKeyValuePair);
+ m_bListContainUnsavedChanges = true;
+ return;
+ }
+ else
+ {
+ // case 3: section exist, and also the key
+ String sKeyValuePair = _sKey + "=" + _sValue;
+ m_aList.set(j, sKeyValuePair);
+ m_bListContainUnsavedChanges = true;
+ }
+ }
+ // -----------------------------------------------------------------------------
+ // String replaceEvaluatedValue(String _sSection, String _sValue)
+ // {
+ // String sValue = _sValue;
+ // int nIndex = 0;
+ // while (( nIndex = sValue.indexOf("$(", nIndex)) >= 0)
+ // {
+ // int nNextIndex = sValue.indexOf(")", nIndex);
+ // if (nNextIndex >= 0)
+ // {
+ // String sKey = sValue.substring(nIndex + 2, nNextIndex);
+ // String sNewValue = getValue(_sSection, sKey);
+ // if (sNewValue != null && sNewValue.length() > 0)
+ // {
+ // String sRegexpKey = "\\$\\(" + sKey + "\\)";
+ // sValue = sValue.replaceAll(sRegexpKey, sNewValue);
+ // }
+ // nIndex = nNextIndex;
+ // }
+ // else
+ // {
+ // nIndex += 2;
+ // }
+ // }
+ // return sValue;
+ // }
+ // -----------------------------------------------------------------------------
+
+ // public String getLocalEvaluatedValue(String _sSection, String _sKey)
+ // {
+ // String sValue = getValue(_sSection, _sKey);
+ // sValue = replaceEvaluatedValue(_sSection, sValue);
+ // return sValue;
+ // }
+
+ // -----------------------------------------------------------------------------
+
+ // this is a special behaviour.
+ // public String getGlobalLocalEvaluatedValue(String _sSection, String _sKey)
+ // {
+ // String sGlobalValue = getKey("global", _sKey);
+ // String sLocalValue = getKey(_sSection, _sKey);
+ // if (sLocalValue.length() == 0)
+ // {
+ // sGlobalValue = replaceEvaluatedKey(_sSection, sGlobalValue);
+ // sGlobalValue = replaceEvaluatedKey("global", sGlobalValue);
+ // return sGlobalValue;
+ // }
+ // sLocalValue = replaceEvaluatedKey(_sSection, sLocalValue);
+ // sLocalValue = replaceEvaluatedKey("global", sLocalValue);
+ //
+ // return sLocalValue;
+ // }
+
+
+ /**
+ * some tests for this class
+ */
+// public static void main(String[] args)
+// {
+// IniFile aIniFile = new IniFile("/tmp/inifile");
+// String sValue = aIniFile.getValue("Section","Key");
+// // insert a new value to a already exist section
+// aIniFile.insertValue("Section","Key2","a new value in a existing section");
+// // replace a value
+// aIniFile.insertValue("Section","Key","replaced value");
+// // create a new value
+// aIniFile.insertValue("New Section", "Key", "a new key value pair");
+//
+// String sValue2 = aIniFile.getValue("Section2","Key");
+// aIniFile.store();
+// }
+}
diff --git a/qadevOOo/runner/convwatch/LISTOutputter.java b/qadevOOo/runner/convwatch/LISTOutputter.java
new file mode 100644
index 000000000000..87c13ea0477a
--- /dev/null
+++ b/qadevOOo/runner/convwatch/LISTOutputter.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.FileWriter;
+
+public class LISTOutputter
+{
+ FileWriter m_aOut;
+ String m_sFilename;
+
+ /**
+ * ls is the current line separator (carridge return)
+ */
+ String ls;
+
+ public static LISTOutputter create( String _sOutputPath, String _sFilename)
+ {
+ FileHelper.makeDirectories("", _sOutputPath);
+ LISTOutputter a = new LISTOutputter();
+ String fs = System.getProperty("file.separator");
+ String sFilename = _sOutputPath + fs + _sFilename;
+
+ try
+ {
+ File outputFile = new File(sFilename);
+ a.m_aOut = new FileWriter(outputFile.toString());
+ a.ls = System.getProperty("line.separator");
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ GlobalLogWriter.get().println("ERROR: Can't create LIST Outputter");
+ return null;
+ }
+ a.m_sFilename = sFilename;
+
+ return a;
+ }
+ public String getFilename() {return m_sFilename;}
+
+ public void createHeader()
+ {
+ try
+ {
+ m_aOut.write("# This file is automatically created by a convwatch run" + ls);
+ m_aOut.write("# " + ls);
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void writeValue(String _sValue)
+ {
+ try
+ {
+ m_aOut.write(_sValue + ls);
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+ public void close()
+ {
+ try
+ {
+ m_aOut.flush();
+ m_aOut.close();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/MSOfficePrint.java b/qadevOOo/runner/convwatch/MSOfficePrint.java
new file mode 100644
index 000000000000..5be0cfe058ce
--- /dev/null
+++ b/qadevOOo/runner/convwatch/MSOfficePrint.java
@@ -0,0 +1,870 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import convwatch.FileHelper;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.RandomAccessFile;
+import convwatch.GraphicalTestArguments;
+import helper.ProcessHandler;
+import java.util.ArrayList;
+import helper.OSHelper;
+
+/**
+ * This object gives all functionallity to print msoffice documents.
+ * It also offers functions to check what type of document it is.
+ * It handles *.doc as word documents and use word to print
+ * *.xls as excel
+ * *.ppt as powerpoint
+ */
+
+class ProcessHelper
+{
+ ArrayList m_aArray;
+}
+
+public class MSOfficePrint
+{
+ private String m_sPrinterName; // within Windows the tools need a printer name;
+
+ public void setPrinterName(String _s) {m_sPrinterName = _s;}
+
+ // -----------------------------------------------------------------------------
+ static boolean isWordDocument(String _sSuffix)
+ {
+ if (_sSuffix.toLowerCase().endsWith(".doc") ||
+ _sSuffix.toLowerCase().endsWith(".rtf") ||
+ _sSuffix.toLowerCase().endsWith(".dot"))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ static boolean isExcelDocument(String _sSuffix)
+ {
+ // xlt templates
+ // xlw
+ // xla addin
+ if (_sSuffix.toLowerCase().endsWith(".xls"))
+ {
+ return true;
+ }
+ /* temporal insertion by SUS
+ if (_sSuffix.endsWith(".xml"))
+ {
+ return true;
+ }*/
+ return false;
+ }
+
+ static boolean isPowerPointDocument(String _sSuffix)
+ {
+ if (_sSuffix.toLowerCase().endsWith(".pps") ||
+ _sSuffix.toLowerCase().endsWith(".ppt"))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * returns true, if the given filename has a MS Office suffix.
+ */
+ public static boolean isMSOfficeDocumentFormat(String _sFile)
+ {
+ String sDocumentSuffix = FileHelper.getSuffix(_sFile);
+ if (isWordDocument(sDocumentSuffix)) return true;
+ if (isExcelDocument(sDocumentSuffix)) return true;
+ if (isPowerPointDocument(sDocumentSuffix)) return true;
+ // if suffix is xml, return also true, but we can't decide if word or excel
+ if (sDocumentSuffix.toLowerCase().endsWith(".xml")) return true;
+ return false;
+ }
+
+ public void storeToFileWithMSOffice( GraphicalTestArguments _aGTA,
+ String _sInputFile,
+ String _sOutputFile) throws ConvWatchCancelException, java.io.IOException
+ {
+ String sDocumentSuffix = FileHelper.getSuffix(_sInputFile);
+ String sFilterName = _aGTA.getExportFilterName();
+ ArrayList aStartCommand = new ArrayList();
+ if (isWordDocument(sDocumentSuffix))
+ {
+ aStartCommand = createWordStoreHelper();
+ }
+ else if (isExcelDocument(sDocumentSuffix))
+ {
+ aStartCommand = createExcelStoreHelper();
+ }
+ else if (isPowerPointDocument(sDocumentSuffix))
+ {
+ }
+ else if (sDocumentSuffix.toLowerCase().equals(".xml"))
+ {
+ // special case, if xml we prefer word, but with DEFAULT_XML_FORMAT_APP=excel it's changeable.
+ if (_aGTA.getDefaultXMLFormatApp().toLowerCase().equals("excel"))
+ {
+ aStartCommand = createExcelStoreHelper();
+ }
+ // else
+ // {
+ // }
+ }
+ else
+ {
+ GlobalLogWriter.get().println("No Microsoft Office document format found.");
+// TODO: use a better Exception!!!
+ throw new ConvWatchCancelException/*WrongSuffixException*/("No MS office document format found.");
+ }
+ if (aStartCommand != null)
+ {
+ if (sFilterName == null)
+ {
+// TODO: hardcoded FilterName in perl script
+ sFilterName = ""; // xlXMLSpreadsheet";
+ }
+
+ // String sCommand = sStartCommand + " " +
+ // _sInputFile + " " +
+ // StringHelper.doubleQuote(sFilterName) + " " +
+ // _sOutputFile;
+
+ aStartCommand.add(_sInputFile);
+ aStartCommand.add(sFilterName);
+ aStartCommand.add(_sOutputFile);
+ realStartCommand(aStartCommand);
+ }
+ }
+
+ // -----------------------------------------------------------------------------
+ /**
+ * print the given file (_sInputFile) to the file name (_sPrintFile)
+ */
+ public void printToFileWithMSOffice( GraphicalTestArguments _aGTA,
+ String _sInputFile,
+ String _sPrintFilename) throws ConvWatchCancelException, java.io.IOException
+ {
+ String sDocumentSuffix = FileHelper.getSuffix(_sInputFile);
+
+ setPrinterName(_aGTA.getPrinterName());
+
+ ArrayList aStartCommand = new ArrayList();
+ if (isWordDocument(sDocumentSuffix))
+ {
+ aStartCommand = createWordPrintHelper();
+ }
+ else if (isExcelDocument(sDocumentSuffix))
+ {
+ aStartCommand = createExcelPrintHelper();
+ }
+ else if (isPowerPointDocument(sDocumentSuffix))
+ {
+ aStartCommand = createPowerPointPrintHelper();
+ }
+ else if (sDocumentSuffix.toLowerCase().equals(".xml"))
+ {
+// TODO: Open XML File and check if we need excel or word
+ String sOfficeType = getOfficeType(_sInputFile);
+
+ // special case, if xml we prefer word, but with DEFAULT_XML_FORMAT_APP=excel it's changeable.
+ // if (_aGTA.getDefaultXMLFormatApp().toLowerCase().equals("excel"))
+ if (sOfficeType.equals("excel"))
+ {
+ aStartCommand = createExcelPrintHelper();
+ }
+ else if (sOfficeType.equals("word"))
+ {
+ aStartCommand = createWordPrintHelper();
+ }
+ else
+ {
+ return;
+ }
+ }
+ else
+ {
+ GlobalLogWriter.get().println("No Microsoft Office document format found.");
+// TODO: use a better Exception!!!
+ throw new ConvWatchCancelException/*WrongSuffixException*/("No Mircosoft Office document format found.");
+ }
+
+ if (aStartCommand.isEmpty() == false)
+ {
+ String sPrinterName = m_sPrinterName;
+ if (sPrinterName == null)
+ {
+ sPrinterName = "";
+ }
+
+ // String sCommand = sStartCommand + " " +
+ // _sInputFile + " " +
+ // StringHelper.doubleQuote(m_sPrinterName) + " " +
+ // _sPrintFilename;
+ aStartCommand.add(_sInputFile);
+ aStartCommand.add(m_sPrinterName);
+ aStartCommand.add(_sPrintFilename);
+
+ realStartCommand(aStartCommand);
+ }
+ String sUserDir = System.getProperty("user.home");
+ String fs = System.getProperty("file.separator");
+ if (! sUserDir.endsWith(fs))
+ {
+ sUserDir = sUserDir + fs;
+ }
+ _aGTA.getPerformance().readWordValuesFromFile(sUserDir + "msofficeloadtimes.txt");
+ OfficePrint.createInfoFile(_sPrintFilename, _aGTA, "msoffice");
+ TimeHelper.waitInSeconds(2, "Give Microsoft Office some time to print.");
+ }
+
+ public void realStartCommand(ArrayList _aStartCommand) throws ConvWatchCancelException
+ {
+ if (_aStartCommand.isEmpty())
+ {
+ throw new ConvWatchCancelException/*WrongEnvironmentException*/("Given list is empty.");
+ }
+
+ try
+ {
+ // Convert the StartCommand ArrayList to a String List
+ int nValues = _aStartCommand.size();
+ String[] aList = new String[nValues];
+ for (int i=0;i<nValues;i++)
+ {
+ String aStr = (String) _aStartCommand.get(i);
+ if (aStr == null)
+ {
+ aStr = "";
+ }
+ if (aStr.length() == 0)
+ {
+ aStr = "\"\"";
+ }
+ aList[i] = new String(aStr);
+ }
+
+ // This is really the latest point where we can check if we are running within windows environment
+ if (! OSHelper.isWindows())
+ {
+ // TODO: use a better Exception!!!
+ throw new ConvWatchCancelException/*WrongEnvironmentException*/("We doesn't work within windows environment.");
+ }
+
+
+ ProcessHandler aHandler = new ProcessHandler(aList);
+ boolean bBackValue = aHandler.executeSynchronously();
+ }
+ catch (IndexOutOfBoundsException e)
+ {
+ throw new ConvWatchCancelException/*WrongEnvironmentException*/("Given list is too short.");
+ }
+
+ // return aHandler.getExitCode();
+ }
+
+
+ ArrayList createWordPrintHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+ String fs = System.getProperty("file.separator");
+
+ String sPrintViaWord = "printViaWord.pl";
+
+ ArrayList aList = searchLocalFile(sPrintViaWord);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+
+ String sName = sTmpPath + fs + sPrintViaWord;
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile.toString());
+
+
+ out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( "use Time::HiRes; " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Windows only.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE; " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Word'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: word_print.pl <Word file> <name of printer> <output file> .\\n " + ls );
+ out.write( " Please use the same string for the name of the printer as you can find \\n " + ls );
+ out.write( " under Start-Control Panel-Printer and Faxes \\n " + ls );
+ out.write( " The name could look like the the following line: \\n " + ls );
+ out.write( " Apple LaserWriter II NT v47.0 \\n " + ls );
+ out.write( " Sample command line: \\n " + ls );
+ out.write( " execl_print.pl c:\\book1.doc Apple LaserWriter II NT v47.0 c:\\output\\book1.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Too less arguments.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $startWordTime = Time::HiRes::time(); " + ls );
+ out.write( "my $Word = Win32::OLE->new('Word.Application'); " + ls );
+ out.write( "my $stopWordTime = Time::HiRes::time() - $startWordTime; " + ls );
+ out.write( "# $Word->{'Visible'} = 1; # if you want to see what's going on " + ls );
+ out.write( "# , ReadOnly => 1})" + ls );
+ out.write(ls);
+ out.write( "my $startLoadWordTime = Time::HiRes::time(); " + ls );
+ out.write( "$Word->Documents->Open({Filename => $ARGV[0]}) " + ls );
+ out.write( " || die('Unable to open document ', Win32::OLE->LastError()); " + ls );
+ out.write( "my $stopLoadWordTime = Time::HiRes::time() - $startLoadWordTime; " + ls );
+ out.write(ls);
+ out.write( "my $startPrintWordTime = Time::HiRes::time(); " + ls);
+ out.write( "my $oldActivePrinte = $Word->{ActivePrinter} ; " + ls );
+ out.write( "$Word->{ActivePrinter} = $ARGV[1]; " + ls );
+ out.write( "$Word->ActiveDocument->PrintOut({ " + ls );
+ out.write( " Background => 0, " + ls );
+ out.write( " Append => 0, " + ls );
+ out.write( " Range => wdPrintAllDocument, " + ls );
+ out.write( " Item => wdPrintDocumentContent, " + ls );
+ out.write( " Copies => 1, " + ls );
+ out.write( " PageType => wdPrintAllPages, " + ls );
+ out.write( " PrintToFile => 1, " + ls );
+ out.write( " OutputFileName => $ARGV[2] " + ls );
+ out.write( " }); " + ls );
+ out.write( "$Word->{ActivePrinter} = $oldActivePrinte; " + ls );
+ out.write( "my $stopPrintWordTime = Time::HiRes::time() - $startPrintWordTime;" + ls);
+
+ out.write( "# ActiveDocument.Close(SaveChanges:=WdSaveOptions.wdDoNotSaveChanges)" + ls );
+ out.write( "my $sVersion = $Word->Application->Version();"+ls);
+ out.write( "$Word->ActiveDocument->Close({SaveChanges => 0}); " + ls );
+ out.write( "$Word->Quit(); " + ls );
+
+ out.write( "local *FILE;" + ls);
+ out.write( "if (open(FILE, \">$ENV{HOME}/msofficeloadtimes.txt\"))" + ls);
+ out.write( "{" + ls);
+ out.write( " print FILE \"name=$ARGV[0]\\n\";" + ls);
+ out.write( " print FILE \"WordVersion=$sVersion\\n\";" + ls);
+ out.write( " print FILE \"WordStartTime=$stopWordTime\\n\";" + ls);
+ out.write( " print FILE \"WordLoadTime=$stopLoadWordTime\\n\";" + ls);
+ out.write( " print FILE \"WordPrintTime=$stopPrintWordTime\\n\";" + ls);
+ out.write( " close(FILE);" + ls);
+ out.write( "}" + ls);
+ out.close();
+
+ aList.add("perl");
+ aList.add(sName);
+ return aList;
+ }
+
+ // TODO: Maybe give a possibility to say where search the script from outside
+
+ ArrayList searchLocalFile(String _sScriptName)
+ {
+ String userdir = System.getProperty("user.dir");
+ String fs = System.getProperty("file.separator");
+
+ ArrayList aList = new ArrayList();
+ File aPerlScript = new File(userdir + fs + _sScriptName);
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.get().println("Search for local existance of " + aPerlScript.getAbsolutePath());
+ }
+
+ if (aPerlScript.exists())
+ {
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.get().println("OK, found it, use this instead the internal one.");
+ }
+
+ String sName = aPerlScript.getAbsolutePath();
+ // String sCommand = "perl " + sName;
+ // System.out.println(sCommand);
+ aList.add("perl");
+ aList.add(sName);
+ return aList;
+ }
+ return aList;
+ }
+
+ ArrayList createWordStoreHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+ String fs = System.getProperty("file.separator");
+
+ // ArrayList aList = new ArrayList();
+ String sSaveViaWord = "saveViaWord.pl";
+
+ ArrayList aList = searchLocalFile(sSaveViaWord);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+
+ String sName = sTmpPath + fs + sSaveViaWord;
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.get().println("No local found, create a perl script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile.toString());
+
+ out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( " " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Windows only.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE; " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Word'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: storeViaWord.pl <Word file> <output filer> <output file> \\n\" " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Too less arguments.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "my $Word = Win32::OLE->new('Word.Application'); " + ls );
+ out.write( "# $Word->{'Visible'} = 1; # if you want to see what's going on " + ls );
+ out.write( "my $Book = $Word->Documents->Open($ARGV[0]) " + ls );
+ out.write( " || die('Unable to open document ', Win32::OLE->LastError()); " + ls );
+ out.write( "# my $oldActivePrinte = $Word->{ActivePrinter} ; " + ls );
+ out.write( "# $Word->{ActivePrinter} = $ARGV[1]; " + ls );
+ out.write( "# $Word->ActiveDocument->PrintOut({ " + ls );
+ out.write( "# Background => 0, " + ls );
+ out.write( "# Append => 0, " + ls );
+ out.write( "# Range => wdPrintAllDocument, " + ls );
+ out.write( "# Item => wdPrintDocumentContent, " + ls );
+ out.write( "# Copies => 1, " + ls );
+ out.write( "# PageType => wdPrintAllPages, " + ls );
+ out.write( "# PrintToFile => 1, " + ls );
+ out.write( "# OutputFileName => $ARGV[2] " + ls );
+ out.write( "# }); " + ls );
+ out.write( "# $Word->{ActivePrinter} = $oldActivePrinte; " + ls );
+ out.write( "$Book->savaAs($ARGV[2], $ARGV[1]); " + ls );
+ out.write( "# ActiveDocument.Close(SaveChanges:=WdSaveOptions.wdDoNotSaveChanges)" + ls );
+ out.write( "$Book->Close({SaveChanges => 0}); " + ls );
+ out.write( "$Word->Quit(); " + ls );
+ out.close();
+
+ aList.add("perl");
+ aList.add(sName);
+ return aList;
+ }
+
+
+ ArrayList createExcelPrintHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+ String fs = System.getProperty("file.separator");
+
+ String sPrintViaExcel = "printViaExcel.pl";
+
+ ArrayList aList = searchLocalFile(sPrintViaExcel);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+ String sName = sTmpPath + fs + sPrintViaExcel;
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.get().println("No local found, create a perl script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile.toString());
+
+ out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( " " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Windows only.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE qw(in with); " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Excel'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: printViaExcel.pl <Excel file> <name of printer> <output file> .\\n " + ls );
+ out.write( " Please use the same string for the name of the printer as you can find \\n " + ls );
+ out.write( " under Start-Control Panel-Printer and Faxes \\n " + ls );
+ out.write( " The name could look like the the following line: \\n " + ls );
+ out.write( " Apple LaserWriter II NT v47.0 \\n " + ls );
+ out.write( " Sample command line: \\n " + ls );
+ out.write( " execl_print.pl c:\\book1.xls Apple LaserWriter II NT v47.0 c:\\output\\book1.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "$Win32::OLE::Warn = 3; # die on errors... " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Too less arguments.\\n\"; " + ls );
+ out.write( " print STDERR \"ARGV[0] $ARGV[0]\\n\"; " + ls );
+ out.write( " print STDERR \"ARGV[1] $ARGV[1]\\n\"; " + ls );
+ out.write( " print STDERR \"ARGV[2] $ARGV[2]\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $Excel = Win32::OLE->GetActiveObject('Excel.Application') " + ls );
+ out.write( " || Win32::OLE->new('Excel.Application', 'Quit'); # get already active Excel " + ls );
+ out.write( " # application or open new " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "my $Book = $Excel->Workbooks->Open( $ARGV[0] ); " + ls );
+ out.write( " $Book->PrintOut({Copies => 1, " + ls );
+ out.write( " ActivePrinter => $ARGV[1], " + ls );
+ out.write( " PrToFileName => $ARGV[2], " + ls );
+ out.write( " Collate => 1 " + ls );
+ out.write( " }); " + ls );
+ out.write( "# Close worksheets without store changes" + ls );
+ out.write( "# $Book->Close({SaveChanges => 0}); " + ls );
+ out.write( "my $sVersion = $Excel->Application->Version();"+ls);
+ out.write( "$Excel->Quit(); " + ls );
+ out.write( "local *FILE;" + ls);
+ out.write( "if (open(FILE, \">$ENV{HOME}/msofficeloadtimes.txt\"))" + ls);
+ out.write( "{" + ls);
+ out.write( " print FILE \"name=$ARGV[0]\\n\";" + ls);
+ out.write( " print FILE \"ExcelVersion=$sVersion\\n\";" + ls);
+// out.write( " print FILE \"WordStartTime=$stopWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordLoadTime=$stopLoadWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordPrintTime=$stopPrintWordTime\\n\";" + ls);
+ out.write( " close(FILE);" + ls);
+ out.write( "}" + ls);
+ out.close();
+
+ aList.add("perl");
+ aList.add(sName);
+ return aList;
+ }
+
+ ArrayList createExcelStoreHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+ String fs = System.getProperty("file.separator");
+
+ String sSaveViaExcel = "saveViaExcel.pl";
+
+ ArrayList aList = searchLocalFile(sSaveViaExcel);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+ String sName = sTmpPath + fs + sSaveViaExcel;
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.get().println("No local found, create a script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile.toString());
+
+ out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( "# This script is automatically created. " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE qw(in with); " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Excel'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: savaViaExcel.pl <Excel file> <filefilter> <output file> .\\n " + ls );
+ out.write( " execl_print.pl c:\\book1.xls Apple LaserWriter II NT v47.0 c:\\output\\book1.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "$Win32::OLE::Warn = 3; # die on errors... " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Too less arguments.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $Excel = Win32::OLE->GetActiveObject('Excel.Application') " + ls );
+ out.write( " || Win32::OLE->new('Excel.Application', 'Quit'); # get already active Excel " + ls );
+ out.write( " # application or open new " + ls );
+ out.write( "my $sFilterParameter = $ARGV[1]; " + ls );
+ out.write( "my $sFilterName = xlHTML; " + ls );
+ out.write( "if ($sFilterParameter eq 'xlXMLSpreadsheet') " + ls );
+ out.write( "{ " + ls );
+ out.write( " $sFilterName = xlXMLSpreadsheet; " + ls );
+ out.write( "} " + ls );
+ out.write( "elsif ($sFilterParameter eq 'xlHTML') " + ls );
+ out.write( "{ " + ls );
+ out.write( " $sFilterName = xlHTML; " + ls );
+ out.write( "} " + ls );
+ out.write( "else " + ls );
+ out.write( "{ " + ls );
+ out.write( " my $undefined; " + ls);
+ out.write( " $sFilterName = $undefined; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $Book = $Excel->Workbooks->Open( $ARGV[0] ); " + ls );
+ out.write( "$Excel->{DisplayAlerts} = 0; " + ls );
+ out.write( "$Book->saveAs($ARGV[2], " + ls );
+ out.write( " $sFilterName, " + ls );
+ out.write( " '', " + ls );
+ out.write( " '', " + ls );
+ out.write( " 0, " + ls );
+ out.write( " 0, " + ls );
+ out.write( " xlNoChange, " + ls );
+ out.write( " xlLocalSessionChanges, " + ls );
+ out.write( " 1); " + ls );
+ out.write( "# Close worksheets without store changes" + ls );
+ out.write( "# $Book->Close({SaveChanges => 0}); " + ls );
+ out.write( "$Excel->Quit(); " + ls );
+ out.close();
+
+ aList.add("perl");
+ aList.add(sName);
+ return aList;
+ }
+
+ ArrayList createPowerPointPrintHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+ String fs = System.getProperty("file.separator");
+
+ String sPrintViaPowerPoint = "printViaPowerPoint.pl";
+
+ ArrayList aList = searchLocalFile(sPrintViaPowerPoint);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+ String sName = sTmpPath + fs + sPrintViaPowerPoint;
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.get().println("No local found, create a script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile.toString());
+
+
+ out.write( "eval 'exec perl -wS $0 $1 $2 ' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( " " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Windows only.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE qw(in with); " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft PowerPoint'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: powerpoint_print.pl <PowerPoint file> <name of printer> <output file> .\\n " + ls );
+ out.write( " Please use the same string for the name of the printer as you can find \\n " + ls );
+ out.write( " under Start-Control Panel-Printer and Faxes \\n " + ls );
+ out.write( " The name could look like the the following line: \\n " + ls );
+ out.write( " Apple LaserWriter II NT v47.0 \\n " + ls );
+ out.write( " Sample command line: \\n " + ls );
+ out.write( " powerpoint_print.pl c:\\book.ppt Apple LaserWriter II NT v47.0 c:\\output\\book.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "$Win32::OLE::Warn = 3; # die on errors... " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV < 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Too less arguments.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $PowerPoint = Win32::OLE->GetActiveObject('PowerPoint.Application') " + ls );
+ out.write( " || Win32::OLE->new('PowerPoint.Application', 'Quit'); # get already active Excel " + ls );
+ out.write( " # application or open new " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " $PowerPoint->{'Visible'} = 1; " + ls );
+ out.write( " my $Presentation = $PowerPoint->Presentations->Add; " + ls );
+ out.write( " my $Presentation = $PowerPoint->Presentations->Open( $ARGV[0] ); " + ls );
+ out.write( "# we can't change active printer in powerpoint " + ls );
+ out.write( "# $Presentation->PrintOptions->{ActivePrinter} = $ARGV[1]; " + ls );
+ out.write( " print \"Active printer is: \" . $Presentation->PrintOptions->{ActivePrinter} . \"\\n\"; " + ls );
+ out.write( " $Presentation->PrintOptions->{PrintInBackground} = 0; " + ls );
+ out.write( " # PrintColorType = 1 means print in color and PrintColorType = 2 means print in gray " + ls );
+ out.write( " $Presentation->PrintOptions->{PrintColorType} = 1; " + ls );
+ out.write( " " + ls );
+ out.write( " $Presentation->PrintOut({PrintToFile => $ARGV[2]}); " + ls );
+ out.write( " sleep 5; " + ls );
+ out.write( " print \"Presentation has been printed\\n\"; " + ls );
+ out.write( "my $sVersion = $Presentation->Application->Version();"+ls);
+ out.write( " $PowerPoint->Quit(); " + ls );
+
+ out.write( "local *FILE;" + ls);
+ out.write( "if (open(FILE, \">$ENV{HOME}/msofficeloadtimes.txt\"))" + ls);
+ out.write( "{" + ls);
+ out.write( " print FILE \"name=$ARGV[0]\\n\";" + ls);
+ out.write( " print FILE \"PowerPointVersion=$sVersion\\n\";" + ls);
+// out.write( " print FILE \"WordStartTime=$stopWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordLoadTime=$stopLoadWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordPrintTime=$stopPrintWordTime\\n\";" + ls);
+ out.write( " close(FILE);" + ls);
+ out.write( "}" + ls);
+ out.close();
+
+ aList.add("perl");
+ aList.add(sName);
+ return aList;
+ }
+
+ /**
+ @param _sFilename a name to a ms office xml file
+ @return 'word' or 'excel' or '' if type not known
+ */
+ public String getOfficeType(String _sFilename)
+ {
+ File aFile = new File(_sFilename);
+ if (! aFile.exists())
+ {
+ GlobalLogWriter.get().println("couldn't find file " + _sFilename);
+ return "";
+ }
+ RandomAccessFile aReader = null;
+ String sOfficeType = "";
+ try
+ {
+ aReader = new RandomAccessFile(aFile,"r");
+ String aLine = "";
+ while (aLine != null)
+ {
+ aLine = aReader.readLine();
+ if (aLine != null)
+ {
+ aLine = aLine.trim();
+ if ( (! (aLine.length() < 2) ) &&
+ (! aLine.startsWith("#")) &&
+ (! aLine.startsWith(";")) )
+ {
+ int nIdx = aLine.indexOf("mso-application");
+ if (nIdx > 0)
+ {
+ if (aLine.indexOf("Word.Document") > 0)
+ {
+ sOfficeType = "word";
+ }
+ else if (aLine.indexOf("Excel") > 0)
+ {
+ sOfficeType = "excel";
+ }
+ else
+ {
+ GlobalLogWriter.get().println("Unknown/unsupported data file: " + aLine);
+ }
+ }
+ }
+ }
+ }
+ }
+ catch (java.io.FileNotFoundException fne)
+ {
+ System.out.println("couldn't open file " + _sFilename);
+ System.out.println("Message: " + fne.getMessage());
+ }
+ catch (java.io.IOException ie)
+ {
+ System.out.println("Exception while reading file " + _sFilename);
+ System.out.println("Message: " + ie.getMessage());
+ }
+ try
+ {
+ aReader.close();
+ }
+ catch (java.io.IOException ie)
+ {
+ System.out.println("Couldn't close file " + _sFilename);
+ System.out.println("Message: " + ie.getMessage());
+ }
+ return sOfficeType;
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/NameHelper.java b/qadevOOo/runner/convwatch/NameHelper.java
new file mode 100644
index 000000000000..cddf3aca75f2
--- /dev/null
+++ b/qadevOOo/runner/convwatch/NameHelper.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+/**
+ * This container class should help to handle the name of the current document
+ */
+
+public class NameHelper
+{
+ /**
+ *
+ */
+ String m_sOutputPath;
+
+ /**
+ *
+ */
+ String m_sRelativeOutputPath;
+
+ /**
+ *
+ */
+ String m_sNameNoSuffix;
+ String m_sSuffix;
+
+ public NameHelper(String _sOutputPath, String _sRelativeOutputPath, String _sBasename)
+ {
+ m_sOutputPath = _sOutputPath;
+ m_sRelativeOutputPath = _sRelativeOutputPath;
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(_sBasename);
+ m_sNameNoSuffix = sNameNoSuffix;
+ m_sSuffix = FileHelper.getSuffix(_sBasename);
+ }
+ /**
+ * @return the OutputPath
+ */
+ public String getOutputPath() {return m_sOutputPath;}
+
+ /**
+ * @return the relative OutputPath
+ */
+ public String getRelativePath() {return m_sRelativeOutputPath;}
+
+ /**
+ * @return the document name without it's suffix
+ */
+ public String getName() {return m_sNameNoSuffix;}
+
+ /**
+ * @return the document suffix from the original document
+ */
+ public String getSuffix() {return m_sSuffix;}
+
+ public void print()
+ {
+ GlobalLogWriter.get().println(" Outputpath: " + m_sOutputPath);
+ GlobalLogWriter.get().println("relative Outputpath: " + m_sRelativeOutputPath);
+ GlobalLogWriter.get().println(" Name: " + m_sNameNoSuffix);
+ GlobalLogWriter.get().println(" Suffix: " + m_sSuffix);
+
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/OSHelper.java b/qadevOOo/runner/convwatch/OSHelper.java
new file mode 100644
index 000000000000..1fbf804831d7
--- /dev/null
+++ b/qadevOOo/runner/convwatch/OSHelper.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+//
+// class OSHelper
+// {
+// public static boolean isWindows()
+// {
+// String sOSName = System.getProperty("os.name");
+// if (sOSName.toLowerCase().startsWith("windows"))
+// {
+// return true;
+// }
+// return false;
+// }
+// // not need
+// // public static boolean isUnix()
+// public static boolean isSolarisIntel()
+// {
+// if ( ( System.getProperty("os.name").toLowerCase().startsWith("solaris") ||
+// System.getProperty("os.name").toLowerCase().startsWith("sunos") ) &&
+// System.getProperty("os.arch").equals("x86"))
+// {
+// return true;
+// }
+// return false;
+// }
+// public static boolean isSolarisSparc()
+// {
+// if ( ( System.getProperty("os.name").toLowerCase().startsWith("solaris") ||
+// System.getProperty("os.name").toLowerCase().startsWith("sunos") ) &&
+// System.getProperty("os.arch").equals("sparc"))
+// {
+// return true;
+// }
+// return false;
+// }
+// public static boolean isLinuxIntel()
+// {
+// if (System.getProperty("os.name").toLowerCase().startsWith("linux") &&
+// System.getProperty("os.arch").equals("i386"))
+// {
+// return true;
+// }
+// return false;
+// }
+//
+// public static boolean isUnix()
+// {
+// if (isLinuxIntel() ||
+// isSolarisIntel() ||
+// isSolarisSparc())
+// {
+// return true;
+// }
+// return false;
+// }
+//
+// }
diff --git a/qadevOOo/runner/convwatch/OfficePrint.java b/qadevOOo/runner/convwatch/OfficePrint.java
new file mode 100644
index 000000000000..c9a656ac84b4
--- /dev/null
+++ b/qadevOOo/runner/convwatch/OfficePrint.java
@@ -0,0 +1,1377 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.io.FileWriter;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.document.XTypeDetection;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.lang.XComponent;
+import com.sun.star.frame.XStorable;
+import com.sun.star.view.XPrintable;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.AnyConverter;
+
+import helper.URLHelper;
+import helper.PropertyHelper;
+import helper.OSHelper;
+// import convwatch.FileHelper;
+// import convwatch.MSOfficePrint;
+// import convwatch.GraphicalTestArguments;
+// import convwatch.ConvWatchCancelException;
+
+// import helper.Parameter;
+
+/**
+ * This Object is to print a given document with OpenOffice.org / StarOffice
+ * over the normal printer driver
+ * or over it's pdf exporter
+ */
+public class OfficePrint {
+
+
+// static long m_nStartTime;
+// // static Date m_aDateCache = null;
+//
+// /*
+// simple helper functions to start/stop a timer, to know how long a process need in milliseconds
+// */
+// public static void startTimer()
+// {
+// // if (m_aDateCache == null)
+// // {
+// // m_aDateCache = new Date();
+// // }
+// // m_nStartTime = m_aDateCache.getTime();
+// m_nStartTime = System.currentTimeMillis();
+// }
+// public static long stopTimer()
+// {
+// // if (m_aDateCache == null)
+// // {
+// // System.out.println("Forgotten to initialise start timer.");
+// // return 0;
+// // }
+// // long m_nStopTime = m_aDateCache.getTime();
+// if (m_nStartTime == 0)
+// {
+// System.out.println("Forgotten to initialise start timer.");
+// return 0;
+// }
+// long m_nStopTime = System.currentTimeMillis();
+// return m_nStopTime - m_nStartTime;
+// }
+
+
+ private static void showProperty(PropertyValue _aValue)
+ {
+ String sName = _aValue.Name;
+ String sValue;
+ try
+ {
+ sValue = AnyConverter.toString(_aValue.Value);
+ GlobalLogWriter.get().println("Property " + sName + ":=" + sValue);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ // GlobalLogWriter.get().println("showProperty: can't convert a object to string.");
+ GlobalLogWriter.get().println("Property " + sName + ":= a Object which can't convert by AnyConverter()");
+ }
+ }
+
+ /**
+ * shows the FilterName and MediaType from the given XComponent
+ */
+ static String getDocumentType( XComponent _aDoc )
+ {
+ XModel xModel = UnoRuntime.queryInterface( XModel.class, _aDoc);
+ PropertyValue[] aArgs = xModel.getArgs();
+ for (int i=0;i<aArgs.length;i++)
+ {
+ PropertyValue aValue = aArgs[i];
+ // System.out.print("Property: '" + aValue.Name);
+ // System.out.println("' := '" + aValue.Value + "'");
+ if (aValue.Name.equals("FilterName") ||
+ aValue.Name.equals("MediaType"))
+ {
+ String sNameValue = "'" + aValue.Name + "' := '" + aValue.Value + "'";
+ return sNameValue;
+ }
+ }
+ return "";
+ }
+
+ static void showDocumentType( XComponent _aDoc )
+ {
+ String sNameValue = getDocumentType(_aDoc);
+ GlobalLogWriter.get().println(" Property: '" + sNameValue);
+ }
+ /**
+ * load a OpenOffice.org document from a given URL (_sInputURL)
+ * the GraphicalTestArguments must contain a living MultiServiceFactory object
+ * or we crash here.
+ * Be aware, the ownership of the document gets to you, you have to close it.
+ * @param _aGTA
+ * @param _sInputURL
+ * @return
+ */
+ public static XComponent loadFromURL(GraphicalTestArguments _aGTA,
+ String _sInputURL)
+ {
+ XComponent aDoc = null;
+ try
+ {
+ if (_aGTA.getMultiServiceFactory() == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory in GraphicalTestArgument not set.");
+ return null;
+ }
+ Object oDsk = _aGTA.getMultiServiceFactory().createInstance("com.sun.star.frame.Desktop");
+ XDesktop aDesktop = UnoRuntime.queryInterface(XDesktop.class, oDsk);
+
+ if (aDesktop != null)
+ {
+ GlobalLogWriter.get().println("com.sun.star.frame.Desktop created.");
+ // String sInputURL = aCurrentParameter.sInputURL;
+ // String sOutputURL = aCurrentParameter.sOutputURL;
+ // String sPrintFileURL = aCurrentParameter.sPrintToFileURL;
+ // System.out.println(_sInputURL);
+
+
+ // set here the loadComponentFromURL() properties
+ // at the moment only 'Hidden' is set, so no window is opened at work
+
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+
+ // check which properties should set and count it.
+ // if (_aGTA.isHidden())
+ // {
+ // nPropertyCount ++;
+ // }
+ // if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0)
+ // {
+ // nPropertyCount ++;
+ // }
+
+ // initialize the propertyvalue
+ // int nPropertyIndex = 0;
+ // aProps = new PropertyValue[ nPropertyCount ];
+
+ // set all property values
+ if (_aGTA.isHidden())
+ {
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "Hidden";
+ Arg.Value = Boolean.TRUE;
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ }
+ if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0)
+ {
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "FilterName";
+ Arg.Value = _aGTA.getImportFilterName();
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ }
+
+ GlobalLogWriter.get().println(DateHelper.getDateTimeForHumanreadableLog() + " Load document");
+ // GlobalLogWriter.get().flush();
+
+ XComponentLoader aCompLoader = UnoRuntime.queryInterface( XComponentLoader.class, aDesktop);
+
+ // XComponent aDoc = null;
+
+ _aGTA.getPerformance().startTime(PerformanceContainer.Load);
+ aDoc = aCompLoader.loadComponentFromURL(_sInputURL, "_blank", 0, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList) );
+ _aGTA.getPerformance().stopTime(PerformanceContainer.Load);
+ if (aDoc != null)
+ {
+ GlobalLogWriter.get().println(DateHelper.getDateTimeForHumanreadableLog() + " Load document done.");
+ showDocumentType(aDoc);
+ _aGTA.setDocumentType(getDocumentType(aDoc));
+ }
+ else
+ {
+ GlobalLogWriter.get().println(" Load document failed.");
+ if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0)
+ {
+ GlobalLogWriter.get().println(" Please check FilterName := '" + _aGTA.getImportFilterName() + "'");
+ }
+ GlobalLogWriter.get().println("");
+ }
+ }
+ else
+ {
+ GlobalLogWriter.get().println("com.sun.star.frame.Desktop failed.");
+ }
+ }
+ catch ( com.sun.star.uno.Exception e )
+ {
+ // Some exception occures.FAILED
+ GlobalLogWriter.get().println("UNO Exception caught.");
+ GlobalLogWriter.get().println("Message: " + e.getMessage());
+ e.printStackTrace();
+ aDoc = null;
+ }
+ return aDoc;
+ }
+
+ static boolean exportToPDF(XComponent _xComponent, String _sDestinationName)
+ {
+ XServiceInfo xServiceInfo =
+ UnoRuntime.queryInterface(
+ XServiceInfo.class, _xComponent
+ );
+
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+ PropertyValue aFiltername = new PropertyValue();
+ aFiltername.Name = "FilterName";
+ aFiltername.Value = getFilterName_forPDF(xServiceInfo);
+ aPropertyList.add(aFiltername);
+ showProperty(aFiltername);
+ boolean bWorked = true;
+
+ try
+ {
+ XStorable store =
+ UnoRuntime.queryInterface(
+ XStorable.class, _xComponent
+ );
+ store.storeToURL(_sDestinationName, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ GlobalLogWriter.get().println("IO Exception caught.");
+ GlobalLogWriter.get().println("Message: " + e.getMessage());
+ bWorked = false;
+ }
+
+ return bWorked;
+ }
+
+ static String getFilterName_forPDF(XServiceInfo xServiceInfo)
+ {
+ String filterName = "";
+
+ if (xServiceInfo.supportsService("com.sun.star.text.TextDocument"))
+ {
+ //writer
+ filterName = "writer_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
+ {
+ //calc
+ filterName = "calc_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.drawing.DrawingDocument" ) )
+ {
+ //draw
+ filterName = "draw_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.presentation.PresentationDocument" ) )
+ {
+ //impress
+ filterName = "impress_pdf_Export";
+ }
+ else if (xServiceInfo.supportsService("com.sun.star.text.WebDocument"))
+ {
+ //html document
+ filterName = "writer_web_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService("com.sun.star.text.GlobalDocument") )
+ {
+ //master document
+ filterName = "writer_globaldocument_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.formulaFormulaProperties" ) )
+ {
+ //math document
+ filterName = "math_pdf_Export";
+ }
+
+ return filterName;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ public static boolean storeAsPDF(GraphicalTestArguments _aGTA,
+ String _sInputURL,
+ String _sOutputURL)
+ {
+ boolean bBack = false;
+ XComponent aDoc = loadFromURL(_aGTA, _sInputURL);
+
+ if (aDoc == null)
+ {
+ GlobalLogWriter.get().println("Can't load document.");
+ return bBack;
+ }
+ bBack = storeAsPDF(_aGTA, aDoc, _sOutputURL);
+ createInfoFile(_sOutputURL, _aGTA, "as pdf");
+
+ GlobalLogWriter.get().println("Close document.");
+ aDoc.dispose();
+ return bBack;
+ }
+
+ public static boolean storeAsPDF(GraphicalTestArguments _aGTA,
+ XComponent _aDoc,
+ String _sOutputURL)
+ {
+ // try {
+ boolean bBack = true;
+ _aGTA.getPerformance().startTime(PerformanceContainer.StoreAsPDF);
+ bBack = exportToPDF(_aDoc, _sOutputURL);
+ _aGTA.getPerformance().stopTime(PerformanceContainer.StoreAsPDF);
+
+ if (!bBack)
+ {
+ GlobalLogWriter.get().println("Can't store document as PDF.");
+ bBack = false;
+ }
+ return bBack;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ /**
+ * print the document found in file (_sInputURL) to as postscript to file (_sPrintFileURL)
+ * Due to the fact we use a printer to convert the file to postscript, the default printer
+ * to create such postscript format must be installed, this is not tested here.
+ *
+ * @param _aGTA
+ * @param _sInputURL
+ * @param _sOutputURL
+ * @param _sPrintFileURL
+ * @return true, if print has been done.
+ * Be careful, true means only print returns with no errors, to be sure print is really done
+ * check existance of _sPrintFileURL
+ */
+
+ public static boolean printToFileWithOOo(GraphicalTestArguments _aGTA,
+ String _sInputURL,
+ String _sOutputURL,
+ String _sPrintFileURL)
+ {
+ // waitInSeconds(1);
+ boolean bBack = false;
+
+ XComponent aDoc = loadFromURL(_aGTA, _sInputURL);
+ if (aDoc != null)
+ {
+ if ( _sInputURL.equals(_sOutputURL) )
+ {
+ // don't store document
+ // input and output are equal OR
+ GlobalLogWriter.get().println("Warning: Inputpath and Outputpath are equal. Document will not stored again.");
+ _aGTA.disallowStore();
+ }
+ bBack = impl_printToFileWithOOo(_aGTA, aDoc, _sOutputURL, _sPrintFileURL);
+
+ GlobalLogWriter.get().println("Close document.");
+ aDoc.dispose();
+ }
+ else
+ {
+ GlobalLogWriter.get().println("loadDocumentFromURL() failed with document: " + _sInputURL);
+ }
+ return bBack;
+ }
+
+ // -----------------------------------------------------------------------------
+ public static void createInfoFile(String _sFile, GraphicalTestArguments _aGTA)
+ {
+ createInfoFile(_sFile, _aGTA, "");
+ }
+
+ public static void createInfoFile(String _sFile, GraphicalTestArguments _aGTA, String _sSpecial)
+ {
+ String sFilename;
+ if (_sFile.startsWith("file://"))
+ {
+ sFilename = FileHelper.getSystemPathFromFileURL(_sFile);
+ GlobalLogWriter.get().println("CreateInfoFile: '" + sFilename + "'" );
+ }
+ else
+ {
+ sFilename = _sFile;
+ }
+ String sFileDir = FileHelper.getPath(sFilename);
+ String sBasename = FileHelper.getBasename(sFilename);
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+
+ String fs = System.getProperty("file.separator");
+ String ls = System.getProperty("line.separator");
+ String sInfoFilename = sFileDir + fs + sNameNoSuffix + ".info";
+ File aInfoFile = new File(sInfoFilename);
+
+ String sBuildID = "";
+
+ try
+ {
+ FileWriter out = new FileWriter(aInfoFile.toString());
+ out.write("# automatically created file by graphical compare" + ls);
+ if (_aGTA != null)
+ {
+ if (_sSpecial != null && _sSpecial.equals("msoffice"))
+ {
+ out.write("# buildid from wordloadfile" + ls);
+ sBuildID = _aGTA.getPerformance().getMSOfficeVersion();
+ out.write("buildid=" + sBuildID + ls);
+ }
+ else
+ {
+ out.write("# buildid is read out of the bootstrap file" + ls);
+ sBuildID = _aGTA.getBuildID();
+ out.write("buildid=" + sBuildID + ls);
+ }
+ // if (_sSpecial != null && _sSpecial.length() > 0)
+ // {
+ // out.write("special=" + _sSpecial + ls);
+ // }
+ out.write(ls);
+ out.write("# resolution given in DPI" + ls);
+ out.write("resolution=" + _aGTA.getResolutionInDPI() + ls);
+ }
+ else
+ {
+ out.write("buildid=" + _sSpecial + ls);
+ }
+ // long nTime = stopTimer();
+ // if (nTime != 0)
+ // {
+ // out.write("# time is given in milli seconds" + ls);
+ // out.write("time=" + nTime + ls);
+ // }
+
+ out.write(ls);
+ out.write("# Values out of System.getProperty(...)" + ls);
+ out.write("os.name=" + System.getProperty("os.name") + ls);
+ out.write("os.arch=" + System.getProperty("os.arch") + ls);
+ out.write("os.version=" + System.getProperty("os.version") + ls);
+
+ if (_aGTA != null)
+ {
+ out.write(ls);
+ out.write("# Performance output, values are given in milli sec." + ls);
+ _aGTA.getPerformance().print(out);
+ }
+
+ out.flush();
+ out.close();
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.get().println("can't create Info file.");
+ e.printStackTrace();
+ }
+
+ String sExtension = FileHelper.getSuffix(_aGTA.getInputFile());
+ if (sExtension.startsWith("."))
+ {
+ sExtension = sExtension.substring(1);
+ }
+
+ DB.writeToDB(_aGTA.getInputFile(),
+ sNameNoSuffix,
+ sExtension,
+ sBuildID,
+ _aGTA.getReferenceType(),
+ _aGTA.getResolutionInDPI()
+ );
+ }
+
+
+
+ // -----------------------------------------------------------------------------
+ private static boolean impl_printToFileWithOOo(GraphicalTestArguments _aGTA,
+ XComponent _aDoc,
+ String _sOutputURL,
+ String _sPrintFileURL)
+ {
+ boolean bBack = false;
+ boolean bFailed = true; // always be a pessimist,
+ if (_aDoc == null)
+ {
+ GlobalLogWriter.get().println("No document is given.");
+ return bBack;
+ }
+
+ try
+ {
+ if (_sOutputURL != null)
+ {
+ if (_aGTA.isStoreAllowed())
+ {
+ // store the document in an other directory
+ XStorable aStorable = UnoRuntime.queryInterface( XStorable.class, _aDoc);
+ if (aStorable != null)
+ {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+
+ GlobalLogWriter.get().println(DateHelper.getDateTimeForHumanreadableLog() + " Store document.");
+ _aGTA.getPerformance().startTime(PerformanceContainer.Store);
+ aStorable.storeAsURL(_sOutputURL, szEmptyArgs);
+ _aGTA.getPerformance().stopTime(PerformanceContainer.Store);
+
+ GlobalLogWriter.get().println(DateHelper.getDateTimeForHumanreadableLog() + " Store document done.");
+ TimeHelper.waitInSeconds(2, "After store as URL to:" + _sOutputURL);
+ GlobalLogWriter.get().println("Reload stored file test.");
+ XComponent aDoc = loadFromURL(_aGTA, _sOutputURL);
+ if (aDoc == null)
+ {
+ GlobalLogWriter.get().println("Reload stored file test failed, can't reload file: " + _sOutputURL);
+ }
+ }
+ }
+ }
+ }
+ catch ( com.sun.star.uno.Exception e )
+ {
+ // Some exception occures.FAILED
+ GlobalLogWriter.get().println("UNO Exception caught.");
+ GlobalLogWriter.get().println("Message: " + e.getMessage());
+
+ e.printStackTrace();
+ bBack = false;
+ }
+
+ try
+ {
+
+ // System.out.println("Document loaded.");
+ // Change Pagesettings to DIN A4
+
+ GlobalLogWriter.get().println(DateHelper.getDateTimeForHumanreadableLog() + " Print document.");
+ XPrintable aPrintable = UnoRuntime.queryInterface( XPrintable.class, _aDoc);
+ if (aPrintable != null)
+ {
+ // System.out.println(" Set PaperFormat to DIN A4");
+ // {
+ // PropertyValue[] aPrinterProps = aPrintable.getPrinter();
+ // System.out.println("PrinterProps size: " + String.valueOf(aPrinterProps.length));
+ // int nPropIndex = 0;
+ // while (!"PaperFormat".equals(aPrinterProps[nPropIndex].Name))
+ // {
+ // // System.out.println(aPrinterProps[nPropIndex].Name);
+ // nPropIndex++;
+ // }
+ // aPrinterProps[nPropIndex].Value = com.sun.star.view.PaperFormat.A4;
+ // aPrintable.setPrinter(aPrinterProps);
+ // }
+
+ // configure Office to allow to execute macos
+
+// TODO: We need a possiblity to set the printer name also for StarOffice/OpenOffice
+ if (OSHelper.isWindows())
+ {
+ if (_aGTA.getPrinterName() != null)
+ {
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+ // PropertyValue [] aPrintProps = new PropertyValue[1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "Name";
+ Arg.Value = _aGTA.getPrinterName();
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ // GlobalLogWriter.get().println("Printername is not null, so set to " + _aGTA.getPrinterName());
+ aPrintable.setPrinter(PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ }
+ }
+
+ // set property values for XPrintable.print()
+ // more can be found at "http://api.openoffice.org/docs/common/ref/com/sun/star/view/PrintOptions.html"
+
+ // int nProperties = 1; // default for 'FileName' property
+ // if (_aGTA.printAllPages() == false)
+ // {
+ // // we don't want to print all pages, build Pages string by ourself
+ // nProperties ++;
+ // }
+ // int nPropsCount = 0;
+
+ // If we are a SpreadSheet (calc), we need to set PrintAllSheets property to 'true'
+ XServiceInfo xServiceInfo = UnoRuntime.queryInterface( XServiceInfo.class, _aDoc );
+ if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
+ {
+ XMultiServiceFactory xMSF = _aGTA.getMultiServiceFactory();
+ Object aSettings = xMSF.createInstance( "com.sun.star.sheet.GlobalSheetSettings" );
+ if (aSettings != null)
+ {
+ XPropertySet xPropSet = UnoRuntime.queryInterface( XPropertySet.class, aSettings );
+ xPropSet.setPropertyValue( "PrintAllSheets", new Boolean( true ) );
+ GlobalLogWriter.get().println("PrintAllSheets := true");
+ }
+ }
+
+ ArrayList<PropertyValue> aPrintProps = new ArrayList<PropertyValue>();
+ // GlobalLogWriter.get().println("Property FileName:=" + _sPrintFileURL);
+
+ // PropertyValue [] aPrintProps = new PropertyValue[nProperties];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "FileName";
+ Arg.Value = _sPrintFileURL;
+ // aPrintProps[nPropsCount ++] = Arg;
+ aPrintProps.add(Arg);
+ showProperty(Arg);
+
+ if (_aGTA.printAllPages() == false)
+ {
+ String sPages = "";
+ if (_aGTA.getMaxPages() > 0)
+ {
+ sPages = "1-" + String.valueOf(_aGTA.getMaxPages());
+ }
+ if (_aGTA.getOnlyPages().length() != 0)
+ {
+ if (sPages.length() != 0)
+ {
+ sPages += ";";
+ }
+ sPages += String.valueOf(_aGTA.getOnlyPages());
+ }
+
+ Arg = new PropertyValue();
+ Arg.Name = "Pages";
+ Arg.Value = sPages;
+ aPrintProps.add(Arg);
+ showProperty(Arg);
+ }
+
+ // GlobalLogWriter.get().println("Start printing.");
+
+ _aGTA.getPerformance().startTime(PerformanceContainer.Print);
+ aPrintable.print(PropertyHelper.createPropertyValueArrayFormArrayList(aPrintProps));
+ TimeHelper.waitInSeconds(1, "Start waiting for print ready.");
+
+ GlobalLogWriter.get().println("Wait until document is printed.");
+ boolean isBusy = true;
+ int nPrintCount = 0;
+ while (isBusy)
+ {
+ PropertyValue[] aPrinterProps = aPrintable.getPrinter();
+ int nPropIndex = 0;
+ while (!"IsBusy".equals(aPrinterProps[nPropIndex].Name))
+ {
+ // System.out.println(aPrinterProps[nPropIndex].Name);
+ nPropIndex++;
+ }
+ isBusy = (aPrinterProps[nPropIndex].Value == Boolean.TRUE) ? true : false;
+ TimeHelper.waitInSeconds(1, "is print ready?");
+ nPrintCount++;
+ if (nPrintCount > 3600)
+ {
+ // we will never wait >1h until print is ready!
+ GlobalLogWriter.get().println("ERROR: Cancel print due to too long wait.");
+ throw new com.sun.star.uno.Exception("Convwatch exception, wait too long for printing.");
+ }
+ }
+ _aGTA.getPerformance().stopTime(PerformanceContainer.Print);
+ GlobalLogWriter.get().println(DateHelper.getDateTimeForHumanreadableLog() + " Print document done.");
+
+ // Create a .info file near the printed '.ps' or '.prn' file.
+ createInfoFile(_sPrintFileURL, _aGTA);
+ }
+ else
+ {
+ GlobalLogWriter.get().println("Can't get XPrintable interface.");
+ }
+ bFailed = false;
+ bBack = true;
+ }
+ catch ( com.sun.star.uno.Exception e )
+ {
+ // Some exception occures.FAILED
+ GlobalLogWriter.get().println("UNO Exception caught.");
+ GlobalLogWriter.get().println("Message: " + e.getMessage());
+
+ e.printStackTrace();
+ bBack = false;
+ }
+
+ if (bFailed == true)
+ {
+ GlobalLogWriter.get().println("convwatch.OfficePrint: FAILED");
+ }
+ else
+ {
+ GlobalLogWriter.get().println("convwatch.OfficePrint: OK");
+ }
+ return bBack;
+ }
+
+
+ /**
+ * @param _aGTA
+ * @param _sAbsoluteOutputPath
+ * @param _sAbsoluteInputFile
+ * @return true, if the reference (*.prrn file) based on given output path and given input path exist.
+ * If OVERWRITE_REFERENCE is set, always return false.
+ */
+ public static boolean isReferenceExists(GraphicalTestArguments _aGTA,
+ String _sAbsoluteOutputPath,
+ String _sAbsoluteInputFile)
+ {
+ if (! FileHelper.exists(_sAbsoluteInputFile))
+ {
+ // throw new ConvWatchCancelException("Input file: " + _sAbsoluteInputFile + " does not exist.");
+ return false;
+ }
+
+ String fs = System.getProperty("file.separator");
+
+ // String sInputFileURL = URLHelper.getFileURLFromSystemPath(_sAbsoluteInputFile);
+
+ String sInputFileBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+ // String sOutputFileURL = null;
+ String sOutputPath;
+ if (_sAbsoluteOutputPath != null)
+ {
+ sOutputPath = _sAbsoluteOutputPath;
+ // FileHelper.makeDirectories("", sOutputPath);
+ }
+ else
+ {
+ String sInputPath = FileHelper.getPath(_sAbsoluteInputFile);
+ sOutputPath = sInputPath;
+ }
+ // sOutputFileURL = URLHelper.getFileURLFromSystemPath(sOutputPath + fs + sInputFileBasename);
+ // sOutputFileURL = null;
+
+ String sPrintFilename = FileHelper.getNameNoSuffix(sInputFileBasename);
+ // String sPrintFileURL;
+
+ String sAbsolutePrintFilename = sOutputPath + fs + sPrintFilename + ".prn";
+ if (FileHelper.exists(sAbsolutePrintFilename) && _aGTA.getOverwrite() == false)
+ {
+ GlobalLogWriter.get().println("Reference already exist, don't overwrite. Set " + PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE + "=true to force overwrite.");
+ return true;
+ }
+ return false;
+ }
+
+ // -----------------------------------------------------------------------------
+ /**
+ * create a reference file
+ * _sAbsoluteInputPath contains the source file, if not exists, return with failure.
+ * _sAbsoluteOutputPath contains the destination, where the file will store after load with StarOffice/OpenOffice.org
+ * if is null, print only near the Input file path
+ * _sPrintType ".prn" Print input file with StarOffice/OpenOffice.org and the default printer as PostScript
+ *
+ * @param _aGTA
+ * @param _sAbsoluteOutputPath
+ * @param _sAbsoluteInputFile
+ * @return
+ * @throws ConvWatchCancelException
+ */
+ public static boolean buildReference(GraphicalTestArguments _aGTA,
+ String _sAbsoluteOutputPath,
+ String _sAbsoluteInputFile)
+ throws ConvWatchCancelException
+ {
+ if (! FileHelper.exists(_sAbsoluteInputFile))
+ {
+ throw new ConvWatchCancelException("buildReference(): Input file: " + _sAbsoluteInputFile + " does not exist.");
+ }
+
+ String fs = System.getProperty("file.separator");
+
+ String sInputFileURL = URLHelper.getFileURLFromSystemPath(_sAbsoluteInputFile);
+
+ String sInputFileBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+ String sOutputFileURL = null;
+ String sOutputPath;
+ if (_sAbsoluteOutputPath != null)
+ {
+ sOutputPath = _sAbsoluteOutputPath;
+ FileHelper.makeDirectories("", sOutputPath);
+ }
+ else
+ {
+ String sInputPath = FileHelper.getPath(_sAbsoluteInputFile);
+ sOutputPath = sInputPath;
+ }
+ // sOutputFileURL = URLHelper.getFileURLFromSystemPath(sOutputPath + fs + sInputFileBasename);
+ sOutputFileURL = null;
+
+ String sPrintFilename = FileHelper.getNameNoSuffix(sInputFileBasename);
+ String sPrintFileURL;
+
+ String sAbsolutePrintFilename = sOutputPath + fs + sPrintFilename + ".prn";
+ if (FileHelper.exists(sAbsolutePrintFilename) && _aGTA.getOverwrite() == false)
+ {
+ GlobalLogWriter.get().println("Reference already exist, don't overwrite. Set " + PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE + "=true to force overwrite.");
+ return true;
+ }
+
+ if (_aGTA.getReferenceType().toLowerCase().equals("msoffice"))
+ {
+ sPrintFileURL = URLHelper.getFileURLFromSystemPath(sAbsolutePrintFilename);
+ }
+ else if (_aGTA.getReferenceType().toLowerCase().equals("pdf"))
+ {
+// TODO: If we rename the stored file to *.pdf, we have to be sure that we use *.pdf also as a available reference
+ sPrintFileURL = URLHelper.getFileURLFromSystemPath(sAbsolutePrintFilename );
+ }
+ else if (_aGTA.getReferenceType().toLowerCase().equals("ooo"))
+ {
+ sPrintFileURL = URLHelper.getFileURLFromSystemPath(sAbsolutePrintFilename );
+ }
+ else
+ {
+ GlobalLogWriter.get().println("OfficePrint.buildreference(): Unknown print type.");
+ return false;
+ }
+ return printToFile(_aGTA, sInputFileURL, sOutputFileURL, sPrintFileURL);
+ }
+
+ public static boolean printToFile(GraphicalTestArguments _aGTA,
+ String _sInputFileURL,
+ String _sOutputFileURL,
+ String _sPrintFileURL) throws ConvWatchCancelException
+ {
+ boolean bBack = false;
+ String sPrintFileURL = null;
+
+ // check if given file is a picture, then do nothing
+ String sDocumentSuffix = FileHelper.getSuffix(_sInputFileURL);
+ if (sDocumentSuffix.toLowerCase().endsWith(".png") ||
+ sDocumentSuffix.toLowerCase().endsWith(".gif") ||
+ sDocumentSuffix.toLowerCase().endsWith(".jpg") ||
+ sDocumentSuffix.toLowerCase().endsWith(".bmp"))
+ {
+ return false;
+ }
+
+
+ // remember the current timer, to know how long a print process need.
+ // startTimer();
+
+ if (_aGTA.getReferenceType().toLowerCase().equals("ooo"))
+ {
+ bBack = printToFileWithOOo(_aGTA, _sInputFileURL, _sOutputFileURL, _sPrintFileURL);
+ }
+ else if (_aGTA.getReferenceType().toLowerCase().equals("pdf"))
+ {
+ GlobalLogWriter.get().println("USE PDF AS EXPORT FORMAT.");
+ bBack = storeAsPDF(_aGTA, _sInputFileURL, _sPrintFileURL);
+ }
+ else if (_aGTA.getReferenceType().toLowerCase().equals("msoffice"))
+ {
+ if (MSOfficePrint.isMSOfficeDocumentFormat(_sInputFileURL))
+ {
+ GlobalLogWriter.get().println("USE MSOFFICE AS EXPORT FORMAT.");
+ MSOfficePrint a = new MSOfficePrint();
+ try
+ {
+ a.printToFileWithMSOffice(_aGTA, FileHelper.getSystemPathFromFileURL(_sInputFileURL),
+ FileHelper.getSystemPathFromFileURL(_sPrintFileURL));
+ }
+ catch(ConvWatchCancelException e)
+ {
+ e.printStackTrace();
+ GlobalLogWriter.get().println(e.getMessage());
+ throw new ConvWatchCancelException("Exception caught. Problem with MSOffice printer methods.");
+ }
+ catch(java.io.IOException e)
+ {
+ GlobalLogWriter.get().println(e.getMessage());
+ throw new ConvWatchCancelException("IOException caught. Problem with MSOffice printer methods.");
+ }
+ bBack = true;
+ }
+ else
+ {
+ GlobalLogWriter.get().println("This document type is not recognized as MSOffice format, as default fallback StarOffice/OpenOffice.org instead is used.");
+ bBack = printToFileWithOOo(_aGTA, _sInputFileURL, _sOutputFileURL, _sPrintFileURL);
+ }
+ }
+ else
+ {
+ // System.out.println("");
+ throw new ConvWatchCancelException("OfficePrint.printToFile(): Unknown print type.");
+ }
+ return bBack;
+ }
+
+ // -----------------------------------------------------------------------------
+ // TODO: move this away!
+ // -----------------------------------------------------------------------------
+ static void showType(String _sInputURL, XMultiServiceFactory _xMSF)
+ {
+ if (_sInputURL.length() == 0)
+ {
+ return;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory not set.");
+ return;
+ }
+ XTypeDetection aTypeDetection = null;
+ try
+ {
+ Object oObj = _xMSF.createInstance("com.sun.star.document.TypeDetection");
+ aTypeDetection = UnoRuntime.queryInterface(XTypeDetection.class, oObj);
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.get().println("Can't get com.sun.star.document.TypeDetection.");
+ return;
+ }
+ if (aTypeDetection != null)
+ {
+ String sType = aTypeDetection.queryTypeByURL(_sInputURL);
+ GlobalLogWriter.get().println("Type is: " + sType);
+ }
+ }
+
+
+ // -----------------------------------------------------------------------------
+ public static String getInternalFilterName(String _sFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return null;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory not set.");
+ return null;
+ }
+ // XFilterFactory aFilterFactory = null;
+ Object aObj = null;
+ try
+ {
+ aObj = _xMSF.createInstance("com.sun.star.document.FilterFactory");
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.get().println("Can't get com.sun.star.document.FilterFactory.");
+ return null;
+ }
+ if (aObj != null)
+ {
+ XNameAccess aNameAccess = UnoRuntime.queryInterface(XNameAccess.class, aObj);
+ if (aNameAccess != null)
+ {
+
+ // if (_sFilterName.toLowerCase().equals("help"))
+ // {
+ // System.out.println("Show all possible ElementNames from current version." );
+ // String[] aElementNames = aNameAccess.getElementNames();
+ // for (int i = 0; i<aElementNames.length; i++)
+ // {
+ // System.out.println(aElementNames[i]);
+ // }
+ // System.out.println("Must quit.");
+ // System.out.exit(1);
+ // }
+
+ if (! aNameAccess.hasByName(_sFilterName))
+ {
+ GlobalLogWriter.get().println("FilterFactory.hasByName() says there exist no '" + _sFilterName + "'" );
+ return null;
+ }
+
+ Object[] aElements = null;
+ String[] aExtensions;
+ try
+ {
+ aElements = (Object[]) aNameAccess.getByName(_sFilterName);
+ if (aElements != null)
+ {
+ String sInternalFilterName = null;
+ // System.out.println("getByName().length: " + String.valueOf(aElements.length));
+ for (int i=0;i<aElements.length; i++)
+ {
+ PropertyValue aPropertyValue = (PropertyValue)aElements[i];
+ // System.out.println("PropertyValue.Name: " + aPropertyValue.Name);
+ if (aPropertyValue.Name.equals("Type"))
+ {
+ String sValue = (String)aPropertyValue.Value;
+ // System.out.println("Type: " + sValue);
+ sInternalFilterName = sValue;
+ }
+ }
+ return sInternalFilterName;
+ }
+ else
+ {
+ GlobalLogWriter.get().println("There are no elements for FilterName '" + _sFilterName + "'");
+ return null;
+ }
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ GlobalLogWriter.get().println("NoSuchElementException caught. " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ GlobalLogWriter.get().println("WrappedTargetException caught. " + e.getMessage());
+ }
+ }
+ }
+ return null;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ static String getServiceNameFromFilterName(String _sFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return null;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory not set.");
+ return null;
+ }
+ // XFilterFactory aFilterFactory = null;
+ Object aObj = null;
+ try
+ {
+ aObj = _xMSF.createInstance("com.sun.star.document.FilterFactory");
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.get().println("Can't get com.sun.star.document.FilterFactory.");
+ return null;
+ }
+ if (aObj != null)
+ {
+ XNameAccess aNameAccess = UnoRuntime.queryInterface(XNameAccess.class, aObj);
+ if (aNameAccess != null)
+ {
+ if (! aNameAccess.hasByName(_sFilterName))
+ {
+ GlobalLogWriter.get().println("FilterFactory.hasByName() says there exist no '" + _sFilterName + "'" );
+ return null;
+ }
+
+ Object[] aElements = null;
+ String[] aExtensions;
+ try
+ {
+ aElements = (Object[]) aNameAccess.getByName(_sFilterName);
+ if (aElements != null)
+ {
+ String sServiceName = null;
+ // System.out.println("getByName().length: " + String.valueOf(aElements.length));
+ for (int i=0;i<aElements.length; i++)
+ {
+ PropertyValue aPropertyValue = (PropertyValue)aElements[i];
+ if (aPropertyValue.Name.equals("DocumentService"))
+ {
+ String sValue = (String)aPropertyValue.Value;
+ // System.out.println("DocumentService: " + sValue);
+ sServiceName = sValue;
+ break;
+ }
+ }
+ return sServiceName;
+ }
+ else
+ {
+ GlobalLogWriter.get().println("There are no elements for FilterName '" + _sFilterName + "'");
+ return null;
+ }
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ GlobalLogWriter.get().println("NoSuchElementException caught. " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ GlobalLogWriter.get().println("WrappedTargetException caught. " + e.getMessage());
+ }
+ }
+ }
+ return null;
+ }
+ // -----------------------------------------------------------------------------
+
+ public static String getFileExtension(String _sInternalFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sInternalFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return null;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory not set.");
+ return null;
+ }
+ XTypeDetection aTypeDetection = null;
+ try
+ {
+ Object oObj = _xMSF.createInstance("com.sun.star.document.TypeDetection");
+ aTypeDetection =UnoRuntime.queryInterface(XTypeDetection.class, oObj);
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.get().println("Can't get com.sun.star.document.TypeDetection.");
+ return null;
+ }
+ if (aTypeDetection != null)
+ {
+ XNameAccess aNameAccess = UnoRuntime.queryInterface(XNameAccess.class, aTypeDetection);
+ if (aNameAccess != null)
+ {
+
+ // System.out.println("Show ElementNames" );
+ // String[] aElementNames = aNameAccess.getElementNames();
+ // for (int i = 0; i<aElementNames.length; i++)
+ // {
+ // System.out.println(aElementNames[i]);
+ // }
+
+ if (! aNameAccess.hasByName(_sInternalFilterName))
+ {
+ GlobalLogWriter.get().println("TypeDetection.hasByName() says there exist no '" + _sInternalFilterName + "'" );
+ return null;
+ }
+
+ Object[] aElements = null;
+ String[] aExtensions;
+ try
+ {
+ aElements = (Object[]) aNameAccess.getByName(_sInternalFilterName);
+ if (aElements != null)
+ {
+ String sExtension = null;
+ // System.out.println("getByName().length: " + String.valueOf(aElements.length));
+ for (int i=0;i<aElements.length; i++)
+ {
+ PropertyValue aPropertyValue = (PropertyValue)aElements[i];
+ // System.out.println("PropertyValue.Name: " + aPropertyValue.Name);
+ if (aPropertyValue.Name.equals("Extensions"))
+ {
+ aExtensions = (String[])aPropertyValue.Value;
+ GlobalLogWriter.get().println(" Possible extensions are: " + String.valueOf(aExtensions.length));
+ if (aExtensions.length > 0)
+ {
+ for (int j=0;j<aExtensions.length;j++)
+ {
+ GlobalLogWriter.get().println(" " + aExtensions[j]);
+ }
+ sExtension = aExtensions[0];
+ GlobalLogWriter.get().println("");
+ }
+ }
+ }
+ return sExtension;
+ }
+ else
+ {
+ GlobalLogWriter.get().println("There are no elements for FilterName '" + _sInternalFilterName + "'");
+ return null;
+ }
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ GlobalLogWriter.get().println("NoSuchElementException caught. " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ GlobalLogWriter.get().println("WrappedTargetException caught. " + e.getMessage());
+ }
+}
+ }
+ return null;
+ }
+
+ // -----------------------------------------------------------------------------
+ public static void convertDocument(String _sInputFile, String _sOutputPath, GraphicalTestArguments _aGTA) throws ConvWatchCancelException
+ {
+ XMultiServiceFactory xMSF = _aGTA.getMultiServiceFactory();
+ if (xMSF == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory in GraphicalTestArgument not set.");
+ return;
+ }
+
+ String sInputURL = URLHelper.getFileURLFromSystemPath(_sInputFile);
+ // showType(sInputURL, xMSF);
+ XComponent aDoc = loadFromURL( _aGTA, sInputURL);
+ if (aDoc == null)
+ {
+ GlobalLogWriter.get().println("Can't load document '"+ sInputURL + "'");
+ return;
+ }
+
+ if (_sOutputPath == null)
+ {
+ GlobalLogWriter.get().println("Outputpath not set.");
+ return;
+ }
+
+ if (! _aGTA.isStoreAllowed())
+ {
+ GlobalLogWriter.get().println("It's not allowed to store, check Input/Output path.");
+ return;
+ }
+// TODO: Do we need to wait?
+ TimeHelper.waitInSeconds(1, "wait after loadFromURL.");
+
+ XServiceInfo xServiceInfo = UnoRuntime.queryInterface( XServiceInfo.class, aDoc );
+ // String sFilter = getFilterName_forExcel(xServiceInfo);
+ // System.out.println("Filter is " + sFilter);
+
+ // store the document in an other directory
+ XStorable xStorable = UnoRuntime.queryInterface( XStorable.class, aDoc);
+ if (xStorable == null)
+ {
+ GlobalLogWriter.get().println("com.sun.star.frame.XStorable is null");
+ return;
+ }
+
+ String sFilterName = _aGTA.getExportFilterName();
+
+ // check how many Properties should initialize
+ int nPropertyCount = 0;
+ // if (sFilterName != null && sFilterName.length() > 0)
+ // {
+ // nPropertyCount ++;
+ // }
+
+ // initialize PropertyArray
+ // PropertyValue [] aStoreProps = new PropertyValue[ nPropertyCount ];
+ // int nPropertyIndex = 0;
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+
+ String sExtension = "";
+
+ if (sFilterName != null && sFilterName.length() > 0)
+ {
+ String sInternalFilterName = getInternalFilterName(sFilterName, xMSF);
+ String sServiceName = getServiceNameFromFilterName(sFilterName, xMSF);
+
+ GlobalLogWriter.get().println("Filter detection:");
+ // check if service name from file filter is the same as from the loaded document
+ boolean bServiceFailed = false;
+ if (sServiceName == null || sInternalFilterName == null)
+ {
+ GlobalLogWriter.get().println("Given FilterName '" + sFilterName + "' seems to be unknown.");
+ bServiceFailed = true;
+ }
+ if (! xServiceInfo.supportsService(sServiceName))
+ {
+ GlobalLogWriter.get().println("Service from FilterName '" + sServiceName + "' is not supported by loaded document.");
+ bServiceFailed = true;
+ }
+ if (bServiceFailed == true)
+ {
+ GlobalLogWriter.get().println("Please check '" + PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME + "' in the property file.");
+ return;
+ }
+
+ if (sInternalFilterName != null && sInternalFilterName.length() > 0)
+ {
+ // get the FileExtension, by the filter name, if we don't get a file extension
+ // we assume the is also no right filter name.
+ sExtension = getFileExtension(sInternalFilterName, xMSF);
+ if (sExtension == null)
+ {
+ GlobalLogWriter.get().println("Can't found an extension for filtername, take it from the source.");
+ }
+ }
+
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "FilterName";
+ Arg.Value = sFilterName;
+ // aStoreProps[nPropertyIndex ++] = Arg;
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ GlobalLogWriter.get().println("FilterName is set to: " + sFilterName);
+ }
+
+ String sOutputURL = "";
+ try
+ {
+ // create the new filename with the extension, which is ok to the file format
+ String sInputFileBasename = FileHelper.getBasename(_sInputFile);
+ // System.out.println("InputFileBasename " + sInputFileBasename);
+ String sInputFileNameNoSuffix = FileHelper.getNameNoSuffix(sInputFileBasename);
+ // System.out.println("InputFilename no suffix " + sInputFileNameNoSuffix);
+ String fs = System.getProperty("file.separator");
+ String sOutputFile = _sOutputPath;
+ if (! sOutputFile.endsWith(fs))
+ {
+ sOutputFile += fs;
+ }
+ if (sExtension != null && sExtension.length() > 0)
+ {
+ sOutputFile += sInputFileNameNoSuffix + "." + sExtension;
+ }
+ else
+ {
+ sOutputFile += sInputFileBasename;
+ }
+
+ if (FileHelper.exists(sOutputFile) && _aGTA.getOverwrite() == false)
+ {
+ GlobalLogWriter.get().println("File already exist, don't overwrite. Set " + PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE + "=true to force overwrite.");
+ return;
+ }
+
+ sOutputURL = URLHelper.getFileURLFromSystemPath(sOutputFile);
+
+ GlobalLogWriter.get().println("Store document as '" + sOutputURL + "'");
+ xStorable.storeAsURL(sOutputURL, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ GlobalLogWriter.get().println("Document stored.");
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ GlobalLogWriter.get().println("Can't store document '" + sOutputURL + "'. Message is :'" + e.getMessage() + "'");
+ }
+// TODO: Do we need to wait?
+ TimeHelper.waitInSeconds(1, "unknown in OfficePrint.convertDocument()");
+
+ }
+
+}
+
diff --git a/qadevOOo/runner/convwatch/PRNCompare.java b/qadevOOo/runner/convwatch/PRNCompare.java
new file mode 100644
index 000000000000..1d0503299d67
--- /dev/null
+++ b/qadevOOo/runner/convwatch/PRNCompare.java
@@ -0,0 +1,805 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+
+import helper.ProcessHandler;
+import java.io.File;
+import convwatch.PixelCounter;
+import convwatch.StatusHelper;
+import helper.OSHelper;
+import helper.StringHelper;
+import java.util.ArrayList;
+import util.utils;
+
+// -----------------------------------------------------------------------------
+// --------------------------------- PRNCompare ---------------------------------
+
+// class DifferenceType
+// {
+// final static int NO_DIFFERENCE = 1;
+// final static int DIFFERENCE = 2;
+//
+// public int nValue = NO_DIFFERENCE;
+// public boolean equals(int _n)
+// {
+// if ( _n == nValue ) return true;
+// return false;
+// }
+// }
+
+// -----------------------------------------------------------------------------
+public class PRNCompare
+{
+ // OSHelper m_aHelper;
+ String fs;
+
+ public PRNCompare()
+ {
+ // m_aHelper = new OSHelper();
+ fs = System.getProperty("file.separator");
+ }
+
+ String executeSynchronously(String _sCommand)
+ {
+ // System.out.println(_sCommand);
+
+ ProcessHandler aHandler = new ProcessHandler(_sCommand);
+ boolean bBackValue = aHandler.executeSynchronously();
+
+ String sText = aHandler.getOutputText();
+
+ GlobalLogWriter.get().println("Exitcode: " + String.valueOf(aHandler.getExitCode()));
+ return sText;
+ }
+
+
+ int getMaxNumOfFileEntry(String _sDirectory, String _sBasename)
+ {
+// TODO: check if directory exist should be done earlier
+ File aDirectory = new File(_sDirectory);
+ File[] aDirList = aDirectory.listFiles(
+ /*
+ new FileFilter() {
+ boolean accept(File filename)
+ {
+ if (filename.getName().endsWith("jpg"))
+ return true;
+ return false;
+ }
+ } */
+ );
+
+ int nMaxNumber = 0;
+ for(int n = 0; n<aDirList.length ; n++)
+ {
+ String sDirEntry = aDirList[n].getName();
+ if (sDirEntry.endsWith(".jpg"))
+ {
+ int nNum = nMaxNumber;
+
+ if (sDirEntry.startsWith(_sBasename))
+ {
+ // System.out.println(sDirEntry);
+ int nJpgIdx = sDirEntry.lastIndexOf(".jpg");
+ String sValue = sDirEntry.substring(_sBasename.length(), nJpgIdx);
+ int nValue = 0;
+ try
+ {
+ nValue = Integer.valueOf(sValue).intValue();
+ }
+ catch(java.lang.NumberFormatException e)
+ {
+ }
+
+ // System.out.println(nValue);
+ nNum = nValue;
+ }
+
+ if (nNum > nMaxNumber)
+ {
+ nMaxNumber = nNum;
+ }
+ }
+ }
+ return nMaxNumber;
+ }
+
+ String m_sInputPath;
+ String m_sReferencePath;
+ String m_sOutputPath;
+ String m_sDocFile;
+ String m_sReferenceFile;
+ String m_sPostScriptFile;
+ // String m_sOldDiff;
+ int m_nMaxPages = 0;
+ int m_nResolutionInDPI = 0;
+ TriState m_tUseBorderMove;
+ String m_sDocumentType;
+
+ public void setInputPath(String _sInputPath) { m_sInputPath = _sInputPath; }
+
+ public void setReferencePath(String _sReferencePath) { m_sReferencePath = _sReferencePath; }
+
+ public void setOutputPath(String _sOutPath) { m_sOutputPath = _sOutPath; }
+
+ public void setDocFile(String _sDocFile) { m_sDocFile = _sDocFile;}
+
+ public void setReferenceFile(String _sPRNFile){ m_sReferenceFile = _sPRNFile;}
+
+ public void setPostScriptFile(String _sPSFile){ m_sPostScriptFile = _sPSFile;}
+
+ public void setBorderMove(TriState _b) {m_tUseBorderMove = _b;}
+ public TriState getBorderMove() {return m_tUseBorderMove;}
+ // public void setOldDiffPath(String _sOldDiff)
+ // {
+ // m_sOldDiff = _sOldDiff;
+ // }
+ public void setMaxPages(int _n) {m_nMaxPages = _n;}
+ int getMaxPages() {return m_nMaxPages;}
+
+ public void setResolutionInDPI(int _n) {m_nResolutionInDPI = _n;}
+ int getResolutionInDPI() {return m_nResolutionInDPI;}
+
+ public void setDocumentType(String _sTypeName)
+ {
+ m_sDocumentType = _sTypeName;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ public StatusHelper[] compare()
+ {
+ createJPEGFromPostscript(m_sOutputPath, m_sReferencePath, m_sReferenceFile, getResolutionInDPI());
+// TODO: Assume, that Postscript is already in the OutputPath, this may change.
+ createJPEGFromPostscript(m_sOutputPath, m_sOutputPath, m_sPostScriptFile, getResolutionInDPI());
+ StatusHelper[] aList = createDiffs(m_sOutputPath,
+ m_sOutputPath, m_sReferenceFile,
+ m_sOutputPath, m_sPostScriptFile,
+ getMaxPages(), m_tUseBorderMove);
+
+// TODO: Rename?
+
+ return aList;
+ }
+
+ public StatusHelper[] compare_new()
+ {
+ String[] aRefList = createJPEGFromPostscript(m_sOutputPath, m_sReferencePath, m_sReferenceFile, getResolutionInDPI());
+// TODO: Assume, that Postscript is already in the OutputPath, this may change.
+ String[] aPSList = createJPEGFromPostscript(m_sOutputPath, m_sOutputPath, m_sPostScriptFile, getResolutionInDPI());
+ StatusHelper[] aList = createDiffs(m_sOutputPath,
+ aRefList,
+ aPSList,
+ getMaxPages(), m_tUseBorderMove);
+
+ return aList;
+ }
+
+ static String getJPEGName(String _sOutputPath, String _sBasename, String _sGS_PageOutput)
+ {
+ String fs = System.getProperty("file.separator");
+
+ String sJPEGName = _sOutputPath + fs + _sBasename + _sGS_PageOutput + ".jpg";
+ return sJPEGName;
+ }
+
+ /**
+ * Create via ghostscript (gs) from the reference file for every page a JPEG file
+ *
+ * MUST set:
+ * m_sOutputPath, m_sReferenceFile, m_sReferencePath
+ *
+ * return exit code from gs command
+ */
+ public static String[] createJPEGFromPostscript(String _sOutputPath, String _sSourcePath, String _sSourceFile, int _nResolutionInDPI)
+ {
+ String sGS_PageOutput = "%04d";
+ // if ( OSHelper.isWindows() )
+ // {
+ // sGS_PageOutput = "%%d";
+ // }
+
+ FileHelper.makeDirectories("", _sOutputPath);
+
+ // create a jpeg from original prn
+ String fs = System.getProperty("file.separator");
+
+ String sJPGFilename = getJPEGName(_sOutputPath, _sSourceFile, sGS_PageOutput);
+ String sOriginalFile = _sSourcePath + fs + _sSourceFile;
+ String sCommand;
+ String sGS = "gs";
+ if (OSHelper.isWindows())
+ {
+ sGS = "gswin32c.exe";
+ }
+
+ sCommand = sGS + " -dNOPROMPT -dBATCH -sDEVICE=jpeg -r" + String.valueOf(_nResolutionInDPI) + " -dNOPAUSE -sOutputFile=" + StringHelper.doubleQuoteIfNeed(sJPGFilename) + " " + StringHelper.doubleQuoteIfNeed(sOriginalFile);
+ String[] sCommandArray =
+ {
+ sGS,
+ "-dNOPROMPT",
+ "-dBATCH",
+ "-sDEVICE=jpeg",
+ "-r" + String.valueOf(_nResolutionInDPI),
+ "-dNOPAUSE",
+ "-sOutputFile=" + sJPGFilename,
+ sOriginalFile
+ };
+ // System.out.println("Start Command array");
+ // try
+ // {
+ // Runtime.getRuntime().exec(sCommandArray);
+ // } catch (Exception e) {
+ // System.out.println("FAILED");
+ // }
+ // System.out.println("done");
+
+ ProcessHandler aHandler = new ProcessHandler(sCommandArray);
+ boolean bBackValue = aHandler.executeSynchronously();
+
+ // TODO: return a real filename, due to the fact we don't know how much files are created, maybe better to return a list
+
+ ArrayList m_aFileList = new ArrayList();
+ for (int i=1;i<9999;i++)
+ {
+ String sNewJPEGFilename = utils.replaceAll13(sJPGFilename, sGS_PageOutput, StringHelper.createValueString(i, 4));
+ if (FileHelper.exists(sNewJPEGFilename))
+ {
+ m_aFileList.add(sNewJPEGFilename); // as long as the files exist, fill the array
+ }
+ else
+ {
+ break; // stop file check
+ }
+ }
+ String[] aList = new String[m_aFileList.size()];
+ aList = (String[])m_aFileList.toArray(aList);
+ return aList; // sNewJPEGFilename;
+ }
+
+ /**
+ * Create Difference Files from the JPEGs
+ * parameter, how much difference files should create
+ *
+ * m_sPostScriptFile
+ * m_sReferenceFile
+ * m_sOutputPath
+ */
+ public StatusHelper[] createDiffs(String _sOutputPath, String _sSourcePath1, String _sSourceFile1, String _sSourcePath2, String _sSourceFile2, int _nMaxDiffs, TriState _tUseBorderMove)
+ {
+ if (_nMaxDiffs < 1)
+ {
+ _nMaxDiffs = 1;
+ }
+
+ String sS1Basename = FileHelper.getBasename(_sSourceFile1);
+ String sS2Basename = FileHelper.getBasename(_sSourceFile2);
+
+ // count, from which file (jpegs) exist more, take the less one
+ // more are not compareable
+ int nS1_Files = getMaxNumOfFileEntry(_sSourcePath1, sS1Basename);
+ int nS2_Files = getMaxNumOfFileEntry(_sSourcePath2, sS2Basename);
+
+ // System.out.println("count of s1 files " + String.valueOf(nS1_Files));
+ // System.out.println("count of s2 files " + String.valueOf(nS2_Files));
+
+ // take the min of both
+ int nMin = Math.min(nS1_Files, nS2_Files);
+ nMin = Math.min(nMin, _nMaxDiffs);
+
+ StatusHelper[] aList = new StatusHelper[nMin];
+
+// TODO: if both document do not have same page count, produce an error
+ // System.out.println("min of both: " + String.valueOf(nMin));
+
+ int nStatusIndex = 0;
+ for (int i=1;i<=nMin;i++)
+ {
+ String sOldGfx = getJPEGName(_sSourcePath1, sS1Basename, StringHelper.createValueString(i, 4));
+ String sNewGfx = getJPEGName(_sSourcePath2, sS2Basename, StringHelper.createValueString(i, 4));
+ String sDiffGfx_ = getJPEGName(_sOutputPath, sS1Basename + ".diff", StringHelper.createValueString(i, 4));
+
+
+ String sDiffGfx = compareJPEGs(sOldGfx, sNewGfx, sDiffGfx_);
+ StatusHelper aStatus = new StatusHelper(sOldGfx, sNewGfx, sDiffGfx);
+
+ // if (FileHelper.exists(sDiffGfx))
+ if (sDiffGfx.length() > 0)
+ {
+ int nResult = identify(sDiffGfx);
+ if (nResult == 1)
+ {
+ aStatus.nDiffStatus = StatusHelper.DIFF_NO_DIFFERENCES;
+ }
+ else
+ {
+ try
+ {
+ int nPercent = estimateGfx(sOldGfx, sNewGfx, sDiffGfx);
+ aStatus.nDiffStatus = StatusHelper.DIFF_DIFFERENCES_FOUND;
+ aStatus.nPercent = nPercent;
+
+ // GlobalLogWriter.get().println("Hello World: Percent:= " + nPercent);
+ // GlobalLogWriter.get().println("Hello World: TriState:= " + _tUseBorderMove.intValue());
+ // GlobalLogWriter.get().println("Hello World: DocType:= " + m_sDocumentType);
+
+// TODO: insert here the new BorderRemover if the percentage value is creater than 75%
+ if (nPercent > 75 &&
+ ((_tUseBorderMove == TriState.TRUE ) ||
+ ((_tUseBorderMove == TriState.UNSET) &&
+ m_sDocumentType.indexOf("MS PowerPoint") > 0)))
+ {
+ setBorderMove(TriState.TRUE);
+
+ String sOld_BM_Gfx = getJPEGName(_sSourcePath1, sS1Basename + ".BM", StringHelper.createValueString(i, 4));
+ String sNew_BM_Gfx = getJPEGName(_sSourcePath2, sS2Basename + ".BM", StringHelper.createValueString(i, 4));
+ String sDiff_BM_Gfx_ = getJPEGName(_sOutputPath, sS1Basename + ".diff.BM", StringHelper.createValueString(i, 4));
+ aStatus.setFilesForBorderMove(sOld_BM_Gfx, sNew_BM_Gfx, sDiff_BM_Gfx_);
+ try
+ {
+ BorderRemover a = new BorderRemover();
+ a.createNewImageWithoutBorder(sOldGfx, sOld_BM_Gfx);
+ a.createNewImageWithoutBorder(sNewGfx, sNew_BM_Gfx);
+
+ String sDiff_BM_Gfx = compareJPEGs( sOld_BM_Gfx, sNew_BM_Gfx, sDiff_BM_Gfx_);
+
+ // if (FileHelper.exists(sDiff_BM_Gfx))
+ if (sDiff_BM_Gfx.length() > 0)
+ {
+ nResult = identify(sDiff_BM_Gfx);
+ if (nResult == 1)
+ {
+ aStatus.nDiffStatus = StatusHelper.DIFF_AFTER_MOVE_DONE_NO_PROBLEMS;
+ aStatus.nPercent2 = 0;
+ }
+ else
+ {
+ nPercent = estimateGfx(sOld_BM_Gfx, sNew_BM_Gfx, sDiff_BM_Gfx);
+ aStatus.nDiffStatus = StatusHelper.DIFF_AFTER_MOVE_DONE_DIFFERENCES_FOUND;
+ aStatus.nPercent2 = nPercent;
+ }
+ }
+ else
+ {
+ }
+ }
+ catch(java.io.IOException e)
+ {
+ GlobalLogWriter.get().println("Exception caught. At border remove: " + e.getMessage());
+ }
+ }
+
+
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.get().println(e.getMessage());
+ }
+ }
+
+ // checkDiff(sOldGfx, sNewGfx, sDiffGfx);
+ // if (i >= _nMaxDiffs)
+ // {
+ // break;
+ // }
+ }
+ aList[nStatusIndex ++] = aStatus;
+ }
+ return aList;
+ }
+
+
+ public StatusHelper[] createDiffs(String _sOutputPath, String[] _aRefList, String[] _aPSList, int _nMaxDiffs, TriState _tUseBorderMove)
+ {
+ if (_nMaxDiffs < 1)
+ {
+ _nMaxDiffs = 1;
+ }
+
+ // count, from which file (jpegs) exist more, take the less one
+ // more are not compareable
+
+ // take the min of both
+ int nMin = Math.min(_aRefList.length, _aPSList.length);
+ nMin = Math.min(nMin, _nMaxDiffs);
+
+ StatusHelper[] aList = new StatusHelper[nMin];
+
+// TODO: if both document do not have same page count, produce an error
+ // System.out.println("min of both: " + String.valueOf(nMin));
+
+ int nStatusIndex = 0;
+ for (int i=1;i<=nMin;i++)
+ {
+ String sOldGfx = _aRefList[i];
+ String sNewGfx = _aPSList[i];
+ // String sDiffGfx_ = getJPEGName(_sOutputPath, sS1Basename + ".diff", StringHelper.createValueString(i, 4));
+
+
+ String sDiffGfx = compareJPEGs(sOldGfx, sNewGfx );
+ StatusHelper aStatus = new StatusHelper(sOldGfx, sNewGfx, sDiffGfx);
+
+ // if (FileHelper.exists(sDiffGfx))
+ if (sDiffGfx.length() > 0)
+ {
+ int nResult = identify(sDiffGfx);
+ if (nResult == 1)
+ {
+ aStatus.nDiffStatus = StatusHelper.DIFF_NO_DIFFERENCES;
+ }
+ else
+ {
+ try
+ {
+ int nPercent = estimateGfx(sOldGfx, sNewGfx, sDiffGfx);
+ // GlobalLogWriter.get().println("Hello World: Percent:= " + nPercent);
+ // GlobalLogWriter.get().println("Hello World: TriState:= " + _tUseBorderMove.intValue());
+ // GlobalLogWriter.get().println("Hello World: DocType:= " + m_sDocumentType);
+
+ aStatus.nDiffStatus = StatusHelper.DIFF_DIFFERENCES_FOUND;
+ aStatus.nPercent = nPercent;
+
+ if (nPercent > 75 &&
+ ((_tUseBorderMove == TriState.TRUE ) ||
+ ((_tUseBorderMove == TriState.UNSET) &&
+ m_sDocumentType.indexOf("MS PowerPoint") > 0)))
+ {
+ _tUseBorderMove = TriState.TRUE;
+// TODO: problem is here, that we have to create some new names.
+
+ String sBasename1 = FileHelper.getBasename(sOldGfx);
+ String sNameNoSuffix1 = FileHelper.getNameNoSuffix(sBasename1);
+ String sBasename2 = FileHelper.getBasename(sNewGfx);
+ String sNameNoSuffix2 = FileHelper.getNameNoSuffix(sBasename2);
+
+ String sTmpDir = util.utils.getUsersTempDir();
+ String fs = System.getProperty("file.separator");
+
+ String sOld_BM_Gfx = sTmpDir + fs + sNameNoSuffix1 + "-BM-" + StringHelper.createValueString(i, 4) + ".jpg";
+ String sNew_BM_Gfx = sTmpDir + fs + sNameNoSuffix2 + "-BM-" + StringHelper.createValueString(i, 4) + ".jpg";
+ try
+ {
+ BorderRemover a = new BorderRemover();
+ a.createNewImageWithoutBorder(sOldGfx, sOld_BM_Gfx);
+ a.createNewImageWithoutBorder(sNewGfx, sNew_BM_Gfx);
+
+ String sDiff_BM_Gfx = compareJPEGs( sOld_BM_Gfx, sNew_BM_Gfx );
+
+ aStatus.setFilesForBorderMove(sOld_BM_Gfx, sNew_BM_Gfx, sDiff_BM_Gfx);
+
+ // if (FileHelper.exists(sDiff_BM_Gfx))
+ if (sDiff_BM_Gfx.length() > 0)
+ {
+ nResult = identify(sDiff_BM_Gfx);
+ if (nResult == 1)
+ {
+ aStatus.nDiffStatus = StatusHelper.DIFF_AFTER_MOVE_DONE_NO_PROBLEMS;
+ aStatus.nPercent2 = 0;
+ }
+ else
+ {
+ nPercent = estimateGfx(sOld_BM_Gfx, sNew_BM_Gfx, sDiff_BM_Gfx);
+ aStatus.nDiffStatus = StatusHelper.DIFF_AFTER_MOVE_DONE_DIFFERENCES_FOUND;
+ aStatus.nPercent2 = nPercent;
+ }
+ }
+ else
+ {
+ }
+ }
+ catch(java.io.IOException e)
+ {
+ GlobalLogWriter.get().println("Exception caught. At border remove: " + e.getMessage());
+ }
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.get().println(e.getMessage());
+ }
+ }
+
+ // checkDiff(sOldGfx, sNewGfx, sDiffGfx);
+ // if (i >= _nMaxDiffs)
+ // {
+ // break;
+ // }
+ }
+ aList[nStatusIndex ++] = aStatus;
+ }
+ return aList;
+ }
+
+ public static String compareJPEGs(String _sOldGfx, String _sNewGfx)
+ {
+ String sBasename1 = FileHelper.getBasename(_sOldGfx);
+ String sNameNoSuffix1 = FileHelper.getNameNoSuffix(sBasename1);
+ String sBasename2 = FileHelper.getBasename(_sNewGfx);
+ String sNameNoSuffix2 = FileHelper.getNameNoSuffix(sBasename2);
+
+ String sTmpDir = util.utils.getUsersTempDir();
+ String fs = System.getProperty("file.separator");
+
+ String sDiffName = sTmpDir + fs + sNameNoSuffix1 + "-" + sNameNoSuffix2 + "-diff.jpg";
+
+ return compareJPEGs(_sOldGfx, _sNewGfx, sDiffName);
+ }
+
+ public static String compareJPEGs(String _sOldGfx, String _sNewGfx, String _sDiffGfx)
+ {
+ String sComposite = "composite";
+ if (OSHelper.isWindows())
+ {
+ sComposite = "composite.exe";
+ }
+
+ // String sCommand = sComposite + " -compose difference " +
+ // StringHelper.doubleQuoteIfNeed(_sOldGfx) + " " +
+ // StringHelper.doubleQuoteIfNeed(_sNewGfx) + " " +
+ // StringHelper.doubleQuoteIfNeed(_sDiffGfx);
+
+ String[] sCommandArray =
+ {
+ sComposite,
+ "-compose",
+ "difference",
+ _sOldGfx,
+ _sNewGfx,
+ _sDiffGfx
+ };
+
+ ProcessHandler aHandler = new ProcessHandler(sCommandArray);
+ boolean bBackValue = aHandler.executeSynchronously();
+
+ String sBack = aHandler.getOutputText();
+ GlobalLogWriter.get().println("'" + sBack + "'");
+
+ // return aHandler.getExitCode();
+ if (FileHelper.exists(_sDiffGfx))
+ {
+ return _sDiffGfx;
+ }
+ return "";
+ }
+
+ /**
+ * wrapper for ImageMagick identify,
+ * function checks how many different colors a picture contains.
+ * if it's only one color (nResult==1), like background color, there is no difference.
+ */
+ int identify(String _sDiffGfx)
+ {
+ int nResult = 0;
+ // would like to know what the meaning of %k is for ImageMagick's 'identify'
+ String sIM_Format = "%k";
+ // if (OSHelper.isWindows())
+ // {
+ // sIM_Format = "%%k";
+ // }
+
+ String sIdentify = "identify";
+ if (OSHelper.isWindows())
+ {
+ sIdentify = "identify.exe";
+ }
+
+ // String sCommand = sIdentify + " " + sIM_Format + " " + StringHelper.doubleQuoteIfNeed(_sDiffGfx);
+
+ String[] sCommandArray =
+ {
+ sIdentify,
+ "-format",
+ sIM_Format,
+ _sDiffGfx
+ };
+ ProcessHandler aHandler = new ProcessHandler(sCommandArray);
+ boolean bBackValue = aHandler.executeSynchronously();
+ String sBack = aHandler.getOutputText();
+ GlobalLogWriter.get().println("'" + sBack + "'");
+
+ // try to interpret the result, which we get as a String
+ try
+ {
+ int nIdx = sBack.indexOf("\n");
+ if (nIdx > 0)
+ {
+ sBack = sBack.substring(0, nIdx);
+ }
+
+ nResult = Integer.valueOf(sBack).intValue();
+ }
+ catch(java.lang.NumberFormatException e)
+ {
+ GlobalLogWriter.get().println("Number format exception");
+ nResult = 0;
+ }
+ return nResult;
+ }
+
+ /*
+ * Check 2 different differ files
+ * return 1 if there is no difference between both diff files.
+ */
+
+// TODO: Maybe a StatusHelper is a better return value
+ public StatusHelper checkDiffDiff(String _sOutputPath, String _sSourcePath1, String _sSourceFile1, String _sSourcePath2, String _sSourceFile2)
+ {
+ String sNewGfx = _sSourcePath1 + fs + _sSourceFile1;
+ String sOldGfx = _sSourcePath2 + fs + _sSourceFile2;
+
+ int nNumber = 1;
+ String sDiffGfx;
+ sDiffGfx = getJPEGName(_sOutputPath, _sSourceFile1 + ".diff", StringHelper.createValueString(nNumber, 4));
+
+ StatusHelper aCurrentStatus = new StatusHelper(sOldGfx, sNewGfx, sDiffGfx);
+
+ // String sComposite = "composite";
+ // if (OSHelper.isWindows())
+ // {
+ // sComposite = "composite.exe";
+ // }
+ //
+ // String sCommand = sComposite +" -compose difference " +
+ // StringHelper.doubleQuoteIfNeed(sOldGfx) + " " +
+ // StringHelper.doubleQuoteIfNeed(sNewGfx) + " " +
+ // StringHelper.doubleQuoteIfNeed(sDiffGfx);
+ //
+ //
+ // // System.out.println(sCommand);
+ // // executeSynchronously(sCommand);
+ // ProcessHandler aHandler = new ProcessHandler(sCommand);
+ // boolean bBackValue = aHandler.executeSynchronously();
+
+ compareJPEGs(sOldGfx, sNewGfx, sDiffGfx);
+
+ if (FileHelper.exists(sDiffGfx))
+ {
+ int nResult = identify(sDiffGfx);
+ if (nResult == 1)
+ {
+ aCurrentStatus.nDiffStatus = StatusHelper.DIFF_NO_DIFFERENCES;
+ }
+ else
+ {
+ aCurrentStatus.nDiffStatus = StatusHelper.DIFF_DIFFERENCES_FOUND;
+ try
+ {
+ aCurrentStatus.nPercent = estimateGfx(sOldGfx, sNewGfx, sDiffGfx);
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.get().println(e.getMessage());
+ aCurrentStatus.nPercent = -1;
+ }
+ }
+ // LLA: should diffdiff file delete?
+ // File aFile = new File(sDiffGfx);
+ // aFile.delete();
+ }
+ else
+ {
+ GlobalLogWriter.get().println("composite can't create the diffdiff file.");
+ }
+
+ return aCurrentStatus;
+ }
+
+ // -----------------------------------------------------------------------------
+ /**
+ * count how much pixel differ and between Old or New and the Difference graphics
+ *
+ * First, count the old graphics, then the new graphics due to the fact both should be equal
+ * it should be legal to take result from old or new. We take the graphics with less values.
+ *
+ * Second, count the difference graphics, now take the percent algorithm and
+ * build a percent value, which contain the number of different pixels as a percent value
+ *
+ * Interpretation:
+ * 0% there is no difference
+ *
+ * <100% Take a look into the difference graphics, maybe the difference graphics shows
+ * text like outlined or the text is little bit move left, right up or down.
+ *
+ * >100% Yes it's possible that there is a difference more then 100%, maybe a font problem
+ * between old and new graphics. The font of the new graphics is little bit bigger,
+ * so the pixel count between old graphics and new graphics is twice the more.
+ *
+ */
+ public int estimateGfx(String _sOldGfx, String _sNewGfx, String _sDiffGfx)
+ throws java.io.IOException
+ {
+ // new count pixels
+ int nNotWhiteCount_OldGraphic = PixelCounter.countNotWhitePixelsFromImage(_sOldGfx);
+ int nNotWhiteCount_NewGraphic = PixelCounter.countNotWhitePixelsFromImage(_sNewGfx);
+ int nNotBlackCount_DiffGraphic = PixelCounter.countNotBlackPixelsFromImage(_sDiffGfx);
+
+ int nMinNotWhiteCount = Math.min(nNotWhiteCount_NewGraphic, nNotWhiteCount_OldGraphic);
+
+ // check if not zero
+ if (nMinNotWhiteCount == 0)
+ {
+ nMinNotWhiteCount = Math.max(nNotWhiteCount_NewGraphic, nNotWhiteCount_OldGraphic);
+ if (nMinNotWhiteCount == 0)
+ {
+ nMinNotWhiteCount = 1;
+ }
+ }
+
+ int nPercent = Math.abs(nNotBlackCount_DiffGraphic * 100 / nMinNotWhiteCount);
+ GlobalLogWriter.get().println( "Graphics check, pixel based:" + String.valueOf(nPercent) + "% pixel differ ");
+ return nPercent;
+ }
+
+
+
+/*
+ * Some selftest functionallity
+ */
+// public static void main(String[] args)
+// {
+ // System.out.println(FileHelper.getNameNoSuffix("doc.sxw"));
+ // System.out.println(FileHelper.getSuffix("doc.sxw"));
+ // System.out.println(FileHelper.getBasename("doc.sxw"));
+ // System.out.println(FileHelper.getBasename("/tmp/doc.sxw"));
+
+// PRNCompare a = new PRNCompare();
+// a.setInputPath( "/cws/so-cwsserv06/qadev18/SRC680/src.m47/convwatch.keep/input/msoffice/xp/PowerPoint");
+// a.setReferencePath( "/cws/so-cwsserv06/qadev18/SRC680/src.m47/convwatch.keep/input/msoffice/xp/PowerPoint");
+// a.setOutputPath( "/tmp/convwatch_java");
+// a.setDocFile( "1_Gov.ppt");
+// a.setReferenceFile( "1_Gov.prn" );
+// a.setPostScriptFile("1_Gov.ps" );
+ // a.compare();
+
+
+// LLA: 20040804 sample how to build jpegs from reference files
+// a.createJPEGFromPostscript("/tmp/convwatch_java",
+// "/home/apitest/WorkFromHome/20040804/reference", "worddoc.prn" );
+//
+// a.createJPEGFromPostscript("/tmp/convwatch_java",
+// "/home/apitest/WorkFromHome/20040804/reference", "worddoc.ps" );
+
+// Status[] aList = a.createDiffs("/tmp/convwatch_java",
+// "/tmp/convwatch_java", "worddoc.prn",
+// "/tmp/convwatch_java", "worddoc.ps",
+// 2);
+
+// LLA: 20040805 sample how to check 2 gfx files
+// this function return DifferenceType.NO_DIFFERENCE if the pictures contain no graphically difference
+// DifferenceType aReturnValue = a.checkDiffDiff("/tmp/convwatch_java",
+// "/tmp/convwatch_java", "worddoc.prn.diff1.jpg",
+// "/tmp/convwatch_java/old", "worddoc.prn.diff1.jpg");
+// if (aReturnValue.equals( DifferenceType.NO_DIFFERENCE ))
+// {
+// System.out.println("There is no difference between both diff files.");
+// }
+
+ // a.setOldDiff( "/olddiffs");
+// }
+}
diff --git a/qadevOOo/runner/convwatch/PerformanceContainer.java b/qadevOOo/runner/convwatch/PerformanceContainer.java
new file mode 100644
index 000000000000..d0c1e0fb5ed1
--- /dev/null
+++ b/qadevOOo/runner/convwatch/PerformanceContainer.java
@@ -0,0 +1,250 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.RandomAccessFile;
+import java.lang.Double;
+
+
+public class PerformanceContainer /* extends *//* implements */ {
+ private long m_nStartTime;
+
+ /*
+ simple helper functions to start/stop a timer, to know how long a process need in milliseconds
+ */
+ public long getStartTime()
+ {
+ return System.currentTimeMillis();
+ }
+ public void setStartTime(long _nStartTime)
+ {
+ m_nStartTime = _nStartTime;
+ }
+
+ /*
+ return the time, which is done until last startTime()
+ */
+ private long meanTime(long _nCurrentTimer)
+ {
+ if (_nCurrentTimer == 0)
+ {
+ GlobalLogWriter.get().println("Forgotten to initialise a start timer.");
+ return 0;
+ }
+ long nMeanTime = System.currentTimeMillis();
+ return nMeanTime - _nCurrentTimer;
+ }
+
+ /*
+ public long stopTimer()
+ {
+ if (m_nStartTime == 0)
+ {
+ System.out.println("Forgotten to initialise start timer.");
+ return 0;
+ }
+ long nStopTime = System.currentTimeMillis();
+ return nStopTime - m_nStartTime;
+ }
+ */
+
+ final static int Load = 0;
+ final static int Store = 1;
+ final static int Print = 2;
+ final static int OfficeStart = 3;
+ final static int StoreAsPDF = 4;
+
+ private long m_nTime[];
+ private String m_sMSOfficeVersion;
+
+ public PerformanceContainer()
+ {
+ m_nTime = new long[5];
+ // @todo: is this need?
+ for (int i=0;i<5;i++)
+ {
+ m_nTime[i] = 0;
+ }
+ }
+
+ public void setTime(int _nIndex, long _nValue)
+ {
+ m_nTime[_nIndex] = _nValue;
+ }
+ public long getTime(int _nIndex)
+ {
+ return m_nTime[_nIndex];
+ }
+
+ public void startTime(int _nIndex)
+ {
+ m_nTime[_nIndex] = getStartTime();
+ }
+
+ public void stopTime(int _nIndex)
+ {
+ m_nTime[_nIndex] = meanTime(m_nTime[_nIndex]);
+ }
+
+ public String getMSOfficeVersion()
+ {
+ return m_sMSOfficeVersion;
+ }
+ public void print(FileWriter out) throws java.io.IOException
+ {
+ String ls = System.getProperty("line.separator");
+
+ out.write("loadtime=" + String.valueOf(m_nTime[ Load ]) + ls);
+ out.write("storetime=" + String.valueOf(m_nTime[ Store ]) + ls);
+ out.write("printtime=" + String.valueOf(m_nTime[ Print ]) + ls);
+ out.write("officestarttime=" + String.valueOf(m_nTime[ OfficeStart ]) + ls);
+ out.write("storeaspdftime=" + String.valueOf(m_nTime[ StoreAsPDF ]) + ls);
+ }
+
+ public static double stringToDouble(String _sStr)
+ {
+ double nValue = 0;
+ try
+ {
+ nValue = Double.parseDouble( _sStr );
+ }
+ catch (NumberFormatException e)
+ {
+ GlobalLogWriter.get().println("Can't convert string to double " + _sStr);
+ }
+ return nValue;
+ }
+
+ public static long secondsToMilliSeconds(double _nSeconds)
+ {
+ return (long)(_nSeconds * 1000.0);
+ }
+
+ /*
+ Helper function, which read some values from a given file
+
+ sample of wordinfofile
+ name=c:\doc-pool\wntmsci\samples\msoffice\word\LineSpacing.doc
+ WordVersion=11.0
+ WordStartTime=0.340490102767944
+ WordLoadTime=0.650935888290405
+ WordPrintTime=0.580835103988647
+ */
+ public void readWordValuesFromFile(String sFilename)
+ {
+ File aFile = new File(sFilename);
+ if (! aFile.exists())
+ {
+ GlobalLogWriter.get().println("couldn't find file " + sFilename);
+ return;
+ }
+
+ RandomAccessFile aRandomAccessFile = null;
+ try
+ {
+ aRandomAccessFile = new RandomAccessFile(aFile,"r");
+ String sLine = "";
+ while (sLine != null)
+ {
+ sLine = aRandomAccessFile.readLine();
+ if ( (sLine != null) &&
+ (! (sLine.length() < 2) ) &&
+ (! sLine.startsWith("#")))
+ {
+ if (sLine.startsWith("WordStartTime="))
+ {
+ String sTime = sLine.substring(14);
+ m_nTime[OfficeStart] = secondsToMilliSeconds(stringToDouble(sTime));
+ }
+ else if (sLine.startsWith("WordLoadTime="))
+ {
+ String sTime = sLine.substring(13);
+ m_nTime[Load] = secondsToMilliSeconds(stringToDouble(sTime));
+ }
+ else if (sLine.startsWith("WordPrintTime="))
+ {
+ String sTime = sLine.substring(14);
+ m_nTime[Print] = secondsToMilliSeconds(stringToDouble(sTime));
+ }
+ else if (sLine.startsWith("WordVersion="))
+ {
+ String sMSOfficeVersion = sLine.substring(12);
+ m_sMSOfficeVersion = "Word:" + sMSOfficeVersion;
+ }
+ else if (sLine.startsWith("ExcelVersion="))
+ {
+ String sMSOfficeVersion = sLine.substring(13);
+ m_sMSOfficeVersion = "Excel:" + sMSOfficeVersion;
+ }
+ else if (sLine.startsWith("PowerPointVersion="))
+ {
+ String sMSOfficeVersion = sLine.substring(18);
+ m_sMSOfficeVersion = "PowerPoint:" + sMSOfficeVersion;
+ }
+ }
+ }
+ }
+ catch (java.io.FileNotFoundException fne)
+ {
+ GlobalLogWriter.get().println("couldn't open file " + sFilename);
+ GlobalLogWriter.get().println("Message: " + fne.getMessage());
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.get().println("Exception while reading file " + sFilename);
+ GlobalLogWriter.get().println("Message: " + ie.getMessage());
+ }
+ try
+ {
+ aRandomAccessFile.close();
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.get().println("Couldn't close file " + sFilename);
+ GlobalLogWriter.get().println("Message: " + ie.getMessage());
+ }
+ }
+
+// public static void main(String[] args) {
+//
+///*
+// BorderRemover a = new BorderRemover();
+// try
+// {
+// a.createNewImageWithoutBorder(args[0], args[1]);
+// }
+// catch(java.io.IOException e)
+// {
+// System.out.println("Exception caught.");
+// }
+// */
+// }
+
+}
diff --git a/qadevOOo/runner/convwatch/PixelCounter.java b/qadevOOo/runner/convwatch/PixelCounter.java
new file mode 100644
index 000000000000..116b07e48d8e
--- /dev/null
+++ b/qadevOOo/runner/convwatch/PixelCounter.java
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+// import java.awt.Image;
+import convwatch.ImageHelper;
+
+// -----------------------------------------------------------------------------
+abstract class CountPixel
+{
+ int m_nCount = 0;
+ public int getCount() {return m_nCount;}
+ public abstract void count(int _nRGB);
+}
+
+// -----------------------------------------------------------------------------
+class CountNotWhite extends CountPixel
+{
+ public CountNotWhite()
+ {
+ // System.out.println("CountWhite()");
+ }
+
+ public void count(int pixel)
+ {
+ int alpha = (pixel >> 24) & 0xff;
+ int red = (pixel >> 16) & 0xff;
+ int green = (pixel >> 8) & 0xff;
+ int blue = (pixel ) & 0xff;
+
+ // System.out.println(String.valueOf(red) + ":" + String.valueOf(green) + ":" + String.valueOf(blue));
+ if (red == 0xff && green == 0xff && blue == 0xff)
+ {
+ return;
+ }
+ m_nCount++;
+ }
+}
+
+// -----------------------------------------------------------------------------
+class CountNotBlack extends CountPixel
+{
+ public CountNotBlack()
+ {
+ // System.out.println("CountBlack()");
+ }
+
+ public void count(int pixel)
+ {
+ int alpha = (pixel >> 24) & 0xff;
+ int red = (pixel >> 16) & 0xff;
+ int green = (pixel >> 8) & 0xff;
+ int blue = (pixel ) & 0xff;
+
+ if (red == 0x00 && green == 0x00 && blue == 0x00)
+ {
+ return;
+ }
+ m_nCount++;
+ }
+}
+
+// -----------------------------------------------------------------------------
+class graphics_stuff
+{
+ public int stuff()
+ {
+// (1) decoding
+ int rgba = 0; // ...; // comes from PixelGrabber, BufferedImage.getRGB etc.
+ int red = (rgba >> 16) & 0xff;
+ int green = (rgba >> 8) & 0xff;
+ int blue = rgba & 0xff;
+ int alpha = (rgba >> 24) & 0xff;
+// (2) now modify red, green, blue and alpha as you like;
+// make sure that each of the four values stays in the
+// interval 0 to 255
+// ...
+// (3) and encode back to an int, e.g. to give it to MemoryImageSource or
+// BufferedImage.setRGB
+ rgba = (alpha << 24) | (red << 16) | (green << 8) | blue;
+ return 0;
+ }
+
+ public static void handlesinglepixel(int x, int y, int pixel)
+ {
+ int alpha = (pixel >> 24) & 0xff;
+ int red = (pixel >> 16) & 0xff;
+ int green = (pixel >> 8) & 0xff;
+ int blue = (pixel ) & 0xff;
+ // Deal with the pixel as necessary...
+ }
+
+ public static void countPixel(ImageHelper img, int _x, int _y, int _w, int _h, CountPixel _aPixelCounter)
+ {
+ for (int y = 0; y < _h; y++) {
+ for (int x = 0; x < _w; x++) {
+ // handlesinglepixel(x+i, y+j, pixels[j * w + i]);
+ _aPixelCounter.count(img.getPixel(x,y));
+ }
+ }
+ }
+ public static int countNotWhitePixel(ImageHelper _aImage)
+ {
+ int w = _aImage.getWidth();
+ int h = _aImage.getHeight();
+
+ CountPixel aCountNotWhite = new CountNotWhite();
+ countPixel(_aImage, 0, 0, w, h, aCountNotWhite);
+ return aCountNotWhite.getCount();
+ }
+
+ public static int countNotBlackPixel(ImageHelper _aImage)
+ {
+ int w = _aImage.getWidth();
+ int h = _aImage.getHeight();
+
+ CountPixel aCountNotBlack = new CountNotBlack();
+ countPixel(_aImage, 0, 0, w, h, aCountNotBlack);
+ return aCountNotBlack.getCount();
+ }
+}
+
+// -----------------------------------------------------------------------------
+
+public class PixelCounter {
+ // private Image m_aImage;
+ ImageHelper m_aImage;
+
+
+ public int countNotWhitePixel(String _sFile)
+ throws java.io.IOException
+ {
+ m_aImage = ImageHelper.createImageHelper(_sFile);
+ int nw = graphics_stuff.countNotWhitePixel(m_aImage);
+ return nw;
+ }
+
+ public int countNotBlackPixel(String _sFile)
+ throws java.io.IOException
+ {
+ m_aImage = ImageHelper.createImageHelper(_sFile);
+ int nw = graphics_stuff.countNotBlackPixel(m_aImage);
+ return nw;
+ }
+
+ public static int countNotWhitePixelsFromImage(String _sFile)
+ throws java.io.IOException
+ {
+ PixelCounter a = new PixelCounter();
+ return a.countNotWhitePixel(_sFile);
+ }
+
+ public static int countNotBlackPixelsFromImage(String _sFile)
+ throws java.io.IOException
+ {
+ PixelCounter a = new PixelCounter();
+ return a.countNotBlackPixel(_sFile);
+ }
+
+ // -----------------------------------------------------------------------------
+
+// public static void main(String[] args) {
+//
+// String a = helper.StringHelper.createValueString(10, 4);
+// int dummy = 1;
+///*
+// BorderRemover a = new BorderRemover();
+// try
+// {
+// a.createNewImageWithoutBorder(args[0], args[1]);
+// }
+// catch(java.io.IOException e)
+// {
+// System.out.println("Exception caught.");
+// }
+// */
+// }
+
+}
+
+
diff --git a/qadevOOo/runner/convwatch/PropertyName.java b/qadevOOo/runner/convwatch/PropertyName.java
new file mode 100644
index 000000000000..00130faf50e3
--- /dev/null
+++ b/qadevOOo/runner/convwatch/PropertyName.java
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+public interface PropertyName
+{
+ final public static String DOC_COMPARATOR_INPUT_PATH = "DOC_COMPARATOR_INPUT_PATH";
+ final public static String DOC_COMPARATOR_OUTPUT_PATH = "DOC_COMPARATOR_OUTPUT_PATH";
+ final public static String DOC_COMPARATOR_DIFF_PATH = "DOC_COMPARATOR_DIFF_PATH";
+ final public static String DOC_COMPARATOR_REFERENCE_PATH = "DOC_COMPARATOR_REFERENCE_PATH";
+ final public static String DOC_COMPARATOR_REFERENCE_INPUT_PATH = "DOC_COMPARATOR_REFERENCE_INPUT_PATH";
+ final public static String DOC_COMPARATOR_REFERENCE_TYPE = "DOC_COMPARATOR_REFERENCE_CREATOR_TYPE";
+ final public static String DOC_COMPARATOR_PRINTER_NAME = "DOC_COMPARATOR_PRINTER_NAME";
+ final public static String DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP = "DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP";
+ final public static String DOC_COMPARATOR_INCLUDE_SUBDIRS = "DOC_COMPARATOR_INCLUDE_SUBDIRS";
+ final public static String DOC_COMPARATOR_PRINT_MAX_PAGE = "DOC_COMPARATOR_PRINT_MAX_PAGE";
+ final public static String DOC_COMPARATOR_PRINT_ONLY_PAGE = "DOC_COMPARATOR_PRINT_ONLY_PAGE";
+ final public static String DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION = "DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION";
+ final public static String DOC_COMPARATOR_OVERWRITE_REFERENCE = "DOC_COMPARATOR_OVERWRITE_REFERENCE";
+
+ final public static String DOC_COMPARATOR_HTML_OUTPUT_PREFIX = "DOC_COMPARATOR_HTML_OUTPUT_PREFIX";
+ final public static String DOC_COMPARATOR_GFXCMP_WITH_BORDERMOVE = "DOC_COMPARATOR_GFXCMP_WITH_BORDERMOVE";
+
+ final public static String DOC_CONVERTER_IMPORT_FILTER_NAME = "DOC_CONVERTER_IMPORT_FILTER_NAME";
+ final public static String DOC_CONVERTER_EXPORT_FILTER_NAME = "DOC_CONVERTER_EXPORT_FILTER_NAME";
+ final public static String DOC_CONVERTER_OFFICE_PROGRAM = "DOC_CONVERTER_OFFICE_PROGRAM";
+ final public static String DOC_CONVERTER_REUSE_OFFICE = "DOC_CONVERTER_REUSE_OFFICE";
+
+ final public static String DOC_COMPARATOR_LEAVE_OUT_FILES = "DOC_COMPARATOR_LEAVE_OUT_FILES";
+
+ final public static String DOC_COMPARATOR_DB_INFO_STRING = "DOC_COMPARATOR_DB_INFO_STRING";
+
+ final public static String TEMPPATH = "TEMPPATH";
+
+ // set this variable to "true" or "yes" and loadComponentFromURL works with property Hidden=false
+ final public static String OFFICE_VIEWABLE = "OFFICE_VIEWABLE";
+
+ final public static String DB_CONNECTION_STRING = "DB_CONNECTION_STRING";
+ final public static String CHECK_NEED_TOOLS = "CHECK_NEED_TOOLS";
+ final public static String CREATE_DEFAULT = "CREATE_DEFAULT_REFERENCE";
+
+}
diff --git a/qadevOOo/runner/convwatch/ReferenceBuilder.java b/qadevOOo/runner/convwatch/ReferenceBuilder.java
new file mode 100644
index 000000000000..076d5f5804f4
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ReferenceBuilder.java
@@ -0,0 +1,304 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+// imports
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+import convwatch.DirectoryHelper;
+import convwatch.ConvWatchException;
+import convwatch.EnhancedComplexTestCase;
+import convwatch.PropertyName;
+import helper.OfficeProvider;
+import convwatch.PerformanceContainer;
+
+/**
+ * The following Complex Test will test
+ * an already created document and it's postscript output (by an older office version)
+ * with a new office version.
+ * This test use Ghostscript for the jpeg export and graphically compare tools from ImageMagick.
+ * Read the manual for more information.
+ *
+ * this is only the starter program
+ * more is found in qadevOOo/runner/convwatch/*
+ */
+
+public class ReferenceBuilder extends EnhancedComplexTestCase
+{
+ // The first of the mandatory functions:
+ /**
+ * Return the name of the test.
+ * In this case it is the actual name of the service.
+ * @return The tested service.
+ */
+ public String getTestObjectName() {
+ return "ReferenceBuilder runner";
+ }
+
+ // The second of the mandatory functions: return all test methods as an
+ // array. There is only one test function in this example.
+ /**
+ * Return all test methods.
+ * @return The test methods.
+ */
+ public String[] getTestMethodNames() {
+ return new String[]{"buildreference"};
+ }
+
+ // This test is fairly simple, so there is no need for before() or after()
+ // methods.
+
+ public void before()
+ {
+ // System.out.println("before()");
+ }
+
+ public void after()
+ {
+ // System.out.println("after()");
+ }
+
+ // The test method itself.
+ private String m_sInputPath = "";
+ private String m_sReferencePath = "";
+ private boolean m_bIncludeSubdirectories = true;
+
+ void initMember()
+ {
+ // MUST PARAMETER
+ // INPUT_PATH ----------
+ String sINPATH = (String)param.get( PropertyName.DOC_COMPARATOR_INPUT_PATH );
+ boolean bQuit = false;
+ String sError = "";
+ if (sINPATH == null || sINPATH.length() == 0)
+ {
+ log.println("Please set input path (path to documents) " + PropertyName.DOC_COMPARATOR_INPUT_PATH + "=path.");
+ bQuit = true;
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_INPUT_PATH + " " + sINPATH);
+ m_sInputPath = sINPATH;
+ }
+
+ // REFERENCE_PATH ----------
+ String sREF = (String)param.get( PropertyName.DOC_COMPARATOR_REFERENCE_PATH );
+ if (sREF == null || sREF.length() == 0)
+ {
+ log.println("Please set output path (path to a directory, where the references should stay) " + PropertyName.DOC_COMPARATOR_REFERENCE_PATH + "=path.");
+ bQuit = true;
+ }
+ else
+ {
+ log.println("found " + PropertyName.DOC_COMPARATOR_REFERENCE_PATH + " " + sREF);
+ m_sReferencePath = sREF;
+ }
+
+ if (bQuit == true)
+ {
+ // log.println("must quit.");
+ assure("Must quit, Parameter problems.", false);
+ }
+
+ if (m_sInputPath.startsWith("file:") ||
+ m_sReferencePath.startsWith("file:"))
+ {
+ assure("We can't handle file: URL right, use system path instead.", false);
+ }
+
+ }
+
+ /**
+ * Function returns a List of software which must accessable as an external executable
+ */
+ protected Object[] mustInstalledSoftware()
+ {
+ ArrayList aList = new ArrayList();
+ aList.add("perl -version");
+ return aList.toArray();
+ }
+
+ // the test ======================================================================
+ public void buildreference()
+ {
+ GlobalLogWriter.set(log);
+ String sDBConnection = (String)param.get( PropertyName.DB_CONNECTION_STRING );
+
+ // check if all need software is installed and accessable
+ checkEnvironment(mustInstalledSoftware());
+
+ // test_removeFirstDirectorysAndBasenameFrom();
+ // Get the MultiServiceFactory.
+ // XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
+ GraphicalTestArguments aGTA = getGraphicalTestArguments();
+ if (aGTA == null)
+ {
+ assure("Must quit", false);
+ }
+ if (aGTA.cancelRequest())
+ {
+ return;
+ }
+
+ initMember();
+ DB.init(aGTA.getDBInfoString() + "," + sDBConnection);
+ File aInputPath = new File(m_sInputPath);
+ if (aInputPath.isDirectory())
+ {
+ String fs = System.getProperty("file.separator");
+
+ String sRemovePath = aInputPath.getAbsolutePath();
+ // a whole directory
+ FileFilter aFileFilter = FileHelper.getFileFilter();
+
+ Object[] aList = DirectoryHelper.traverse(m_sInputPath, aFileFilter, aGTA.includeSubDirectories());
+ // fill into DB
+ // DB.filesRemove(aGTA.getDBInfoString());
+ // for (int j=0;j<aList.length;j++)
+ // {
+ // String sEntry = (String)aList[j];
+ // DB.fileInsert(aGTA.getDBInfoString(), sEntry, sRemovePath);
+ // }
+
+ // normal run.
+ for (int i=0;i<aList.length;i++)
+ {
+ String sEntry = (String)aList[i];
+
+ String sNewReferencePath = m_sReferencePath + fs + FileHelper.removeFirstDirectorysAndBasenameFrom(sEntry, m_sInputPath);
+ log.println("- next file is: ------------------------------");
+ log.println(sEntry);
+ log.println(sNewReferencePath);
+
+ if (aGTA.checkIfUsableDocumentType(sEntry))
+ {
+ runGDC(sEntry, sNewReferencePath);
+ }
+ if (aGTA.cancelRequest())
+ {
+ break;
+ }
+ }
+ }
+ else
+ {
+ // String sRemovePath = aInputPath.getAbsolutePath();
+ // DB.fileInsert(aGTA.getDBInfoString(), m_sInputPath, sRemovePath);
+ // DB.updatestate_status(aGTA.getDBInfoString(), "started: " + m_sInputPath);
+ if (aGTA.checkIfUsableDocumentType(m_sInputPath))
+ {
+ runGDC(m_sInputPath, m_sReferencePath);
+ }
+ }
+ }
+
+ void runGDC(String _sInputPath, String _sReferencePath)
+ {
+ // first do a check if the reference not already exist, this is a big speedup, due to the fact,
+ // we don't need to start a new office.
+ GraphicalTestArguments aGTA = getGraphicalTestArguments();
+ if (GraphicalDifferenceCheck.isReferenceExists(_sInputPath, _sReferencePath, aGTA) == false)
+ {
+ // start a fresh Office
+ OfficeProvider aProvider = null;
+ // SimpleFileSemaphore aSemaphore = new SimpleFileSemaphore();
+ if (aGTA.shouldOfficeStart())
+ {
+ // if (OSHelper.isWindows())
+ // {
+ // aSemaphore.P(aSemaphore.getSemaphoreFile());
+ // }
+ aGTA.getPerformance().startTime(PerformanceContainer.OfficeStart);
+ aProvider = new OfficeProvider();
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) aProvider.getManager(param);
+ param.put("ServiceFactory", xMSF);
+ aGTA.getPerformance().stopTime(PerformanceContainer.OfficeStart);
+
+ long nStartTime = aGTA.getPerformance().getTime(PerformanceContainer.OfficeStart);
+ aGTA = getGraphicalTestArguments();
+ aGTA.getPerformance().setTime(PerformanceContainer.OfficeStart, nStartTime);
+ }
+
+ // Watcher Object is need in log object to give a simple way to say if a running office is alive.
+ // As long as a log comes, it pings the Watcher and says the office is alive, if not an
+ // internal counter increase and at a given point (300 seconds) the office is killed.
+ GlobalLogWriter.get().println("Set office watcher");
+ Object aWatcher = param.get("Watcher");
+ GlobalLogWriter.get().setWatcher(aWatcher);
+ // initializeWatcher(param);
+
+ try
+ {
+ log.println("Reference type is " + aGTA.getReferenceType());
+ DB.source_start();
+ GraphicalDifferenceCheck.createOneReferenceFile(_sInputPath, _sReferencePath, aGTA);
+ DB.source_finished();
+ }
+ catch(ConvWatchCancelException e)
+ {
+ assure(e.getMessage(), false);
+ DB.source_failed(e.getMessage());
+ }
+ catch(ConvWatchException e)
+ {
+ assure(e.getMessage(), false);
+ DB.source_failed(e.getMessage());
+ }
+ catch(com.sun.star.lang.DisposedException e)
+ {
+ assure(e.getMessage(), false, true);
+ DB.source_failed(e.getMessage());
+ }
+
+ // Office shutdown
+ if (aProvider != null)
+ {
+ boolean bClosed = aProvider.closeExistingOffice(param, true);
+ // Hope I can check that the close of the office fails
+ assure("Office closed", bClosed, true);
+ // if (OSHelper.isWindows())
+ // {
+ // aSemaphore.V(aSemaphore.getSemaphoreFile());
+ // aSemaphore.sleep(2);
+ // // wait some time maybe an other process will take the semaphore
+ // // I know, this is absolutly dirty, but the whole convwatch is dirty and need a big cleanup.
+ // }
+ }
+ }
+ else
+ {
+ // Reference already exist, do nothing, but DB change
+ DB.source_finished();
+ }
+ }
+}
+
diff --git a/qadevOOo/runner/convwatch/ReportDesignerTest.java b/qadevOOo/runner/convwatch/ReportDesignerTest.java
new file mode 100755
index 000000000000..703a2b2f3073
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ReportDesignerTest.java
@@ -0,0 +1,694 @@
+/*
+ ************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.util.ArrayList;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XOfficeDatabaseDocument;
+import com.sun.star.sdb.XReportDocumentsSupplier;
+import com.sun.star.sdb.application.XDatabaseDocumentUI;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.lang.XServiceInfo;
+
+// import util.BasicMacroTools;
+// import util.DesktopTools;
+// import util.dbg;
+import complexlib.ComplexTestCase;
+import helper.OfficeProvider;
+import helper.URLHelper;
+import helper.OfficeWatcher;
+
+// import convwatch.DB;
+
+// import java.util.Date;
+// import java.text.SimpleDateFormat;
+// import java.text.ParsePosition;
+// import java.sql.Time;
+//
+// import java.io.BufferedReader;
+// import java.io.File;
+// import java.io.FileReader;
+// import java.io.IOException;
+// import java.io.FilenameFilter;
+//
+// import java.util.Vector;
+//
+// import helper.AppProvider;
+// import java.text.DecimalFormat;
+// import util.DynamicClassLoader;
+// import java.util.StringTokenizer;
+
+
+
+
+class PropertySetHelper
+{
+ XPropertySet m_xPropertySet;
+ public PropertySetHelper(Object _aObj)
+ {
+ m_xPropertySet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, _aObj);
+ }
+
+ /**
+ get a property and don't convert it
+ @param _sName the string name of the property
+ @return the object value of the property without any conversion
+ */
+ public Object getPropertyValueAsObject(String _sName)
+ {
+ Object aObject = null;
+
+ if (m_xPropertySet != null)
+ {
+ try
+ {
+ aObject = m_xPropertySet.getPropertyValue(_sName);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ System.out.println("ERROR: UnknownPropertyException caught. '" + _sName + "'");
+ System.out.println("Message: " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ System.out.println("ERROR: WrappedTargetException caught.");
+ System.out.println("Message: " + e.getMessage());
+ }
+ }
+ return aObject;
+ }
+}
+
+class PropertyHelper
+{
+ /**
+ Create a PropertyValue[] from a ArrayList
+ @param _aArrayList
+ @return a PropertyValue[]
+ */
+ public static PropertyValue[] createPropertyValueArrayFormArrayList(ArrayList _aPropertyList)
+ {
+ // copy the whole PropertyValue List to an PropertyValue Array
+ PropertyValue[] aSaveProperties = null;
+
+ if (_aPropertyList == null)
+ {
+ aSaveProperties = new PropertyValue[0];
+ }
+ else
+ {
+ if (_aPropertyList.size() > 0)
+ {
+ aSaveProperties = new PropertyValue[_aPropertyList.size()];
+ for (int i = 0;i<_aPropertyList.size(); i++)
+ {
+ aSaveProperties[i] = (PropertyValue) _aPropertyList.get(i);
+ }
+ }
+ else
+ {
+ aSaveProperties = new PropertyValue[0];
+ }
+ }
+ return aSaveProperties;
+ }
+}
+
+public class ReportDesignerTest extends ComplexTestCase {
+
+ String mTestDocumentPath;
+
+ /**
+ * This method returns a list of Strings, each string must be a function name in this class.
+ * @return
+ */
+ public String[] getTestMethodNames()
+ {
+ return new String[] {"ReportDesignTest"}; // MAIN
+ }
+
+ private void checkIfOfficeExists(String _sOfficePathWithTrash)
+ {
+ String sOfficePath = "";
+ int nIndex = _sOfficePathWithTrash.indexOf("soffice.exe");
+ if (nIndex > 0)
+ {
+ sOfficePath = _sOfficePathWithTrash.substring(0, nIndex + 11);
+ }
+ else
+ {
+ nIndex = _sOfficePathWithTrash.indexOf("soffice");
+ if (nIndex > 0)
+ {
+ sOfficePath = _sOfficePathWithTrash.substring(0, nIndex + 7);
+ }
+ }
+
+ // if (sOfficePath.startsWith("\"") ||
+ // sOfficePath.startsWith("'"))
+ // {
+ // sOfficePath = sOfficePath.substring(1);
+ // }
+ sOfficePath = helper.StringHelper.removeQuoteIfExists(sOfficePath);
+
+ log.println(sOfficePath);
+ File sOffice = new File(sOfficePath);
+ if (! sOffice.exists())
+ {
+ log.println("ERROR: There exists no office installation at given path: '" + sOfficePath + "'");
+ System.exit(0);
+ }
+ }
+
+
+ private static XDesktop m_xDesktop = null;
+ public static XDesktop getXDesktop()
+ {
+
+ if (m_xDesktop == null)
+ {
+ try
+ {
+ XInterface xInterface = (XInterface) m_xXMultiServiceFactory.createInstance( "com.sun.star.frame.Desktop" );
+ m_xDesktop = (XDesktop) UnoRuntime.queryInterface(XDesktop.class, xInterface);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ log.println("ERROR: uno.Exception caught");
+ log.println("Message: " + e.getMessage());
+ }
+ }
+ return m_xDesktop;
+ }
+
+ private void showElements(XNameAccess _xNameAccess)
+ {
+ if (_xNameAccess != null)
+ {
+ String[] sElementNames = _xNameAccess.getElementNames();
+ for(int i=0;i<sElementNames.length; i++)
+ {
+ System.out.println("Value: [" + i + "] := " + sElementNames[i]);
+ }
+ }
+ else
+ {
+ System.out.println("Warning: Given object is null.");
+ }
+ }
+
+
+ private OfficeProvider m_aProvider = null;
+ private static XMultiServiceFactory m_xXMultiServiceFactory = null;
+ private void startOffice()
+ {
+ // int tempTime = param.getInt("SingleTimeOut");
+ param.put("TimeOut", new Integer(300000));
+ System.out.println("TimeOut: " + param.getInt("TimeOut"));
+ System.out.println("ThreadTimeOut: " + param.getInt("ThreadTimeOut"));
+
+ // OfficeProvider aProvider = null;
+ m_aProvider = new OfficeProvider();
+ m_xXMultiServiceFactory = (XMultiServiceFactory) m_aProvider.getManager(param);
+ param.put("ServiceFactory", m_xXMultiServiceFactory);
+ }
+
+ private void stopOffice()
+ {
+ if (m_aProvider != null)
+ {
+ m_aProvider.closeExistingOffice(param, true);
+ m_aProvider = null;
+ }
+ TimeHelper.waitInSeconds(2, "Give close Office some time.");
+ }
+
+ private String m_sMailAddress = null;
+ private String m_sParentDistinct = null;
+
+ // private String m_sUPDMinor;
+ // private String m_sCWS_WORK_STAMP;
+
+ private static String m_sSourceVersion;
+ private static String m_sDestinationVersion;
+ private static String m_sSourceName;
+ private static String m_sDestinationName;
+
+ private static final int WRITER = 1;
+ private static final int CALC = 2;
+
+ /**
+ * This is the main test Function of current ReportDesignerTest
+ */
+ public void ReportDesignTest()
+ {
+ convwatch.GlobalLogWriter.set(log);
+
+ GlobalLogWriter.get().println("Set office watcher");
+ OfficeWatcher aWatcher = (OfficeWatcher)param.get("Watcher");
+ GlobalLogWriter.get().setWatcher(aWatcher);
+
+ try
+ {
+
+ // -------------------- preconditions, try to find an office --------------------
+
+ String sAppExecutionCommand = (String) param.get("AppExecutionCommand");
+ log.println("sAppExecutionCommand='" + sAppExecutionCommand + "'");
+
+ String sUser = System.getProperty("user.name");
+ log.println("user.name='" + sUser + "'");
+
+ // String sVCSID = System.getProperty("VCSID");
+ // log.println("VCSID='" + sVCSID + "'");
+ // m_sMailAddress = sVCSID + "@openoffice.org";
+ m_sMailAddress = System.getProperty("MailAddress");
+ log.println("Assumed mail address: " + m_sMailAddress);
+
+ m_sParentDistinct = System.getProperty("ParentDistinct");
+
+ m_sSourceVersion = System.getProperty("SourceVersion");
+ m_sSourceName = System.getProperty("SourceName");
+ m_sDestinationVersion = System.getProperty("DestinationVersion");
+ m_sDestinationName = System.getProperty("DestinationName");
+ // createDBEntry();
+ // log.println("Current CWS: " + m_sCWS_WORK_STAMP);
+ // log.println("Current MWS: " + m_sUPDMinor);
+
+ if (m_sSourceVersion == null)
+ {
+ System.out.println("Error, Sourceversion is null.");
+ System.exit(1);
+ }
+
+ sAppExecutionCommand = sAppExecutionCommand.replaceAll( "\\$\\{USERNAME\\}", sUser);
+ log.println("sAppExecutionCommand='" + sAppExecutionCommand + "'");
+
+ // an other way to replace strings
+ // sAppExecutionCommand = utils.replaceAll13(sAppExecutionCommand, "${USERNAME}", sUser);
+
+ checkIfOfficeExists(sAppExecutionCommand);
+ param.put("AppExecutionCommand", new String(sAppExecutionCommand));
+
+ // System.exit(1);
+
+ // --------------------------- Start the given Office ---------------------------
+
+ startOffice();
+
+ // ------------------------------ Start a test run ------------------------------
+
+ // String sCurrentDirectory = System.getProperty("user.dir");
+ // log.println("Current Dir: " + sCurrentDirectory);
+ String sDocument = (String) param.get(convwatch.PropertyName.DOC_COMPARATOR_INPUT_PATH);
+ sDocument = helper.StringHelper.removeQuoteIfExists( sDocument );
+ startTestForFile(sDocument);
+ // if (sDocument.toLowerCase().indexOf("writer") >= 0)
+ // {
+ // startTestForFile(sDocument, WRITER);
+ // }
+ // else if (sDocument.toLowerCase().indexOf("calc") >= 0)
+ // {
+ // startTestForFile(sDocument, CALC);
+ // }
+ // else
+ // {
+ // assure("Can't identify the document no 'writer' nor 'calc' in it's name given.", false);
+ // }
+ }
+ catch (AssureException e)
+ {
+ stopOffice();
+ throw new AssureException(e.getMessage());
+ }
+
+ // ------------------------------ Office shutdown ------------------------------
+ stopOffice();
+ }
+
+// -----------------------------------------------------------------------------
+ private void startTestForFile(String _sDocument /*, int _nType*/)
+ {
+ File aFile = new File(_sDocument);
+ assure("Test File '" + _sDocument + "' doesn't exist.", aFile.exists());
+
+ String sFileURL = URLHelper.getFileURLFromSystemPath(_sDocument);
+ log.println("File URL: " + sFileURL);
+
+ XComponent xDocComponent = loadComponent(sFileURL, getXDesktop(), null);
+ log.println("Load done");
+// context = createUnoService("com.sun.star.sdb.DatabaseContext")
+// oDataBase = context.getByName("hh")
+// oDBDoc = oDataBase.DatabaseDocument
+//
+// dim args(1) as new com.sun.star.beans.PropertyValue
+// args(0).Name = "ActiveConnection"
+// args(0).Value = oDBDoc.getCurrentController().getPropertyValue("ActiveConnection")
+// reportContainer = oDBDoc.getReportDocuments()
+// report = reportContainer.loadComponentFromURL("Report40","",0,args)
+
+ try
+ {
+ XInterface x = (XInterface)m_xXMultiServiceFactory.createInstance("com.sun.star.sdb.DatabaseContext");
+ assure("can't create instance of com.sun.star.sdb.DatabaseContext", x != null);
+ log.println("createInstance com.sun.star.sdb.DatabaseContext done");
+
+ XNameAccess xNameAccess = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, x);
+ showElements(xNameAccess);
+ Object aObj = xNameAccess.getByName(sFileURL);
+// log.println("1");
+
+ // PropertySetHelper aHelper = new PropertySetHelper(aObj);
+ XDocumentDataSource xDataSource = (XDocumentDataSource)UnoRuntime.queryInterface(XDocumentDataSource.class, aObj);
+// Object aDatabaseDocmuent = aHelper.getPropertyValueAsObject("DatabaseDocument");
+ XOfficeDatabaseDocument xOfficeDBDoc = xDataSource.getDatabaseDocument();
+
+ // XOfficeDatabaseDocument xOfficeDBDoc = (XOfficeDatabaseDocument)UnoRuntime.queryInterface(XOfficeDatabaseDocument.class, aDatabaseDocument);
+ assure("can't access DatabaseDocument", xOfficeDBDoc != null);
+// log.println("2");
+
+ XModel xDBSource = (XModel)UnoRuntime.queryInterface(XModel.class, xOfficeDBDoc);
+ Object aController = xDBSource.getCurrentController();
+ assure("Controller of xOfficeDatabaseDocument is empty!", aController != null);
+// log.println("3");
+
+ XDatabaseDocumentUI aDBDocUI = (XDatabaseDocumentUI)UnoRuntime.queryInterface(XDatabaseDocumentUI.class, aController);
+ aDBDocUI.connect();
+// if (aDBDocUI.isConnected())
+// {
+// System.out.println("true");
+// }
+// else
+// {
+// System.out.println("false");
+// }
+// log.println("4");
+
+ // aHelper = new PropertySetHelper(aController);
+
+ // Object aActiveConnectionObj = aHelper.getPropertyValueAsObject("ActiveConnection");
+ Object aActiveConnectionObj = aDBDocUI.getActiveConnection();
+ assure("ActiveConnection is empty", aActiveConnectionObj != null);
+// log.println("5");
+
+ XReportDocumentsSupplier xSupplier = (XReportDocumentsSupplier)UnoRuntime.queryInterface(XReportDocumentsSupplier.class, xOfficeDBDoc);
+ xNameAccess = xSupplier.getReportDocuments();
+ assure("xOfficeDatabaseDocument returns no Report Document", xNameAccess != null);
+// log.println("5");
+
+ showElements(xNameAccess);
+
+ ArrayList aPropertyList = new ArrayList();
+
+ PropertyValue aActiveConnection = new PropertyValue();
+ aActiveConnection.Name = "ActiveConnection";
+ aActiveConnection.Value = aActiveConnectionObj;
+ aPropertyList.add(aActiveConnection);
+
+ loadAndStoreReports(xNameAccess, aPropertyList /*, _nType*/ );
+ createDBEntry(/*_nType*/);
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ log.println("ERROR: Exception caught");
+ log.println("Message: " + e.getMessage());
+ }
+
+ // String mTestDocumentPath = (String) param.get("TestDocumentPath");
+ // System.out.println("mTestDocumentPath: '" + mTestDocumentPath + "'");
+ // // workaround for issue using deprecated "DOCPTH" prop
+ // System.setProperty("DOCPTH", mTestDocumentPath);
+
+ // Close the document
+ closeComponent(xDocComponent);
+ }
+
+ private String getDocumentPoolName(/*int _nType*/)
+ {
+ return "AutogenReportDesignTest";
+ // return getFileFormat(_nType);
+ }
+
+// -----------------------------------------------------------------------------
+ private void createDBEntry(/*int _nType*/)
+ {
+ // try to connect the database
+ String sDBConnection = (String)param.get( convwatch.PropertyName.DB_CONNECTION_STRING );
+ log.println("DBConnection: " + sDBConnection);
+ DB.init(sDBConnection);
+
+ // String sFixRefSubDirectory = "ReportDesign_qa_complex_" + getFileFormat(_nType);
+ String sFixRefSubDirectory = "ReportDesignFixRef";
+
+ String sSourceVersion = m_sSourceVersion;
+ // String sSourceVersion = sFixRefSubDirectory;
+ String sSourceName = m_sSourceName;
+ // String sSourceCreatorType = "fixref";
+ String sSourceCreatorType = "";
+ String sDestinationVersion = m_sDestinationVersion;
+ // if (sDestinationVersion.length() == 0)
+ // {
+ // sDestinationVersion = m_sUPDMinor;
+ // }
+ String sDestinationName = m_sDestinationName;
+ String sDestinationCreatorType = "";
+ String sDocumentPoolDir = getOutputPath(/*_nType*/);
+ String sDocumentPoolName = getDocumentPoolName(/*_nType*/);
+ String sSpecial = "";
+
+ DB.insertinto_documentcompare(sSourceVersion, sSourceName, sSourceCreatorType,
+ m_sDestinationVersion, sDestinationName, sDestinationCreatorType,
+ sDocumentPoolDir, sDocumentPoolName, m_sMailAddress,
+ sSpecial, m_sParentDistinct);
+ TimeHelper.waitInSeconds(1, "wait for DB.");
+ // DB.test();
+ // System.exit(1);
+ }
+
+ private void loadAndStoreReports(XNameAccess _xNameAccess, ArrayList _aPropertyList /*, int _nType*/ )
+ {
+ if (_xNameAccess != null)
+ {
+ String[] sElementNames = _xNameAccess.getElementNames();
+ for(int i=0;i<sElementNames.length; i++)
+ {
+ String sReportName = sElementNames[i];
+ XComponent xDoc = loadComponent(sReportName, _xNameAccess, _aPropertyList);
+ // print? or store?
+ storeComponent(sReportName, xDoc /*, _nType*/);
+ closeComponent(xDoc);
+ }
+ }
+ }
+
+ private String getFormatExtension(Object _xComponent /* int _nType*/ )
+ {
+ String sExtension;
+ XServiceInfo xServiceInfo = (XServiceInfo) UnoRuntime.queryInterface( XServiceInfo.class, _xComponent );
+ if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
+ {
+ // calc
+ sExtension = ".ods";
+ }
+ else if (xServiceInfo.supportsService("com.sun.star.text.TextDocument"))
+ {
+ //writer
+ sExtension = ".odt";
+ }
+ else
+ {
+ sExtension = ".UNKNOWN";
+ }
+ return sExtension;
+ }
+
+ // switch(_nType)
+ // {
+ // case WRITER:
+ // sExtension = ".odt";
+ // break;
+ // case CALC:
+ // sExtension = ".ods";
+ // break;
+ // default:
+ // sExtension = ".UNKNOWN";
+ // }
+ // return sExtension;
+ // }
+ // private String getFileFormat(int _nType)
+ // {
+ // String sFileType;
+ // switch(_nType)
+ // {
+ // case WRITER:
+ // sFileType = "writer8";
+ // break;
+ // case CALC:
+ // sFileType = "calc8";
+ // break;
+ // default:
+ // sFileType = "UNKNOWN";
+ // }
+ // return sFileType;
+ // }
+
+ private String m_sOutputPath = null;
+
+ private String getOutputPath(/*int _nType*/)
+ {
+ if (m_sOutputPath == null)
+ {
+ String sOutputPath = (String)param.get( convwatch.PropertyName.DOC_COMPARATOR_OUTPUT_PATH );
+ sOutputPath = helper.StringHelper.removeQuoteIfExists(sOutputPath);
+
+ if (!sOutputPath.endsWith("/") || // construct the output file name
+ !sOutputPath.endsWith("\\"))
+ {
+ sOutputPath += System.getProperty("file.separator");
+ }
+ // sOutputPath += "tmp_123";
+ sOutputPath += DateHelper.getDateTimeForFilename();
+ sOutputPath += System.getProperty("file.separator");
+
+ // sOutputPath += getFileFormat(_nType);
+ // sOutputPath += System.getProperty("file.separator");
+
+ File aOutputFile = new File(sOutputPath); // create the directory of the given output path
+ aOutputFile.mkdirs();
+ m_sOutputPath = sOutputPath;
+ }
+ return m_sOutputPath;
+ }
+
+ /*
+ store given _xComponent under the given Name in DOC_COMPARATOR_INPUTPATH
+ */
+ private void storeComponent(String _sName, Object _xComponent /*, int _nType*/ )
+ {
+ String sOutputPath = getOutputPath(/*_nType*/);
+
+ // add DocumentPoolName
+ sOutputPath += getDocumentPoolName(/*_nType*/);
+ sOutputPath += System.getProperty("file.separator");
+
+ File aOutputFile = new File(sOutputPath); // create the directory of the given output path
+ aOutputFile.mkdirs();
+
+ sOutputPath += _sName;
+ sOutputPath += getFormatExtension(_xComponent /*_nType*/);
+
+ String sOutputURL = URLHelper.getFileURLFromSystemPath(sOutputPath);
+
+ ArrayList aPropertyList = new ArrayList(); // set some properties for storeAsURL
+
+ // PropertyValue aFileFormat = new PropertyValue();
+ // aFileFormat.Name = "FilterName";
+ // aFileFormat.Value = getFileFormat(_nType);
+ // aPropertyList.add(aFileFormat);
+
+ PropertyValue aOverwrite = new PropertyValue(); // always overwrite already exist files
+ aOverwrite.Name = "Overwrite";
+ aOverwrite.Value = Boolean.TRUE;
+ aPropertyList.add(aOverwrite);
+
+ // store the document in an other directory
+ XStorable aStorable = (XStorable) UnoRuntime.queryInterface( XStorable.class, _xComponent);
+ if (aStorable != null)
+ {
+ log.println("store document as URL: '" + sOutputURL + "'");
+ try
+ {
+ aStorable.storeAsURL(sOutputURL, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ log.println("ERROR: Exception caught");
+ log.println("Can't write document URL: '" + sOutputURL + "'");
+ log.println("Message: " + e.getMessage());
+ }
+ }
+ }
+
+ private XComponent loadComponent(String _sName, Object _xComponent, ArrayList _aPropertyList)
+ {
+ XComponent xDocComponent = null;
+ XComponentLoader xComponentLoader = (XComponentLoader) UnoRuntime.queryInterface( XComponentLoader.class, _xComponent );
+
+ try
+ {
+ PropertyValue[] aLoadProperties = PropertyHelper.createPropertyValueArrayFormArrayList(_aPropertyList);
+ log.println("Load component: '" + _sName + "'");
+ xDocComponent = xComponentLoader.loadComponentFromURL(_sName, "_blank", 0, aLoadProperties);
+ log.println("Load component: '" + _sName + "' done");
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ log.println("ERROR: Exception caught");
+ log.println("Can't load document '" + _sName + "'");
+ log.println("Message: " + e.getMessage());
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ log.println("ERROR: Exception caught");
+ log.println("Illegal Arguments given to loadComponentFromURL.");
+ log.println("Message: " + e.getMessage());
+ }
+ return xDocComponent;
+ }
+
+ private void closeComponent(XComponent _xDoc)
+ {
+ // Close the document
+ XCloseable xCloseable = (XCloseable) UnoRuntime.queryInterface(XCloseable.class, _xDoc);
+ try
+ {
+ xCloseable.close(true);
+ }
+ catch (com.sun.star.util.CloseVetoException e)
+ {
+ log.println("ERROR: CloseVetoException caught");
+ log.println("CloseVetoException occured Can't close document.");
+ log.println("Message: " + e.getMessage());
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/SimpleFileSemaphore.java b/qadevOOo/runner/convwatch/SimpleFileSemaphore.java
new file mode 100644
index 000000000000..9d608bdb332b
--- /dev/null
+++ b/qadevOOo/runner/convwatch/SimpleFileSemaphore.java
@@ -0,0 +1,189 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import java.io.File;
+import java.io.RandomAccessFile;
+import helper.OSHelper;
+
+public class SimpleFileSemaphore /* extends *//* implements */
+{
+ String m_sInternSemaphoreFile;
+ File m_aInternSemaphoreFile;
+ GlobalLogWriter m_aLog;
+
+ public static void sleep( int _nSeconds)
+ {
+ // wait a second here
+ try
+ {
+ java.lang.Thread.sleep(_nSeconds * 1000);
+ }
+ catch (java.lang.InterruptedException e2)
+ {
+ }
+ }
+
+ public SimpleFileSemaphore() throws IllegalArgumentException
+ {
+ String sInternFileName;
+ if (OSHelper.isWindows())
+ {
+ sInternFileName = "C:/Temp/ConvwatchOOoSemaphore.txt";
+ }
+ else if (OSHelper.isUnix())
+ {
+ sInternFileName = "/tmp/ConvwatchOOoSemaphore.txt";
+ }
+ else
+ {
+ m_sInternSemaphoreFile = null;
+ throw new IllegalArgumentException("Unknown System, can't initialise SimpleFileSemaphore");
+ }
+
+ m_sInternSemaphoreFile = sInternFileName;
+ m_aInternSemaphoreFile = new File(sInternFileName);
+ }
+
+ public File getSemaphoreFile()
+ {
+ return m_aInternSemaphoreFile;
+ }
+// ------------------------------------------------------------------------------
+// wait until resource is available
+ public void P(File _aSemaphore)
+ {
+ int nCount = 0;
+ int nCheckLoop = 1;
+
+ while ( nCheckLoop == 1)
+ {
+ // check if resource is available, if not, wait.
+ if ( _aSemaphore.exists() )
+ {
+ m_aLog.get().println( "Active wait since " + nCount + "sec..");
+ nCount ++;
+ sleep( 1 );
+ }
+ else
+ {
+ sleep( 1 );
+ if ( _aSemaphore.exists() )
+ {
+ // ups
+ m_aLog.get().println( "ups...");
+ }
+ else
+ {
+ nCheckLoop = 0;
+ }
+ }
+ }
+
+ // block resource by ourself
+ try
+ {
+ RandomAccessFile aWriter = new RandomAccessFile(_aSemaphore, "rw");
+ aWriter.writeByte((int)1);
+ aWriter.close();
+ }
+
+ catch (java.io.FileNotFoundException fne)
+ {
+ m_aLog.get().println( "caught: FileNotFoundException");
+ }
+ catch(java.io.IOException ie)
+ {
+ m_aLog.get().println( "caught: IOException");
+ }
+ }
+
+// ------------------------------------------------------------------------------
+// block a resource
+ public void V(File _aSemaphore)
+ {
+
+ if ( _aSemaphore.exists() )
+ {
+ _aSemaphore.delete();
+ }
+ else
+ {
+ m_aLog.get().println("Could be a problem here? No resource block found.");
+ }
+ }
+
+ // --------------------------------- Unit test ---------------------------------
+
+ private static boolean SEMAPHORE_SHOULD_EXIST = true;
+ private static boolean SEMAPHORE_SHOULD_NOT_EXIST = false;
+
+ private static void assure(boolean _b, String _sText)
+ {
+ System.out.print(_sText);
+ System.out.print(" ");
+ if (_b)
+ {
+ System.out.println("ok");
+ }
+ else
+ {
+ System.out.println("FAILED");
+ }
+ }
+
+ private static void testSemaphoreFile(SimpleFileSemaphore a, boolean _bShouldFileExists)
+ {
+ System.out.println("Check if semaphore file exists.");
+ File aSemaphoreFile = a.getSemaphoreFile();
+ if (aSemaphoreFile.exists())
+ {
+ System.out.println("Name is: " + aSemaphoreFile.getAbsolutePath());
+ assure(_bShouldFileExists == SEMAPHORE_SHOULD_EXIST, "Semaphore should exist!");
+ }
+ else
+ {
+ assure(_bShouldFileExists == SEMAPHORE_SHOULD_NOT_EXIST, "Semaphore should not exist!");
+ }
+ }
+
+ public static void main( String[] argv )
+ {
+ SimpleFileSemaphore a = new SimpleFileSemaphore();
+
+ testSemaphoreFile(a, SEMAPHORE_SHOULD_NOT_EXIST);
+
+ a.P(a.getSemaphoreFile());
+
+ testSemaphoreFile(a, SEMAPHORE_SHOULD_EXIST);
+
+ a.V(a.getSemaphoreFile());
+
+ testSemaphoreFile(a, SEMAPHORE_SHOULD_NOT_EXIST);
+ }
+}
diff --git a/qadevOOo/runner/convwatch/StatusHelper.java b/qadevOOo/runner/convwatch/StatusHelper.java
new file mode 100644
index 000000000000..d37fa4a79af4
--- /dev/null
+++ b/qadevOOo/runner/convwatch/StatusHelper.java
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+public class StatusHelper
+{
+ final static public int DIFF_NOT_REALLY_INITIALISED = 1;
+ final static public int DIFF_NO_DIFFERENCES = 2;
+ final static public int DIFF_DIFFERENCES_FOUND = 3;
+ final static public int DIFF_AFTER_MOVE_DONE_NO_PROBLEMS = 4;
+ final static public int DIFF_AFTER_MOVE_DONE_DIFFERENCES_FOUND = 5;
+
+ // public String m_sOutputPath;
+ public String m_sMainName;
+
+ public String m_sOldGfx;
+ public String m_sNewGfx;
+ public String m_sDiffGfx;
+ public int nDiffStatus = DIFF_NOT_REALLY_INITIALISED;
+ public int nPercent = 0;
+
+ // BorderMove Values
+ public int nPercent2 = 0;
+ public String m_sOld_BM_Gfx;
+ public String m_sNew_BM_Gfx;
+ public String m_sDiff_BM_Gfx;
+
+ public StatusHelper(String _sOldGfx, String _sNewGfx, String _sDiffGfx)
+ {
+ m_sOldGfx = _sOldGfx;
+ m_sNewGfx = _sNewGfx;
+ m_sDiffGfx = _sDiffGfx;
+ }
+ public void setFilesForBorderMove(String _sOldGfx, String _sNewGfx, String _sDiffGfx)
+ {
+ m_sOld_BM_Gfx = _sOldGfx;
+ m_sNew_BM_Gfx = _sNewGfx;
+ m_sDiff_BM_Gfx = _sDiffGfx;
+
+ }
+
+ public void printStatus()
+ {
+ GlobalLogWriter.get().println(" Original file: " + m_sOldGfx);
+ GlobalLogWriter.get().println(" New file: " + m_sNewGfx);
+ GlobalLogWriter.get().println("Difference file: " + m_sDiffGfx);
+ if (nDiffStatus == DIFF_NOT_REALLY_INITIALISED)
+ {
+ GlobalLogWriter.get().println("Early problem, may be the files doesn't exist.");
+ }
+ else if (nDiffStatus == DIFF_NO_DIFFERENCES)
+ {
+ GlobalLogWriter.get().println("No differences found, ok.");
+ }
+ else if (nDiffStatus == DIFF_DIFFERENCES_FOUND)
+ {
+ GlobalLogWriter.get().println("Files differ by " + String.valueOf(nPercent) + "%");
+ }
+ else if (nDiffStatus == DIFF_AFTER_MOVE_DONE_NO_PROBLEMS)
+ {
+ GlobalLogWriter.get().println("No differences found, after move picture.");
+ }
+ else if (nDiffStatus == DIFF_AFTER_MOVE_DONE_DIFFERENCES_FOUND)
+ {
+ GlobalLogWriter.get().println("A picture move is done, the files differ by " + String.valueOf(nPercent2) + " old was " + String.valueOf(nPercent) + "%");
+ }
+ else
+ {
+ GlobalLogWriter.get().println("Unknown DIFF_ values used, not handles yet.");
+ }
+ }
+
+
+
+
+
+// TODO: stream output
+// public stream& statusline(stream)
+// {
+// stream << name << "PASS" << nDiff==0?"PASS":"FAIL" << endl;
+// return stream;
+// }
+}
diff --git a/qadevOOo/runner/convwatch/StringHelper.java b/qadevOOo/runner/convwatch/StringHelper.java
new file mode 100644
index 000000000000..b20e3b6bea01
--- /dev/null
+++ b/qadevOOo/runner/convwatch/StringHelper.java
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// LLA: moved to helper.StringHelper package convwatch;
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper public class StringHelper {
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper public static String doubleQuote(String _sStr)
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper return "\"" + _sStr + "\"";
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper public static String singleQuote(String _sStr)
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper return "'" + _sStr + "'";
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper public static String removeQuoteIfNeed(String _sPath)
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper String sNewPath = _sPath;
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper if (_sPath.startsWith("\"") ||
+// LLA: moved to helper.StringHelper _sPath.startsWith("'"))
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper // remove trailing quotes, if exists
+// LLA: moved to helper.StringHelper sNewPath = sNewPath.substring(1);
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper if (_sPath.endsWith("\"") ||
+// LLA: moved to helper.StringHelper _sPath.endsWith("'"))
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper // remove trailing quotes, if exists
+// LLA: moved to helper.StringHelper sNewPath = sNewPath.substring(0, sNewPath.length() - 1);
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper return sNewPath;
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper public static String doubleQuoteIfNeed(String _sStr)
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper if (_sStr.startsWith("\"") && _sStr.endsWith("\""))
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper // don't quote twice
+// LLA: moved to helper.StringHelper return _sStr;
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper if (_sStr.indexOf(" ") == -1)
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper // don't quote, if there is no space in name
+// LLA: moved to helper.StringHelper return _sStr;
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper if (_sStr.indexOf("%") != -1)
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper return singleQuote(_sStr);
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper return doubleQuote(_sStr);
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper /**
+// LLA: moved to helper.StringHelper * Convert a value to a string with a given length, if the len is greater the len of the value string representation
+// LLA: moved to helper.StringHelper * fill it's front with '0'
+// LLA: moved to helper.StringHelper * So ("5", 4) will result in a string "0005"
+// LLA: moved to helper.StringHelper * @param _nValue
+// LLA: moved to helper.StringHelper * @param _nLen
+// LLA: moved to helper.StringHelper * @return
+// LLA: moved to helper.StringHelper */
+// LLA: moved to helper.StringHelper public static String createValueString(int _nValue, int _nLen)
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper String sValue = String.valueOf(_nValue);
+// LLA: moved to helper.StringHelper StringBuffer a = new StringBuffer();
+// LLA: moved to helper.StringHelper while (_nLen > sValue.length())
+// LLA: moved to helper.StringHelper {
+// LLA: moved to helper.StringHelper a.append('0');
+// LLA: moved to helper.StringHelper _nLen --;
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper a.append(sValue);
+// LLA: moved to helper.StringHelper return a.toString();
+// LLA: moved to helper.StringHelper }
+// LLA: moved to helper.StringHelper
+// LLA: moved to helper.StringHelper }
diff --git a/qadevOOo/runner/convwatch/TimeHelper.java b/qadevOOo/runner/convwatch/TimeHelper.java
new file mode 100755
index 000000000000..923568db51c8
--- /dev/null
+++ b/qadevOOo/runner/convwatch/TimeHelper.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+public class TimeHelper
+{
+ /*
+ wait a second the caller don't need to handle the interruptexception
+ @param _nSeconds how long should we wait
+ @param _sReason give a good reason, why we have to wait
+ */
+ static void waitInSeconds(int _nSeconds, String _sReason)
+ {
+ GlobalLogWriter.get().println("Wait " + String.valueOf(_nSeconds) + " sec. Reason: " + _sReason);
+ try {
+ java.lang.Thread.sleep(_nSeconds * 1000);
+ } catch (java.lang.InterruptedException e2) {}
+ }
+}
diff --git a/qadevOOo/runner/convwatch/TriState.java b/qadevOOo/runner/convwatch/TriState.java
new file mode 100644
index 000000000000..7a9e9312c6bb
--- /dev/null
+++ b/qadevOOo/runner/convwatch/TriState.java
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+public class TriState
+{
+ public static final TriState TRUE = new TriState(1);
+ public static final TriState FALSE = new TriState(0);
+ public static final TriState UNSET = new TriState(-1);
+
+ int m_nValue;
+
+ /**
+ Allocates a <code>TriState</code> object representing the
+ <code>value</code> argument.
+
+ @param value the value of the <code>TriState</code>.
+ */
+ public TriState(int value)
+ {
+ m_nValue = value;
+ }
+
+ /**
+ Returns the value of this TriState object as an int
+ * @return the primitive <code>int</code> value of this object.
+ */
+ public int intValue()
+ {
+ return m_nValue;
+ }
+ /**
+ Returns <code>true</code> if and only if the argument is not
+ <code>null</code> and is a <code>TriState</code> object that
+ contains the same <code>int</code> value as this object.
+
+ @param obj the object to compare with.
+ @return <code>true</code> if the objects are the same;
+ <code>false</code> otherwise.
+ */
+
+ public boolean equals(Object obj)
+ {
+ if ((obj != null) &&
+ (obj instanceof TriState))
+ {
+ return m_nValue == ((TriState)obj).intValue();
+ }
+ return false;
+ }
+}
diff --git a/qadevOOo/runner/convwatch/ValueNotFoundException.java b/qadevOOo/runner/convwatch/ValueNotFoundException.java
new file mode 100644
index 000000000000..04957187d126
--- /dev/null
+++ b/qadevOOo/runner/convwatch/ValueNotFoundException.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+class ValueNotFoundException extends Exception
+{
+ ValueNotFoundException(String _sMessage)
+ {
+ super(_sMessage);
+ }
+}
diff --git a/qadevOOo/runner/convwatch/makefile.mk b/qadevOOo/runner/convwatch/makefile.mk
new file mode 100644
index 000000000000..aed1532cea6e
--- /dev/null
+++ b/qadevOOo/runner/convwatch/makefile.mk
@@ -0,0 +1,86 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = convwatch
+TARGET = runner_convwatch
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
+JAVAFILES = \
+ TriState.java \
+ IniFile.java \
+ BuildID.java \
+ GfxCompare.java \
+ FilenameHelper.java \
+ NameHelper.java \
+ HTMLOutputter.java \
+ LISTOutputter.java \
+ INIOutputter.java \
+ PropertyName.java \
+ StatusHelper.java \
+ ConvWatchException.java \
+ ConvWatchCancelException.java \
+ OfficePrint.java \
+ PRNCompare.java \
+ FileHelper.java \
+ OSHelper.java \
+ PixelCounter.java \
+ ImageHelper.java \
+ BorderRemover.java \
+ ConvWatch.java \
+ DirectoryHelper.java \
+ ConvWatchStarter.java \
+ ReferenceBuilder.java \
+ EnhancedComplexTestCase.java \
+ MSOfficePrint.java \
+ GraphicalTestArguments.java \
+ GraphicalDifferenceCheck.java \
+ DocumentConverter.java\
+ DBHelper.java\
+ DB.java\
+ ValueNotFoundException.java \
+ GlobalLogWriter.java \
+ CrashLoopTest.java \
+ ReportDesignerTest.java \
+ DateHelper.java \
+ TimeHelper.java
+
+
+
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/graphical/BuildID.java b/qadevOOo/runner/graphical/BuildID.java
new file mode 100644
index 000000000000..cf9188d84a47
--- /dev/null
+++ b/qadevOOo/runner/graphical/BuildID.java
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import java.io.File;
+import helper.OSHelper;
+
+public class BuildID
+{
+ private static String getOfficePath(String _sApp)
+ {
+ String sOfficePath = "";
+ // TODO: StringHelper.removeQuote?
+ if (_sApp.startsWith("\""))
+ {
+ int nIdx = _sApp.indexOf("\"", 1);
+ if (nIdx != -1)
+ {
+ // leave double qoute out.
+ sOfficePath = _sApp.substring(1, nIdx);
+ }
+ }
+ else
+ {
+ // check if _sApp ends with the office executable, if not
+ if (! (_sApp.endsWith("soffice.exe") || _sApp.endsWith("soffice")))
+ {
+ // check if a space exist, so we get all until space
+ int nIdx = _sApp.indexOf(" ", 1);
+ if (nIdx == -1)
+ {
+ sOfficePath = _sApp;
+ }
+ else
+ {
+ sOfficePath = _sApp.substring(0, nIdx);
+ }
+ }
+ else
+ {
+ sOfficePath = _sApp;
+ }
+ }
+ // GlobalLogWriter.get().println("Office path: " + sOfficePath);
+ return sOfficePath;
+ }
+
+ public static String getBuildID(String _sApp)
+ {
+ final String sOfficePath = getOfficePath(_sApp);
+ final String sBuildID = getBuildID(sOfficePath, "buildid");
+ return sBuildID;
+ }
+
+ private static String getBuildID(String _sOfficePath, String _sIniSection)
+ {
+ File aSOfficeFile = new File(_sOfficePath);
+ String sBuildID = "";
+ if (aSOfficeFile.exists())
+ {
+ String sOfficePath = FileHelper.getPath(_sOfficePath);
+ // ok. System.out.println("directory: " + sOfficePath);
+ sBuildID = getBuildIDFromBootstrap(sOfficePath, _sIniSection);
+ if (sBuildID.length() == 0)
+ {
+ sBuildID = getBuildIDFromVersion(sOfficePath, _sIniSection);
+ }
+ }
+ else
+ {
+ GlobalLogWriter.println("soffice executable not found.");
+ }
+
+// int dummy = 0;
+ return sBuildID;
+ }
+
+ private static String getBuildIDFromBootstrap(String _sOfficePath, String _sIniSection)
+ {
+ String sBuildID = "";
+ String sOfficePath;
+ if (OSHelper.isWindows())
+ {
+ sOfficePath = FileHelper.appendPath(_sOfficePath, "bootstrap.ini");
+ }
+ else
+ {
+ sOfficePath = FileHelper.appendPath(_sOfficePath, "bootstraprc");
+ }
+ IniFile aIniFile = new IniFile(sOfficePath);
+ if (aIniFile.is())
+ {
+ sBuildID = aIniFile.getValue("Bootstrap", /*"buildid"*/ _sIniSection);
+ }
+ else
+ {
+ GlobalLogWriter.println("Property Build, can't open file '" + sOfficePath + "', please check.");
+ }
+ return sBuildID;
+ }
+
+ private static String getBuildIDFromVersion(String _sOfficePath, String _sIniSection)
+ {
+ // String fs = System.getProperty("file.separator");
+ String sBuildID = "";
+ String sOfficePath;
+ if (OSHelper.isWindows())
+ {
+ sOfficePath = FileHelper.appendPath(_sOfficePath, "version.ini");
+ }
+ else
+ {
+ sOfficePath = FileHelper.appendPath(_sOfficePath, "versionrc");
+ }
+ IniFile aIniFile = new IniFile(sOfficePath);
+ if (aIniFile.is())
+ {
+ sBuildID = aIniFile.getValue("Version", /*"buildid"*/ _sIniSection);
+ }
+ else
+ {
+ GlobalLogWriter.println("Property Build, can't open file '" + sOfficePath + "', please check.");
+ }
+ return sBuildID;
+ }
+
+// public static void main(String[] args)
+// {
+// String sApp;
+// sApp = "/opt/staroffice8_m116/program/soffice -headless -accept=socket,host=localhost,port=8100;urp;";
+// String sBuildID;
+// sBuildID = getBuildID(sApp);
+// System.out.println("BuildID is: " + sBuildID);
+//
+// Date aDate = new Date();
+// long nStart = aDate.getTime();
+// System.out.println("Time:" + nStart);
+// // LLA: Just some more tests for getBuildID
+// // sApp = "/opt/staroffice8_net/program/soffice";
+// // sBuildID = getBuildID(sApp);
+// // System.out.println("BuildID is: " + sBuildID);
+// //
+// // sApp = "\"/opt/staroffice8_net/program/soffice\" test blah";
+// // sBuildID = getBuildID(sApp);
+// //
+// // System.out.println("BuildID is: " + sBuildID);
+// System.exit(1);
+// }
+
+ public static String getMaster(String _sOfficePath)
+ {
+ final String sOfficePath = getOfficePath(_sOfficePath);
+ final String sMaster = getBuildID(sOfficePath, "ProductSource");
+ return sMaster;
+ }
+
+ public static String getMinor(String _sOfficePath)
+ {
+ final String sOfficePath = getOfficePath(_sOfficePath);
+ final String sMinor = "m" + getBuildID(sOfficePath, "ProductMinor");
+ return sMinor;
+ }
+
+ public static String getCWSName(String _sOfficePath)
+ {
+ final String sOfficePath = getOfficePath(_sOfficePath);
+ final String sBuildID = getBuildID(sOfficePath, "buildid");
+ String sCWSName = "MWS";
+ int nIdx = sBuildID.indexOf("[CWS:");
+ if (nIdx > 0)
+ {
+ int nIdx2 = sBuildID.indexOf("]", nIdx);
+ sCWSName = sBuildID.substring(nIdx + 5, nIdx2);
+ }
+ return sCWSName;
+ }
+
+// public static void main(String[] args)
+// {
+// String sApp;
+// sApp = "D:/staroffice9_m63/Sun/StarOffice 9/program/soffice.exe";
+// String sBuildID;
+// sBuildID = getBuildID(sApp);
+// System.out.println("BuildID is: " + sBuildID);
+//
+// String sMaster;
+// sMaster = getMaster(sApp);
+// System.out.println("Master is: " + sMaster);
+//
+// String sMinor;
+// sMinor = getMinor(sApp);
+// System.out.println("Minor is: " + sMinor);
+//
+// String sCWSName;
+// sCWSName = getCWSName(sApp);
+// System.out.println("CWSName is: " + sCWSName);
+//
+// System.exit(1);
+// }
+
+}
diff --git a/qadevOOo/runner/graphical/DateHelper.java b/qadevOOo/runner/graphical/DateHelper.java
new file mode 100644
index 000000000000..07a5c5844099
--- /dev/null
+++ b/qadevOOo/runner/graphical/DateHelper.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import java.text.SimpleDateFormat;
+import java.util.GregorianCalendar;
+import java.text.FieldPosition;
+import java.util.Locale;
+
+public class DateHelper
+{
+ public static String getDateTimeForFilename()
+ {
+ return getDateString("yyyyMMdd-HHmmss");
+ }
+
+ public static String getDateTimeForHumanreadableLog()
+ {
+ return getDateString("[yyyy/MM/dd HH:mm:ss]");
+ }
+
+ public static String getDateString(String _sFormat)
+ {
+ GregorianCalendar aCalendar = new GregorianCalendar();
+ StringBuffer aBuf = new StringBuffer();
+
+ Locale aLocale = new Locale("en","US");
+ SimpleDateFormat aFormat = new SimpleDateFormat(_sFormat, aLocale);
+ aBuf = aFormat.format(aCalendar.getTime(), aBuf, new FieldPosition(0) );
+ // DebugHelper.writeInfo("Date: " + aBuf.toString());
+ return aBuf.toString();
+ }
+}
diff --git a/qadevOOo/runner/graphical/DirectoryHelper.java b/qadevOOo/runner/graphical/DirectoryHelper.java
new file mode 100644
index 000000000000..46930d19425f
--- /dev/null
+++ b/qadevOOo/runner/graphical/DirectoryHelper.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+
+/**
+ * Helper for directory access
+ *
+ * @author lla@openoffice.org
+ */
+public class DirectoryHelper
+{
+ ArrayList<String> m_aFileList = new ArrayList<String>();
+ boolean m_bRecursiveIsAllowed = true;
+
+ void setRecursiveIsAllowed(boolean _bValue)
+ {
+ m_bRecursiveIsAllowed = _bValue;
+ }
+
+ /**
+ * Traverse over a given directory, and filter with a given FileFilter
+ * object and gives back the deep directory as a Object[] list, which
+ * contain a String object for every directory entry.
+ *
+ * <B>Example</B>
+ * List directory /bin, filter out all files which ends with '.prn'
+ *
+ * FileFilter aFileFilter = new FileFilter()
+ * {
+ * public boolean accept( File pathname )
+ * {
+ * if (pathname.getName().endsWith(".prn"))
+ * {
+ * return false;
+ * }
+ * return true;
+ * }
+ * };
+ *
+ * Object[] aList = DirectoryHelper.traverse("/bin", aFileFilter);
+ * for (int i=0;i<aList.length;i++)
+ * {
+ * String aEntry = (String)aList[i];
+ * System.out.println(aEntry);
+ * }
+ *
+ * @param _sDirectory
+ * @param _aFileFilter
+ * @param _bRecursiveIsAllowed
+ * @return list of directories
+ */
+ public static Object[] traverse( String _sDirectory, FileFilter _aFileFilter, boolean _bRecursiveIsAllowed )
+ {
+ DirectoryHelper a = new DirectoryHelper();
+ a.setRecursiveIsAllowed(_bRecursiveIsAllowed);
+ a.traverse_impl(_sDirectory, _aFileFilter);
+ return a.m_aFileList.toArray();
+ }
+
+ public static Object[] traverse( String _sDirectory, boolean _bRecursiveIsAllowed )
+ {
+ DirectoryHelper a = new DirectoryHelper();
+ a.setRecursiveIsAllowed(_bRecursiveIsAllowed);
+ a.traverse_impl(_sDirectory, null);
+ return a.m_aFileList.toArray();
+ }
+
+ void traverse_impl( String afileDirectory, FileFilter _aFileFilter )
+ {
+ File fileDirectory = new File(afileDirectory);
+ // Testing, if the file is a directory, and if so, it throws an exception
+ if ( !fileDirectory.isDirectory() )
+ {
+ throw new IllegalArgumentException( "not a directory: " + fileDirectory.getName() );
+ }
+
+ // Getting all files and directories in the current directory
+ File[] aDirEntries;
+ if (_aFileFilter != null)
+ {
+ aDirEntries = fileDirectory.listFiles(_aFileFilter);
+ }
+ else
+ {
+ aDirEntries = fileDirectory.listFiles();
+ }
+
+ // Iterating for each file and directory
+ for ( int i = 0; i < aDirEntries.length; ++i )
+ {
+ if ( aDirEntries[ i ].isDirectory() )
+ {
+ if (m_bRecursiveIsAllowed == true)
+ {
+ // Recursive call for the new directory
+ traverse_impl( aDirEntries[ i ].getAbsolutePath(), _aFileFilter );
+ }
+ }
+ else
+ {
+ // adding file to List
+ try
+ {
+ // Composing the URL by replacing all backslashs
+ // String stringUrl = "file:///" + aFileEntries[ i ].getAbsolutePath().replace( '\\', '/' );
+ String aStr = aDirEntries[ i ].getAbsolutePath();
+ m_aFileList.add(aStr);
+ }
+ catch( Exception exception )
+ {
+ exception.printStackTrace();
+ break;
+ }
+ }
+ }
+ }
+
+ // tests
+ // public static void main(String[] args)
+ // {
+ // String sDirectory = "/misc/convwatch/gfxcmp/data/doc-pool/demo";
+ // Object[] aDirectoryList = DirectoryHelper.traverse( sDirectory, false );
+ //
+ // for (int i=0;i<aDirectoryList.length;i++)
+ // {
+ // String sEntry = (String)aDirectoryList[i];
+ // System.out.println(sEntry);
+ // }
+ // }
+}
+
diff --git a/qadevOOo/runner/graphical/EnhancedComplexTestCase.java b/qadevOOo/runner/graphical/EnhancedComplexTestCase.java
new file mode 100644
index 000000000000..c3ec2b3e8336
--- /dev/null
+++ b/qadevOOo/runner/graphical/EnhancedComplexTestCase.java
@@ -0,0 +1,519 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+import complexlib.ComplexTestCase;
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+
+/**
+ *
+ * @author ll93751
+ */
+abstract public class EnhancedComplexTestCase extends ComplexTestCase implements IDocument
+{
+
+
+private void callEntry(String _sEntry, ParameterHelper _aParam)
+{
+ // log.println("- next file is: ------------------------------");
+ log.println("File: " + _sEntry);
+ // TODO: check if 'sEntry' is a guilty document.
+ File aFile = new File(_aParam.getInputPath());
+ String sPath = _aParam.getInputPath();
+ // problem here, isFile() checks also if the file exists, but a not existing file is not really a directory
+ // therefore we check if the given file a path (isDirectory()) if not it must be a file
+ if (aFile.isDirectory())
+ {
+ }
+ else
+ {
+ // special case, if a file is given in inputpath
+ sPath = FileHelper.getPath(_aParam.getInputPath());
+ }
+ String sNewSubDir = FileHelper.removeFirstDirectorysAndBasenameFrom(_sEntry, sPath);
+
+// String sNewReferencePath = _aParam.getReferencePath();
+ String sNewOutputPath = _aParam.getOutputPath();
+ // String sNewDiffPath = m_sDiffPath;
+
+ // if there exist a subdirectory, add it to all result path
+ if (sNewSubDir.length() > 0)
+ {
+// if (sNewReferencePath != null)
+// {
+// sNewReferencePath = FileHelper.appendPath(sNewReferencePath, sNewSubDir);
+// }
+
+ sNewOutputPath = FileHelper.appendPath(sNewOutputPath, sNewSubDir);
+ // if (sNewDiffPath != null)
+ // {
+ // sNewDiffPath = FileHelper.appendPath(sNewDiffPath, sNewSubDir);
+ // }
+ }
+ // log.println("sEntry: " + _sEntry + " " /* + sNewReferencePath + " " */ + sNewOutputPath);
+ log.println("Outputpath: " + sNewOutputPath);
+
+
+ // call interface with parameters
+ try
+ {
+ checkOneFile(_sEntry, sNewOutputPath, _aParam);
+ }
+ catch (OfficeException e)
+ {
+ // TODO: unhandled yet.
+ GlobalLogWriter.println("Warning: caught OfficeException " + e.getMessage());
+ assure("Exception caught: " + e.getMessage(), false);
+ }
+
+}
+
+/**
+ * Run through all documents found in Inputpath.
+ * Call the IDocument interface function call(...);
+ * @param _aParam
+ */
+ public void foreachDocumentinInputPath(ParameterHelper _aParam)
+ {
+ // TODO: auslagern in eine function, die ein Interface annimmt.
+ File aInputPath = new File(_aParam.getInputPath());
+ if (aInputPath.isDirectory())
+ {
+ // check a whole directory
+ // a whole directory
+ FileFilter aFileFilter = FileHelper.getFileFilter();
+ traverseDirectory(aFileFilter, _aParam);
+ }
+ else
+ {
+ callEntry(_aParam.getInputPath(), _aParam);
+ }
+ }
+
+ private void traverseDirectory(FileFilter _aFileFilter, ParameterHelper _aParam)
+ {
+ Object[] aList = DirectoryHelper.traverse(_aParam.getInputPath(), _aFileFilter, _aParam.isIncludeSubDirectories());
+ if (aList.length == 0)
+ {
+ log.println("Nothing to do, there are no document files found.");
+ }
+ else
+ {
+ for (int i=0;i<aList.length;i++)
+ {
+ String sEntry = (String)aList[i];
+ callEntry(sEntry, _aParam);
+ }
+ }
+ }
+/**
+ * Run through a given index.ini or run through a given directory,
+ * find all postscript or pdf files.
+ * Call the IDocument interface function call(...);
+ * @param _aParam
+ */
+ public void foreachPSorPDFinInputPath(ParameterHelper _aParam)
+ {
+ // TODO: auslagern in eine function, die ein Interface annimmt.
+ String sInputPath = _aParam.getInputPath();
+ File aInputPath = new File(sInputPath);
+// if (!aInputPath.exists())
+// {
+// GlobalLogWriter.println("Error, InputPath or File in InputPath doesn't exists. Please check: '" + sInputPath + "'");
+// assure("Error, InputPath or File in InputPath doesn't exists. Please check: '" + sInputPath + "'", false);
+// }
+ if (aInputPath.isDirectory())
+ {
+ // check a whole directory
+ // a whole directory
+ FileFilter aFileFilter = FileHelper.getFileFilterPSorPDF();
+ traverseDirectory(aFileFilter, _aParam);
+ }
+ else
+ {
+ // the inputpath contains a file
+ if (sInputPath.toLowerCase().endsWith(".ini"))
+ {
+ IniFile aIniFile = new IniFile(_aParam.getInputPath());
+ while (aIniFile.hasMoreElements())
+ {
+ String sKey = (String)aIniFile.nextElement();
+ String sPath = FileHelper.getPath(_aParam.getInputPath());
+ String sEntry = FileHelper.appendPath(sPath, sKey);
+ File aFile = new File(sEntry);
+ assure("File '" + sEntry + "' doesn't exists.", aFile.exists(), true);
+ if (aFile.exists())
+ {
+ callEntry(sEntry, _aParam);
+ }
+ }
+ }
+ else
+ {
+ // call for a single pdf/ps file
+ if (sInputPath.toLowerCase().endsWith(".ps") ||
+ sInputPath.toLowerCase().endsWith(".pdf") ||
+ sInputPath.toLowerCase().endsWith(".prn"))
+ {
+ callEntry(sInputPath, _aParam);
+ }
+ else
+ {
+ String sInputPathWithPDF = sInputPath + ".pdf";
+ File aInputPathWithPDF = new File(sInputPathWithPDF);
+
+ if (aInputPathWithPDF.exists() &&
+ _aParam.getReferenceType().toLowerCase().equals("pdf"))
+ {
+ // create PDF only if a pdf file exists and creatortype is set to PDF
+ callEntry(sInputPathWithPDF, _aParam);
+ }
+ else
+ {
+ String sInputPathWithPS = sInputPath + ".ps";
+
+ File aInputPathWithPS = new File(sInputPathWithPS);
+ if (aInputPathWithPS.exists())
+ {
+ callEntry(sInputPathWithPS, _aParam);
+ }
+ else
+ {
+ String sPath = FileHelper.getPath(sInputPath);
+ String sBasename = FileHelper.getBasename(sInputPath);
+
+ // there exist an index file, therefore we assume the given
+ // file is already converted to postscript or pdf
+ runThroughEveryReportInIndex(sPath, sBasename, _aParam);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private void runThroughEveryReportInIndex(String _sPath, String _sBasename, ParameterHelper _aParam)
+ {
+ String sIndexFile = FileHelper.appendPath(_sPath, "index.ini");
+ File aIndexFile = new File(sIndexFile);
+ if (aIndexFile.exists())
+ {
+ IniFile aIniFile = new IniFile(sIndexFile);
+
+ if (aIniFile.hasSection(_sBasename))
+ {
+ // special case for odb files
+ int nFileCount = aIniFile.getIntValue(_sBasename, "reportcount", 0);
+ ArrayList<String> aList = new ArrayList<String>();
+ for (int i=0;i<nFileCount;i++)
+ {
+ String sValue = aIniFile.getValue(_sBasename, "report" + i);
+
+ String sPSorPDFName = getPSorPDFNameFromIniFile(aIniFile, sValue);
+ if (sPSorPDFName.length() > 0)
+ {
+ String sEntry = FileHelper.appendPath(_sPath, sPSorPDFName);
+ aList.add(sEntry);
+ }
+ }
+ aIniFile.close();
+
+ int nOkStatus = 0;
+ String sStatusRunThrough = "";
+ String sStatusInfo = "";
+ // get the bad status and store it into the
+ for (int i=0;i<aList.size();i++)
+ {
+ String sEntry = aList.get(i);
+ callEntry(sEntry, _aParam);
+
+ // we want to know the current status of the run through
+ // if the status is greater (more bad) then the current,
+ // we will remember this. Only the very bad status will
+ // seen.
+ int nCurrentOkStatus = _aParam.getTestParameters().getInt("current_ok_status");
+ if (nCurrentOkStatus > nOkStatus)
+ {
+ sStatusRunThrough = (String)_aParam.getTestParameters().get("current_state");
+ sStatusInfo = (String)_aParam.getTestParameters().get("current_info");
+ nOkStatus = nCurrentOkStatus;
+ }
+ }
+ if (nOkStatus > 0)
+ {
+ _aParam.getTestParameters().put("last_state", sStatusRunThrough);
+ _aParam.getTestParameters().put("last_info", sStatusInfo);
+ }
+ }
+ else
+ {
+ // runThroughOneFileInIndex();
+ String sPSorPDFName = getPSorPDFNameFromIniFile(aIniFile, _sBasename);
+
+ aIniFile.close();
+
+ if (sPSorPDFName.length() > 0)
+ {
+ String sEntry = FileHelper.appendPath(_sPath, sPSorPDFName);
+ callEntry(sEntry, _aParam);
+ }
+ }
+ }
+ else
+ {
+ assure("File '" + sIndexFile + "' doesn't exists.", aIndexFile.exists(), true);
+ }
+ }
+
+ private String getPSorPDFNameFromIniFile(IniFile _aIniFile, String _sName)
+ {
+ boolean bHasPostscriptOrPDF = false;
+ String sPSBasename = _sName + ".ps";
+ if (_aIniFile.hasSection(sPSBasename)) // checks for Postscript
+ {
+ bHasPostscriptOrPDF = true;
+ }
+ else
+ {
+ sPSBasename = _sName + ".pdf"; // checks for PDF
+ if (_aIniFile.hasSection(sPSBasename))
+ {
+ bHasPostscriptOrPDF = true;
+ }
+ }
+ if (bHasPostscriptOrPDF)
+ {
+ return sPSBasename;
+ }
+ return "";
+ }
+
+ public void runThroughOneFileInIndex(String _sPath, String _sBasename, ParameterHelper _aParam)
+ {
+
+ }
+/**
+ * Run through a given index.ini or run through a given directory,
+ * find all postscript or pdf files.
+ * Call the IDocument interface function call(...);
+ * @param _aParam
+ */
+ public void foreachJPEGcompareWithJPEG(ParameterHelper _aParam)
+ {
+ // TODO: auslagern in eine function, die ein Interface annimmt.
+ String sInputPath = _aParam.getInputPath();
+ File aInputPath = new File(sInputPath);
+// if (!aInputPath.exists())
+// {
+// GlobalLogWriter.println("Error, InputPath or File in InputPath doesn't exists. Please check: '" + sInputPath + "'");
+// assure("Error, InputPath or File in InputPath doesn't exists. Please check: '" + sInputPath + "'", false);
+// }
+ if (aInputPath.isDirectory())
+ {
+ // check a whole directory
+ // a whole directory
+ FileFilter aFileFilter = FileHelper.getFileFilterJPEG();
+ traverseDirectory(aFileFilter, _aParam);
+ }
+ else
+ {
+ // the inputpath contains a file
+ if (sInputPath.toLowerCase().endsWith(".ini"))
+ {
+ IniFile aIniFile = new IniFile(_aParam.getInputPath());
+ while (aIniFile.hasMoreElements())
+ {
+ String sSection = (String)aIniFile.nextElement();
+// TODO: not supported yet.
+ // callEveryPictureInIniFile(aIniFile, sSection, _aParam);
+ }
+ }
+ else
+ {
+ // call for a single jpeg file
+ try
+ {
+ String sOutputFilename = _aParam.getOutputPath();
+ if (sInputPath.toLowerCase().endsWith(".jpg") ||
+ sInputPath.toLowerCase().endsWith(".jpeg") )
+ {
+ checkOneFile(sInputPath, sOutputFilename, _aParam);
+ }
+ else
+ {
+ // check if there exists a ini file
+ String sPath = FileHelper.getPath(sInputPath);
+ String sBasename = FileHelper.getBasename(sInputPath);
+
+ runThroughEveryReportInIndex(sPath, sBasename, _aParam);
+
+ String sStatusRunThrough = (String)_aParam.getTestParameters().get("last_state");
+ String sStatusInfo = (String)_aParam.getTestParameters().get("last_info");
+
+ if (sStatusRunThrough != null &&
+ sStatusInfo != null )
+ {
+ // store the bad status in the <Name>.odb.ps.ini file
+ String sOutputPath = _aParam.getOutputPath();
+ String sBasenameIni = FileHelper.appendPath(sOutputPath, sBasename + ".ps.ini");
+ IniFile aBasenameIni = new IniFile(sBasenameIni);
+ aBasenameIni.insertValue("global", "state", sStatusRunThrough);
+ aBasenameIni.insertValue("global", "info", sStatusInfo);
+ aBasenameIni.close();
+ }
+
+ }
+ }
+ catch (OfficeException e)
+ {
+ // TODO: unhandled yet.
+ GlobalLogWriter.println("Warning: caught OfficeException " + e.getMessage());
+ }
+ // callEntry(sInputPath, _aParam);
+ }
+ }
+ }
+
+
+/**
+ * Run through a given index.ini or run through a given directory,
+ * find all ini files.
+ * Call the IDocument interface function call(...);
+ * @param _aParam
+ */
+ public void foreachResultCreateHTML(ParameterHelper _aParam)
+ {
+ // TODO: auslagern in eine function, die ein Interface annimmt.
+ String sInputPath = _aParam.getInputPath();
+ File aInputPath = new File(sInputPath);
+// if (!aInputPath.exists())
+// {
+// GlobalLogWriter.println("Error, InputPath or File in InputPath doesn't exists. Please check: '" + sInputPath + "'");
+// assure("Error, InputPath or File in InputPath doesn't exists. Please check: '" + sInputPath + "'", false);
+// }
+
+ // call for a single ini file
+ if (sInputPath.toLowerCase().endsWith(".ini") )
+ {
+ callEntry(sInputPath, _aParam);
+ }
+ else
+ {
+ // check if there exists an ini file
+ String sPath = FileHelper.getPath(sInputPath);
+ String sBasename = FileHelper.getBasename(sInputPath);
+
+ runThroughEveryReportInIndex(sPath, sBasename, _aParam);
+
+ // Create a HTML page which shows locally to all files in .odb
+ if (sInputPath.toLowerCase().endsWith(".odb"))
+ {
+ String sIndexFile = FileHelper.appendPath(sPath, "index.ini");
+ File aIndexFile = new File(sIndexFile);
+ if (aIndexFile.exists())
+ {
+ IniFile aIniFile = new IniFile(sIndexFile);
+
+ if (aIniFile.hasSection(sBasename))
+ {
+ // special case for odb files
+ int nFileCount = aIniFile.getIntValue(sBasename, "reportcount", 0);
+ ArrayList<String> aList = new ArrayList<String>();
+ for (int i=0;i<nFileCount;i++)
+ {
+ String sValue = aIniFile.getValue(sBasename, "report" + i);
+
+ String sPSorPDFName = getPSorPDFNameFromIniFile(aIniFile, sValue);
+ if (sPSorPDFName.length() > 0)
+ {
+ aList.add(sPSorPDFName);
+ }
+ }
+ if (aList.size() > 0)
+ {
+ // HTML output for the odb file, shows only all other documents.
+ HTMLResult aOutputter = new HTMLResult(sPath, sBasename + ".ps.html" );
+ aOutputter.header("content of DB file: " + sBasename);
+ aOutputter.indexSection(sBasename);
+
+ for (int i=0;i<aList.size();i++)
+ {
+ String sPSFile = aList.get(i);
+
+ // TODO: this information has to come out of the ini files
+ String sStatusRunThrough = "";
+ String sStatusMessage = "";
+
+ String sHTMLFile = sPSFile + ".html";
+ aOutputter.indexLine(sHTMLFile, sPSFile, sStatusRunThrough, sStatusMessage);
+ }
+ aOutputter.close();
+
+// String sHTMLFile = FileHelper.appendPath(sPath, sBasename + ".ps.html");
+// try
+// {
+//
+// FileOutputStream out2 = new FileOutputStream(sHTMLFile);
+// PrintStream out = new PrintStream(out2);
+//
+// out.println("<HTML>");
+// out.println("<BODY>");
+// for (int i=0;i<aList.size();i++)
+// {
+// // <A href="link">blah</A>
+// String sPSFile = (String)aList.get(i);
+// out.print("<A href=\"");
+// out.print(sPSFile + ".html");
+// out.print("\">");
+// out.print(sPSFile);
+// out.println("</A>");
+// out.println("<BR>");
+// }
+// out.println("</BODY></HTML>");
+// out.close();
+// out2.close();
+// }
+// catch (java.io.IOException e)
+// {
+//
+// }
+ }
+ }
+ aIniFile.close();
+ }
+
+ }
+ }
+ }
+
+
+}
diff --git a/qadevOOo/runner/graphical/FileHelper.java b/qadevOOo/runner/graphical/FileHelper.java
new file mode 100644
index 000000000000..892f652567c1
--- /dev/null
+++ b/qadevOOo/runner/graphical/FileHelper.java
@@ -0,0 +1,767 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.StringTokenizer;
+import helper.OSHelper;
+
+import java.io.PrintStream;
+import javax.swing.JOptionPane;
+
+public class FileHelper
+{
+ public FileHelper()
+ {
+ // fs = System.getProperty("file.separator");
+
+
+ String sOSName = System.getProperty("os.name");
+ String sOSArch = System.getProperty("os.arch");
+ String sOSVersion = System.getProperty("os.version");
+
+ GlobalLogWriter.println(sOSName);
+ GlobalLogWriter.println(sOSArch);
+ GlobalLogWriter.println(sOSVersion);
+
+ }
+
+ public static void MessageBox(String _sStr)
+ {
+ String sVersion = System.getProperty("java.version");
+ String sOSName = System.getProperty("os.name");
+ JOptionPane.showMessageDialog( null, _sStr, sVersion + " " + sOSName + " Hello World Debugger", JOptionPane.INFORMATION_MESSAGE );
+ }
+
+ public static boolean exists(String _sFile)
+ {
+ if (_sFile == null)
+ {
+ return false;
+ }
+
+ File aFile = new File(_sFile);
+ if (aFile.exists())
+ {
+ return true;
+ }
+ // This is just nice for DEBUG behaviour
+ // due to the fact this is absolutly context dependency no one should use it.
+ // else
+ // {
+ // System.out.println("FileHelper:exists() tell this path doesn't exists. Check it. path is:" );
+ // System.out.println( _sFile );
+ // System.out.println( aFile.getAbsolutePath() );
+ // MessageBox("Der JavaProzess wartet auf eine interaktion ihrerseits.");
+ //
+ // File aFile2 = new File(_sFile);
+ // if (aFile2.exists())
+ // {
+ // System.out.println("Thanks, file exists." );
+ // return true;
+ // }
+ // }
+ return false;
+ }
+
+ public static boolean isDir(String _sDir)
+ {
+ if (_sDir == null)
+ {
+ return false;
+ }
+ try
+ {
+ File aFile = new File(_sDir);
+ if (aFile.exists() && aFile.isDirectory())
+ {
+ return true;
+ }
+ }
+ catch (NullPointerException e)
+ {
+ GlobalLogWriter.println("Exception caught. FileHelper.isDir('" + _sDir + "')");
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ public static String getBasename(String _sFilename)
+ {
+ if (_sFilename == null)
+ {
+ return "";
+ }
+ // String fs = System.getProperty("file.separator");
+
+ int nIdx = _sFilename.lastIndexOf("\\");
+ if (nIdx == -1)
+ {
+ nIdx = _sFilename.lastIndexOf("/");
+ }
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(nIdx + 1);
+ }
+ return _sFilename;
+ }
+
+ public static String getNameNoSuffix(String _sFilename)
+ {
+ if (_sFilename == null)
+ {
+ return "";
+ }
+ int nIdx = _sFilename.lastIndexOf(".");
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(0, nIdx);
+ }
+ return _sFilename;
+ }
+
+ public static String getSuffix(String _sFilename)
+ {
+ if (_sFilename == null)
+ {
+ return "";
+ }
+ int nIdx = _sFilename.lastIndexOf(".");
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(nIdx );
+ }
+ return "";
+ }
+
+ public static String getPath(String _sFilename)
+ {
+ if (_sFilename == null)
+ {
+ return "";
+ }
+ // String fs = System.getProperty("file.separator");
+
+ int nIdx = _sFilename.lastIndexOf("\\");
+ if (nIdx == -1)
+ {
+ nIdx = _sFilename.lastIndexOf("/");
+ }
+ if (nIdx > 0)
+ {
+ return _sFilename.substring(0, nIdx);
+ }
+ return "";
+ }
+
+/*
+ static ArrayList files = new ArrayList();
+ public static Object[] traverse( String afileDirectory )
+ {
+
+ File fileDirectory = new File(afileDirectory);
+ // Testing, if the file is a directory, and if so, it throws an exception
+ if ( !fileDirectory.isDirectory() )
+ {
+ throw new IllegalArgumentException( "not a directory: " + fileDirectory.getName() );
+ }
+
+ // Getting all files and directories in the current directory
+ File[] entries = fileDirectory.listFiles();
+
+ // Iterating for each file and directory
+ for ( int i = 0; i < entries.length; ++i )
+ {
+ // adding file to List
+ try
+ {
+ // Composing the URL by replacing all backslashs
+ String stringUrl = "file:///"
+ + entries[ i ].getAbsolutePath().replace( '\\', '/' );
+ files.add(stringUrl);
+ }
+ catch( Exception exception )
+ {
+ exception.printStackTrace();
+ }
+ }
+ return files.toArray();
+ }
+*/
+
+ // makeDirectories("", "/tmp/a/b");
+ // creates all directories /tmp/a/b
+ //
+ public static void makeDirectories(String first, String path)
+ {
+ makeDirectories(first, path, "0777");
+ }
+
+ public static void makeDirectories(String first, String path, String _sMode)
+ {
+ String fs = System.getProperty("file.separator");
+ if (path.startsWith(fs + fs)) // starts with UNC Path
+ {
+ int n = path.indexOf(fs, 2);
+ n = path.indexOf(fs, n + 1);
+ first = path.substring(0, n);
+ path = path.substring(n + 1);
+ }
+
+ String already_done = null;
+ StringTokenizer path_tokenizer = new StringTokenizer(path,fs,false);
+ already_done = first;
+ while (path_tokenizer.hasMoreTokens())
+ {
+ String part = path_tokenizer.nextToken();
+ File new_dir = new File(already_done + File.separatorChar + part);
+ already_done = new_dir.toString();
+ // System.out.println(already_done);
+ //create the directory
+ new_dir.mkdirs();
+ if (OSHelper.isUnix() &&
+ _sMode.length() > 0)
+ {
+ try
+ {
+ chmod(new_dir, _sMode);
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.println("Exception caught. FileHelper.makeDirectories('" + new_dir.getAbsolutePath() + "')");
+ }
+ }
+ }
+ // return;
+ }
+
+ public static void chmod(File file, String mode) throws java.io.IOException
+ {
+ Runtime.getRuntime().exec
+ (new String[]
+ {"chmod", mode, file.getAbsolutePath()});
+ }
+
+ public static String removeFirstDirectorysAndBasenameFrom(String _sName, String _sRemovePath)
+ {
+ // pre: _sName: /a/b/c/d/e/f.g _sRemovePath /a/b/c
+ // result: d/e
+ String fs = System.getProperty("file.separator");
+
+ String sBasename = FileHelper.getBasename(_sName);
+ String sSubDirs = "";
+ if (_sName.startsWith(_sRemovePath))
+ {
+ // if _sName starts with _sRemovePath
+ int nRemovePathIndex = _sRemovePath.length();
+ if (! _sRemovePath.endsWith(fs))
+ {
+ // add 1 if we not ends with file separator
+ nRemovePathIndex ++;
+ }
+ int nBasenameIndex = _sName.length() - sBasename.length() - 1;
+ if (nRemovePathIndex < nBasenameIndex)
+ {
+ sSubDirs = _sName.substring(nRemovePathIndex, nBasenameIndex);
+ }
+ }
+ else
+ {
+ // special case, the _sRemovePath is not part of _sName
+ sSubDirs = FileHelper.getPath(_sName);
+ if (sSubDirs.startsWith(fs))
+ {
+ // remove leading file separator
+ sSubDirs = sSubDirs.substring(1);
+ }
+ }
+
+ return sSubDirs;
+ }
+
+ public static void test_removeFirstDirectorysAndBasenameFrom()
+ {
+ String a = removeFirstDirectorysAndBasenameFrom("/a/b/c/d/e/f.g", "/a/b/c");
+ // assure("", a.equals("d/e"));
+ String b = removeFirstDirectorysAndBasenameFrom("/a/b/c/d/e/f.g", "/a/b/c/");
+ // assure("", b.equals("d/e"));
+ String c = removeFirstDirectorysAndBasenameFrom("/a/b/c/d/e/f.g", "/b/c");
+ // assure("", c.equals("a/b/c/d/e"));
+ }
+
+
+ public static String getSystemPathFromFileURL( String _sFileURL )
+ {
+ String sSystemFile = null;
+
+ if(_sFileURL.startsWith("file:///"))
+ {
+ if (OSHelper.isWindows())
+ {
+ sSystemFile = _sFileURL.substring(8);
+ }
+ else
+ {
+ sSystemFile = _sFileURL.substring(7);
+ }
+ }
+ else if (_sFileURL.startsWith("file://"))
+ {
+ sSystemFile = _sFileURL.substring(5);
+ }
+ String fs = System.getProperty("file.separator");
+ if (! fs.equals("/"))
+ {
+ sSystemFile = sSystemFile.replace ('/', fs.toCharArray ()[0]);
+ }
+// FEATURE FOR UNC NEED!!!
+ return sSystemFile;
+ }
+
+ private static boolean m_bDebugTextShown = false;
+ public static boolean isDebugEnabled()
+ {
+ boolean bDebug = false;
+ String sTmpPath = util.utils.getUsersTempDir();
+ //util.utils.getUsersTempDir();
+ String fs = System.getProperty("file.separator");
+ String sName = sTmpPath + fs + "DOC_COMPARATOR_DEBUG";
+ File aFile = new File(sName);
+ if (aFile.exists())
+ {
+ if (m_bDebugTextShown == false)
+ {
+ GlobalLogWriter.println("Found file: " + sName);
+ GlobalLogWriter.println("Activate debug mode.");
+ GlobalLogWriter.println("If debug mode is no longer necessary, remove the above file.");
+ m_bDebugTextShown = true;
+ }
+ bDebug = true;
+ }
+ return bDebug;
+ }
+
+ private static void copyStream(InputStream _aIn, OutputStream _aOut) throws java.io.IOException
+ {
+ byte[] aBuffer = new byte[0xFFFF];
+ for (int len; (len = _aIn.read(aBuffer)) != -1; )
+ {
+ _aOut.write(aBuffer, 0, len);
+ }
+ }
+
+ public static void copy(String _sSource, String _sDestination)
+ {
+ FileInputStream aFIS = null;
+ FileOutputStream aFOS = null;
+
+ try
+ {
+ aFIS = new FileInputStream(_sSource);
+ aFOS = new FileOutputStream(_sDestination);
+ copyStream(aFIS, aFOS);
+ }
+ catch (java.io.IOException e)
+ {
+ System.out.println("Error: caught Exception: " + e.getMessage());
+ }
+ finally
+ {
+ if (aFIS != null)
+ {
+ try
+ {
+ aFIS.close();
+ }
+ catch (java.io.IOException e)
+ {
+ System.out.println("Error: caught Exception: " + e.getMessage());
+ }
+ }
+ if (aFOS != null)
+ {
+ try
+ {
+ aFOS.close();
+ }
+ catch (java.io.IOException e)
+ {
+ System.out.println("Error: caught Exception: " + e.getMessage());
+ }
+ }
+ }
+
+// try
+// {
+// File inputFile = new File(_sSource);
+// File outputFile = new File(_sDestination);
+//
+// java.io.FileReader in = new java.io.FileReader(inputFile);
+// java.io.FileWriter out = new java.io.FileWriter(outputFile);
+// int c;
+//
+// while ((c = in.read()) != -1)
+// {
+// out.write(c);
+// }
+//
+// in.close();
+// out.close();
+// }
+// catch (java.io.IOException e)
+// {
+// GlobalLogWriter.get().println("Exception caught. FileHelper.copy('" + _sSource + ", " + _sDestination + "')");
+// GlobalLogWriter.get().println("Message: " + e.getMessage());
+// }
+ }
+
+
+ /**
+ * Within the directory run through, it's possible to say which file extension types should not
+ * consider like '*.prn' because it's not a document.
+ *
+ * @return a FileFilter function
+ */
+ public static FileFilter getFileFilter()
+ {
+ FileFilter aFileFilter = new FileFilter()
+ {
+ public boolean accept( File pathname )
+ {
+ // leave out files which started by '~$' these are Microsoft Office temp files
+ if (pathname.getName().startsWith("~$"))
+ {
+ return false;
+ }
+ // leave out files starts with '.~lock.' these are OpenOffice.org lock files
+ if (pathname.getName().startsWith(".~lock."))
+ {
+ return false;
+ }
+ // leave out files ends with '#' these could be temp files
+ if (pathname.getName().endsWith("#"))
+ {
+ return false;
+ }
+ if (pathname.getName().endsWith(".prn"))
+ {
+ return false;
+ }
+ if (pathname.getName().endsWith(".ps"))
+ {
+ return false;
+ }
+ // This type of document no one would like to load.
+ if (pathname.getName().endsWith(".zip"))
+ {
+ return false;
+ }
+ // just a hack
+ if (pathname.getName().endsWith("_"))
+ {
+ return false;
+ }
+ return true;
+ }
+ };
+ return aFileFilter;
+ }
+ /**
+ * Within the directory run through, it's possible to say which file extension types should not
+ * consider like '*.prn' because it's not a document.
+ *
+ * @return a FileFilter function
+ */
+ public static FileFilter getFileFilterPSorPDF()
+ {
+ FileFilter aFileFilter = new FileFilter()
+ {
+ public boolean accept( File pathname )
+ {
+ if (pathname.getName().endsWith(".ps"))
+ {
+ return true;
+ }
+ if (pathname.getName().endsWith(".pdf"))
+ {
+ return true;
+ }
+ return false;
+ }
+ };
+ return aFileFilter;
+ }
+ /**
+ * Within the directory run through, it's possible to say which file extension types should not
+ * consider like '*.prn' because it's not a document.
+ *
+ * @return a FileFilter function
+ */
+ public static FileFilter getFileFilterJPEG()
+ {
+ FileFilter aFileFilter = new FileFilter()
+ {
+ public boolean accept( File pathname )
+ {
+ if (pathname.getName().toLowerCase().endsWith(".jpg"))
+ {
+ return true;
+ }
+ if (pathname.getName().toLowerCase().endsWith(".jpeg"))
+ {
+ return true;
+ }
+ return false;
+ }
+ };
+ return aFileFilter;
+ }
+ /**
+ * Within the directory run through, it's possible to say which file extension types should not
+ * consider like '*.ini' because it's not a document.
+ *
+ * @return a FileFilter function
+ */
+ public static FileFilter getFileFilterINI()
+ {
+ FileFilter aFileFilter = new FileFilter()
+ {
+ public boolean accept( File pathname )
+ {
+ String sPathname = pathname.getName().toLowerCase();
+ if (sPathname.endsWith("index.ini"))
+ {
+ // don't consider the index.ini file
+ return false;
+ }
+ if (sPathname.endsWith(".ini"))
+ {
+ return true;
+ }
+ return false;
+ }
+ };
+ return aFileFilter;
+ }
+
+ public static String appendPath(String _sPath, String _sRelativePathToAdd)
+ {
+ String sNewPath = _sPath;
+ String fs = System.getProperty("file.separator");
+ if (_sPath.startsWith("file:"))
+ {
+ fs = "/"; // we use a file URL so only '/' is allowed.
+ }
+ if (! (sNewPath.endsWith("/") || sNewPath.endsWith("\\") ) )
+ {
+ sNewPath += fs;
+ }
+ sNewPath += _sRelativePathToAdd;
+ return sNewPath;
+ }
+
+ // -----------------------------------------------------------------------------
+ public static void createInfoFile(String _sFile, ParameterHelper _aGTA)
+ {
+ createInfoFile(_sFile, _aGTA, "");
+ }
+
+ public static void createInfoFile(String _sFile, ParameterHelper _aGTA, String _sSpecial)
+ {
+ String sFilename;
+ if (_sFile.startsWith("file://"))
+ {
+ sFilename = FileHelper.getSystemPathFromFileURL(_sFile);
+ GlobalLogWriter.println("CreateInfoFile: '" + sFilename + "'" );
+ }
+ else
+ {
+ sFilename = _sFile;
+ }
+ String sFileDir = FileHelper.getPath(sFilename);
+ String sBasename = FileHelper.getBasename(sFilename);
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+
+ String sIniFile = FileHelper.appendPath(sFileDir, sBasename + ".ini");
+ IniFile aIniFile = new IniFile(sIniFile);
+
+ // OLD INFO FILE
+
+ // String fs = System.getProperty("file.separator");
+ String ls = System.getProperty("line.separator");
+ String sInfoFilename = FileHelper.appendPath(sFileDir, sNameNoSuffix + ".info");
+ File aInfoFile = new File(sInfoFilename);
+
+ String sBuildID = "";
+
+ try
+ {
+ FileOutputStream out2 = new FileOutputStream(aInfoFile.toString());
+ PrintStream out = new PrintStream(out2);
+
+ out.println("# automatically created file by graphical compare");
+ if (_aGTA != null)
+ {
+ if (_sSpecial != null && _sSpecial.equals("msoffice"))
+ {
+ out.println("# buildid from wordloadfile");
+ sBuildID = _aGTA.getPerformance().getMSOfficeVersion();
+ out.println("buildid=" + sBuildID);
+ }
+ else
+ {
+ out.println("# buildid is read out of the bootstrap file");
+ sBuildID = _aGTA.getBuildID();
+ out.println("buildid=" + sBuildID);
+ }
+ aIniFile.insertValue("global", "buildid", sBuildID);
+
+ // if (_sSpecial != null && _sSpecial.length() > 0)
+ // {
+ // out.write("special=" + _sSpecial + ls);
+ // }
+ out.println();
+ out.println("# resolution given in DPI");
+ out.println("resolution=" + _aGTA.getResolutionInDPI());
+ aIniFile.insertValue("global", "resolution", _aGTA.getResolutionInDPI());
+ }
+ else
+ {
+ out.println("buildid=" + _sSpecial);
+ aIniFile.insertValue("global", "buildid", _sSpecial);
+ }
+
+ // long nTime = stopTimer();
+ // if (nTime != 0)
+ // {
+ // out.write("# time is given in milli seconds" + ls);
+ // out.write("time=" + nTime + ls);
+ // }
+
+ out.println();
+ out.println("# Values out of System.getProperty(...)");
+ out.println("os.name=" + System.getProperty("os.name"));
+ out.println("os.arch=" + System.getProperty("os.arch"));
+ out.println("os.version=" + System.getProperty("os.version"));
+
+ aIniFile.insertValue("global", "os.name", System.getProperty("os.name"));
+ aIniFile.insertValue("global", "os.arch", System.getProperty("os.arch"));
+ aIniFile.insertValue("global", "os.version", System.getProperty("os.version"));
+
+ if (_aGTA != null)
+ {
+ out.println();
+ out.println("# Performance output, values are given in milli sec.");
+ _aGTA.getPerformance().print(out);
+ _aGTA.getPerformance().print(aIniFile, "global");
+ }
+
+ out.flush();
+ out.close();
+ out2.close();
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.println("can't create Info file.");
+ e.printStackTrace();
+ }
+ aIniFile.close();
+
+// String sExtension = FileHelper.getSuffix(_aGTA.getInputFile());
+// if (sExtension.startsWith("."))
+// {
+// sExtension = sExtension.substring(1);
+// }
+//
+// DB.writeToDB(_aGTA.getInputFile(),
+// sNameNoSuffix,
+// sExtension,
+// sBuildID,
+// _aGTA.getReferenceType(),
+// _aGTA.getResolutionInDPI()
+// );
+ }
+
+ public static void addBasenameToFile(String _sIndexFilename, String _sBasename, String _sCreator, String _sType, String _sSource)
+ {
+ // String sOutputDir = FileHelper.getPath(_sOutputFilename);
+ String sPath;
+ if (_sIndexFilename.startsWith("file:"))
+ {
+ sPath = FileHelper.getSystemPathFromFileURL(_sIndexFilename);
+ }
+ else
+ {
+ sPath = _sIndexFilename;
+ }
+ String sIndexFilename = sPath; // FileHelper.appendPath(sPath, _sFilename);
+ IniFile aIniFile = new IniFile(sIndexFilename);
+ aIniFile.insertValue(_sBasename, "creator", _sCreator);
+ aIniFile.insertValue(_sBasename, "type", _sType);
+ aIniFile.insertValue(_sBasename, "source", _sSource);
+ aIniFile.close();
+// File aFile = new File(sIndexFilename);
+// try
+// {
+// RandomAccessFile aRandomAccess = new RandomAccessFile(aFile, "rw");
+// // String sBasename = FileHelper.getBasename(_sOutputFilename);
+// aRandomAccess.seek(aRandomAccess.length()); // jump to the end.
+//// TODO: seems to be wrong, there exist no writeLine() with 'return' ending?
+// aRandomAccess.writeUTF(_sBasename);
+// aRandomAccess.close();
+// }
+// catch (java.io.FileNotFoundException e)
+// {
+// }
+// catch (java.io.IOException e)
+// {
+// }
+ }
+
+ public static void addBasenameToPostscript(String _sOutputFilename)
+ {
+ String sIndexFilename = FileHelper.appendPath(_sOutputFilename, "postscript.ini");
+ // String sPath = FileHelper.getPath(sIndexFilename);
+ String sBasename = FileHelper.getBasename(_sOutputFilename);
+ addBasenameToFile(sIndexFilename, sBasename, "", "", "");
+ }
+ public static void addBasenameToIndex(String _sOutputFilename, String _sBasename, String _sCreator, String _sType, String _sSource)
+ {
+ String sIndexFilename = FileHelper.appendPath(_sOutputFilename, "index.ini");
+ // String sPath = FileHelper.getPath(sIndexFilename);
+ // String sBasename = FileHelper.getBasename(_sOutputFilename);
+ addBasenameToFile(sIndexFilename, _sBasename, _sCreator, _sType, _sSource);
+ }
+
+}
+
diff --git a/qadevOOo/runner/graphical/GlobalLogWriter.java b/qadevOOo/runner/graphical/GlobalLogWriter.java
new file mode 100644
index 000000000000..478d3323abda
--- /dev/null
+++ b/qadevOOo/runner/graphical/GlobalLogWriter.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import share.LogWriter;
+import stats.SimpleLogWriter;
+
+public class GlobalLogWriter
+{
+ private static LogWriter m_aGlobalLogWriter = null;
+
+ /**
+ * This is just a helper to get clearer code.
+ * use this GlobalLogWriter.println(...)
+ * @param _sMsg
+ */
+ protected static synchronized void println(String _sMsg)
+ {
+ get().println(_sMsg);
+ }
+
+ /**
+ * @deprecated use GlobalLogWriter.println(...) direct
+ * @return
+ */
+ protected static synchronized LogWriter get()
+ {
+ if (m_aGlobalLogWriter == null)
+ {
+ SimpleLogWriter aLog = new SimpleLogWriter();
+ m_aGlobalLogWriter = aLog;
+ }
+ return m_aGlobalLogWriter;
+ }
+
+// public static synchronized void initialize()
+// {
+// get().initialize(null, true);
+// }
+
+ protected static synchronized void set(LogWriter _aLog)
+ {
+ m_aGlobalLogWriter = _aLog;
+ }
+
+}
+
diff --git a/qadevOOo/runner/graphical/GraphicalComparator.java b/qadevOOo/runner/graphical/GraphicalComparator.java
new file mode 100644
index 000000000000..c10bbff8b49e
--- /dev/null
+++ b/qadevOOo/runner/graphical/GraphicalComparator.java
@@ -0,0 +1,31 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package graphical;
+
+// import graphical.EnhancedComplexTestCase;
+
+/**
+ *
+ * @author ll93751
+ */
+public class GraphicalComparator extends EnhancedComplexTestCase
+{
+
+ // @Override
+ public String[] getTestMethodNames() {
+ return new String[]{"check"};
+ }
+
+ public void check()
+ {
+ }
+
+ public void checkOneFile(String _sDocument, String _sResult, ParameterHelper _aParams) throws OfficeException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+}
+
diff --git a/qadevOOo/runner/graphical/HTMLResult.java b/qadevOOo/runner/graphical/HTMLResult.java
new file mode 100644
index 000000000000..af2a31a308ea
--- /dev/null
+++ b/qadevOOo/runner/graphical/HTMLResult.java
@@ -0,0 +1,212 @@
+/*
+ ************************************************************************
+ *
+ * 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 graphical;
+
+import java.io.File;
+import java.io.FileWriter;
+// import util.utils;
+// import helper.OSHelper;
+
+public class HTMLResult
+{
+ private FileWriter m_aOut;
+ // private String m_sFilename;
+ // private String m_sNamePrefix; // the HTML files used a suffix to build it's right name
+
+ /**
+ * ls is the current line separator (carridge return)
+ */
+ private String ls;
+
+ public HTMLResult( String _sOutputPath, String _sHTMLFilename )
+ {
+ FileHelper.makeDirectories("", _sOutputPath);
+ // HTMLResult a = new HTMLResult();
+ String sFilename = FileHelper.appendPath(_sOutputPath, _sHTMLFilename);
+
+ try
+ {
+ File outputFile = new File(sFilename);
+ m_aOut = new FileWriter(outputFile.toString());
+ ls = System.getProperty("line.separator");
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ GlobalLogWriter.println("ERROR: Can't create HTML Outputter");
+ // return null;
+ }
+ // m_sFilename = sFilename;
+ // a.m_sNamePrefix = _sNamePrefix;
+ // return a;
+ }
+
+ // public String getFilename() {return m_sFilename;}
+
+ private void writeln(String _sStr)
+ {
+ try
+ {
+ m_aOut.write( _sStr );
+ m_aOut.write ( ls );
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+ private void flush()
+ {
+ try
+ {
+ m_aOut.flush();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+
+ /**
+ * create the HTML header
+ * @param _sTitle
+ */
+ public void header(String _sTitle)
+ {
+ writeln( "<HTML>");
+ writeln( "<HEAD>" );
+ writeln( "<TITLE>" + _sTitle + "</TITLE>");
+ writeln( "<LINK rel=\"stylesheet\" type=\"text/css\" href=\"/gfxcmp_ui/xmloff.css\" media=\"screen\" />");
+ writeln( "<LINK rel=\"stylesheet\" type=\"text/css\" href=\"/gfxcmp_ui/style.css\" media=\"screen\" />");
+ writeln( "</HEAD>");
+ writeln( "<BODY bgcolor=white>");
+ flush();
+ }
+
+ final static String TEST_TABLETITLE = "Document";
+ final static String VISUAL_STATUS_TABLETITLE = "Visual status";
+ final static String VISUAL_STATUS_MESSAGE_TABLETITLE = "Message";
+ final static String FIRSTGFX_TABLETITLE = "Original print file as jpeg";
+
+ public void indexSection(String _sOfficeInfo)
+ {
+ writeln( "<H2>Results for " + _sOfficeInfo + "</H2>");
+ writeln( "<P>This result was created at: " + DateHelper.getDateTimeForHumanreadableLog());
+ writeln( "<P>Legend:<BR>");
+ writeln( stronghtml(FIRSTGFX_TABLETITLE) + " contains the output printed via 'ghostscript' as a jpeg picture.<BR>");
+
+ writeln( "<TABLE class=\"infotable\">");
+ writeln( "<TR>");
+ writeln( tableHeaderCell(TEST_TABLETITLE));
+ writeln( tableHeaderCell(""));
+ writeln( tableHeaderCell(VISUAL_STATUS_TABLETITLE));
+ writeln( tableHeaderCell(VISUAL_STATUS_MESSAGE_TABLETITLE));
+ writeln( "</TR>");
+ flush();
+ }
+/**
+ * Returns the given _sHREF & _sPathInfo as a HTML String
+ * <A HREF="_sHREF">_sPathInfo</A>
+ * @param _sHREF
+ * @param _sPathInfo
+ * @return
+ */
+ private String getHREF(String _sHREF, String _sPathInfo)
+ {
+ StringBuffer a = new StringBuffer();
+ a.append("<A HREF=\"");
+ a.append(_sHREF);
+ a.append("\">");
+ a.append(_sPathInfo);
+ a.append("</A>");
+ return a.toString();
+ }
+
+ /**
+ * Returns the given _sValue as a HTML Table cell with _sValue as content
+ * @param _sValue
+ * @return
+ */
+ private String tableDataCell(String _sValue)
+ {
+ StringBuffer a = new StringBuffer();
+ a.append("<TD>");
+ a.append(_sValue);
+ a.append("</TD>");
+ return a.toString();
+ }
+
+ /**
+ * Returns the given _sValue as a HTML Table header cell with _sValue as content
+ * @param _sValue
+ * @return
+ */
+ private String tableHeaderCell(String _sValue)
+ {
+ StringBuffer a = new StringBuffer();
+ a.append("<TH>");
+ a.append(_sValue);
+ a.append("</TH>");
+ return a.toString();
+ }
+
+ public void indexLine(String _sHTMLFile, String _sHTMLName, String _sStatusRunThrough, String _sStatusMessage)
+ {
+ writeln( "<TR>");
+ writeln(tableDataCell( getHREF(_sHTMLFile, _sHTMLName) ) );
+ writeln(tableDataCell( "" ) );
+ writeln( tableDataCell(_sStatusRunThrough) );
+ writeln( tableDataCell(_sStatusMessage) );
+ writeln( "</TR>");
+ flush();
+ }
+
+ public void close()
+ {
+ writeln( "</TABLE>");
+ writeln( "</BODY></HTML>");
+ try
+ {
+ m_aOut.close();
+ }
+ catch (java.io.IOException e)
+ {
+ }
+ }
+
+// -----------------------------------------------------------------------------
+ private String stronghtml(String _sValue)
+ {
+ StringBuffer a = new StringBuffer();
+ a.append("<STRONG>");
+ a.append(_sValue);
+ a.append("</STRONG>");
+ return a.toString();
+ }
+
+}
diff --git a/qadevOOo/runner/graphical/IDocument.java b/qadevOOo/runner/graphical/IDocument.java
new file mode 100644
index 000000000000..e23ddd4b91a1
--- /dev/null
+++ b/qadevOOo/runner/graphical/IDocument.java
@@ -0,0 +1,46 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+/**
+ *
+ * @author ll93751
+ */
+public interface IDocument
+{
+ /**
+ * Call this for each document
+ * @param _sDocument
+ * @param _sResult
+ * @param _aParams
+ * @throws OfficeException
+ */
+ public void checkOneFile(String _sDocument, String _sResult, ParameterHelper _aParams) throws OfficeException;
+}
diff --git a/qadevOOo/runner/graphical/IOffice.java b/qadevOOo/runner/graphical/IOffice.java
new file mode 100644
index 000000000000..ec1dc3b7371f
--- /dev/null
+++ b/qadevOOo/runner/graphical/IOffice.java
@@ -0,0 +1,63 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+/**
+ *
+ * @author ll93751
+ */
+public interface IOffice
+{
+ /**
+ * start an Office, if need
+ * @throws graphical.OfficeException
+ */
+ public void start() throws OfficeException;
+
+ /**
+ * Load a document by it's Name
+ * @param Name
+ * @throws graphical.OfficeException
+ */
+ public void load(String Name) throws OfficeException;
+
+ /**
+ * Create a postscript file in the DOC_COMPARATOR_OUTPUT_DIR directory from a loaded document
+ * @throws graphical.OfficeException
+ */
+ public void storeAsPostscript() throws OfficeException;
+
+
+ /**
+ * Close the background office
+ * @throws graphical.OfficeException
+ */
+ public void close() throws OfficeException;
+}
diff --git a/qadevOOo/runner/graphical/ImageHelper.java b/qadevOOo/runner/graphical/ImageHelper.java
new file mode 100644
index 000000000000..e016e08f0df1
--- /dev/null
+++ b/qadevOOo/runner/graphical/ImageHelper.java
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import java.awt.Image;
+import java.awt.image.PixelGrabber;
+import java.awt.image.ImageObserver;
+import java.io.File;
+//import javax.imageio.ImageIO;
+import java.lang.reflect.Method;
+
+class ImageHelper
+{
+ Image m_aImage;
+ int[] m_aPixels;
+ int m_w = 0;
+ int m_h = 0;
+ boolean m_bGrabbed = false;
+
+ private ImageHelper(Image _aImage)
+ {
+ m_aImage = _aImage;
+
+ // grab all (consume much memory)
+ m_w = getWidth();
+ m_h = getHeight();
+ int x = 0;
+ int y = 0;
+ m_aPixels = new int[m_w * m_h];
+ PixelGrabber pg = new PixelGrabber(m_aImage, x, y, m_w, m_h, m_aPixels, 0, m_w);
+ try
+ {
+ pg.grabPixels();
+ }
+ catch (InterruptedException e)
+ {
+ System.err.println("interrupted waiting for pixels!");
+ return;
+ }
+ if ((pg.getStatus() & ImageObserver.ABORT) != 0)
+ {
+ System.err.println("image fetch aborted or errored");
+ return;
+ }
+ m_bGrabbed = true;
+ }
+ public int getWidth() {return m_aImage.getWidth(null);}
+ public int getHeight() {return m_aImage.getHeight(null);}
+ // direct access to a pixel
+ public int getPixel(final int x, final int y)
+ {
+ return m_aPixels[y * m_w + x];
+ }
+
+ // Write down the current image to a file.
+ // public void storeImage(String _sFilename)
+ // {
+ // }
+
+ public static ImageHelper createImageHelper(String _sFilename)
+ throws java.io.IOException
+ {
+ Image aImage = null;
+ File aFile = new File(_sFilename);
+ Exception ex = null;
+ try {
+ Class imageIOClass = Class.forName("javax.imageio.ImageIO");
+ Method readMethod = imageIOClass.getDeclaredMethod("read", new Class[]{java.io.File.class});
+ Object retValue = readMethod.invoke(imageIOClass, new Object[]{aFile});
+ aImage = (Image)retValue;
+ }
+ catch(java.lang.ClassNotFoundException e) {
+ ex = e;
+ }
+ catch(java.lang.NoSuchMethodException e) {
+ ex = e;
+ }
+ catch(java.lang.IllegalAccessException e) {
+ ex = e;
+ }
+ catch(java.lang.reflect.InvocationTargetException e) {
+ ex = e;
+ }
+
+ if (ex != null) {
+ // get Java version:
+ String javaVersion = System.getProperty("java.version");
+ throw new java.io.IOException(
+ "Cannot construct object with current Java version " +
+ javaVersion + ": " + ex.getMessage());
+ }
+// aImage = ImageIO.read(aFile);
+ return new ImageHelper(aImage);
+ }
+}
diff --git a/qadevOOo/runner/graphical/IniFile.java b/qadevOOo/runner/graphical/IniFile.java
new file mode 100644
index 000000000000..bd54a66b65fd
--- /dev/null
+++ b/qadevOOo/runner/graphical/IniFile.java
@@ -0,0 +1,693 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+// import java.io.BufferedReader;
+import java.io.File;
+import java.io.RandomAccessFile;
+import java.util.ArrayList;
+import java.util.Enumeration;
+
+/**
+ Helper class to give a simple API to read/write windows like ini files
+*/
+/* public */ // is only need, if we need this class outside package convwatch
+public class IniFile implements Enumeration
+{
+
+ /**
+ * internal representation of the ini file content.
+ * Problem, if ini file changed why other write something difference, we don't realise this.
+ */
+ private String m_sFilename;
+ private ArrayList<String> m_aList;
+ boolean m_bListContainUnsavedChanges = false;
+ private int m_aEnumerationPos = 0;
+
+ /**
+ open a ini file by it's name
+ @param _sFilename string a filename, if the file doesn't exist, a new empty ini file will create.
+ write back to disk only if there are really changes.
+ */
+ public IniFile(String _sFilename)
+ {
+ m_sFilename = _sFilename;
+ m_aList = loadLines();
+ m_aEnumerationPos = findNextSection(0);
+// if (_sFilename.endsWith(".odb.ps.ini"))
+// {
+// int dummy = 0;
+// }
+ }
+
+ public void insertFirstComment(String[] _aList)
+ {
+ if (m_aList.size() == 0)
+ {
+ // can only insert if there is nothing else already in the ini file
+ for (int i = 0; i < _aList.length; i++)
+ {
+ m_aList.add(_aList[i]);
+ }
+ }
+ }
+
+ private ArrayList<String> loadLines()
+ {
+ File aFile = new File(m_sFilename);
+ ArrayList<String> aLines = new ArrayList<String>();
+ if (!aFile.exists())
+ {
+ // GlobalLogWriter.println("couldn't find file '" + m_sFilename + "', will be created.");
+ // DebugHelper.exception(BasicErrorCode.SbERR_FILE_NOT_FOUND, "");
+ // m_bListContainUnsavedChanges = false;
+ return aLines;
+ }
+ RandomAccessFile aReader = null;
+ // BufferedReader aReader;
+ try
+ {
+ aReader = new RandomAccessFile(aFile, "r");
+ String aLine = "";
+ while (aLine != null)
+ {
+ aLine = aReader.readLine();
+ if (aLine != null && aLine.length() > 0)
+ {
+ aLines.add(aLine);
+ }
+ }
+ }
+ catch (java.io.FileNotFoundException fne)
+ {
+ GlobalLogWriter.println("couldn't open file " + m_sFilename);
+ GlobalLogWriter.println("Message: " + fne.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_FILE_NOT_FOUND, "");
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.println("Exception occurs while reading from file " + m_sFilename);
+ GlobalLogWriter.println("Message: " + ie.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, ie.getMessage());
+ }
+ try
+ {
+ aReader.close();
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.println("Couldn't close file " + m_sFilename);
+ GlobalLogWriter.println("Message: " + ie.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, ie.getMessage());
+ }
+ return aLines;
+ }
+
+ /**
+ * @return true, if the ini file contain some readable data
+ */
+ public boolean is()
+ {
+ return m_aList.size() > 1 ? true : false;
+ }
+
+ /**
+ * Check if a given Section and Key exists in the ini file
+ * @param _sSectionName
+ * @param _sKey
+ * @return true if the given Section, Key exists, now you can get the value
+ */
+ public boolean hasValue(String _sSectionName, String _sKey)
+ {
+ int n = findKey(_sSectionName, _sKey);
+ if (n > 0)
+ {
+ return true;
+ }
+ return false;
+ }
+ // -----------------------------------------------------------------------------
+
+ private boolean isRemark(String _sLine)
+ {
+ if (((_sLine.length() < 2)) ||
+ (_sLine.startsWith("#")) ||
+ (_sLine.startsWith(";")))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ private String getItem(int i)
+ {
+ return m_aList.get(i);
+ }
+
+ private String buildSectionName(String _sSectionName)
+ {
+ String sFindSection = "[" + _sSectionName + "]";
+ return sFindSection;
+ }
+
+ private String sectionToString(String _sSectionName)
+ {
+ String sKeyName = _sSectionName;
+ if (sKeyName.startsWith("[") &&
+ sKeyName.endsWith("]"))
+ {
+ sKeyName = sKeyName.substring(1, sKeyName.length() - 1);
+ }
+ return sKeyName;
+ }
+
+ private String toLowerIfNeed(String _sName)
+ {
+ return _sName.toLowerCase();
+ }
+
+ // return the number where this section starts
+ private int findSection(String _sSection)
+ {
+ String sFindSection = toLowerIfNeed(buildSectionName(_sSection));
+ // ----------- find _sSection ---------------
+ int i;
+ for (i = 0; i < m_aList.size(); i++)
+ {
+ String sLine = toLowerIfNeed(getItem(i).trim());
+ if (isRemark(sLine))
+ {
+ continue;
+ }
+ if (sFindSection.equals("[]"))
+ {
+ // special case, empty Section.
+ return i - 1;
+ }
+ if (sLine.startsWith(sFindSection))
+ {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * Checks if a given section exists in the ini file
+ * @param _sSection
+ * @return true if the given _sSection was found
+ */
+ public boolean hasSection(String _sSection)
+ {
+ int i = findSection(_sSection);
+ if (i == -1)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ // return the line number, where the key is found.
+ private int findKey(String _sSection, String _sKey)
+ {
+ int i = findSection(_sSection);
+ if (i == -1)
+ {
+ // Section not found, therefore the value can't exist
+ return -1;
+ }
+ return findKeyFromKnownSection(i, _sKey);
+ }
+
+ // i must be the index in the list, where the well known section starts
+ private int findKeyFromKnownSection(int _nSectionIndex, String _sKey)
+ {
+ _sKey = toLowerIfNeed(_sKey);
+ for (int j = _nSectionIndex + 1; j < m_aList.size(); j++)
+ {
+ String sLine = getItem(j).trim();
+
+ if (isRemark(sLine))
+ {
+ continue;
+ }
+ if (sLine.startsWith("[") /* && sLine.endsWith("]") */)
+ {
+ // TODO: due to the fact we would like to insert an empty line before new sections
+ // TODO: we should check if we are in an empty line and if, go back one line.
+
+ // found end.
+ break;
+ }
+
+ int nEqual = sLine.indexOf("=");
+ if (nEqual >= 0)
+ {
+ String sKey = toLowerIfNeed(sLine.substring(0, nEqual).trim());
+ if (sKey.equals(_sKey))
+ {
+ return j;
+ }
+ }
+ }
+ return -1;
+ }
+
+ // i must be the index in the list, where the well known section starts
+ private int findLastKnownKeyIndex(int _nSectionIndex, String _sKey)
+ {
+ _sKey = toLowerIfNeed(_sKey);
+ int i = _nSectionIndex + 1;
+ for (int j = i; j < m_aList.size(); j++)
+ {
+ String sLine = getItem(j).trim();
+
+ if (isRemark(sLine))
+ {
+ continue;
+ }
+
+ if (sLine.startsWith("[") /* && sLine.endsWith("]") */)
+ {
+ // found end.
+ return j;
+ }
+
+ int nEqual = sLine.indexOf("=");
+ if (nEqual >= 0)
+ {
+ String sKey = toLowerIfNeed(sLine.substring(0, nEqual).trim());
+ if (sKey.equals(_sKey))
+ {
+ return j;
+ }
+ }
+ }
+ return i;
+ }
+
+ private String getValue(int _nIndex)
+ {
+ String sLine = getItem(_nIndex).trim();
+ if (isRemark(sLine))
+ {
+ return "";
+ }
+ int nEqual = sLine.indexOf("=");
+ if (nEqual >= 0)
+ {
+ String sKey = sLine.substring(0, nEqual).trim();
+ String sValue = sLine.substring(nEqual + 1).trim();
+ return sValue;
+ }
+ return "";
+ }
+
+ /**
+ @param _sSection string
+ @param _sKey string
+ @return the value found in the inifile which is given by the section and key parameter
+ */
+ // private int m_nCurrentPosition;
+ // private String m_sOldKey;
+ public String getValue(String _sSection, String _sKey)
+ {
+ String sValue = "";
+ int m_nCurrentPosition = findKey(_sSection, _sKey);
+ if (m_nCurrentPosition == -1)
+ {
+ // Section not found, therefore the value can't exist
+ return "";
+ }
+
+ // m_sOldKey = _sKey;
+ sValue = getValue(m_nCurrentPosition);
+
+ return sValue;
+ }
+
+// private String getNextValue()
+// {
+// if (m_nCurrentPosition >= 0)
+// {
+// ++m_nCurrentPosition;
+// String sValue = getValue(m_nCurrentPosition);
+// return sValue;
+// }
+// return "";
+// }
+ /**
+ * Returns the value at Section, Key converted to an integer
+ * Check with hasValue(Section, Key) to check before you get into trouble.
+ * @param _sSection
+ * @param _sKey
+ * @param _nDefault if there is a problem, key not found... this value will return
+ * @return
+ */
+ public int getIntValue(String _sSection, String _sKey, int _nDefault)
+ {
+ String sValue = getValue(_sSection, _sKey);
+ int nValue = _nDefault;
+ if (sValue.length() > 0)
+ {
+ try
+ {
+ nValue = Integer.valueOf(sValue).intValue();
+ }
+ catch (java.lang.NumberFormatException e)
+ {
+ GlobalLogWriter.println("IniFile.getIntValue(): Caught a number format exception, return the default value.");
+ }
+ }
+ return nValue;
+ }
+
+ public void close()
+ {
+ store();
+ }
+
+ /**
+ write back the ini file to the disk, only if there exist changes
+ * @deprecated use close() instead!
+ */
+
+ // TODO: make private
+ public void store()
+ {
+ if (m_bListContainUnsavedChanges == false)
+ {
+ // nothing has changed, so no need to store
+ return;
+ }
+
+ File aFile = new File(m_sFilename);
+ if (aFile.exists())
+ {
+ // System.out.println("couldn't find file " + m_sFilename);
+ // TODO: little bit unsafe here, first rename, after write is complete, delete the old.
+ aFile.delete();
+ if (aFile.exists())
+ {
+ GlobalLogWriter.println("Couldn't delete the file " + m_sFilename);
+ return;
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, "Couldn't delete the file " + m_sFilename);
+ }
+ }
+ // if (! aFile.canWrite())
+ // {
+ // System.out.println("Couldn't write to file " + m_sFilename);
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, "");
+ // }
+ try
+ {
+ RandomAccessFile aWriter = new RandomAccessFile(aFile, "rw");
+ for (int i = 0; i < m_aList.size(); i++)
+ {
+ String sLine = getItem(i);
+ if (sLine.startsWith("["))
+ {
+ // write an extra empty line before next section.
+ aWriter.writeByte((int) '\n');
+ }
+ aWriter.writeBytes(sLine);
+ aWriter.writeByte((int) '\n');
+ }
+ aWriter.close();
+ }
+ catch (java.io.FileNotFoundException fne)
+ {
+ GlobalLogWriter.println("couldn't open file for writing " + m_sFilename);
+ GlobalLogWriter.println("Message: " + fne.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_FILE_NOT_FOUND, "");
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.println("Exception occurs while writing to file " + m_sFilename);
+ GlobalLogWriter.println("Message: " + ie.getMessage());
+ // DebugHelper.exception(BasicErrorCode.SbERR_INTERNAL_ERROR, ie.getMessage());
+ }
+ }
+
+ public void insertValue(String _sSection, String _sKey, int _nValue)
+ {
+ insertValue(_sSection, _sKey, String.valueOf(_nValue));
+ }
+
+ public void insertValue(String _sSection, String _sKey, long _nValue)
+ {
+ insertValue(_sSection, _sKey, String.valueOf(_nValue));
+ }
+
+ /**
+ insert a value
+ there are 3 cases
+ 1. section doesn't exist, goto end and insert a new section, insert a new key value pair
+ 2. section exist but key not, search section, search key, if key is -1 get last known key position and insert new key value pair there
+ 3. section exist and key exist, remove the old key and insert the key value pair at the same position
+ * @param _sSection
+ * @param _sKey
+ * @param _sValue
+ */
+ public void insertValue(String _sSection, String _sKey, String _sValue)
+ {
+ int i = findSection(_sSection);
+ if (i == -1)
+ {
+ // case 1: section doesn't exist
+ String sFindSection = buildSectionName(_sSection);
+
+ // TODO: before create a new Section, insert a empty line
+ m_aList.add(sFindSection);
+ if (_sKey.length() > 0)
+ {
+ String sKeyValuePair = _sKey + "=" + _sValue;
+ m_aList.add(sKeyValuePair);
+ }
+ m_bListContainUnsavedChanges = true;
+ return;
+ }
+ int j = findKeyFromKnownSection(i, _sKey);
+ if (j == -1)
+ {
+ // case 2: section exist, but not the key
+ j = findLastKnownKeyIndex(i, _sKey);
+ if (_sKey.length() > 0)
+ {
+ String sKeyValuePair = _sKey + "=" + _sValue;
+ m_aList.add(j, sKeyValuePair);
+ m_bListContainUnsavedChanges = true;
+ }
+ return;
+ }
+ else
+ {
+ // case 3: section exist, and also the key
+ String sKeyValuePair = _sKey + "=" + _sValue;
+ m_aList.set(j, sKeyValuePair);
+ m_bListContainUnsavedChanges = true;
+ }
+ }
+ // -----------------------------------------------------------------------------
+ // String replaceEvaluatedValue(String _sSection, String _sValue)
+ // {
+ // String sValue = _sValue;
+ // int nIndex = 0;
+ // while (( nIndex = sValue.indexOf("$(", nIndex)) >= 0)
+ // {
+ // int nNextIndex = sValue.indexOf(")", nIndex);
+ // if (nNextIndex >= 0)
+ // {
+ // String sKey = sValue.substring(nIndex + 2, nNextIndex);
+ // String sNewValue = getValue(_sSection, sKey);
+ // if (sNewValue != null && sNewValue.length() > 0)
+ // {
+ // String sRegexpKey = "\\$\\(" + sKey + "\\)";
+ // sValue = sValue.replaceAll(sRegexpKey, sNewValue);
+ // }
+ // nIndex = nNextIndex;
+ // }
+ // else
+ // {
+ // nIndex += 2;
+ // }
+ // }
+ // return sValue;
+ // }
+ // -----------------------------------------------------------------------------
+
+ // public String getLocalEvaluatedValue(String _sSection, String _sKey)
+ // {
+ // String sValue = getValue(_sSection, _sKey);
+ // sValue = replaceEvaluatedValue(_sSection, sValue);
+ // return sValue;
+ // }
+
+ // -----------------------------------------------------------------------------
+
+ // this is a special behaviour.
+ // public String getGlobalLocalEvaluatedValue(String _sSection, String _sKey)
+ // {
+ // String sGlobalValue = getKey("global", _sKey);
+ // String sLocalValue = getKey(_sSection, _sKey);
+ // if (sLocalValue.length() == 0)
+ // {
+ // sGlobalValue = replaceEvaluatedKey(_sSection, sGlobalValue);
+ // sGlobalValue = replaceEvaluatedKey("global", sGlobalValue);
+ // return sGlobalValue;
+ // }
+ // sLocalValue = replaceEvaluatedKey(_sSection, sLocalValue);
+ // sLocalValue = replaceEvaluatedKey("global", sLocalValue);
+ //
+ // return sLocalValue;
+ // }
+ public void removeSection(String _sSectionToRemove)
+ {
+ // first, search for the name
+ int i = findSection(_sSectionToRemove);
+ if (i == -1)
+ {
+ // Section to remove not found, do nothing.
+ return;
+ }
+ // second, find the next section
+ int j = findNextSection(i + 1);
+ if (j == -1)
+ {
+ // if we are at the end, use size() as second section
+ j = m_aList.size();
+ }
+ // remove all between first and second section
+ for (int k = i; k < j; k++)
+ {
+ m_aList.remove(i);
+ }
+ // mark the list as changed
+ m_bListContainUnsavedChanges = true;
+ }
+
+ /**
+ * some tests for this class
+ */
+// public static void main(String[] args)
+// {
+// String sTempFile = System.getProperty("java.io.tmpdir");
+// sTempFile += "inifile";
+//
+//
+// IniFile aIniFile = new IniFile(sTempFile);
+// String sValue = aIniFile.getValue("Section", "Key");
+// // insert a new value to a already exist section
+// aIniFile.insertValue("Section", "Key2", "a new value in a existing section");
+// // replace a value
+// aIniFile.insertValue("Section", "Key", "replaced value");
+// // create a new value
+// aIniFile.insertValue("New Section", "Key", "a new key value pair");
+// aIniFile.insertValue("New Section", "Key2", "a new second key value pair");
+//
+// String sValue2 = aIniFile.getValue("Section2", "Key");
+//
+// aIniFile.removeSection("Section");
+// aIniFile.removeSection("New Section");
+//
+// aIniFile.close();
+// }
+
+ /**
+ * Enumeration Interface
+ * @return true, if there are more Key values
+ */
+ public boolean hasMoreElements()
+ {
+ if (m_aEnumerationPos >= 0 &&
+ m_aEnumerationPos < m_aList.size())
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Find the next line, which starts with '['
+ * @param i start position
+ * @return the line where '[' found or -1
+ */
+ private int findNextSection(int i)
+ {
+ if (i >= 0)
+ {
+ while (i < m_aList.size())
+ {
+ String sLine = m_aList.get(i);
+ if (sLine.startsWith("["))
+ {
+ return i;
+ }
+ i++;
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * Enumeration Interface
+ * @return a key without the enveloped '[' ']'
+ */
+ public Object nextElement()
+ {
+ int nLineWithSection = findNextSection(m_aEnumerationPos);
+ if (nLineWithSection != -1)
+ {
+ String sSection = m_aList.get(nLineWithSection);
+ m_aEnumerationPos = findNextSection(nLineWithSection + 1);
+ sSection = sectionToString(sSection);
+ return sSection;
+ }
+ else
+ {
+ m_aEnumerationPos = m_aList.size();
+ }
+ return null;
+ }
+
+ /**
+ * Helper to count the occurence of Sections
+ * @return returns the count of '^['.*']$' Elements
+ */
+ public int getElementCount()
+ {
+ int nCount = 0;
+ int nPosition = 0;
+ while ((nPosition = findNextSection(nPosition)) != -1)
+ {
+ nCount++;
+ nPosition++;
+ }
+ return nCount;
+ }
+}
+
diff --git a/qadevOOo/runner/graphical/JPEGComparator.java b/qadevOOo/runner/graphical/JPEGComparator.java
new file mode 100644
index 000000000000..a643b2b333c3
--- /dev/null
+++ b/qadevOOo/runner/graphical/JPEGComparator.java
@@ -0,0 +1,816 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+import helper.OSHelper;
+import helper.ProcessHandler;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Helper class to interpret a jpg filename
+ */
+class NameDPIPage
+{
+
+ String Name;
+ int DPI;
+ int Page;
+
+ private NameDPIPage(String _sName, int _nDPI, int _nPage)
+ {
+ Name = _sName;
+ DPI = _nDPI;
+ Page = _nPage;
+ }
+
+ public static NameDPIPage interpret(String _sFilename)
+ {
+ String sBasename = FileHelper.getBasename(_sFilename); // if exist a path, remove it
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename); // remove extension (.jpg)
+
+ // check if there exist a 'DPI_' at specific position
+ String sDPICheck = sNameNoSuffix.substring(sNameNoSuffix.length() - 8, sNameNoSuffix.length() - 4);
+ String sName;
+ int nDPI = -1;
+ int nPage = -1;
+ if (sDPICheck.equals("DPI_"))
+ {
+ // seems to be a generated filename by us.
+ int nDPIStart = sNameNoSuffix.lastIndexOf("_", sNameNoSuffix.length() - 8);
+ sName = sNameNoSuffix.substring(0, nDPIStart);
+ if (nDPIStart > 0)
+ {
+ String sDPI = sNameNoSuffix.substring(nDPIStart + 1, sNameNoSuffix.length() - 8);
+ try
+ {
+ nDPI = Integer.valueOf(sDPI).intValue();
+ }
+ catch (java.lang.NumberFormatException e)
+ {
+ GlobalLogWriter.println("DPI: Number format exception");
+ }
+ String sPage = sNameNoSuffix.substring(sNameNoSuffix.length() - 4);
+ try
+ {
+ nPage = Integer.valueOf(sPage).intValue();
+ }
+ catch (java.lang.NumberFormatException e)
+ {
+ GlobalLogWriter.println("Page: Number format exception");
+ }
+ }
+ }
+ else
+ {
+ sName = sNameNoSuffix;
+ }
+
+ return new NameDPIPage(sName, nDPI, nPage);
+ }
+}
+
+class CountNotXXXPixelsFromImage extends Thread
+{
+
+ private String m_sFilename;
+ protected int m_nValue;
+
+ CountNotXXXPixelsFromImage(String _sFilename)
+ {
+ m_sFilename = _sFilename;
+ }
+
+ public int getValue()
+ {
+ return m_nValue;
+ }
+
+ protected void setValue(int _nValue)
+ {
+ m_nValue = _nValue;
+ }
+
+ protected String getFilename()
+ {
+ return m_sFilename;
+ }
+}
+
+class CountNotWhitePixelsFromImage extends CountNotXXXPixelsFromImage
+{
+
+ CountNotWhitePixelsFromImage(String _sFilename)
+ {
+ super(_sFilename);
+ }
+
+ public void run()
+ {
+ try
+ {
+ final int nNotWhiteCount = PixelCounter.countNotWhitePixelsFromImage(getFilename());
+ setValue(nNotWhiteCount);
+ }
+ catch (java.io.IOException e)
+ {
+ m_nValue = -1;
+ }
+ }
+}
+
+class CountNotBlackPixelsFromImage extends CountNotXXXPixelsFromImage
+{
+
+ CountNotBlackPixelsFromImage(String _sFilename)
+ {
+ super(_sFilename);
+ }
+
+ public void run()
+ {
+ try
+ {
+ final int nNotBlackCount = PixelCounter.countNotBlackPixelsFromImage(getFilename());
+ setValue(nNotBlackCount);
+ }
+ catch (java.io.IOException e)
+ {
+ m_nValue = -1;
+ }
+ }
+}
+
+/**
+ *
+ * @author ll93751
+ */
+public class JPEGComparator extends EnhancedComplexTestCase
+{
+ // @Override
+
+ public String[] getTestMethodNames()
+ {
+ return new String[]{"CompareJPEGvsJPEG"};
+ }
+ private Tolerance m_aTolerance;
+
+ /**
+ * test function.
+ */
+ public void CompareJPEGvsJPEG()
+ {
+ GlobalLogWriter.set(log);
+ ParameterHelper aParam = new ParameterHelper(param);
+
+ // run through all documents found in Inputpath
+ foreachJPEGcompareWithJPEG(aParam);
+ }
+
+ public void checkOneFile(String _sDocumentName, String _sResult, ParameterHelper _aParams) throws OfficeException
+ {
+ // private void callEveryPictureInIniFile(IniFile _aIniFile, String _sSectionName, ParameterHelper _aParam)
+ // {
+ String sPath = FileHelper.getPath(_sDocumentName);
+ String sSectionName = FileHelper.getBasename(_sDocumentName);
+
+ // take the build id out of the ini file in the reference file and put it into the current parameter helper
+ String sIniFileForRefBuildID = FileHelper.appendPath(sPath, sSectionName + ".ini");
+ IniFile aIniFileForRefBuildID = new IniFile(sIniFileForRefBuildID);
+ String sRefBuildID = aIniFileForRefBuildID.getValue("global", "buildid");
+ aIniFileForRefBuildID.close();
+
+ _aParams.getTestParameters().put("RefBuildId", sRefBuildID);
+
+ String sIniFile = FileHelper.appendPath(sPath, "index.ini");
+ IniFile aIniFile = new IniFile(sIniFile);
+ if (aIniFile.hasValue(sSectionName, "pages"))
+ {
+ // only which has 'pages' has also pictures
+ int nPages = aIniFile.getIntValue(sSectionName, "pages", 0);
+ String sJPEGSchema = aIniFile.getValue(sSectionName, "jpegschema");
+ int nTolerance = aIniFile.getIntValue(sSectionName, "tolerance", 0);
+ m_aTolerance = new Tolerance(nTolerance);
+ for (int i = 1; i <= nPages; i++)
+ {
+ String sJPEGFilename = JPEGCreator.getFilenameForJPEGSchema(sJPEGSchema, i);
+ // String sPath = FileHelper.getPath(_aParam.getInputPath());
+ String sJPEGPath = FileHelper.getPath(sJPEGFilename);
+ if (!sPath.equals(sJPEGPath))
+ {
+ GlobalLogWriter.println("Path where to find the index and where to file the JPEG pictures are not the same.");
+
+ }
+ // String sEntry = FileHelper.appendPath(sPath, sSection);
+ File aFile = new File(sJPEGFilename);
+ assure("File '" + sJPEGFilename + "' doesn't exists.", aFile.exists(), true);
+ if (aFile.exists())
+ {
+ GlobalLogWriter.println("Page: " + i);
+ checkOnePicture(sJPEGFilename, _sResult, _aParams);
+ }
+ }
+ }
+ else
+ {
+ GlobalLogWriter.println("The document '" + sSectionName + "' seems to have no picture representation.");
+ }
+
+ String sResultIniFile = FileHelper.appendPath(_sResult, sSectionName);
+ evaluateResult(sResultIniFile, _aParams);
+ }
+
+ private void evaluateResult(String _sDocument, ParameterHelper _aParams)
+ {
+ String sResultIniFile = _sDocument + ".ini";
+ File aFile = new File(sResultIniFile);
+ assure("Result file doesn't exists " + sResultIniFile, aFile.exists());
+
+ int good = 0;
+ int bad = 0;
+ int ugly = 0;
+ int ok_status = 1; // 1=ok 2=bad 3=ugly
+
+ IniFile aResultIniFile = new IniFile(sResultIniFile);
+ int nPages = aResultIniFile.getIntValue("global", "pages", 0);
+ for (int i = 0; i < nPages; i++)
+ {
+ String sCurrentPage = "page" + String.valueOf(i + 1);
+ int nPercent = aResultIniFile.getIntValue(sCurrentPage, "percent", -1);
+ if (nPercent == 0)
+ {
+ good++;
+ }
+ else if (nPercent <= 5)
+ {
+ bad++;
+ ok_status = 2;
+ }
+ else
+ {
+ ugly++;
+ ok_status = 3;
+ }
+ }
+
+ assure("Error: document doesn't contains pages", nPages > 0);
+
+// TODO: this information has to come out of the ini files
+ String sStatusRunThrough = "PASSED, ";
+ String sPassed = "OK";
+
+ String sStatusMessage = "From " + nPages + " page(s) are: ";
+ String sGood = "";
+ String sBad = "";
+ String sUgly = "";
+
+ if (good > 0)
+ {
+ sGood = " good:=" + good;
+ sStatusMessage += sGood;
+ }
+ if (bad > 0)
+ {
+ sBad = " bad:=" + bad;
+ sStatusMessage += sBad;
+ }
+ if (ugly > 0)
+ {
+ sUgly = " ugly:=" + ugly;
+ sStatusMessage += sUgly;
+ }
+
+ // Failure matrix
+ // 0 1
+ // ugly OK FAILED
+ // bad OK
+ // good OK
+
+ if (ugly > 0)
+ {
+ sPassed = "FAILED";
+ }
+ else
+ {
+ if (bad > 0)
+ {
+ sPassed = "NEED A LOOK";
+ }
+ else
+ {
+ sPassed = "OK";
+ }
+ }
+ sStatusRunThrough += sPassed;
+ aResultIniFile.insertValue("global", "state", sStatusRunThrough);
+ aResultIniFile.insertValue("global", "info", sStatusMessage);
+ aResultIniFile.close();
+
+ _aParams.getTestParameters().put("current_state", sStatusRunThrough);
+ _aParams.getTestParameters().put("current_info", sStatusMessage);
+ _aParams.getTestParameters().put("current_ok_status", ok_status);
+
+ // if we have a ugly page, we must return this as a FAILED STATUS in Log file!
+ assure("There exist pages marked as ugly.", ugly == 0);
+ }
+
+ private void checkOnePicture(String _sDocumentName, String _sResult, ParameterHelper _aParams)
+ {
+ GlobalLogWriter.println("JPEG: Compare difference between '" + _sDocumentName + "' and '" + _sResult + "'");
+ File aResultFile = new File(_sResult);
+ if (aResultFile.isDirectory())
+ {
+ // result is just a directory, so we search for the basename of the source and take this.
+ String sBasename = FileHelper.getBasename(_sDocumentName);
+ String sResultFilename = FileHelper.appendPath(_sResult, sBasename);
+ aResultFile = new File(sResultFilename);
+ if (aResultFile.exists())
+ {
+ // Original and Result exists
+ String sInputPath = _aParams.getInputPath();
+ if (sInputPath.toLowerCase().endsWith("index.ini"))
+ {
+ // special case
+ // we want to get the buildid from the info file.
+ }
+
+ compareJPEG(_sDocumentName, sResultFilename, _aParams);
+
+ }
+ else
+ {
+ String sResultFilenamePDF = util.utils.replaceAll13(sResultFilename, ".ps_", ".pdf_");
+ File aResultPDFFile = new File(sResultFilenamePDF);
+ if (aResultPDFFile.exists())
+ {
+ // Original and Result exists
+ String sInputPath = _aParams.getInputPath();
+ if (sInputPath.toLowerCase().endsWith("index.ini"))
+ {
+ // special case
+ // we want to get the buildid from the info file.
+ }
+
+ compareJPEG(_sDocumentName, sResultFilenamePDF, _aParams);
+ }
+ else
+ {
+ GlobalLogWriter.println("Warning: Result JPEG doesn't exists '" + sResultFilename + "'");
+ }
+ }
+ }
+ else
+ {
+ // result is also a file
+ if (aResultFile.exists())
+ {
+ compareJPEG(_sDocumentName, _sResult, _aParams);
+ }
+ else
+ {
+ GlobalLogWriter.println("Warning: Result JPEG doesn't exists '" + _sResult + "'");
+ }
+ }
+ }
+
+ /**
+ * compare 2 JPEGs, it is a need, that both _sDocumentName and _sResultFilename exist.
+ * @param _sDocumentName
+ * @param _sResult
+ * @param _aParams
+ * @return 0=no difference !=0 both files differ
+ */
+ private void compareJPEG(String _sDocumentName, String _sResult, ParameterHelper _aParams)
+ {
+ NameDPIPage aNameDPIPage = NameDPIPage.interpret(_sDocumentName);
+
+ String sSourceBasename = FileHelper.getBasename(_sDocumentName);
+ String sSourcePath = FileHelper.getPath(_sDocumentName);
+ String sDestinationBasename = FileHelper.getBasename(_sResult);
+ String sDestinationPath = FileHelper.getPath(_sResult);
+
+ if (!sSourcePath.equals(sDestinationPath))
+ {
+ // we want to have all in one Directory, Original, Reference and the Difference result.
+ // copy the original file to the reference path
+ String sNewSourceBasename = "Original_" + sSourceBasename;
+ // String sSource = FileHelper.appendPath(sSourcePath, sSourceBasename);
+ String sSource = _sDocumentName;
+ String sDestination = FileHelper.appendPath(sDestinationPath, sNewSourceBasename);
+ FileHelper.copy(sSource, sDestination);
+ sSourceBasename = sNewSourceBasename;
+ //
+ JPEGCreator.convertToNearSameFileWithWidth340(sDestination);
+ }
+ String sDifferenceBasename = "Difference_between_" + FileHelper.getNameNoSuffix(sSourceBasename) + "_and_" + FileHelper.getNameNoSuffix(sDestinationBasename) + ".jpg";
+ // String sDifferencePath = sDestinationPath;
+
+ String sSource = FileHelper.appendPath(sDestinationPath, sSourceBasename);
+ String sDestination = FileHelper.appendPath(sDestinationPath, sDestinationBasename);
+ String sDifference = FileHelper.appendPath(sDestinationPath, sDifferenceBasename);
+ int nErr = compareJPEG(sSource, sDestination, sDifference);
+ if (nErr == 0 && FileHelper.exists(sDifference))
+ {
+ // check the difference, returns the count of different colors
+ // this means, 1=only one color, no differences found.
+ int nResult = identify(sDifference);
+ int nPercentColorDiffer = 0;
+
+ String sResult = "YES";
+
+ if (m_aTolerance != null)
+ {
+ final int nAcceptedTolerance = m_aTolerance.getAccept();
+ if (nResult <= nAcceptedTolerance)
+ {
+ nResult = 1;
+ sResult = "IN TOLERANCE";
+ GlobalLogWriter.println("The differences are in tolerance.");
+
+ }
+ }
+ if (nResult != 1)
+ {
+ sResult = "NO";
+ try
+ {
+ nPercentColorDiffer = estimateGfx(sSource, sDestination, sDifference);
+ }
+ catch (java.io.IOException e)
+ {
+ GlobalLogWriter.println("Can't estimate the different colors. " + e.getMessage());
+ }
+ }
+
+ // store the result in a result.ini file
+ String sResultFile = FileHelper.appendPath(sDestinationPath, aNameDPIPage.Name + ".ini");
+ int nPage = aNameDPIPage.Page;
+ if (nPage < 0)
+ {
+ nPage = 0;
+ }
+ IniFile aResultIni = new IniFile(sResultFile);
+
+ String[] aComment =
+ {
+ "; This file is automatically created by a graphical.JPEGComparator run",
+ "; ",
+ "; If you see this file in a browser you may have forgotten to set the follows in the property file",
+ "; " + PropertyName.DOC_COMPARATOR_HTML_OUTPUT_PREFIX + "=http://<computer>/gfxcmp_ui/cw.php?inifile=",
+ "; Please check the documentation if you got confused.",
+ "; ",
+ "; "
+ };
+ aResultIni.insertFirstComment(aComment);
+
+ // write down the global flags
+ int nMaxPage = Math.max(nPage, aResultIni.getIntValue("global", "pages", 0));
+ aResultIni.insertValue("global", "pages", nMaxPage);
+
+ // INIoutput.writeValue("buildid", _sBuildID);
+ // INIoutput.writeValue("refbuildid", _sRefBuildID);
+ String sRefBuildId = (String) _aParams.getTestParameters().get("RefBuildId");
+ if (sRefBuildId == null)
+ {
+ sRefBuildId = "";
+ }
+ aResultIni.insertValue("global", "refbuildid", sRefBuildId);
+
+ aResultIni.insertValue("global", "diffdiff", "no");
+ aResultIni.insertValue("global", "basename", aNameDPIPage.Name);
+ aResultIni.insertValue("global", "dpi", aNameDPIPage.DPI);
+
+ // write down flags for each page
+ String sSection = "page" + String.valueOf(nPage);
+
+ aResultIni.insertValue(sSection, "oldgfx", sSource);
+ aResultIni.insertValue(sSection, "newgfx", sDestination);
+ aResultIni.insertValue(sSection, "diffgfx", sDifference);
+ aResultIni.insertValue(sSection, "percent", nPercentColorDiffer);
+ aResultIni.insertValue(sSection, "BM", "false");
+ aResultIni.insertValue(sSection, "result", sResult);
+
+ aResultIni.close();
+ }
+ }
+
+// // This creates a status for exact on document
+// static boolean createINIStatus(StatusHelper[] aList, String _sFilenamePrefix, String _sOutputPath, String _sAbsoluteInputFile, String _sBuildID, String _sRefBuildID)
+// {
+// // Status
+// String fs = System.getProperty("file.separator");
+// String sBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+// String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+//// String sHTMLFile = _sFilenamePrefix + sNameNoSuffix + ".html";
+//// HTMLOutputter HTMLoutput = HTMLOutputter.create(_sOutputPath, sHTMLFile, "", "");
+//// HTMLoutput.header(sNameNoSuffix);
+//// TODO: version info was fine
+//// HTMLoutput.checkSection(sBasename);
+// // Status end
+//
+// String sINIFile = _sFilenamePrefix + sNameNoSuffix + ".ini";
+// INIOutputter INIoutput = INIOutputter.create(_sOutputPath, sINIFile, "", "");
+// INIoutput.createHeader();
+//// TODO: version info was fine
+//
+// INIoutput.writeSection("global");
+// INIoutput.writeValue("pages", String.valueOf(aList.length));
+// INIoutput.writeValue("buildid", _sBuildID);
+// INIoutput.writeValue("refbuildid", _sRefBuildID);
+// INIoutput.writeValue("diffdiff", "no");
+// INIoutput.writeValue("basename", sBasename);
+//
+// boolean bResultIsOk = true; // result over all pages
+// for (int i=0;i<aList.length; i++)
+// {
+// INIoutput.writeSection("page" + String.valueOf(i + 1)); // list start at point 0, but this is page 1 and so on... current_page = (i + 1)
+// aList[i].printStatus();
+//
+// boolean bCurrentResult = true; // result over exact one page
+//
+// int nCurrentDiffStatus = aList[i].nDiffStatus;
+//
+// // check if the status is in a defined range
+// if (nCurrentDiffStatus == StatusHelper.DIFF_NO_DIFFERENCES)
+// {
+// // ok.
+// }
+// else if (nCurrentDiffStatus == StatusHelper.DIFF_DIFFERENCES_FOUND && aList[i].nPercent < 5)
+// {
+// // ok.
+// }
+// else if (nCurrentDiffStatus == StatusHelper.DIFF_AFTER_MOVE_DONE_NO_PROBLEMS)
+// {
+// // ok.
+// }
+// else if (nCurrentDiffStatus == StatusHelper.DIFF_AFTER_MOVE_DONE_DIFFERENCES_FOUND && aList[i].nPercent2 < 5)
+// {
+// // ok.
+// }
+// else
+// {
+// // failed.
+// bCurrentResult = false; // logic: nDiff==0 = true if there is no difference
+// }
+//
+// // Status
+//// HTMLoutput.checkLine(aList[i], bCurrentResult);
+// INIoutput.checkLine(aList[i], bCurrentResult);
+// bResultIsOk &= bCurrentResult;
+// }
+// // Status
+//// HTMLoutput.close();
+// INIoutput.close();
+// return bResultIsOk;
+// }
+ /**
+ * count how much pixel differ and between Old or New and the Difference graphics
+ *
+ * First, count the old graphics, then the new graphics due to the fact both should be equal
+ * it should be legal to take result from old or new. We take the graphics with less values.
+ *
+ * Second, count the difference graphics, now take the percent algorithm and
+ * build a percent value, which contain the number of different pixels as a percent value
+ *
+ * Interpretation:
+ * 0% there is no difference
+ *
+ * &lt;100% Take a look into the difference graphics, maybe the difference graphics shows
+ * text like outlined or the text is little bit move left, right up or down.
+ *
+ * &gt;>100% Yes it's possible that there is a difference more then 100%, maybe a font problem
+ * between old and new graphics. The font of the new graphics is little bit bigger,
+ * so the pixel count between old graphics and new graphics is twice the more.
+ *
+ * @param _sOldGfx path & name to the jpeg file (1)
+ * @param _sNewGfx path & name to the other jpeg file (2)
+ * @param _sDiffGfx path & name to the new difference file which shows the difference between (1) and (2)
+ * @return the count of different pixels
+ * @throws java.io.IOException if file access is not possible
+ */
+ public static int estimateGfx(String _sOldGfx, String _sNewGfx, String _sDiffGfx)
+ throws java.io.IOException
+ {
+ TimeHelper a = new TimeHelper();
+ a.start();
+ // Count Pixels
+ final int nNotWhiteCount_OldGraphic = PixelCounter.countNotWhitePixelsFromImage(_sOldGfx);
+ final int nNotWhiteCount_NewGraphic = PixelCounter.countNotWhitePixelsFromImage(_sNewGfx);
+ final int nNotBlackCount_DiffGraphic = PixelCounter.countNotBlackPixelsFromImage(_sDiffGfx);
+
+ // Count Pixels in different threads
+// CountNotWhitePixelsFromImage t1 = new CountNotWhitePixelsFromImage(_sOldGfx);
+// CountNotWhitePixelsFromImage t2 = new CountNotWhitePixelsFromImage(_sNewGfx);
+// CountNotBlackPixelsFromImage t3 = new CountNotBlackPixelsFromImage(_sDiffGfx);
+// t1.start();
+// t2.start();
+// t3.start();
+// try
+// {
+// t1.join();
+// }
+// catch (InterruptedException ex)
+// {
+// GlobalLogWriter.get().println("Thread 1 failed: " + ex.getMessage());
+// }
+// try
+// {
+// t2.join();
+// }
+// catch (InterruptedException ex)
+// {
+// GlobalLogWriter.get().println("Thread 2 failed: " + ex.getMessage());
+// }
+// try
+// {
+// t3.join();
+// }
+// catch (InterruptedException ex)
+// {
+// GlobalLogWriter.get().println("Thread 3 failed: " + ex.getMessage());
+// }
+// final int nNotWhiteCount_OldGraphic = t1.getValue();
+// final int nNotWhiteCount_NewGraphic = t2.getValue();
+// final int nNotBlackCount_DiffGraphic = t3.getValue();
+
+ a.stop();
+ GlobalLogWriter.println("Thread Time is: " + a.getTime());
+
+ int nMinNotWhiteCount = Math.min(nNotWhiteCount_NewGraphic, nNotWhiteCount_OldGraphic);
+
+ // check if not zero
+ if (nMinNotWhiteCount == 0)
+ {
+ nMinNotWhiteCount = Math.max(nNotWhiteCount_NewGraphic, nNotWhiteCount_OldGraphic);
+ if (nMinNotWhiteCount == 0)
+ {
+ nMinNotWhiteCount = 1;
+ }
+ }
+
+ int nPercent = Math.abs(nNotBlackCount_DiffGraphic * 100 / nMinNotWhiteCount);
+ GlobalLogWriter.println("Graphics check, pixel based:" + String.valueOf(nPercent) + "% pixel differ ");
+ return nPercent;
+ }
+
+ private static int compareJPEG(String _sOldGfx, String _sNewGfx, String _sDiffGfx)
+ {
+ String sComposite = "composite";
+ if (OSHelper.isWindows())
+ {
+ sComposite = "composite.exe";
+ String sIMPath = (String) param.get("imagemagick.path");
+ if (sIMPath != null)
+ {
+ sComposite = FileHelper.appendPath(sIMPath, sComposite);
+ }
+ }
+
+ // String sCommand = sComposite + " -compose difference " +
+ // StringHelper.doubleQuoteIfNeed(_sOldGfx) + " " +
+ // StringHelper.doubleQuoteIfNeed(_sNewGfx) + " " +
+ // StringHelper.doubleQuoteIfNeed(_sDiffGfx);
+
+ String[] sCommandArray =
+ {
+ sComposite,
+ "-compose",
+ "difference",
+ _sOldGfx,
+ _sNewGfx,
+ _sDiffGfx
+ };
+
+ ProcessHandler aHandler = new ProcessHandler(sCommandArray);
+ boolean bBackValue = aHandler.executeSynchronously();
+ int nExitCode = aHandler.getExitCode();
+ if (nExitCode != 0)
+ {
+ GlobalLogWriter.println("'" + sComposite + "' return with ");
+ String sBack = aHandler.getOutputText();
+ GlobalLogWriter.println("'" + sBack + "'");
+ }
+ else
+ {
+ // creates an extra smaller difference picture
+ File aDiffFile = new File(_sDiffGfx);
+ if (aDiffFile.exists())
+ {
+ JPEGCreator.convertToNearSameFileWithWidth340(_sDiffGfx);
+ }
+ }
+ return nExitCode;
+ }
+
+ /**
+ * wrapper for ImageMagick identify,
+ * function checks how many different colors a picture contains.
+ * if it's only one color (nResult==1), like background color, there is no difference.
+ */
+ int identify(String _sDiffGfx)
+ {
+ int nResult = 0;
+ // would like to know what the meaning of %k is for ImageMagick's 'identify'
+ String sIM_Format = "%k";
+ // if (OSHelper.isWindows())
+ // {
+ // sIM_Format = "%%k";
+ // }
+
+ String sIdentify = "identify";
+ if (OSHelper.isWindows())
+ {
+ sIdentify = "identify.exe";
+ String sIMPath = (String) param.get("imagemagick.path");
+ if (sIMPath != null)
+ {
+ sIdentify = FileHelper.appendPath(sIMPath, sIdentify);
+ }
+ }
+
+ // String sCommand = sIdentify + " " + sIM_Format + " " + StringHelper.doubleQuoteIfNeed(_sDiffGfx);
+
+ String[] sCommandArray =
+ {
+ sIdentify,
+ "-format",
+ sIM_Format,
+ _sDiffGfx
+ };
+ ProcessHandler aHandler = new ProcessHandler(sCommandArray);
+ boolean bBackValue = aHandler.executeSynchronously();
+ int nExitCode = aHandler.getExitCode();
+
+ String sBack = aHandler.getOutputText();
+ GlobalLogWriter.println("'" + sBack + "'");
+
+ // try to interpret the result, which we get as a String
+ try
+ {
+ int nIdx = sBack.indexOf("\n");
+ if (nIdx > 0)
+ {
+ sBack = sBack.substring(0, nIdx);
+ }
+
+ nResult = Integer.valueOf(sBack).intValue();
+ }
+ catch (java.lang.NumberFormatException e)
+ {
+ GlobalLogWriter.println("identify(): Number format exception");
+ nResult = 0;
+ }
+ return nResult;
+ }
+// public static void main(String [] _args)
+// {
+//// give an index.ini file, ok
+//// give a directory, where exist jpeg files ok
+//// inputpath (given file) doesn't exists
+//// give a jpeg file.
+//
+// String args[] = {
+// "-TimeOut", "3600000",
+// "-tb", "java_complex",
+// "-o", "graphical.JPEGComparator",
+// "-DOC_COMPARATOR_INPUT_PATH", "C:\\CWS\\temp\\output\\index.ini",
+// "-DOC_COMPARATOR_OUTPUT_PATH", "C:\\CWS\\temp\\output2",
+//// "-DOC_COMPARATOR_INPUT_PATH", "C:\\CWS\\temp\\output\\GroupReport.odt.pdf_180DPI_0001.jpg",
+//// "-DOC_COMPARATOR_OUTPUT_PATH", "C:\\CWS\\temp\\output2\\Report1.odt.pdf_180DPI_0001.jpg",
+// "-DOC_COMPARATOR_HTML_OUTPUT_PREFIX", "http://so-gfxcmp-lin.germany.sun.com/gfxcmp_ui/cw.php?inifile=",
+//// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "PDF", /* default: "OOo" */
+//// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "msoffice", /* default: "OOo" */
+//// "-OFFICE_VIEWABLE", "false",
+//// "-AppExecutionCommand", "\"C:/Programme/sun/staroffice 9/program/soffice.exe\" -norestore -nocrashreport -accept=pipe,name=ll93751;urp;",
+// "-NoOffice"
+// };
+//
+// org.openoffice.Runner.main(args);
+// }
+}
diff --git a/qadevOOo/runner/graphical/JPEGCreator.java b/qadevOOo/runner/graphical/JPEGCreator.java
new file mode 100644
index 000000000000..a4336229e448
--- /dev/null
+++ b/qadevOOo/runner/graphical/JPEGCreator.java
@@ -0,0 +1,475 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+import helper.OSHelper;
+import helper.ProcessHandler;
+import helper.StringHelper;
+import java.io.File;
+
+/**
+ *
+ * @author ll93751
+ */
+public class JPEGCreator extends EnhancedComplexTestCase
+{
+ // @Override
+ public String[] getTestMethodNames()
+ {
+ return new String[]{"PostscriptOrPDFToJPEG"};
+ }
+
+ /**
+ * test function.
+ */
+ public void PostscriptOrPDFToJPEG()
+ {
+ GlobalLogWriter.set(log);
+ ParameterHelper aParam = new ParameterHelper(param);
+
+ // run through all documents found in Inputpath
+ foreachPSorPDFinInputPath(aParam);
+ }
+
+
+ public void checkOneFile(String _sDocumentName, String _sResult, ParameterHelper _aParams) throws OfficeException
+ {
+ GlobalLogWriter.println("Document: " + _sDocumentName + " results: " + _sResult);
+// IOffice aOffice = new Office(_aParams, _sResult);
+// aOffice.start();
+// aOffice.load(_sDocumentName);
+// aOffice.storeAsPostscript();
+// aOffice.close();
+ String sJPEGNameSchema = createJPEG(_sDocumentName, "", _aParams);
+
+ // store information only if jpeg files exists
+ int nPages = countPages(sJPEGNameSchema);
+ if (nPages > 0)
+ {
+ createSmallPictures(sJPEGNameSchema);
+
+ // read out tolerance file
+ String sFileDir = FileHelper.getPath(_sDocumentName);
+ String sBasename = FileHelper.getBasename(_sDocumentName);
+ int nTolerance = 0;
+ String sToleranceFile = FileHelper.appendPath(sFileDir, "tolerance.ini");
+ File aToleranceFile = new File(sToleranceFile);
+ if (aToleranceFile.exists())
+ {
+ IniFile aIniFile = new IniFile(sToleranceFile);
+ nTolerance = aIniFile.getIntValue(sBasename, "accept", 0); // default for all pages
+ aIniFile.close();
+ }
+
+ String sIndexFile = FileHelper.appendPath(_sResult, "index.ini");
+ File aIndexFile = new File(sIndexFile);
+ if (aIndexFile.exists())
+ {
+ // store only if an index file exists
+ IniFile aIniFile = new IniFile(sIndexFile);
+ aIniFile.insertValue(sBasename, "jpegschema", sJPEGNameSchema);
+ aIniFile.insertValue(sBasename, "pages", nPages);
+ aIniFile.insertValue(sBasename, "tolerance", nTolerance);
+ aIniFile.close();
+ }
+ }
+ else
+ {
+ assure("There are no pages in document:'" + _sDocumentName + "', maybe document currupt?", false, true);
+ }
+ }
+
+/**
+ * Create a lot of smaller and nicer Pictures of the big fat pages.
+ * Looks better
+ * @param _sJPEGSchema
+ */
+ public void createSmallPictures(String _sJPEGSchema)
+ {
+ ParameterHelper aParam = new ParameterHelper(param);
+ if (! aParam.createSmallPictures())
+ {
+ return;
+ }
+
+ int nPages = 0;
+ if (_sJPEGSchema.length() > 0)
+ {
+ // TODO: if there doesn't exists a '%04d' in the schema we will return 9999 which is a little bit wrong here.
+ for (int i=1;i<10000;i++)
+ {
+ String sJPEGFilename = getFilenameForJPEGSchema(_sJPEGSchema, i);
+ if (FileHelper.exists(sJPEGFilename))
+ {
+ convertToNearSameFileWithWidth340(sJPEGFilename);
+ // m_aFileList.add(sNewJPEGFilename); // as long as the files exist, fill the array
+ nPages ++;
+ }
+ else
+ {
+ break; // stop file check
+ }
+ }
+ }
+ // return nPages;
+ }
+
+/**
+ * convert a picture to a new picture with 340 pixel width.
+ * @param _sJPEGFilename
+ */
+public static void convertToNearSameFileWithWidth340(String _sJPEGFilename)
+{
+ ParameterHelper aParam = new ParameterHelper(param);
+ if (! aParam.createSmallPictures())
+ {
+ return;
+ }
+ String sJPEGFilename = _sJPEGFilename.replaceAll("\\\\", "/");
+// if (OSHelper.isWindows())
+// {
+// sJPEGFilename = sJPEGFilename.replaceAll("/", "\\\\");
+// }
+ String sNewJPEGFilename;
+ sNewJPEGFilename = util.utils.replaceAll13(sJPEGFilename, ".jpg", "_w340.jpg");
+ convertToWidth340(sJPEGFilename, sNewJPEGFilename);
+}
+
+ /**
+ * convert chart2_Regression.ods.ps_180DPI_0001.jpg -filter Catrom -resize
+340x chart2_Regression.ods.ps_180DPI_0001_w340.jpg
+
+Point wie bisher
+Cubic schlecht, weil unscharf
+...
+Triangle ganz brauchbar (default?)
+Catrom am besten
+
+ * @param _sFrom
+ * @param _To
+ */
+private static void convertToWidth340(String _sFrom, String _To)
+{
+ // int nResult = 0;
+
+ String sConvertEXE = "convert";
+ if (OSHelper.isLinuxIntel())
+ {
+ sConvertEXE = "convert";
+ }
+ if (OSHelper.isWindows())
+ {
+ // TODO!
+ // HACK Hard coded!
+ // sConvertEXE = "C:\\Programme\\ImageMagick-6.0.3-q8\\convert.exe";
+ sConvertEXE = "convert.exe";
+ String sConvertPath = (String)param.get("imagemagick.path");
+ if (sConvertPath != null)
+ {
+ sConvertEXE = FileHelper.appendPath(sConvertPath, sConvertEXE);
+ }
+ }
+
+ String[] sCommandArray =
+ {
+ sConvertEXE,
+ _sFrom,
+ "-filter", "Catrom",
+ "-resize", "340x",
+ _To
+ };
+ ProcessHandler aHandler = new ProcessHandler(sCommandArray);
+ boolean bBackValue = aHandler.executeSynchronously();
+ int nExitCode = aHandler.getExitCode();
+
+ String sBack = aHandler.getOutputText();
+ if (sBack.length() > 0)
+ {
+ GlobalLogWriter.println("'" + sBack + "'");
+ }
+ // try to interpret the result, which we get as a String
+// try
+// {
+// int nIdx = sBack.indexOf("\n");
+// if (nIdx > 0)
+// {
+// sBack = sBack.substring(0, nIdx);
+// }
+//
+// nResult = Integer.valueOf(sBack).intValue();
+// }
+// catch(java.lang.NumberFormatException e)
+// {
+// GlobalLogWriter.get().println("Number format exception");
+// nResult = 0;
+// }
+ // return nResult;
+}
+
+/**
+ * create out of a given Postscript/PDF _sFile a list of JPEGs, one for every page
+ * @param _sFile
+ * @param _sAdditional
+ * @param _aParam
+ * @return the schema of the first jpeg name
+ */
+ String createJPEG(String _sFile, String _sAdditional, ParameterHelper _aParam)
+ {
+ if (_sFile.startsWith("file:///"))
+ {
+ _sFile = FileHelper.getSystemPathFromFileURL(_sFile);
+ }
+ File aFile = new File(_sFile);
+ if (aFile.exists())
+ {
+ String sAbsFile = aFile.getAbsolutePath();
+ if (!sAbsFile.equals(_sFile))
+ {
+ _sFile = sAbsFile;
+ }
+ }
+ else
+ {
+ GlobalLogWriter.println("File: '" + _sFile + "' doesn't exist.");
+ return "";
+ }
+ String sFileDir = FileHelper.getPath(_sFile);
+ String sBasename = FileHelper.getBasename(_sFile);
+// String sNameNoSuffix = FileHelper.getNameNoSuffix(sBasename);
+
+ String sTmpDir = util.utils.getUsersTempDir();
+ if (_aParam.getOutputPath() != null)
+ {
+ sTmpDir = _aParam.getOutputPath();
+ }
+
+ String sJPEGNameSchema = "";
+ if (_sFile.toLowerCase().endsWith("ps") ||
+ _sFile.toLowerCase().endsWith("prn") ||
+ _sFile.toLowerCase().endsWith("pdf"))
+ {
+ // seems to be a Postscript of PDF file
+
+ sJPEGNameSchema = createJPEGsFromPostscript(sTmpDir, sFileDir, sBasename, _aParam.getResolutionInDPI());
+ }
+ else if (_sFile.toLowerCase().endsWith("jpg") ||
+ _sFile.toLowerCase().endsWith("jpeg"))
+ {
+ // do nothing, it's already a picture.
+ return _sFile;
+ }
+ else
+ {
+ // we assume it's an office document.
+ // Office files will not handled here, we need a PS or PDF file
+ }
+ return sJPEGNameSchema;
+ }
+
+ private String getJPEGName(String _sOutputPath, String _sBasename, int _nResolutionInDPI, String _sGS_PageOutput)
+ {
+ // String fs = System.getProperty("file.separator");
+ String sName = _sBasename + "_" + String.valueOf(_nResolutionInDPI) + "DPI_" + _sGS_PageOutput + ".jpg";
+ String sJPEGName = FileHelper.appendPath(_sOutputPath, sName);
+ return sJPEGName;
+ }
+
+ /**
+ * Create via ghostscript (gs) from the reference file for every page a JPEG file
+ *
+ * MUST set:
+ * m_sOutputPath, m_sReferenceFile, m_sReferencePath
+ *
+ * return exit code from gs command
+ */
+
+ private static final String m_sGS_PageOutput = "%04d";
+
+ private String createJPEGsFromPostscript(String _sOutputPath, String _sSourcePath, String _sSourceFile, int _nResolutionInDPI)
+ {
+ FileHelper.makeDirectories("", _sOutputPath);
+
+ // create a jpeg from original prn
+ // String fs = System.getProperty("file.separator");
+
+ String sJPEGNameSchema = getJPEGName(_sOutputPath, _sSourceFile, _nResolutionInDPI, m_sGS_PageOutput);
+ String sPostscriptOrPDFFile = FileHelper.appendPath(_sSourcePath, _sSourceFile);
+ String sGhostscriptEXE = "gs";
+ if (OSHelper.isWindows())
+ {
+ sGhostscriptEXE = "gswin32c.exe";
+ String sGhostscriptEXE2 = (String)param.get("gs.exe");
+ if (sGhostscriptEXE2 != null)
+ {
+ sGhostscriptEXE = sGhostscriptEXE2;
+ }
+ String sGhostscriptPath = (String)param.get("gs.path");
+ if (sGhostscriptPath != null)
+ {
+ sGhostscriptEXE = FileHelper.appendPath(sGhostscriptPath, sGhostscriptEXE);
+ }
+ }
+
+// String sCommand = sGhostscriptEXE + " -dNOPROMPT -dBATCH -sDEVICE=jpeg -r" + String.valueOf(_nResolutionInDPI) + " -dNOPAUSE -sOutputFile=" + StringHelper.doubleQuoteIfNeed(sJPGFilename) + " " + StringHelper.doubleQuoteIfNeed(sOriginalFile);
+ String[] sCommandArray =
+ {
+ sGhostscriptEXE,
+ "-dNOPROMPT",
+ "-dBATCH",
+ "-sDEVICE=jpeg",
+ "-r" + String.valueOf(_nResolutionInDPI),
+ "-dNOPAUSE",
+ "-sOutputFile=" + sJPEGNameSchema,
+ sPostscriptOrPDFFile
+
+
+
+ };
+ // System.out.println("Start Command array");
+ // try
+ // {
+ // Runtime.getRuntime().exec(sCommandArray);
+ // } catch (Exception e) {
+ // System.out.println("FAILED");
+ // }
+ // System.out.println("done");
+
+// TODO: gives ghostscript an error we can handle?
+ ProcessHandler aHandler = new ProcessHandler(sCommandArray);
+ boolean bBackValue = aHandler.executeSynchronously();
+ assure("There seems to be a problem with ghostscript", bBackValue, true);
+ int nExitCode = aHandler.getExitCode();
+ // ArrayList m_aFileList = new ArrayList();
+
+ // String sJPEGNameSchema = "";
+ if (nExitCode == 0)
+ {
+ // TODO: return a real filename, due to the fact we don't know how much files are created, maybe better to return a list
+ int nPages = countPages(sJPEGNameSchema);
+ if (nPages == 0)
+ {
+ // return only a valid schema name if there at least one page.
+ sJPEGNameSchema = "";
+ assure("Document '" + sPostscriptOrPDFFile + "' doesn't create pages.", false, true);
+ }
+ }
+ else
+ {
+ assure("There seems to be a problem with ghostscript and '" + sPostscriptOrPDFFile + "' exit code: " + nExitCode, false, true);
+ GlobalLogWriter.println("Warning: There seems to be a problem with '" + sGhostscriptEXE + "'...");
+ }
+ // String[] aList = new String[m_aFileList.size()];
+ // aList = (String[])m_aFileList.toArray(aList);
+ return sJPEGNameSchema; // sNewJPEGFilename;
+ }
+
+ public static String getFilenameForJPEGSchema(String _sJPEGSchema, int _nPage)
+ {
+ if (_nPage < 1 || _nPage > 9999)
+ {
+ return "";
+ }
+ final String sFilename = util.utils.replaceAll13(_sJPEGSchema, m_sGS_PageOutput, StringHelper.createValueString(_nPage, 4));
+ return sFilename;
+ }
+
+ /**
+ * Return the number of really exists JPEG files
+ * Give a JPEG Schema which contains something like '%04d' which will be converted by a number between 0001 and 9999 always
+ * with leading '0' (zero)
+ * @param _sJPEGSchema
+ * @return number of really existing pages of a given JPEG schema
+ */
+ public int countPages(String _sJPEGSchema)
+ {
+ int nPages = 0;
+ if (_sJPEGSchema.length() > 0)
+ {
+ // TODO: if there doesn't exists a '%04d' in the schema we will return 9999 which is a little bit wrong here.
+ for (int i=1;i<10000;i++)
+ {
+ String sNewJPEGFilename = getFilenameForJPEGSchema(_sJPEGSchema, i);
+ if (FileHelper.exists(sNewJPEGFilename))
+ {
+ // m_aFileList.add(sNewJPEGFilename); // as long as the files exist, fill the array
+ nPages ++;
+ }
+ else
+ {
+ break; // stop file check
+ }
+ }
+ }
+ return nPages;
+ }
+
+// public static void main(String [] _args)
+// {
+//// DONE: give an index.ini file ok
+//// String args[] = {
+//// "-TimeOut", "3600000",
+//// "-tb", "java_complex",
+//// "-o", "graphical.JPEGCreator",
+//// "-DOC_COMPARATOR_INPUT_PATH", "C:\\CWS\\temp\\output\\index.ini",
+//// "-DOC_COMPARATOR_OUTPUT_PATH", "C:\\CWS\\temp\\output",
+//// "-DOC_COMPARATOR_PRINT_MAX_PAGE", "9999",
+//// "-DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION", "180",
+//// "-DOC_COMPARATOR_HTML_OUTPUT_PREFIX", "http://so-gfxcmp-lin.germany.sun.com/gfxcmp_ui/cw.php?inifile=",
+////// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "PDF", /* default: "OOo" */
+////// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "msoffice", /* default: "OOo" */
+////// "-OFFICE_VIEWABLE", "false",
+//// "-AppExecutionCommand", "\"C:/Programme/sun/staroffice 9/program/soffice.exe\" -norestore -nocrashreport -accept=pipe,name=ll93751;urp;",
+//// "-NoOffice"
+//// };
+//
+//// Done: give a directory, where exist pdf/ps files ok.
+//// Done: inputpath (given file) doesn't exists, ok.
+//// Done: give a ps/pdf file. ok.
+//
+// String args[] = {
+// "-TimeOut", "3600000",
+// "-tb", "java_complex",
+// "-o", "graphical.JPEGCreator",
+// "-DOC_COMPARATOR_INPUT_PATH", "C:\\CWS\\temp\\output\\Names7.odt.pdf",
+// "-DOC_COMPARATOR_OUTPUT_PATH", "C:\\CWS\\temp\\output",
+// "-DOC_COMPARATOR_PRINT_MAX_PAGE", "9999",
+// "-DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION", "180",
+// "-DOC_COMPARATOR_HTML_OUTPUT_PREFIX", "http://so-gfxcmp-lin.germany.sun.com/gfxcmp_ui/cw.php?inifile=",
+//// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "PDF", /* default: "OOo" */
+//// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "msoffice", /* default: "OOo" */
+//// "-OFFICE_VIEWABLE", "false",
+// "-AppExecutionCommand", "\"C:/Programme/sun/staroffice 9/program/soffice.exe\" -norestore -nocrashreport -accept=pipe,name=ll93751;urp;",
+// "-NoOffice"
+// };
+//
+// org.openoffice.Runner.main(args);
+// }
+
+}
diff --git a/qadevOOo/runner/graphical/JPEGEvaluator.java b/qadevOOo/runner/graphical/JPEGEvaluator.java
new file mode 100644
index 000000000000..07b265b62355
--- /dev/null
+++ b/qadevOOo/runner/graphical/JPEGEvaluator.java
@@ -0,0 +1,163 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+// import java.io.File;
+
+/**
+ *
+ * @author ll93751
+ */
+public class JPEGEvaluator extends EnhancedComplexTestCase
+{
+ // @Override
+ public String[] getTestMethodNames()
+ {
+ return new String[]{"EvaluateResult"};
+ }
+
+ /**
+ * test function.
+ */
+ public void EvaluateResult()
+ {
+ GlobalLogWriter.set(log);
+ ParameterHelper aParam = new ParameterHelper(param);
+
+ // run through all documents found in Inputpath
+ foreachResultCreateHTML(aParam);
+ }
+
+ public void checkOneFile(String _sDocument, String _sResult, ParameterHelper _aParams) throws OfficeException
+ {
+ // throw new UnsupportedOperationException("Not supported yet.");
+ // int dummy = 0;
+
+ String sBasename = FileHelper.getBasename(_sDocument);
+ String sResultIniFile = _sDocument + ".ini";
+// File aFile = new File(sResultIniFile);
+// assure("Result file doesn't exists " + sResultIniFile, aFile.exists());
+//
+// int good = 0;
+// int bad = 0;
+// int ugly = 0;
+//
+// IniFile aResultIniFile = new IniFile(sResultIniFile);
+// int nPages = aResultIniFile.getIntValue("global", "pages", 0);
+// for (int i=0;i<nPages;i++)
+// {
+// String sCurrentPage = "page" + String.valueOf(i + 1);
+// int nPercent = aResultIniFile.getIntValue(sCurrentPage, "percent", -1);
+// if (nPercent == 0)
+// {
+// good++;
+// }
+// else if (nPercent <= 5)
+// {
+// bad ++;
+// }
+// else
+// {
+// ugly ++;
+// }
+// }
+//
+// assure("Error: document doesn't contains pages", nPages > 0);
+
+ HTMLResult aOutputter = new HTMLResult(_sResult, sBasename + ".html" );
+ aOutputter.header(_sResult);
+ aOutputter.indexSection(sBasename);
+
+ IniFile aResultIniFile = new IniFile(sResultIniFile);
+ String sStatusRunThrough = aResultIniFile.getValue("global", "state");
+ String sStatusMessage = aResultIniFile.getValue("global", "info");
+
+// // TODO: this information has to come out of the ini files
+// String sStatusRunThrough = "PASSED, ";
+// String sPassed = "OK";
+//
+// String sStatusMessage = "From " + nPages + " page(s) are: ";
+// String sGood = "";
+// String sBad = "";
+// String sUgly = "";
+//
+// if (good > 0)
+// {
+// sGood = " good:=" + good;
+// sStatusMessage += sGood;
+// }
+// if (bad > 0)
+// {
+// sBad = " bad:=" + bad;
+// sStatusMessage += sBad;
+// }
+// if (ugly > 0)
+// {
+// sUgly = " ugly:=" + ugly;
+// sStatusMessage += sUgly;
+// }
+//
+// // Failure matrix
+// // 0 1
+// // ugly OK FAILED
+// // bad OK
+// // good OK
+//
+// if (ugly > 0)
+// {
+// sPassed = "FAILED";
+// }
+// else
+// {
+// if (bad > 0)
+// {
+// sPassed = "NEED A LOOK";
+// }
+// else
+// {
+// sPassed = "OK";
+// }
+// }
+// sStatusRunThrough += sPassed;
+// aResultIniFile.insertValue("global", "state", sStatusRunThrough);
+// aResultIniFile.insertValue("global", "info", sStatusMessage);
+// aResultIniFile.close();
+
+ String sHTMLFile = _aParams.getHTMLPrefix(); // "http://so-gfxcmp-lin/gfxcmp_ui/cw.php?inifile=";
+ sHTMLFile += _sDocument + ".ini";
+ aOutputter.indexLine(sHTMLFile, sBasename, sStatusRunThrough, sStatusMessage);
+ aOutputter.close();
+ // IniFile aIniFile = new IniFile(_sDocument);
+ // aIniFile.
+
+ }
+
+
+}
diff --git a/qadevOOo/runner/graphical/MSOfficePostscriptCreator.java b/qadevOOo/runner/graphical/MSOfficePostscriptCreator.java
new file mode 100644
index 000000000000..86eb28143ed2
--- /dev/null
+++ b/qadevOOo/runner/graphical/MSOfficePostscriptCreator.java
@@ -0,0 +1,1004 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.RandomAccessFile;
+import helper.ProcessHandler;
+import java.util.ArrayList;
+import helper.OSHelper;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+/**
+ * This object gives all functionallity to print msoffice documents.
+ * It also offers functions to check what type of document it is.
+ * It handles *.doc as word documents and use word to print
+ * *.xls as excel
+ * *.ppt as powerpoint
+ */
+
+//class ProcessHelper
+//{
+// ArrayList m_aArray;
+//}
+
+public class MSOfficePostscriptCreator implements IOffice
+{
+ private String m_sPrinterName; // within Windows the tools need a printer name;
+
+ public void setPrinterName(String _s)
+ {
+ m_sPrinterName = _s;
+ }
+
+ private ParameterHelper m_aParameterHelper;
+ private String m_sDocumentName;
+ private String m_sResult;
+
+ // CTor
+ public MSOfficePostscriptCreator(ParameterHelper _aParam, String _sResult)
+ {
+ m_aParameterHelper = _aParam;
+ m_sResult = _sResult;
+// String sKillCommand = (String)_aParam.getTestParameters().get(util.PropertyName.APP_KILL_COMMAND);
+// if (sKillCommand == null)
+// {
+// sKillCommand = "";
+// }
+// if (sKillCommand.length() > 0)
+// {
+// sKillCommand += ";";
+// }
+ String sKillCommand = "C:/bin/kill.exe -9 winword;C:/bin/kill.exe -9 excel";
+ _aParam.getTestParameters().put(util.PropertyName.APP_KILL_COMMAND, sKillCommand);
+ }
+
+ public void load(String _sDocumentName) throws OfficeException
+ {
+ m_sDocumentName = _sDocumentName;
+
+ if (! isMSOfficeDocumentFormat(m_sDocumentName))
+ {
+ GlobalLogWriter.println("This document type is not recognized as MSOffice format, as default fallback StarOffice/OpenOffice.org instead is used.");
+ throw new OfficeException("This document type is not recognized as MSOffice format, as default fallback StarOffice/OpenOffice.org instead is used.");
+ }
+ }
+
+ public void storeAsPostscript() throws OfficeException
+ {
+ GlobalLogWriter.println("USE MSOFFICE AS EXPORT FORMAT.");
+ try
+ {
+ String sDocumentName = m_sDocumentName + ".ps";
+ printToFileWithMSOffice(m_aParameterHelper,
+ m_sDocumentName,
+ m_sResult);
+ File aFile = new File(sDocumentName);
+ if (aFile.exists())
+ {
+ String sBasename = FileHelper.getBasename(sDocumentName);
+ FileHelper.addBasenameToIndex(m_sResult, sBasename, "msoffice", "postscript", m_sDocumentName);
+ }
+ }
+ catch(OfficeException e)
+ {
+ e.printStackTrace();
+ GlobalLogWriter.println(e.getMessage());
+ throw new OfficeException("Exception caught. Problem with MSOffice printer methods.");
+ }
+ catch(java.io.IOException e)
+ {
+ GlobalLogWriter.println(e.getMessage());
+ throw new OfficeException("IOException caught. Problem with MSOffice printer methods.");
+ }
+ }
+
+ public void start() throws OfficeException
+ {
+ // we don't have an office to start
+ }
+
+ public void close() throws OfficeException
+ {
+ // we don't have an office to stop
+ }
+
+ // -----------------------------------------------------------------------------
+ private boolean isWordDocument(String _sSuffix)
+ {
+ if (_sSuffix.toLowerCase().endsWith(".doc") ||
+ _sSuffix.toLowerCase().endsWith(".rtf") ||
+ _sSuffix.toLowerCase().endsWith(".dot"))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ private boolean isExcelDocument(String _sSuffix)
+ {
+ // xlt templates
+ // xlw
+ // xla addin
+ if (_sSuffix.toLowerCase().endsWith(".xls"))
+ {
+ return true;
+ }
+ /* temporal insertion by SUS
+ if (_sSuffix.endsWith(".xml"))
+ {
+ return true;
+ }*/
+ return false;
+ }
+
+ private boolean isPowerPointDocument(String _sSuffix)
+ {
+ if (_sSuffix.toLowerCase().endsWith(".pps") ||
+ _sSuffix.toLowerCase().endsWith(".ppt"))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * returns true, if the given filename has a MS Office suffix.
+ */
+ private boolean isMSOfficeDocumentFormat(String _sFile)
+ {
+ String sDocumentSuffix = FileHelper.getSuffix(_sFile);
+ if (isWordDocument(sDocumentSuffix)) {return true;}
+ if (isExcelDocument(sDocumentSuffix)) {return true;}
+ if (isPowerPointDocument(sDocumentSuffix)) {return true;}
+ // if suffix is xml, return also true, but we can't decide if word or excel
+ if (sDocumentSuffix.toLowerCase().endsWith(".xml")) {return true;}
+ return false;
+ }
+
+ public void storeToFileWithMSOffice( ParameterHelper _aGTA,
+ String _sInputFile,
+ String _sOutputFile) throws OfficeException, java.io.IOException
+ {
+ String sDocumentSuffix = FileHelper.getSuffix(_sInputFile);
+ String sFilterName = _aGTA.getExportFilterName();
+ ArrayList<String> aStartCommand = new ArrayList<String>();
+ if (isWordDocument(sDocumentSuffix))
+ {
+ aStartCommand = createWordStoreHelper();
+ }
+ else if (isExcelDocument(sDocumentSuffix))
+ {
+ aStartCommand = createExcelStoreHelper();
+ }
+ else if (isPowerPointDocument(sDocumentSuffix))
+ {
+ }
+ else if (sDocumentSuffix.toLowerCase().equals(".xml"))
+ {
+ // special case, if xml we prefer word, but with DEFAULT_XML_FORMAT_APP=excel it's changeable.
+ String sDocFormat = getXMLDocumentFormat(_sInputFile);
+ // if (_aGTA.getDefaultXMLFormatApp().toLowerCase().equals("excel"))
+ if (sDocFormat.equals("excel"))
+ {
+ aStartCommand = createExcelStoreHelper();
+ }
+ else
+ {
+ aStartCommand = createWordStoreHelper();
+ }
+ // else
+ // {
+ // }
+ }
+ else
+ {
+ GlobalLogWriter.println("No Microsoft Office document format found.");
+
+ throw new WrongSuffixException("No MS office document format found.");
+ }
+ if (aStartCommand != null)
+ {
+ if (sFilterName == null)
+ {
+// TODO: hardcoded FilterName in perl script
+ sFilterName = ""; // xlXMLSpreadsheet";
+ }
+
+ // String sCommand = sStartCommand + " " +
+ // _sInputFile + " " +
+ // StringHelper.doubleQuote(sFilterName) + " " +
+ // _sOutputFile;
+
+ aStartCommand.add(_sInputFile);
+ aStartCommand.add(sFilterName);
+ aStartCommand.add(_sOutputFile);
+ realStartCommand(aStartCommand);
+ }
+ }
+
+ // -----------------------------------------------------------------------------
+ /**
+ * print the given file (_sInputFile) to the file name (_sPrintFile)
+ * @param _aGTA
+ * @param _sInputFile
+ * @param _sPrintFilename
+ * @throws OfficeException
+ * @throws java.io.IOException
+ */
+ public void printToFileWithMSOffice( ParameterHelper _aGTA,
+ String _sInputFile,
+ String _sPrintFilename) throws OfficeException, java.io.IOException
+ {
+ String sDocumentSuffix = FileHelper.getSuffix(_sInputFile);
+
+ setPrinterName(_aGTA.getPrinterName());
+
+ ArrayList<String> aStartCommand = new ArrayList<String>();
+ if (isWordDocument(sDocumentSuffix))
+ {
+ aStartCommand = createWordPrintHelper();
+ }
+ else if (isExcelDocument(sDocumentSuffix))
+ {
+ aStartCommand = createExcelPrintHelper();
+ }
+ else if (isPowerPointDocument(sDocumentSuffix))
+ {
+ aStartCommand = createPowerPointPrintHelper();
+ }
+ else if (sDocumentSuffix.toLowerCase().equals(".xml"))
+ {
+// TODO: Open XML File and check if we need excel or word
+ String sOfficeType = getOfficeType(_sInputFile);
+
+ // special case, if xml we prefer word, but with DEFAULT_XML_FORMAT_APP=excel it's changeable.
+ // if (_aGTA.getDefaultXMLFormatApp().toLowerCase().equals("excel"))
+ if (sOfficeType.equals("excel"))
+ {
+ aStartCommand = createExcelPrintHelper();
+ }
+ else if (sOfficeType.equals("word"))
+ {
+ aStartCommand = createWordPrintHelper();
+ }
+ else
+ {
+ return;
+ }
+ }
+ else
+ {
+ GlobalLogWriter.println("No Microsoft Office document format found.");
+// TODO: use a better Exception!!!
+ throw new WrongSuffixException("No Mircosoft Office document format found.");
+ }
+
+ if (aStartCommand.isEmpty() == false)
+ {
+ String sPrinterName = m_sPrinterName;
+ if (sPrinterName == null)
+ {
+ sPrinterName = "";
+ }
+
+ // String sCommand = sStartCommand + " " +
+ // _sInputFile + " " +
+ // StringHelper.doubleQuote(m_sPrinterName) + " " +
+ // _sPrintFilename;
+ aStartCommand.add(_sInputFile);
+ aStartCommand.add(m_sPrinterName);
+ aStartCommand.add(_sPrintFilename);
+
+ realStartCommand(aStartCommand);
+ }
+ String sUserDir = System.getProperty("user.home");
+ _aGTA.getPerformance().readWordValuesFromFile(FileHelper.appendPath(sUserDir, "msofficeloadtimes.txt"));
+ FileHelper.createInfoFile(_sPrintFilename, _aGTA, "msoffice");
+ TimeHelper.waitInSeconds(2, "Give Microsoft Office some time to print.");
+ }
+
+ public void realStartCommand(ArrayList _aStartCommand) throws OfficeException
+ {
+ if (_aStartCommand.isEmpty())
+ {
+ throw new OfficeException/*WrongEnvironmentException*/("Given list is empty.");
+ }
+
+ try
+ {
+ // Convert the StartCommand ArrayList to a String List
+ int nValues = _aStartCommand.size();
+ String[] aList = new String[nValues];
+ for (int i=0;i<nValues;i++)
+ {
+ String aStr = (String) _aStartCommand.get(i);
+ if (aStr == null)
+ {
+ aStr = "";
+ }
+ if (aStr.length() == 0)
+ {
+ aStr = "\"\"";
+ }
+ aList[i] = new String(aStr);
+ }
+
+ // This is really the latest point where we can check if we are running within windows environment
+ if (! OSHelper.isWindows())
+ {
+ // TODO: use a better Exception!!!
+ throw new WrongEnvironmentException("We doesn't work within windows environment.");
+ }
+
+
+ ProcessHandler aHandler = new ProcessHandler(aList);
+ boolean bBackValue = aHandler.executeSynchronously();
+ }
+ catch (IndexOutOfBoundsException e)
+ {
+ throw new WrongEnvironmentException("Given list is too short.");
+ }
+
+ // return aHandler.getExitCode();
+ }
+
+
+ private String getPerlExe()
+ {
+ final String sPerlExe = System.getProperty("perl.exe", "perl");
+ return sPerlExe;
+ }
+
+ ArrayList<String> createWordPrintHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+
+ String sPrintViaWord = "printViaWord.pl";
+
+ ArrayList<String> aList = searchLocalFile(sPrintViaWord);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+
+ String sFileName = FileHelper.appendPath(sTmpPath, sPrintViaWord);
+ File aFile = new File(sFileName);
+ FileWriter out = new FileWriter(aFile);
+
+
+ out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( "use Time::HiRes; " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Windows only.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE; " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Word'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: word_print.pl <Word file> <name of printer> <output file> .\\n " + ls );
+ out.write( " Please use the same string for the name of the printer as you can find \\n " + ls );
+ out.write( " under Start-Control Panel-Printer and Faxes \\n " + ls );
+ out.write( " The name could look like the the following line: \\n " + ls );
+ out.write( " Apple LaserWriter II NT v47.0 \\n " + ls );
+ out.write( " Sample command line: \\n " + ls );
+ out.write( " execl_print.pl c:\\book1.doc Apple LaserWriter II NT v47.0 c:\\output\\book1.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Too less arguments.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $startWordTime = Time::HiRes::time(); " + ls );
+ out.write( "my $Word = Win32::OLE->new('Word.Application'); " + ls );
+ out.write( "my $stopWordTime = Time::HiRes::time() - $startWordTime; " + ls );
+ out.write( "# $Word->{'Visible'} = 1; # if you want to see what's going on " + ls );
+ out.write( "# , ReadOnly => 1})" + ls );
+ out.write(ls);
+ out.write( "my $startLoadWordTime = Time::HiRes::time(); " + ls );
+ out.write( "$Word->Documents->Open({Filename => $ARGV[0]}) " + ls );
+ out.write( " || die('Unable to open document ', Win32::OLE->LastError()); " + ls );
+ out.write( "my $stopLoadWordTime = Time::HiRes::time() - $startLoadWordTime; " + ls );
+ out.write(ls);
+ out.write( "my $startPrintWordTime = Time::HiRes::time(); " + ls);
+ out.write( "my $oldActivePrinte = $Word->{ActivePrinter} ; " + ls );
+ out.write( "$Word->{ActivePrinter} = $ARGV[1]; " + ls );
+ out.write( "$Word->ActiveDocument->PrintOut({ " + ls );
+ out.write( " Background => 0, " + ls );
+ out.write( " Append => 0, " + ls );
+ out.write( " Range => wdPrintAllDocument, " + ls );
+ out.write( " Item => wdPrintDocumentContent, " + ls );
+ out.write( " Copies => 1, " + ls );
+ out.write( " PageType => wdPrintAllPages, " + ls );
+ out.write( " PrintToFile => 1, " + ls );
+ out.write( " OutputFileName => $ARGV[2] " + ls );
+ out.write( " }); " + ls );
+ out.write( "$Word->{ActivePrinter} = $oldActivePrinte; " + ls );
+ out.write( "my $stopPrintWordTime = Time::HiRes::time() - $startPrintWordTime;" + ls);
+
+ out.write( "# ActiveDocument.Close(SaveChanges:=WdSaveOptions.wdDoNotSaveChanges)" + ls );
+ out.write( "my $sVersion = $Word->Application->Version();"+ls);
+ out.write( "$Word->ActiveDocument->Close({SaveChanges => 0}); " + ls );
+ out.write( "$Word->Quit(); " + ls );
+
+ out.write( "local *FILE;" + ls);
+ out.write( "if (open(FILE, \">$ENV{HOME}/msofficeloadtimes.txt\"))" + ls);
+ out.write( "{" + ls);
+ out.write( " print FILE \"name=$ARGV[0]\\n\";" + ls);
+ out.write( " print FILE \"WordVersion=$sVersion\\n\";" + ls);
+ out.write( " print FILE \"WordStartTime=$stopWordTime\\n\";" + ls);
+ out.write( " print FILE \"WordLoadTime=$stopLoadWordTime\\n\";" + ls);
+ out.write( " print FILE \"WordPrintTime=$stopPrintWordTime\\n\";" + ls);
+ out.write( " close(FILE);" + ls);
+ out.write( "}" + ls);
+ out.close();
+
+ aList.add(getPerlExe());
+ aList.add(sFileName);
+ return aList;
+ }
+
+ // TODO: Maybe give a possibility to say where search the script from outside
+
+ ArrayList<String> searchLocalFile(String _sScriptName)
+ {
+ String userdir = System.getProperty("user.dir");
+
+ ArrayList<String> aList = new ArrayList<String>();
+ String sFileName = FileHelper.appendPath(userdir, _sScriptName);
+ File aPerlScript = new File(sFileName);
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.println("Search for local existance of " + aPerlScript.getAbsolutePath());
+ }
+
+ if (aPerlScript.exists())
+ {
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.println("OK, found it, use this instead the internal one.");
+ }
+
+ String sName = aPerlScript.getAbsolutePath();
+ // String sCommand = "perl " + sName;
+ // System.out.println(sCommand);
+ aList.add("perl");
+ aList.add(sName);
+ return aList;
+ }
+ return aList;
+ }
+
+ ArrayList<String> createWordStoreHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+
+ // ArrayList aList = new ArrayList();
+ String sSaveViaWord = "saveViaWord.pl";
+
+ ArrayList<String> aList = searchLocalFile(sSaveViaWord);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+
+ String sName = FileHelper.appendPath(sTmpPath, sSaveViaWord);
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.println("No local found, create a perl script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile);
+
+ out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( " " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Windows only.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE; " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Word'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: storeViaWord.pl <Word file> <output filer> <output file> \\n\" " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print 'Too less arguments.\\n'; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "my $Word = Win32::OLE->new('Word.Application'); " + ls );
+ out.write( "# $Word->{'Visible'} = 1; # if you want to see what's going on " + ls );
+ out.write( "my $Book = $Word->Documents->Open($ARGV[0]) " + ls );
+ out.write( " || die('Unable to open document ', Win32::OLE->LastError()); " + ls );
+ out.write( "# my $oldActivePrinte = $Word->{ActivePrinter} ; " + ls );
+ out.write( "# $Word->{ActivePrinter} = $ARGV[1]; " + ls );
+ out.write( "# $Word->ActiveDocument->PrintOut({ " + ls );
+ out.write( "# Background => 0, " + ls );
+ out.write( "# Append => 0, " + ls );
+ out.write( "# Range => wdPrintAllDocument, " + ls );
+ out.write( "# Item => wdPrintDocumentContent, " + ls );
+ out.write( "# Copies => 1, " + ls );
+ out.write( "# PageType => wdPrintAllPages, " + ls );
+ out.write( "# PrintToFile => 1, " + ls );
+ out.write( "# OutputFileName => $ARGV[2] " + ls );
+ out.write( "# }); " + ls );
+ out.write( "# $Word->{ActivePrinter} = $oldActivePrinte; " + ls );
+ out.write( "$Book->savaAs($ARGV[2], $ARGV[1]); " + ls );
+ out.write( "# ActiveDocument.Close(SaveChanges:=WdSaveOptions.wdDoNotSaveChanges)" + ls );
+ out.write( "$Book->Close({SaveChanges => 0}); " + ls );
+ out.write( "$Word->Quit(); " + ls );
+ out.close();
+
+ aList.add(getPerlExe());
+ aList.add(sName);
+ return aList;
+ }
+
+
+ ArrayList<String> createExcelPrintHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+
+ String sPrintViaExcel = "printViaExcel.pl";
+
+ ArrayList<String> aList = searchLocalFile(sPrintViaExcel);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+ String sName = FileHelper.appendPath(sTmpPath, sPrintViaExcel);
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.println("No local found, create a perl script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile);
+
+ // out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ // out.write( " if 0; " + ls );
+ out.write("#BEGIN" + ls);
+ out.write("#{" + ls);
+ out.write("#" + ls);
+ out.write("# # insert HACK" + ls);
+ out.write("# unshift(@INC, '');" + ls);
+ out.write("#}" + ls);
+ out.write( "use strict; " + ls );
+ out.write( " " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Windows only.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE qw(in with); " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Excel'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: printViaExcel.pl <Excel file> <name of printer> <output file> .\\n " + ls );
+ out.write( " Please use the same string for the name of the printer as you can find \\n " + ls );
+ out.write( " under Start-Control Panel-Printer and Faxes \\n " + ls );
+ out.write( " The name could look like the the following line: \\n " + ls );
+ out.write( " Apple LaserWriter II NT v47.0 \\n " + ls );
+ out.write( " Sample command line: \\n " + ls );
+ out.write( " execl_print.pl c:\\book1.xls Apple LaserWriter II NT v47.0 c:\\output\\book1.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "$Win32::OLE::Warn = 3; # die on errors... " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Too less arguments.\\n\"; " + ls );
+ out.write( " print STDERR \"ARGV[0] $ARGV[0]\\n\"; " + ls );
+ out.write( " print STDERR \"ARGV[1] $ARGV[1]\\n\"; " + ls );
+ out.write( " print STDERR \"ARGV[2] $ARGV[2]\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $Excel = Win32::OLE->GetActiveObject('Excel.Application') " + ls );
+ out.write( " || Win32::OLE->new('Excel.Application', 'Quit'); # get already active Excel " + ls );
+ out.write( " # application or open new " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "my $Book = $Excel->Workbooks->Open( $ARGV[0] ); " + ls );
+ out.write( " $Book->PrintOut({Copies => 1, " + ls );
+ out.write( " ActivePrinter => $ARGV[1], " + ls );
+ out.write( " PrToFileName => $ARGV[2], " + ls );
+ out.write( " Collate => 1 " + ls );
+ out.write( " }); " + ls );
+ out.write( "# Close worksheets without store changes" + ls );
+ out.write( "# $Book->Close({SaveChanges => 0}); " + ls );
+ out.write( "my $sVersion = $Excel->Application->Version();"+ls);
+ out.write( "$Excel->Quit(); " + ls );
+ out.write( "local *FILE;" + ls);
+ out.write( "if (open(FILE, \">$ENV{HOME}/msofficeloadtimes.txt\"))" + ls);
+ out.write( "{" + ls);
+ out.write( " print FILE \"name=$ARGV[0]\\n\";" + ls);
+ out.write( " print FILE \"ExcelVersion=$sVersion\\n\";" + ls);
+// out.write( " print FILE \"WordStartTime=$stopWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordLoadTime=$stopLoadWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordPrintTime=$stopPrintWordTime\\n\";" + ls);
+ out.write( " close(FILE);" + ls);
+ out.write( "}" + ls);
+ out.close();
+
+ aList.add(getPerlExe());
+ aList.add(sName);
+ return aList;
+ }
+
+ ArrayList<String> createExcelStoreHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+
+ String sSaveViaExcel = "saveViaExcel.pl";
+
+ ArrayList<String> aList = searchLocalFile(sSaveViaExcel);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+ String sName = FileHelper.appendPath(sTmpPath, sSaveViaExcel);
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.println("No local found, create a script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile);
+
+ out.write( "eval 'exec perl -wS $0 ${1+\"$@\"}' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( "# This script is automatically created. " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE qw(in with); " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft Excel'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: savaViaExcel.pl <Excel file> <filefilter> <output file> .\\n " + ls );
+ out.write( " execl_print.pl c:\\book1.xls Apple LaserWriter II NT v47.0 c:\\output\\book1.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "$Win32::OLE::Warn = 3; # die on errors... " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV != 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Too less arguments.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $Excel = Win32::OLE->GetActiveObject('Excel.Application') " + ls );
+ out.write( " || Win32::OLE->new('Excel.Application', 'Quit'); # get already active Excel " + ls );
+ out.write( " # application or open new " + ls );
+ out.write( "my $sFilterParameter = $ARGV[1]; " + ls );
+ out.write( "my $sFilterName = xlHTML; " + ls );
+ out.write( "if ($sFilterParameter eq 'xlXMLSpreadsheet') " + ls );
+ out.write( "{ " + ls );
+ out.write( " $sFilterName = xlXMLSpreadsheet; " + ls );
+ out.write( "} " + ls );
+ out.write( "elsif ($sFilterParameter eq 'xlHTML') " + ls );
+ out.write( "{ " + ls );
+ out.write( " $sFilterName = xlHTML; " + ls );
+ out.write( "} " + ls );
+ out.write( "else " + ls );
+ out.write( "{ " + ls );
+ out.write( " my $undefined; " + ls);
+ out.write( " $sFilterName = $undefined; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $Book = $Excel->Workbooks->Open( $ARGV[0] ); " + ls );
+ out.write( "$Excel->{DisplayAlerts} = 0; " + ls );
+ out.write( "$Book->saveAs($ARGV[2], " + ls );
+ out.write( " $sFilterName, " + ls );
+ out.write( " '', " + ls );
+ out.write( " '', " + ls );
+ out.write( " 0, " + ls );
+ out.write( " 0, " + ls );
+ out.write( " xlNoChange, " + ls );
+ out.write( " xlLocalSessionChanges, " + ls );
+ out.write( " 1); " + ls );
+ out.write( "# Close worksheets without store changes" + ls );
+ out.write( "# $Book->Close({SaveChanges => 0}); " + ls );
+ out.write( "$Excel->Quit(); " + ls );
+ out.close();
+
+ aList.add(getPerlExe());
+ aList.add(sName);
+ return aList;
+ }
+
+ ArrayList<String> createPowerPointPrintHelper() throws java.io.IOException
+ {
+ // create a program in tmp file
+ String sTmpPath = util.utils.getUsersTempDir();
+ String ls = System.getProperty("line.separator");
+
+ String sPrintViaPowerPoint = "printViaPowerPoint.pl";
+
+ ArrayList<String> aList = searchLocalFile(sPrintViaPowerPoint);
+ if (aList.isEmpty() == false)
+ {
+ return aList;
+ }
+ String sName = FileHelper.appendPath(sTmpPath, sPrintViaPowerPoint);
+ if (FileHelper.isDebugEnabled())
+ {
+ GlobalLogWriter.println("No local found, create a script: " + sName);
+ }
+
+ File aFile = new File(sName);
+ FileWriter out = new FileWriter(aFile);
+
+
+ out.write( "eval 'exec perl -wS $0 $1 $2 ' " + ls );
+ out.write( " if 0; " + ls );
+ out.write( "use strict; " + ls );
+ out.write( " " + ls );
+ out.write( "if ( $^O ne \"MSWin32\") " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Windows only.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "use Win32::OLE qw(in with); " + ls );
+ out.write( "use Win32::OLE::Const 'Microsoft PowerPoint'; " + ls );
+ out.write( " " + ls );
+ out.write( "# ------ usage ------ " + ls );
+ out.write( "sub print_usage() " + ls );
+ out.write( "{ " + ls );
+ out.write( " print STDERR \"Usage: powerpoint_print.pl <PowerPoint file> <name of printer> <output file> .\\n " + ls );
+ out.write( " Please use the same string for the name of the printer as you can find \\n " + ls );
+ out.write( " under Start-Control Panel-Printer and Faxes \\n " + ls );
+ out.write( " The name could look like the the following line: \\n " + ls );
+ out.write( " Apple LaserWriter II NT v47.0 \\n " + ls );
+ out.write( " Sample command line: \\n " + ls );
+ out.write( " powerpoint_print.pl c:\\book.ppt Apple LaserWriter II NT v47.0 c:\\output\\book.ps \\n\"; " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "$Win32::OLE::Warn = 3; # die on errors... " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( "if ($#ARGV < 2) " + ls );
+ out.write( "{ " + ls );
+ out.write( " print \"Too less arguments.\\n\"; " + ls );
+ out.write( " print_usage(); " + ls );
+ out.write( " exit(1); " + ls );
+ out.write( "} " + ls );
+ out.write( " " + ls );
+ out.write( "my $PowerPoint = Win32::OLE->GetActiveObject('PowerPoint.Application') " + ls );
+ out.write( " || Win32::OLE->new('PowerPoint.Application', 'Quit'); # get already active Excel " + ls );
+ out.write( " # application or open new " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " " + ls );
+ out.write( " $PowerPoint->{'Visible'} = 1; " + ls );
+ out.write( " my $Presentation = $PowerPoint->Presentations->Add; " + ls );
+ out.write( " my $Presentation = $PowerPoint->Presentations->Open( $ARGV[0] ); " + ls );
+ out.write( "# we can't change active printer in powerpoint " + ls );
+ out.write( "# $Presentation->PrintOptions->{ActivePrinter} = $ARGV[1]; " + ls );
+ out.write( " print \"Active printer is: \" . $Presentation->PrintOptions->{ActivePrinter} . \"\\n\"; " + ls );
+ out.write( " $Presentation->PrintOptions->{PrintInBackground} = 0; " + ls );
+ out.write( " # PrintColorType = 1 means print in color and PrintColorType = 2 means print in gray " + ls );
+ out.write( " $Presentation->PrintOptions->{PrintColorType} = 1; " + ls );
+ out.write( " " + ls );
+ out.write( " $Presentation->PrintOut({PrintToFile => $ARGV[2]}); " + ls );
+ out.write( " sleep 5; " + ls );
+ out.write( " print \"Presentation has been printed\\n\"; " + ls );
+ out.write( "my $sVersion = $Presentation->Application->Version();"+ls);
+ out.write( " $PowerPoint->Quit(); " + ls );
+
+ out.write( "local *FILE;" + ls);
+ out.write( "if (open(FILE, \">$ENV{HOME}/msofficeloadtimes.txt\"))" + ls);
+ out.write( "{" + ls);
+ out.write( " print FILE \"name=$ARGV[0]\\n\";" + ls);
+ out.write( " print FILE \"PowerPointVersion=$sVersion\\n\";" + ls);
+// out.write( " print FILE \"WordStartTime=$stopWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordLoadTime=$stopLoadWordTime\\n\";" + ls);
+// out.write( " print FILE \"WordPrintTime=$stopPrintWordTime\\n\";" + ls);
+ out.write( " close(FILE);" + ls);
+ out.write( "}" + ls);
+ out.close();
+
+ aList.add(getPerlExe());
+ aList.add(sName);
+ return aList;
+ }
+
+ /**
+ @param _sFilename a name to a ms office xml file
+ @return 'word' or 'excel' or '' if type not known
+ */
+ public String getOfficeType(String _sFilename)
+ {
+ File aFile = new File(_sFilename);
+ if (! aFile.exists())
+ {
+ GlobalLogWriter.println("couldn't find file " + _sFilename);
+ return "";
+ }
+ RandomAccessFile aReader = null;
+ String sOfficeType = "";
+ try
+ {
+ aReader = new RandomAccessFile(aFile,"r");
+ String aLine = "";
+ while (aLine != null)
+ {
+ aLine = aReader.readLine();
+ if (aLine != null)
+ {
+ aLine = aLine.trim();
+ if ( (! (aLine.length() < 2) ) &&
+ (! aLine.startsWith("#")) &&
+ (! aLine.startsWith(";")) )
+ {
+ int nIdx = aLine.indexOf("mso-application");
+ if (nIdx > 0)
+ {
+ if (aLine.indexOf("Word.Document") > 0)
+ {
+ sOfficeType = "word";
+ }
+ else if (aLine.indexOf("Excel") > 0)
+ {
+ sOfficeType = "excel";
+ }
+ else
+ {
+ GlobalLogWriter.println("Unknown/unsupported data file: " + aLine);
+ }
+ }
+ }
+ }
+ }
+ }
+ catch (java.io.FileNotFoundException fne)
+ {
+ System.out.println("couldn't open file " + _sFilename);
+ System.out.println("Message: " + fne.getMessage());
+ }
+ catch (java.io.IOException ie)
+ {
+ System.out.println("Exception while reading file " + _sFilename);
+ System.out.println("Message: " + ie.getMessage());
+ }
+ try
+ {
+ aReader.close();
+ }
+ catch (java.io.IOException ie)
+ {
+ System.out.println("Couldn't close file " + _sFilename);
+ System.out.println("Message: " + ie.getMessage());
+ }
+ return sOfficeType;
+ }
+
+ private static String getXMLDocumentFormat(String _sInputFile)
+ {
+ String sType = "word"; // default
+ try
+ {
+ // ---- Parse XML file ----
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ // factory.setNamespaceAware( true );
+ // factory.setValidating( true );
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document document = builder.parse( new File (_sInputFile) );
+ Node rootNode = document.getDocumentElement();
+
+ // ---- Get list of nodes to given tag ----
+ // document.
+ // NodeList ndList = document.getElementsByTagName( sToSearch /* argv[2] */ );
+ // System.out.println( "\nNode list at the beginning:" );
+ String sRootNodeName = rootNode.getNodeName();
+ if (sRootNodeName.equals("w:wordDocument"))
+ {
+ sType = "word";
+ }
+ else if (sRootNodeName.equals("WorkBook"))
+ {
+ sType = "excel";
+ }
+ // there exists no powerpoint xml representation in MSOffice 2003
+ else
+ {
+ GlobalLogWriter.println("Error: unknown root node: '" + sRootNodeName + "' please check the document. Try to use Word as default.");
+ sType = "word"; // default
+ }
+ // printNodesFromList( ndList );
+ }
+ catch (java.lang.Exception e)
+ {
+ }
+ return sType;
+ }
+
+// public static void main(String [] _args)
+// {
+// String sTest = getXMLDocumentFormat("c:/cws/temp/input/Blah Fasel.xml");
+// }
+}
diff --git a/qadevOOo/runner/graphical/Office.java b/qadevOOo/runner/graphical/Office.java
new file mode 100644
index 000000000000..8ecee36cc742
--- /dev/null
+++ b/qadevOOo/runner/graphical/Office.java
@@ -0,0 +1,170 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+import java.util.ArrayList;
+
+/**
+ *
+ * @author ll93751
+ */
+public class Office implements IOffice
+{
+ private ParameterHelper m_aParameterHelper;
+ private String m_sDocumentName;
+ private String m_sResult;
+ private IOffice m_aOffice = null;
+
+ public Office(ParameterHelper _aParam, String _sResult)
+ {
+ m_aParameterHelper = _aParam;
+ m_sResult = _sResult;
+
+ if (_aParam.getReferenceType().toLowerCase().equals("ooo") ||
+ _aParam.getReferenceType().toLowerCase().equals("ps") ||
+ _aParam.getReferenceType().toLowerCase().equals("pdf"))
+ {
+ m_aOffice = new OpenOfficePostscriptCreator(_aParam, m_sResult);
+ }
+ else if (_aParam.getReferenceType().toLowerCase().equals("msoffice"))
+ {
+ m_aOffice = new MSOfficePostscriptCreator(_aParam, m_sResult);
+ }
+ }
+
+
+ /**
+ * Load a document with an already started Office.
+ * @param _sDocumentName
+ * @throws graphical.OfficeException
+ */
+ public void load(String _sDocumentName) throws OfficeException
+ {
+ m_sDocumentName = _sDocumentName;
+ // check if given file is a picture, then do nothing
+ String sDocumentSuffix = FileHelper.getSuffix(m_sDocumentName);
+ if (sDocumentSuffix.toLowerCase().endsWith(".png") ||
+ sDocumentSuffix.toLowerCase().endsWith(".gif") ||
+ sDocumentSuffix.toLowerCase().endsWith(".jpg") ||
+ sDocumentSuffix.toLowerCase().endsWith(".bmp"))
+ {
+ throw new OfficeException("The given document is not a document type.");
+ }
+
+ // TODO: we should start the office after we know if we really need an Office.
+ if (m_aOffice != null)
+ {
+ if (sDocumentSuffix.toLowerCase().endsWith(".odb"))
+ {
+ if (m_aParameterHelper.getReferenceType().toLowerCase().equals("msoffice"))
+ {
+ // we can't handle .odb with msoffice
+ return;
+ }
+ // TODO: run through all documents which exists as reports in odb files
+ OpenOfficeDatabaseReportExtractor aExtractor = new OpenOfficeDatabaseReportExtractor(m_aParameterHelper);
+ ArrayList aList = aExtractor.load(m_sDocumentName);
+ if (aList != null)
+ {
+ // remove the whole section about the 'name'.odb there are no information we need
+ // we will create a new one.
+ String sIniFile = FileHelper.appendPath(m_sResult, "index.ini");
+ IniFile aIniFile2 = new IniFile(sIniFile);
+ String sSection = FileHelper.getBasename(_sDocumentName); // name of the odb file
+ aIniFile2.removeSection(sSection);
+ aIniFile2.close();
+
+ for (int i=0; i<aList.size();i++)
+ {
+ String sDocumentName = (String)aList.get(i);
+ m_aOffice.load(sDocumentName);
+ m_aOffice.storeAsPostscript();
+
+
+ // foreach Report found in the .odb file, create an entry 'report'<number> in the original <name>.odb Section
+ // so it is possible to run through all reports by the given .odb name
+ IniFile aIniFile = new IniFile(sIniFile);
+ // String sSection = FileHelper.getBasename(_sDocumentName); // name of the odb file
+ int nFileCount = aIniFile.getIntValue(sSection, "reportcount", 0);
+ String sValue = FileHelper.getBasename(sDocumentName); // name of the corresponding report
+ aIniFile.insertValue(sSection, "report" + nFileCount, sValue);
+ aIniFile.insertValue(sSection, "reportcount", nFileCount + 1);
+ aIniFile.close();
+ }
+ }
+ else
+ {
+ throw new OfficeException("Can't open the document " + m_sDocumentName);
+ }
+ }
+ else
+ {
+ m_aOffice.load(_sDocumentName);
+ }
+ }
+ }
+
+ public void storeAsPostscript() throws OfficeException
+ {
+ if (m_aOffice != null)
+ {
+ if (m_sDocumentName.endsWith(".odb"))
+ {
+ // this has already be done by load() for odb files.
+ }
+ else
+ {
+ m_aOffice.storeAsPostscript();
+ }
+
+// FileHelper.addBasenameToIndex(sOutputFilename);
+ }
+ }
+
+ public void start() throws OfficeException
+ {
+ if (m_aOffice != null)
+ {
+ m_aOffice.start();
+ }
+ }
+
+ public void close() throws OfficeException
+ {
+ if (m_aOffice != null)
+ {
+ m_aOffice.close();
+ }
+ }
+
+
+
+
+}
diff --git a/qadevOOo/runner/graphical/OfficeException.java b/qadevOOo/runner/graphical/OfficeException.java
new file mode 100644
index 000000000000..bc5a24fd5b97
--- /dev/null
+++ b/qadevOOo/runner/graphical/OfficeException.java
@@ -0,0 +1,45 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+/**
+ *
+ * @author ll93751
+ * Exception which occur if something goes wrong at load document.
+ */
+
+public class OfficeException extends Exception
+{
+ public OfficeException(String _aMessage)
+ {
+ super(_aMessage);
+ }
+
+}
diff --git a/qadevOOo/runner/graphical/OpenOfficeDatabaseReportExtractor.java b/qadevOOo/runner/graphical/OpenOfficeDatabaseReportExtractor.java
new file mode 100644
index 000000000000..a0592d5ce143
--- /dev/null
+++ b/qadevOOo/runner/graphical/OpenOfficeDatabaseReportExtractor.java
@@ -0,0 +1,560 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.FrameSearchFlag;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.sdb.XOfficeDatabaseDocument;
+import com.sun.star.sdb.XReportDocumentsSupplier;
+import com.sun.star.sdb.application.XDatabaseDocumentUI;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import complexlib.Assurance;
+// import complexlib.ComplexTestCase.AssureException;
+import helper.OfficeProvider;
+import helper.PropertyHelper;
+import helper.URLHelper;
+import java.io.File;
+import java.util.ArrayList;
+
+/**
+ *
+ * @author ll93751
+ */
+
+class PropertySetHelper
+{
+ XPropertySet m_xPropertySet;
+ public PropertySetHelper(Object _aObj)
+ {
+ m_xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, _aObj);
+ }
+
+ /**
+ get a property and don't convert it
+ @param _sName the string name of the property
+ @return the object value of the property without any conversion
+ */
+ public Object getPropertyValueAsObject(String _sName)
+ {
+ Object aObject = null;
+
+ if (m_xPropertySet != null)
+ {
+ try
+ {
+ aObject = m_xPropertySet.getPropertyValue(_sName);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ System.out.println("ERROR: UnknownPropertyException caught. '" + _sName + "'");
+ System.out.println("Message: " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ System.out.println("ERROR: WrappedTargetException caught.");
+ System.out.println("Message: " + e.getMessage());
+ }
+ }
+ return aObject;
+ }
+}
+
+public class OpenOfficeDatabaseReportExtractor extends Assurance
+{
+ private ParameterHelper m_aParameterHelper;
+
+ public OpenOfficeDatabaseReportExtractor(ParameterHelper _aParameter)
+ {
+ m_aParameterHelper = _aParameter;
+ }
+
+ private XDesktop m_xDesktop = null;
+ private XDesktop getXDesktop()
+ {
+
+ if (m_xDesktop == null)
+ {
+ try
+ {
+ XInterface xInterface = (XInterface) getMultiServiceFactory().createInstance( "com.sun.star.frame.Desktop" );
+ m_xDesktop = UnoRuntime.queryInterface(XDesktop.class, xInterface);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.println("ERROR: uno.Exception caught");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ }
+ }
+ return m_xDesktop;
+ }
+
+ private void showElements(XNameAccess _xNameAccess)
+ {
+ if (_xNameAccess != null)
+ {
+ String[] sElementNames = _xNameAccess.getElementNames();
+ for(int i=0;i<sElementNames.length; i++)
+ {
+ System.out.println("Value: [" + i + "] := " + sElementNames[i]);
+ }
+ }
+ else
+ {
+ System.out.println("Warning: Given object is null.");
+ }
+ }
+
+
+ private OfficeProvider m_aProvider = null;
+ private XMultiServiceFactory m_xMultiServiceFactory = null;
+ private XMultiServiceFactory getMultiServiceFactory()
+ {
+ if (m_xMultiServiceFactory == null)
+ {
+ m_xMultiServiceFactory = m_aParameterHelper.getMultiServiceFactory();
+ }
+ return m_xMultiServiceFactory;
+ }
+// private void startOffice()
+// {
+// // int tempTime = m_aParameterHelper.getTestParameters().getInt("SingleTimeOut");
+// param.put("TimeOut", new Integer(300000));
+// System.out.println("TimeOut: " + param.getInt("TimeOut"));
+// System.out.println("ThreadTimeOut: " + param.getInt("ThreadTimeOut"));
+//
+// // OfficeProvider aProvider = null;
+// m_aProvider = new OfficeProvider();
+// m_xXMultiServiceFactory = (XMultiServiceFactory) m_aProvider.getManager(param);
+// param.put("ServiceFactory", m_xXMultiServiceFactory);
+// }
+//
+// private void stopOffice()
+// {
+// if (m_aProvider != null)
+// {
+// m_aProvider.closeExistingOffice(param, true);
+// m_aProvider = null;
+// }
+// TimeHelper.waitInSeconds(2, "Give close Office some time.");
+// }
+
+ private String m_sMailAddress = null;
+ private String m_sParentDistinct = null;
+
+ // private String m_sUPDMinor;
+ // private String m_sCWS_WORK_STAMP;
+
+ private static String m_sSourceVersion;
+ private static String m_sDestinationVersion;
+ private static String m_sSourceName;
+ private static String m_sDestinationName;
+
+ private static final int WRITER = 1;
+ private static final int CALC = 2;
+
+ /**
+ * This is the main test Function of current ReportDesignerTest
+ * @param _sDocument
+ * @return
+ */
+
+ public ArrayList<String> load(String _sDocument /*, int _nType*/)
+ {
+ // We need to copy the database file to a place where we have write access, NEVER use the docpool for this
+ String sOutputPath = m_aParameterHelper.getOutputPath();
+ File aOutputPath = new File(sOutputPath);
+ aOutputPath.mkdirs();
+
+ String sFilename = FileHelper.getBasename(_sDocument);
+ String sDestinationFile = FileHelper.appendPath(sOutputPath, sFilename);
+ FileHelper.copy(_sDocument, sDestinationFile);
+
+ // now the fix reference of the AbsoluteReferenceFile should exist.
+ assure("There exists no file: " + sDestinationFile, FileHelper.exists(sDestinationFile));
+
+ String sFileURL = URLHelper.getFileURLFromSystemPath(sDestinationFile);
+ GlobalLogWriter.println("File URL: " + sFileURL);
+
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+
+ // FYI: it is not allowed to open the document read only
+// PropertyValue aReadOnly = new PropertyValue(); // always overwrite already exist files
+// aReadOnly.Name = "ReadOnly";
+// aReadOnly.Value = Boolean.TRUE;
+// aPropertyList.add(aReadOnly);
+
+ XComponent xDocComponent = loadComponent(sFileURL, getXDesktop(), aPropertyList);
+
+ GlobalLogWriter.println("Load done");
+// context = createUnoService("com.sun.star.sdb.DatabaseContext")
+// oDataBase = context.getByName("hh")
+// oDBDoc = oDataBase.DatabaseDocument
+//
+// dim args(1) as new com.sun.star.beans.PropertyValue
+// args(0).Name = "ActiveConnection"
+// args(0).Value = oDBDoc.getCurrentController().getPropertyValue("ActiveConnection")
+// reportContainer = oDBDoc.getReportDocuments()
+// report = reportContainer.loadComponentFromURL("Report40","",0,args)
+
+ ArrayList<String> aList = null;
+ try
+ {
+// XInterface x = (XInterface)getMultiServiceFactory().createInstance("com.sun.star.sdb.DatabaseContext");
+// assure("can't create instance of com.sun.star.sdb.DatabaseContext", x != null);
+// GlobalLogWriter.println("createInstance com.sun.star.sdb.DatabaseContext done");
+
+// XNameAccess xNameAccess = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, x);
+// showElements(xNameAccess);
+// Object aObj = xNameAccess.getByName(sFileURL);
+// GlobalLogWriter.println("1");
+
+// PropertySetHelper aHelper = new PropertySetHelper(aObj);
+// XDocumentDataSource xDataSource = (XDocumentDataSource)UnoRuntime.queryInterface(XDocumentDataSource.class, aObj);
+// Object aDatabaseDocument = aHelper.getPropertyValueAsObject("DatabaseDocument");
+// XOfficeDatabaseDocument xOfficeDBDoc = xDataSource.getDatabaseDocument();
+
+ XOfficeDatabaseDocument xOfficeDBDoc = UnoRuntime.queryInterface(XOfficeDatabaseDocument.class, xDocComponent);
+
+// XOfficeDatabaseDocument xOfficeDBDoc = (XOfficeDatabaseDocument)UnoRuntime.queryInterface(XOfficeDatabaseDocument.class, xDataSource);
+ assure("can't access DatabaseDocument", xOfficeDBDoc != null);
+// GlobalLogWriter.println("2");
+
+ XModel xDBSource = UnoRuntime.queryInterface(XModel.class, xOfficeDBDoc);
+ Object aController = xDBSource.getCurrentController();
+ assure("Controller of xOfficeDatabaseDocument is empty!", aController != null);
+// GlobalLogWriter.println("3");
+
+ XDatabaseDocumentUI aDBDocUI = UnoRuntime.queryInterface(XDatabaseDocumentUI.class, aController);
+ aDBDocUI.connect();
+ boolean isConnect = aDBDocUI.isConnected();
+ if (isConnect)
+ {
+ GlobalLogWriter.println("Connection is true");
+ }
+ else
+ {
+ GlobalLogWriter.println("Connection is false");
+ }
+
+ // aHelper = new PropertySetHelper(aController);
+
+ XReportDocumentsSupplier xSupplier = UnoRuntime.queryInterface(XReportDocumentsSupplier.class, xOfficeDBDoc);
+ XNameAccess xNameAccess = xSupplier.getReportDocuments();
+ assure("xOfficeDatabaseDocument returns no Report Document", xNameAccess != null);
+// GlobalLogWriter.println("5");
+
+ showElements(xNameAccess);
+
+ // Object aActiveConnectionObj = aHelper.getPropertyValueAsObject("ActiveConnection");
+ Object aActiveConnectionObj = aDBDocUI.getActiveConnection();
+ assure("ActiveConnection is empty", aActiveConnectionObj != null);
+// GlobalLogWriter.println("5");
+
+ ArrayList<PropertyValue> aPropertyList2 = new ArrayList<PropertyValue>();
+
+ PropertyValue aActiveConnection = new PropertyValue();
+ aActiveConnection.Name = "ActiveConnection";
+ aActiveConnection.Value = aActiveConnectionObj;
+ aPropertyList2.add(aActiveConnection);
+
+ aList = loadAndStoreReports(xNameAccess, aPropertyList2 /*, _nType*/ );
+ createDBEntry(/*_nType*/);
+ }
+ catch(Exception/*com.sun.star.uno.Exception*/ e)
+ {
+ GlobalLogWriter.println("ERROR: Exception caught");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ }
+
+ // String mTestDocumentPath = (String) param.get("TestDocumentPath");
+ // System.out.println("mTestDocumentPath: '" + mTestDocumentPath + "'");
+ // // workaround for issue using deprecated "DOCPTH" prop
+ // System.setProperty("DOCPTH", mTestDocumentPath);
+
+ // Close the document
+ // util.utils.shortWait(2000);
+
+ closeComponent(xDocComponent);
+ return aList;
+ }
+
+ private String getDocumentPoolName(/*int _nType*/)
+ {
+ return "AutogenReportDesignTest";
+ // return getFileFormat(_nType);
+ }
+
+// -----------------------------------------------------------------------------
+ private void createDBEntry(/*int _nType*/)
+ {
+ // try to connect the database
+ String sDBConnection = (String)m_aParameterHelper.getTestParameters().get( convwatch.PropertyName.DB_CONNECTION_STRING );
+ if (sDBConnection != null && sDBConnection.length() > 0)
+ {
+ GlobalLogWriter.println("DBConnection: " + sDBConnection);
+// TODO: DB
+// DB.init(sDBConnection);
+
+ // String sFixRefSubDirectory = "ReportDesign_qa_complex_" + getFileFormat(_nType);
+ String sFixRefSubDirectory = "ReportDesignFixRef";
+
+ String sSourceVersion = m_sSourceVersion;
+ // String sSourceVersion = sFixRefSubDirectory;
+ String sSourceName = m_sSourceName;
+ // String sSourceCreatorType = "fixref";
+ String sSourceCreatorType = "";
+ String sDestinationVersion = m_sDestinationVersion;
+ // if (sDestinationVersion.length() == 0)
+ // {
+ // sDestinationVersion = m_sUPDMinor;
+ // }
+ String sDestinationName = m_sDestinationName;
+ String sDestinationCreatorType = "";
+ String sDocumentPoolDir = getOutputPath(/*_nType*/);
+ String sDocumentPoolName = getDocumentPoolName(/*_nType*/);
+ String sSpecial = "";
+
+// TODO: DB
+// DB.insertinto_documentcompare(sSourceVersion, sSourceName, sSourceCreatorType,
+// m_sDestinationVersion, sDestinationName, sDestinationCreatorType,
+// sDocumentPoolDir, sDocumentPoolName, m_sMailAddress,
+// sSpecial, m_sParentDistinct);
+ TimeHelper.waitInSeconds(1, "wait for DB.");
+ // DB.test();
+ // System.exit(1);
+ }
+ }
+
+ private ArrayList<String> loadAndStoreReports(XNameAccess _xNameAccess, ArrayList<PropertyValue> _aPropertyList /*, int _nType*/ )
+ {
+ ArrayList<String> aList = new ArrayList<String>();
+ if (_xNameAccess != null)
+ {
+ String[] sElementNames = _xNameAccess.getElementNames();
+ for(int i=0;i<sElementNames.length; i++)
+ {
+ String sReportName = sElementNames[i];
+ XComponent xDoc = loadComponent(sReportName, _xNameAccess, _aPropertyList);
+// util.utils.shortWait(1000);
+ // print? or store?
+ String sDocumentPathName = storeComponent(sReportName, xDoc /*, _nType*/);
+ aList.add(sDocumentPathName);
+// util.utils.shortWait(1000);
+ closeComponent(xDoc);
+// util.utils.shortWait(1000);
+ // sBackPath contains the path where to find the extracted ODB Document
+ }
+ }
+ return aList;
+ }
+
+ private String getFormatExtension(Object _xComponent /* int _nType*/ )
+ {
+ String sExtension;
+ XServiceInfo xServiceInfo = UnoRuntime.queryInterface( XServiceInfo.class, _xComponent );
+ if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
+ {
+ // calc
+ sExtension = ".ods";
+ }
+ else if (xServiceInfo.supportsService("com.sun.star.text.TextDocument"))
+ {
+ //writer
+ sExtension = ".odt";
+ }
+ else
+ {
+ sExtension = ".UNKNOWN";
+ }
+ return sExtension;
+ }
+
+ // switch(_nType)
+ // {
+ // case WRITER:
+ // sExtension = ".odt";
+ // break;
+ // case CALC:
+ // sExtension = ".ods";
+ // break;
+ // default:
+ // sExtension = ".UNKNOWN";
+ // }
+ // return sExtension;
+ // }
+ // private String getFileFormat(int _nType)
+ // {
+ // String sFileType;
+ // switch(_nType)
+ // {
+ // case WRITER:
+ // sFileType = "writer8";
+ // break;
+ // case CALC:
+ // sFileType = "calc8";
+ // break;
+ // default:
+ // sFileType = "UNKNOWN";
+ // }
+ // return sFileType;
+ // }
+
+ private String m_sOutputPath = null;
+
+ private String getOutputPath(/*int _nType*/)
+ {
+ if (m_sOutputPath == null)
+ {
+ String sOutputPath = (String)m_aParameterHelper.getTestParameters().get( convwatch.PropertyName.DOC_COMPARATOR_OUTPUT_PATH );
+ sOutputPath = helper.StringHelper.removeQuoteIfExists(sOutputPath);
+
+ // sOutputPath += "tmp_123";
+ sOutputPath = FileHelper.appendPath(sOutputPath, DateHelper.getDateTimeForFilename());
+ // sOutputPath += System.getProperty("file.separator");
+
+ // sOutputPath += getFileFormat(_nType);
+ // sOutputPath += System.getProperty("file.separator");
+
+ File aOutputFile = new File(sOutputPath); // create the directory of the given output path
+ aOutputFile.mkdirs();
+ m_sOutputPath = sOutputPath;
+ }
+ return m_sOutputPath;
+ }
+
+ /*
+ store given _xComponent under the given Name in DOC_COMPARATOR_INPUTPATH
+ */
+ private String storeComponent(String _sName, Object _xComponent /*, int _nType*/ )
+ {
+ String sOutputPath = getOutputPath(/*_nType*/);
+
+// // add DocumentPoolName
+// sOutputPath = FileHelper.appendPath(sOutputPath, getDocumentPoolName(/*_nType*/));
+// // sOutputPath += System.getProperty("file.separator");
+//
+// File aOutputFile = new File(sOutputPath); // create the directory of the given output path
+// aOutputFile.mkdirs();
+
+
+ String sName = _sName + getFormatExtension(_xComponent /*_nType*/);
+ sOutputPath = FileHelper.appendPath(sOutputPath, sName);
+
+ // we need the name and path
+ String sBackPathName = sOutputPath;
+
+ String sOutputURL = URLHelper.getFileURLFromSystemPath(sOutputPath);
+
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>(); // set some properties for storeAsURL
+
+ // PropertyValue aFileFormat = new PropertyValue();
+ // aFileFormat.Name = "FilterName";
+ // aFileFormat.Value = getFileFormat(_nType);
+ // aPropertyList.add(aFileFormat);
+
+ PropertyValue aOverwrite = new PropertyValue(); // always overwrite already exist files
+ aOverwrite.Name = "Overwrite";
+ aOverwrite.Value = Boolean.TRUE;
+ aPropertyList.add(aOverwrite);
+
+ // store the document in an other directory
+ XStorable aStorable = UnoRuntime.queryInterface( XStorable.class, _xComponent);
+ if (aStorable != null)
+ {
+ GlobalLogWriter.println("store document as URL: '" + sOutputURL + "'");
+ try
+ {
+ aStorable.storeAsURL(sOutputURL, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ GlobalLogWriter.println("ERROR: Exception caught");
+ GlobalLogWriter.println("Can't write document URL: '" + sOutputURL + "'");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ }
+ }
+ return sBackPathName;
+ }
+
+ private XComponent loadComponent(String _sName, Object _xComponent, ArrayList _aPropertyList)
+ {
+ XComponent xDocComponent = null;
+ XComponentLoader xComponentLoader = UnoRuntime.queryInterface( XComponentLoader.class, _xComponent );
+
+ try
+ {
+ PropertyValue[] aLoadProperties = PropertyHelper.createPropertyValueArrayFormArrayList(_aPropertyList);
+ GlobalLogWriter.println("Load component: '" + _sName + "'");
+ xDocComponent = xComponentLoader.loadComponentFromURL(_sName, "_blank", FrameSearchFlag.ALL, aLoadProperties);
+ GlobalLogWriter.println("Load component: '" + _sName + "' done");
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ GlobalLogWriter.println("ERROR: Exception caught");
+ GlobalLogWriter.println("Can't load document '" + _sName + "'");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ GlobalLogWriter.println("ERROR: Exception caught");
+ GlobalLogWriter.println("Illegal Arguments given to loadComponentFromURL.");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ }
+ return xDocComponent;
+ }
+
+ private void closeComponent(XComponent _xDoc)
+ {
+ // Close the document
+ XCloseable xCloseable = UnoRuntime.queryInterface(XCloseable.class, _xDoc);
+ try
+ {
+ xCloseable.close(true);
+ }
+ catch (com.sun.star.util.CloseVetoException e)
+ {
+ GlobalLogWriter.println("ERROR: CloseVetoException caught");
+ GlobalLogWriter.println("CloseVetoException occured Can't close document.");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java b/qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java
new file mode 100644
index 000000000000..d918634f8d30
--- /dev/null
+++ b/qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java
@@ -0,0 +1,1427 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import com.sun.star.frame.FrameSearchFlag;
+import com.sun.star.util.XCloseable;
+import helper.OfficeProvider;
+import helper.OfficeWatcher;
+import java.util.ArrayList;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.document.XTypeDetection;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.lang.XComponent;
+import com.sun.star.frame.XStorable;
+import com.sun.star.view.XPrintable;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.AnyConverter;
+
+import helper.URLHelper;
+import helper.PropertyHelper;
+import helper.OSHelper;
+
+// import helper.Parameter;
+import java.io.File;
+
+/**
+ * This Object is to print a given document with OpenOffice.org / StarOffice
+ * over the normal printer driver
+ * or over it's pdf exporter
+ */
+public class OpenOfficePostscriptCreator implements IOffice
+{
+ private ParameterHelper m_aParameterHelper;
+ private String m_sOutputURL;
+ private String m_sBasename;
+ private String m_sDocumentName;
+ private XComponent m_aDocument;
+
+ public OpenOfficePostscriptCreator(ParameterHelper _aParam, String _sResult)
+ {
+ m_aParameterHelper = _aParam;
+ String sOutputURL = _sResult;
+ if (! sOutputURL.startsWith("file:"))
+ {
+ sOutputURL = URLHelper.getFileURLFromSystemPath(_sResult);
+ }
+ m_sOutputURL = sOutputURL;
+ m_aDocument = null;
+ }
+
+
+ public void load(String _sDocumentName) throws OfficeException
+ {
+ m_sDocumentName = _sDocumentName;
+
+ String sInputFileURL = URLHelper.getFileURLFromSystemPath(m_sDocumentName);
+ m_aDocument = loadFromURL(m_aParameterHelper, sInputFileURL);
+ if (m_aDocument == null)
+ {
+ GlobalLogWriter.println("loadDocumentFromURL() failed with document: " + sInputFileURL);
+ throw new OfficeException("load(): failed with document" + sInputFileURL);
+ }
+
+ m_sBasename = FileHelper.getBasename(m_sDocumentName);
+ }
+
+ public void storeAsPostscript() throws OfficeException
+ {
+ if (m_aDocument != null)
+ {
+ String sDocumentName = FileHelper.appendPath(m_sOutputURL, m_sBasename);
+ if (m_aParameterHelper.getReferenceType().toLowerCase().equals("ooo") ||
+ m_aParameterHelper.getReferenceType().toLowerCase().equals("ps") )
+ {
+ String sPrintURL = sDocumentName + ".ps";
+
+ impl_printToFileWithOOo(m_aParameterHelper, m_aDocument, sDocumentName, sPrintURL /*_sPrintFileURL*/);
+ String sBasename = FileHelper.getBasename(sPrintURL);
+ FileHelper.addBasenameToIndex(m_sOutputURL, sBasename, "OOo", "postscript", m_sDocumentName);
+ }
+ else if (m_aParameterHelper.getReferenceType().toLowerCase().equals("pdf"))
+ {
+ String sPDFURL = sDocumentName + ".pdf";
+ storeAsPDF(m_aParameterHelper, m_aDocument, sPDFURL);
+
+ String sBasename = FileHelper.getBasename(sPDFURL);
+ FileHelper.addBasenameToIndex(m_sOutputURL, sBasename, "pdf", "pdf-export", m_sDocumentName);
+ }
+ else
+ {
+ throw new OfficeException("unknown reference type");
+ }
+ GlobalLogWriter.println("Close document.");
+ m_aDocument.dispose();
+ }
+ }
+
+ public void start() throws OfficeException
+ {
+ startOffice();
+ }
+
+ public void close() throws OfficeException
+ {
+ stopOffice();
+ }
+
+
+
+
+
+ private void showProperty(PropertyValue _aValue)
+ {
+ String sName = _aValue.Name;
+ String sValue;
+ try
+ {
+ sValue = AnyConverter.toString(_aValue.Value);
+ GlobalLogWriter.println("Property " + sName + ":=" + sValue);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ GlobalLogWriter.println("showProperty: can't convert a object to string. " + e.getMessage());
+ }
+ }
+
+ /**
+ * shows the FilterName and MediaType from the given XComponent
+ */
+ private String getDocumentType( XComponent _aDoc )
+ {
+ XModel xModel = UnoRuntime.queryInterface( XModel.class, _aDoc);
+ PropertyValue[] aArgs = xModel.getArgs();
+ for (int i=0;i<aArgs.length;i++)
+ {
+ PropertyValue aValue = aArgs[i];
+ // System.out.print("Property: '" + aValue.Name);
+ // System.out.println("' := '" + aValue.Value + "'");
+ if (aValue.Name.equals("FilterName") ||
+ aValue.Name.equals("MediaType"))
+ {
+ String sNameValue = "'" + aValue.Name + "' := '" + aValue.Value + "'";
+ return sNameValue;
+ }
+ }
+ return "";
+ }
+
+ private void showDocumentType( XComponent _aDoc )
+ {
+ String sNameValue = getDocumentType(_aDoc);
+ GlobalLogWriter.println(" Property: '" + sNameValue);
+ }
+ /**
+ * load a OpenOffice.org document from a given URL (_sInputURL)
+ * the ParameterHelper must contain a living MultiServiceFactory object
+ * or we crash here.
+ * Be aware, the ownership of the document gets to you, you have to close it.
+ */
+ private XComponent loadFromURL(ParameterHelper _aGTA,
+ String _sInputURL)
+ {
+ XComponent aDoc = null;
+ try
+ {
+ if (_aGTA.getMultiServiceFactory() == null)
+ {
+ GlobalLogWriter.println("MultiServiceFactory in GraphicalTestArgument not set.");
+ return null;
+ }
+ Object oDsk = _aGTA.getMultiServiceFactory().createInstance("com.sun.star.frame.Desktop");
+ XDesktop aDesktop = UnoRuntime.queryInterface(XDesktop.class, oDsk);
+
+ if (aDesktop != null)
+ {
+ GlobalLogWriter.println("com.sun.star.frame.Desktop created.");
+ // String sInputURL = aCurrentParameter.sInputURL;
+ // String sOutputURL = aCurrentParameter.sOutputURL;
+ // String sPrintFileURL = aCurrentParameter.sPrintToFileURL;
+ // System.out.println(_sInputURL);
+
+
+ // set here the loadComponentFromURL() properties
+ // at the moment only 'Hidden' is set, so no window is opened at work
+
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+
+ // check which properties should set and count it.
+ // if (_aGTA.isHidden())
+ // {
+ // nPropertyCount ++;
+ // }
+ // if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0)
+ // {
+ // nPropertyCount ++;
+ // }
+
+ // initialize the propertyvalue
+ // int nPropertyIndex = 0;
+ // aProps = new PropertyValue[ nPropertyCount ];
+
+ // set all property values
+ if (_aGTA.isHidden())
+ {
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "Hidden";
+ Arg.Value = Boolean.TRUE;
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ }
+ if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0)
+ {
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "FilterName";
+ Arg.Value = _aGTA.getImportFilterName();
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ }
+ PropertyValue ReadOnly = new PropertyValue();
+ ReadOnly.Name = "ReadOnly";
+ ReadOnly.Value = Boolean.TRUE;
+ aPropertyList.add(ReadOnly);
+ showProperty(ReadOnly);
+
+ GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Load document");
+ // GlobalLogWriter.flush();
+
+ XComponentLoader aCompLoader = UnoRuntime.queryInterface( XComponentLoader.class, aDesktop);
+
+ // XComponent aDoc = null;
+
+ _aGTA.getPerformance().startTime(PerformanceContainer.Load);
+ aDoc = aCompLoader.loadComponentFromURL(_sInputURL, "_blank", FrameSearchFlag.ALL, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList) );
+ _aGTA.getPerformance().stopTime(PerformanceContainer.Load);
+ if (aDoc != null)
+ {
+ GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Load document done.");
+ showDocumentType(aDoc);
+ _aGTA.setDocumentType(getDocumentType(aDoc));
+// TODO: TimeHelper.waitInSeconds(20, "Wait after load document. Maybe helps due to layouting problems.");
+ }
+ else
+ {
+ GlobalLogWriter.println(" Load document failed.");
+ if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0)
+ {
+ GlobalLogWriter.println(" Please check FilterName := '" + _aGTA.getImportFilterName() + "'");
+ }
+ GlobalLogWriter.println("");
+ }
+ }
+ else
+ {
+ GlobalLogWriter.println("com.sun.star.frame.Desktop failed.");
+ }
+ }
+ catch ( com.sun.star.uno.Exception e )
+ {
+ // Some exception occures.FAILED
+ GlobalLogWriter.println("UNO Exception caught.");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ e.printStackTrace();
+ aDoc = null;
+ }
+ return aDoc;
+ }
+
+ private boolean exportToPDF(XComponent _xComponent, String _sDestinationName)
+ {
+ XServiceInfo xServiceInfo =
+ UnoRuntime.queryInterface(
+ XServiceInfo.class, _xComponent
+ );
+
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+ PropertyValue aFiltername = new PropertyValue();
+ aFiltername.Name = "FilterName";
+ aFiltername.Value = getFilterName_forPDF(xServiceInfo);
+ aPropertyList.add(aFiltername);
+ showProperty(aFiltername);
+ boolean bWorked = true;
+
+// TODO: TimeHelper.waitInSeconds(20, "Wait before storeToURL. Maybe helps due to layouting problems.");
+ try
+ {
+ XStorable store =
+ UnoRuntime.queryInterface(
+ XStorable.class, _xComponent
+ );
+ store.storeToURL(_sDestinationName, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ GlobalLogWriter.println("IO Exception caught.");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+ bWorked = false;
+ }
+
+ return bWorked;
+ }
+
+
+ private String getFilterName_forPDF(XServiceInfo xServiceInfo)
+ {
+ String filterName = "";
+
+ if (xServiceInfo.supportsService("com.sun.star.text.TextDocument"))
+ {
+ //writer
+ filterName = "writer_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
+ {
+ //calc
+ filterName = "calc_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.drawing.DrawingDocument" ) )
+ {
+ //draw
+ filterName = "draw_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.presentation.PresentationDocument" ) )
+ {
+ //impress
+ filterName = "impress_pdf_Export";
+ }
+ else if (xServiceInfo.supportsService("com.sun.star.text.WebDocument"))
+ {
+ //html document
+ filterName = "writer_web_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService("com.sun.star.text.GlobalDocument") )
+ {
+ //master document
+ filterName = "writer_globaldocument_pdf_Export";
+ }
+ else if ( xServiceInfo.supportsService( "com.sun.star.formulaFormulaProperties" ) )
+ {
+ //math document
+ filterName = "math_pdf_Export";
+ }
+
+ return filterName;
+ }
+
+ // -----------------------------------------------------------------------------
+
+// public boolean storeAsPDF(ParameterHelper _aGTA,
+// String _sInputURL,
+// String _sOutputURL)
+// {
+// boolean bBack = false;
+// XComponent aDoc = loadFromURL(_aGTA, _sInputURL);
+//
+// if (aDoc == null)
+// {
+// GlobalLogWriter.println("Can't load document.");
+// return bBack;
+// }
+// bBack = storeAsPDF(_aGTA, aDoc, _sOutputURL);
+// FileHelper.createInfoFile(_sOutputURL, _aGTA, "as pdf");
+//
+// GlobalLogWriter.println("Close document.");
+// aDoc.dispose();
+// return bBack;
+// }
+
+ public boolean storeAsPDF(ParameterHelper _aGTA,
+ XComponent _aDoc,
+ String _sOutputURL) throws OfficeException
+ {
+ // try {
+ boolean bBack = true;
+ _aGTA.getPerformance().startTime(PerformanceContainer.StoreAsPDF);
+ bBack = exportToPDF(_aDoc, _sOutputURL);
+ _aGTA.getPerformance().stopTime(PerformanceContainer.StoreAsPDF);
+
+ if (!bBack)
+ {
+ GlobalLogWriter.println("Can't store document as PDF.");
+// bBack = false;
+ throw new OfficeException("Can't store document as PDF");
+ }
+ else
+ {
+ FileHelper.createInfoFile(_sOutputURL, _aGTA, "as pdf");
+ }
+ return bBack;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ /**
+ * print the document found in file (_sInputURL) to as postscript to file (_sPrintFileURL)
+ * Due to the fact we use a printer to convert the file to postscript, the default printer
+ * to create such postscript format must be installed, this is not tested here.
+ *
+ * @return true, if print has been done.
+ * Be careful, true means only print returns with no errors, to be sure print is really done
+ * check existance of _sPrintFileURL
+ */
+
+// public boolean printToFileWithOOo(ParameterHelper _aGTA,
+// String _sInputURL,
+// String _sOutputURL,
+// String _sPrintFileURL)
+// {
+// // waitInSeconds(1);
+// boolean bBack = false;
+//
+// XComponent aDoc = loadFromURL(_aGTA, _sInputURL);
+// if (aDoc != null)
+// {
+// if ( _sInputURL.equals(_sOutputURL) )
+// {
+// // don't store document
+// // input and output are equal OR
+// GlobalLogWriter.println("Warning: Inputpath and Outputpath are equal. Document will not stored again.");
+// disallowStore();
+// }
+// bBack = impl_printToFileWithOOo(_aGTA, aDoc, _sOutputURL, _sPrintFileURL);
+//
+// GlobalLogWriter.println("Close document.");
+// aDoc.dispose();
+// }
+// else
+// {
+// GlobalLogWriter.println("loadDocumentFromURL() failed with document: " + _sInputURL);
+// }
+// return bBack;
+// }
+
+
+
+ // -----------------------------------------------------------------------------
+ private boolean impl_printToFileWithOOo(ParameterHelper _aGTA,
+ XComponent _aDoc,
+ String _sOutputURL,
+ String _sPrintFileURL)
+ {
+ boolean bBack = false;
+ boolean bFailed = true; // always be a pessimist,
+ if (_aDoc == null)
+ {
+ GlobalLogWriter.println("No document is given.");
+ return bBack;
+ }
+
+ try
+ {
+ if (_sOutputURL != null)
+ {
+ if (isStoreAllowed())
+ {
+ // store the document in an other directory
+ XStorable aStorable = UnoRuntime.queryInterface( XStorable.class, _aDoc);
+ if (aStorable != null)
+ {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+
+ GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Store document.");
+ _aGTA.getPerformance().startTime(PerformanceContainer.Store);
+ aStorable.storeAsURL(_sOutputURL, szEmptyArgs);
+ _aGTA.getPerformance().stopTime(PerformanceContainer.Store);
+
+ GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Store document done.");
+ // TimeHelper.waitInSeconds(1, "After store as URL to:" + _sOutputURL);
+ GlobalLogWriter.println("Reload stored file test.");
+ XComponent aDoc = loadFromURL(_aGTA, _sOutputURL);
+ if (aDoc == null)
+ {
+ GlobalLogWriter.println("Reload stored file test failed, can't reload file: " + _sOutputURL);
+ }
+ else
+ {
+ XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, aDoc);
+ if (xClose != null)
+ {
+ xClose.close(true);
+ }
+ else
+ {
+ aDoc.dispose();
+ }
+ // TimeHelper.waitInSeconds(1, "after close temp document");
+ }
+ }
+ }
+ else
+ {
+ // make sure to create the directory in
+ String sOutputFilename = FileHelper.getSystemPathFromFileURL(_sOutputURL);
+ String sOutputPath = FileHelper.getPath(sOutputFilename);
+ File aFile = new File(sOutputPath);
+ aFile.mkdirs();
+ }
+ }
+ }
+ catch ( com.sun.star.uno.Exception e )
+ {
+ // Some exception occures.FAILED
+ GlobalLogWriter.println("UNO Exception caught.");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+
+ e.printStackTrace();
+ bBack = false;
+ }
+
+ try
+ {
+
+ // System.out.println("Document loaded.");
+ // Change Pagesettings to DIN A4
+
+ GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Print document.");
+ XPrintable aPrintable = UnoRuntime.queryInterface( XPrintable.class, _aDoc);
+ if (aPrintable != null)
+ {
+ // System.out.println(" Set PaperFormat to DIN A4");
+ // {
+ // PropertyValue[] aPrinterProps = aPrintable.getPrinter();
+ // System.out.println("PrinterProps size: " + String.valueOf(aPrinterProps.length));
+ // int nPropIndex = 0;
+ // while (!"PaperFormat".equals(aPrinterProps[nPropIndex].Name))
+ // {
+ // // System.out.println(aPrinterProps[nPropIndex].Name);
+ // nPropIndex++;
+ // }
+ // aPrinterProps[nPropIndex].Value = com.sun.star.view.PaperFormat.A4;
+ // aPrintable.setPrinter(aPrinterProps);
+ // }
+
+ // configure Office to allow to execute macos
+
+// TODO: We need a possiblity to set the printer name also for StarOffice/OpenOffice
+ if (OSHelper.isWindows())
+ {
+ if (_aGTA.getPrinterName() != null)
+ {
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+ // PropertyValue [] aPrintProps = new PropertyValue[1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "Name";
+ Arg.Value = _aGTA.getPrinterName();
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ // GlobalLogWriter.println("Printername is not null, so set to " + _aGTA.getPrinterName());
+ aPrintable.setPrinter(PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ }
+ }
+
+ // set property values for XPrintable.print()
+ // more can be found at "http://api.openoffice.org/docs/common/ref/com/sun/star/view/PrintOptions.html"
+
+ // int nProperties = 1; // default for 'FileName' property
+ // if (_aGTA.printAllPages() == false)
+ // {
+ // // we don't want to print all pages, build Pages string by ourself
+ // nProperties ++;
+ // }
+ // int nPropsCount = 0;
+
+ // If we are a SpreadSheet (calc), we need to set PrintAllSheets property to 'true'
+ XServiceInfo xServiceInfo = UnoRuntime.queryInterface( XServiceInfo.class, _aDoc );
+ if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
+ {
+ XMultiServiceFactory xMSF = _aGTA.getMultiServiceFactory();
+ Object aSettings = xMSF.createInstance( "com.sun.star.sheet.GlobalSheetSettings" );
+ if (aSettings != null)
+ {
+ XPropertySet xPropSet = UnoRuntime.queryInterface( XPropertySet.class, aSettings );
+ xPropSet.setPropertyValue( "PrintAllSheets", new Boolean( true ) );
+ GlobalLogWriter.println("PrintAllSheets := true");
+ }
+ }
+
+ ArrayList<PropertyValue> aPrintProps = new ArrayList<PropertyValue>();
+ // GlobalLogWriter.println("Property FileName:=" + _sPrintFileURL);
+
+ // PropertyValue [] aPrintProps = new PropertyValue[nProperties];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "FileName";
+ Arg.Value = _sPrintFileURL;
+ // aPrintProps[nPropsCount ++] = Arg;
+ aPrintProps.add(Arg);
+ showProperty(Arg);
+
+
+ // generate pages string
+ if (_aGTA.printAllPages() == false)
+ {
+ String sPages = "";
+ if (_aGTA.getMaxPages() > 0)
+ {
+ sPages = "1-" + String.valueOf(_aGTA.getMaxPages());
+ }
+ if (_aGTA.getOnlyPages().length() != 0)
+ {
+ if (sPages.length() != 0)
+ {
+ sPages += ";";
+ }
+ sPages += String.valueOf(_aGTA.getOnlyPages());
+ }
+
+ Arg = new PropertyValue();
+ Arg.Name = "Pages";
+ Arg.Value = sPages;
+ aPrintProps.add(Arg);
+ showProperty(Arg);
+ }
+
+ // GlobalLogWriter.println("Start printing.");
+
+ _aGTA.getPerformance().startTime(PerformanceContainer.Print);
+ aPrintable.print(PropertyHelper.createPropertyValueArrayFormArrayList(aPrintProps));
+ TimeHelper.waitInSeconds(1, "Start waiting for print ready.");
+
+ GlobalLogWriter.println("Wait until document is printed.");
+ boolean isBusy = true;
+ int nPrintCount = 0;
+ while (isBusy)
+ {
+ PropertyValue[] aPrinterProps = aPrintable.getPrinter();
+ int nPropIndex = 0;
+ while (!"IsBusy".equals(aPrinterProps[nPropIndex].Name))
+ {
+ // System.out.println(aPrinterProps[nPropIndex].Name);
+ nPropIndex++;
+ }
+ isBusy = (aPrinterProps[nPropIndex].Value == Boolean.TRUE) ? true : false;
+ TimeHelper.waitInSeconds(1, "is print ready?");
+ nPrintCount++;
+ if (nPrintCount > 3600)
+ {
+ // we will never wait >1h until print is ready!
+ GlobalLogWriter.println("ERROR: Cancel print due to too long wait.");
+ throw new com.sun.star.uno.Exception("Convwatch exception, wait too long for printing.");
+ }
+ }
+// TODO:
+// TimeHelper.waitInSeconds(40, "Start waiting after print ready.");
+
+ _aGTA.getPerformance().stopTime(PerformanceContainer.Print);
+ GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Print document done.");
+
+ // Create a .info file near the printed '.ps' or '.prn' file.
+ FileHelper.createInfoFile(_sPrintFileURL, _aGTA);
+ }
+ else
+ {
+ GlobalLogWriter.println("Can't get XPrintable interface.");
+ }
+ bFailed = false;
+ bBack = true;
+ }
+ catch ( com.sun.star.uno.Exception e )
+ {
+ // Some exception occures.FAILED
+ GlobalLogWriter.println("UNO Exception caught.");
+ GlobalLogWriter.println("Message: " + e.getMessage());
+
+ e.printStackTrace();
+ bBack = false;
+ }
+
+ if (bFailed == true)
+ {
+ GlobalLogWriter.println("convwatch.OfficePrint: FAILED");
+ }
+ else
+ {
+ GlobalLogWriter.println("convwatch.OfficePrint: OK");
+ }
+ return bBack;
+ }
+
+
+ /**
+ * @param _aGTA
+ * @param _sAbsoluteOutputPath
+ * @param _sAbsoluteInputFile
+ * @return true, if the reference (*.prrn file) based on given output path and given input path exist.
+ * If OVERWRITE_REFERENCE is set, always return false.
+ */
+ public boolean isReferenceExists(ParameterHelper _aGTA,
+ String _sAbsoluteOutputPath,
+ String _sAbsoluteInputFile)
+ {
+ if (! FileHelper.exists(_sAbsoluteInputFile))
+ {
+ // throw new ConvWatchCancelException("Input file: " + _sAbsoluteInputFile + " does not exist.");
+ return false;
+ }
+
+ // String fs = System.getProperty("file.separator");
+
+ // String sInputFileURL = URLHelper.getFileURLFromSystemPath(_sAbsoluteInputFile);
+
+ String sInputFileBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+ // String sOutputFileURL = null;
+ String sOutputPath;
+ if (_sAbsoluteOutputPath != null)
+ {
+ sOutputPath = _sAbsoluteOutputPath;
+ // FileHelper.makeDirectories("", sOutputPath);
+ }
+ else
+ {
+ String sInputPath = FileHelper.getPath(_sAbsoluteInputFile);
+ sOutputPath = sInputPath;
+ }
+ // sOutputFileURL = URLHelper.getFileURLFromSystemPath(sOutputPath + fs + sInputFileBasename);
+ // sOutputFileURL = null;
+
+ String sPrintFilename = FileHelper.getNameNoSuffix(sInputFileBasename);
+ // String sPrintFileURL;
+
+ String sAbsolutePrintFilename = FileHelper.appendPath(sOutputPath, sPrintFilename + ".prn");
+ if (FileHelper.exists(sAbsolutePrintFilename) && _aGTA.getOverwrite() == false)
+ {
+ GlobalLogWriter.println("Reference already exist, don't overwrite. Set " + PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE + "=true to force overwrite.");
+ return true;
+ }
+ return false;
+ }
+
+ // -----------------------------------------------------------------------------
+ /**
+ * create a reference file
+ * _sAbsoluteInputPath contains the source file, if not exists, return with failure.
+ * _sAbsoluteOutputPath contains the destination, where the file will store after load with StarOffice/OpenOffice.org
+ * if is null, print only near the Input file path
+ * _sPrintType ".prn" Print input file with StarOffice/OpenOffice.org and the default printer as PostScript
+ *
+ * @param _aGTA
+ * @return
+ */
+// public static boolean buildReference(ParameterHelper _aGTA,
+// String _sAbsoluteOutputPath,
+// String _sAbsoluteInputFile)
+// throws OfficeException
+// {
+// if (! FileHelper.exists(_sAbsoluteInputFile))
+// {
+// throw new OfficeException("buildReference(): Input file: " + _sAbsoluteInputFile + " does not exist.");
+// }
+//
+// String fs = System.getProperty("file.separator");
+//
+// String sInputFileURL = URLHelper.getFileURLFromSystemPath(_sAbsoluteInputFile);
+//
+// String sInputFileBasename = FileHelper.getBasename(_sAbsoluteInputFile);
+// String sOutputFileURL = null;
+// String sOutputPath;
+// if (_sAbsoluteOutputPath != null)
+// {
+// sOutputPath = _sAbsoluteOutputPath;
+// FileHelper.makeDirectories("", sOutputPath);
+// }
+// else
+// {
+// String sInputPath = FileHelper.getPath(_sAbsoluteInputFile);
+// sOutputPath = sInputPath;
+// }
+// // sOutputFileURL = URLHelper.getFileURLFromSystemPath(sOutputPath + fs + sInputFileBasename);
+// sOutputFileURL = null;
+//
+// String sPrintFilename = FileHelper.getNameNoSuffix(sInputFileBasename);
+// String sPrintFileURL;
+//
+// String sAbsolutePrintFilename = sOutputPath + fs + sPrintFilename + ".prn";
+// if (FileHelper.exists(sAbsolutePrintFilename) && _aGTA.getOverwrite() == false)
+// {
+// GlobalLogWriter.println("Reference already exist, don't overwrite. Set " + PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE + "=true to force overwrite.");
+// return true;
+// }
+//
+// if (_aGTA.getReferenceType().toLowerCase().equals("msoffice"))
+// {
+// sPrintFileURL = URLHelper.getFileURLFromSystemPath(sAbsolutePrintFilename);
+// }
+// else if (_aGTA.getReferenceType().toLowerCase().equals("pdf"))
+// {
+//// TODO: If we rename the stored file to *.pdf, we have to be sure that we use *.pdf also as a available reference
+// sPrintFileURL = URLHelper.getFileURLFromSystemPath(sAbsolutePrintFilename );
+// }
+// else if (_aGTA.getReferenceType().toLowerCase().equals("ooo"))
+// {
+// sPrintFileURL = URLHelper.getFileURLFromSystemPath(sAbsolutePrintFilename );
+// }
+// else
+// {
+// GlobalLogWriter.println("OfficePrint.buildreference(): Unknown print type.");
+// return false;
+// }
+// return printToFile(_aGTA, sInputFileURL, sOutputFileURL, sPrintFileURL);
+// }
+
+
+
+ // TODO: Das Teil muss hier raus!
+
+
+// public static boolean printToFile(ParameterHelper _aGTA,
+// String _sInputFileURL,
+// String _sOutputFileURL,
+// String _sPrintFileURL) throws OfficeException
+// {
+// boolean bBack = false;
+// String sPrintFileURL = null;
+//
+//
+// // remember the current timer, to know how long a print process need.
+// // startTimer();
+//
+// if (_aGTA.getReferenceType().toLowerCase().equals("ooo"))
+// {
+// bBack = printToFileWithOOo(_aGTA, _sInputFileURL, _sOutputFileURL, _sPrintFileURL);
+// }
+// else if (_aGTA.getReferenceType().toLowerCase().equals("pdf"))
+// {
+// GlobalLogWriter.println("USE PDF AS EXPORT FORMAT.");
+// bBack = storeAsPDF(_aGTA, _sInputFileURL, _sPrintFileURL);
+// }
+// else if (_aGTA.getReferenceType().toLowerCase().equals("msoffice"))
+// {
+// if (MSOfficePostscriptCreator.isMSOfficeDocumentFormat(_sInputFileURL))
+// {
+// GlobalLogWriter.println("USE MSOFFICE AS EXPORT FORMAT.");
+// MSOfficePostscriptCreator a = new MSOfficePostscriptCreator();
+// try
+// {
+// a.printToFileWithMSOffice(_aGTA, FileHelper.getSystemPathFromFileURL(_sInputFileURL),
+// FileHelper.getSystemPathFromFileURL(_sPrintFileURL));
+// }
+// catch(OfficeException e)
+// {
+// e.printStackTrace();
+// GlobalLogWriter.println(e.getMessage());
+// throw new OfficeException("Exception caught. Problem with MSOffice printer methods.");
+// }
+// catch(java.io.IOException e)
+// {
+// GlobalLogWriter.println(e.getMessage());
+// throw new OfficeException("IOException caught. Problem with MSOffice printer methods.");
+// }
+// bBack = true;
+// }
+// else
+// {
+// GlobalLogWriter.println("This document type is not recognized as MSOffice format, as default fallback StarOffice/OpenOffice.org instead is used.");
+// bBack = printToFileWithOOo(_aGTA, _sInputFileURL, _sOutputFileURL, _sPrintFileURL);
+// }
+// }
+// else
+// {
+// // System.out.println("");
+// throw new OfficeException("OfficePrint.printToFile(): Unknown print type.");
+// }
+// return bBack;
+// }
+
+ // -----------------------------------------------------------------------------
+ // TODO: move this away!
+ // -----------------------------------------------------------------------------
+ void showType(String _sInputURL, XMultiServiceFactory _xMSF)
+ {
+ if (_sInputURL.length() == 0)
+ {
+ return;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.println("MultiServiceFactory not set.");
+ return;
+ }
+ XTypeDetection aTypeDetection = null;
+ try
+ {
+ Object oObj = _xMSF.createInstance("com.sun.star.document.TypeDetection");
+ aTypeDetection = UnoRuntime.queryInterface(XTypeDetection.class, oObj);
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.println("Can't get com.sun.star.document.TypeDetection.");
+ return;
+ }
+ if (aTypeDetection != null)
+ {
+ String sType = aTypeDetection.queryTypeByURL(_sInputURL);
+ GlobalLogWriter.println("Type is: " + sType);
+ }
+ }
+
+
+ // -----------------------------------------------------------------------------
+ public String getInternalFilterName(String _sFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return null;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.println("MultiServiceFactory not set.");
+ return null;
+ }
+ // XFilterFactory aFilterFactory = null;
+ Object aObj = null;
+ try
+ {
+ aObj = _xMSF.createInstance("com.sun.star.document.FilterFactory");
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.println("Can't get com.sun.star.document.FilterFactory.");
+ return null;
+ }
+ if (aObj != null)
+ {
+ XNameAccess aNameAccess = UnoRuntime.queryInterface(XNameAccess.class, aObj);
+ if (aNameAccess != null)
+ {
+
+ // if (_sFilterName.toLowerCase().equals("help"))
+ // {
+ // System.out.println("Show all possible ElementNames from current version." );
+ // String[] aElementNames = aNameAccess.getElementNames();
+ // for (int i = 0; i<aElementNames.length; i++)
+ // {
+ // System.out.println(aElementNames[i]);
+ // }
+ // System.out.println("Must quit.");
+ // System.out.exit(1);
+ // }
+
+ if (! aNameAccess.hasByName(_sFilterName))
+ {
+ GlobalLogWriter.println("FilterFactory.hasByName() says there exist no '" + _sFilterName + "'" );
+ return null;
+ }
+
+ Object[] aElements = null;
+ String[] aExtensions;
+ try
+ {
+ aElements = (Object[]) aNameAccess.getByName(_sFilterName);
+ if (aElements != null)
+ {
+ String sInternalFilterName = null;
+ // System.out.println("getByName().length: " + String.valueOf(aElements.length));
+ for (int i=0;i<aElements.length; i++)
+ {
+ PropertyValue aPropertyValue = (PropertyValue)aElements[i];
+ // System.out.println("PropertyValue.Name: " + aPropertyValue.Name);
+ if (aPropertyValue.Name.equals("Type"))
+ {
+ String sValue = (String)aPropertyValue.Value;
+ // System.out.println("Type: " + sValue);
+ sInternalFilterName = sValue;
+ }
+ }
+ return sInternalFilterName;
+ }
+ else
+ {
+ GlobalLogWriter.println("There are no elements for FilterName '" + _sFilterName + "'");
+ return null;
+ }
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ GlobalLogWriter.println("NoSuchElementException caught. " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ GlobalLogWriter.println("WrappedTargetException caught. " + e.getMessage());
+ }
+ }
+ }
+ return null;
+ }
+
+ // -----------------------------------------------------------------------------
+
+ String getServiceNameFromFilterName(String _sFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return null;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.println("MultiServiceFactory not set.");
+ return null;
+ }
+ // XFilterFactory aFilterFactory = null;
+ Object aObj = null;
+ try
+ {
+ aObj = _xMSF.createInstance("com.sun.star.document.FilterFactory");
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.println("Can't get com.sun.star.document.FilterFactory.");
+ return null;
+ }
+ if (aObj != null)
+ {
+ XNameAccess aNameAccess = UnoRuntime.queryInterface(XNameAccess.class, aObj);
+ if (aNameAccess != null)
+ {
+ if (! aNameAccess.hasByName(_sFilterName))
+ {
+ GlobalLogWriter.println("FilterFactory.hasByName() says there exist no '" + _sFilterName + "'" );
+ return null;
+ }
+
+ Object[] aElements = null;
+ String[] aExtensions;
+ try
+ {
+ aElements = (Object[]) aNameAccess.getByName(_sFilterName);
+ if (aElements != null)
+ {
+ String sServiceName = null;
+ // System.out.println("getByName().length: " + String.valueOf(aElements.length));
+ for (int i=0;i<aElements.length; i++)
+ {
+ PropertyValue aPropertyValue = (PropertyValue)aElements[i];
+ if (aPropertyValue.Name.equals("DocumentService"))
+ {
+ String sValue = (String)aPropertyValue.Value;
+ // System.out.println("DocumentService: " + sValue);
+ sServiceName = sValue;
+ break;
+ }
+ }
+ return sServiceName;
+ }
+ else
+ {
+ GlobalLogWriter.println("There are no elements for FilterName '" + _sFilterName + "'");
+ return null;
+ }
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ GlobalLogWriter.println("NoSuchElementException caught. " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ GlobalLogWriter.println("WrappedTargetException caught. " + e.getMessage());
+ }
+ }
+ }
+ return null;
+ }
+ // -----------------------------------------------------------------------------
+
+ public static String getFileExtension(String _sInternalFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sInternalFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return null;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.println("MultiServiceFactory not set.");
+ return null;
+ }
+ XTypeDetection aTypeDetection = null;
+ try
+ {
+ Object oObj = _xMSF.createInstance("com.sun.star.document.TypeDetection");
+ aTypeDetection = UnoRuntime.queryInterface(XTypeDetection.class, oObj);
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.println("Can't get com.sun.star.document.TypeDetection.");
+ return null;
+ }
+ if (aTypeDetection != null)
+ {
+ XNameAccess aNameAccess = UnoRuntime.queryInterface(XNameAccess.class, aTypeDetection);
+ if (aNameAccess != null)
+ {
+
+ // System.out.println("Show ElementNames" );
+ // String[] aElementNames = aNameAccess.getElementNames();
+ // for (int i = 0; i<aElementNames.length; i++)
+ // {
+ // System.out.println(aElementNames[i]);
+ // }
+
+ if (! aNameAccess.hasByName(_sInternalFilterName))
+ {
+ GlobalLogWriter.println("TypeDetection.hasByName() says there exist no '" + _sInternalFilterName + "'" );
+ return null;
+ }
+
+ Object[] aElements = null;
+ String[] aExtensions;
+ try
+ {
+ aElements = (Object[]) aNameAccess.getByName(_sInternalFilterName);
+ if (aElements != null)
+ {
+ String sExtension = null;
+ // System.out.println("getByName().length: " + String.valueOf(aElements.length));
+ for (int i=0;i<aElements.length; i++)
+ {
+ PropertyValue aPropertyValue = (PropertyValue)aElements[i];
+ // System.out.println("PropertyValue.Name: " + aPropertyValue.Name);
+ if (aPropertyValue.Name.equals("Extensions"))
+ {
+ aExtensions = (String[])aPropertyValue.Value;
+ GlobalLogWriter.println(" Possible extensions are: " + String.valueOf(aExtensions.length));
+ if (aExtensions.length > 0)
+ {
+ for (int j=0;j<aExtensions.length;j++)
+ {
+ GlobalLogWriter.println(" " + aExtensions[j]);
+ }
+ sExtension = aExtensions[0];
+ GlobalLogWriter.println("");
+ }
+ }
+ }
+ return sExtension;
+ }
+ else
+ {
+ GlobalLogWriter.println("There are no elements for FilterName '" + _sInternalFilterName + "'");
+ return null;
+ }
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ GlobalLogWriter.println("NoSuchElementException caught. " + e.getMessage());
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ GlobalLogWriter.println("WrappedTargetException caught. " + e.getMessage());
+ }
+}
+ }
+ return null;
+ }
+
+ // -----------------------------------------------------------------------------
+ public void convertDocument(String _sInputFile, String _sOutputPath, ParameterHelper _aGTA) throws OfficeException
+ {
+ XMultiServiceFactory xMSF = _aGTA.getMultiServiceFactory();
+ if (xMSF == null)
+ {
+ GlobalLogWriter.println("MultiServiceFactory in GraphicalTestArgument not set.");
+ return;
+ }
+
+ String sInputURL = URLHelper.getFileURLFromSystemPath(_sInputFile);
+ // showType(sInputURL, xMSF);
+ XComponent aDoc = loadFromURL( _aGTA, sInputURL);
+ if (aDoc == null)
+ {
+ GlobalLogWriter.println("Can't load document '"+ sInputURL + "'");
+ return;
+ }
+
+ if (_sOutputPath == null)
+ {
+ GlobalLogWriter.println("Outputpath not set.");
+ return;
+ }
+
+ if (! isStoreAllowed())
+ {
+ GlobalLogWriter.println("It's not allowed to store, check Input/Output path.");
+ return;
+ }
+// TODO: Do we need to wait?
+// TimeHelper.waitInSeconds(1, "wait after loadFromURL.");
+
+ XServiceInfo xServiceInfo = UnoRuntime.queryInterface( XServiceInfo.class, aDoc );
+ // String sFilter = getFilterName_forExcel(xServiceInfo);
+ // System.out.println("Filter is " + sFilter);
+
+ // store the document in an other directory
+ XStorable xStorable = UnoRuntime.queryInterface( XStorable.class, aDoc);
+ if (xStorable == null)
+ {
+ GlobalLogWriter.println("com.sun.star.frame.XStorable is null");
+ return;
+ }
+
+ String sFilterName = _aGTA.getExportFilterName();
+
+ // check how many Properties should initialize
+ int nPropertyCount = 0;
+ // if (sFilterName != null && sFilterName.length() > 0)
+ // {
+ // nPropertyCount ++;
+ // }
+
+ // initialize PropertyArray
+ // PropertyValue [] aStoreProps = new PropertyValue[ nPropertyCount ];
+ // int nPropertyIndex = 0;
+ ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>();
+
+ String sExtension = "";
+
+ if (sFilterName != null && sFilterName.length() > 0)
+ {
+ String sInternalFilterName = getInternalFilterName(sFilterName, xMSF);
+ String sServiceName = getServiceNameFromFilterName(sFilterName, xMSF);
+
+ GlobalLogWriter.println("Filter detection:");
+ // check if service name from file filter is the same as from the loaded document
+ boolean bServiceFailed = false;
+ if (sServiceName == null || sInternalFilterName == null)
+ {
+ GlobalLogWriter.println("Given FilterName '" + sFilterName + "' seems to be unknown.");
+ bServiceFailed = true;
+ }
+ if (! xServiceInfo.supportsService(sServiceName))
+ {
+ GlobalLogWriter.println("Service from FilterName '" + sServiceName + "' is not supported by loaded document.");
+ bServiceFailed = true;
+ }
+ if (bServiceFailed == true)
+ {
+ GlobalLogWriter.println("Please check '" + PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME + "' in the property file.");
+ return;
+ }
+
+ if (sInternalFilterName != null && sInternalFilterName.length() > 0)
+ {
+ // get the FileExtension, by the filter name, if we don't get a file extension
+ // we assume the is also no right filter name.
+ sExtension = getFileExtension(sInternalFilterName, xMSF);
+ if (sExtension == null)
+ {
+ GlobalLogWriter.println("Can't found an extension for filtername, take it from the source.");
+ }
+ }
+
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "FilterName";
+ Arg.Value = sFilterName;
+ // aStoreProps[nPropertyIndex ++] = Arg;
+ aPropertyList.add(Arg);
+ showProperty(Arg);
+ GlobalLogWriter.println("FilterName is set to: " + sFilterName);
+ }
+
+ String sOutputURL = "";
+ try
+ {
+ // create the new filename with the extension, which is ok to the file format
+ String sInputFileBasename = FileHelper.getBasename(_sInputFile);
+ // System.out.println("InputFileBasename " + sInputFileBasename);
+ String sInputFileNameNoSuffix = FileHelper.getNameNoSuffix(sInputFileBasename);
+ // System.out.println("InputFilename no suffix " + sInputFileNameNoSuffix);
+ String fs = System.getProperty("file.separator");
+ String sOutputFile = _sOutputPath;
+ if (! sOutputFile.endsWith(fs))
+ {
+ sOutputFile += fs;
+ }
+ if (sExtension != null && sExtension.length() > 0)
+ {
+ sOutputFile += sInputFileNameNoSuffix + "." + sExtension;
+ }
+ else
+ {
+ sOutputFile += sInputFileBasename;
+ }
+
+ if (FileHelper.exists(sOutputFile) && _aGTA.getOverwrite() == false)
+ {
+ GlobalLogWriter.println("File already exist, don't overwrite. Set " + PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE + "=true to force overwrite.");
+ return;
+ }
+
+ sOutputURL = URLHelper.getFileURLFromSystemPath(sOutputFile);
+
+ GlobalLogWriter.println("Store document as '" + sOutputURL + "'");
+ xStorable.storeAsURL(sOutputURL, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList));
+ GlobalLogWriter.println("Document stored.");
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ GlobalLogWriter.println("Can't store document '" + sOutputURL + "'. Message is :'" + e.getMessage() + "'");
+ }
+// TODO: Do we need to wait?
+// TimeHelper.waitInSeconds(1, "unknown in OfficePrint.convertDocument()");
+
+ }
+
+ /**
+ *
+ * @return false, if 'NoOffice=yes' is given
+ */
+// private boolean shouldOfficeStart()
+// {
+// String sNoOffice = (String)m_aParameterHelper.getTestParameters().get( "NoOffice" );
+// if (sNoOffice != null)
+// {
+// if (sNoOffice.toLowerCase().startsWith("t") || sNoOffice.toLowerCase().startsWith("y"))
+// {
+// return false;
+// }
+// }
+// return true;
+// }
+
+ OfficeProvider m_aProvider = null;
+ private void startOffice()
+ {
+ // SimpleFileSemaphore aSemaphore = new SimpleFileSemaphore();
+// if (shouldOfficeStart())
+// {
+ // if (OSHelper.isWindows())
+ // {
+ // aSemaphore.P(aSemaphore.getSemaphoreFile());
+ // }
+ m_aParameterHelper.getTestParameters().put(util.PropertyName.DONT_BACKUP_USERLAYER, Boolean.TRUE);
+
+ m_aParameterHelper.getPerformance().startTime(PerformanceContainer.OfficeStart);
+ m_aProvider = new OfficeProvider();
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) m_aProvider.getManager(m_aParameterHelper.getTestParameters());
+ m_aParameterHelper.getTestParameters().put("ServiceFactory", xMSF);
+ m_aParameterHelper.getPerformance().stopTime(PerformanceContainer.OfficeStart);
+
+ long nStartTime = m_aParameterHelper.getPerformance().getTime(PerformanceContainer.OfficeStart);
+ // aGTA = getParameterHelper(); // get new TestArguments
+ m_aParameterHelper.getPerformance().setTime(PerformanceContainer.OfficeStart, nStartTime);
+// }
+
+ // Watcher Object is need in log object to give a simple way to say if a running office is alive.
+ // As long as a log comes, it pings the Watcher and says the office is alive, if not an
+ // internal counter increase and at a given point (300 seconds) the office is killed.
+ GlobalLogWriter.println("Set office watcher");
+ if (GlobalLogWriter.get().getWatcher() == null)
+ {
+ OfficeWatcher aWatcher = (OfficeWatcher)m_aParameterHelper.getTestParameters().get("Watcher");
+ GlobalLogWriter.get().setWatcher(aWatcher);
+ }
+ }
+
+ private void stopOffice()
+ {
+ // Office shutdown
+ if (m_aProvider != null)
+ {
+ String sAppExecCmd = (String)m_aParameterHelper.getTestParameters().get("AppExecutionCommand");
+ if (sAppExecCmd != null && sAppExecCmd.length() > 0)
+ {
+ m_aProvider.closeExistingOffice(m_aParameterHelper.getTestParameters(), true);
+ }
+ // if (OSHelper.isWindows())
+ // {
+ // aSemaphore.V(aSemaphore.getSemaphoreFile());
+ // aSemaphore.sleep(2);
+ // // wait some time maybe an other process will take the semaphore
+ // // I know, this is absolutly dirty, but the whole convwatch is dirty and need a big cleanup.
+ // }
+ }
+ }
+
+ private boolean m_bStoreFile;
+ public void disallowStore()
+ {
+ m_bStoreFile = false;
+ }
+ public void allowStore()
+ {
+ m_bStoreFile = true;
+ }
+ public boolean isStoreAllowed()
+ {
+ return false;
+ // return m_bStoreFile;
+ }
+
+}
+
diff --git a/qadevOOo/runner/graphical/ParameterHelper.java b/qadevOOo/runner/graphical/ParameterHelper.java
new file mode 100644
index 000000000000..598ee6c53007
--- /dev/null
+++ b/qadevOOo/runner/graphical/ParameterHelper.java
@@ -0,0 +1,433 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import lib.TestParameters;
+
+/**
+ * This class object is more a Helper or Controller.
+ * It stores information like:
+ * - How to create a document (with a OpenOffice.org method, or with MS Word, or with OpenOffice.org as pdf)
+ * - some more infos for OpenOffice.org method
+ * - a service factory pointer
+ * - if hidden mode should use
+ * - target name
+ *
+ * - printer name
+ *
+ * - how to handle .xml files, which in Microsoft could be Excel or Word documents
+ *
+ * HOWTO USE:
+ * For OOo,
+ * create an ParameterHelper with a set of TestParameters
+ * ParameterHelper a = new ParameterHelper(params);
+ *
+ * If you wish to use pdf export instead of normal printer output, set also the reference type to 'pdf'
+ * a.setReferenceType("pdf");
+ *
+ *
+ * For MS Office:
+ * create a ParameterHelper and set the reference type to 'msoffice'
+ * ParameterHelper a = new ParameterHelper(params);
+ * a.setReferenceType("msoffice");
+ *
+ * within windows it's better to set also a printer name so it's simply possible to use for normal work the default printer
+ * and for such tests with ConvWatch a extra printer.
+ * a.setPrinterName("CrossOffice Printer");
+ *
+ */
+
+public class ParameterHelper
+{
+ /*
+ TODO:
+ Possible reference types are currently
+ // ooo
+ // pdf
+ // msoffice
+ */
+ private String m_sReferenceType = null;
+
+ // private String m_sTargetFrameName = "_blank";
+
+ private String m_sPrinterName = null;
+
+ private int m_nResolutionInDPI = 180;
+
+ private boolean m_bIncludeSubdirectories;
+
+ private String m_sInputPath = null;
+ private String m_sOutputPath = null;
+// private String m_sReferencePath = null;
+
+ private TestParameters m_aCurrentParams;
+
+ // private GlobalLogWriter m_aLog;
+
+ // CONSTRUCTOR
+ private ParameterHelper(){}
+
+ public ParameterHelper(TestParameters param)
+ {
+ m_aCurrentParams = param;
+ // m_aLog = log;
+ // interpretReferenceType();
+ // interpretPrinterName();
+ }
+
+
+ protected TestParameters getTestParameters()
+ {
+ return m_aCurrentParams;
+ }
+
+ /**
+ * return the input path, if given.
+ * @return
+ */
+ public String getInputPath()
+ {
+ if (m_sInputPath == null)
+ {
+ String sInputPath = (String)getTestParameters().get( PropertyName.DOC_COMPARATOR_INPUT_PATH );
+ if (sInputPath == null || sInputPath.length() == 0)
+ {
+ GlobalLogWriter.println("Please set input path (path to documents) " + PropertyName.DOC_COMPARATOR_INPUT_PATH + "=path.");
+ }
+ else
+ {
+ m_sInputPath = helper.StringHelper.removeQuoteIfExists(sInputPath);
+ }
+ }
+ return m_sInputPath;
+ }
+
+ public String getOutputPath()
+ {
+ if (m_sOutputPath == null)
+ {
+ String sOutputPath = (String)getTestParameters().get( PropertyName.DOC_COMPARATOR_OUTPUT_PATH );
+ if (sOutputPath == null || sOutputPath.length() == 0)
+ {
+ GlobalLogWriter.println("Please set output path (path where to store document results) " + PropertyName.DOC_COMPARATOR_OUTPUT_PATH + "=path.");
+ }
+ else
+ {
+ m_sOutputPath = helper.StringHelper.removeQuoteIfExists(sOutputPath);
+ }
+ }
+ return m_sOutputPath;
+ }
+
+// public String getReferencePath()
+// {
+// if (m_sReferencePath == null)
+// {
+// String sReferencePath = (String)getTestParameters().get( PropertyName.DOC_COMPARATOR_REFERENCE_PATH );
+// if (sReferencePath == null || sReferencePath.length() == 0)
+// {
+// GlobalLogWriter.println("Please set reference path (path to reference documents) " + PropertyName.DOC_COMPARATOR_REFERENCE_PATH + "=path.");
+// }
+// else
+// {
+// m_sReferencePath = sReferencePath;
+// }
+// }
+// return m_sReferencePath;
+// }
+
+
+ public boolean isIncludeSubDirectories()
+ {
+ m_bIncludeSubdirectories = true;
+ String sRECURSIVE = (String)getTestParameters().get( PropertyName.DOC_COMPARATOR_INCLUDE_SUBDIRS );
+// TODO: I need to get the boolean value with get("name") because, if it is not given getBool() returns
+// with a default of 'false' which is not very helpful if the default should be 'true'
+// maybe a getBoolean("name", true) could be a better choise.
+ if (sRECURSIVE == null)
+ {
+ sRECURSIVE = "true";
+ }
+ if (sRECURSIVE.toLowerCase().equals("no") ||
+ sRECURSIVE.toLowerCase().equals("false"))
+ {
+ m_bIncludeSubdirectories = false;
+ }
+ return m_bIncludeSubdirectories;
+ }
+
+ public String getReferenceType()
+ {
+ if (m_sReferenceType == null)
+ {
+ // REFERENCE_TYPE ----------
+
+ String sReferenceType = (String)getTestParameters().get( PropertyName.DOC_COMPARATOR_REFERENCE_TYPE );
+ if (sReferenceType == null || sReferenceType.length() == 0)
+ {
+ m_sReferenceType = "ps";
+ }
+ else
+ {
+ // log.println("found REFERENCE_TYPE " + sReferenceType );
+ m_sReferenceType = sReferenceType;
+ }
+ }
+ return m_sReferenceType;
+ }
+
+ public String getPrinterName()
+ {
+ if (m_sPrinterName == null)
+ {
+ // PRINTER_NAME ----------
+
+ String sPrinterName = (String)getTestParameters().get( PropertyName.DOC_COMPARATOR_PRINTER_NAME );
+ if (sPrinterName == null || sPrinterName.length() == 0)
+ {
+ m_sPrinterName = "";
+ }
+ else
+ {
+ // log.println("found PRINTER_NAME " + sPrinterName );
+ m_sPrinterName = sPrinterName;
+ }
+ }
+ return m_sPrinterName;
+ }
+
+ PerformanceContainer m_aPerformanceContainer = null;
+ /**
+ * helper class for performance analyser features
+ * @return
+ */
+ public PerformanceContainer getPerformance()
+ {
+ if (m_aPerformanceContainer == null)
+ {
+ m_aPerformanceContainer = new PerformanceContainer();
+ }
+ return m_aPerformanceContainer;
+ }
+
+ /**
+ * Helper function to get the buildid of the current used OpenOffice.org
+ * out of the AppExecutionCommand the build ID
+ * @return
+ */
+ public String getBuildID()
+ {
+ String sAPP = (String)m_aCurrentParams.get(util.PropertyName.APP_EXECUTION_COMMAND);
+ // return getBuildID(sAPP);
+// TODO: here we need the getBuildID(string) method
+ String sBuildID = BuildID.getBuildID(sAPP);
+ return sBuildID;
+ }
+
+ /**
+ * @return integer value, which contain resolution in DPI.
+ */
+ public int getResolutionInDPI()
+ {
+ return m_nResolutionInDPI;
+ }
+ // get methods
+ public XMultiServiceFactory getMultiServiceFactory()
+ {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)m_aCurrentParams.getMSF();
+
+ // check if MultiServiceFactory is given
+ if (getReferenceType().toLowerCase().equals("pdf") ||
+ getReferenceType().toLowerCase().equals("ps") ||
+ getReferenceType().toLowerCase().equals("ooo"))
+ {
+ if (xMSF == null)
+ {
+ GlobalLogWriter.println("ERROR! MultiServiceFactory not given.");
+ }
+ }
+ return xMSF;
+ }
+
+ // Hidden = true hiddes a used OpenOffice.org, all code is executed in the background
+ // This parameter is not used for RefType: msoffice
+ // boolean m_bHidden = true;
+
+
+ public boolean isHidden()
+ {
+ // HIDDEN
+
+ String sOfficeViewable = (String)m_aCurrentParams.get(PropertyName.OFFICE_VIEWABLE);
+ if (sOfficeViewable != null)
+ {
+ if (sOfficeViewable.toLowerCase().equals("yes") ||
+ sOfficeViewable.toLowerCase().equals("true"))
+ {
+ return false; // setViewable();
+ }
+ else
+ {
+ return true; // setHidden();
+ }
+ }
+ return true; /* default: hidden */
+ }
+
+ // get/set for FilterName
+ // get the right Filtername (internal Name) from
+ // http://framework.openoffice.org/files/documents/25/897/filter_description.html
+
+ String m_sImportFilterName = "";
+ String m_sExportFilterName = "";
+ public void setImportFilterName(String _sImportFilterName)
+ {
+ m_sImportFilterName = _sImportFilterName;
+ }
+ public String getImportFilterName()
+ {
+ return m_sImportFilterName;
+ }
+ public void setExportFilterName(String _sExportFilterName)
+ {
+ m_sExportFilterName = _sExportFilterName;
+ }
+ public String getExportFilterName()
+ {
+ return m_sExportFilterName;
+ }
+ String m_sDocumentType = "";
+ public void setDocumentType(String _sName)
+ {
+ m_sDocumentType = _sName;
+ }
+ public String getDocumentType()
+ {
+ return m_sDocumentType;
+ }
+
+
+// String m_sDefaultXMLFormatApplication = null;
+// public String getDefaultXMLFormatApp()
+// {
+// if (m_sDefaultXMLFormatApplication == null)
+// {
+// // DEFAULT_XML_FORMAT_APP ------
+//
+// String sDefaultXMLFormatApp = (String)m_aCurrentParams.get( PropertyName.DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP );
+// if (sDefaultXMLFormatApp == null || sDefaultXMLFormatApp.length() == 0)
+// {
+// m_sDefaultXMLFormatApplication = "word";
+// }
+// else
+// {
+// m_sDefaultXMLFormatApplication = sDefaultXMLFormatApp;
+// }
+// }
+// return m_sDefaultXMLFormatApplication;
+// }
+
+
+ // Pages -------------------------------------------------------------------
+
+ /**
+ * @return the number of pages to be print
+ */
+ public int getMaxPages()
+ {
+ // default is 0 (print all pages)
+ int nMaxPages = m_aCurrentParams.getInt( PropertyName.DOC_COMPARATOR_PRINT_MAX_PAGE );
+ return nMaxPages;
+ }
+
+ /**
+ * @return as string, which pages should be print, e.g. '1-4;6' here, page 1 to 4 and page 6.
+ */
+ public String getOnlyPages()
+ {
+ // default is null, there is no page which we want to print only.
+ String sOnlyPage = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_PRINT_ONLY_PAGE);
+ if (sOnlyPage == null)
+ {
+ sOnlyPage = "";
+ }
+ return sOnlyPage;
+ }
+
+ /**
+ * @return true, if there should not print all pages at all, use getMaxPages() and or getOnlyPages() to get which pages to print
+ */
+ public boolean printAllPages()
+ {
+ if ( (getMaxPages() > 0) ||
+ (getOnlyPages().length() != 0))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public boolean getOverwrite()
+ {
+ boolean bOverwrite = m_aCurrentParams.getBool( PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE);
+ return bOverwrite;
+ }
+
+ private String m_sHTMLPrefix = null;
+ public String getHTMLPrefix()
+ {
+ if (m_sHTMLPrefix == null)
+ {
+ String sPrefix = (String)getTestParameters().get( PropertyName.DOC_COMPARATOR_HTML_OUTPUT_PREFIX );
+ if (sPrefix == null || sPrefix.length() == 0)
+ {
+ GlobalLogWriter.println("Please set html prefix " + PropertyName.DOC_COMPARATOR_HTML_OUTPUT_PREFIX + "=prefix.");
+ }
+ else
+ {
+ m_sHTMLPrefix = sPrefix;
+ }
+ }
+ return m_sHTMLPrefix;
+ }
+
+ public boolean createSmallPictures()
+ {
+ // boolean bCreateSmallPictures = true;
+ boolean bNoSmallPictures = m_aCurrentParams.getBool( PropertyName.NO_SMALL_PICTURES);
+ if (bNoSmallPictures == true)
+ {
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/qadevOOo/runner/graphical/PerformanceContainer.java b/qadevOOo/runner/graphical/PerformanceContainer.java
new file mode 100644
index 000000000000..ab3b292926e5
--- /dev/null
+++ b/qadevOOo/runner/graphical/PerformanceContainer.java
@@ -0,0 +1,271 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+import java.io.File;
+// import java.io.FileWriter;
+// import java.io.OutputStream;
+// import java.io.PrintStream;
+import java.io.PrintStream;
+import java.io.RandomAccessFile;
+// import java.io.StringWriter;
+// import java.lang.Double;
+
+
+public class PerformanceContainer /* extends *//* implements */ {
+ private long m_nStartTime;
+
+ /*
+ simple helper functions to start/stop a timer, to know how long a process need in milliseconds
+ */
+ public long getStartTime()
+ {
+ return System.currentTimeMillis();
+ }
+ public void setStartTime(long _nStartTime)
+ {
+ m_nStartTime = _nStartTime;
+ }
+
+ /*
+ return the time, which is done until last startTime()
+ */
+ private long meanTime(long _nCurrentTimer)
+ {
+ if (_nCurrentTimer == 0)
+ {
+ GlobalLogWriter.println("Forgotten to initialise a start timer.");
+ return 0;
+ }
+ long nMeanTime = System.currentTimeMillis();
+ return nMeanTime - _nCurrentTimer;
+ }
+
+ /*
+ public long stopTimer()
+ {
+ if (m_nStartTime == 0)
+ {
+ System.out.println("Forgotten to initialise start timer.");
+ return 0;
+ }
+ long nStopTime = System.currentTimeMillis();
+ return nStopTime - m_nStartTime;
+ }
+ */
+
+ final static int Load = 0;
+ final static int Store = 1;
+ final static int Print = 2;
+ final static int OfficeStart = 3;
+ final static int StoreAsPDF = 4;
+ final static int OfficeStop = 5;
+ final static int AllTime = 6;
+ final static int LAST_VALUE = 7; // THIS MUST BE ALWAYS THE LAST AND THE BIGGEST VALUE!
+
+ private long m_nTime[];
+ private String m_sMSOfficeVersion;
+
+ public PerformanceContainer()
+ {
+ m_nTime = new long[LAST_VALUE];
+ // @todo: is this need?
+ for (int i=0;i<LAST_VALUE;i++)
+ {
+ m_nTime[i] = 0;
+ }
+ }
+
+ public void setTime(int _nIndex, long _nValue)
+ {
+ m_nTime[_nIndex] = _nValue;
+ }
+ public long getTime(int _nIndex)
+ {
+ return m_nTime[_nIndex];
+ }
+
+ public void startTime(int _nIndex)
+ {
+ m_nTime[_nIndex] = getStartTime();
+ }
+
+ public void stopTime(int _nIndex)
+ {
+ m_nTime[_nIndex] = meanTime(m_nTime[_nIndex]);
+ }
+
+ public String getMSOfficeVersion()
+ {
+ return m_sMSOfficeVersion;
+ }
+
+ public void print(PrintStream out)
+ {
+ // String ls = System.getProperty("line.separator");
+ // out.
+ out.println("loadtime=" + String.valueOf(m_nTime[ Load ]));
+ out.println("storetime=" + String.valueOf(m_nTime[ Store ]));
+ out.println("printtime=" + String.valueOf(m_nTime[ Print ]));
+ out.println("officestarttime=" + String.valueOf(m_nTime[ OfficeStart ]));
+ out.println("officestoptime=" + String.valueOf(m_nTime[ OfficeStop ]));
+ out.println("storeaspdftime=" + String.valueOf(m_nTime[ StoreAsPDF ]));
+ out.println("alltime=" + String.valueOf(m_nTime[ AllTime ]));
+ }
+
+ public void print(IniFile _aIniFile, String _sSection)
+ {
+ // String ls = System.getProperty("line.separator");
+ // out.
+ _aIniFile.insertValue(_sSection, "loadtime" , String.valueOf(m_nTime[ Load ]));
+ _aIniFile.insertValue(_sSection, "storetime" , String.valueOf(m_nTime[ Store ]));
+ _aIniFile.insertValue(_sSection, "printtime" , String.valueOf(m_nTime[ Print ]));
+ _aIniFile.insertValue(_sSection, "officestarttime" , String.valueOf(m_nTime[ OfficeStart ]));
+ _aIniFile.insertValue(_sSection, "officestoptime" , String.valueOf(m_nTime[ OfficeStop ]));
+ _aIniFile.insertValue(_sSection, "storeaspdftime" , String.valueOf(m_nTime[ StoreAsPDF ]));
+ _aIniFile.insertValue(_sSection, "alltime" , String.valueOf(m_nTime[ AllTime ]));
+ }
+
+ public static double stringToDouble(String _sStr)
+ {
+ double nValue = 0;
+ try
+ {
+ nValue = Double.parseDouble( _sStr );
+ }
+ catch (NumberFormatException e)
+ {
+ GlobalLogWriter.println("Can't convert string to double " + _sStr);
+ }
+ return nValue;
+ }
+
+ public static long secondsToMilliSeconds(double _nSeconds)
+ {
+ return (long)(_nSeconds * 1000.0);
+ }
+
+ /*
+ Helper function, which read some values from a given file
+
+ sample of wordinfofile
+ name=c:\doc-pool\wntmsci\samples\msoffice\word\LineSpacing.doc
+ WordVersion=11.0
+ WordStartTime=0.340490102767944
+ WordLoadTime=0.650935888290405
+ WordPrintTime=0.580835103988647
+ */
+ public void readWordValuesFromFile(String sFilename)
+ {
+ File aFile = new File(sFilename);
+ if (! aFile.exists())
+ {
+ GlobalLogWriter.println("couldn't find file " + sFilename);
+ return;
+ }
+
+ RandomAccessFile aRandomAccessFile = null;
+ try
+ {
+ aRandomAccessFile = new RandomAccessFile(aFile,"r");
+ String sLine = "";
+ while (sLine != null)
+ {
+ sLine = aRandomAccessFile.readLine();
+ if ( (sLine != null) &&
+ (! (sLine.length() < 2) ) &&
+ (! sLine.startsWith("#")))
+ {
+ if (sLine.startsWith("WordStartTime="))
+ {
+ String sTime = sLine.substring(14);
+ m_nTime[OfficeStart] = secondsToMilliSeconds(stringToDouble(sTime));
+ }
+ else if (sLine.startsWith("WordLoadTime="))
+ {
+ String sTime = sLine.substring(13);
+ m_nTime[Load] = secondsToMilliSeconds(stringToDouble(sTime));
+ }
+ else if (sLine.startsWith("WordPrintTime="))
+ {
+ String sTime = sLine.substring(14);
+ m_nTime[Print] = secondsToMilliSeconds(stringToDouble(sTime));
+ }
+ else if (sLine.startsWith("WordVersion="))
+ {
+ String sMSOfficeVersion = sLine.substring(12);
+ m_sMSOfficeVersion = "Word:" + sMSOfficeVersion;
+ }
+ else if (sLine.startsWith("ExcelVersion="))
+ {
+ String sMSOfficeVersion = sLine.substring(13);
+ m_sMSOfficeVersion = "Excel:" + sMSOfficeVersion;
+ }
+ else if (sLine.startsWith("PowerPointVersion="))
+ {
+ String sMSOfficeVersion = sLine.substring(18);
+ m_sMSOfficeVersion = "PowerPoint:" + sMSOfficeVersion;
+ }
+ }
+ }
+ }
+ catch (java.io.FileNotFoundException fne)
+ {
+ GlobalLogWriter.println("couldn't open file " + sFilename);
+ GlobalLogWriter.println("Message: " + fne.getMessage());
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.println("Exception while reading file " + sFilename);
+ GlobalLogWriter.println("Message: " + ie.getMessage());
+ }
+ try
+ {
+ aRandomAccessFile.close();
+ }
+ catch (java.io.IOException ie)
+ {
+ GlobalLogWriter.println("Couldn't close file " + sFilename);
+ GlobalLogWriter.println("Message: " + ie.getMessage());
+ }
+ }
+
+// public static void main(String[] args)
+// {
+// BorderRemover a = new BorderRemover();
+// try
+// {
+// a.createNewImageWithoutBorder(args[0], args[1]);
+// }
+// catch(java.io.IOException e)
+// {
+// System.out.println("Exception caught.");
+// }
+//
+// }
+}
diff --git a/qadevOOo/runner/graphical/PixelCounter.java b/qadevOOo/runner/graphical/PixelCounter.java
new file mode 100644
index 000000000000..e625c2a75b12
--- /dev/null
+++ b/qadevOOo/runner/graphical/PixelCounter.java
@@ -0,0 +1,247 @@
+/*************************************************************************
+ *
+ * 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 graphical;
+
+
+// -----------------------------------------------------------------------------
+abstract class CountPixel
+{
+ protected int m_nCount = 0;
+ public int getCount() {return m_nCount;}
+ public abstract void count(int _nRGB);
+}
+
+// -----------------------------------------------------------------------------
+class CountNotWhite extends CountPixel
+{
+ public CountNotWhite()
+ {
+ // System.out.println("CountWhite()");
+ }
+
+ public void countold(final int pixel)
+ {
+ // final int alpha = (pixel >> 24) & 0xff;
+ final int red = (pixel >> 16) & 0xff;
+ final int green = (pixel >> 8) & 0xff;
+ final int blue = (pixel ) & 0xff;
+
+ // System.out.println(String.valueOf(red) + ":" + String.valueOf(green) + ":" + String.valueOf(blue));
+ if (red == 0xff && green == 0xff && blue == 0xff)
+ {
+ return;
+ }
+ ++m_nCount;
+ }
+ public void count(final int pixel)
+ {
+ // final int alpha = (pixel >> 24) & 0xff;
+ final int blue = (pixel ) & 0xff;
+ if (blue != 0xff)
+ {
+ ++m_nCount;
+ return;
+ }
+ final int green = (pixel >> 8) & 0xff;
+ if (green != 0xff)
+ {
+ ++m_nCount;
+ return;
+ }
+ final int red = (pixel >> 16) & 0xff;
+ if (red != 0xff)
+ {
+ ++m_nCount;
+ return;
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+class CountNotBlack extends CountPixel
+{
+ public CountNotBlack()
+ {
+ // System.out.println("CountBlack()");
+ }
+
+ public void countold(final int pixel)
+ {
+ // final int alpha = (pixel >> 24) & 0xff;
+ final int red = (pixel >> 16) & 0xff;
+ final int green = (pixel >> 8) & 0xff;
+ final int blue = (pixel ) & 0xff;
+
+ if (red == 0x00 && green == 0x00 && blue == 0x00)
+ {
+ return;
+ }
+ ++m_nCount;
+ }
+ public void count(final int pixel)
+ {
+ // final int alpha = (pixel >> 24) & 0xff;
+ final int blue = (pixel ) & 0xff;
+ if (blue != 0x00)
+ {
+ ++m_nCount;
+ return;
+ }
+ final int green = (pixel >> 8) & 0xff;
+ if (green != 0x00)
+ {
+ ++m_nCount;
+ return;
+ }
+ final int red = (pixel >> 16) & 0xff;
+ if (red != 0x00)
+ {
+ ++m_nCount;
+ return;
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+class graphics_stuff
+{
+// public int stuff()
+// {
+//// (1) decoding
+// int rgba = 0; // ...; // comes from PixelGrabber, BufferedImage.getRGB etc.
+// int red = (rgba >> 16) & 0xff;
+// int green = (rgba >> 8) & 0xff;
+// int blue = rgba & 0xff;
+// int alpha = (rgba >> 24) & 0xff;
+//// (2) now modify red, green, blue and alpha as you like;
+//// make sure that each of the four values stays in the
+//// interval 0 to 255
+//// ...
+//// (3) and encode back to an int, e.g. to give it to MemoryImageSource or
+//// BufferedImage.setRGB
+// rgba = (alpha << 24) | (red << 16) | (green << 8) | blue;
+// return 0;
+// }
+
+// public static void handlesinglepixel(int x, int y, int pixel)
+// {
+// int alpha = (pixel >> 24) & 0xff;
+// int red = (pixel >> 16) & 0xff;
+// int green = (pixel >> 8) & 0xff;
+// int blue = (pixel ) & 0xff;
+// // Deal with the pixel as necessary...
+// }
+
+ public static void countPixel(ImageHelper img, int _x, int _y, int _w, int _h, CountPixel _aPixelCounter)
+ {
+ for (int y = 0; y < _h; y++) {
+ for (int x = 0; x < _w; x++) {
+ // handlesinglepixel(x+i, y+j, pixels[j * w + i]);
+ _aPixelCounter.count(img.getPixel(x,y));
+ }
+ }
+ }
+ public static int countNotWhitePixel(ImageHelper _aImage)
+ {
+ final int w = _aImage.getWidth();
+ final int h = _aImage.getHeight();
+
+ CountPixel aCountNotWhite = new CountNotWhite();
+ countPixel(_aImage, 0, 0, w, h, aCountNotWhite);
+ return aCountNotWhite.getCount();
+ }
+
+ public static int countNotBlackPixel(ImageHelper _aImage)
+ {
+ final int w = _aImage.getWidth();
+ final int h = _aImage.getHeight();
+
+ CountPixel aCountNotBlack = new CountNotBlack();
+ countPixel(_aImage, 0, 0, w, h, aCountNotBlack);
+ return aCountNotBlack.getCount();
+ }
+}
+
+// -----------------------------------------------------------------------------
+
+public class PixelCounter {
+ // private Image m_aImage;
+ // ImageHelper m_aImage;
+
+
+ public int countNotWhitePixel(String _sFile)
+ throws java.io.IOException
+ {
+ ImageHelper aImage = ImageHelper.createImageHelper(_sFile);
+ final int nw = graphics_stuff.countNotWhitePixel(aImage);
+ return nw;
+ }
+
+ public int countNotBlackPixel(String _sFile)
+ throws java.io.IOException
+ {
+ ImageHelper aImage = ImageHelper.createImageHelper(_sFile);
+ final int nw = graphics_stuff.countNotBlackPixel(aImage);
+ return nw;
+ }
+
+ public static int countNotWhitePixelsFromImage(String _sFile)
+ throws java.io.IOException
+ {
+ PixelCounter a = new PixelCounter();
+ return a.countNotWhitePixel(_sFile);
+ }
+
+ public static int countNotBlackPixelsFromImage(String _sFile)
+ throws java.io.IOException
+ {
+ PixelCounter a = new PixelCounter();
+ return a.countNotBlackPixel(_sFile);
+ }
+
+ // -----------------------------------------------------------------------------
+
+// public static void main(String[] args) {
+//
+// String a = helper.StringHelper.createValueString(10, 4);
+// int dummy = 1;
+///*
+// BorderRemover a = new BorderRemover();
+// try
+// {
+// a.createNewImageWithoutBorder(args[0], args[1]);
+// }
+// catch(java.io.IOException e)
+// {
+// System.out.println("Exception caught.");
+// }
+// */
+// }
+}
+
+
diff --git a/qadevOOo/runner/graphical/PostscriptCreator.java b/qadevOOo/runner/graphical/PostscriptCreator.java
new file mode 100644
index 000000000000..ab7ad4536fa6
--- /dev/null
+++ b/qadevOOo/runner/graphical/PostscriptCreator.java
@@ -0,0 +1,137 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+
+/**
+ *
+ * @author ll93751
+ */
+public class PostscriptCreator extends EnhancedComplexTestCase
+{
+
+ // @Override
+ public String[] getTestMethodNames()
+ {
+ return new String[]{"DocumentToPostscript"};
+ }
+
+ /**
+ * test function.
+ */
+ public void DocumentToPostscript()
+ {
+ GlobalLogWriter.set(log);
+ ParameterHelper aParam = new ParameterHelper(param);
+
+ param.put(util.PropertyName.OFFICE_CLOSE_TIME_OUT, 2000);
+ // run through all documents found in Inputpath
+ foreachDocumentinInputPath(aParam);
+ }
+
+
+ public void checkOneFile(String _sDocumentName, String _sResult, ParameterHelper _aParams) throws OfficeException
+ {
+ GlobalLogWriter.println("Document: " + _sDocumentName + " results: " + _sResult);
+ IOffice aOffice = new Office(_aParams, _sResult);
+
+ PerformanceContainer a = new PerformanceContainer();
+ a.startTime(PerformanceContainer.AllTime);
+
+ // _aParams.getTestParameters().put(util.PropertyName.DEBUG_IS_ACTIVE, Boolean.TRUE);
+ a.startTime(PerformanceContainer.OfficeStart);
+ aOffice.start();
+ a.stopTime(PerformanceContainer.OfficeStart);
+
+ // _aParams.getTestParameters().put(util.PropertyName.DEBUG_IS_ACTIVE, Boolean.FALSE);
+
+ // This force an error! _sDocumentName = helper.StringHelper.doubleQuote(_sDocumentName);
+ try
+ {
+ a.startTime(PerformanceContainer.Load);
+ aOffice.load(_sDocumentName);
+ a.stopTime(PerformanceContainer.Load);
+
+ a.startTime(PerformanceContainer.Print);
+ aOffice.storeAsPostscript();
+ a.stopTime(PerformanceContainer.Print);
+ }
+ finally
+ {
+ a.startTime(PerformanceContainer.OfficeStop);
+ aOffice.close();
+ a.stopTime(PerformanceContainer.OfficeStop);
+
+ a.stopTime(PerformanceContainer.AllTime);
+
+ a.print( System.out );
+ }
+ }
+
+
+
+
+// public static void main(String [] _args)
+// {
+// String args[] = {
+// "-TimeOut", "3600000",
+// "-tb", "java_complex",
+// "-o", "graphical.PostscriptCreator",
+//// "-DOC_COMPARATOR_INPUT_PATH", "D:\\temp\\input",
+//// "-DOC_COMPARATOR_OUTPUT_PATH", "D:\\temp\\output",
+//// "-DOC_COMPARATOR_REFERENCE_PATH", "D:\\temp\\output\\ref",
+//// "-DOC_COMPARATOR_PRINT_MAX_PAGE", "9999",
+//// "-DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION", "180",
+//// "-DOC_COMPARATOR_HTML_OUTPUT_PREFIX", "http://so-gfxcmp-lin.germany.sun.com/gfxcmp_ui/cw.php?inifile=",
+////// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "PDF", /* default: "OOo" */
+////// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE", "msoffice", /* default: "OOo" */
+////// "-OFFICE_VIEWABLE", "false",
+//// "-AppExecutionCommand", "\"C:/home/ll93751/staroffice9_DEV300_m25/Sun/StarOffice 9/program/soffice.exe\" -norestore -nocrashreport -accept=pipe,name=ll93751;urp;",
+////// "-NoOffice"
+// "-DOC_COMPARATOR_PRINT_MAX_PAGE","9999",
+// "-DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION","180",
+// "-DOC_COMPARATOR_HTML_OUTPUT_PREFIX","http://so-gfxcmp.germany.sun.com/gfxcmp_ui/cw.php?inifile=",
+// "-DOC_COMPARATOR_REFERENCE_CREATOR_TYPE","OOo",
+// "-DOC_COMPARATOR_DB_INFO_STRING","p:DEV300_m18,c:,d:LLA_test,src:DEV300_m18,dest:,doc:LLA_test,id:34715,distinct:2008-06-27_13-39-09_d6f22d4c-958d-10",
+// "-DISTINCT","2008-06-27_13-39-09_d6f22d4c-958d-10",
+// "-TEMPPATH","//so-gfxcmp-lin/gfxcmp-data/wntmsci/temp/2008-06-27_13-39-09_d6f22d4c-958d-10/34715",
+//// "ConnectionString","socket,host=localhost,port=8101",
+// "-OFFICE_VIEWABLE","true",
+// "-wntmsci.DOC_COMPARATOR_INPUT_PATH","\\\\so-gfxcmp-lin\\doc-pool\\LLA_test\\issue_79214.odb",
+// "-wntmsci.DOC_COMPARATOR_OUTPUT_PATH","\\\\so-gfxcmp-lin\\gfxcmp-data\\wntmsci\\convwatch-output\\LLA_test\\DEV300_m11",
+// "-wntmsci.AppExecutionCommand","\"C:\\gfxcmp\\programs\\staroffice8_DEV300_m11\\Sun\\StarOffice 9\\program\\soffice.exe\" -norestore -nocrashreport -accept=pipe,name=ll93751;urp;",
+// "-wntmsci.AppKillCommand","\"C:\\bin\\pskill.exe soffice.bin;C:\\bin\\pskill.exe winword;C:\\bin\\pskill.exe excel\"",
+//
+// };
+//
+// org.openoffice.Runner.main(args);
+// }
+
+}
diff --git a/qadevOOo/runner/graphical/PropertyName.java b/qadevOOo/runner/graphical/PropertyName.java
new file mode 100644
index 000000000000..729fd0c33c38
--- /dev/null
+++ b/qadevOOo/runner/graphical/PropertyName.java
@@ -0,0 +1,73 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+/**
+ *
+ * @author ll93751
+ */
+public interface PropertyName
+{
+ final public static String DOC_COMPARATOR_INPUT_PATH = "DOC_COMPARATOR_INPUT_PATH";
+ final public static String DOC_COMPARATOR_OUTPUT_PATH = "DOC_COMPARATOR_OUTPUT_PATH";
+// final public static String DOC_COMPARATOR_DIFF_PATH = "DOC_COMPARATOR_DIFF_PATH";
+// final public static String DOC_COMPARATOR_REFERENCE_PATH = "DOC_COMPARATOR_REFERENCE_PATH";
+// final public static String DOC_COMPARATOR_REFERENCE_INPUT_PATH = "DOC_COMPARATOR_REFERENCE_INPUT_PATH";
+ final public static String DOC_COMPARATOR_REFERENCE_TYPE = "DOC_COMPARATOR_REFERENCE_CREATOR_TYPE";
+ final public static String DOC_COMPARATOR_PRINTER_NAME = "DOC_COMPARATOR_PRINTER_NAME";
+// final public static String DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP = "DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP";
+ final public static String DOC_COMPARATOR_INCLUDE_SUBDIRS = "DOC_COMPARATOR_INCLUDE_SUBDIRS";
+ final public static String DOC_COMPARATOR_PRINT_MAX_PAGE = "DOC_COMPARATOR_PRINT_MAX_PAGE";
+ final public static String DOC_COMPARATOR_PRINT_ONLY_PAGE = "DOC_COMPARATOR_PRINT_ONLY_PAGE";
+ final public static String DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION = "DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION";
+ final public static String DOC_COMPARATOR_OVERWRITE_REFERENCE = "DOC_COMPARATOR_OVERWRITE_REFERENCE";
+
+ final public static String DOC_COMPARATOR_HTML_OUTPUT_PREFIX = "DOC_COMPARATOR_HTML_OUTPUT_PREFIX";
+// final public static String DOC_COMPARATOR_GFXCMP_WITH_BORDERMOVE = "DOC_COMPARATOR_GFXCMP_WITH_BORDERMOVE";
+
+ final public static String DOC_CONVERTER_IMPORT_FILTER_NAME = "DOC_CONVERTER_IMPORT_FILTER_NAME";
+ final public static String DOC_CONVERTER_EXPORT_FILTER_NAME = "DOC_CONVERTER_EXPORT_FILTER_NAME";
+ final public static String DOC_CONVERTER_OFFICE_PROGRAM = "DOC_CONVERTER_OFFICE_PROGRAM";
+// final public static String DOC_CONVERTER_REUSE_OFFICE = "DOC_CONVERTER_REUSE_OFFICE";
+
+ final public static String DOC_COMPARATOR_LEAVE_OUT_FILES = "DOC_COMPARATOR_LEAVE_OUT_FILES";
+
+ final public static String DOC_COMPARATOR_DB_INFO_STRING = "DOC_COMPARATOR_DB_INFO_STRING";
+
+// final public static String TEMPPATH = "TEMPPATH";
+
+ // set this variable to "true" or "yes" and loadComponentFromURL works with property Hidden=false
+ final public static String OFFICE_VIEWABLE = "OFFICE_VIEWABLE";
+
+// final public static String DB_CONNECTION_STRING = "DB_CONNECTION_STRING";
+// final public static String CHECK_NEED_TOOLS = "CHECK_NEED_TOOLS";
+// final public static String CREATE_DEFAULT = "CREATE_DEFAULT_REFERENCE";
+ final public static String NO_SMALL_PICTURES = "NoSmallPictures";
+}
diff --git a/qadevOOo/runner/graphical/TimeHelper.java b/qadevOOo/runner/graphical/TimeHelper.java
new file mode 100644
index 000000000000..057f9cd19494
--- /dev/null
+++ b/qadevOOo/runner/graphical/TimeHelper.java
@@ -0,0 +1,91 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+import java.util.Calendar;
+
+/**
+ *
+ * @author ll93751
+ */
+public class TimeHelper
+{
+ /*
+ wait a second the caller don't need to handle the interruptexception
+ @param _nSeconds how long should we wait
+ @param _sReason give a good reason, why we have to wait
+ */
+ static void waitInSeconds(int _nSeconds, String _sReason)
+ {
+ GlobalLogWriter.println("Wait 0.25 * " + String.valueOf(_nSeconds) + " sec. Reason: " + _sReason);
+ try {
+ java.lang.Thread.sleep(_nSeconds * 250);
+ } catch (java.lang.InterruptedException e2) {}
+ }
+
+ private int m_nSeconds;
+ private int m_nMilliSeconds;
+ private long m_nRealMilliSeconds;
+
+ private boolean m_bIsStopped = false;
+
+ public TimeHelper()
+ {}
+
+ public void start()
+ {
+ m_bIsStopped = false;
+ Calendar cal = Calendar.getInstance();
+ m_nSeconds = cal.get(Calendar.SECOND);
+ m_nMilliSeconds = cal.get(Calendar.MILLISECOND);
+ }
+ public void stop()
+ {
+ Calendar cal = Calendar.getInstance();
+ m_bIsStopped = true;
+ int nSeconds = cal.get(Calendar.SECOND);
+ m_nSeconds = nSeconds - m_nSeconds;
+ if (m_nSeconds < 0)
+ {
+ // add a minute
+ m_nSeconds += 60;
+ }
+
+ int nMilliSeconds = cal.get(Calendar.MILLISECOND);
+ m_nMilliSeconds = nMilliSeconds - m_nMilliSeconds;
+ m_nRealMilliSeconds = m_nSeconds * 1000 + m_nMilliSeconds;
+ }
+
+ public String getTime()
+ {
+ return String.valueOf(m_nRealMilliSeconds);
+ }
+
+}
diff --git a/qadevOOo/runner/graphical/Tolerance.java b/qadevOOo/runner/graphical/Tolerance.java
new file mode 100644
index 000000000000..90e853c9124c
--- /dev/null
+++ b/qadevOOo/runner/graphical/Tolerance.java
@@ -0,0 +1,23 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package graphical;
+
+/**
+ *
+ * @author ll93751
+ */
+public class Tolerance
+{
+ private int m_nTolerance;
+ public Tolerance(int _nAccept)
+ {
+ m_nTolerance = _nAccept;
+ }
+ public int getAccept()
+ {
+ return m_nTolerance;
+ }
+}
diff --git a/qadevOOo/runner/graphical/WrongEnvironmentException.java b/qadevOOo/runner/graphical/WrongEnvironmentException.java
new file mode 100644
index 000000000000..24ab5532b2e7
--- /dev/null
+++ b/qadevOOo/runner/graphical/WrongEnvironmentException.java
@@ -0,0 +1,42 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+/**
+ *
+ * @author ll93751
+ */
+public class WrongEnvironmentException extends OfficeException
+{
+ public WrongEnvironmentException(String _aMessage)
+ {
+ super(_aMessage);
+ }
+}
diff --git a/qadevOOo/runner/graphical/WrongSuffixException.java b/qadevOOo/runner/graphical/WrongSuffixException.java
new file mode 100644
index 000000000000..d8632ea50e72
--- /dev/null
+++ b/qadevOOo/runner/graphical/WrongSuffixException.java
@@ -0,0 +1,42 @@
+/*
+ * ************************************************************************
+ *
+ * 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 graphical;
+
+/**
+ *
+ * @author ll93751
+ */
+public class WrongSuffixException extends OfficeException
+{
+ public WrongSuffixException(String _aMessage)
+ {
+ super(_aMessage);
+ }
+}
diff --git a/qadevOOo/runner/graphical/makefile.mk b/qadevOOo/runner/graphical/makefile.mk
new file mode 100644
index 000000000000..4e1b0e98cba1
--- /dev/null
+++ b/qadevOOo/runner/graphical/makefile.mk
@@ -0,0 +1,76 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = convwatch
+TARGET = runner_convwatch
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar
+JAVAFILES = \
+BuildID.java \
+DateHelper.java \
+DirectoryHelper.java \
+EnhancedComplexTestCase.java \
+FileHelper.java \
+GlobalLogWriter.java \
+HTMLResult.java \
+IDocument.java \
+IOffice.java \
+ImageHelper.java \
+IniFile.java \
+JPEGComparator.java \
+JPEGCreator.java \
+JPEGEvaluator.java \
+MSOfficePostscriptCreator.java \
+Office.java \
+OfficeException.java \
+OpenOfficeDatabaseReportExtractor.java \
+OpenOfficePostscriptCreator.java \
+ParameterHelper.java \
+PerformanceContainer.java \
+PixelCounter.java \
+PostscriptCreator.java \
+PropertyName.java \
+TimeHelper.java \
+WrongEnvironmentException.java \
+WrongSuffixException.java \
+Tolerance.java
+
+# GraphicalComparator.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/helper/APIDescGetter.java b/qadevOOo/runner/helper/APIDescGetter.java
new file mode 100644
index 000000000000..9e980b273896
--- /dev/null
+++ b/qadevOOo/runner/helper/APIDescGetter.java
@@ -0,0 +1,985 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.StringTokenizer;
+
+import share.DescEntry;
+import share.DescGetter;
+
+/**
+ * This is the Office-API specific DescGetter<br>
+ * <br>
+ * Examples:<br><br>
+ * -o sw.SwXBodyText<br>
+ * runs the module test of <B>Sw.SwXBodyText</B><br>
+ * <br>
+ * -o sw.SwXBodyText::com::sun::star::text::Text<br>
+ * runs only the interface test <B>com.sun.star.textText</B> of the module <B>Sw.SwXBodyText</B><br>
+ * <br>
+ * -o sw.SwXBodyText::com::sun::star::text::Text,com::sun::star::text::XSimpleText<br>
+ * runs only the interfaces test <B>com.sun.star.textText</B> and <B>com.sun.star.text.XSimpleText</B> of the module <B>Sw.SwXBodyText</B><br>
+ * <br>
+ * -p sw<br>
+ * runs all modules of the project <B>sw</B><br>
+ * <br>
+ * -p listall<br>
+ * lists all known module tests<br>
+ * <br>
+ * -sce SCENARIO_FILE<br>
+ * A scenario file is a property file which could cotain <B>-o</B> and <B>-p</B> properties<br>
+ * <br>
+ * -sce sw.SwXBodyText,sw.SwXBookmark<br>
+ * runs the module test of <B>Sw.SwXBodyText</B> and <B>sw.SwXBookmark</B><br>
+ */
+public class APIDescGetter extends DescGetter
+{
+
+ private static String fullJob = null;
+
+ /*
+ * gets the needed information about a StarOffice component
+ * @param descPath Path to the ComponentDescription
+ * @param entry contains the entry name, e.g. sw.SwXBodyText
+ * @param debug if true some debug information is displayed on standard out
+ */
+ public DescEntry[] getDescriptionFor(String job, String descPath,
+ boolean debug)
+ {
+
+ if (job.startsWith("-o"))
+ {
+ job = job.substring(3, job.length()).trim();
+
+ if (job.indexOf(".") < 0)
+ {
+ return null;
+ }
+
+ // special in case several Interfaces are given comma separated
+ if (job.indexOf(",") < 0)
+ {
+ DescEntry entry = getDescriptionForSingleJob(job, descPath,
+ debug);
+
+ if (entry != null)
+ {
+ return new DescEntry[]
+ {
+ entry
+ };
+ }
+ else
+ {
+ return null;
+ }
+ }
+ else
+ {
+ ArrayList subs = getSubInterfaces(job);
+ String partjob = job.substring(0, job.indexOf(",")).trim();
+ DescEntry entry = getDescriptionForSingleJob(partjob, descPath,
+ debug);
+
+ if (entry != null)
+ {
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ String subEntry = entry.SubEntries[i].longName;
+ int cpLength = entry.longName.length();
+ subEntry = subEntry.substring(cpLength + 2,
+ subEntry.length());
+
+ if (subs.contains(subEntry))
+ {
+ entry.SubEntries[i].isToTest = true;
+ }
+ }
+
+ return new DescEntry[]
+ {
+ entry
+ };
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+
+ if (job.startsWith("-p"))
+ {
+ job = job.substring(3, job.length()).trim();
+
+ String[] scenario = createScenario(descPath, job, debug);
+ if (scenario == null)
+ {
+ return null;
+ }
+ DescEntry[] entries = new DescEntry[scenario.length];
+ for (int i = 0; i < scenario.length; i++)
+ {
+ entries[i] = getDescriptionForSingleJob(
+ scenario[i].substring(3).trim(), descPath, debug);
+ }
+ if (job.equals("listall"))
+ {
+ util.dbg.printArray(scenario);
+ System.exit(0);
+ }
+ return entries;
+ }
+
+ if (job.startsWith("-sce"))
+ {
+ job = job.substring(5, job.length()).trim();
+
+ File sceFile = new File(job);
+ if (sceFile.exists())
+ {
+ return getScenario(job, descPath, debug);
+ }
+ else
+ {
+ //look the scenarion like this? :
+ // sw.SwXBodyText,sw.SwXTextCursor
+ ArrayList subs = getSubObjects(job);
+ DescEntry[] entries = new DescEntry[subs.size()];
+
+ for (int i = 0; i < subs.size(); i++)
+ {
+ entries[i] = getDescriptionForSingleJob(
+ (String) subs.get(i), descPath, debug);
+ }
+ return entries;
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ protected DescEntry getDescriptionForSingleJob(String job, String descPath,
+ boolean debug)
+ {
+ boolean isSingleInterface = job.indexOf("::") > 0;
+ fullJob = job;
+
+ if (isSingleInterface)
+ {
+ job = job.substring(0, job.indexOf("::"));
+ }
+
+ if (job.startsWith("bugs"))
+ {
+ DescEntry Entry = new DescEntry();
+ Entry.entryName = job;
+ Entry.longName = job;
+ Entry.EntryType = "bugdoc";
+ Entry.isOptional = false;
+ Entry.isToTest = true;
+ Entry.SubEntryCount = 0;
+ Entry.hasErrorMsg = false;
+ Entry.State = "non possible";
+
+ return Entry;
+ }
+
+ DescEntry entry = null;
+
+ if (descPath != null)
+ {
+ if (debug)
+ {
+ System.out.println("## reading from File " + descPath);
+ }
+
+ entry = getFromDirectory(descPath, job, debug);
+ }
+ else
+ {
+ if (debug)
+ {
+ System.out.println("## reading from jar");
+ }
+
+ entry = getFromClassPath(job, debug);
+ }
+
+ boolean foundInterface = false;
+
+ if (isSingleInterface && (entry != null))
+ {
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ if (!(entry.SubEntries[i].longName).equals(fullJob))
+ {
+ entry.SubEntries[i].isToTest = false;
+ }
+ else
+ {
+ foundInterface = true;
+ entry.SubEntries[i].isToTest = true;
+ }
+ }
+ }
+
+ if (isSingleInterface && !foundInterface || entry == null)
+ {
+ return setErrorDescription(entry,
+ "couldn't find a description for test '" + fullJob + "'");
+ }
+
+ return entry;
+ }
+
+ protected static DescEntry[] getSubEntries(BufferedReader cvsFile,
+ DescEntry parent, boolean debug)
+ {
+ String line = "";
+ String old_ifc_name = "";
+ ArrayList ifc_names = new ArrayList();
+ ArrayList meth_names = new ArrayList();
+ DescEntry ifcDesc = null;
+
+ while (line != null)
+ {
+ try
+ {
+ line = cvsFile.readLine();
+ if (line == null)
+ {
+ continue;
+ }
+ if (line.startsWith("#"))
+ {
+ continue;
+ }
+ if (line.length() <= 0)
+ {
+ continue;
+ }
+// TODO Probleme here
+ // int nFirstSemicolon = line.indexOf(";");
+ // int nLastSemicolon = line.lastIndexOf(";");
+
+ String unknown;
+ String ifc_name = ""; // = line.substring(line.indexOf(";") + 2, line.lastIndexOf(";") - 1);
+ String meth_name = ""; // = line.substring(line.lastIndexOf(";") + 2, line.length() - 1);
+ StringTokenizer aToken = new StringTokenizer(line, ";");
+ if (aToken.countTokens() < 3)
+ {
+ System.out.println("Wrong format: Line '" + line + "' is not supported.");
+ continue;
+ }
+ if (aToken.hasMoreTokens())
+ {
+ unknown = StringHelper.removeQuoteIfExists(aToken.nextToken());
+ }
+ if (aToken.hasMoreTokens())
+ {
+ ifc_name = StringHelper.removeQuoteIfExists(aToken.nextToken());
+ }
+ if (aToken.hasMoreTokens())
+ {
+ meth_name = StringHelper.removeQuoteIfExists(aToken.nextToken());
+ }
+
+ // String ifc_name = line.substring(line.indexOf(";") + 2, line.lastIndexOf(";") - 1);
+ // String meth_name = line.substring(line.lastIndexOf(";") + 2, line.length() - 1);
+
+ DescEntry methDesc = createDescEntry(meth_name, ifc_name, parent);
+
+ if (!ifc_name.equals(old_ifc_name))
+ {
+ if (ifcDesc != null)
+ {
+ ifcDesc.SubEntries = getDescArray(meth_names.toArray());
+ ifcDesc.SubEntryCount = meth_names.size();
+
+ //mark service/interface as optional if all methods/properties are optional
+ boolean allOptional = true;
+
+ for (int k = 0; k < ifcDesc.SubEntryCount; k++)
+ {
+ if (!ifcDesc.SubEntries[k].isOptional)
+ {
+ allOptional = false;
+ }
+ }
+
+ if (!ifcDesc.isOptional && allOptional)
+ {
+ ifcDesc.isOptional = allOptional;
+ }
+
+ meth_names.clear();
+ ifc_names.add(ifcDesc);
+ }
+
+ ifcDesc = new DescEntry();
+ ifcDesc.isToTest = true;
+ old_ifc_name = ifc_name;
+
+ if (ifc_name.indexOf("#optional") > 0)
+ {
+ ifcDesc.isOptional = true;
+ ifc_name = ifc_name.substring(0, ifc_name.indexOf("#"));
+ }
+
+ String className = createClassName(ifc_name);
+
+ ifcDesc.EntryType = entryType;
+ ifcDesc.entryName = "ifc" + className;
+ ifcDesc.longName = parent.entryName + "::" + ifc_name;
+ }
+ meth_names.add(methDesc);
+
+ }
+ catch (java.io.IOException ioe)
+ {
+ parent.hasErrorMsg = true;
+ parent.ErrorMsg = "IOException while reading the description";
+
+ return null;
+ }
+ }
+
+ ifcDesc.SubEntries = getDescArray(meth_names.toArray());
+ ifcDesc.SubEntryCount = meth_names.size();
+
+ //mark service/interface as optional if all methods/properties are optional
+ boolean allOptional = true;
+
+ for (int k = 0; k < ifcDesc.SubEntryCount; k++)
+ {
+ if (!ifcDesc.SubEntries[k].isOptional)
+ {
+ allOptional = false;
+ }
+ }
+
+ if (!ifcDesc.isOptional && allOptional)
+ {
+ ifcDesc.isOptional = allOptional;
+ }
+
+ ifc_names.add(ifcDesc);
+
+ return getDescArray(makeArray(ifc_names));
+ }
+ private static String createClassName(String _ifc_name)
+ {
+ StringTokenizer st = new StringTokenizer(_ifc_name, ":");
+ String className = "";
+
+ int count = 3;
+
+ if (_ifc_name.startsWith("drafts"))
+ {
+ count = 4;
+ }
+
+ for (int i = 0; st.hasMoreTokens(); i++)
+ {
+ String token = st.nextToken();
+
+ // skipping (drafts.)com.sun.star
+ if (i >= count)
+ {
+ if (!st.hasMoreTokens())
+ {
+ // inserting '_' before the last token
+ token = "_" + token;
+ }
+
+ className += ("." + token);
+ }
+ }
+ return className;
+ }
+
+ private static String entryType;
+
+ private static DescEntry createDescEntry(String meth_name, String ifc_name, DescEntry parent)
+ {
+ entryType = "service";
+ DescEntry methDesc = new DescEntry();
+
+ if (meth_name.indexOf("#optional") > 0)
+ {
+ methDesc.isOptional = true;
+ meth_name = meth_name.substring(0, meth_name.indexOf("#"));
+ }
+
+ if (meth_name.endsWith("()"))
+ {
+ methDesc.EntryType = "method";
+ entryType = "interface";
+ }
+ else
+ {
+ methDesc.EntryType = "property";
+ entryType = "service";
+ }
+
+ methDesc.entryName = meth_name;
+ methDesc.isToTest = true;
+
+
+ String withoutHash = ifc_name;
+
+ if (ifc_name.indexOf("#optional") > 0)
+ {
+ withoutHash = ifc_name.substring(0, ifc_name.indexOf("#"));
+ }
+
+ methDesc.longName = parent.entryName + "::" + withoutHash + "::" + meth_name;
+
+ return methDesc;
+ }
+
+ private static void createIfcName(String ifc_name, ArrayList meth_names, DescEntry ifcDesc)
+ {
+ }
+
+ /**
+ * This method ensures that XComponent will be the last in the list of interfaces
+ */
+ protected static Object[] makeArray(ArrayList entries)
+ {
+ Object[] entriesArray = entries.toArray();
+ ArrayList returnArray = new ArrayList();
+ Object addAtEnd = null;
+
+ for (int k = 0; k < entriesArray.length; k++)
+ {
+ DescEntry entry = (DescEntry) entriesArray[k];
+
+ if (entry.entryName.equals("ifc.lang._XComponent"))
+ {
+ addAtEnd = entry;
+ }
+ else
+ {
+ returnArray.add(entry);
+ }
+ }
+
+ if (addAtEnd != null)
+ {
+ returnArray.add(addAtEnd);
+ }
+
+ return returnArray.toArray();
+ }
+
+ protected static DescEntry setErrorDescription(DescEntry entry,
+ String ErrorMsg)
+ {
+ if (entry == null)
+ {
+ entry = new DescEntry();
+ }
+ entry.hasErrorMsg = true;
+ entry.ErrorMsg = "Error while getting description for test '" +
+ fullJob + "' as an API test: " + ErrorMsg;
+
+ return entry;
+ }
+
+ protected static DescEntry[] getDescArray(Object[] list)
+ {
+ DescEntry[] entries = new DescEntry[list.length];
+
+ for (int i = 0; i < list.length; i++)
+ {
+ entries[i] = (DescEntry) list[i];
+ }
+
+ return entries;
+ }
+
+ protected DescEntry getFromClassPath(String aEntry, boolean debug)
+ {
+ int dotindex = aEntry.indexOf('.');
+
+ if (dotindex == -1)
+ {
+ return null;
+ }
+
+ String module = null;
+ String shortName = null;
+
+ if (aEntry.indexOf(".uno") == -1)
+ {
+ module = aEntry.substring(0, aEntry.indexOf('.'));
+ shortName = aEntry.substring(aEntry.indexOf('.') + 1);
+ }
+ else
+ {
+ module = aEntry.substring(0, aEntry.lastIndexOf('.'));
+ shortName = aEntry.substring(aEntry.lastIndexOf('.') + 1);
+ }
+
+ DescEntry theEntry = new DescEntry();
+ theEntry.entryName = aEntry;
+ theEntry.longName = aEntry;
+ theEntry.isOptional = false;
+ theEntry.EntryType = "component";
+ theEntry.isToTest = true;
+
+ BufferedReader csvFile = null;
+
+ java.net.URL url = this.getClass().getResource("/objdsc/" + module);
+
+ if (url == null)
+ {
+ return setErrorDescription(theEntry,
+ "couldn't find module '" + module + "'");
+ }
+
+ try
+ {
+ java.net.URLConnection con = url.openConnection();
+
+ String sEndsWithCSVName = "." + shortName.trim() + ".csv";
+ if (con instanceof java.net.JarURLConnection)
+ {
+ // get Jar file from connection
+ java.util.jar.JarFile f = ((java.net.JarURLConnection) con).getJarFile();
+
+ // Enumerate over all entries
+ java.util.Enumeration e = f.entries();
+
+ String sStartModule = "/" + module + "/";
+ while (e.hasMoreElements())
+ {
+
+ String entry = e.nextElement().toString();
+
+// if (debug) {
+// System.out.println("### Read from connetion: " + entry);
+// }
+
+ if ((entry.lastIndexOf(sStartModule) != -1) &&
+ entry.endsWith(sEndsWithCSVName))
+ {
+ InputStream input = this.getClass().getResourceAsStream("/" + entry);
+ csvFile = new BufferedReader(new InputStreamReader(input));
+ break;
+ }
+ }
+ }
+ else
+ {
+ InputStream in = con.getInputStream();
+ java.io.BufferedReader buf = new java.io.BufferedReader(new InputStreamReader(in));
+ boolean found = false;
+
+ while (buf.ready() && !found)
+ {
+ String entry = buf.readLine();
+
+ if (entry.endsWith(sEndsWithCSVName))
+ {
+ System.out.println("FOUND ####");
+ InputStream input = this.getClass().getResourceAsStream("/objdsc/" +
+ module +
+ "/" +
+ entry);
+ csvFile = new BufferedReader(
+ new InputStreamReader(input));
+ found = true;
+ }
+ }
+
+ buf.close();
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ }
+
+ if (csvFile == null)
+ {
+ return setErrorDescription(theEntry,
+ "couldn't find component '" +
+ theEntry.entryName + "'");
+ }
+
+ DescEntry[] subEntries = getSubEntries(csvFile, theEntry, debug);
+
+ theEntry.SubEntryCount = subEntries.length;
+ theEntry.SubEntries = subEntries;
+
+ return theEntry;
+ }
+
+ protected static DescEntry getFromDirectory(String descPath, String entry,
+ boolean debug)
+ {
+ int dotindex = entry.indexOf('.');
+
+ if (dotindex == -1)
+ {
+ return null;
+ }
+
+ String fs = System.getProperty("file.separator");
+ String module = null;
+ String shortName = null;
+
+ if (entry.indexOf(".uno") == -1)
+ {
+ module = entry.substring(0, entry.indexOf('.'));
+ shortName = entry.substring(entry.indexOf('.') + 1);
+ }
+ else
+ {
+ module = entry.substring(0, entry.lastIndexOf('.'));
+ shortName = entry.substring(entry.lastIndexOf('.') + 1);
+ }
+
+ DescEntry aEntry = new DescEntry();
+ aEntry.entryName = entry;
+ aEntry.longName = entry;
+ aEntry.isOptional = false;
+ aEntry.EntryType = "component";
+ aEntry.isToTest = true;
+
+ if (debug)
+ {
+ System.out.println("Parsing Description Path: " + descPath);
+ System.out.println("Searching module: " + module);
+ System.out.println("For the Component " + shortName);
+ }
+
+ File modPath = new File(descPath + fs + module);
+
+ if (!modPath.exists())
+ {
+ return setErrorDescription(aEntry,
+ "couldn't find module '" + module + "'");
+ }
+
+ String[] files = modPath.list();
+ String found = "none";
+
+ for (int i = 0; i < files.length; i++)
+ {
+ if (files[i].endsWith("." + shortName + ".csv"))
+ {
+ found = files[i];
+ System.out.println("found " + found);
+ break;
+ }
+ }
+
+ if (found.equals("none"))
+ {
+ return setErrorDescription(aEntry,
+ "couldn't find component '" + entry + "'");
+ }
+
+ String aUrl = descPath + fs + module + fs + found;
+
+ BufferedReader csvFile = null;
+
+ try
+ {
+ csvFile = new BufferedReader(new FileReader(aUrl));
+ }
+ catch (java.io.FileNotFoundException fnfe)
+ {
+ return setErrorDescription(aEntry, "couldn't find file '" + aUrl + "'");
+ }
+
+ DescEntry[] subEntries = getSubEntries(csvFile, aEntry, debug);
+
+ aEntry.SubEntryCount = subEntries.length;
+ aEntry.SubEntries = subEntries;
+
+ return aEntry;
+ }
+
+ protected ArrayList getSubInterfaces(String job)
+ {
+ ArrayList namesList = new ArrayList();
+ StringTokenizer st = new StringTokenizer(job, ",");
+
+ for (int i = 0; st.hasMoreTokens(); i++)
+ {
+ String token = st.nextToken();
+
+ if (token.indexOf(".") < 0)
+ {
+ namesList.add(token);
+ }
+ }
+
+ return namesList;
+ }
+
+ protected ArrayList getSubObjects(String job)
+ {
+ ArrayList namesList = new ArrayList();
+ StringTokenizer st = new StringTokenizer(job, ",");
+
+ for (int i = 0; st.hasMoreTokens(); i++)
+ {
+ namesList.add(st.nextToken());
+ }
+
+ return namesList;
+ }
+
+ protected String[] createScenario(String descPath, String job,
+ boolean debug)
+ {
+ String[] scenario = null;
+
+ if (descPath != null)
+ {
+ if (debug)
+ {
+ System.out.println("## reading from File " + descPath);
+ }
+
+ scenario = getScenarioFromDirectory(descPath, job, debug);
+ }
+ else
+ {
+ if (debug)
+ {
+ System.out.println("## reading from jar");
+ }
+
+ scenario = getScenarioFromClassPath(job, debug);
+ }
+
+ return scenario;
+ }
+
+ protected String[] getScenarioFromDirectory(String descPath, String job,
+ boolean debug)
+ {
+ String[] modules = null;
+ ArrayList componentList = new ArrayList();
+
+ if (!job.equals("unknown") && !job.equals("listall"))
+ {
+ modules = new String[]
+ {
+ job
+ };
+ }
+ else
+ {
+ File dirs = new File(descPath);
+
+ if (!dirs.exists())
+ {
+ modules = null;
+ }
+ else
+ {
+ modules = dirs.list();
+ }
+ }
+
+ for (int i = 0; i < modules.length; i++)
+ {
+ if (!isUnusedModule(modules[i]))
+ {
+ File moduleDir = new File(descPath + System.getProperty("file.separator") + modules[i]);
+ if (moduleDir.exists())
+ {
+ String[] components = moduleDir.list();
+ for (int j = 0; j < components.length; j++)
+ {
+ if (components[j].endsWith(".csv"))
+ {
+ String toAdd = getComponentForString(components[j], modules[i]);
+ toAdd = "-o " + modules[i] + "." + toAdd;
+ componentList.add(toAdd);
+ }
+ }
+ }
+ }
+ }
+
+ String[] scenario = new String[componentList.size()];
+ Collections.sort(componentList);
+
+ for (int i = 0; i < componentList.size(); i++)
+ {
+ scenario[i] = (String) componentList.get(i);
+ }
+
+ return scenario;
+
+ }
+
+ protected String[] getScenarioFromClassPath(String job, boolean debug)
+ {
+ String subdir = "/";
+
+ if (!job.equals("unknown") && !job.equals("listall"))
+ {
+ subdir += job;
+ }
+
+ java.net.URL url = this.getClass().getResource("/objdsc" + subdir);
+
+ if (url == null)
+ {
+ return null;
+ }
+
+ ArrayList scenarioList = new ArrayList();
+
+ try
+ {
+ java.net.URLConnection con = url.openConnection();
+
+ if (con instanceof java.net.JarURLConnection)
+ {
+ // get Jar file from connection
+ java.util.jar.JarFile f = ((java.net.JarURLConnection) con).getJarFile();
+
+ // Enumerate over all entries
+ java.util.Enumeration e = f.entries();
+
+ while (e.hasMoreElements())
+ {
+ String entry = e.nextElement().toString();
+
+ if (entry.startsWith("objdsc" + subdir) &&
+ (entry.indexOf("CVS") < 0) &&
+ !entry.endsWith("/"))
+ {
+ int startMod = entry.indexOf("/");
+ int endMod = entry.lastIndexOf("/");
+ String module = entry.substring(startMod + 1, endMod);
+ String component = getComponentForString(
+ entry.substring(endMod + 1,
+ entry.length()),
+ module);
+
+ if (!isUnusedModule(module))
+ {
+ scenarioList.add("-o " + module + "." +
+ component);
+ }
+ }
+ }
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ }
+
+ String[] scenario = new String[scenarioList.size()];
+ Collections.sort(scenarioList);
+
+ for (int i = 0; i < scenarioList.size(); i++)
+ {
+ scenario[i] = (String) scenarioList.get(i);
+ }
+
+ return scenario;
+ }
+
+ protected String getComponentForString(String full, String module)
+ {
+ String component = "";
+
+
+ //cutting .csv
+ full = full.substring(0, full.length() - 4);
+
+ //cutting component
+ int lastdot = full.lastIndexOf(".");
+ component = full.substring(lastdot + 1, full.length());
+
+ if (module.equals("file") || module.equals("xmloff"))
+ {
+ String withoutComponent = full.substring(0, lastdot);
+ int preLastDot = withoutComponent.lastIndexOf(".");
+ component = withoutComponent.substring(preLastDot + 1,
+ withoutComponent.length()) +
+ "." + component;
+ }
+
+ return component;
+ }
+
+ protected boolean isUnusedModule(String moduleName)
+ {
+ ArrayList removed = new ArrayList();
+ removed.add("acceptor");
+ removed.add("brdgfctr");
+ removed.add("connectr");
+ removed.add("corefl");
+ removed.add("cpld");
+ removed.add("defreg");
+ removed.add("dynamicloader");
+ removed.add("impreg");
+ removed.add("insp");
+ removed.add("inv");
+ removed.add("invadp");
+ removed.add("javaloader");
+ removed.add("jen");
+ removed.add("namingservice");
+ removed.add("proxyfac");
+ removed.add("rdbtdp");
+ removed.add("remotebridge");
+ removed.add("simreg");
+ removed.add("smgr");
+ removed.add("stm");
+ removed.add("tcv");
+ removed.add("tdmgr");
+ removed.add("ucprmt");
+ removed.add("uuresolver");
+
+ return removed.contains(moduleName);
+ }
+}
diff --git a/qadevOOo/runner/helper/AppProvider.java b/qadevOOo/runner/helper/AppProvider.java
new file mode 100644
index 000000000000..f8cf7e9737db
--- /dev/null
+++ b/qadevOOo/runner/helper/AppProvider.java
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+/**
+ *
+ * Interface to get a Manager to access the application to check
+ */
+public interface AppProvider {
+
+ /**
+ * Method to get the desired Manager
+ */
+ public Object getManager(lib.TestParameters param);
+
+ /**
+ * Method to dispose the desired Manager
+ */
+ public boolean disposeManager(lib.TestParameters param);
+
+ /**
+ * Close an office.
+ * @param param The test parameters.
+ * @param closeIfPossible If true, close even if
+ * it was running before the test
+ * @return True, if close worked.
+ */
+ public boolean closeExistingOffice(lib.TestParameters param,
+ boolean closeIfPossible);
+}
diff --git a/qadevOOo/runner/helper/BuildEnvTools.java b/qadevOOo/runner/helper/BuildEnvTools.java
new file mode 100644
index 000000000000..296b56877717
--- /dev/null
+++ b/qadevOOo/runner/helper/BuildEnvTools.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import java.io.File;
+import java.io.PrintWriter;
+import lib.TestParameters;
+import share.LogWriter;
+import util.*;
+
+/**
+ * This class support you to execute some shell commands in a buld environment. At ervery call of commands
+ * a build environment was created and the commands will be executed.
+ *
+ */
+public class BuildEnvTools {
+
+ private final TestParameters param;
+ private final LogWriter log;
+ private final boolean mDebug;
+ private final String mPlatform;
+ private final String mShell;
+ private boolean mCygwin;
+
+ /**
+ * This constructor creates an instance of BuildEncTools. It is verifying for all neccesarry
+ * parameters in <CODE>TestParameters</CODE> This must be:
+ * <ul>
+ * <li>OperatingSystem: Fill this parameter with an operating system like unxsols, unxsoli, unxlngi or wntmsci.
+ * </li>
+ * <li> Shell: Fill this parameter with a shell f.e '/bin/tcsh'
+ * or 'c:\\myShell\\myShell.exe'
+ * </li>
+ * @param param
+ * @param log
+ * @throws helper.ParameterNotFoundException
+ */
+ public BuildEnvTools(TestParameters param, LogWriter log) throws ParameterNotFoundException {
+ this.param = param;
+ this.log = log;
+ mDebug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ boolean error = false;
+
+ String msg = "\nERROR: the following parameter must be set before executing the test:\n\n";
+
+ mPlatform = (String) param.get(PropertyName.OPERATING_SYSTEM);
+ if (mDebug) {
+ log.println("### " + mPlatform);
+ }
+ if (mPlatform == null){
+ msg += PropertyName.OPERATING_SYSTEM + "\nFill this parameter with an operating system like unxsols," +
+ " unxsoli, unxlngi, unxmacxi or wntmsci. \n\n";
+ }
+ if(
+ (!mPlatform.equalsIgnoreCase(PropertyName.UNXSOLS)) &&
+ (!mPlatform.equalsIgnoreCase(PropertyName.UNXSOLI)) &&
+ (!mPlatform.equalsIgnoreCase(PropertyName.UNXLNGI)) &&
+ (!mPlatform.equalsIgnoreCase(PropertyName.UNXMACXI))&&
+ (!mPlatform.equalsIgnoreCase(PropertyName.WNTMSCI)) ){
+
+ msg += PropertyName.OPERATING_SYSTEM + ":" + mPlatform + "\nFill this parameter with an operating system like unxsols," +
+ " unxsoli, unxlngi, unxmacxi or wntmsci. \n\n";
+ error = true;
+ }
+
+ mShell = (String) param.get(PropertyName.SHELL);
+ if (mShell == null) {
+ msg += PropertyName.SHELL + "\nFill this parameter with a shell" +
+ "\n\t/bin/tcsh c:\\myShell\\myShell.exe\n\n";
+ error = true;
+ }
+
+ mCygwin = (param.getBool(PropertyName.CYGWIN));
+
+ if (error) {
+ throw new ParameterNotFoundException(msg);
+ }
+ }
+
+ /**
+ * Executes the given commands in OOo-Environment shell.
+ * @param commands
+ * @param workDir
+ * @param shortWait
+ * @return the processHandler of the commands
+ * @see helper.ProcessHandler
+ */
+ public ProcessHandler runCommandsInEnvironmentShell(String[] commands, File workDir, int shortWait) {
+
+ final String[] cmdLines = getCmdLinesWithCommand(commands);
+ final ProcessHandler pHdl = new ProcessHandler(cmdLines, (PrintWriter) log, workDir, shortWait, param);
+ pHdl.runCommand();
+ return pHdl;
+ }
+
+ public String getSrcRoot() {
+
+ String sSrcRoot = (String) param.get(PropertyName.SRC_ROOT);
+
+ if (sSrcRoot == null) {
+ String[] cmdLines = null;
+ if (mPlatform.equals(PropertyName.WNTMSCI) && ! mCygwin) {
+ cmdLines = new String[]{mShell, "/C", "echo SRC_ROOT=%SRC_ROOT"};
+ } else {
+ cmdLines = new String[]{mShell, "--login ", "-c ", "echo \"SRC_ROOT=$SRC_ROOT\""};
+ }
+
+ final ProcessHandler procHdl = new ProcessHandler(cmdLines, (PrintWriter) log, null, 5000, param);
+ procHdl.runCommand();
+
+ if (mDebug) {
+ log.println("---> Output of command:");
+ log.println(procHdl.getOutputText());
+ log.println("<--- Output of command:");
+ log.println("---> Error output of command");
+ log.println(procHdl.getErrorText());
+ log.println("<--- Error output of command");
+ }
+ final String output = procHdl.getOutputText();
+ final String[] outs = output.split("\n");
+
+ for (int i = 0; i < outs.length; i++) {
+ final String line = outs[i];
+ if (line.startsWith("SRC_ROOT")) {
+ sSrcRoot = getEnvValue(line);
+ }
+ }
+ }
+ return sSrcRoot;
+ }
+
+ private String[] getCmdLinesWithCommand(String[] commands) {
+ String[] cmdLines = null;
+ log.println("prepare command for platform " + mPlatform);
+
+ String seperator = "";
+ if (mPlatform.equals(PropertyName.WNTMSCI)) {
+ seperator = mCygwin ? ";" : "^";
+ } else {
+ seperator = ";";
+ }
+
+ String command = "";
+ for (int i = 0; i < commands.length; i++) {
+ if (i != 0) {
+ command += seperator;
+ }
+ command += commands[i];
+ }
+
+ if (mPlatform.equals(PropertyName.WNTMSCI)){
+ if (mCygwin){
+ String srcRoot = (String) param.get(PropertyName.SRC_ROOT);
+ String envSet = "export cyg_src_root=`cygpath '" + srcRoot.replaceAll("\\\\", "\\\\\\\\")+ "'`; source $cyg_src_root/winenv.set.sh;";
+ command = envSet + command;
+ cmdLines = new String[]{mShell, "--login", "-c", "\"" + command + "\""};
+ } else {
+ cmdLines = new String[]{mShell, "/C", "\"" + command + "\""};
+ }
+ } else {
+ cmdLines = new String[]{mShell, "-c", command};
+ }
+ return cmdLines;
+ }
+
+ private String getEnvValue(String line) {
+ final String[] split = line.split("=");
+ return split[1];
+ }
+}
diff --git a/qadevOOo/runner/helper/CfgParser.java b/qadevOOo/runner/helper/CfgParser.java
new file mode 100644
index 000000000000..f4f919c5cfc4
--- /dev/null
+++ b/qadevOOo/runner/helper/CfgParser.java
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import lib.TestParameters;
+import java.util.Properties;
+import java.util.Enumeration;
+import java.io.FileInputStream;
+import util.PropertyName;
+
+/**
+ * This class parses the ini files and stores the data
+ * <br>
+ * inside TestParameters
+ */
+public class CfgParser
+{
+
+ protected boolean debug = false;
+ protected String iniFile = "";
+
+ public CfgParser(String ini)
+ {
+ if (ini != null)
+ {
+ this.iniFile = ini;
+ }
+ }
+
+ public void getIniParameters(TestParameters param)
+ {
+ debug = param.DebugIsActive;
+ Properties cfg = null;
+ if (iniFile.equals(""))
+ {
+ //no iniFile given, search one in the users home directory
+ cfg = getProperties(getDefaultFileName(true));
+ //try to search the user dir if no iniFile could be found yet
+ if (cfg == null)
+ {
+ cfg = getProperties(getDefaultFileName(false));
+ }
+ }
+ else
+ {
+ cfg = getProperties(iniFile);
+ }
+
+ if (cfg != null)
+ {
+ Enumeration cfgEnum = cfg.keys();
+ while (cfgEnum.hasMoreElements())
+ {
+ String pName = (String) cfgEnum.nextElement();
+ Object pValue = cfg.getProperty(pName);
+
+ if (pValue instanceof String)
+ {
+ pValue = ((String) pValue).trim();
+ }
+
+ param.put(pName.trim(), pValue);
+
+ if (pName.equals(PropertyName.TEST_DOCUMENT_PATH))
+ {
+
+ param.put("DOCPTH", (String) pValue);
+ System.setProperty("DOCPTH", (String) pValue);
+
+ }
+ else if (pName.equals(PropertyName.SRC_ROOT))
+ {
+
+ System.setProperty(pName, (String) pValue);
+
+ }
+ }
+ }
+
+ debug = param.DebugIsActive;
+
+ //check for platform dependend parameters
+ //this would have a $OperatingSystem as prefix
+ String os = (String) param.get(PropertyName.OPERATING_SYSTEM);
+ if (os != null && os.length() > 1)
+ {
+
+ //found something that could be a prefex
+ //check all parameters for this
+ Enumeration keys = param.keys();
+ while (keys.hasMoreElements())
+ {
+ String key = (String) keys.nextElement();
+ if (key.startsWith(os))
+ {
+ Object oldValue = param.get(key);
+ String newKey = key.substring(os.length() + 1);
+ param.remove(key);
+ param.put(newKey, oldValue);
+ }
+ }
+
+ }
+ }
+
+ protected Properties getProperties(String name)
+ {
+ // get the resource file
+ Properties prop = new Properties();
+ if (debug)
+ {
+ System.out.println("Looking for " + name);
+ }
+ try
+ {
+ FileInputStream propFile = new FileInputStream(name);
+ prop.load(propFile);
+ System.out.println("Parsing properties from " + name);
+ propFile.close();
+ }
+ catch (Exception e)
+ {
+ try
+ {
+ java.net.URL url = this.getClass().getResource("/" + name);
+ if (url != null)
+ {
+ System.out.println("Parsing properties from " + name);
+ java.net.URLConnection connection = url.openConnection();
+ java.io.InputStream in = connection.getInputStream();
+ prop.load(in);
+ }
+ }
+ catch (Exception ex)
+ {
+ //Exception while reading prop-file, returning null
+ return null;
+ }
+ }
+
+ return prop;
+ }
+
+ protected String getDefaultFileName(boolean home)
+ {
+ String fileSeparator = System.getProperty("file.separator");
+ String path = "";
+ if (home)
+ {
+ //look inside the home directory
+ path = System.getProperty("user.home");
+ }
+ else
+ {
+ path = System.getProperty("user.dir");
+ }
+ if (fileSeparator.equals("/"))
+ {
+ //suppose I'm on Unix-platform
+ return path + fileSeparator + ".runner.props";
+ }
+ else
+ {
+ //suppose I'm on Windows
+ return path + fileSeparator + "runner.props";
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/ClParser.java b/qadevOOo/runner/helper/ClParser.java
new file mode 100644
index 000000000000..583aea56f977
--- /dev/null
+++ b/qadevOOo/runner/helper/ClParser.java
@@ -0,0 +1,193 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import java.io.File;
+import java.util.Properties;
+
+import lib.TestParameters;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * This class parses commandline Argument and stores <br>
+ * them into TestParameter
+ */
+public class ClParser
+{
+ /*
+ * Parses the commandline argument and puts them<br>
+ * into the TestParameters
+ */
+
+ public void getCommandLineParameter(TestParameters param, String[] args)
+ {
+ Properties mapping = getMapping();
+
+ for (int i = 0; i < args.length;)
+ {
+ String pName = getParameterFor(mapping, args[i]).trim();
+ String pValue = "";
+ if (pName.equals("TestJob"))
+ {
+ if (args.length > (i + 1))
+ {
+ pValue = args[i].trim() + " " + args[i + 1].trim();
+ i += 2;
+ }
+ else
+ {
+ pValue = args[i].trim() + " unknown";
+ i += 2;
+ }
+ }
+ else
+ {
+ if ((i + 1) < args.length)
+ {
+ pValue = args[i + 1].trim();
+
+ if (pValue.startsWith("-"))
+ {
+ i++;
+ pValue = "yes";
+ }
+ else if (pValue.startsWith("'"))
+ {
+ i++;
+ while (!pValue.endsWith("'"))
+ {
+ i++;
+ pValue = pValue + " " + args[i].trim();
+
+ }
+ pValue = utils.replaceAll13(pValue, "'", "");
+ i++;
+ }
+ else
+ {
+ i += 2;
+ }
+
+ if (pName.equals("TestDocumentPath"))
+ {
+ System.setProperty(
+ "DOCPTH", new File(pValue).getAbsolutePath());
+ }
+ else if (pName.equals(PropertyName.SRC_ROOT))
+ {
+ System.setProperty(pName, pValue);
+
+ }
+ }
+ else
+ {
+ pValue = "yes";
+ i++;
+ }
+ }
+
+ param.put(pName, pValue);
+ }
+ }
+
+ /*
+ * This method returns the path to a Configuration file <br>
+ * if defined as command line parameter, an empty String elsewhere
+ */
+ public String getIniPath(String[] args)
+ {
+ String iniFile = "";
+
+ for (int i = 0; i < args.length; i++)
+ {
+ if (args[i].equals("-ini"))
+ {
+ iniFile = args[i + 1];
+ break;
+ }
+ }
+
+ return iniFile;
+ }
+
+ /*
+ * This method returns the path to a Configuration file <br>
+ * if defined as command line parameter, an empty String elsewhere
+ */
+ public String getRunnerIniPath(String[] args)
+ {
+ String iniFile = "";
+
+ for (int i = 0; i < args.length; i++)
+ {
+ if (args[i].equals("-runnerini"))
+ {
+ iniFile = args[i + 1];
+ break;
+ }
+ }
+
+ return iniFile;
+ }
+
+ /*
+ * This method maps commandline Parameters to TestParameters
+ */
+ protected Properties getMapping()
+ {
+ Properties map = new Properties();
+ map.setProperty("-cs", "ConnectionString");
+ map.setProperty("-tb", "TestBase");
+ map.setProperty("-tdoc", "TestDocumentPath");
+ map.setProperty("-objdsc", "DescriptionPath");
+ map.setProperty("-cmd", "AppExecutionCommand");
+ map.setProperty("-o", "TestJob");
+ map.setProperty("-sce", "TestJob");
+ map.setProperty("-p", "TestJob");
+ map.setProperty("-aca", "AdditionalConnectionArguments");
+ map.setProperty("-xcl", "ExclusionList");
+ map.setProperty("-debug", "DebugIsActive");
+ map.setProperty("-log", "LoggingIsActive");
+ map.setProperty("-dbout", "DataBaseOut");
+ map.setProperty("-nca", "NoCwsAttach");
+
+ return map;
+ }
+
+ protected String getParameterFor(Properties map, String name)
+ {
+ String ret = map.getProperty(name);
+
+ if (ret == null)
+ {
+ ret = name.substring(1);
+ }
+
+ return ret;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/helper/ComplexDescGetter.java b/qadevOOo/runner/helper/ComplexDescGetter.java
new file mode 100644
index 000000000000..287c0402fb77
--- /dev/null
+++ b/qadevOOo/runner/helper/ComplexDescGetter.java
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import complexlib.ComplexTestCase;
+import util.DynamicClassLoader;
+import share.DescEntry;
+import share.DescGetter;
+import share.ComplexTest;
+import java.util.Vector;
+import share.LogWriter;
+
+/**
+ *
+ */
+public class ComplexDescGetter extends DescGetter
+{
+
+ ComplexTest testClass;
+
+ /** Creates new ComplexDescGetter */
+ public ComplexDescGetter()
+ {
+ testClass = null;
+ }
+
+ public DescEntry[] getDescriptionFor(String entry, String DescPath,
+ boolean debug)
+ {
+ // read scenario file
+ if (entry.startsWith("-sce"))
+ {
+ DescEntry[] entries = getScenario(entry.substring(5), null, debug);
+ return entries;
+ }
+ // one single job
+ else if (entry.startsWith("-o"))
+ {
+ DescEntry dEntry = getDescriptionForSingleJob(entry.substring(3), null, debug);
+ if (dEntry != null)
+ {
+ return new DescEntry[]
+ {
+ dEntry
+ };
+ }
+ }
+ System.out.println("Could not get a testjob with parameter '" + entry + "'");
+ // no job available
+ return null;
+ }
+
+ protected DescEntry getDescriptionForSingleJob(String className, String descPath, boolean debug)
+ {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ String methodNames[] = null;
+
+ if (debug)
+ {
+ System.out.println("Searching Class: " + className);
+ }
+
+ int index = className.indexOf("::");
+ if (index != -1)
+ {
+ // case1: method()
+ // case2: method(param1,param2)
+ // case3: method1(param1,param2),method2(param1,param2)
+ String method = className.substring(index + 2);
+ className = className.substring(0, index);
+ Vector methods = new Vector();
+
+ String[] split = method.split("(?<=\\)),(?=\\w+)");
+
+ for (int i = 0; i < split.length; i++)
+ {
+ String meth = split[i];
+
+ if (meth.endsWith("()"))
+ {
+ meth = meth.substring(0, meth.length() - 2);
+ }
+
+ methods.add(meth);
+ }
+
+ methodNames = new String[methods.size()];
+ methodNames = (String[]) methods.toArray(methodNames);
+ }
+
+ // create an instance
+ try
+ {
+ testClass = (ComplexTestCase) dcl.getInstance(className);
+ }
+ catch (java.lang.IllegalArgumentException e)
+ {
+ System.out.println("Error while getting description for test '" + className + "' as a Complex test.");
+ return null;
+ }
+ catch (java.lang.ClassCastException e)
+ {
+ System.out.println("The given class '" + className + "' is not a Complex test.");
+ return null;
+ }
+
+
+ if (debug)
+ {
+ System.out.println("Got test: " + ((Object) testClass).toString());
+ }
+
+ String testObjectName = className;
+ String[] testMethodNames = null;
+
+ if (testMethodNames == null)
+ {
+ testMethodNames = testClass.getTestMethodNames();
+ }
+ if (methodNames != null)
+ {
+ testMethodNames = methodNames;
+ }
+
+ DescEntry dEntry = createTestDesc(testObjectName, className, testMethodNames, null);
+
+ return dEntry;
+ }
+
+ /**
+ * Creates a description exntry for the given parameter
+ * @param testObjectName the name of the object
+ * @param className the class name of the class to load
+ * @param testMethodNames list of all methods to test
+ * @param log
+ * @return filled description entry
+ */
+ public DescEntry createTestDesc(String testObjectName, String className, String[] testMethodNames, LogWriter log)
+ {
+
+ DescEntry dEntry = new DescEntry();
+
+ dEntry.entryName = testObjectName;
+ dEntry.longName = className;
+ dEntry.isOptional = false;
+ dEntry.EntryType = "unit";
+ dEntry.isToTest = true;
+ dEntry.Logger = log;
+ dEntry.SubEntryCount = testMethodNames.length;
+ dEntry.SubEntries = new DescEntry[dEntry.SubEntryCount];
+ for (int i = 0; i < dEntry.SubEntryCount; i++)
+ {
+ DescEntry aEntry = new DescEntry();
+ aEntry.entryName = testMethodNames[i];
+ aEntry.longName = testObjectName + "::" + aEntry.entryName;
+ aEntry.isOptional = false;
+ aEntry.EntryType = "method";
+ aEntry.isToTest = true;
+ dEntry.SubEntries[i] = aEntry;
+ dEntry.Logger = log;
+ }
+
+ return dEntry;
+ }
+
+ protected String[] createScenario(String descPath, String job, boolean debug)
+ {
+ return new String[] {};
+ }
+}
diff --git a/qadevOOo/runner/helper/ConfigHelper.java b/qadevOOo/runner/helper/ConfigHelper.java
new file mode 100644
index 000000000000..088b927376f6
--- /dev/null
+++ b/qadevOOo/runner/helper/ConfigHelper.java
@@ -0,0 +1,348 @@
+package helper;
+
+import com.sun.star.uno.*;
+import com.sun.star.lang.*;
+import com.sun.star.container.*;
+import com.sun.star.beans.*;
+import com.sun.star.util.*;
+
+/**
+ * This <CODE>ConfigHelper</CODE> makes it possible to access the
+ * configuration and change their content.<P>
+ * <P>
+ * Example: <P>
+ * Listing of the <CODE>Configuration</CODE> Views.xcu:<P>
+ * &lt;oor:component-data xmlns:oor=&quot;http://openoffice.org/2001/registry&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot; oor:name=&quot;Views&quot; oor:package=&quot;org.openoffice.Office&quot;&gt;<p>
+ * &lt;node oor:name=&quot;Windows&quot;&gt;<P>
+ * <&lt;node oor:name=&quot;SplitWindow0&quot; oor:op=&quot;replace&quot;&gt;<P>
+ * &lt;prop oor:name=&quot;Visible&quot; oor:type=&quot;xs:boolean&quot;&gt;<P>
+ * &lt;value&gt;false&lt;/value&gt;<P>
+ * &lt;/prop&gt;<P>
+ * &lt;prop oor:name=&quot;WindowState&quot; oor:type=&quot;xs:string&quot;&gt;<P>
+ * &lt;value/&gt;<P>
+ * &lt;/prop&gt;<P>
+ * &lt;node oor:name=&quot;UserData&quot;&gt;<P>
+ * &lt;prop oor:name=&quot;UserItem&quot; oor:op=&quot;replace&quot;
+ * oor:type=&quot;xs:string&quot;&gt;<P>
+ * &lt;value&gt;V1,2,0&lt;/value&gt;<P>
+ * &lt;/prop&gt;<P>
+ * &lt;/node&gt;<P>
+ * &lt;/node&gt;<P>
+ * &lt;/node&gt;<P>
+ * <P>
+ * <CODE>Definition</CODE><P>
+ * <ul>
+ * <li><CODE>&lt;node oor:name=&quot;Windows&quot;&gt;</CODE>
+ * represents a <CODE>Set</CODE> and is a <CODE>XNameContainer</CODE></LI>
+ * <li><CODE>&lt;node oor:name=&quot;SplitWindow0&quot;&gt;</CODE>
+ * represents a <CODE>Group</CODE> and is a <CODE>XNameReplace</CODE></LI>
+ * <li><CODE>&lt;prop oor:name=&quot;Visible&quot;&gt;</CODE>
+ * represents a pr<CODE></CODE>operty of the group</li>
+ * <li><CODE>&lt;node oor:name=&quot;UserData&quot;&gt;</CODE>
+ * represents a <CODE>extensible group</CODE> and is a <CODE>XNameContainer</CODE></LI>
+ * <li><CODE>&lt;prop oor:name=&quot;UserItem&quot;&gt;</CODE>
+ * represents a <CODE>property</CODE> of the extensible group</LI>
+ * </UL>
+ * We assume in the following examples the existance of:<P>
+ * <CODE>ConfigHelper aConfig = new ConfigHelper(xMSF, "org.openoffice.Office.Views", false);</CODE>
+ * <ul>
+ * <li>If you like to insert a new <CODE>Group</CODE> into the <CODE>Set</CODE> "Windows":<p>
+ * <CODE>XNameReplace xMyGroup = aConfig.getOrInsertGroup("Windows", "myGroup");</CODE><P>
+ * The method <CODE>getOrInsertGroup()</CODE> uses the
+ * <CODE>XSingleServiceFactory</CODE> to create the skeleton of a new group.
+ *
+ * </li>
+ * <li>If you like to change the property "WindowState" of "myGroup"
+ * of the Set "Windows"<p>
+ * <CODE>aConfig.updateGroupProperty(
+ * "Windows","myGroup", "WindowState", "952,180,244,349;1;0,0,0,0;");</CODE>
+ * </li>
+ * <li>If you like to change the property "myProp" of the extensible group
+ * "myExtGroup" which is an extensible group of "my2ndGroup" of the
+ * Set "Windows":<p>
+ * <CODE>aConfig.insertOrUpdateExtensibleGroupProperty(
+ * "Windows", "my2ndGroup", "myExtGroup", "myProp","TheValue");</CODE>
+ * </li>
+ * </ul>
+ */
+public class ConfigHelper
+{
+ private XMultiServiceFactory m_xSMGR = null;
+ private XHierarchicalNameAccess m_xConfig = null;
+
+ //-----------------------------------------------
+ public ConfigHelper(XMultiServiceFactory xSMGR ,
+ String sConfigPath ,
+ boolean bReadOnly )
+ throws com.sun.star.uno.Exception
+ {
+ m_xSMGR = xSMGR;
+
+ XMultiServiceFactory xConfigRoot = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ m_xSMGR.createInstance(
+ "com.sun.star.configuration.ConfigurationProvider"));
+
+ PropertyValue[] lParams = new PropertyValue[1];
+ lParams[0] = new PropertyValue();
+ lParams[0].Name = "nodepath";
+ lParams[0].Value = sConfigPath;
+
+ Object aConfig;
+ if (bReadOnly)
+ aConfig = xConfigRoot.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationAccess",
+ lParams);
+ else
+ aConfig = xConfigRoot.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationUpdateAccess",
+ lParams);
+
+ m_xConfig = (XHierarchicalNameAccess)UnoRuntime.queryInterface(
+ XHierarchicalNameAccess.class,
+ aConfig);
+
+ if (m_xConfig == null)
+ throw new com.sun.star.uno.Exception("Could not open configuration \""+sConfigPath+"\"");
+ }
+
+ //-----------------------------------------------
+ public Object readRelativeKey(String sRelPath,
+ String sKey )
+ throws com.sun.star.container.NoSuchElementException
+ {
+ try
+ {
+ XPropertySet xPath = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class,
+ m_xConfig.getByHierarchicalName(sRelPath));
+ return xPath.getPropertyValue(sKey);
+ }
+ catch(com.sun.star.uno.Exception ex)
+ {
+ throw new com.sun.star.container.NoSuchElementException(ex.getMessage());
+ }
+ }
+
+ //-----------------------------------------------
+ public void writeRelativeKey(String sRelPath,
+ String sKey ,
+ Object aValue )
+ throws com.sun.star.container.NoSuchElementException
+ {
+ try
+ {
+ XPropertySet xPath = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class,
+ m_xConfig.getByHierarchicalName(sRelPath));
+ xPath.setPropertyValue(sKey, aValue);
+ }
+ catch(com.sun.star.uno.Exception ex)
+ {
+ throw new com.sun.star.container.NoSuchElementException(ex.getMessage());
+ }
+ }
+
+ //-----------------------------------------------
+ /**
+ * Updates the configuration.<p>
+ * This must be called after you have changed the configuration
+ * else you changes will be lost.
+ */
+ public void flush()
+ {
+ try
+ {
+ XChangesBatch xBatch = (XChangesBatch)UnoRuntime.queryInterface(
+ XChangesBatch.class,
+ m_xConfig);
+ xBatch.commitChanges();
+ }
+ catch(com.sun.star.uno.Exception ex)
+ {}
+ }
+
+ //-----------------------------------------------
+ public static Object readDirectKey(XMultiServiceFactory xSMGR ,
+ String sConfigFile,
+ String sRelPath ,
+ String sKey )
+ throws com.sun.star.uno.Exception
+ {
+ ConfigHelper aConfig = new ConfigHelper(xSMGR, sConfigFile, true);
+ return aConfig.readRelativeKey(sRelPath, sKey);
+ }
+
+ //-----------------------------------------------
+ public static void writeDirectKey(XMultiServiceFactory xSMGR ,
+ String sConfigFile,
+ String sRelPath ,
+ String sKey ,
+ Object aValue )
+ throws com.sun.star.uno.Exception
+ {
+ ConfigHelper aConfig = new ConfigHelper(xSMGR, sConfigFile, false);
+ aConfig.writeRelativeKey(sRelPath, sKey, aValue);
+ aConfig.flush();
+ }
+
+
+ /**
+ * Insert a structured node (group) in a name container (set)
+ * or else update it and retrun the <CODE>XNameReplace</CODE> of it.<P>
+ * The <CODE>XSingleServiceFacttory</CODE> of the <CODE>set</CODE> will be used
+ * to create a new group. This group is specific to its set and
+ * creates defined entries.
+ * @return The [inserted] group of the set
+ * @param groupName The name of the goup which should be returned
+ * @param setName The name of the set
+ * @throws com.sun.star.uno.Exception throws
+ * <CODE>com.sun.star.uno.Exeception</CODE> on any error.
+ */
+ public XNameReplace getOrInsertGroup(String setName, String groupName)
+ throws com.sun.star.uno.Exception
+
+ {
+ XNameContainer xSetCont = this.getSet(setName);
+
+ XNameReplace xChildAccess = null;
+
+ try {
+ Object xChild=xSetCont.getByName(groupName);
+ xChildAccess = (XNameReplace) UnoRuntime.queryInterface(
+ XNameReplace.class,xSetCont);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ // proceed with inserting
+ }
+
+ if (xChildAccess == null) {
+ XSingleServiceFactory xChildfactory = (XSingleServiceFactory)
+ UnoRuntime.queryInterface(XSingleServiceFactory.class,xSetCont);
+
+ Object xNewChild = xChildfactory.createInstance();
+
+ xSetCont.insertByName(groupName, xNewChild);
+
+ xChildAccess = (XNameReplace)
+ UnoRuntime.queryInterface(XNameContainer.class,xNewChild);
+ }
+
+ return xChildAccess;
+ }
+
+ /**
+ * Update a property of a group container of a set container
+ * @param setName the name of the <CODE>set</CODE> which containes the <CODE>group</CODE>
+ * @param groupName the name of the <CODE>group</CODE> which property should be changed
+ * @param propName the name of the property which should be changed
+ * @param propValue the value the property should get
+ * @throws com.sun.star.uno.Exception throws <CODE>com.sun.star.uno.Exeception</CODE> on any error.
+ */
+ public void updateGroupProperty(String setName,
+ String groupName,
+ String propName,
+ Object propValue)
+ throws com.sun.star.uno.Exception
+ {
+ XNameContainer xSetCont = this.getSet(setName);
+
+ XPropertySet xProp = null;
+ try {
+ xProp = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xSetCont.getByName(groupName));
+ } catch (com.sun.star.container.NoSuchElementException e){
+ throw new com.sun.star.uno.Exception(
+ "could not get group '" + groupName +
+ "' from set '"+ setName +"':\n" + e.toString());
+ }
+ try{
+ xProp.setPropertyValue(propName, propValue);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new com.sun.star.uno.Exception(
+ "could not set property '" + propName +
+ "' from group '"+ groupName +
+ "' from set '"+ setName +"':\n" + e.toString());
+ }
+ }
+
+
+ /**
+ * Insert a property in an extensible group container or else update it
+ * @param setName the name of the <CODE>set</CODE> which containes the <CODE>group</CODE>
+ * @param group The name of the <CODE>group</CODE> which conatins the <CODE>extensible group</CODE>.
+ * @param extGroup The name of the <CODE>extensible group</CODE> which
+ * [should] contain the property
+ * @param propName The name of the property.
+ * @param propValue The value of the property.
+ * @throws com.sun.star.uno.Exception throws <CODE>com.sun.star.uno.Exeception</CODE> on any error.
+ */
+ public void insertOrUpdateExtensibleGroupProperty(
+ String setName,
+ String group,
+ String extGroup,
+ String propName,
+ Object propValue)
+ throws com.sun.star.uno.Exception
+ {
+ XNameContainer xSetCont = this.getSet(setName);
+
+ XNameReplace xGroupAccess = null;
+ XNameContainer xExtGroupCont = null;
+
+ try {
+ Object xGroup=xSetCont.getByName(group);
+ xGroupAccess = (XNameReplace) UnoRuntime.queryInterface(
+ XNameReplace.class,xGroup);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ throw new com.sun.star.uno.Exception(
+ "could not get group '" + group +
+ "' from set '"+ setName +"':\n" + e.toString());
+ }
+
+ try {
+ Object xGroup=xGroupAccess.getByName(extGroup);
+ xExtGroupCont = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class,xGroup);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ throw new com.sun.star.uno.Exception(
+ "could not get extensilbe group '"+extGroup+
+ "' from group '"+ group +
+ "' from set '"+ setName +"':\n" + e.toString());
+ }
+
+ try {
+ xExtGroupCont.insertByName(propName, propValue);
+ }
+ catch(com.sun.star.container.ElementExistException e) {
+ xExtGroupCont .replaceByName(propName, propValue);
+ }
+
+ }
+
+
+ /**
+ * Returns a <CODE>XNameContainer</CODE> of the <CODE>Set</CODE>
+ * of the <CODE>Configuration</CODE>
+ * @param setName the name of the Set which sould be returned
+ * @throws com.sun.star.uno.Exception on any error
+ * @return A XNameContainer of the Set
+ */
+ public XNameContainer getSet(String setName)
+ throws com.sun.star.uno.Exception
+ {
+ XNameReplace xCont = (XNameReplace)
+ UnoRuntime.queryInterface(XNameReplace.class, m_xConfig);
+
+ Object oSet = xCont.getByName(setName);
+
+ if (oSet == null)
+ throw new com.sun.star.uno.Exception(
+ "could not get set '" + setName + ": null");
+
+ return (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class, oSet);
+
+ }
+}
diff --git a/qadevOOo/runner/helper/ConfigurationRead.java b/qadevOOo/runner/helper/ConfigurationRead.java
new file mode 100644
index 000000000000..e82fe6141b72
--- /dev/null
+++ b/qadevOOo/runner/helper/ConfigurationRead.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.container.XHierarchicalNameAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Read configuration settings.
+ */
+public class ConfigurationRead {
+
+ XHierarchicalNameAccess root = null;
+
+ /**
+ * Creates new ConfigurationRead
+ * @param xMSF An instance of service
+ * "com.sun.star.configuration.ConfigurationProvider"
+ * @param rootnode The root of the configuration nodes.
+ */
+ public ConfigurationRead(XMultiServiceFactory xMSF, String rootnode) {
+
+ PropertyValue [] nodeArgs = new PropertyValue [1];
+ PropertyValue nodepath = new PropertyValue();
+ nodepath.Name = "nodepath";
+ nodepath.Value = rootnode;
+ nodepath.Handle = -1;
+ nodepath.State = PropertyState.DEFAULT_VALUE;
+ nodeArgs[0]=nodepath;
+
+ try {
+ Object rootObject = xMSF.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationAccess",
+ nodeArgs);
+
+ root = (XHierarchicalNameAccess)
+ UnoRuntime.queryInterface(
+ XHierarchicalNameAccess.class, rootObject);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Creates new ConfigurationRead. This uses "org.openoffice.Setup"
+ * as default root name.
+ * @param xMSF An instance of service
+ * "com.sun.star.configuration.ConfigurationProvider"
+ */
+ public ConfigurationRead(XMultiServiceFactory xMSF) {
+ this(xMSF, "org.openoffice.Setup");
+ }
+
+ /**
+ * Does the node with this hierarchical name exist?
+ * @param name The hierarchical name of a subnode.
+ * @return True, if the node exists.
+ */
+ public boolean hasByHieracrhicalName(String name) throws NoSuchElementException,
+ com.sun.star.lang.WrappedTargetException {
+
+ return root.hasByHierarchicalName(name);
+
+ }
+
+
+ /**
+ * Get the elements of the root node.
+ * @return All elements of the root node.
+ */
+ public String[] getRootNodeNames() {
+
+ XNameAccess xName = (XNameAccess)
+ UnoRuntime.queryInterface(XNameAccess.class, root);
+ String[]names = xName.getElementNames();
+ return names;
+ }
+
+ /**
+ * Get all elements of this node
+ * @param name The name of the node
+ * @return All elements of this node (as hierarchical names).
+ */
+ public String[] getSubNodeNames(String name) {
+ String[]names = null;
+ try {
+
+ Object next = root.getByHierarchicalName(name);
+ XNameAccess x = (XNameAccess)UnoRuntime.queryInterface(
+ XNameAccess.class, next);
+ names = x.getElementNames();
+ for (int i=0; i< names.length; i++) {
+ names[i] = name + "/" + names[i];
+ }
+ }
+ catch(Exception e) {
+ //just return null, if there are no further nodes
+ }
+ return names;
+ }
+
+ /**
+ * Get contents of a node by its hierarchical name.
+ * @param The hierarchical name of the node.
+ * @return The contents as an object
+ */
+ public Object getByHierarchicalName(String name) throws NoSuchElementException {
+ return root.getByHierarchicalName(name);
+ }
+
+}
diff --git a/qadevOOo/runner/helper/ContextMenuInterceptor.java b/qadevOOo/runner/helper/ContextMenuInterceptor.java
new file mode 100644
index 000000000000..a14685365c74
--- /dev/null
+++ b/qadevOOo/runner/helper/ContextMenuInterceptor.java
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ui.ActionTriggerSeparatorType;
+import com.sun.star.ui.ContextMenuInterceptorAction;
+import com.sun.star.ui.XContextMenuInterceptor;
+import com.sun.star.uno.UnoRuntime;
+
+public class ContextMenuInterceptor implements XContextMenuInterceptor {
+
+ public ContextMenuInterceptorAction notifyContextMenuExecute(
+ com.sun.star.ui.ContextMenuExecuteEvent aEvent ) throws RuntimeException {
+ try {
+ // Retrieve context menu container and query for service factory to
+ // create sub menus, menu entries and separators
+ XIndexContainer xContextMenu = aEvent.ActionTriggerContainer;
+ XMultiServiceFactory xMenuElementFactory =
+ (XMultiServiceFactory)UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xContextMenu );
+
+ if ( xMenuElementFactory != null ) {
+
+ // create root menu entry for sub menu and sub menu
+ XPropertySet xRootMenuEntry =
+ (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
+
+ // create a line separator for our new help sub menu
+ XPropertySet xSeparator =
+ (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerSeparator" ) );
+ Short aSeparatorType = new Short( ActionTriggerSeparatorType.LINE );
+ xSeparator.setPropertyValue( "SeparatorType", (Object)aSeparatorType );
+
+ // query sub menu for index container to get access
+ XIndexContainer xSubMenuContainer =
+ (XIndexContainer)UnoRuntime.queryInterface(
+ XIndexContainer.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerContainer" ));
+
+ // intialize root menu entry "Help"
+ xRootMenuEntry.setPropertyValue( "Text", new String( "Help" ));
+ xRootMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5410" ));
+ xRootMenuEntry.setPropertyValue( "HelpURL", new String( "5410" ));
+ xRootMenuEntry.setPropertyValue( "SubContainer", (Object)xSubMenuContainer );
+
+ // create menu entries for the new sub menu
+ // intialize help/content menu entry
+ // entry "Content"
+ XPropertySet xMenuEntry = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, xMenuElementFactory.createInstance(
+ "com.sun.star.ui.ActionTrigger" ));
+ xMenuEntry.setPropertyValue( "Text", new String( "Content" ));
+ xMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5401" ));
+ xMenuEntry.setPropertyValue( "HelpURL", new String( "5401" ));
+
+ // insert menu entry to sub menu
+ xSubMenuContainer.insertByIndex( 0, (Object)xMenuEntry );
+
+ // intialize help/help agent
+ // entry "Help Agent"
+ xMenuEntry = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
+ xMenuEntry.setPropertyValue( "Text", new String( "Help Agent" ));
+ xMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5962" ));
+ xMenuEntry.setPropertyValue( "HelpURL", new String( "5962" ));
+
+ // insert menu entry to sub menu
+ xSubMenuContainer.insertByIndex( 1, (Object)xMenuEntry );
+ // intialize help/tips
+ // entry "Tips"
+ xMenuEntry = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
+ xMenuEntry.setPropertyValue( "Text", new String( "Tips" ));
+ xMenuEntry.setPropertyValue( "CommandURL", new String( "slot:5404" ));
+ xMenuEntry.setPropertyValue( "HelpURL", new String( "5404" ));
+
+ // insert menu entry to sub menu
+ xSubMenuContainer.insertByIndex( 2, (Object)xMenuEntry );
+
+ // add separator into the given context menu
+ xContextMenu.insertByIndex( 1, (Object)xSeparator );
+
+ // add new sub menu into the given context menu
+ xContextMenu.insertByIndex( 1, (Object)xRootMenuEntry );
+
+ // The controller should execute the modified context menu and stop notifying other
+ // interceptors.
+ return ContextMenuInterceptorAction.EXECUTE_MODIFIED ;
+ }
+ } catch ( UnknownPropertyException ex ) {
+ // do something useful
+ // we used a unknown property
+ } catch ( IndexOutOfBoundsException ex ) {
+ // do something useful
+ // we used an invalid index for accessing a container
+ } catch ( Exception ex ) {
+ // something strange has happend!
+ } catch ( Throwable ex ) {
+ // catch java exceptions and do something useful
+ }
+
+ return ContextMenuInterceptorAction.IGNORED;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/helper/CwsDataExchangeImpl.java b/qadevOOo/runner/helper/CwsDataExchangeImpl.java
new file mode 100644
index 000000000000..15292f20d725
--- /dev/null
+++ b/qadevOOo/runner/helper/CwsDataExchangeImpl.java
@@ -0,0 +1,157 @@
+/*
+ *************************************************************************
+ *
+ * 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 helper;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import lib.TestParameters;
+import share.CwsDataExchange;
+import share.LogWriter;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * Implementaion of the interface CwsDataExchange
+ * @see share.CwsDataExchange
+ */
+public class CwsDataExchangeImpl implements CwsDataExchange
+{
+
+ private final String cwsName;
+ private final TestParameters param;
+ private final LogWriter log;
+ private final BuildEnvTools bet;
+ private final boolean mDebug;
+
+ public CwsDataExchangeImpl(String cwsName, TestParameters param, LogWriter log) throws ParameterNotFoundException
+ {
+ this.cwsName = cwsName;
+ this.param = param;
+ this.log = log;
+ this.bet = new BuildEnvTools(param, log);
+ mDebug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ public ArrayList getModules()
+ {
+ // the cwstouched command send its version information to StdErr.
+ // A piping from StdErr to SdtOut the tcsh does not support.
+ // To find the output easily the echo command is used
+ final String[] commands =
+ {
+ "echo cwstouched starts here",
+ "cwstouched",
+ "echo cwstouched ends here"
+ };
+
+ final ProcessHandler procHdl = bet.runCommandsInEnvironmentShell(commands, null, 20000);
+
+ if (mDebug)
+ {
+ log.println("---> Output of getModules:");
+ log.println(procHdl.getOutputText());
+ log.println("<--- Output of getModules");
+ log.println("---> Error output of getModules");
+ log.println(procHdl.getErrorText());
+ log.println("<--- Error output of getModules");
+ }
+
+ final String[] outs = procHdl.getOutputText().split("\n");
+
+ final ArrayList<String> moduleNames = new ArrayList<String>();
+ boolean bStart = false;
+ for (int i = 0; i < outs.length; i++)
+ {
+ final String line = outs[i];
+ if (line.startsWith("cwstouched starts here"))
+ {
+ bStart = true;
+ continue;
+ }
+ if (line.startsWith("cwstouched ends here"))
+ {
+ bStart = false;
+ continue;
+ }
+ if (bStart && line.length() > 1)
+ {
+ moduleNames.add(line);
+ }
+ }
+
+ return moduleNames;
+ }
+
+ public void setUnoApiCwsStatus(boolean status)
+ {
+
+ FileWriter out = null;
+ String statusFile = null;
+ try
+ {
+
+ final String stat = status ? ".PASSED.OK" : ".PASSED.FAILED";
+
+ statusFile = utils.getUsersTempDir() +
+ System.getProperty("file.separator") +
+ "UnoApiCwsStatus." +
+ (String) param.get(PropertyName.VERSION) +
+ "_" + param.get(PropertyName.OPERATING_SYSTEM) + stat + ".txt";
+
+ out = new FileWriter(statusFile);
+
+ out.write(stat);
+ out.flush();
+ out.close();
+
+ final String[] commands =
+ {
+ "cwsattach " + statusFile
+ };
+
+ bet.runCommandsInEnvironmentShell(commands, null, 5000);
+
+ }
+ catch (IOException ex)
+ {
+ System.out.println("ERROR: could not attach file '" + statusFile + "' to cws\n" + ex.toString());
+ }
+ finally
+ {
+ try
+ {
+ out.close();
+ }
+ catch (IOException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/FileTools.java b/qadevOOo/runner/helper/FileTools.java
new file mode 100644
index 000000000000..0a6b4dd96577
--- /dev/null
+++ b/qadevOOo/runner/helper/FileTools.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+
+/**
+ * This class deliver some functionality to copy files.
+ */
+public class FileTools {
+
+ /**
+ * Copies all files under srcDir to dstDir.
+ * If dstDir does not exist, it will be created.
+ * @param srcDir the source directory
+ * @param dstDir the destination direcotry
+ * @throws java.io.IOException throws java.io.IOException if something failes
+ */
+ public static void copyDirectory(File srcDir, File dstDir)
+ throws java.io.IOException {
+ copyDirectory(srcDir, dstDir, new String[]{});
+ }
+ /**
+ * Copies all files under srcDir to dstDir except Files given in the
+ * ignore list. This files will not be copied.
+ * If dstDir does not exist, it will be created.
+ * @param srcDir the source directory
+ * @param dstDir the destination direcotry
+ * @param ignore a list of files which should not be copied
+ * @throws java.io.IOException throws java.io.IOException if something failes
+ */
+ public static void copyDirectory(File srcDir, File dstDir, String[] ignore)
+ throws java.io.IOException {
+
+ for (int i=0; i<ignore.length;i++){
+ if (srcDir.getName().endsWith(ignore[i])) {
+ return;
+ }
+ }
+
+ if (srcDir.isDirectory()) {
+ if (!dstDir.exists()) {
+ dstDir.mkdir();
+ }
+
+ String[] files = srcDir.list();
+ for (int i=0; i< files.length; i++) {
+ copyDirectory(new File(srcDir, files[i]), new File(dstDir, files[i]), ignore);
+ }
+ } else {
+ // This method is implemented in e1071 Copying a File
+ copyFile(srcDir, dstDir);
+ }
+ }
+
+ /**
+ * Copies src file to dst file. If the dst file does not exist, it is created
+ * @param src the source file
+ * @param dst the destination file
+ * @throws java.io.IOException throws java.io.IOException if something failes
+ */
+ public static void copyFile(File src, File dst) throws java.io.IOException {
+ InputStream in = new FileInputStream(src);
+ OutputStream out = new FileOutputStream(dst);
+
+ // Transfer bytes from in to out
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ in.close();
+ out.close();
+ }
+ /**
+ * Deletes all files and subdirectories under dir and the directory itself.
+ * Returns true if all deletions were successful.
+ * If the deletion fails, the method the method continues to delete rest
+ * of the files and returns false.
+ * @return Returns true if all deletions were successful, else false.
+ * @param dir the directory to delete
+ */
+ public static boolean deleteDir(File dir) {
+
+ // if (! cleanDir(dir)) return false;
+
+ // The directory is now empty so delete it
+ // return dir.delete();
+ return cleanDir(dir);
+ }
+
+ /**
+ * Deletes all files and subdirectories under dir.
+ * Returns true if all deletions were successful.
+ * If a deletion fails, the method continues to delete rest of the files.
+ * @return Returns true if all deletions were successful, else false.
+ * @param dir the directory to clean from content
+ */
+ // public static boolean cleanDir(File dir){
+ //
+ // boolean success = true;
+ // if (dir.isDirectory()){
+ // File [] theFiles = dir.listFiles();
+ //
+ // if (theFiles.length != 0 )
+ // for (int i = 0; i < theFiles.length; i++){
+ // success &= theFiles[i].delete();
+ // }
+ // }
+ // return success;
+ // }
+
+ public static boolean cleanDir(File dir)
+ {
+ if (dir.isDirectory())
+ {
+ String[] children = dir.list();
+ for (int i=0; i<children.length; i++)
+ {
+ boolean success = cleanDir(new File(dir, children[i]));
+ if (!success)
+ {
+ return false;
+ }
+ }
+ }
+
+ // The directory is now empty so delete it
+ return dir.delete();
+ }
+}
diff --git a/qadevOOo/runner/helper/InetTools.java b/qadevOOo/runner/helper/InetTools.java
new file mode 100644
index 000000000000..56c964c8f4db
--- /dev/null
+++ b/qadevOOo/runner/helper/InetTools.java
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+// access the implementations via names
+import com.sun.star.util.XChangesBatch;
+
+import lib.TestParameters;
+
+
+public class InetTools {
+ /**
+ * Helper method: sets the HTTP-Proxy to values from
+ * <code>lib.TestParameters</code>
+ */
+ public static boolean setHTTPProxy(TestParameters param){
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) param.getMSF();
+ PropertyValue[] ProvArgs = new PropertyValue[1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "nodepath";
+ Arg.Value = "/org.openoffice.Inet/Settings";
+ ProvArgs[0] = Arg;
+
+ try {
+ Object oProvider = xMSF.createInstance(
+ "com.sun.star.configuration.ConfigurationProvider");
+
+ XMultiServiceFactory oProviderMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ oProvider);
+
+ Object oInet = oProviderMSF.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationUpdateAccess",
+ ProvArgs);
+
+ XPropertySet oInetProps = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oInet);
+
+ String HTTPProxyName = (String)param.get("HTTPProxyName");
+ String HTTPProxyPort = (String)param.get("HTTPProxyPort");
+
+ if ((HTTPProxyName == null) || (HTTPProxyPort == null)) {
+ return false;
+ }
+
+ oInetProps.setPropertyValue("ooInetHTTPProxyName", HTTPProxyName);
+ oInetProps.setPropertyValue("ooInetHTTPProxyPort", HTTPProxyPort);
+ oInetProps.setPropertyValue("ooInetProxyType", new Long(2));
+
+ XChangesBatch oSecureChange = (XChangesBatch) UnoRuntime.queryInterface(
+ XChangesBatch.class, oInet);
+ oSecureChange.commitChanges();
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ return true;
+ }
+}
diff --git a/qadevOOo/runner/helper/LoggingThread.java b/qadevOOo/runner/helper/LoggingThread.java
new file mode 100644
index 000000000000..39536179545c
--- /dev/null
+++ b/qadevOOo/runner/helper/LoggingThread.java
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import share.*;
+import lib.TestParameters;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * This class is printing to a <CODE>LogWriter</CODE>. This could be usefull if a UNO-API
+ * function runns longer the the time out. To avoid the assumption of death applikation
+ * a simple string is logged for 100 times of time out.</br>
+ * Example:</br>
+ * logger = new LoggingThread((LogWriter)log, tParam);
+ * logger.start();
+ * oObj.longRunningFunction();
+ * logger.finish();
+ *
+ */
+public class LoggingThread extends Thread {
+
+ TestParameters param;
+ LogWriter log = null;
+ boolean finished = false;
+ boolean debug = false;
+
+ /**
+ *
+ * @param log
+ * @param tParam
+ */
+ public LoggingThread(LogWriter log, TestParameters tParam) {
+ this.log = log;
+ this.param = tParam;
+ this.debug = tParam.getBool(PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ public void run() {
+ final int timeOut = param.getInt(PropertyName.TIME_OUT) / 2;
+ int count = 0;
+ finished = false;
+ if (debug) log.println("TimeOutLogger: " + utils.getDateTime() + " start");
+ while (!finished && count < 200) {
+ try {
+ if (debug) log.println("TimeOutLogger: "+utils.getDateTime() + count);
+ synchronized (this) {
+ wait(timeOut);
+ }
+ count++;
+ } catch (InterruptedException ex) {
+ }
+ }
+ if (debug) log.println("TimeOutLogger: " + utils.getDateTime() + " finished");
+ }
+
+ /**
+ * finished the LoggingThread
+ */
+ public void finish() {
+ try {
+ finished = true;
+ synchronized (this) {
+ notify();
+ }
+ if (debug) log.println("TimeOutLogger: " + utils.getDateTime() + " try to finish ");
+ sleep(1000);
+ } catch (InterruptedException ex) {
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/OSHelper.java b/qadevOOo/runner/helper/OSHelper.java
new file mode 100644
index 000000000000..d8e467ae4584
--- /dev/null
+++ b/qadevOOo/runner/helper/OSHelper.java
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+/**
+ * Helper object, to identify the current Operation System.
+ * @author ll93751
+ */
+public class OSHelper
+{
+ public static boolean isWindows()
+ {
+ String sOSName = System.getProperty("os.name");
+ if (sOSName.toLowerCase().startsWith("windows"))
+ {
+ return true;
+ }
+ return false;
+ }
+ // not need
+ // public static boolean isUnix()
+ public static boolean isSolarisIntel()
+ {
+ if ( ( System.getProperty("os.name").toLowerCase().startsWith("solaris") ||
+ System.getProperty("os.name").toLowerCase().startsWith("sunos") ) &&
+ System.getProperty("os.arch").equals("x86"))
+ {
+ return true;
+ }
+ return false;
+ }
+ public static boolean isSolarisSparc()
+ {
+ if ( ( System.getProperty("os.name").toLowerCase().startsWith("solaris") ||
+ System.getProperty("os.name").toLowerCase().startsWith("sunos") ) &&
+ System.getProperty("os.arch").equals("sparc"))
+ {
+ return true;
+ }
+ return false;
+ }
+ public static boolean isLinuxIntel()
+ {
+ if (System.getProperty("os.name").toLowerCase().startsWith("linux") &&
+ System.getProperty("os.arch").equals("i386"))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean isUnix()
+ {
+ if (isLinuxIntel() ||
+ isSolarisIntel() ||
+ isSolarisSparc())
+ {
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/qadevOOo/runner/helper/ObjectInspectorModelImpl.java b/qadevOOo/runner/helper/ObjectInspectorModelImpl.java
new file mode 100644
index 000000000000..5075c50e795b
--- /dev/null
+++ b/qadevOOo/runner/helper/ObjectInspectorModelImpl.java
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.inspection.PropertyCategoryDescriptor;
+import com.sun.star.inspection.XObjectInspectorModel;
+
+/**
+ * This is an implementation of <CODE>ObjectInspectorModel</CODE>.
+ * @see com.sun.star.inspection.XObjectInspectorModel
+ */
+public class ObjectInspectorModelImpl implements XObjectInspectorModel{
+
+ /**
+ * class variable which contains the implementations of
+ * <CODE>PropertyCategoryDescriptor</CODE>
+ * @see com.sun.star.inspection.PropertyCategoryDescriptor
+ */
+ PropertyCategoryDescriptor[] m_Categories;
+
+ /**
+ * class variable which contains the count of implementations of
+ * <CODE>PropertyCategoryDescriptor</CODE>
+ */
+ int m_count;
+
+ /**
+ * Creates a new instance of ObjectInspectorModelImpl
+ * For every count given in parameter <CODE>count</CODE> an
+ * <CODE>PropertyCategoryDescriptor</CODE> was created an filled with valuable content.
+ * @param count count of <CODE>PropertyCategoryDescriptor</CODE> to create
+ */
+ public ObjectInspectorModelImpl(int count) {
+ m_count = count;
+ m_Categories = new PropertyCategoryDescriptor[m_count];
+ int CategoryMem = 0;
+ int inCat = 0;
+ for (int n=0; n < m_count; n++ ){
+
+ m_Categories[n] = new PropertyCategoryDescriptor();
+
+ int category = n / 2;
+ inCat =(CategoryMem == category)? ++inCat: 1;
+ CategoryMem = category;
+
+ //System.out.println("Category" + category + "Number" + inCat);
+ m_Categories[n].ProgrammaticName = "Category" + category;
+ m_Categories[n].UIName = "Category" + category + "Number" + inCat;
+ m_Categories[n].HelpURL = "h:" + n;
+ }
+ }
+
+ /**
+ * returns the catrgories
+ * @return returns the catrgories
+ */
+ public PropertyCategoryDescriptor[] describeCategories() {
+ return m_Categories;
+ }
+
+ /**
+ * returns currently nothing
+ * @return nothing
+ */
+ public Object[] getHandlerFactories() {
+ return null;
+ }
+
+ /** determines whether the object inspector should have a help section
+ @return false
+ */
+ public boolean getHasHelpSection() {
+ return false;
+ }
+
+ /** returns minimum number of lines in the help text section.
+ @return 3
+ */
+ public int getMinHelpTextLines() {
+ return 3;
+ };
+
+ /** returns maximum number of lines in the help text section.
+ @return 8
+ */
+ public int getMaxHelpTextLines() {
+ return 8;
+ };
+
+ /** returns whether or not the inspector's UI should be read-only
+ */
+ public boolean getIsReadOnly() {
+ return false;
+ }
+
+ /** sets the inspector's read-only state
+ */
+ public void setIsReadOnly( boolean _IsReadOnly ) {
+ // not supported, and not used so far in our test cases
+ }
+
+ /**
+ * retrieves an index in a global property ordering, for a given property name
+ * @param UIName the property whose global order index should be retrieved
+ * @throws com.sun.star.beans.UnknownPropertyException if the given property is unknown
+ * @return the global order index of PropertyName
+ */
+ public int getPropertyOrderIndex(String UIName) {
+ int index = 0;
+ for (int n=0; n < m_Categories.length; n++){
+ if (m_Categories[n].UIName.equals(UIName)){
+ index = n;
+ break;
+ }
+ }
+ return index;
+ }
+
+ }
diff --git a/qadevOOo/runner/helper/OfficeProvider.java b/qadevOOo/runner/helper/OfficeProvider.java
new file mode 100644
index 000000000000..8589de47ea82
--- /dev/null
+++ b/qadevOOo/runner/helper/OfficeProvider.java
@@ -0,0 +1,833 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+//import com.sun.star.bridge.UnoUrlResolver;
+import com.sun.star.beans.XFastPropertySet;
+import com.sun.star.bridge.XUnoUrlResolver;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XStringSubstitution;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.util.StringTokenizer;
+
+import lib.TestParameters;
+
+import share.DescEntry;
+import share.LogWriter;
+
+import util.DynamicClassLoader;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * This class will connect the office and start it if possible
+ *
+ */
+public class OfficeProvider implements AppProvider
+{
+
+ protected static boolean debug = false;
+
+ /**
+ * copy the user layer to a safe place, usualy to $TMP/user_backup$USER
+ * @param param
+ * @param msf
+ */
+ public void backupUserLayer(TestParameters param, XMultiServiceFactory msf)
+ {
+ try
+ {
+ final XStringSubstitution sts = createStringSubstitution(msf);
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ String userLayer = sts.getSubstituteVariableValue("$(user)");
+ userLayer = getDirSys(userLayer);
+ param.put("userLayer", userLayer);
+
+ final String copyLayer = util.utils.getUsersTempDir() + System.getProperty("file.separator") +
+ "user_backup" +
+ System.getProperty("user.name");
+ param.put("copyLayer", copyLayer);
+
+
+ dbg(" copy '" + userLayer + "' ->" + copyLayer + "'");
+ // Slow machines the copy job could spend some time. To avoid activating of OfficeWatcher it must be pinged
+ OfficeWatcherPing owp = new OfficeWatcherPing((OfficeWatcher) param.get(PropertyName.OFFICE_WATCHER));
+ owp.start();
+
+ deleteFilesAndDirector (new File(copyLayer));
+ FileTools.copyDirectory(new File(userLayer), new File(copyLayer), new String[]
+ {
+ "temp"
+ });
+
+ owp.finish();
+
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ System.out.println("User Variable '$(user)' not defined.");
+ }
+ catch (java.io.IOException e)
+ {
+ System.out.println("Couldn't backup user layer");
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Dispose the office.
+ * This method can only be used, if the office was connected in the first
+ * place: getManager() was called first.
+ * @param param
+ * @return return true if desktop is terminates, else false
+ */
+ public boolean disposeManager(lib.TestParameters param)
+ {
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) param.getMSF();
+
+ if (msf == null)
+ {
+ return true;
+ }
+ else
+ {
+ XDesktop desk = null;
+
+ try
+ {
+ desk = UnoRuntime.queryInterface(XDesktop.class, msf.createInstance("com.sun.star.frame.Desktop"));
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ return false;
+ }
+
+ msf = null;
+
+ if (desk != null)
+ {
+ desk.terminate();
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ /**
+ * Method to get the ServiceManager of an Office
+ * @param param
+ * @return
+ */
+ public Object getManager(lib.TestParameters param)
+ {
+ String errorMessage = null;
+ boolean bAppExecutionHasWarning = false;
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ String additionalArgs = (String) param.get(
+ "AdditionalConnectionArguments");
+
+ if (additionalArgs == null)
+ {
+ additionalArgs = ";";
+ }
+ else
+ {
+ additionalArgs = "," + additionalArgs + ";";
+ }
+
+ final String cncstr = "uno:" + param.get("ConnectionString") + ";urp" +
+ additionalArgs + "StarOffice.ServiceManager";
+
+ System.out.println("Connecting the Office with " + cncstr);
+
+ XMultiServiceFactory msf = connectOffice(cncstr);
+
+ // if the office is running and the office crashes while testing it could
+ // be usesfull to restart the office if possible and continuing the tests.
+ // Example: The UNO-API-Tests in the projects will be executed by calling
+ // 'damke'. This connects to an existing office. If the office crashes
+ // it is usefull to restart the office and continuing the tests.
+ if ((param.getBool(util.PropertyName.AUTO_RESTART)) && (msf != null))
+ {
+ makeAppExecCommand(msf, param);
+ }
+
+ if (msf == null)
+ {
+ String exc = "";
+ Exception exConnectFailed = null;
+ boolean isExecutable = false;
+ boolean isAppKnown = ((cncstr.indexOf("host=localhost") > 0) || (cncstr.indexOf("pipe,name=") > 0));
+ isAppKnown &= !((String) param.get("AppExecutionCommand")).equals("");
+
+ if (isAppKnown)
+ {
+ dbg("Local Connection trying to start the Office");
+
+ //ensure that a pending officewatcher gets finished before a new
+ //office is started
+ final OfficeWatcher ow_old = (OfficeWatcher) param.get("Watcher");
+
+ if (ow_old != null)
+ {
+ ow_old.finish = true;
+ }
+
+ final String cmd = (String) param.get("AppExecutionCommand");
+ dbg("AppExecutionCommand: " + cmd);
+ // validate the AppExecutionCommand, but try it out anyway.
+ // keep the error message for later.
+ errorMessage =
+ util.utils.validateAppExecutionCommand(cmd, (String) param.get("OperatingSystem"));
+ if (errorMessage.startsWith("Error"))
+ {
+ System.out.println(errorMessage);
+ return null;
+ }
+ bAppExecutionHasWarning = !errorMessage.equals("OK");
+
+ final DynamicClassLoader dcl = new DynamicClassLoader();
+ final LogWriter log = (LogWriter) dcl.getInstance(
+ (String) param.get("LogWriter"));
+
+ //create empty entry
+ final DescEntry Entry = new DescEntry();
+ Entry.entryName = "office";
+ Entry.longName = "office";
+ Entry.EntryType = "placebo";
+ Entry.isOptional = false;
+ Entry.isToTest = false;
+ Entry.SubEntryCount = 0;
+ Entry.hasErrorMsg = false;
+ Entry.State = "non possible";
+ Entry.UserDefinedParams = param;
+
+ log.initialize(Entry, debug);
+
+ final ProcessHandler ph = new ProcessHandler(cmd, (PrintWriter) log);
+ isExecutable = ph.executeAsynchronously();
+
+ if (isExecutable)
+ {
+ param.put("AppProvider", ph);
+ final OfficeWatcher ow = new OfficeWatcher(param);
+ param.put("Watcher", ow);
+ ow.start();
+ ow.ping();
+ }
+
+ int k = 0;
+
+ // wait up to 21 seconds to get an office connection
+ while ((k < 42) && (msf == null))
+ {
+ try
+ {
+ msf = connect(cncstr);
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ exConnectFailed = ue;
+ exc = ue.getMessage();
+ }
+ catch (java.lang.Exception je)
+ {
+ exConnectFailed = je;
+ exc = je.getMessage();
+ }
+ if (msf == null)
+ {
+ try
+ {
+ Thread.sleep(k * 500);
+ }
+ catch (InterruptedException ex)
+ {
+ }
+ }
+ k++;
+ }
+
+ if (msf == null)
+ {
+ System.out.println("Exception while connecting.\n" + exConnectFailed);
+ if (exc != null)
+ {
+ System.out.println(exc);
+ }
+ if (bAppExecutionHasWarning)
+ {
+ System.out.println(errorMessage);
+ }
+ }
+ else if (isExecutable)
+ {
+ if (!param.getBool(util.PropertyName.DONT_BACKUP_USERLAYER))
+ {
+ backupUserLayer(param, msf);
+ }
+ }
+ }
+ else
+ {
+ System.out.println("Could not connect an Office and cannot start one.\n".concat("please start an office with following parameter:\n").
+ concat("\nsoffice -accept=").concat((String) param.get("ConnectionString")).concat(";urp;\n"));
+ if (bAppExecutionHasWarning)
+ {
+ System.out.println(errorMessage);
+ }
+ }
+ }
+
+ return msf;
+ }
+
+ /**
+ * Connect an Office
+ * @param connectStr
+ * @return
+ * @throws com.sun.star.uno.Exception
+ * @throws com.sun.star.uno.RuntimeException
+ * @throws com.sun.star.connection.NoConnectException
+ * @throws Exception
+ */
+ protected static XMultiServiceFactory connect(String connectStr)
+ throws com.sun.star.uno.Exception,
+ com.sun.star.uno.RuntimeException,
+ com.sun.star.connection.NoConnectException,
+ Exception
+ {
+
+ // Get component context
+ final XComponentContext xcomponentcontext = com.sun.star.comp.helper.Bootstrap.createInitialComponentContext(null);
+
+ // initial serviceManager
+ final XMultiComponentFactory xLocalServiceManager = xcomponentcontext.getServiceManager();
+
+ // create a connector, so that it can contact the office
+// XUnoUrlResolver urlResolver = UnoUrlResolver.create(xcomponentcontext);
+ final Object xUrlResolver = xLocalServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", xcomponentcontext);
+ final XUnoUrlResolver urlResolver = UnoRuntime.queryInterface(XUnoUrlResolver.class, xUrlResolver);
+
+ final Object rInitialObject = urlResolver.resolve(connectStr);
+
+ XMultiServiceFactory xMSF = null;
+
+ if (rInitialObject != null)
+ {
+ debug = true;
+ dbg("resolved url");
+
+ xMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, rInitialObject);
+ }
+
+ return xMSF;
+ }
+
+ /**
+ * Close an office.
+ * @param param The test parameters.
+ * @param closeIfPossible If true, close even if
+ * it was running before the test
+ */
+ public boolean closeExistingOffice(lib.TestParameters param, boolean closeIfPossible)
+ {
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) param.getMSF();
+ final boolean alreadyConnected = (msf != null);
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ if (alreadyConnected)
+ {
+ dbg("try to get ProcessHandler");
+
+ final ProcessHandler ph = (ProcessHandler) param.get("AppProvider");
+
+ if (ph != null)
+ {
+ dbg("ProcessHandler != null");
+
+ disposeOffice(msf, param);
+
+ // dispose watcher in case it's still running.
+ dbg("try to get OfficeWatcher");
+
+ final OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
+
+ if ((ow != null) && ow.isAlive())
+ {
+ dbg("OfficeWatcher will be finished");
+ ow.finish = true;
+ }
+ else
+ {
+ dbg("OfficeWatcher seems to be finished");
+ }
+
+ return true;
+ }
+ else
+ {
+ if (closeIfPossible)
+ {
+ return disposeOffice(msf, param);
+ }
+ }
+ }
+ else
+ {
+ final String cncstr = "uno:" + param.get("ConnectionString") +
+ ";urp;StarOffice.ServiceManager";
+ dbg("try to connect office");
+ msf = connectOffice(cncstr);
+
+ if (closeIfPossible)
+ {
+ return disposeOffice(msf, param);
+ }
+ }
+ dbg("closeExistingOffice finished");
+ return true;
+ }
+
+ private XMultiServiceFactory connectOffice(String cncstr)
+ {
+ XMultiServiceFactory msf = null;
+ String exc = "";
+ debug = true;
+
+ dbg("trying to connect to " + cncstr);
+
+ try
+ {
+ msf = connect(cncstr);
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ exc = ue.getMessage();
+ }
+ catch (java.lang.Exception je)
+ {
+ exc = je.getMessage();
+ }
+
+ if (debug && exc != null && exc.length() != 0)
+ {
+ if (exc == null)
+ {
+ exc = "";
+ }
+ dbg("Could not connect an Office. " + exc);
+ }
+
+ return msf;
+ }
+
+ private synchronized boolean disposeOffice(XMultiServiceFactory msf,
+ TestParameters param)
+ {
+ XDesktop desk = null;
+
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ boolean result = true;
+
+ if (msf != null)
+ {
+
+ // disable QuickStarter
+ try
+ {
+ Object quickStarter = msf.createInstance("com.sun.star.office.Quickstart");
+ XFastPropertySet fps = UnoRuntime.queryInterface(XFastPropertySet.class, quickStarter);
+ fps.setFastPropertyValue(0, false);
+ }
+ catch (com.sun.star.uno.Exception ex)
+ {
+ dbg("ERROR: Could not disable QuickStarter: " + ex.toString());
+ }
+
+ try
+ {
+ desk = UnoRuntime.queryInterface(XDesktop.class, msf.createInstance("com.sun.star.frame.Desktop"));
+ msf = null;
+
+ if (desk != null)
+ {
+ final boolean allClosed = closeAllWindows(desk);
+
+ if (!allClosed)
+ {
+ dbg("Couldn't close all office windows!");
+ }
+
+ dbg("Trying to terminate the desktop");
+
+ desk.terminate();
+ dbg("Desktop terminated");
+
+ try
+ {
+ final int closeTime = param.getInt(util.PropertyName.OFFICE_CLOSE_TIME_OUT);
+ dbg("the Office has " + closeTime / 1000 + " seconds for closing...");
+ Thread.sleep(closeTime);
+ }
+ catch (java.lang.InterruptedException e)
+ {
+ }
+ }
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ result = false;
+ }
+ catch (com.sun.star.lang.DisposedException ue)
+ {
+ result = false;
+ }
+ }
+
+ final String AppKillCommand = (String) param.get(util.PropertyName.APP_KILL_COMMAND);
+ if (AppKillCommand != null)
+ {
+ String sAppKillCommand = StringHelper.removeSurroundQuoteIfExists(AppKillCommand);
+ final StringTokenizer aKillCommandToken = new StringTokenizer(sAppKillCommand, ";");
+ while (aKillCommandToken.hasMoreTokens())
+ {
+ final String sKillCommand = aKillCommandToken.nextToken();
+ dbg("User defined an application to destroy the started process. Trying to execute: " + sKillCommand);
+
+ final ProcessHandler pHdl = new ProcessHandler(sKillCommand, 1000); // 3000 seems to be too long
+ pHdl.runCommand();
+
+ pHdl.kill();
+ }
+ }
+
+ final ProcessHandler ph = (ProcessHandler) param.get("AppProvider");
+
+ if (ph != null)
+ {
+ // dispose watcher in case it's still running.
+ final OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
+
+ if ((ow != null) && ow.isAlive())
+ {
+ ow.finish = true;
+ }
+
+ ph.kill();
+ }
+
+ param.remove("AppProvider");
+ param.remove("ServiceFactory");
+
+ if (!param.getBool(util.PropertyName.DONT_BACKUP_USERLAYER))
+ {
+ //copy user_backup into user layer
+ try
+ {
+ final String userLayer = (String) param.get("userLayer");
+ final String copyLayer = (String) param.get("copyLayer");
+ if (userLayer != null && copyLayer != null)
+ {
+ deleteFilesAndDirector(new File(userLayer));
+ final File copyFile = new File(copyLayer);
+ dbg("copy '" + copyFile + "' -> '" + userLayer + "'");
+ FileTools.copyDirectory(copyFile, new File(userLayer), new String[]
+ {
+ "temp"
+ });
+ dbg("copy '" + copyFile + "' -> '" + userLayer + "' finished");
+
+ // remove all user_backup folder in temp dir
+ // this is for the case the runner was killed and some old backup folder still stay in temp dir
+
+
+ }
+ else
+ {
+ System.out.println("Cannot copy layer: '" + copyLayer + "' back to user layer: '" + userLayer + "'");
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ dbg("Couldn't recover from backup\n" + e.getMessage());
+ }
+ }
+ return result;
+ }
+
+ protected boolean closeAllWindows(XDesktop desk)
+ {
+ final XEnumerationAccess compEnumAccess = desk.getComponents();
+ final XEnumeration compEnum = compEnumAccess.createEnumeration();
+ boolean res = true;
+
+ try
+ {
+ while (compEnum.hasMoreElements())
+ {
+ final XCloseable closer = UnoRuntime.queryInterface(XCloseable.class, compEnum.nextElement());
+
+ if (closer != null)
+ {
+ closer.close(true);
+ }
+ }
+ }
+ catch (com.sun.star.util.CloseVetoException cve)
+ {
+ res = false;
+ }
+ catch (com.sun.star.container.NoSuchElementException nsee)
+ {
+ res = false;
+ }
+ catch (com.sun.star.lang.WrappedTargetException wte)
+ {
+ res = false;
+ }
+
+ return res;
+ }
+
+ public static XStringSubstitution createStringSubstitution(XMultiServiceFactory xMSF)
+ {
+ Object xPathSubst = null;
+
+ try
+ {
+ xPathSubst = xMSF.createInstance(
+ "com.sun.star.util.PathSubstitution");
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ if (xPathSubst != null)
+ {
+ return UnoRuntime.queryInterface(XStringSubstitution.class, xPathSubst);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * converts directory without 'file:///' prefix.
+ * and System dependend file separator
+ * @param dir
+ * @return
+ */
+ public static String getDirSys(String dir)
+ {
+ String sysDir = "";
+
+ final int idx = dir.indexOf("file://");
+
+ final int idx2 = dir.indexOf("file:///");
+
+ // remove leading 'file://'
+ if (idx < 0)
+ {
+ sysDir = dir;
+ }
+ else
+ {
+ sysDir = dir.substring("file://".length());
+ }
+
+ sysDir = utils.replaceAll13(sysDir, "%20", " ");
+
+ // append '/' if not there (e.g. linux)
+ if (sysDir.charAt(sysDir.length() - 1) != '/')
+ {
+ sysDir += "/";
+ }
+
+ // remove leading '/' and replace others with '\' on windows machines
+ final String sep = System.getProperty("file.separator");
+
+ if (sep.equalsIgnoreCase("\\"))
+ {
+ if (!(idx2 < 0))
+ {
+ sysDir = sysDir.substring(1);
+ }
+ else
+ {
+ //network path
+ sysDir = "//" + sysDir;
+ }
+ sysDir = sysDir.replace('/', '\\');
+ }
+
+ return sysDir;
+ }
+
+ /**
+ * If the office is connected but the <CODE>AppExecutionCommand</CODE> is not set,
+ * this function asks the office for its location and fill the
+ * <CODE>AppExecutionCommand</CODE> with valid contet.
+ * This function was only called if parameter <CODE>AutoRestart</CODE> is set.
+ * @param msf the <CODE>MultiServiceFactory</CODE>
+ * @param param the <CODE>TestParameters</CODE>
+ */
+ private static void makeAppExecCommand(XMultiServiceFactory msf, TestParameters param)
+ {
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ // get existing AppExecutionCommand if available, else empty string
+ String command = (String) param.get(util.PropertyName.APP_EXECUTION_COMMAND);
+
+ String connectionString;
+ if (param.getBool(util.PropertyName.USE_PIPE_CONNECTION) == true)
+ {
+ // This is the default behaviour
+ connectionString = (String) param.get(util.PropertyName.PIPE_CONNECTION_STRING);
+ }
+ else
+ {
+ // is used if UsePipeConnection=false
+ connectionString = (String) param.get(util.PropertyName.CONNECTION_STRING);
+ }
+
+ String sysBinDir = "";
+
+ try
+ {
+ sysBinDir = utils.getSystemURL(utils.expandMacro(msf, "$SYSBINDIR"));
+ }
+ catch (java.lang.Exception e)
+ {
+ dbg("could not get system binary directory");
+ return;
+ }
+
+ // does the existing command show to the connected office?
+ if (command.indexOf(sysBinDir) == -1)
+ {
+ command = sysBinDir + System.getProperty("file.separator") + "soffice" +
+ " -norestore -accept=" + connectionString + ";urp;";
+ }
+
+ dbg("update AppExecutionCommand: " + command);
+
+ param.put(util.PropertyName.APP_EXECUTION_COMMAND, command);
+ }
+
+ private static void dbg(String message)
+ {
+ if (debug)
+ {
+ System.out.println(utils.getDateTime() + "OfficeProvider: " + message);
+ }
+
+ }
+
+ private class OfficeWatcherPing extends Thread
+ {
+
+ private final OfficeWatcher ow;
+ private boolean bStop = false;
+
+ public OfficeWatcherPing(OfficeWatcher ow)
+ {
+ this.ow = ow;
+ }
+
+ @Override
+ public void run()
+ {
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: start ");
+
+ while (!bStop)
+ {
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: ping ");
+ ow.ping();
+ try
+ {
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: sleep ");
+ OfficeWatcherPing.sleep(1000); // 5000
+ }
+ catch (InterruptedException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+
+ }
+
+ public void finish()
+ {
+ synchronized(this)
+ {
+ bStop = true;
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: stop ");
+
+ notify();
+ }
+ }
+ }
+
+private void deleteFilesAndDirector(File file)
+ {
+ File f = file;
+ if(f.isDirectory())
+ {
+ File files[] = f.listFiles();
+ for(int i = 0; i < files.length; i++)
+ {
+ deleteFilesAndDirector(files[i]);
+ }
+ f.delete();
+ }
+ else if (f.isFile())
+ {
+ f.delete();
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/OfficeWatcher.java b/qadevOOo/runner/helper/OfficeWatcher.java
new file mode 100644
index 000000000000..2068a7f5246c
--- /dev/null
+++ b/qadevOOo/runner/helper/OfficeWatcher.java
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import lib.TestParameters;
+import java.util.StringTokenizer;
+import util.utils;
+
+public class OfficeWatcher extends Thread implements share.Watcher {
+
+ public boolean finish;
+ private TestParameters params;
+ private int StoredPing = 0;
+ private boolean debug = false;
+
+ /** Creates new OfficeWatcher
+ * @param param
+ */
+ public OfficeWatcher(TestParameters param) {
+ finish = false;
+ this.params = param;
+ debug = params.getBool(util.PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ /**
+ * pings the office watcher to check for changes
+ */
+ public void ping() {
+ try {
+ StoredPing++;
+ } catch (Exception e) {
+ StoredPing = 0;
+ }
+ }
+
+ /**
+ * returns the amount of pings
+ * @return returns the amount of pings
+ */
+ public int getPing() {
+ return StoredPing;
+ }
+
+ public void run() {
+ dbg("started");
+ boolean isDone = false;
+ final ProcessHandler ph = (ProcessHandler) params.get("AppProvider");
+ int timeOut = params.getInt("TimeOut");
+ if (ph == null) {
+ isDone = true;
+ }
+ while (!isDone) {
+ timeOut = params.getInt("TimeOut");
+ final int previous = StoredPing;
+ shortWait(timeOut == 0 ? 30000 : timeOut);
+ // a timeout with value 0 lets watcher not react.
+ if ((StoredPing == previous) && timeOut != 0) {
+ isDone = true;
+ }
+ // execute in case the watcher is not needed anymore
+ if (finish) {
+ return;
+ }
+ }
+ if (ph != null) {
+ dbg("the Office is idle for " + timeOut / 1000 +
+ " seconds, it probably hangs and is killed NOW.");
+ final String AppKillCommand = (String) params.get(util.PropertyName.APP_KILL_COMMAND);
+ if (AppKillCommand != null) {
+ final StringTokenizer aKillCommandToken = new StringTokenizer(AppKillCommand, ";");
+ while (aKillCommandToken.hasMoreTokens()) {
+ final String sKillCommand = aKillCommandToken.nextToken();
+
+ dbg("User defined an application to destroy the started process.");
+ dbg("Trying to execute: " + sKillCommand);
+
+ final ProcessHandler pHdl = new ProcessHandler(sKillCommand);
+ pHdl.executeSynchronously();
+// dbg("---> Output of killoffice:");
+// dbg(pHdl.getOutputText());
+// dbg("<--- Output of killoffice");
+// dbg("---> Error output of killoffice:");
+// dbg(pHdl.getErrorText());
+// dbg("<--- Error output of killoffice");
+
+ }
+ }
+ ph.kill();
+ } else {
+ dbg("reaeched timeout but ProcessHandler is NULL");
+ }
+ shortWait(timeOut == 0 ? 30000 : timeOut);
+ dbg("finished");
+ }
+
+ protected void shortWait(int timeOut) {
+ try {
+ OfficeWatcher.sleep(timeOut);
+ } catch (java.lang.InterruptedException ie) {
+ }
+ }
+
+ protected void dbg(String message) {
+ if (debug) {
+ System.out.println(utils.getDateTime() + "OfficeWatcher: " + message);
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/ParameterNotFoundException.java b/qadevOOo/runner/helper/ParameterNotFoundException.java
new file mode 100644
index 000000000000..f1ea980e1533
--- /dev/null
+++ b/qadevOOo/runner/helper/ParameterNotFoundException.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+/**
+ * This exception is thrown when a parameter could not be found.
+ *
+ */
+public class ParameterNotFoundException extends Exception {
+ public ParameterNotFoundException(String message){
+ super (message);
+ }
+
+}
diff --git a/qadevOOo/runner/helper/ProcessHandler.java b/qadevOOo/runner/helper/ProcessHandler.java
new file mode 100644
index 000000000000..c414accd44ac
--- /dev/null
+++ b/qadevOOo/runner/helper/ProcessHandler.java
@@ -0,0 +1,824 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import java.io.InputStream;
+import java.io.File;
+import java.io.PrintWriter;
+import java.io.PrintStream;
+import java.io.LineNumberReader;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import lib.TestParameters;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * Class collect information from input stream in
+ * background (sparate thread) and outputs it to
+ * some log stream. I helps to avoid buffer overflow
+ * when output stream has small buffer size (e.g.
+ * in case when handling stdout from external
+ * <code>Process</code>)
+ *
+ * This class is currently used by ProcesHandler
+ * internally only.
+ */
+class Pump extends Thread
+{
+
+ private LineNumberReader reader;
+ private String pref;
+ private StringBuffer buf = new StringBuffer(256);
+ private PrintWriter log;
+
+ /**
+ * Creates Pump for specified <code>InputStream</code>.
+ * This Pump also synchronously output text read to
+ * log by prefixed lines. Constructor immediately
+ * starts reading in a separate thread.
+ *
+ * @param is Stream which requires permanent reading.
+ * @param log Writer where prefixed text lines to be output
+ * @param outPrefix A prefix which is printed at the
+ * beginning of each output line.
+ */
+ public Pump(InputStream is, PrintWriter log, String outPrefix)
+ {
+ this.pref = (outPrefix == null) ? "" : outPrefix;
+ reader = new LineNumberReader(new InputStreamReader(is));
+ this.log = log;
+ start();
+ }
+
+ public void run()
+ {
+ try
+ {
+ String line = reader.readLine();
+ while (line != null)
+ {
+ log.println(pref + line);
+ log.flush();
+ buf.append(line).append('\n');
+ line = reader.readLine();
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ log.println(pref + "Exception occured: " + e);
+ }
+ }
+
+ /**
+ * Returns the text collected from input stream.
+ */
+ public String getStringBuffer()
+ {
+ return buf.toString();
+ }
+}
+
+/**
+ * Class provides convenient way for running external program
+ * handle its standard streams, control execution and check results.
+ * Instance of this class must be created only for a single
+ * execution. If you need to execute the same command again you
+ * should create a new instance for this.
+ */
+public class ProcessHandler
+{
+
+ private String cmdLine;
+ private String[] cmdLineArray;
+ private String[] envVars = null;
+ private File workDir = null;
+ private PrintWriter log;
+ private int exitValue = -1;
+ private boolean isFinished = false;
+ private boolean isStarted = false;
+ private boolean mbTimedOut = false;
+ private long mTimeOut = 0;
+ private String stdInBuff = "";
+ private Pump stdout = null;
+ private Pump stderr = null;
+ private PrintStream stdIn = null;
+ private Process m_aProcess = null;
+ private TestParameters param = null;
+ private boolean debug = false;
+
+ /**
+ * Creates instance with specified external command.
+ * Debug info and output
+ * of external command is printed to stdout.
+ * @param cmdLine
+ */
+ public ProcessHandler(String cmdLine)
+ {
+ this(cmdLine, null, null, null, 0);
+ }
+
+ /**
+ * Creates instance with specified external command
+ * including parameters as an array.
+ * Debug info and output
+ * of external command is printed to stdout.
+ * @param cmdLines
+ */
+ public ProcessHandler(String[] cmdLines)
+ {
+ this(null, null, null, null, 0);
+ cmdLineArray = cmdLines;
+ }
+
+ /**
+ * Creates instance with specified external command
+ * including parameters as an array, with environment
+ * variables.
+ * Debug info and output
+ * of external command is printed to stdout.
+ * @param cmdLines
+ * @param envVars
+ * @see java.lang.Runtime exec(String[], String[])
+ */
+ public ProcessHandler(String[] cmdLines, String[] envVars)
+ {
+ this(null, null, null, envVars, 0);
+ cmdLineArray = cmdLines;
+ }
+
+ /**
+ * Creates instance with specified external command
+ * including parameters as an array, with environment
+ * variables. The command will be started in workDir.
+ * Debug info and output
+ * of external command is printed to stdout.
+ * @param cmdLines
+ * @param workDir
+ */
+ public ProcessHandler(String[] cmdLines, File workDir)
+ {
+ this(null, null, workDir, null, 0);
+ cmdLineArray = cmdLines;
+
+ }
+
+ /**
+ * Creates instance with specified external command and
+ * log stream where debug info and output
+ * of external command is printed out. The command will be started in workDir.
+ * @param cmdLines
+ * @param log
+ * @param workDir
+ */
+ public ProcessHandler(String[] cmdLines, PrintWriter log, File workDir)
+ {
+ this(null, log, workDir, null, 0);
+ cmdLineArray = cmdLines;
+ }
+
+ /**
+ * Creates instance with specified external command and
+ * log stream where debug info and output
+ * of external command is printed out.
+ * @param cmdLine
+ * @param log
+ */
+ public ProcessHandler(String cmdLine, PrintWriter log)
+ {
+ this(cmdLine, log, null, null, 0);
+ }
+
+ /**
+ * Creates instance with specified external command and set the time out for the command.
+ * @param cmdLine
+ * @param timeOut
+ */
+ public ProcessHandler(String cmdLine, int timeOut)
+ {
+ this(cmdLine, null, null, null, timeOut);
+ }
+
+ /**
+ * Creates instance with specified external command which
+ * will be executed in the some work directory.
+ * Debug info and output
+ * of external commandis printed to stdout.
+ * @param cmdLine
+ * @param workDir
+ */
+ public ProcessHandler(String cmdLine, File workDir)
+ {
+ this(cmdLine, null, workDir, null, 0);
+ }
+
+ /**
+ * Creates instance with specified external command which
+ * will be executed in the some work directory.
+ * Debug info and output printed in log stream.
+ * @param cmdLine
+ * @param log
+ * @param workDir
+ */
+ public ProcessHandler(String cmdLine, PrintWriter log, File workDir)
+ {
+ this(cmdLine, log, workDir, null, 0);
+ }
+
+ /**
+ * Creates instance with specified external command which
+ * will be executed in the some work directory and
+ * log stream where debug info and output
+ * of external command is printed .
+ * The specified environment variables are set for the new process.
+ * If log stream is null, logging is printed to stdout.
+ * @param cmdLine
+ * @param log
+ * @param workDir
+ * @param envVars
+ */
+ public ProcessHandler(String cmdLine, PrintWriter log, File workDir, String[] envVars)
+ {
+ this(cmdLine, log, workDir, envVars, 0);
+ }
+
+ /**
+ * Creates instance with specified external command which
+ * will be executed in the some work directory and
+ *
+ * @param cmdLine the command to be executed
+ * @param log log stream where debug info and output
+ * of external command is printed .
+ * @param workDir The working directory of the new process
+ * @param envVars The specified environment variables are
+ * set for the new process.
+ * If log stream is null, logging is printed to stdout.
+ * @param timeOut When started sychronisly, the maximum time the
+ * process will live. When the process being destroyed
+ * a log will be written out. It can be asked on
+ * <code>isTimedOut()</code> if it has been terminated.
+ *
+ * timeOut > 0
+ * Waits specified time in miliSeconds for
+ * process to exit and return its status.
+ *
+ * timeOut = 0
+ * Waits for the process to end regulary
+ *
+ * timeOut < 0
+ * Kills the process immediately
+ *
+ *
+ */
+ public ProcessHandler(String cmdLine, PrintWriter log, File workDir, String[] envVars, long timeOut)
+ {
+ this.cmdLine = cmdLine;
+ this.workDir = workDir;
+ this.log = log;
+ this.cmdLine = cmdLine;
+ this.envVars = envVars;
+ if (log == null)
+ {
+ this.log = new PrintWriter(new OutputStreamWriter(System.out));
+ }
+ else
+ {
+ this.log = log;
+ }
+ this.mTimeOut = timeOut;
+ }
+
+ /**
+ * Creates instance with specified external command which
+ * will be executed in the some work directory and
+ * log stream where debug info and output of external command is printed.
+ * If log stream is null, logging is printed to stdout.
+ * From the <CODE>TestParameters</CODE> the <CODE>OfficeWachter</CODE> get a ping.
+ * @param commands
+ * @param log
+ * @param workDir
+ * @param shortWait If this parameter is ture the <CODE>mTimeOut</CODE> is set to 5000 ms, else it is set to
+ * half of time out from parameter timeout.
+ * @param param the TestParameters
+ * @see lib.TestParameters
+ * @see helper.OfficeWatcher
+ */
+ public ProcessHandler(String[] commands, PrintWriter log, File workDir, int shortWait, TestParameters param)
+ {
+ this(null, log, workDir, null, 0);
+ this.cmdLineArray = commands;
+ this.param = param;
+ if (shortWait != 0)
+ {
+ this.mTimeOut = shortWait;
+ }
+ else
+ {
+ this.mTimeOut = (long) (param.getInt(PropertyName.TIME_OUT) / 1.3);
+ }
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ }
+
+ /**
+ * This method do an asynchronous execution of the commands. To avoid a interruption on long running processes
+ * caused by <CODE>OfficeWatcher</CODE>, the OfficeWatcher get frequently a ping.
+ * @see helper.OfficeWatcher
+ */
+ public void runCommand()
+ {
+
+ boolean changedText = true;
+ int count = 0;
+ String memText = "";
+
+ this.executeAsynchronously();
+
+ OfficeWatcher ow = null;
+ if (param != null)
+ {
+ ow = (OfficeWatcher) param.get(PropertyName.OFFICE_WATCHER);
+ }
+ if (ow != null)
+ {
+ ow.ping();
+ }
+
+ int hangcheck = 10;
+ while (!this.isFinished() && changedText)
+ {
+ count++;
+ // dbg("runCommand: waiting " + mTimeOut / 1000 + " seconds while command execution is ongoing... " + count);
+ // shortWait(mTimeOut);
+ // shortWait(2000); // wait 2 seconds.
+ //waitFor(mTimeOut);
+ waitFor(2000, false); // wait but don't kill
+
+ if (ow != null)
+ {
+ ow.ping();
+ }
+ // check for changes in the output stream. If there are no changes, the process maybe hangs
+ if (!this.isFinished())
+ {
+ hangcheck--;
+ if (hangcheck < 0)
+ {
+ String sOutputText = getOutputText();
+ if (sOutputText.length() == memText.length())
+ {
+ changedText = false;
+ // dbg("runCommand Could not detect changes in output stream!!!");
+ }
+ hangcheck = 10;
+ memText = this.getOutputText();
+ }
+ }
+ }
+
+ if (!this.isFinished())
+ {
+ dbg("runCommand Process ist not finished but there are no changes in output stream.");
+ this.kill();
+ }
+ }
+
+ public boolean isTimedOut()
+ {
+ return mbTimedOut;
+ }
+
+ private void setTimedOut(boolean bTimedOut)
+ {
+ mbTimedOut = bTimedOut;
+ }
+
+ /**
+ * Executes the command and returns only when the process
+ * exits.
+ *
+ * @return <code>true</code> if process was successfully
+ * started and correcly exits (exit code doesn't affect
+ * to this result).
+ */
+ public boolean executeSynchronously()
+ {
+ execute();
+ return waitFor(mTimeOut);
+ }
+
+ /**
+ * Executes the command immediately returns. The process
+ * remains in running state. Control of its state should
+ * be made by <code>waitFor</code> methods.
+ *
+ * @return <code>true</code> if process was successfully
+ * started.
+ */
+ public boolean executeAsynchronously()
+ {
+ execute();
+ return isStarted();
+ }
+
+ public synchronized void kill()
+ {
+ if (!isStarted())
+ {
+ return;
+ }
+ boolean exit = false;
+ int counter = 1;
+ while (counter < 3 && !exit)
+ {
+ m_aProcess.destroy();
+
+ try
+ {
+ Thread.sleep(1000 * counter); // 5000
+ }
+ catch (java.lang.InterruptedException e)
+ {
+ }
+ try
+ {
+ final int exit_Value = m_aProcess.exitValue();
+ if (exit_Value < 1)
+ {
+ exit = true;
+ }
+ else
+ {
+ counter++;
+ }
+ dbg("kill: process closed with exit code " + exit_Value);
+ }
+ catch (java.lang.IllegalThreadStateException e)
+ {
+ if (counter < 3)
+ {
+ dbg("kill: Couldn't close process after " + counter + " attempts, trying again");
+ }
+ counter++;
+ }
+ }
+ isStarted = false;
+ }
+
+ /**
+ * Returns the time in seconds since 1st January 1970
+ * @return
+ */
+ public static long getSystemTime()
+ {
+ // Calendar cal = new GregorianCalendar();
+ // final long nTime = cal.getTimeInMillis();
+ final long nTime = System.currentTimeMillis();
+ return nTime;
+ }
+ private long m_nExactStartTimeInMillisec;
+
+ private void initialExactStartTime()
+ {
+ m_nExactStartTimeInMillisec = getSystemTime();
+ }
+
+ public long getProcessStartTime()
+ {
+ return m_nExactStartTimeInMillisec;
+ }
+
+ protected void execute()
+ {
+ if (isStarted())
+ {
+ throw new RuntimeException(
+ "The process handler has already been executed.");
+ }
+ final Runtime runtime = Runtime.getRuntime();
+ try
+ {
+ if (cmdLine == null)
+ {
+ log.print(utils.getDateTime() + "execute: Starting command from array: ");
+ for (int i = 0; i < cmdLineArray.length; i++)
+ {
+ log.print(cmdLineArray[i]);
+ log.print(" ");
+ }
+ log.println("");
+ initialExactStartTime();
+ m_aProcess = runtime.exec(cmdLineArray, envVars);
+ }
+ else
+ {
+ if (workDir != null)
+ {
+ log.println(utils.getDateTime() + "execute: Starting command: " + cmdLine + " " +
+ workDir.getAbsolutePath());
+ m_aProcess = runtime.exec(cmdLine, envVars, workDir);
+ }
+ else
+ {
+ log.println(utils.getDateTime() + "execute: Starting command: " + cmdLine);
+ m_aProcess = runtime.exec(cmdLine, envVars);
+ }
+ }
+ isStarted = true;
+ }
+ catch (java.io.IOException e)
+ {
+ if (cmdLine == null)
+ {
+ log.println(utils.getDateTime() + "execute: The command array can't be started: " + e);
+ }
+ else
+ {
+ log.println(utils.getDateTime() + "execute: The command " + cmdLine + " can't be started: " + e);
+ }
+ return;
+ }
+ dbg("execute: pump io-streams");
+ stdout = new Pump(m_aProcess.getInputStream(), log, "out > ");
+ stderr = new Pump(m_aProcess.getErrorStream(), log, "err > ");
+ stdIn = new PrintStream(m_aProcess.getOutputStream());
+
+ // int nExitValue = m_aProcess.exitValue();
+ // int dummy = 0;
+
+ dbg("execute: flush io-streams");
+
+ flushInput();
+ }
+
+ /**
+ * This method is useful when the process was executed
+ * asynchronously. Waits for process to exit and return
+ * its result.
+ *
+ * @return <code>true</code> if process correctly exited
+ * (exit code doesn't affect to this result).
+ */
+ public boolean waitFor()
+ {
+ return waitFor(0);
+ }
+
+ /**
+ * This method is useful when the process was executed
+ * asynchronously. Waits during specified time for process
+ * to exit and return its status.
+ *
+ * @param timeout > 0
+ * Waits specified time in miliSeconds for
+ * process to exit and return its status.
+ *
+ * = 0
+ * Waits for the process to end regulary
+ *
+ * < 0
+ * Kills the process immediately
+ *
+ * @return <code>true</code> if process correctly exited
+ * (exit code doesn't affect to this result).
+ */
+ public boolean waitFor(long timeout)
+ {
+ return waitFor(timeout, true);
+ }
+
+ private boolean waitFor(long timeout, boolean bKillProcessAfterTimeout)
+ {
+ if (isFinished())
+ {
+ return true;
+ }
+ if (!isStarted())
+ {
+ return false;
+ }
+
+ if (timeout == 0)
+ {
+ try
+ {
+ m_aProcess.waitFor();
+ }
+ catch (InterruptedException e)
+ {
+ log.println("The process was interrupted: " + e);
+ }
+ isFinished = true;
+ try
+ {
+ exitValue = m_aProcess.exitValue();
+ }
+ catch (IllegalThreadStateException e)
+ {
+ }
+ }
+ else
+ {
+ try
+ {
+ while (!isFinished && timeout > 0)
+ {
+ isFinished = true;
+ Thread.sleep(1000);
+ timeout -= 1000;
+ try
+ {
+ exitValue = m_aProcess.exitValue(); // throws exception if not finished
+ }
+ catch (IllegalThreadStateException e)
+ {
+ isFinished = false;
+ }
+ }
+ if (timeout < 0)
+ {
+ setTimedOut(true);
+ log.println("The process has timed out!");
+ }
+ }
+ catch (InterruptedException ex)
+ {
+ log.println("The process was interrupted: " + ex);
+ }
+ }
+
+ if (bKillProcessAfterTimeout == true)
+ {
+ if (!isFinished)
+ {
+ log.println("Going to destroy the process!!");
+ m_aProcess.destroy();
+ log.println("Process has been destroyed!");
+ }
+ }
+// Removed as hung up in SDK test 'PathSettings'
+// try {
+// stdout.join();
+// stderr.join();
+// } catch (InterruptedException e) {}
+
+ return isFinished();
+ }
+
+ protected void flushInput()
+ {
+ if (stdIn == null)
+ {
+ return;
+ }
+
+ synchronized(stdInBuff)
+ {
+ stdIn.print(stdInBuff);
+ stdIn.flush();
+ stdInBuff = "";
+ }
+ }
+
+ /**
+ * Returns the text output by external command to stdout.
+ * @return the text output by external command to stdout
+ */
+ public String getOutputText()
+ {
+ if (stdout == null)
+ {
+ return "";
+ }
+ else
+ {
+ return stdout.getStringBuffer();
+ }
+ }
+
+ /**
+ * Returns the text output by external command to stderr.
+ * @return the text output by external command to stderr
+ */
+ public String getErrorText()
+ {
+ if (stderr == null)
+ {
+ return "";
+ }
+ else
+ {
+ return stderr.getStringBuffer();
+ }
+ }
+
+ /**
+ * Prints the string specified to sdtin of external
+ * command. '\n' is not added so if you need you
+ * should terminate the string with '\n'. <p>
+ *
+ * The method can also be called before the command
+ * starts its execution. Then the text is buffered
+ * and transfered to command when it will be started.
+ * @param str
+ */
+ public void printInputText(String str)
+ {
+ stdInBuff += str;
+ flushInput();
+ }
+
+ /**
+ * Returns information about was the command started or
+ * not.
+ *
+ * @return <code>true</code> if the external command was
+ * found and successfully started.
+ */
+ public boolean isStarted()
+ {
+ return isStarted;
+ }
+
+ /**
+ * Returns the information about the final state of command
+ * execution.
+ *
+ * @return <code>true</code> if the command correctly starts,
+ * exits and was not interrupted due to timeout.
+ */
+ public boolean isFinished()
+ {
+ return isFinished;
+ }
+
+ /**
+ * Returns exit code of the external command.
+ *
+ * @return exit code of command if it was finished,
+ * -1 if not.
+ */
+ public int getExitCode()
+ {
+ try
+ {
+ exitValue = m_aProcess.exitValue();
+ }
+ catch (Exception e)
+ {
+ //System.out.println("No ExitValue available");
+ }
+
+ return exitValue;
+ }
+
+ /** Causes the thread to sleep some time.
+ * @param milliseconds
+ */
+ public static void shortWait(long milliseconds)
+ {
+ try
+ {
+ Thread.sleep(milliseconds);
+ }
+ catch (InterruptedException e)
+ {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ private void dbg(String message)
+ {
+ if (debug)
+ {
+ log.println(utils.getDateTime() + "PH." + message);
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/PropertyHandlerFactroy.java b/qadevOOo/runner/helper/PropertyHandlerFactroy.java
new file mode 100644
index 000000000000..1dcdd3d3b2b3
--- /dev/null
+++ b/qadevOOo/runner/helper/PropertyHandlerFactroy.java
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.lang.XSingleComponentFactory;
+
+public class PropertyHandlerFactroy implements XSingleComponentFactory{
+
+ /** Creates a new instance of PropertyHandlerFactroy */
+ public PropertyHandlerFactroy() {
+ }
+
+ public Object createInstanceWithArgumentsAndContext(Object[] obj, com.sun.star.uno.XComponentContext xComponentContext)
+ throws com.sun.star.uno.Exception {
+ return new PropertyHandlerImpl();
+ }
+
+ public Object createInstanceWithContext(com.sun.star.uno.XComponentContext xComponentContext)
+ throws com.sun.star.uno.Exception {
+ return new PropertyHandlerImpl();
+ }
+
+}
diff --git a/qadevOOo/runner/helper/PropertyHandlerImpl.java b/qadevOOo/runner/helper/PropertyHandlerImpl.java
new file mode 100644
index 000000000000..01ab88e05e6b
--- /dev/null
+++ b/qadevOOo/runner/helper/PropertyHandlerImpl.java
@@ -0,0 +1,258 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.inspection.LineDescriptor;
+import com.sun.star.inspection.XPropertyControlFactory;
+import com.sun.star.inspection.XPropertyHandler;
+
+/**
+ * This implementation of <CODE>PropertyHandler</CODE> do currently nothig.
+ * All methods are implemented, but not filled with content.
+ * @see com.sun.star.inspection.XPropertyHandler
+ */
+public class PropertyHandlerImpl implements XPropertyHandler{
+
+ /** Creates a new instance of PropertyHandlerImpl */
+ public PropertyHandlerImpl() {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param ActuatingPropertyName the id of the actuating property.
+ * @param NewValue the new value of the property
+ * @param OldValue the old value of the property
+ * @param InspectorUI a callback for updating the object inspector UI
+ * @param FirstTimeInit If true , the method is called for the first-time update of the respective property, that is, when the property browser is just initializing with the properties of the introspected object.
+ * If false , there was a real ::com::sun::star::beans::XPropertyChangeListener::propertyChange event which triggered the call.
+ *
+ * In some cases it may be necessary to differentiate between both situations. For instance, if you want to set the value of another property when an actuating property's value changed, you should definately not do this when FirstTimeInit is true .
+ * @throws com.sun.star.lang.NullPointerException ::com::sun::star::lang::NullPointerException if InspectorUI is NULL
+ */
+ public void actuatingPropertyChanged(
+ String ActuatingPropertyName,
+ Object NewValue,
+ Object OldValue,
+ com.sun.star.inspection.XObjectInspectorUI InspectorUI,
+ boolean FirstTimeInit)
+ throws com.sun.star.lang.NullPointerException {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param xEventListener the listener to notify about changes
+ */
+ public void addEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param xPropertyChangeListener the listener to notify about property changes
+ * @throws com.sun.star.lang.NullPointerException com::sun::star::lang::NullPointerException if the listener is NULL
+ */
+ public void addPropertyChangeListener(com.sun.star.beans.XPropertyChangeListener xPropertyChangeListener) throws com.sun.star.lang.NullPointerException {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName The name of the property whose value is to be converted.
+ * @param PropertyValue The to-be-converted property value.
+ * @param ControlValueType The target type of the conversion. This type is determined by the control which is used to display the property, which in turn is determined by the handler itself in describePropertyLine .
+ * Speaking strictly, this is passed for convenience only, since every XPropertyHandler implementation should know exactly which type to expect, since it implicitly determined this type in describePropertyLine by creating an appropriate XPropertyControl .
+ *
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public Object convertToControlValue(
+ String PropertyName,
+ Object PropertyValue,
+ com.sun.star.uno.Type ControlValueType)
+ throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName The name of the conversion's target property.
+ * @param ControlValue The to-be-converted control value. This value has been obtained from an XPropertyControl , using its Value attribute.
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public Object convertToPropertyValue(String PropertyName, Object ControlValue) throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName the name of the property whose user interface is to be described
+ * @param out_Descriptor the descriptor of the property line, to be filled by the XPropertyHandler implementation
+ * @param ControlFactory a factory for creating XPropertyControl instances. Must not be NULL .
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by this handler
+ *
+ * @throws com.sun.star.lang.NullPointerException ::com::sun::star::lang::NullPointerException if ControlFactory is NULL .
+ */
+ public LineDescriptor describePropertyLine(
+ String PropertyName,
+ com.sun.star.inspection.XPropertyControlFactory ControlFactory)
+ throws com.sun.star.beans.UnknownPropertyException,
+ com.sun.star.lang.NullPointerException {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ */
+ public void dispose() {
+ }
+
+ /**
+ * This method currently do nothig
+ * @return null
+ */
+ public String[] getActuatingProperties() {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName the name of the property whose state is to be retrieved
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public com.sun.star.beans.PropertyState getPropertyState(String PropertyName)
+ throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName the name of the property whose value is to be retrieved
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public Object getPropertyValue(String PropertyName) throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @return null
+ */
+ public String[] getSupersededProperties() {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @return null
+ */
+ public com.sun.star.beans.Property[] getSupportedProperties() {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @param Component the component to inspect. Must not be NULL
+ * @throws com.sun.star.lang.NullPointerException com::sun::star::lang::NullPointerException if the component is NULL
+ */
+ public void inspect(Object Component) throws com.sun.star.lang.NullPointerException {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName the name of the property whose composability is to be determined
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ *
+ *
+ * @return null
+ */
+ public boolean isComposable(String PropertyName) throws com.sun.star.beans.UnknownPropertyException {
+ return false;
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName The name of the property whose browse button has been clicked
+ * @param Primary true if and only if the primary button has been clicked, false otherwise
+ * @param out_Data If the method returns InteractiveSelectionResult::ObtainedValue , then _rData contains the value which has been interactively obtained from the user, and which still needs to be set at the inspected component.
+ * @param InspectorUI provides access to the object inspector UI. Implementations should use this if the property selection requires non-modal user input. In those cases, onInteractivePropertySelection should return InteractiveSelectionResult::Pending , and the UI for (at least) the property whose input is still pending should be disabled.
+ *
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @throws com.sun.star.lang.NullPointerException ::com::sun::star::lang::NullPointerException if InspectorUI is NULL
+ * @return null
+ */
+ public com.sun.star.inspection.InteractiveSelectionResult onInteractivePropertySelection(
+ String PropertyName,
+ boolean Primary,
+ Object[] out_Data,
+ com.sun.star.inspection.XObjectInspectorUI InspectorUI)
+ throws com.sun.star.beans.UnknownPropertyException,
+ com.sun.star.lang.NullPointerException {
+ return null;
+ }
+
+ /**
+ * This method currently do nothig
+ * @param xEventListener the listener to be revoked
+ */
+ public void removeEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param xPropertyChangeListener the listener to be revoke
+ */
+ public void removePropertyChangeListener(com.sun.star.beans.XPropertyChangeListener xPropertyChangeListener) {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param PropertyName the name of the property whose value is to be set
+ * @param Value the property value to set
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ */
+ public void setPropertyValue(String PropertyName, Object Value) throws com.sun.star.beans.UnknownPropertyException {
+ }
+
+ /**
+ * This method currently do nothig
+ * @param Suspend Whether the handler is to be suspended true or reactivated ( false ). The latter happens if a handler was successfully suspended, but an external instance vetoed the whole suspension process.
+ * @return false
+ */
+ public boolean suspend(boolean Suspend) {
+ return false;
+ }
+
+ /**
+ * This method currently do nothig
+ */
+
+ public void describePropertyLine(String string, LineDescriptor[] lineDescriptor, XPropertyControlFactory xPropertyControlFactory) throws UnknownPropertyException, com.sun.star.lang.NullPointerException {
+ }
+
+}
diff --git a/qadevOOo/runner/helper/PropertyHelper.java b/qadevOOo/runner/helper/PropertyHelper.java
new file mode 100755
index 000000000000..1b2bdbb9f175
--- /dev/null
+++ b/qadevOOo/runner/helper/PropertyHelper.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import java.util.ArrayList;
+
+import com.sun.star.beans.PropertyValue;
+
+public class PropertyHelper
+{
+ /**
+ Create a PropertyValue[] from a ArrayList
+ @param _aArrayList
+ @return a PropertyValue[]
+ */
+ public static PropertyValue[] createPropertyValueArrayFormArrayList(ArrayList _aPropertyList)
+ {
+ // copy the whole PropertyValue List to an PropertyValue Array
+ PropertyValue[] aSaveProperties = null;
+
+ if (_aPropertyList == null)
+ {
+ aSaveProperties = new PropertyValue[0];
+ }
+ else
+ {
+ aSaveProperties = (PropertyValue[])_aPropertyList.toArray(new PropertyValue[_aPropertyList.size()]);
+ // old java 1.4
+// if (_aPropertyList.size() > 0)
+// {
+// aSaveProperties = new PropertyValue[_aPropertyList.size()];
+// for (int i = 0;i<_aPropertyList.size(); i++)
+// {
+// aSaveProperties[i] = (PropertyValue) _aPropertyList.get(i);
+// }
+// }
+// else
+// {
+// aSaveProperties = new PropertyValue[0];
+// }
+
+// show properties?
+// if (_aPropertyList.size() > 0)
+// {
+// // aSaveProperties = new PropertyValue[_aPropertyList.size()];
+// for (int i = 0;i<_aPropertyList.size(); i++)
+// {
+// PropertyValue aProp = (PropertyValue) _aPropertyList.get(i);
+// showProperty(aProp);
+// }
+// }
+
+ }
+ return aSaveProperties;
+ }
+}
diff --git a/qadevOOo/runner/helper/SimpleMailSender.java b/qadevOOo/runner/helper/SimpleMailSender.java
new file mode 100644
index 000000000000..221de9a75027
--- /dev/null
+++ b/qadevOOo/runner/helper/SimpleMailSender.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+
+import java.net.InetAddress;
+import java.net.Socket;
+import java.net.UnknownHostException;
+
+
+public class SimpleMailSender {
+ private String m_MailServer = "unknown";
+ private String m_Sender = "unknown";
+ private String m_Recipient = "unknown";
+ private String m_Subject = "unknown";
+ private String m_Message = "unknown";
+
+
+ public String getMailServer() {
+ return m_MailServer;
+ }
+
+ public void setMailServer(String server) {
+ m_MailServer = server;
+ }
+
+ public String getSender() {
+ return m_Sender;
+ }
+
+ public void setSender(String sender) {
+ m_Sender = sender;
+ }
+
+ public String getRecipient() {
+ return m_Recipient;
+ }
+
+ public void setRecipient(String recipient) {
+ m_Recipient = recipient;
+ }
+
+ public String getSubject() {
+ return m_Subject;
+ }
+
+ public void setSubject(String subject) {
+ m_Subject = subject;
+ }
+
+ public String getMessage() {
+ return m_Message;
+ }
+
+ public void setMessage(String msg) {
+ m_Message = msg;
+ }
+
+ public void sendMail() {
+ if (m_MailServer.equals ("unknown")) {
+ System.out.println("No Mailserver given ... exiting");
+ return;
+ }
+ if (m_Recipient.equals ("unknown")) {
+ System.out.println("No Recipient given ... exiting");
+ return;
+ }
+ sendMail(m_MailServer,m_Sender,m_Recipient,m_Subject,m_Message);
+ }
+
+ public void sendMail(String server, String sender,
+ String recipient, String subject, String msg) {
+ //setting member variables for reuse
+ m_MailServer = server;
+ m_Sender = sender;
+ m_Recipient = recipient;
+ m_Subject = subject;
+ m_Message = msg;
+
+ try {
+ Socket socket = new Socket(m_MailServer, 25);
+ BufferedReader input =
+ new BufferedReader(new InputStreamReader(
+ socket.getInputStream(), "8859_1"));
+ BufferedWriter output =
+ new BufferedWriter(new OutputStreamWriter(
+ socket.getOutputStream(), "8859_1"));
+
+ sendline(input, output, "HELO " + getHostName());
+ sendline(input, output, "MAIL FROM: " + m_Sender);
+ sendline(input, output, "RCPT TO: <" + m_Recipient + ">");
+ sendline(input, output, "DATA");
+ sendline(output, "MIME-Version: 1.0");
+ sendline(output, "Subject: " + m_Subject);
+ sendline(output, "From: " + m_Sender);
+ sendline(output, "To: " + m_Recipient);
+ sendline(output,
+ "Content-Type: text/html; charset=\"us-ascii\"\r\n");
+
+ // Send the body
+ sendline(output, m_Message);
+
+ sendline(input, output, ".");
+ sendline(input, output, "QUIT");
+ socket.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void sendline(BufferedReader input,
+ BufferedWriter output, String line) {
+ try {
+ output.write(line + "\r\n");
+ output.flush();
+ line = input.readLine();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void sendline(BufferedWriter output, String line) {
+ try {
+ output.write(line + "\r\n");
+ output.flush();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private String getHostName() {
+ String hostname = "";
+
+ try {
+ InetAddress addr = InetAddress.getLocalHost();
+
+ hostname = addr.getHostName();
+ } catch (UnknownHostException e) {
+ }
+
+ return hostname;
+ }
+}
diff --git a/qadevOOo/runner/helper/StreamSimulator.java b/qadevOOo/runner/helper/StreamSimulator.java
new file mode 100644
index 000000000000..5e6554943e41
--- /dev/null
+++ b/qadevOOo/runner/helper/StreamSimulator.java
@@ -0,0 +1,533 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.uno.UnoRuntime;
+
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XSimpleFileAccess;
+
+/**
+ * It simulates an input and output stream and
+ * implements the interfaces XInputStream, XOutputStream.
+ * So it can be used for testing loading/saving of documents
+ * using streams instead of URLs.
+ *
+ */
+public class StreamSimulator implements com.sun.star.io.XInputStream ,
+ com.sun.star.io.XOutputStream ,
+ com.sun.star.io.XSeekable
+{
+ //_________________________________
+ /**
+ * @member m_sFileName name of the corrsponding file on disk
+ * @member m_xInStream the internal input stream for reading
+ * @member m_xOutStream the internal input stream for writing
+ * @member m_xSeek points at runtime to m_xInStream or m_xOutStream and make it seekable
+ *
+ * @member //m_aProtocol the external set protocol object for logging messages
+ * @member m_bInWasUsed indicates, that the input stream interface was used
+ * @member m_bOutWasUsed indicates, that the output stream interface was used
+ */
+
+ private String m_sFileName ;
+ private com.sun.star.io.XInputStream m_xInStream ;
+ private com.sun.star.io.XOutputStream m_xOutStream ;
+ private com.sun.star.io.XSeekable m_xSeek ;
+
+ //public ComplexTestEnvironment //m_aProtocol ;
+ public boolean m_bInWasUsed ;
+ public boolean m_bOutWasUsed ;
+
+ //_________________________________
+ /**
+ * construct a new instance of this class
+ * It set the name of the correspojnding file on disk, which
+ * should be source or target for the following operations on
+ * this object. And it regulate if it should function as
+ * input or output stream.
+ *
+ * @param sFileName
+ * name of the file on disk
+ * Will be used as source (if param bInput==true)
+ * or as target (if param bInput==false).
+ *
+ * @param bInput
+ * it specify, which interface should work at this object.
+ * <TRUE/> => we simulate an input stream
+ * <FALSE/> => we simulate an output stream
+ *
+ * @throw com.sun.star.io.NotConnectedException
+ * in case the internal streams to the file on disk couldn't established.
+ * They are neccessary. Otherwhise this simulator can't realy work.
+ */
+ public StreamSimulator( String sFileName , boolean bInput ,
+ lib.TestParameters param ) throws com.sun.star.io.NotConnectedException
+ {
+ ////m_aProtocol = new ComplexTestEnvironment();
+ m_sFileName = sFileName ;
+ m_bInWasUsed = false ;
+ m_bOutWasUsed = false ;
+
+ try
+ {
+ XSimpleFileAccess xHelper = (XSimpleFileAccess)
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ ((XMultiServiceFactory)param.getMSF()).createInstance("com.sun.star.ucb.SimpleFileAccess"));
+/* com.sun.star.ucb.XSimpleFileAccess xHelper = (com.sun.star.ucb.XSimpleFileAccess)OfficeConnect.createRemoteInstance(
+ com.sun.star.ucb.XSimpleFileAccess.class,
+ "com.sun.star.ucb.SimpleFileAccess");*/
+
+ if (xHelper == null)
+ throw new com.sun.star.io.NotConnectedException("ucb helper not available. Can't create streams.");
+
+ if (bInput)
+ {
+ m_xInStream = xHelper.openFileRead(m_sFileName);
+ m_xSeek = (com.sun.star.io.XSeekable)UnoRuntime.queryInterface(
+ com.sun.star.io.XSeekable.class,
+ m_xInStream);
+ }
+ else
+ {
+ m_xOutStream = xHelper.openFileWrite(m_sFileName);
+ m_xSeek = (com.sun.star.io.XSeekable)UnoRuntime.queryInterface(
+ com.sun.star.io.XSeekable.class,
+ m_xOutStream);
+ }
+ }
+ catch(com.sun.star.uno.Exception exUno)
+ {
+ ////m_aProtocol.log("\tstream not open. throw NotConnectedException\n\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("Could not open the file.");
+ }
+ }
+
+/* public void finalize()
+ {
+ ////m_aProtocol.log("finalize was called. Please check if it was right or not.\n");
+ } */
+
+ //_________________________________
+ /**
+ * following methods simulates the XInputStream.
+ * The notice all actions inside the internal protocol
+ * and try to map all neccessary functions to the internal
+ * open in-stream.
+ */
+ public int readBytes( /*OUT*/ byte[][] lData ,
+ /*IN*/ int nBytesToRead ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("readBytes(lData["+lData.length+"]["+lData[0]+"],"+nBytesToRead+")\n{\n");
+ m_bInWasUsed = true;
+
+ if (m_xInStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ int nRead = 0;
+ try
+ {
+ nRead = m_xInStream.readBytes(lData,nBytesToRead);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n" ); throw exConnect;
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) { //m_aProtocol.log("\tgot BufferSizeExceededException\n\tfailed\n}\n"); throw exBuffer;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\treads "+nRead+" bytes\n\tOK\n}\n");
+
+ //if (nRead != nBytesToRead)
+ //m_aProtocol.log("there are some missing bytes for reading!\n");
+
+ return nRead;
+ }
+
+ //_________________________________
+
+ public int readSomeBytes( /*OUT*/ byte[][] lData ,
+ /*IN*/ int nMaxBytesToRead ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("readSomeBytes(lData["+lData.length+"]["+lData[0]+"],"+nMaxBytesToRead+")\n{\n");
+ m_bInWasUsed = true;
+
+ if (m_xInStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ int nRead = 0;
+ try
+ {
+ nRead = m_xInStream.readSomeBytes(lData,nMaxBytesToRead);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n" ); throw exConnect;
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) { //m_aProtocol.log("\tgot BufferSizeExceededException\n\tfailed\n}\n"); throw exBuffer;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\treads "+nRead+" bytes\n\tOK\n}\n");
+
+ //if (nRead != nMaxBytesToRead)
+ //m_aProtocol.log("there are some missing bytes for reading!");
+
+ return nRead;
+ }
+
+ //_________________________________
+
+ public void skipBytes( /*IN*/ int nBytesToSkip ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("skipBytes("+nBytesToSkip+")\n{\n");
+ m_bInWasUsed = true;
+
+ if (m_xInStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xInStream.skipBytes(nBytesToSkip);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n" ); throw exConnect;
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) { //m_aProtocol.log("\tgot BufferSizeExceededException\n\tfailed\n}\n"); throw exBuffer;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\tOK\n}\n");
+ }
+
+ //_________________________________
+
+ public int available() throws com.sun.star.io.NotConnectedException,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("available()\n{\n");
+ m_bInWasUsed = true;
+
+ if (m_xInStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ int nAvailable = 0;
+ try
+ {
+ nAvailable = m_xInStream.available();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n"); throw exConnect;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\treturns "+nAvailable+" bytes\n\tOK\n}\n");
+ return nAvailable;
+ }
+
+ //_________________________________
+
+ public void closeInput() throws com.sun.star.io.NotConnectedException,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("closeInput()\n{\n");
+ m_bInWasUsed = true;
+
+ if (m_xInStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xInStream.closeInput();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n"); throw exConnect;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\tOK\n}\n");
+ }
+
+ //_________________________________
+ /**
+ * following methods simulates the XOutputStream.
+ * The notice all actions inside the internal protocol
+ * and try to map all neccessary functions to the internal
+ * open out-stream.
+ */
+ public void writeBytes( /*IN*/byte[] lData ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("writeBytes(lData["+lData.length+"])\n{\n");
+ m_bOutWasUsed = true;
+
+ if (m_xOutStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xOutStream.writeBytes(lData);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n" ); throw exConnect;
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) { //m_aProtocol.log("\tgot BufferSizeExceededException\n\tfailed\n}\n"); throw exBuffer;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\tOK\n}\n");
+ }
+
+ //_________________________________
+
+ public void flush() throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("flush()\n{\n");
+ m_bOutWasUsed = true;
+
+ if (m_xOutStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xOutStream.flush();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n" ); throw exConnect;
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) { //m_aProtocol.log("\tgot BufferSizeExceededException\n\tfailed\n}\n"); throw exBuffer;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+ //m_aProtocol.log("\tOK\n}\n");
+ }
+
+ //_________________________________
+
+ public void closeOutput() throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("closeOutput()\n{\n");
+ m_bOutWasUsed = true;
+
+ if (m_xOutStream == null)
+ {
+ //m_aProtocol.log("\tstream not open. throw NotConnectedException\n\tfailed\n}\n");
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xOutStream.closeOutput();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) { //m_aProtocol.log("\tgot NotConnectedException\n\tfailed\n}\n" ); throw exConnect;
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) { //m_aProtocol.log("\tgot BufferSizeExceededException\n\tfailed\n}\n"); throw exBuffer;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\tOK\n}\n");
+ }
+
+ //_________________________________
+ /**
+ * following methods simulates the XSeekable.
+ * The notice all actions inside the internal protocol
+ * and try to map all neccessary functions to the internal
+ * open stream.
+ */
+ public void seek( /*IN*/long nLocation ) throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("seek("+nLocation+")\n{\n");
+
+ if (m_xInStream != null)
+ m_bInWasUsed = true;
+ else
+ if (m_xOutStream != null)
+ m_bOutWasUsed = true;
+ else
+ //m_aProtocol.log("\tno stream open!\n");
+
+ if (m_xSeek == null)
+ {
+ //m_aProtocol.log("\tstream not seekable. throw IOException\n\tfailed\n}\n");
+ throw new com.sun.star.io.IOException("stream not seekable");
+ }
+
+ try
+ {
+ m_xSeek.seek(nLocation);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException exArg ) { //m_aProtocol.log("\tgot IllegalArgumentException\n\tfailed\n}\n" ); throw exArg;
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n" ); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\tOK\n}\n");
+ }
+
+ //_________________________________
+
+ public long getPosition() throws com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("getPosition()\n{\n");
+
+ if (m_xInStream != null)
+ m_bInWasUsed = true;
+ else
+ if (m_xOutStream != null)
+ m_bOutWasUsed = true;
+ else
+ //m_aProtocol.log("\tno stream open!\n");
+
+ if (m_xSeek == null)
+ {
+ //m_aProtocol.log("\tstream not seekable. throw IOException\n\tfailed\n}\n");
+ throw new com.sun.star.io.IOException("stream not seekable");
+ }
+
+ long nPos = 0;
+ try
+ {
+ nPos = m_xSeek.getPosition();
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n"); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\treturns pos="+nPos+"\n\tOK\n}\n");
+ return nPos;
+ }
+
+ //_________________________________
+
+ public long getLength() throws com.sun.star.io.IOException
+ {
+ //m_aProtocol.log("getLength()\n{\n");
+
+ if (m_xInStream != null)
+ m_bInWasUsed = true;
+ else
+ if (m_xOutStream != null)
+ m_bOutWasUsed = true;
+ else
+ //m_aProtocol.log("\tno stream open!\n");
+
+ if (m_xSeek == null)
+ {
+ //m_aProtocol.log("\tstream not seekable. throw IOException\n\tfailed\n}\n");
+ throw new com.sun.star.io.IOException("stream not seekable");
+ }
+
+ long nLen = 0;
+ try
+ {
+ nLen = m_xSeek.getLength();
+ }
+ catch (com.sun.star.io.IOException exIO ) { //m_aProtocol.log("\tgot IOException\n\tfailed\n}\n" ); throw exIO;
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) { //m_aProtocol.log("\tgot RuntimeException\n\tfailed\n}\n"); throw exRuntime;
+ }
+ catch (com.sun.star.uno.Exception exUno ) { //m_aProtocol.log("\tgot Exception\n\tfailed\n}\n" );
+ }
+
+ //m_aProtocol.log("\treturns len="+nLen+"\n\tOK\n}\n");
+ return nLen;
+ }
+}
diff --git a/qadevOOo/runner/helper/StringHelper.java b/qadevOOo/runner/helper/StringHelper.java
new file mode 100644
index 000000000000..d2eb41606844
--- /dev/null
+++ b/qadevOOo/runner/helper/StringHelper.java
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+public class StringHelper
+{
+
+ public static String doubleQuote(String _sStr)
+ {
+ return "\"" + _sStr + "\"";
+ }
+
+ public static String singleQuote(String _sStr)
+ {
+ return "'" + _sStr + "'";
+ }
+
+ /**
+ * removes quotes if both exists at start and at end
+ */
+ public static String removeSurroundQuoteIfExists(String _sPath)
+ {
+ String sNewPath = _sPath;
+ boolean bRemoveQuotes = false;
+ if (
+ (_sPath.startsWith("\"") && _sPath.endsWith("\"")) ||
+ (_sPath.startsWith("'") && _sPath.endsWith("'"))
+ )
+ {
+ // remove trailing quotes, if exists
+ sNewPath = sNewPath.substring(1);
+
+ // remove trailing quotes, if exists
+ sNewPath = sNewPath.substring(0, sNewPath.length() - 1);
+ }
+ return sNewPath;
+ }
+
+ public static String removeQuoteIfExists(String _sPath)
+ {
+ String sNewPath = _sPath;
+
+ if (_sPath.startsWith("\"") ||
+ _sPath.startsWith("'"))
+ {
+ // remove trailing quotes, if exists
+ sNewPath = sNewPath.substring(1);
+ }
+
+ if (_sPath.endsWith("\"") ||
+ _sPath.endsWith("'"))
+ {
+ // remove trailing quotes, if exists
+ sNewPath = sNewPath.substring(0, sNewPath.length() - 1);
+ }
+ return sNewPath;
+ }
+
+ public static String doubleQuoteIfNeed(String _sStr)
+ {
+ if (_sStr.startsWith("\"") && _sStr.endsWith("\""))
+ {
+ // don't quote twice
+ return _sStr;
+ }
+ if (_sStr.indexOf(" ") == -1)
+ {
+ // don't quote, if there is no space in name
+ return _sStr;
+ }
+ if (_sStr.indexOf("%") != -1)
+ {
+ return singleQuote(_sStr);
+ }
+
+ return doubleQuote(_sStr);
+ }
+
+ /**
+ * Convert a value to a string with a given length, if the len is greater the len of the value string representation
+ * fill it's front with '0'
+ * So ("5", 4) will result in a string "0005"
+ * @param _nValue
+ * @param _nLen
+ * @return
+ */
+ public static String createValueString(int _nValue, int _nLen)
+ {
+ String sValue = String.valueOf(_nValue);
+ StringBuffer a = new StringBuffer();
+ while (_nLen > sValue.length())
+ {
+ a.append('0');
+ _nLen --;
+ }
+ a.append(sValue);
+ return a.toString();
+ }
+
+}
diff --git a/qadevOOo/runner/helper/URLHelper.java b/qadevOOo/runner/helper/URLHelper.java
new file mode 100644
index 000000000000..39bff1485747
--- /dev/null
+++ b/qadevOOo/runner/helper/URLHelper.java
@@ -0,0 +1,292 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+// __________ Imports __________
+
+// exceptions
+import java.net.MalformedURLException;
+
+// interfaces
+import com.sun.star.util.XURLTransformer;
+
+// others
+import java.io.File;
+import java.util.Vector;
+import java.util.Enumeration;
+
+
+/**
+ * It collects some static helper functons to handle URLs.
+ * Sometimes it's neccessary to convert URL from/to system pathes.
+ * Or from string to strutural notations (e.g. com.sun.star.util.URL).
+ * And sometimes java had another notation then the office it has.
+ *
+ */
+public class URLHelper
+{
+ // ____________________
+
+ /**
+ * Because the office need URLs for loading/saving documents
+ * we must convert used system pathes.
+ * And java use another notation for file URLs ... correct it.
+ *
+ * @param aSystemPath
+ * represent the file in system notation
+ *
+ * @return [String]
+ * a file url which represent the given system path
+ */
+ public static String getFileURLFromSystemPath( File aSystemPath )
+ {
+ String sFileURL = null;
+ try
+ {
+ //sFileURL = aSystemPath.toURI().toURL().toString();
+ sFileURL = aSystemPath.toURL().toString();
+ }
+ catch( MalformedURLException exWrong )
+ {
+ sFileURL = null;
+ }
+
+ // problem of java: file URL's are coded with 1 slash instead of 2 or 3 ones!
+ // => correct this problem first, otherwise office can't use these URL's
+ if(
+ (sFileURL != null ) &&
+ (sFileURL.startsWith("file:/") == true ) &&
+ (sFileURL.startsWith("file://") == false)
+ )
+ {
+ StringBuffer sWorkBuffer = new StringBuffer(sFileURL);
+ sWorkBuffer.insert(6,"//");
+ sFileURL = sWorkBuffer.toString();
+ }
+
+ return sFileURL;
+ }
+
+ // ____________________
+
+ /**
+ * The same as getFileURLFromSystemPath() before but uses string parameter instead
+ * of a File type. It exist to supress converting of neccessary parameters in the
+ * outside code. But of course getFileURLFromSystemPath(File) will be a little bit faster
+ * then this method ...
+ *
+ * @param sSystemPath
+ * represent the file in system notation
+ *
+ * @return [String]
+ * a file url which represent the given system path
+ */
+ public static String getFileURLFromSystemPath( String sSystemPath )
+ {
+ return getFileURLFromSystemPath(new File(sSystemPath));
+ }
+
+ // ____________________
+
+ /**
+ * Does the same as getFileURLFromSystemPath() before ... but uses
+ * the given protocol string (e.g."http://") insted of "file:///".
+ *
+ * @param aSystemPath
+ * represent the file in system notation
+ *
+ * @param aBasePath
+ * define the base path of the aSystemPath value,
+ * which must be replaced with the value of "sServerPath".
+ *
+ * @param sServerURL
+ * Will be used to replace sBasePath.
+ *
+ * @example
+ * System Path = "d:\test\file.txt"
+ * Base Path = "d:\test"
+ * Server Path = "http://alaska:8000"
+ * => "http://alaska:8000/file.txt"
+ *
+ * @return [String]
+ * an url which represent the given system path
+ * and uses the given protocol
+ */
+ public static String getURLWithProtocolFromSystemPath( File aSystemPath, File aBasePath, String sServerURL )
+ {
+ String sFileURL = URLHelper.getFileURLFromSystemPath(aSystemPath);
+ String sBaseURL = URLHelper.getFileURLFromSystemPath(aBasePath );
+
+ // cut last '/'!
+ if (sBaseURL.lastIndexOf('/')==(sBaseURL.length()-1))
+ sBaseURL = sBaseURL.substring(0,sBaseURL.length()-1);
+
+ // cut last '/'!
+ if (sServerURL.lastIndexOf('/')==(sServerURL.length()-1))
+ sServerURL = sServerURL.substring(0,sServerURL.length()-1);
+
+ int index = sFileURL.indexOf(sBaseURL);
+ String sURL = sFileURL.substring(0,index) + sServerURL +
+ sFileURL.substring(index+sBaseURL.length());
+ //String sURL = sFileURL.replaceFirst(sBaseURL,sServerURL);
+ return sURL;
+ }
+
+ // ____________________
+
+ /**
+ * The same as getURLWithProtocolFromSystemPath() before but uses string parameter instead
+ * of a File types. It exist to supress converting of neccessary parameters in the
+ * outside code. But of course getURLWithProtocolFromSystemPath(File,File,String) will be
+ * a little bit faster then this method ...
+ *
+ * @param sSystemPath
+ * represent the file in system notation
+ *
+ * @param sBasePath
+ * define the base path of the aSystemPath value,
+ * which must be replaced with the value of "sServerPath".
+ *
+ * @param sServerPath
+ * Will be used to replace sBasePath.
+ *
+ * @example
+ * System Path = "d:\test\file.txt"
+ * Base Path = "d:\test"
+ * Server Path = "http://alaska:8000"
+ * => "http://alaska:8000/file.txt"
+ *
+ * @return [String]
+ * an url which represent the given system path
+ * and uses the given protocol
+ */
+ public static String getURLWithProtocolFromSystemPath( String sSystemPath, String sBasePath, String sServerPath )
+ {
+ return getURLWithProtocolFromSystemPath(new File(sSystemPath), new File(sBasePath), sServerPath);
+ }
+
+ // ____________________
+
+ /**
+ * This convert an URL (formated as a string) to a struct com.sun.star.util.URL.
+ * It use a special service to do that: the URLTransformer.
+ * Because some API calls need it and it's not allowed to set "Complete"
+ * part of the util struct only. The URL must be parsed.
+ *
+ * @param sURL
+ * URL for parsing in string notation
+ *
+ * @return [com.sun.star.util.URL]
+ * URL in UNO struct notation
+ */
+ public static com.sun.star.util.URL parseURL(XURLTransformer xParser, String sURL)
+ {
+ com.sun.star.util.URL aURL = null;
+
+ if (sURL==null || sURL.equals(""))
+ return null;
+
+ try
+ {
+ // Create special service for parsing of given URL.
+/* com.sun.star.util.XURLTransformer xParser = (com.sun.star.util.XURLTransformer)OfficeConnect.createRemoteInstance(
+ com.sun.star.util.XURLTransformer.class,
+ "com.sun.star.util.URLTransformer");
+*/
+ // Because it's an in/out parameter we must use an array of URL objects.
+ com.sun.star.util.URL[] aParseURL = new com.sun.star.util.URL[1];
+ aParseURL[0] = new com.sun.star.util.URL();
+ aParseURL[0].Complete = sURL;
+
+ // Parse the URL
+ xParser.parseStrict(aParseURL);
+
+ aURL = aParseURL[0];
+ }
+ catch(com.sun.star.uno.RuntimeException exRuntime)
+ {
+ // Any UNO method of this scope can throw this exception.
+ // Reset the return value only.
+ aURL = null;
+ }
+
+ return aURL;
+ }
+
+ //_________________________________
+ /**
+ * Return a name list of all available files of a directory.
+ * We filter pure sub directories names. All other files
+ * are returned as full qualified URL strings. So they can be
+ * used for further purposes. One parameter define the start directory,
+ * another one describe the url protocol, which the return URL names should have.
+ *
+ * @param sDir
+ * the start directory, which should include all test files
+ *
+ * @return [Vector]
+ * a filtered list of java File objects of all available files of the start dir
+ * and all accessable sub directories.
+ */
+ public static Vector getSystemFilesFromDir(String sStartDir)
+ {
+ File aRoot = new File(sStartDir);
+
+ if (! aRoot.exists())
+ return null;
+
+ if (! aRoot.isDirectory())
+ return null;
+
+ File[] lAllFiles = aRoot.listFiles();
+ if (lAllFiles == null )
+ return null;
+
+ Vector lFilteredFiles = new Vector(lAllFiles.length);
+
+ for (int i=0; i<lAllFiles.length; ++i)
+ {
+ if (lAllFiles[i].isFile())
+ lFilteredFiles.add(lAllFiles[i]);
+ else
+ if (lAllFiles[i].isDirectory())
+ {
+ // recursion!
+ Vector lSubFiles = URLHelper.getSystemFilesFromDir(lAllFiles[i].getPath());
+ if (lSubFiles != null)
+ {
+ Enumeration aSnapshot = lSubFiles.elements();
+ while (aSnapshot.hasMoreElements())
+ lFilteredFiles.add(aSnapshot.nextElement());
+ }
+ }
+ }
+
+ return lFilteredFiles;
+ }
+}
diff --git a/qadevOOo/runner/helper/UnoProvider.java b/qadevOOo/runner/helper/UnoProvider.java
new file mode 100644
index 000000000000..c1c3e63f5ef3
--- /dev/null
+++ b/qadevOOo/runner/helper/UnoProvider.java
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * 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 helper;
+
+import com.sun.star.comp.helper.Bootstrap;
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import java.util.Hashtable;
+import lib.TestParameters;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * Bootstrap UNO from a Java environment.
+ * Needed parameters:
+ * <ol>
+ * <li>
+ * <ul>
+ * <li>UNORC - complete path to the unorc file</li>
+ * </ul>
+ * </li>
+ * <li>
+ * <ul>
+ * <li>AppExecutionCommand - path to the soffice executable</li>
+ * <li>OS - the operating system in case it's Windows, because the
+ * unorc is called uno.ini</li>
+ * </ul>
+ * </li>
+ * </ol>
+ */
+public class UnoProvider implements AppProvider {
+
+ public UnoProvider(){
+
+ }
+
+ /**
+ * Close existing office: calls disposeManager()
+ * @param param The test parameters.
+ * @param closeIfPossible Not needed, since UNO is bootstrapped by this
+ * class in every case.
+ * @return True, if bootstrapping worked.
+ */
+ public boolean closeExistingOffice(TestParameters param,
+ boolean closeIfPossible) {
+ return disposeManager(param);
+ }
+
+ /**
+ * Dispose the UNO environment: just clears the bootstrapped
+ * MultiServiceFactory
+ * @param param The test parameters.
+ * @return True, if bootstrapping worked.
+ */
+ public boolean disposeManager(TestParameters param) {
+ XMultiServiceFactory xMSF =
+ (XMultiServiceFactory)param.remove("ServiceManager");
+ xMSF = null;
+ System.gc();
+ try {
+ Thread.sleep(1000);
+ }
+ catch(java.lang.InterruptedException e) {}
+ return true;
+ }
+
+ /**
+ * Bootstrap UNO and return the created MultiServiceFactory.
+ * @param param The test parameters.
+ * @return A created MultiServiceFactory.
+ */
+ public Object getManager(TestParameters param) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
+ if (xMSF == null) {
+ // bootstrap UNO.
+ String unorcName = getUnorcName(param);
+ Hashtable env = new Hashtable();
+ env.put("SYSBINDIR", getSysBinDir(param));
+
+ XComponentContext xContext = null;
+ try {
+ xContext = Bootstrap.defaultBootstrap_InitialComponentContext(
+ unorcName, env);
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ System.out.println("Could not get XComponentContext. Maybe you must add program folder to LD_LIBRARY_PATH");
+ return null;
+ }
+ XMultiComponentFactory xMCF = xContext.getServiceManager();
+ xMSF = (XMultiServiceFactory)UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xMCF);
+ }
+ return xMSF;
+ }
+
+ private String getUnorcName(TestParameters param) {
+ String unorcName = (String)param.get("UNORC");
+ if (unorcName == null) {
+ String office = (String)param.get("AppExecutionCommand");
+ // determine unorc name: unorc or uno.ini on windows
+ String opSystem = (String)param.get(PropertyName.OPERATING_SYSTEM);
+ if ( opSystem != null && opSystem.equalsIgnoreCase(PropertyName.WNTMSCI)) {
+ unorcName = "uno.ini";
+ }
+ else {
+ unorcName = "unorc";
+ }
+ if (office == null)
+ return null;
+ // use '/', because this will be a URL in any case.
+ unorcName = office.substring(0, office.indexOf("program")+7) +
+ "/" + unorcName;
+ }
+ unorcName = utils.getFullURL(unorcName);
+ if (param.DebugIsActive) {
+ System.out.println("UnoUcr: " + unorcName);
+ }
+ return unorcName;
+ }
+
+ private String getSysBinDir(TestParameters param) {
+ String base = (String)param.get("AppExecutionCommand");
+ if (base == null)
+ base = (String)param.get("UNORC");
+
+ if (base == null)
+ return null;
+
+ String sysbindir = base.substring(0,
+ base.indexOf("program")+7);
+
+ sysbindir = utils.getFullURL(sysbindir);
+ if (param.DebugIsActive) {
+ System.out.println("SysBinDir: " + sysbindir);
+ }
+ return sysbindir;
+ }
+}
diff --git a/qadevOOo/runner/helper/WindowListener.java b/qadevOOo/runner/helper/WindowListener.java
new file mode 100644
index 000000000000..a19ae27c62c0
--- /dev/null
+++ b/qadevOOo/runner/helper/WindowListener.java
@@ -0,0 +1,78 @@
+/*
+ * WindowListener.java
+ *
+ * Created on 30. Juli 2002, 12:36
+ */
+
+package helper;
+
+/**
+ * An own implementation of a XWindowListener
+ *
+ */
+public class WindowListener implements com.sun.star.awt.XWindowListener {
+
+ // hidden called
+ public boolean hiddenTrigger;
+ // move called
+ public boolean movedTrigger;
+ // resize called
+ public boolean resizedTrigger;
+ // show called
+ public boolean shownTrigger;
+ // dispose called
+ public boolean disposeTrigger;
+
+ /**
+ * Creates a new WindowListener
+ */
+ public WindowListener() {
+ resetTrigger();
+ }
+
+ /**
+ * The window hidden event
+ */
+ public void windowHidden(com.sun.star.lang.EventObject eventObject) {
+ hiddenTrigger = true;
+ }
+
+ /**
+ * The window move event
+ */
+ public void windowMoved(com.sun.star.awt.WindowEvent windowEvent) {
+ movedTrigger = true;
+ }
+
+ /**
+ * The window resize event
+ */
+ public void windowResized(com.sun.star.awt.WindowEvent windowEvent) {
+ resizedTrigger = true;
+ }
+
+ /**
+ * The window show event
+ */
+ public void windowShown(com.sun.star.lang.EventObject eventObject) {
+ shownTrigger = true;
+ }
+
+ /**
+ * The dispose event
+ */
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ disposeTrigger = true;
+ }
+
+ /**
+ * Reset all triggers to "not fired".
+ */
+ public void resetTrigger() {
+ hiddenTrigger = false;
+ movedTrigger = false;
+ resizedTrigger = false;
+ shownTrigger = false;
+ disposeTrigger = false;
+ }
+}
diff --git a/qadevOOo/runner/helper/makefile.mk b/qadevOOo/runner/helper/makefile.mk
new file mode 100644
index 000000000000..f5ad34c53ad6
--- /dev/null
+++ b/qadevOOo/runner/helper/makefile.mk
@@ -0,0 +1,65 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = helper
+TARGET = runner_helper
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar juh.jar unoil.jar
+
+JAVAFILES = APIDescGetter.java \
+ ConfigurationRead.java \
+ StreamSimulator.java \
+ AppProvider.java \
+ URLHelper.java \
+ CfgParser.java \
+ SimpleMailSender.java \
+ WindowListener.java \
+ ClParser.java \
+ OfficeWatcher.java \
+ OfficeProvider.java \
+ ComplexDescGetter.java \
+ InetTools.java \
+ ProcessHandler.java \
+ ContextMenuInterceptor.java \
+ UnoProvider.java\
+ PropertyHelper.java\
+ FileTools.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/lib/DynamicClassLoader.java b/qadevOOo/runner/lib/DynamicClassLoader.java
new file mode 100644
index 000000000000..2611ad965dfc
--- /dev/null
+++ b/qadevOOo/runner/lib/DynamicClassLoader.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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 lib ;
+
+import java.lang.reflect.Constructor;
+
+/**
+ * @deprecated: moved to util package.
+ */
+public class DynamicClassLoader {
+
+ /**
+ * This method returns a class created by it's name
+ * created by call to <code>Class.forName()</code>.<p>
+ * This method must be overloaded if another loading
+ * policy is required for Component and Interface
+ * testing classes.
+ */
+ public static Class forName(String className)
+ throws ClassNotFoundException {
+
+ return Class.forName(className) ;
+ }
+
+ public Object getInstance(String className)
+ throws IllegalArgumentException {
+ try {
+ Class cls = DynamicClassLoader.forName(className);
+ return cls.newInstance();
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+
+ public Object getInstance(String className, Object[] ctorArgs)
+ throws IllegalArgumentException {
+ try {
+ Class cls = DynamicClassLoader.forName(className);
+ Class[] ctorType = new Class[ctorArgs.length];
+ for(int i=0; i<ctorType.length; i++) {
+ ctorType[i] = ctorArgs[i].getClass();
+ }
+ Constructor ctor = cls.getConstructor(ctorType);
+ return ctor.newInstance(ctorArgs);
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( NoSuchMethodException e ) {
+ throw new IllegalArgumentException("Couldn't find constructor for " + className
+ + " " + e);
+ } catch ( java.lang.reflect.InvocationTargetException e ) {
+ throw new IllegalArgumentException("Couldn't invoke " +
+ className + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+}
diff --git a/qadevOOo/runner/lib/ExceptionStatus.java b/qadevOOo/runner/lib/ExceptionStatus.java
new file mode 100644
index 000000000000..198bded1e895
--- /dev/null
+++ b/qadevOOo/runner/lib/ExceptionStatus.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+/**
+ * The class implements Status behaviour for exception runstate Status objects.
+ */
+class ExceptionStatus extends Status {
+
+ /**
+ * Creates an instance of Status object with EXCEPTION runstate.
+ *
+ * @param t the exception an activity terminated with.
+ */
+ ExceptionStatus( Throwable t ) {
+ super(EXCEPTION, FAILED);
+ String message = t.getMessage();
+ if (message != null)
+ runStateString = message;
+ else
+ runStateString = t.toString();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/lib/MultiMethodTest.java b/qadevOOo/runner/lib/MultiMethodTest.java
new file mode 100644
index 000000000000..884059bcfd88
--- /dev/null
+++ b/qadevOOo/runner/lib/MultiMethodTest.java
@@ -0,0 +1,511 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+import java.io.PrintWriter;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Vector;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import share.DescEntry;
+import lib.TestParameters;
+import stats.Summarizer;
+
+/**
+ * The class supports method based interface tests development.
+ *
+ * <p>There are some points that should be fulfilled in a subclass to work
+ * correctly in the multi-method framework:
+ *
+ * 1. each subclass schould define a public field named oObj of type tested
+ * by the subclass, e.g. 'public XText oObj;'. That field will be initialized
+ * by the MultiMethodTest code with the instance of the interface to test.
+ * In a case of service testing the field type should be XPropertySet.
+ *
+ * 2. for the test of each method of the tested interface(or a property in the
+ * case of service testing) should be method with the following signature
+ * provided: 'public void _<method name>()', e.g. 'public void _getText()'.
+ * The methods will be called by MultiMethodText code using reflection API
+ * for each method in the interface description.
+ *
+ * 3. to set status for a call 'tRes.tested(String method,
+ * boolean result)' should be used. For example 'tRes.tested("getText()",
+ * true)'. Also 'tRes.assert(String assertion, boolean result)' call can
+ * be used. Note, that one can call the methods not neccesarily from the
+ * test for the tested method, but from other method tests too (in the
+ * MultiMethodTest subclass). See also TestResult and MultiMethodTest.tRes
+ * documentation.
+ *
+ * 4. the before() and after() methods can be overriden to perform some
+ * actions, accordingly, before and after calling the test methods.
+ *
+ * 5. besides tRes, there are some fields initialized in the MultiMethodTest,
+ * that can be used for implementing tests:
+ *
+ * - tEnv contains the environment tested
+ * - tParam contains parameters of the test
+ * - log a writer to log information about the test
+ *
+ * @see TestResult
+ */
+public class MultiMethodTest
+{
+
+ /**
+ * Contains the TestEnvironment being tested, to allow for tests to access
+ * it.
+ */
+ protected TestEnvironment tEnv;
+ /**
+ * Contains the TestParameters for the tests, to allow for tests to access
+ * it.
+ */
+ protected TestParameters tParam;
+ /**
+ * Contains the Description for the test
+ * it.
+ */
+ protected DescEntry entry;
+ /**
+ * Contains a writer to log an information about the interface testing, to
+ * allows for tests to access it.
+ */
+ protected PrintWriter log;
+ /**
+ * Contains the TestResult instance for the interface test to collect
+ * information about methods test.
+ */
+ protected TestResult tRes;
+ /**
+ * Contains names of the methods have been alreadycalled
+ */
+ private Vector methCalled = new Vector(10);
+
+ /**
+ * Disposes the test environment, which was corrupted by the test.
+ *
+ * @param tEnv the environment to dispose
+ */
+ public void disposeEnvironment(TestEnvironment tEnv)
+ {
+ disposeEnvironment();
+ }
+
+ /**
+ * Disposes the current test environment, which was corrupted by the test.
+ *
+ * @see #disposeEnvironment(TestEnvironment)
+ */
+ public void disposeEnvironment()
+ {
+ tEnv.dispose();
+ TestCase tCase = tEnv.getTestCase();
+ tCase.disposeTestEnvironment(tEnv, tParam);
+ }
+
+ /**
+ * Runs the interface test: its method tests. First, it initializes some
+ * of MultiMethodTest fields, like tRes, log, tEnv, etc. Then, it queries
+ * the tested interface and initializes 'oObj' field (defined in a
+ * subclass). Before calling method tests, before() method calles to allow
+ * initialization of s stuff before testing. Then, the method tests are
+ * called. After them, after() method is called, to allow cleaning up the
+ * stuff initialized in before() and test methods.
+ *
+ * @param entry the interface test state
+ * @param tEnv the environment to test
+ * @param tParam the parameters of the test
+ *
+ * @see #before
+ * @see #after
+ */
+ public TestResult run(DescEntry entry, TestEnvironment tEnv, TestParameters tParam)
+ {
+
+ log = (PrintWriter) entry.Logger;
+
+ this.tEnv = tEnv;
+ this.tParam = tParam;
+ // this.log = log;
+ this.entry = entry;
+ this.tRes = new TestResult();
+ Class testedClass;
+
+ // Some fake code for a self test.
+ // For normal test we must not be a "ifc.qadevooo._SelfTest"
+ if (! entry.entryName.equals("ifc.qadevooo._SelfTest"))
+ {
+ String ifcName = getInterfaceName();
+ // System.out.println("checking : " + ifcName);
+ System.out.print("checking: [" + entry.longName + "]");
+
+ // defining a name of the class corresponding to the tested interface
+ // or service
+ String testedClassName;
+
+ testedClassName = getTestedClassName();
+
+ if (entry.EntryType.equals("service"))
+ {
+ testedClassName = "com.sun.star.beans.XPropertySet";
+ }
+
+ try
+ {
+ testedClass = Class.forName(testedClassName);
+ }
+ catch (ClassNotFoundException cnfE)
+ {
+ System.out.println();
+ cnfE.printStackTrace(log);
+ log.println("could not find a class : " + getTestedClassName());
+ return null;
+ }
+ System.out.println(" is iface: [" + testedClassName + "] testcode: [" + entry.entryName + "]");
+
+ // quering the tested interface from the tested object
+ XInterface tCase = tEnv.getTestObject();
+ Object oObj = UnoRuntime.queryInterface(testedClass, tEnv.getTestObject());
+
+ if (oObj == null)
+ {
+ if (entry.isOptional)
+ {
+ Summarizer.summarizeDown(entry, "Not supported but optional.OK");
+ }
+ else
+ {
+ Summarizer.summarizeDown(entry, "queryInterface returned null.FAILED");
+ entry.ErrorMsg = "queryInterface returned null";
+ entry.hasErrorMsg = true;
+ }
+
+ return null;
+ }
+
+ //setting the field oObj
+ setField("oObj", oObj);
+ }
+
+ // to perform some stuff before all method tests
+ try
+ {
+ before();
+ }
+ catch (Exception e)
+ {
+ setSubStates(e.toString());
+ return tRes;
+ }
+
+ // executing methods tests
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ DescEntry aSubEntry = entry.SubEntries[i];
+ try
+ {
+ final String sEntryName = aSubEntry.entryName;
+ executeMethod(sEntryName);
+ }
+ catch (Exception e)
+ {
+ log.println("Exception while checking: " + aSubEntry.entryName + " : " + e.getMessage());
+ }
+ }
+
+ // to perform some stuff after all method tests
+ try
+ {
+ after();
+ }
+ catch (Exception e)
+ {
+ }
+
+ return tRes;
+ }
+
+ /**
+ * Is called before calling method tests, but after initialization.
+ * Subclasses may override to perform actions before method tests.
+ */
+ protected void before()
+ {
+ }
+
+ /**
+ * Is called after calling method tests. Subclasses may override
+ * to perform actions after method tests.
+ */
+ protected void after()
+ {
+ }
+
+ /**
+ * @return the name of the interface or the service tested.
+ */
+ protected String getTestedClassName()
+ {
+ String clsName = this.getClass().getName();
+
+ int firstDot = clsName.indexOf(".");
+ int lastDot = clsName.lastIndexOf(".");
+
+ String append = "com.sun.star.";
+
+ if (entry.longName.indexOf("::drafts::com::") > -1)
+ {
+ append = "drafts.com.sun.star.";
+ }
+
+ return append + clsName.substring(firstDot + 1, lastDot + 1) + clsName.substring(lastDot + 2);
+ }
+
+ /**
+ * Sets a method status.
+ *
+ * @param methName the method name to set status
+ * @param methStatus the status to set to the method
+ */
+ protected void setStatus(String methName, Status methStatus)
+ {
+ tRes.tested(methName, methStatus);
+ }
+
+ /**
+ * sets the substates
+ */
+ protected void setSubStates(String msg)
+ {
+ for (int k = 0; k < entry.SubEntryCount; k++)
+ {
+ entry.SubEntries[k].hasErrorMsg = true;
+ entry.SubEntries[k].ErrorMsg = msg;
+ if (entry.SubEntries[k].State.equals("UNKNOWN"))
+ {
+ entry.SubEntries[k].State = msg;
+ }
+ }
+
+ }
+
+ /**
+ * Checks if the <code>method</code> is optional in the service.
+ */
+ protected boolean isOptional(String _method)
+ {
+ for (int k = 0; k < entry.SubEntryCount; k++)
+ {
+ final String sName = entry.SubEntries[k].entryName;
+ if (sName.equals(_method))
+ {
+ final boolean bIsOptional = entry.SubEntries[k].isOptional;
+ return bIsOptional;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Checks if the <code>method</code> test has been already called.
+ */
+ protected boolean isCalled(String method)
+ {
+ return methCalled.contains(method);
+ }
+
+ /**
+ * Calling of the method indicates that the <code>method</code> test should
+ * be called. The method checks this and if it is not called, calls it.
+ * If the method is failed or skipped, it throws StatusException.
+ */
+ protected void requiredMethod(String method)
+ {
+ log.println("starting required method: " + method);
+ executeMethod(method);
+ Status mtStatus = tRes.getStatusFor(method);
+
+ if (mtStatus != null && (!mtStatus.isPassed() || mtStatus.isFailed()))
+ {
+ log.println("! Required method " + method + " failed");
+ throw new StatusException(mtStatus);
+ }
+ }
+
+ /**
+ * Checks if the <code>method</code> was called, and if not, call it.
+ * On contrary to requiredMethod(), he method doesn't check its status.
+ */
+ protected void executeMethod(String method)
+ {
+ if (!isCalled(method))
+ {
+ log.println("Execute: " + method);
+ callMethod(method);
+ log.println(method + ": " + tRes.getStatusFor(method));
+ log.println();
+ }
+ }
+
+ /**
+ * Just calls the <code>method</code> test.
+ */
+ protected void callMethod(String method)
+ {
+ methCalled.add(method);
+ invokeTestMethod(getMethodFor(method), method);
+ }
+
+ /**
+ * Invokes a test method of the subclass using reflection API. Handles
+ * the method results and sets its status.
+ *
+ * @param meth the subclass' method to invoke
+ * @param methName the name of the method
+ */
+ protected void invokeTestMethod(Method meth, String methName)
+ {
+ if (meth == null)
+ {
+ setStatus(methName, Status.skipped(false));
+ }
+ else
+ {
+ Status stat;
+
+ try
+ {
+ meth.invoke(this, new Object[0]);
+ return;
+ }
+ catch (InvocationTargetException itE)
+ {
+ Throwable t = itE.getTargetException();
+
+ if (t instanceof StatusException)
+ {
+ stat = ((StatusException) t).getStatus();
+ }
+ else
+ {
+ t.printStackTrace(log);
+ stat = Status.exception(t);
+ }
+ }
+ catch (IllegalAccessException iaE)
+ {
+ iaE.printStackTrace(log);
+ stat = Status.exception(iaE);
+ }
+ catch (IllegalArgumentException iaE)
+ {
+ iaE.printStackTrace(log);
+ stat = Status.exception(iaE);
+ }
+ catch (ClassCastException ccE)
+ {
+ ccE.printStackTrace(log);
+ stat = Status.exception(ccE);
+ }
+
+ setStatus(methName, stat);
+ }
+ }
+
+ /**
+ * Finds a testing method for the <code>method</code> of the interface.
+ *
+ * @return the testing method, if found, <tt>null</tt> otherwise
+ */
+ protected Method getMethodFor(String method)
+ {
+ String mName = "_" + method;
+
+ if (mName.endsWith("()"))
+ {
+ mName = mName.substring(0, mName.length() - 2);
+ }
+
+ final Class[] paramTypes = new Class[0];
+
+ try
+ {
+ return this.getClass().getDeclaredMethod(mName, paramTypes);
+ }
+ catch (NoSuchMethodException nsmE)
+ {
+ return null;
+ }
+ }
+
+ /**
+ * @return the name of the interface tested
+ */
+ public String getInterfaceName()
+ {
+ String clName = this.getClass().getName();
+ return clName.substring(clName.lastIndexOf('.') + 1);
+ }
+
+ /**
+ * Initializes <code>fieldName</code> of the subclass with
+ * <code>value</code>.
+ *
+ * @return Status describing the result of the operation.
+ */
+ protected Status setField(String fieldName, Object value)
+ {
+ Field objField;
+
+ try
+ {
+ objField = this.getClass().getField(fieldName);
+ }
+ catch (NoSuchFieldException nsfE)
+ {
+ return Status.exception(nsfE);
+ }
+
+ try
+ {
+ objField.set(this, value);
+ return Status.passed(true);
+ }
+ catch (IllegalArgumentException iaE)
+ {
+ return Status.exception(iaE);
+ }
+ catch (IllegalAccessException iaE)
+ {
+ return Status.exception(iaE);
+ }
+ }
+}
diff --git a/qadevOOo/runner/lib/MultiPropertyTest.java b/qadevOOo/runner/lib/MultiPropertyTest.java
new file mode 100644
index 000000000000..a02f93c04347
--- /dev/null
+++ b/qadevOOo/runner/lib/MultiPropertyTest.java
@@ -0,0 +1,608 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.UnoRuntime;
+
+import java.lang.reflect.Method;
+
+import util.ValueChanger;
+import util.ValueComparer;
+import util.utils;
+
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * MultiPropertyTest extends the functionality of MultiMethodTest to support
+ * services testing. Since, in most cases, service tests has one method testing
+ * most of its properties, the MultiPropertyTest provides unified version of
+ * the method: testProperty().
+ *
+ * <p>The testProperty() is called, when the MultiMethodTest's testing method
+ * is not found in the subclass. So, by defining such methods for properties
+ * the standard testing behavioutr can be changed.
+ *
+ * <p>The testing behaviour also can be changed by overriding compare(),
+ * getNewVAlue() or toString(Object) methods, or by extending PropertyTester
+ * class.
+ *
+ * @see MultiMethodTest
+ * @see #testProperty(String)
+ * @see #testProperty(String, Propertytester)
+ * @see #getNewValue
+ * @see #compare
+ * @see #toString(Object)
+ */
+public class MultiPropertyTest extends MultiMethodTest
+{
+
+ /**
+ * Contains a XPropertySet interface of the tested object. Is initialized
+ * in MultiMethodTest code.
+ */
+ public XPropertySet oObj;
+ protected boolean optionalService = false;
+
+ /**
+ * Overrides super.before() to check the service is supported by the object.
+ */
+ protected void before()
+ {
+ XServiceInfo xInfo = (XServiceInfo) UnoRuntime.queryInterface(
+ XServiceInfo.class, oObj);
+
+ optionalService = entry.isOptional;
+
+ String theService = getTestedClassName();
+ if (xInfo != null && !xInfo.supportsService(theService))
+ {
+ log.println("Service " + theService + " not available");
+ if (optionalService)
+ {
+ log.println("This is OK since it is optional");
+ }
+ else
+ {
+ Status.failed(theService + " is not supported");
+ }
+ }
+ }
+
+ /**
+ * Overrides MultiMethodTest.invokeTestMethod(). If the test for the
+ * <code>meth</code> is not available (<code>meth</code> == <tt>null</tt>)
+ * calls testProperty method for the method. Otherwise calls
+ * super.invokeTestMethod().
+ *
+ * @see #MultiMethodTest.invokeTestMethod()
+ */
+ protected void invokeTestMethod(Method meth, String methName)
+ {
+ if (meth != null)
+ {
+ super.invokeTestMethod(meth, methName);
+ }
+ else
+ {
+ testProperty(methName);
+ }
+ }
+
+ /**
+ * PropertyTester class defines how to test a property and defined
+ * to allow subclasses of MultiPropertyTest to change the testing
+ * behaviour more flexible, since the behaviour can be customized for
+ * each property separately, by providing subclass of PropertyTester
+ * and passing it to testProperty(String, PropertyTester method).
+ */
+ public class PropertyTester
+ {
+
+ /**
+ * The method defines the whole process of testing propName
+ * property.
+ *
+ * <p>First, it checks if the property exists(it maybe optional).
+ * Then, a value to set the property with is calculated with
+ * getNewValue method. Normally, the new value is calculated
+ * based on old value, but subclasses can override the behaviour
+ * (for example, if old value is null) and specify their own value.
+ * Then the property is set with that new value and the result(
+ * it maybe an exception too, for example a PropertyVetoException)
+ * is checked with checkResult method.
+ *
+ * @param propName - the property to test.
+ * @result - adds the result of testing propName property to
+ * MultiMethodTest.tRes.
+ */
+ protected void testProperty(String propName)
+ {
+ XPropertySetInfo info = oObj.getPropertySetInfo();
+
+ if (info != null)
+ {
+ final boolean bHasProperty = info.hasPropertyByName(propName);
+ if (!bHasProperty)
+ {
+ if (isOptional(propName) || optionalService)
+ {
+ // skipping optional property test
+ log.println("Property '" + propName + "' is optional and not supported");
+ tRes.tested(propName, true);
+ return;
+ }
+ else
+ {
+ // cannot test the property
+ log.println("Tested XPropertySet does not contain'" + propName + "' property");
+ tRes.tested(propName, false);
+ return;
+ }
+ }
+ }
+
+ try
+ {
+ Object oldValue = oObj.getPropertyValue(propName);
+
+ if( (oldValue==null) || utils.isVoid(oldValue) )
+ {
+ // #i111560# method getNewValue() does not work with an empty oldValue
+ Property prop = info.getPropertyByName(propName);
+ if( (prop.Attributes & PropertyAttribute.MAYBEVOID) != 0 )
+ {
+ // todo: implement a new test independent from method getNewValue()
+ log.println("changing initially empty MAYBEVOID properties is not supported by the test framework so far - skip test of property: " + propName);
+ tRes.tested(propName, true);
+ return;
+ }
+ else
+ {
+ log.println( "property '"+propName+"' is not set but is not MAYBEVOID");
+ tRes.tested(propName, false);
+ return;
+ }
+ }
+
+ Object newValue;
+
+ // trying to create new value
+ try
+ {
+ newValue = getNewValue(propName, oldValue);
+ }
+ catch (java.lang.IllegalArgumentException e)
+ {
+ // skipping test since new value is not available
+ Status.failed("Cannot create new value for '" + propName + " : " + e.getMessage());
+ return;
+ }
+
+ // for an exception thrown during setting new value
+ // to pass it to checkResult method
+ Exception exception = null;
+
+ try
+ {
+ log.println("try to set:");
+ log.println("old = " + toString(oldValue));
+ log.println("new = " + toString(newValue));
+ oObj.setPropertyValue(propName, newValue);
+ }
+ catch (IllegalArgumentException e)
+ {
+ exception = e;
+ }
+ catch (PropertyVetoException e)
+ {
+ exception = e;
+ }
+ catch (WrappedTargetException e)
+ {
+ exception = e;
+ }
+ catch (UnknownPropertyException e)
+ {
+ exception = e;
+ }
+ catch (RuntimeException e)
+ {
+ exception = e;
+ }
+
+ // getting result value
+ Object resValue = oObj.getPropertyValue(propName);
+
+ // checking results
+ checkResult(propName, oldValue, newValue, resValue, exception);
+ }
+ catch (Exception e)
+ {
+ log.println("Exception occured while testing property '" + propName + "'");
+ e.printStackTrace(log);
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * The method checks result of setting a new value to the
+ * property based o the following arguments:
+ * @propName - the property to test
+ * @oldValue - the old value of the property, before changing it.
+ * @newValue - the new value the property has been set with
+ * @resValue - the value of the property after having changed it
+ * @exception - if not null - the exception thrown by
+ * XPropertySet.setPropertyValue, else indicates
+ * normal method completion.
+ *
+ * <p>If the property is READ_ONLY, than either PropertyVetoException
+ * should be thrown or the value of property should not have changed
+ * (resValue is compared with oldValue with compare method).
+ *
+ * <p>If the property is not READ_ONLY, checks that the new value has
+ * been successfully set(resValue is compared with newValue with
+ * compare method).
+ *
+ * <p>If the exception is not null then(except the case of read-only
+ * property and PropertyVetoException above) it is rethrown to allow
+ * further catching it if needed.
+ *
+ * <p>Subclasses can override to change this behaviour.
+ */
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue, Exception exception)
+ throws Exception
+ {
+ XPropertySetInfo info = oObj.getPropertySetInfo();
+ if (info == null)
+ {
+ log.println("Can't get XPropertySetInfo for property " + propName);
+ tRes.tested(propName, false);
+ return;
+ }
+ Property prop = info.getPropertyByName(propName);
+
+ short attr = prop.Attributes;
+ boolean readOnly = (prop.Attributes & PropertyAttribute.READONLY) != 0;
+ boolean maybeVoid = (prop.Attributes & PropertyAttribute.MAYBEVOID) != 0;
+ //check get-set methods
+ if (maybeVoid)
+ {
+ log.println("Property " + propName + " is void");
+ }
+ if (readOnly)
+ {
+ log.println("Property " + propName + " is readOnly");
+ }
+ if (util.utils.isVoid(oldValue) && !maybeVoid)
+ {
+ log.println(propName + " is void, but it's not MAYBEVOID");
+ tRes.tested(propName, false);
+ }
+ else if (oldValue == null)
+ {
+ log.println(propName + " has null value, and therefore can't be changed");
+ tRes.tested(propName, true);
+ }
+ else if (readOnly)
+ {
+ // check if exception was thrown
+ if (exception != null)
+ {
+ if (exception instanceof PropertyVetoException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else if (exception instanceof IllegalArgumentException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else if (exception instanceof UnknownPropertyException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else if (exception instanceof RuntimeException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else
+ {
+ throw exception;
+ }
+ }
+ else
+ {
+ // if no exception - check that value
+ // has not changed
+ if (!compare(resValue, oldValue))
+ {
+ log.println("Read only property '" + propName + "' has changed");
+ try
+ {
+ if (!util.utils.isVoid(oldValue) && oldValue instanceof Any)
+ {
+ oldValue = AnyConverter.toObject(new Type(((Any) oldValue).getClass()), oldValue);
+ }
+// log.println("old = " + toString(oldValue));
+// log.println("new = " + toString(newValue));
+ log.println("result = " + toString(resValue));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException iae)
+ {
+ log.println("NOTIFY: this property needs further investigations.");
+ log.println("\t The type seems to be an Any with value of NULL.");
+ log.println("\t Maybe the property should get it's own test method.");
+ }
+
+ tRes.tested(propName, false);
+ }
+ else
+ {
+ log.println("Read only property '" + propName + "' hasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ }
+ }
+ else
+ {
+ if (exception == null)
+ {
+ // if no exception thrown
+ // check that the new value is set
+ if ((!compare(resValue, newValue)) || (compare(resValue, oldValue)))
+ {
+ log.println("Value for '" + propName + "' hasn't changed as expected");
+ try
+ {
+ if (!util.utils.isVoid(oldValue) && oldValue instanceof Any)
+ {
+ oldValue = AnyConverter.toObject(new Type(((Any) oldValue).getClass()), oldValue);
+ }
+// log.println("old = " + toString(oldValue));
+// log.println("new = " + toString(newValue));
+ log.println("result = " + toString(resValue));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException iae)
+ {
+ log.println("NOTIFY: this property needs further investigations.");
+ log.println("\t The type seems to be an Any with value of NULL.");
+ log.println("\t Maybe the property should get it's own test method.");
+ }
+ if (resValue != null)
+ {
+ if ((!compare(resValue, oldValue)) || (!resValue.equals(oldValue)))
+ {
+ log.println("But it has changed.");
+ tRes.tested(propName, true);
+ }
+ else
+ {
+ tRes.tested(propName, false);
+ }
+ }
+ else
+ {
+ tRes.tested(propName, false);
+ }
+ //tRes.tested(propName, false);
+ }
+ else
+ {
+ log.println("Property '" + propName + "' OK");
+ try
+ {
+ if (!util.utils.isVoid(oldValue) && oldValue instanceof Any)
+ {
+ oldValue = AnyConverter.toObject(new Type(((Any) oldValue).getClass()), oldValue);
+ }
+// log.println("old = " + toString(oldValue));
+// log.println("new = " + toString(newValue));
+ log.println("result = " + toString(resValue));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException iae)
+ {
+ }
+ tRes.tested(propName, true);
+ }
+ }
+ else
+ {
+ throw exception;
+ }
+ }
+ }
+
+ /**
+ * The method produces new value of the property from the oldValue.
+ * It returns the result of ValueChanger.changePValue method.
+ * Subclasses can override the method to return their own value,
+ * when the changePValue beahviour is not enough, for example,
+ * when oldValue is null.
+ */
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException
+ {
+ return ValueChanger.changePValue(oldValue);
+ }
+
+ /**
+ * The method compares obj1 and obj2. It calls
+ * MultiPropertyTest.compare, but subclasses can override to change
+ * the behaviour, since normally compare calls Object.equals method
+ * which is not apropriate in some cases(e.g., structs with equals
+ * not overridden).
+ */
+ protected boolean compare(Object obj1, Object obj2)
+ {
+ return callCompare(obj1, obj2);
+ }
+
+ /**
+ * The method returns a String representation of the obj. It calls
+ * MultipropertyTest.toString(Object), but subclasses can override
+ * to change the behaviour.
+ */
+ protected String toString(Object obj)
+ {
+ return callToString(obj);
+ }
+ }
+
+ /**
+ * Extension for <code>PropertyTester</code> which switches two
+ * different values. <code>getNewValue()</code> method of this
+ * class returns one of these two values depending on the
+ * old value, so new value is not equal to old value.
+ */
+ public class PropertyValueSwitcher extends PropertyTester
+ {
+
+ Object val1 = null;
+ Object val2 = null;
+
+ /**
+ * Constructs a property tester with two different values
+ * specified as parameters.
+ *
+ * @param val1 Not <code>null</code> value for the property
+ * tested.
+ * @param val1 Not <code>null</code> value for the property
+ * tested which differs from the first value.
+ */
+ public PropertyValueSwitcher(Object val1, Object val2)
+ {
+ this.val1 = val1;
+ this.val2 = val2;
+ }
+
+ /**
+ * Overriden method of <code>PropertyTester</code> which
+ * retruns new value from two values specified.
+ *
+ * @return The second value if old value is equal to the first
+ * one, the first value otherwise.
+ */
+ protected Object getNewValue(String propName, Object old)
+ {
+ if (ValueComparer.equalValue(val1, old))
+ {
+ return val2;
+ }
+ else
+ {
+ return val1;
+ }
+ }
+ }
+
+ /**
+ * The method performs testing of propName property using propTester.
+ */
+ protected void testProperty(String propName, PropertyTester propTester)
+ {
+ propTester.testProperty(propName);
+ }
+
+ /**
+ * The method performs testing of propName property. It uses PropertyTester
+ * instance for testing.
+ */
+ protected void testProperty(String propName)
+ {
+ testProperty(propName, new PropertyTester());
+ }
+
+ /**
+ * Tests the property using <code>PropertyValueSwitcher</code>
+ * tester and two values for this property.
+ *
+ * @see #PropertyValueSwitcher
+ */
+ protected void testProperty(String propName, Object val1, Object val2)
+ {
+ testProperty(propName, new PropertyValueSwitcher(val1, val2));
+ }
+
+ /**
+ * The method just calls compare. This is a workaround to CodeWarrior's
+ * compiler bug.
+ */
+ private boolean callCompare(Object obj1, Object obj2)
+ {
+ return compare(obj1, obj2);
+ }
+
+ /**
+ * Compares two object. In the implementation calls obj1.equals(obj2).
+ */
+ protected boolean compare(Object obj1, Object obj2)
+ {
+ return ValueComparer.equalValue(obj1, obj2);
+ }
+
+ /**
+ * The method just calls toString. This is a workaround to
+ * CodeWarrior's compiler bug.
+ */
+ private String callToString(Object obj)
+ {
+ return toString(obj);
+ }
+
+ /**
+ * Gets string representation of the obj. In the implementation
+ * returns obj.toString().
+ */
+ protected String toString(Object obj)
+ {
+ return obj == null ? "null" : obj.toString();
+ }
+}
diff --git a/qadevOOo/runner/lib/Parameters.java b/qadevOOo/runner/lib/Parameters.java
new file mode 100644
index 000000000000..1c4a43c4fd3a
--- /dev/null
+++ b/qadevOOo/runner/lib/Parameters.java
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+import java.util.Iterator;
+import java.util.Hashtable;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.Type;
+
+/**
+ * Parameters is a container of String parameters.
+ * @deprecated
+ */
+
+public class Parameters implements XPropertySet {
+/* final protected Map parameters;
+ final Parameters defaults; */
+ final protected Map parameters;
+ final Parameters defaults;
+ Property[] props;
+
+ public Parameters(Map params) {
+ this (params, null);
+ }
+
+ public Parameters(Map params, Parameters defaultParams) {
+ parameters = params;
+ defaults = defaultParams;
+ checkParameters(parameters);
+
+ Set paramSet = new HashSet(parameters.keySet());
+
+ if (defaults != null) {
+ Set defSet = defaults.toMap().keySet();
+ paramSet.addAll(defSet);
+ }
+
+ props = new Property[paramSet.size()];
+
+ int num = 0;
+
+ for (Iterator i = paramSet.iterator(); i.hasNext(); num++) {
+ String name = (String)i.next();
+
+ props[num] = new Property(name, num, new Type(String.class), (short)0);
+ }
+ }
+
+
+ public String get(String paramName) {
+ Object res = parameters.get(paramName);
+
+ if (res != null && res instanceof String)
+ return (String)res;
+
+ if (defaults != null)
+ return defaults.get(paramName);
+
+ return null;
+ }
+
+ public Object getPropertyValue(String name) {
+ Object erg = parameters.get(name);
+ if (erg == null && defaults != null)
+ return defaults.getPropertyValue(name);
+ return erg;
+ }
+
+ public void setPropertyValue(String name, Object value) {
+ parameters.put(name, value);
+ int size = props.length;
+ Property[] addProps = new Property[size+1];
+ for (int i=0; i<size; i++)
+ {
+ addProps[i] = props[i];
+ }
+ addProps[size] = new Property(name, size, new Type(value.getClass()), (short)0);
+ props = addProps;
+ }
+
+ public void addVetoableChangeListener(String name, XVetoableChangeListener l) {
+ }
+
+ public void removeVetoableChangeListener(String name, XVetoableChangeListener l) {
+ }
+
+ public void addPropertyChangeListener(String name, XPropertyChangeListener l) {
+ }
+
+ public void removePropertyChangeListener(String name, XPropertyChangeListener l) {
+ }
+
+ public XPropertySetInfo getPropertySetInfo() {
+ return new XPropertySetInfo() {
+ public Property[] getProperties() {
+ return props;
+ }
+
+ public boolean hasPropertyByName(String name) {
+ for (int i = 0; i < props.length; i++) {
+ Property prop = props[i];
+
+ if (prop.Name.equals(name)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public Property getPropertyByName(String name) throws UnknownPropertyException {
+ for (int i = 0; i < props.length; i++) {
+ Property prop = props[i];
+
+ if (prop.Name.equals(name)) {
+ return prop;
+ }
+ }
+
+ throw new UnknownPropertyException(name);
+ }
+ };
+ }
+
+ public Map toMap() {
+ return new Hashtable(parameters) {
+ public Object get(Object obj) {
+ if (obj instanceof String) {
+ return Parameters.this.get((String) obj);
+ } else {
+ return null;
+ }
+ }
+ };
+ }
+
+ private static void checkParameters(Map params) {
+ for (Iterator i = params.keySet().iterator(); i.hasNext();) {
+ Object key = i.next();
+
+ if (!(key instanceof String)) {
+ throw new IllegalArgumentException(
+ "Wrong key " + key + ", it should be of String type");
+ }
+
+/* Object value = params.get(key);
+
+ if (!(value instanceof String)) {
+ throw new IllegalArgumentException(
+ "Wrong value " + value + ", it should be of String type");
+ } */
+ }
+ }
+
+ public static String getString(XPropertySet props, String name) {
+ try {
+ return (String)props.getPropertyValue(name);
+ } catch (UnknownPropertyException e) {
+ return null;
+ } catch (WrappedTargetException e) {
+ return null;
+ }
+ }
+
+ public static Object get(XPropertySet props, String name) {
+ try {
+ return props.getPropertyValue(name);
+ } catch (UnknownPropertyException e) {
+ return null;
+ } catch (WrappedTargetException e) {
+ return null;
+ }
+ }
+
+ public static Map toMap(XPropertySet props) {
+ Hashtable result = new Hashtable(10);
+
+ XPropertySetInfo setInfo = props.getPropertySetInfo();
+ Property[] properties = setInfo.getProperties();
+
+ for (int i = 0; i < properties.length; i++) {
+ String name = properties[i].Name;
+ Object value;
+
+ try {
+ value = props.getPropertyValue(name);
+ } catch (WrappedTargetException e) {
+ continue;
+ } catch (UnknownPropertyException e) {
+ continue;
+ }
+
+ result.put(name, value);
+ }
+
+ return result;
+ }
+}
diff --git a/qadevOOo/runner/lib/SimpleStatus.java b/qadevOOo/runner/lib/SimpleStatus.java
new file mode 100644
index 000000000000..2c2304b5088e
--- /dev/null
+++ b/qadevOOo/runner/lib/SimpleStatus.java
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+/**
+ * The class is a simple implementation of Status class. It implements simple
+ * Status behaviour: its state, reason and log are defined when creating
+ * the SimpleSTatus instance.
+ */
+class SimpleStatus {
+ /* Run states. */
+
+ /**
+ * The constatnt represents PASSED runtime state.
+ */
+ public final static int PASSED = 0;
+
+ /**
+ * The constant represents EXCEPTION runtime state.
+ */
+ public final static int EXCEPTION = 3;
+
+ /**
+ * The constant represents EXCLUDED runtime state.
+ */
+ public final static int EXCLUDED = 2;
+
+ /**
+ * The constant represents SKIPPED runtime state.
+ */
+ public final static int SKIPPED = 1;
+
+ /**
+ * This is a private indicator for a user defined runtime state
+ */
+ private final static int USER_DEFINED = 4;
+
+ /* Test states */
+
+ /**
+ * The constant represents FAILED state.
+ */
+ public final static boolean FAILED = false;
+
+ /**
+ * The constant represents OK state.
+ */
+ public final static boolean OK = true;
+
+ /**
+ * The field is holding state of the status.
+ */
+ protected final boolean state;
+
+ /**
+ * The field is holding reason of the status.
+ */
+ protected final int runState;
+
+ /**
+ * This is the run state: either SKIPPED, PASSED, etc.
+ * or user defined. Deriving classes can overwrite it for own run states.
+ */
+ protected String runStateString;
+
+ /**
+ * The constructor initialize state and reason field.
+ */
+ protected SimpleStatus( int runState, boolean state ) {
+ this.state = state;
+ this.runState = runState;
+ if ( runState == PASSED ) {
+ runStateString = "PASSED";
+ } else if ( runState == EXCLUDED ) {
+ runStateString = "EXCLUDED";
+ } else if ( runState == SKIPPED ) {
+ runStateString = "SKIPPED";
+ } else if ( runState == EXCEPTION ) {
+ runStateString = "EXCEPTION";
+ } else {
+ runStateString = "UNKNOWN";
+ }
+ }
+
+ /**
+ * The constructor initialize state and reson field.
+ */
+ protected SimpleStatus(String runStateString, boolean state) {
+ this.state = state;
+ this.runState = USER_DEFINED;
+ this.runStateString = runStateString;
+ }
+
+ /**
+ * getState implementation. Just returns the state field value.
+ */
+ public boolean getState() {
+ return state;
+ }
+
+ /**
+ * getRunState() implementation. Just returns th runState field value.
+ */
+ public int getRunState() {
+ return runState;
+ }
+
+ /**
+ * getReason implementation. Just returns the reason field value.
+ */
+ public String getRunStateString() {
+ return runStateString;
+ }
+
+ /**
+ * Get the ressult: passed or failed.
+ */
+ public String getStateString() {
+ if (state)
+ return "OK";
+ return "FAILED";
+
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/lib/Status.java b/qadevOOo/runner/lib/Status.java
new file mode 100644
index 000000000000..7cd65c380425
--- /dev/null
+++ b/qadevOOo/runner/lib/Status.java
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+/**
+ * Status represents a result of a testing activity performed. The result is
+ * described in two ways: state and runtime state. The state describes if the
+ * activity was successful (OK state) or not (FAILED state). The runtime state
+ * describes what happend during the activity: the test can be:
+ * - PASSED - the activity completed normally (although it can complete with
+ * FAILED state)
+ * - SKIPPED - the activity was not performed because of a reason (it also can
+ * has OK or FAILED state)
+ * - EXCEPTION - the activity was abnormally terminated because of an
+ * unexpected exception. It always has a FAILED state.
+ * - EXCLUDED - the activity is expected to fail. The state represents how
+ * the state really completed: OK or FAILED.
+ * - other variants are not formalized now and can be represented by
+ * Status.failed() method. They always have a FAILED state.
+ */
+public class Status extends SimpleStatus {
+
+ /**
+ * Construct a status: use runState and state
+ * @param runState: either PASSED, SKIPPED, etc.
+ * @param state: OK or FAILED.
+ */
+ public Status(int runState, boolean state ) {
+ super(runState, state);
+ }
+
+ /**
+ * Construct a status: use own message and state.
+ * @parame messaeg An own message for the status.
+ * @param state: OK or FAILED.
+ */
+ public Status(String message, boolean state) {
+ super( message, state );
+ }
+
+ /**
+ * This is a factory method for creating a Status representing normal
+ * actibity termination.
+ *
+ * @param state describes a test state (OK if state == true, FAILED
+ * otherwise).
+ */
+ public static Status passed( boolean state ) {
+ return new Status(PASSED, state );
+ }
+
+ /**
+ * This is a factory method for creating a Status representing an exception
+ * activity termination. The Status alway has FAILED state.
+ *
+ * @param t the exception with that the activity completed.
+ */
+ public static Status exception( Throwable t ) {
+ return new ExceptionStatus( t );
+ }
+
+ /**
+ * This is a factory method for creating a Status representing a skipped
+ * activity.
+ *
+ * @param state describes a test state (OK if state == true, FAILED
+ * otherwise).
+ */
+ public static Status skipped( boolean state ) {
+ return new Status( SKIPPED, state );
+ }
+
+ /**
+ * This is a factory method for creating a Status representing that the
+ * result of the activity was excluded. It alwas has FAILED state.
+ */
+ public static Status excluded() {
+ return new Status( EXCLUDED, false );
+ }
+
+ /**
+ * Creates a Status representing an activity failed for an arbitrary reason.
+ * It always has FAILED state.
+ *
+ * @param reason describes why the activity failed
+ */
+ public static Status failed(final String reason) {
+ return new Status(reason, FAILED);
+ }
+
+ /**
+ * The method returns a human-readable description of the status.
+ * The Status implementation of the method returns the status state
+ * description and appends to it it the reason, for example:
+ * "FAILED.The getLabel works wrong", "PASSED.OK".
+ */
+ public String toString() {
+ String str = getRunStateString() + "." + getStateString();;
+
+ return str;
+ }
+
+ /**
+ * Checks whether the status runstate is passed.
+ */
+ public boolean isPassed() {
+ return getRunState() == PASSED;
+ }
+
+ /**
+ * Checks whether the status runstate is skipped.
+ */
+ public boolean isSkipped() {
+ return getRunState() == SKIPPED;
+ }
+
+ /**
+ * Checks whether the status runstate is excluded.
+ */
+ public boolean isExcluded() {
+ return getRunState() == EXCLUDED;
+ }
+
+ /**
+ * Checks whether the status runstate is exception.
+ */
+ public boolean isException() {
+ return getRunState() == EXCEPTION;
+ }
+
+ /**
+ * Checks whether the status state is failed.
+ */
+ public boolean isFailed() {
+ return !getState();
+ }
+
+ /**
+ * Checks whether the status state is ok.
+ */
+ public boolean isOK() {
+ return getState();
+ }
+
+ public String getDescription () {
+ return getRunStateString();
+ }
+}
diff --git a/qadevOOo/runner/lib/StatusException.java b/qadevOOo/runner/lib/StatusException.java
new file mode 100644
index 000000000000..4768a9229c8f
--- /dev/null
+++ b/qadevOOo/runner/lib/StatusException.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+/**
+ * StatusException is used to pass a Status object from a test code which is
+ * terminated abnormaly. In many cases this is because of an exception thrown,
+ * but that can also be any other event that hinders the test execution.
+ */
+public class StatusException extends RuntimeException {
+ /**
+ * Contains an exception if the StatusException was created with
+ * StatusException(String, Throwable) constructor.
+ */
+ protected Throwable exceptionThrown;
+
+ /**
+ * The Status contained in the StatusException.
+ */
+ protected Status status;
+
+ /**
+ * Constructs a StatusException containing an exception Status.
+ *
+ * @param message the message of the StatusException
+ * @param t the exception of the exception Status
+ */
+ public StatusException( String message, Throwable t ) {
+ super( message );
+ exceptionThrown = t;
+ status = Status.exception( t );
+ }
+
+ /**
+ * Creates a StatusException containing a Status.
+ */
+ public StatusException( Status st ) {
+ super( st.getRunStateString() );
+ status = st;
+ }
+
+ /**
+ * @return an exception, if this represents an exception Status,
+ * <tt>false</tt> otherwise.
+ */
+ public Throwable getThrownException() {
+ return exceptionThrown;
+ }
+
+ /**
+ * @return a status contained in the StatusException.
+ */
+ public Status getStatus() {
+ return status;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/lib/TestCase.java b/qadevOOo/runner/lib/TestCase.java
new file mode 100644
index 000000000000..6b8b960c3014
--- /dev/null
+++ b/qadevOOo/runner/lib/TestCase.java
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+/**
+ * <code>TestCase</code> represent a factory for <code>TestEnvironment</code>s
+ * creation and disposing for a given implementation object. The
+ * <code>TestEnvironment</code> contains an instance of the implementation
+ * object and all additional objects needed to perform tests on the object.
+ *
+ * <p>The <code>TestCase</code> provides four methods for its subclasses to
+ * define its functionality: <code>initialize()</code>, <code>cleanup()</code>,
+ * <code>createTestEnvironment()</code> and <code>disposeTestEnvironment()</code>.
+ * The first two are intended to initialize and cleanup common objects shared
+ * among all instances of <code>TestEnvironment</code> produced by the
+ * <code>TestCase</code>, and they are called at the beginning and at the end of
+ * the <code>TestCase</code> lifecycle accordingly.
+ *
+ * <p>The other two are intended to produce and dispose
+ * <code>TestEnvironment</code> instances. The
+ * <code>createTestEnvironment()</code> is called to create a
+ * <code>TestEnvironment</code> instance and the
+ * <code>disposeTestEnvironment()</code> is called when the instane is not used
+ * anymore.
+ *
+ * @see lib.TestEnvironment
+ */
+public abstract class TestCase {
+
+ /**
+ * Specifies the PrintWriter to log information.
+ */
+ public PrintWriter log;
+
+ //public static TestCase tCase;
+
+ /**
+ * Sets the log to write information during testing.
+ */
+ public void setLogWriter( PrintWriter log ) {
+ this.log = log;
+ }
+
+ /**
+ * Initializes the <code>TestCase</code>. Calls <code>initialize()</code>
+ * method.
+ *
+ * @param tParam test parameters.
+ */
+ public void initializeTestCase( TestParameters tParam ) {
+ initialize( tParam, log );
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ }
+
+
+ /**
+ * Cleans up the <code>TestCase</code>. Calls <code>cleanup()</code>.
+ *
+ * @param tParam test parameters
+ */
+ public void cleanupTestCase( TestParameters tParam ) {
+ cleanup( tParam, log );
+ }
+
+ /**
+ * Called while the <code>TestCase</code> cleanup. In the implementation
+ * does nothing. Subclasses can override to cleanup objects shared among
+ * all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #cleanupTestCase
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ }
+
+ /**
+ * Creates a <code>TestEnvironment</code> containing an instance of the
+ * implementation object and related objects needed to perform test.
+ *
+ * @param tParam test parameters
+ *
+ * @return the created <code>TestEnvironment</code>
+ *
+ * @see #createTestEnvironment()
+ * @see lib.TestEnvironment
+ */
+ public synchronized TestEnvironment getTestEnvironment( TestParameters tParam ) {
+ TestEnvironment tEnv = null;
+ try {
+ tEnv = createTestEnvironment( tParam, log );
+ System.out.println("Environment created");
+ if (tEnv != null) {
+ tEnv.setTestCase(this);
+ }
+ } catch (Exception e) {
+ String message = e.getMessage();
+ if (message == null)
+ message = e.toString();
+ System.out.println("Exception while getting Environment "+message);
+ e.printStackTrace();
+ cleanup(tParam, log);
+ }
+ return tEnv;
+ }
+
+ /**
+ * Disposes the <code>TestEnvironment</code> when it is not needed anymore.
+ *
+ * @param tEnv the environment to dispose
+ * @param tParam test parameters
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam ) {
+ cleanup( tParam, log );
+ }
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected abstract TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log );
+
+ /**
+ * @return the name of the object
+ */
+ public String getObjectName() {
+ String clName = this.getClass().getName();
+ return clName.substring( clName.lastIndexOf('.') + 1 );
+ }
+
+}
diff --git a/qadevOOo/runner/lib/TestEnvironment.java b/qadevOOo/runner/lib/TestEnvironment.java
new file mode 100644
index 000000000000..9848a5b2b633
--- /dev/null
+++ b/qadevOOo/runner/lib/TestEnvironment.java
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * 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 lib;
+import com.sun.star.uno.XInterface;
+
+import java.util.Hashtable;
+
+
+/**
+ * The class contains an instance of a given implementation object and
+ * auxiliary objects associated with it and required for the object testing.
+ *
+ * @see TestCase
+ */
+
+public final class TestEnvironment {
+ /**
+ * Contains object relations - auxiliary objects associated with the
+ * tested object and required for testing.
+ */
+ private final Hashtable relations = new Hashtable(10);
+
+ /**
+ * An instance of the tested implementation object.
+ */
+ private final XInterface testObject;
+
+ /**
+ * Indicates that the testObject is in invalid state and should notbe
+ * used for testing anymore.
+ */
+ private boolean disposed = false;
+
+ /**
+ * A reference to TestCase which has created the test environment.
+ */
+ private TestCase tCase;
+
+ /**
+ * Creates an instance of test environment with testObject.
+ *
+ * @param testObject object to test
+ *
+ * @throws java.lang.IllegalArgumentException if the testObject is
+ * <tt>null</tt>.
+ */
+ public TestEnvironment( XInterface testObject ) {
+ if (testObject == null) {
+ throw new IllegalArgumentException(
+ "Couldn't create a test object");
+ }
+ this.testObject = testObject;
+ }
+
+ /**
+ * @return the object to test.
+ */
+ public XInterface getTestObject() {
+ return testObject;
+ }
+
+ /**
+ * Adds to the environment an auxiliary object required for testing.
+ *
+ * @param name a name to reference the auxiliary object
+ *
+ * @param relation the auxiliary object related to the tested one
+ */
+ public void addObjRelation( String name, Object relation) {
+ relations.put( name, relation );
+ }
+
+ /**
+ * Returns an auxiliary object referenced by tname.
+ *
+ * @param name a name of the object relation
+ *
+ * @return the auxiliary object(object relation)
+ */
+ public Object getObjRelation( String name ) {
+ return relations.get( name );
+ }
+
+ /**
+ * Checks if an auxiliary object has been registered with name
+ *
+ * @param name a name referencing an auxiliarx object
+ *
+ * @return <tt>true</tt> if the object has been associated, <tt>false</tt>
+ * otherwise.
+ */
+ public boolean hasObjRelation(String name) {
+ return (relations.get(name) != null) ;
+ }
+
+ /**
+ * Sets the <code>TestCase</code> that created the environment.
+ */
+ public void setTestCase( TestCase tCase) {
+ this.tCase = tCase;
+ }
+
+ /**
+ * @return the <code>TestCase</code> created the environment.
+ */
+ public TestCase getTestCase() {
+ return tCase;
+ }
+
+ /**
+ * Makes the environment invalid, i.e. it should not be used for
+ * testing anymore.
+ */
+ public void dispose() {
+ disposed = true;
+ }
+
+ /**
+ * Checks if the environment has been disposed.
+ *
+ * @return <tt>true</tt< if it has been disposed, <tt>false</tt> otherwise.
+ *
+ * @see #dispose()
+ */
+ public boolean isDisposed() {
+ return disposed;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/lib/TestParameters.java b/qadevOOo/runner/lib/TestParameters.java
new file mode 100644
index 000000000000..9d1e171b95d9
--- /dev/null
+++ b/qadevOOo/runner/lib/TestParameters.java
@@ -0,0 +1,343 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+import java.util.Hashtable;
+import util.PropertyName;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.uno.XComponentContext;
+
+//import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+ * TestParameters describes a parameters (in a form of pairs: name, value) to
+ * be passed to tests and which may affect the test behaviour. That can be,
+ * for example, standard paths, connection strings, etc. The TestParameters
+ * also provides XMultiServiceFactory for the test (tests).
+ */
+public class TestParameters extends Hashtable {
+
+ /**
+ * The ConnectionString for Office Connection<br>
+ * default is 'socket,host=localhost,port=8100'
+ */
+
+ public String ConnectionString="socket,host=localhost,port=8100";
+
+ /**
+ * The AppProvider contains the Application Provider<br>
+ * to control the ServiceFactory.
+ */
+
+ public Object AppProvider=null;
+
+ /**
+ * The Process contains the Process handler<br>
+ * to control the Application.
+ */
+
+ public Object ProcessHandler=null;
+
+ /**
+ * The AppExecutionCmd contains the full qualified<br>
+ * command to an Application to be started.
+ */
+
+ public String AppExecutionCommand="";
+
+ /**
+ * If this parameter is <CODE>true</CODE> the <CODE>OfficeProvider</CODE> tries
+ * to get the URL to the binary of the office and to fill the
+ * <CODE>AppExecutionCommand</CODE> with usefull content if needet
+ */
+ public boolean AutoRestart = false;
+
+ /**
+ * Shoert wait time for the Office: default is 500 milliseconds
+ */
+ public int ShortWait = 500;
+
+
+ /**
+ * The OfficeProvider contains the full qualified
+ * class that provides a connection to StarOffice<br>
+ * default is helper.OfficeProvider
+ */
+
+ public String OfficeProvider = "helper.OfficeProvider";
+
+ /**
+ * The Testbase to be executed by the runner<br>
+ * default is 'java_fat'
+ */
+
+ public String TestBase="java_fat";
+
+ /**
+ * The ServiceFactory to create instances
+ */
+
+ public Object ServiceFactory;
+
+ /**
+ * The Path to the component description
+ */
+
+ public String DescriptionPath;
+
+ /**
+ * The Path to the test documents that are loaded during the test <br>
+ */
+
+ public String TestDocumentPath="unknown";
+
+ /**
+ * 'true' is a log should be written, 'false' elsewhere <br>
+ * these will be provided by the testcases<br>
+ * default is true
+ */
+
+ public boolean LoggingIsActive=true;
+
+ /**
+ * 'true' is a debug information should be written, 'false' elsewhere
+ * these will be provided by the framework.<br>
+ * Debug information will always be written on standard out.<br>
+ * default is true
+ */
+
+ public boolean DebugIsActive=false;
+
+ /*
+ * This parameter contains the testjob to be executed<br>
+ * by the framework
+ */
+
+ public Object TestJob;
+
+ /*
+ * This parameter contains the class used<br>
+ * for Logging
+ */
+
+ public String LogWriter="stats.SimpleLogWriter";
+
+ /*
+ * This parameter contains the class used<br>
+ * for Logging
+ */
+
+ public String OutProducer="stats.SimpleOutProducer";
+
+ /*
+ * This parameter contains the timeout used<br>
+ * by the watcher
+ */
+ public Integer TimeOut = new Integer(3000000);
+
+ /*
+ * This parameter contains the timeout used<br>
+ * by the complex tests
+ */
+ public Integer ThreadTimeOut = new Integer(3000000);
+
+ /*
+ * This parameter contains the time which the office could use to close for
+ * itself before its destroyed. Default is 15000 ms
+ */
+ public Integer OfficeCloseTimeOut = new Integer(15000);
+
+ /**
+ * Wraper around "get()" with some debug output
+ * @param key A key of this table.
+ * @return The value of this key.
+ * @see java.util.Hashtable
+ */
+ public Object get(Object key) {
+ Object val = super.get(key);
+ if (val == null && DebugIsActive) {
+ System.out.print("Have been asked for key \""+key.toString());
+ System.out.println("\" which is not part of params.");
+ }
+ return val;
+ }
+
+ /**
+ * Special get method for boolean values: for convenience.
+ * Will return 'false' if the value is not of "Boolean" type.
+ * @param key A key of this table.
+ * @return The value of this key, castet to a boolean type.
+ */
+ public boolean getBool(Object key) {
+ Object val = super.get(key);
+ if (val != null) {
+ if (val instanceof String) {
+ String sVal = (String)val;
+ if (sVal.equalsIgnoreCase("true") ||
+ sVal.equalsIgnoreCase("yes")) {
+ return true;
+ }
+ else if (sVal.equalsIgnoreCase("false") ||
+ sVal.equalsIgnoreCase("no")) {
+ return false;
+ }
+ }
+ if (val instanceof Boolean)
+ return ((Boolean)val).booleanValue();
+ }
+ return false;
+ }
+
+ /**
+ * Special get method for integer values: for convenience.
+ * Will return 0 if the value cannot be interpreted as Integer.
+ * @param key A key of this table.
+ * @return The value of this key, castet to an int type.
+ */
+ public int getInt(Object key) {
+ Object val = super.get(key);
+ if ( val != null ) {
+ if (val instanceof Integer) {
+ return ((Integer)val).intValue();
+ }
+ else {
+ try {
+ if ( val instanceof String ) {
+ Integer nr = new Integer((String)val);
+ if (nr.intValue() > 0) return nr.intValue();
+ }
+ } catch ( java.lang.NumberFormatException nfe) {}
+ }
+ }
+ return 0;
+ }
+
+
+ /**
+ * Wraper around "put()"
+ * @param key A key of this table.
+ * @param val The value of the key.
+ * @return The value of this key.
+ * @see java.util.Hashtable
+ */
+ public Object put(Object key, Object val) {
+ return super.put(key,val);
+ }
+
+ /**
+ * Constructor, defaults for Parameters are set.
+ */
+ public TestParameters() {
+ //fill the propertyset
+ String user = System.getProperty("user.name");
+ if ( user != null)
+ {
+ String PipeConnectionString = "pipe,name=" + user;
+ put(PropertyName.PIPE_CONNECTION_STRING,PipeConnectionString);
+ put(PropertyName.USE_PIPE_CONNECTION, Boolean.TRUE);
+ }
+ put(PropertyName.CONNECTION_STRING,ConnectionString);
+ put(PropertyName.TEST_BASE,TestBase);
+ put(PropertyName.TEST_DOCUMENT_PATH,TestDocumentPath);
+ put(PropertyName.LOGGING_IS_ACTIVE,LoggingIsActive?Boolean.TRUE:Boolean.FALSE);
+ put(PropertyName.DEBUG_IS_ACTIVE,DebugIsActive?Boolean.TRUE:Boolean.FALSE);
+ put(PropertyName.OUT_PRODUCER,OutProducer);
+ put(PropertyName.SHORT_WAIT,new Integer(ShortWait));
+ put(PropertyName.OFFICE_PROVIDER,OfficeProvider);
+ put(PropertyName.LOG_WRITER,LogWriter);
+ put(PropertyName.APP_EXECUTION_COMMAND,AppExecutionCommand);
+ put(PropertyName.TIME_OUT,TimeOut);
+ put(PropertyName.THREAD_TIME_OUT,ThreadTimeOut);
+ put(PropertyName.AUTO_RESTART,AutoRestart?Boolean.TRUE:Boolean.FALSE);
+ put(PropertyName.OFFICE_CLOSE_TIME_OUT, OfficeCloseTimeOut);
+
+ // get the operating system
+ put(PropertyName.OPERATING_SYSTEM, getSOCompatibleOSName());
+
+ //For compatibility Reasons
+ put("CNCSTR",ConnectionString);
+ put("DOCPTH",TestDocumentPath);
+ System.setProperty("DOCPTH",TestDocumentPath);
+ }
+
+ /**
+ * @return a XMultiServiceFactory to be used by a test (tests).
+ */
+ public Object getMSF() {
+ Object ret = null;
+ ret = get("ServiceFactory");
+ return ret;
+ }
+
+ public XComponentContext getComponentContext() {
+ Object context = get( "ComponentContext" );
+ if ( context == null )
+ {
+ XPropertySet factoryProps = (XPropertySet)com.sun.star.uno.UnoRuntime.queryInterface(
+ XPropertySet.class, getMSF() );
+ try
+ {
+ context = com.sun.star.uno.UnoRuntime.queryInterface(
+ XComponentContext.class, factoryProps.getPropertyValue( "DefaultContext" ) );
+ put( "ComponentContext", context );
+ }
+ catch( com.sun.star.beans.UnknownPropertyException e ) { }
+ catch( com.sun.star.lang.WrappedTargetException e ) { }
+ }
+ return (XComponentContext)context;
+ }
+
+ /**
+ * Convert the system dependent operating system name to a name according
+ * to OOo rules.
+ * @return A valid OS name, or "" if the name is not known.
+ */
+ String getSOCompatibleOSName() {
+ String osname = System.getProperty ("os.name").toLowerCase ();
+ String osarch = System.getProperty ("os.arch");
+ String operatingSystem = "";
+ if (osname.indexOf ("windows")>-1) {
+ operatingSystem = PropertyName.WNTMSCI;
+ } else if (osname.indexOf ("linux")>-1) {
+ operatingSystem = PropertyName.UNXLNGI;
+ } else if (osname.indexOf ("sunos")>-1) {
+ if (osarch.equals ("x86")) {
+ operatingSystem = PropertyName.UNXSOLI;
+ } else {
+ operatingSystem = PropertyName.UNXSOLS;
+ }
+ } else if (osname.indexOf ("mac")>-1) {
+ operatingSystem = PropertyName.UNXMACXI;
+ } else {
+ System.out.println("ERROR: not supported platform: " + osname);
+ System.exit(1);
+ }
+ return operatingSystem;
+ }
+
+}// finish class TestParamenters
diff --git a/qadevOOo/runner/lib/TestResult.java b/qadevOOo/runner/lib/TestResult.java
new file mode 100644
index 000000000000..b0c70954a6cc
--- /dev/null
+++ b/qadevOOo/runner/lib/TestResult.java
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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 lib;
+
+import java.util.Hashtable;
+
+/**
+ * The class supports interface tests development and Status calculation.
+ */
+public class TestResult {
+ /**
+ * Contains methods having been tested and their results.
+ */
+ protected Hashtable testedMethods = new Hashtable();
+
+ /**
+ * The method makes method tested with the result, i.e. it adds to its
+ * state OK (if result == true) or FAILED (if result == false) status
+ * and makes the state of the method completed. It's equal to
+ * tested(method, Status(result)) call.
+ *
+ * @param method reffers to the method whoch was tested
+ * @param result the result of testing the method
+ *
+ * @return the result value
+ *
+ * @throw java.lang.IllegalArgumentException if the method is not
+ * available in the interface.
+ *
+ * @see #tested(String, Status)
+ */
+ public boolean tested( String method, boolean result) {
+ System.out.println("Method "+method+" finished with state "+(result?"OK":"FAILED"));
+ return tested( method, Status.passed( result ) );
+ }
+
+ /**
+ * The method makes the method tested with the status, i.e. it adds the
+ * status to its state and makes it completed.
+ *
+ * @param method reffers to the method whoch was tested
+ * @param status describes the result of testing the method
+ * @return <tt>true</tt> if status is OK, <tt>false</tt> otherwise.
+ *
+ * @throw java.lang.IllegalArgumentException if the method is not
+ * available in the interface.
+ */
+ public boolean tested( String method, Status status ) {
+ testedMethods.put(method,status);
+ return true;
+ }
+
+ /**
+ * @return methods available in the interface tested.
+ */
+ public String[] getTestedMethods() {
+ return (String[])testedMethods.keySet().toArray(
+ new String[testedMethods.size()]);
+ }
+
+ /**
+ * @return <tt>true</tt> if the method belongs to the interface tested,
+ * <tt>false</tt> otherwise.
+ */
+ public boolean hasMethod( String method ) {
+ return testedMethods.containsKey( method );
+ }
+
+ /**
+ * @return status of testing the method, if it is available (was set by
+ * the tested or assert method), <tt>null</tt> otherwise.
+ *
+ * @see #tested(String, boolean)
+ * @see #tested(String, Status)
+ * @see #assert
+ */
+ public Status getStatusFor( String method ) {
+ return (Status)testedMethods.get( method );
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/runner/lib/makefile.mk b/qadevOOo/runner/lib/makefile.mk
new file mode 100644
index 000000000000..4807416e1939
--- /dev/null
+++ b/qadevOOo/runner/lib/makefile.mk
@@ -0,0 +1,58 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = lib
+TARGET = runner_lib
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+
+JAVAFILES = DynamicClassLoader.java \
+ SimpleStatus.java \
+ TestEnvironment.java \
+ ExceptionStatus.java \
+ Status.java \
+ MultiMethodTest.java \
+ StatusException.java \
+ TestParameters.java \
+ TestResult.java \
+ MultiPropertyTest.java \
+ TestCase.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/makefile.mk b/qadevOOo/runner/makefile.mk
new file mode 100644
index 000000000000..c18d77f25b0e
--- /dev/null
+++ b/qadevOOo/runner/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+PRJ = ..
+PRJNAME = OOoRunner
+TARGET = $(PRJNAME)
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE: settings.mk
+
+SUBDIRS_TESTS = mod ifc complex
+SUBDIRS_RUNNER = util share stats lib complexlib helper basicrunner \
+ base org$/openoffice convwatch graphical
+
+JARCOMMANDS_TESTS = $(foreach,i,$(SUBDIRS_TESTS) -C $(CLASSDIR) $i)
+JARCOMMANDS_RUNNER = $(foreach,i,$(SUBDIRS_RUNNER) -C $(CLASSDIR) $i)
+
+# --- Targets ------------------------------------------------------
+.IF "$(SOLAR_JAVA)"=="TRUE" && "$(L10N_framework)"==""
+OWNJAR: ALLTAR
+
+
+.INCLUDE : target.mk
+
+# LLA: parameter v is only verbose, need too long!
+OWNJAR: LIGHT
+ jar cfm $(CLASSDIR)$/$(TARGET).jar manifest -C $(PRJ) objdsc $(JARCOMMANDS_TESTS) $(JARCOMMANDS_RUNNER)
+
+# LLA: parameter v is only verbose, need too long!
+LIGHT:
+ jar cfm $(CLASSDIR)$/$(TARGET)Light.jar manifest $(JARCOMMANDS_RUNNER)
+
+.ELSE
+all:
+ @echo "no java"
+.ENDIF
diff --git a/qadevOOo/runner/manifest b/qadevOOo/runner/manifest
new file mode 100644
index 000000000000..7b905b7b5a28
--- /dev/null
+++ b/qadevOOo/runner/manifest
@@ -0,0 +1,3 @@
+Class-Path: ridl.jar unoil.jar
+RegistrationClassName: org.openoffice.RunnerService
+
diff --git a/qadevOOo/runner/org/openoffice/Runner.java b/qadevOOo/runner/org/openoffice/Runner.java
new file mode 100644
index 000000000000..a3741774917e
--- /dev/null
+++ b/qadevOOo/runner/org/openoffice/Runner.java
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * 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 org.openoffice;
+
+import java.util.Enumeration;
+import java.util.Properties;
+import java.util.StringTokenizer;
+import lib.TestParameters;
+import util.DynamicClassLoader;
+import base.TestBase;
+import helper.ClParser;
+import helper.CfgParser;
+
+/**
+ * The main class, will call ClParser and CfgParser to <br>
+ * fill the TestParameters.<br>
+ * Will then call the appropriate Testbase to run the tests.
+ */
+public class Runner
+{
+
+ private static long m_nStartTime;
+
+ public static long getRunnerStartTime()
+ {
+ return m_nStartTime;
+ }
+ /*
+ simple helper functions to start/stop a timer, to know how long a process need in milliseconds
+ */
+
+ private static long getTime()
+ {
+ return System.currentTimeMillis();
+ }
+
+ private static void setStartTime(long _nStartTime)
+ {
+ m_nStartTime = _nStartTime;
+ }
+
+ /*
+ return the time, which is done until last startTime()
+ */
+ public static long meanTime(long _nCurrentTimer)
+ {
+ if (_nCurrentTimer == 0)
+ {
+ System.out.println("Forgotten to initialise a start timer?");
+ return 0;
+ }
+ long nMeanTime = getTime();
+ return nMeanTime - _nCurrentTimer;
+ }
+
+ private static String beautifyTime(long _nTime)
+ {
+ long sec = (_nTime / 1000) % 60;
+ long min = (_nTime / (60 * 1000)) % 60;
+ long hour = _nTime / (60 * 60 * 1000);
+ StringBuffer aTime = new StringBuffer();
+ aTime.append(helper.StringHelper.createValueString((int) hour, 2)).
+ append(':').
+ append(helper.StringHelper.createValueString((int) min, 2)).
+ append(':').
+ append(helper.StringHelper.createValueString((int) sec, 2));
+ return aTime.toString();
+ }
+
+ /**
+ Helper to check if there are problems with Cygwin Path variables.
+ */
+ private static boolean checkVariableForCygwin(String _sVariable)
+ {
+ if (_sVariable == null)
+ {
+ return false;
+ }
+ if (_sVariable.startsWith("/cygdrive"))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ private static boolean checkPathVariable(String _sPath, String delim)
+ {
+ String sPath = System.getProperty(_sPath);
+ if (sPath != null)
+ {
+ StringTokenizer aTokenEnum = new StringTokenizer(sPath, delim);
+ while (aTokenEnum.hasMoreElements())
+ {
+ String sToken = (String) aTokenEnum.nextElement();
+ if (checkVariableForCygwin(sToken))
+ {
+ System.err.println("ERROR: OOoRunner detect cygwin path in '" + _sPath + "'");
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static void checkAllVariablesForCygwinPath(TestParameters _aParams)
+ {
+ // ----- check all System.getProperty(key) variables -----
+ String sOsName = System.getProperty("os.name");
+ if (!sOsName.toLowerCase().startsWith("windows"))
+ {
+ // we need to check only on windows
+ return;
+ }
+
+ Properties aProps = System.getProperties();
+ Enumeration aEnum = aProps.propertyNames();
+ // Enumeration aEnum = aProps.elements(); // these are only the values
+ boolean bEmergencyStop = false;
+
+ while (aEnum.hasMoreElements())
+ {
+ String sKey = (String) aEnum.nextElement();
+ String sValue = System.getProperty(sKey);
+
+ if (checkVariableForCygwin(sValue))
+ {
+ System.err.println("ERROR: OOoRunner detect cygwin path in '" + sKey + ":=" + sValue + "'");
+ bEmergencyStop = true;
+ }
+ }
+
+ // ----- check path variables separatly -----
+ String sDelim = System.getProperty("path.separator");
+ bEmergencyStop |= checkPathVariable("java.library.path", sDelim);
+ bEmergencyStop |= checkPathVariable("java.class.path", sDelim);
+ bEmergencyStop |= checkPathVariable("sun.boot.class.path", sDelim);
+
+ // ----- check all TestParameters -----
+ aEnum = _aParams.keys();
+ while (aEnum.hasMoreElements())
+ {
+ String sKey = (String) aEnum.nextElement();
+ if (_aParams.get(sKey) instanceof String)
+ {
+ String sValue = (String) _aParams.get(sKey);
+
+ if (checkVariableForCygwin(sValue))
+ {
+ System.err.println("ERROR: OOoRunner detect cygwin path in '" + sKey + ":=" + sValue + "'");
+ bEmergencyStop = true;
+ }
+ }
+ }
+
+ if (bEmergencyStop)
+ {
+ System.exit(-1);
+ }
+ }
+
+ public static boolean run(String... args)
+ {
+ System.out.println("OOoRunner Main() version from 20100323 (yyyymmdd)");
+
+ setStartTime(getTime());
+
+ DynamicClassLoader dcl = new DynamicClassLoader();
+
+ // get a class for test parameters
+ TestParameters param = new TestParameters();
+
+ ClParser cli = new ClParser();
+
+ //parse the commandline arguments if an ini-parameter is given
+ String iniFile = cli.getIniPath(args);
+
+ //initialize cfgParser with ini-path
+ CfgParser ini = new CfgParser(iniFile);
+
+ //parse ConfigFile
+ ini.getIniParameters(param);
+
+
+ //parse the commandline arguments if an runnerprops-parameter is given
+ String runnerIniFile = cli.getRunnerIniPath(args);
+
+ //initialize cfgParser with ini-path
+ CfgParser runnerIni = new CfgParser(runnerIniFile);
+
+ //parse ConfigFile
+ runnerIni.getIniParameters(param);
+
+ //parse the commandline arguments
+ // TODO: no right error message, if no parameter given!
+ cli.getCommandLineParameter(param, args);
+
+ Object tj = param.get("TestJob");
+
+ if (tj == null)
+ {
+ System.out.println("==========================================================================");
+ System.out.println("No TestJob given, please make sure that you ");
+ System.out.println("a.) called the OOoRunner with the paramter -o <job> or -sce <scenarioFile>");
+ System.out.println("or");
+ System.out.println("b.) have an entry called TestJob in your used properties file");
+ System.out.println("==========================================================================");
+ System.exit(-1);
+ }
+
+ System.out.println("TestJob: " + tj);
+ String sName = "base." + (String) param.get("TestBase");
+ TestBase toExecute = (TestBase) dcl.getInstance(sName);
+
+ checkAllVariablesForCygwinPath(param);
+
+ boolean worked = toExecute.executeTest(param);
+ long nTime = meanTime(getRunnerStartTime());
+ String sBeautifyTime = beautifyTime(nTime);
+
+ System.out.println("Job run took: " + nTime + "ms " + " [" + sBeautifyTime + "]");
+
+ if (!worked)
+ {
+ System.out.println("Job " + param.get("TestJob") + " failed");
+ }
+ else
+ {
+ System.out.println("Job " + param.get("TestJob") + " done");
+ }
+ return worked;
+ }
+
+ public static void main(String[] args)
+ {
+ System.exit(run(args) ? 0 : -1);
+ }
+}
diff --git a/qadevOOo/runner/org/openoffice/RunnerService.java b/qadevOOo/runner/org/openoffice/RunnerService.java
new file mode 100644
index 000000000000..cbe1787f2de1
--- /dev/null
+++ b/qadevOOo/runner/org/openoffice/RunnerService.java
@@ -0,0 +1,397 @@
+/*************************************************************************
+ *
+ * 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 org.openoffice;
+
+import share.LogWriter;
+import stats.InternalLogWriter;
+import lib.TestParameters;
+import util.DynamicClassLoader;
+import base.TestBase;
+import helper.ClParser;
+import helper.CfgParser;
+import com.sun.star.beans.XPropertyAccess;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.task.XJob;
+import com.sun.star.uno.XInterface;
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.beans.NamedValue;
+
+import java.util.Vector;
+
+/**
+ * The main class, will call ClParser and CfgParser to <br>
+ * fill the TestParameters.<br>
+ * Will then call the appropriate Testbase to run the tests.
+ */
+public class RunnerService implements XJob, XServiceInfo,
+ XTypeProvider, XPropertyAccess {
+
+ static public final String __serviceName = "org.openoffice.Runner";
+ static public final String __implName = "org.openoffice.RunnerService";
+ static private XMultiServiceFactory xMSF = null;
+
+ /**
+ * ct'tor
+ * Construct an own office provider for tests
+ */
+ public RunnerService(XMultiServiceFactory xMSF) {
+ }
+
+ public Object execute(NamedValue[] args) {
+ // construct valid arguments from the given stuff
+ int arg_length=args.length;
+ String[] arguments = new String[arg_length*2];
+ for ( int i=0; i< arg_length; i++ ) {
+ arguments[i*2] = args[i].Name;
+ Object o = args[i].Value;
+ arguments[i*2+1] = o.toString();
+ }
+
+ TestParameters param = new TestParameters();
+ DynamicClassLoader dcl = new DynamicClassLoader();
+
+
+ // take the standard log writer
+ String standardLogWriter = param.LogWriter;
+ String standardOutProducer = param.OutProducer;
+
+ ClParser cli = new ClParser();
+
+ //parse the arguments if an ini-parameter is given
+ String iniFile = cli.getIniPath(arguments);
+
+ //initialize cfgParser with ini-path
+ CfgParser ini = new CfgParser(iniFile);
+
+ //parse ConfigFile
+ ini.getIniParameters(param);
+
+
+ //parse the commandline arguments if an runnerprops-parameter is given
+ String runnerIniFile = cli.getRunnerIniPath(arguments);
+
+ //initialize cfgParser with ini-path
+ CfgParser runnerIni = new CfgParser(runnerIniFile);
+
+ //parse ConfigFile
+ runnerIni.getIniParameters(param);
+
+ //parse the commandline arguments
+ cli.getCommandLineParameter(param,arguments);
+
+ // now compare the standard log writer with the parameters:
+ // if we have a new one, use the new, else use the internal
+ // log writer
+ if (((String)param.get("LogWriter")).equals(standardLogWriter))
+ param.put("LogWriter", "stats.InternalLogWriter");
+ if (((String)param.get("OutProducer")).equals(standardOutProducer))
+ param.put("OutProducer", "stats.InternalLogWriter");
+ LogWriter log = (LogWriter) dcl.getInstance(
+ (String)param.get("LogWriter"));
+
+ param.put("ServiceFactory", xMSF);
+
+ param.ServiceFactory = xMSF; //(XMultiServiceFactory)
+ // appProvider.getManager(param);
+
+ log.println("TestJob: "+param.get("TestJob"));
+
+ TestBase toExecute = (TestBase)dcl.getInstance("base.java_fat_service");
+
+ boolean worked = toExecute.executeTest(param);
+ if (!worked)
+ log.println("Test did not execute correctly.");
+
+ String returnString = "";
+ if (log instanceof InternalLogWriter)
+ returnString = ((InternalLogWriter)log).getLog();
+ return returnString;
+ }
+
+ /**
+ * This function provides the service name
+ * @return the service name
+ */
+ public String getServiceName() {
+ return __serviceName;
+ }
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XJob.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XPropertyAccess.class);
+ return type;
+ }
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ if(serviceName.equals(__serviceName))
+ return true;
+ return false;
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = {__serviceName};
+ return supServiceNames;
+ }
+
+ /**
+ * Return all valid testcases from the object descriptions
+ * @return The valid testcases as property values
+ */
+ public PropertyValue[] getPropertyValues() {
+ PropertyValue[] pVal = null;
+ java.net.URL url = this.getClass().getResource("/objdsc");
+ if (url == null) {
+ pVal = new PropertyValue[1];
+ pVal[0] = new PropertyValue();
+ pVal[0].Name = "Error";
+ pVal[0].Value = "OOoRunner.jar file doesn't contain object " +
+ "descriptions: don't know what to test.";
+ return pVal;
+ }
+
+ Vector v = new Vector(600);
+ try {
+ // open connection to Jar
+ java.net.JarURLConnection con =
+ (java.net.JarURLConnection)url.openConnection();
+ // get Jar file from connection
+ java.util.jar.JarFile f = con.getJarFile();
+ // Enumerate over all entries
+ java.util.Enumeration aEnum = f.entries();
+
+ while (aEnum.hasMoreElements()) {
+ String entry = aEnum.nextElement().toString();
+ if (entry.endsWith(".csv")) {
+
+ String module = null;
+ String object = null;
+
+ int startIndex = entry.indexOf("objdsc/") + 7;
+ int endIndex = entry.lastIndexOf('/');
+/* int endIndex = entry.indexOf('.');
+ module = entry.substring(startIndex, endIndex);
+ startIndex = 0;
+ endIndex = module.lastIndexOf('/'); */
+ module = entry.substring(startIndex, endIndex);
+
+ // special cases
+ if (entry.indexOf("/file/") != -1 || entry.indexOf("/xmloff/") != -1) {
+ endIndex = entry.indexOf(".csv");
+ object = entry.substring(0, endIndex);
+ endIndex = object.lastIndexOf('.');
+ startIndex = object.indexOf('.');
+ while (startIndex != endIndex) {
+ object = object.substring(startIndex+1);
+ startIndex = object.indexOf('.');
+ endIndex = object.lastIndexOf('.');
+ }
+ }
+/* else if (entry.indexOf("/xmloff/") != -1) {
+ endIndex = entry.indexOf(".csv");
+ object = entry.substring(0, endIndex);
+ endIndex = entry.lastIndexOf('.');
+ while (object.indexOf('.') != endIndex) {
+ object = object.substring(object.indexOf('.')+1);
+ }
+ } */
+ else {
+ startIndex = 0;
+ endIndex = entry.indexOf(".csv");
+ object = entry.substring(startIndex, endIndex);
+ startIndex = object.lastIndexOf('.');
+ object = object.substring(startIndex+1);
+ }
+ v.add(module+"."+object);
+ }
+ }
+ }
+ catch(java.io.IOException e) {
+ e.printStackTrace();
+ }
+
+ int size = v.size();
+
+ String[] sTestCases = new String[size];
+ v.toArray(sTestCases);
+ java.util.Arrays.sort(sTestCases);
+
+ pVal = new PropertyValue[size];
+ for (int i=0; i<size; i++) {
+ pVal[i] = new PropertyValue();
+ pVal[i].Name = "TestCase"+i;
+ pVal[i].Value = sTestCases[i];
+ }
+ return pVal;
+ }
+
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory, XRegistryKey regKey)
+ {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ if (implName.equals(RunnerService.class.getName()))
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ RunnerService.class, __serviceName, multiFactory, regKey);
+ xMSF = multiFactory;
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ return FactoryHelper.writeRegistryServiceInfo(RunnerService.class.getName(),
+ __serviceName, regKey);
+ }
+
+ /**
+ * empty: not needed here.
+ */
+ public void setPropertyValues(PropertyValue[] propertyValue)
+ throws com.sun.star.beans.UnknownPropertyException,
+ com.sun.star.beans.PropertyVetoException,
+ com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.lang.WrappedTargetException {
+ // empty implementation
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qadevOOo/runner/org/openoffice/makefile.mk b/qadevOOo/runner/org/openoffice/makefile.mk
new file mode 100644
index 000000000000..e3ba3b4f6e22
--- /dev/null
+++ b/qadevOOo/runner/org/openoffice/makefile.mk
@@ -0,0 +1,46 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = org$/openoffice
+TARGET = runner_org_openoffice
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+JAVAFILES = Runner.java RunnerService.java
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/share/ComplexTest.java b/qadevOOo/runner/share/ComplexTest.java
new file mode 100644
index 000000000000..ea1ab3c55850
--- /dev/null
+++ b/qadevOOo/runner/share/ComplexTest.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * 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 share;
+
+/**
+ * Interface for complex tests.
+ */
+public interface ComplexTest {
+
+ public String[] getTestMethodNames();
+
+ public String getTestObjectName();
+
+}
+
diff --git a/qadevOOo/runner/share/CwsDataExchange.java b/qadevOOo/runner/share/CwsDataExchange.java
new file mode 100644
index 000000000000..8f6c31943ad4
--- /dev/null
+++ b/qadevOOo/runner/share/CwsDataExchange.java
@@ -0,0 +1,51 @@
+/*
+ * ************************************************************************
+ *
+ * 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 share;
+
+import java.util.ArrayList;
+
+/**
+ * Exchange information to the EIS database
+ *
+ */
+public interface CwsDataExchange {
+
+ /**
+ * Retunrs all module names which are added to the specified childworkspace
+ * @return a String array of all added modules
+ */
+ public ArrayList getModules();
+
+ /**
+ * Set the test status of cws related UnoAPI tests to the EIS dabase
+ * @param status the status of the UnoAPI test
+ */
+ public void setUnoApiCwsStatus(boolean status);
+}
diff --git a/qadevOOo/runner/share/DescEntry.java b/qadevOOo/runner/share/DescEntry.java
new file mode 100644
index 000000000000..6485cd840950
--- /dev/null
+++ b/qadevOOo/runner/share/DescEntry.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 share;
+
+/**
+ *
+ * Structure to describe the entries to be tested
+ *
+ */
+public class DescEntry {
+
+ /**
+ * Contains the name used inside the framework
+ */
+ public String entryName;
+ /**
+ * Contains the name that may be used by state writers
+ */
+ public String longName;
+ /**
+ * Contains information if this entry is Optional
+ */
+ public boolean isOptional;
+ /**
+ * Contains information if this entry should be tested
+ */
+ public boolean isToTest;
+ /**
+ * Contains the information about the number of SubEntries
+ */
+ public int SubEntryCount;
+ /**
+ * Contains the SubEntries
+ */
+ public DescEntry[] SubEntries;
+
+ /**
+ * Contains information about the Type of the entry<br>
+ * possible 'component', 'interface', 'service', 'method', 'property', 'unit'
+ */
+ public String EntryType;
+
+ /**
+ * Contains the ErrorMsg is something went wrong while gaining<br>
+ * the description
+ */
+ public String ErrorMsg;
+
+ /**
+ * Contains information if errors occured while gaining the Description
+ */
+ public boolean hasErrorMsg;
+
+ /**
+ * Contains the state for this entry
+ */
+ public String State = "UNKNOWN";
+
+ /**
+ * Contains the LogWriter to be used by the entry-test
+ */
+
+ public share.LogWriter Logger;
+
+ /**
+ * Contains an arbitrary set of parameters
+ */
+
+ public java.util.Hashtable UserDefinedParams = new java.util.Hashtable();
+
+}
diff --git a/qadevOOo/runner/share/DescGetter.java b/qadevOOo/runner/share/DescGetter.java
new file mode 100644
index 000000000000..b032dda1eec3
--- /dev/null
+++ b/qadevOOo/runner/share/DescGetter.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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 share;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.StringTokenizer;
+
+import java.util.Vector;
+
+/**
+ *
+ * Base Interface to get a description for a given TestJob
+ *
+ */
+public abstract class DescGetter
+{
+
+ public abstract DescEntry[] getDescriptionFor(String entry,
+ String DescPath,
+ boolean debug);
+
+ protected abstract DescEntry getDescriptionForSingleJob(String job,
+ String descPath,
+ boolean debug);
+
+ protected abstract String[] createScenario(String descPath, String job,
+ boolean debug);
+
+ protected DescEntry[] getScenario(String url, String descPath,
+ boolean debug)
+ {
+ Vector entryList = new Vector();
+ String line = "";
+ BufferedReader scenario = null;
+ DescEntry[] entries = null;
+
+ try
+ {
+ scenario = new BufferedReader(new FileReader(url));
+ }
+ catch (java.io.FileNotFoundException fnfe)
+ {
+ System.out.println("Couldn't find file " + url);
+
+ return entries;
+ }
+
+ while (line != null)
+ {
+ try
+ {
+ if (line.startsWith("-o"))
+ {
+ String job = line.substring(3, line.length()).trim();
+ DescEntry aEntry;
+ // special in case several Interfaces are given comma separated
+ if (job.indexOf(",") < 0)
+ {
+ aEntry = getDescriptionForSingleJob(job, descPath,
+ debug);
+ }
+ else
+ {
+ ArrayList subs = getSubInterfaces(job);
+ String partjob = job.substring(0, job.indexOf(",")).trim();
+ aEntry = getDescriptionForSingleJob(partjob, descPath,
+ debug);
+
+ if (aEntry != null)
+ {
+ for (int i = 0; i < aEntry.SubEntryCount; i++)
+ {
+ String subEntry = aEntry.SubEntries[i].longName;
+ int cpLength = aEntry.longName.length();
+ subEntry = subEntry.substring(cpLength + 2,
+ subEntry.length());
+
+ if (subs.contains(subEntry))
+ {
+ aEntry.SubEntries[i].isToTest = true;
+ }
+ }
+ }
+ }
+// DescEntry aEntry = getDescriptionForSingleJob(
+// line.substring(3).trim(), descPath,
+// debug);
+ if (aEntry != null)
+ {
+ entryList.add(aEntry);
+ }
+ }
+ else if (line.startsWith("-sce"))
+ {
+ DescEntry[] subs = getScenario(line.substring(5,
+ line.length()).trim(), descPath,
+ debug);
+
+ for (int i = 0; i < subs.length; i++)
+ {
+ entryList.add(subs[i]);
+ }
+ }
+ else if (line.startsWith("-p"))
+ {
+ String[] perModule = createScenario(descPath,
+ line.substring(3).trim(), debug);
+
+ for (int i = 0; i < perModule.length; i++)
+ {
+ DescEntry aEntry = getDescriptionForSingleJob(
+ perModule[i].substring(3).trim(),
+ descPath, debug);
+ if (aEntry != null)
+ {
+ entryList.add(aEntry);
+ }
+ }
+ }
+
+ line = scenario.readLine();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println("Exception while reading scenario");
+ }
+ }
+ }
+
+ try
+ {
+ scenario.close();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println("Exception while closeing scenario");
+ }
+ }
+
+ if (entryList.size() == 0)
+ {
+ return null;
+ }
+ entries = new DescEntry[entryList.size()];
+ entries = (DescEntry[]) entryList.toArray(entries);
+
+ return entries;
+ }
+
+ protected ArrayList getSubInterfaces(String job)
+ {
+ ArrayList namesList = new ArrayList();
+ StringTokenizer st = new StringTokenizer(job, ",");
+
+ for (int i = 0; st.hasMoreTokens(); i++)
+ {
+ String token = st.nextToken();
+
+ if (token.indexOf(".") < 0)
+ {
+ namesList.add(token);
+ }
+ }
+
+ return namesList;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/share/LogWriter.java b/qadevOOo/runner/share/LogWriter.java
new file mode 100644
index 000000000000..67b8250f6f01
--- /dev/null
+++ b/qadevOOo/runner/share/LogWriter.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 share;
+
+public interface LogWriter {
+
+ /**
+ * Method to print
+ */
+ public void println(String msg);
+
+ /**
+ * initialization
+ *
+ */
+
+ public boolean initialize(share.DescEntry entry, boolean active);
+
+ /**
+ * will mostly be used by outproducers to sum up
+ * the information, maybe write them to a db
+ */
+
+ public boolean summary(share.DescEntry entry);
+
+
+ /**
+ * Returns the <CODE>Watcher</CODE> which is associated with this logger
+ * @see share.Watcher
+ * @return the associated <CODE>Watcher</CODE>
+ */
+ public Object getWatcher();
+
+ /**
+ * Set a <CODE>Watcher</CODE> to the <CODE>LogWriter</CODE>
+ * This is usefull if a test starts a new office instance by itself. In this cases
+ * the <CODE>LogWritter</CODE> could retrigger the <CODE>Watcher</CODE>
+ * @see share.Watcher
+ * @param watcher the new <CODE>Watcher</CODE>
+ */
+ public void setWatcher(Object watcher);
+
+}
diff --git a/qadevOOo/runner/share/Watcher.java b/qadevOOo/runner/share/Watcher.java
new file mode 100644
index 000000000000..bf0c40d9dadf
--- /dev/null
+++ b/qadevOOo/runner/share/Watcher.java
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 share;
+
+public interface Watcher {
+
+ /**
+ * pings the watcher to check for changes
+ */
+ public void ping();
+
+ /**
+ * returns the amount of pings
+ */
+ public int getPing();
+
+}
diff --git a/qadevOOo/runner/share/makefile.mk b/qadevOOo/runner/share/makefile.mk
new file mode 100644
index 000000000000..ff780b13c0a9
--- /dev/null
+++ b/qadevOOo/runner/share/makefile.mk
@@ -0,0 +1,52 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = share
+TARGET = runner_share
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+
+JAVAFILES = DescEntry.java \
+ DescGetter.java \
+ LogWriter.java \
+ ComplexTest.java \
+ Watcher.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/stats/ComplexDataBaseOutProducer.java b/qadevOOo/runner/stats/ComplexDataBaseOutProducer.java
new file mode 100644
index 000000000000..7237fcc98dd8
--- /dev/null
+++ b/qadevOOo/runner/stats/ComplexDataBaseOutProducer.java
@@ -0,0 +1,181 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import share.LogWriter;
+import java.text.DecimalFormat;
+import java.util.Hashtable;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+/**
+ *
+ *
+ */
+public class ComplexDataBaseOutProducer extends DataBaseOutProducer {
+
+ /** Creates a new instance of ComplexDataBaseOutProducer */
+ public ComplexDataBaseOutProducer(Hashtable param) {
+ super(param);
+ // do we have to write debug output?
+ Object o = param.get("DebugIsActive");
+ if (o != null) {
+ if (o instanceof String) {
+ String debug = (String)o;
+ m_bDebug = (debug.equalsIgnoreCase("yes") || debug.equalsIgnoreCase("true"));
+ }
+
+ }
+
+ String testBase = (String)mSqlInput.get("TestBase");
+ String apiVersion = (String)mSqlInput.get("Version");
+ String os = (String)mSqlInput.get("OperatingSystem");
+ if (testBase == null || apiVersion == null || os == null) {
+ System.err.println("The ComplexDataBaseOutProducer constructor needs this parameters to work correctly:");
+ System.err.println("TestBase - " + testBase);
+ System.err.println("Version - " + apiVersion);
+ System.err.println("OperatingSystem - " + os);
+ System.err.println("Add the missing parameter.");
+ }
+ int sep = testBase.indexOf('_');
+ String testLanguage = testBase.substring(0,sep);
+ testBase = testBase.substring(sep+1);
+
+ // 2do fallback?
+// if (os == null || os.equals(""))
+// os = System.getProperty("os.name");
+ String descriptionString = testLanguage+":"+ os +":"+testBase+":"+apiVersion;
+ if (apiVersion != null)
+ apiVersion = apiVersion.substring(0, 6);
+
+ if (mSqlInput.get("date") == null) {
+ // build date if it's not there
+ Calendar cal = new GregorianCalendar();
+ DecimalFormat dfmt = new DecimalFormat("00");
+ String year = Integer.toString(cal.get(GregorianCalendar.YEAR));
+ // month is starting with "0"
+ String month = dfmt.format(cal.get(GregorianCalendar.MONTH) + 1);
+ String day = dfmt.format(cal.get(GregorianCalendar.DATE));
+ String dateString = year + "-" + month + "-" + day;
+
+ mSqlInput.put("date", dateString);
+ }
+ mSqlInput.put("test_run_description", descriptionString);
+ mSqlInput.put("api_version_name", apiVersion);
+ setWriteableEntryTypes(new String[]{"unit", "method"});
+ }
+
+ /**
+ * Prepare the database.
+ * @parameter log A log writer
+ * @return True, if everything worked.
+ */
+ protected boolean prepareDataBase(LogWriter log) {
+ executeSQLCommand("SELECT id AS \"test_run.id\", api_version_id, description, date FROM test_run" +
+ " WHERE date = \"$date\" AND description = \"$test_run_description\";", true);
+ String id = (String)mSqlInput.get("test_run.id");
+ // create an entry for this test run
+ if (id == null) {
+ executeSQLCommand("SELECT id as api_version_id FROM api_version" +
+ " WHERE version = \"$api_version_name\";", true);
+ String api_version_id = (String)mSqlInput.get("api_version_id");
+ // create an entry for this API
+ if (api_version_id == null) {
+ executeSQLCommand("INSERT api_version (api_name, version)" +
+ " VALUES (\"soapi\", \"$api_version_name\")");
+ executeSQLCommand("SELECT id as api_version_id FROM api_version" +
+ " WHERE version = \"$api_version_name\";", true);
+ }
+ executeSQLCommand("INSERT test_run (api_version_id, description, date)" +
+ " VALUES ($api_version_id, \"$test_run_description\", \"$date\");");
+ executeSQLCommand("SELECT id AS \"test_run.id\", api_version_id, description, date FROM test_run" +
+ " WHERE date = \"$date\" AND description = \"$test_run_description\";", true);
+ }
+ return true;
+ }
+
+ /**
+ * Insert the result of the test of an entry into the database.
+ * @parameter log A log writer
+ * @return True, if everything worked.
+ */
+ protected boolean insertEntry(LogWriter log) {
+
+ if ( m_bDebug ) {
+ System.out.println("DEBUG - ComplexDataBaseOutProducer: entry.id has to be null: " + (mSqlInput.get("entry.id")==null));
+ System.out.println("DEBUG - ComplexDataBaseOutProducer: EntryLongName: " + mSqlInput.get("EntryLongName"));
+ }
+ executeSQLCommand("SELECT id as \"entry.id\", name as \"entry.name\" FROM entry WHERE name = \"$EntryLongName\";", true);
+
+ if (mSqlInput.get("entry.id") == null) {
+ if ( m_bDebug ) {
+ System.out.println("DEBUG - ComplexDataBaseOutProducer: No entry.id found, this is a new entry in the database.");
+ }
+ executeSQLCommand("INSERT entry (name, type)" +
+ " VALUES (\"$EntryLongName\", \"$EntryType\");");
+ executeSQLCommand("SELECT id as \"entry.id\", name as \"entry.name\" FROM entry WHERE name = \"$EntryLongName\";", true);
+ }
+
+
+ executeSQLCommand("SELECT id as \"api_entry.id\", api_version_id as \"api_entry.api_version_id\", entry_id as \"api_entry.entry_id\" FROM api_entry" +
+ " WHERE entry_id = $entry.id;", true);
+ if (mSqlInput.get("api_entry.id") == null) {
+ System.out.println("No api_entry.id found");
+ executeSQLCommand("INSERT api_entry (entry_id, api_version_id)"+
+ " VALUES ($entry.id, $api_version_id);");
+ executeSQLCommand("SELECT id as \"api_entry.id\", api_version_id as \"api_entry.api_version_id\", entry_id as \"api_entry.entry_id\" FROM api_entry" +
+ " WHERE entry_id = $entry.id;", true);
+ }
+
+
+ executeSQLCommand("SELECT status as \"test_state.status\" FROM test_state"+
+ " WHERE test_run_id = $test_run.id AND entry_id = $entry.id;", true);
+
+ String entryState = (String)mSqlInput.get("EntryState");
+ String status = (String)mSqlInput.get("test_state.status");
+
+ if (!entryState.equals("SKIPPED.FAILED")) { // occurs in case of misspellings: do not make an database entry.
+ if (status == null) {
+ executeSQLCommand("INSERT test_state (test_run_id, entry_id, status)"+
+ " VALUES ($test_run.id, $entry.id, \"$EntryState\");");
+ }
+ else {
+ executeSQLCommand("UPDATE test_state SET status = \"$EntryState\""+
+ " where test_run_id =$test_run.id AND entry_id = $entry.id;");
+ }
+ }
+ return true;
+ }
+
+ public Object getWatcher() {
+ return null;
+ }
+
+ public void setWatcher(Object watcher) {
+ }
+
+}
diff --git a/qadevOOo/runner/stats/DataBaseOutProducer.java b/qadevOOo/runner/stats/DataBaseOutProducer.java
new file mode 100644
index 000000000000..814135d553ca
--- /dev/null
+++ b/qadevOOo/runner/stats/DataBaseOutProducer.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import share.LogWriter;
+import share.DescEntry;
+
+import java.util.Hashtable;
+
+/**
+ *
+ * @author sg128468
+ */
+public abstract class DataBaseOutProducer implements LogWriter {
+ protected Hashtable mSqlInput = null;
+ protected Hashtable mSqlOutput = null;
+ protected String[] mWriteableEntryTypes = null;
+ protected SQLExecution mSqlExec;
+ protected boolean m_bDebug = false;
+
+
+ /** Creates a new instance of DataBaseOutProducer
+ * @param param The Hashtable with test parameters
+ */
+ public DataBaseOutProducer(Hashtable param) {
+ mSqlInput = new Hashtable();
+ mSqlInput.putAll(param);
+
+ Object o = param.get("DebugIsActive");
+ String debug = null;
+ if (o instanceof String)
+ debug = (String)o;
+ else
+ debug = o.toString();
+ if (debug != null && (debug.equalsIgnoreCase("true") || debug.equalsIgnoreCase("yes"))) {
+ m_bDebug = true;
+ }
+ // set default for writeable entries: method
+ setWriteableEntryTypes(new String[]{"method"});
+ }
+
+ /** initialization
+ *
+ */
+ public boolean initialize(DescEntry entry, boolean active) {
+ if (entry.UserDefinedParams != null)
+ mSqlInput.putAll(entry.UserDefinedParams);
+
+ String jdbcClass = (String)mSqlInput.get("JDBC");
+ if (jdbcClass == null)
+ jdbcClass = "org.gjt.mm.mysql.Driver";
+ String dbURL = (String)mSqlInput.get("DataBaseURL");
+ String user = (String)mSqlInput.get("User");
+ String password = (String)mSqlInput.get("Password");
+ if (user == null)
+ user = (String)mSqlInput.get("OperatingSystem");
+ if (password == null)
+ password = user;
+
+ mSqlExec = new SQLExecution(jdbcClass, dbURL, user, password, m_bDebug);
+ mSqlExec.openConnection();
+ prepareDataBase(entry.Logger);
+ return true;
+ }
+
+ /**
+ *
+ *
+ */
+ public boolean summary(DescEntry entry) {
+ mSqlExec.openConnection();
+ findTypeInEntryTree(entry, entry.Logger);
+// checkDataBase(entry.Logger);
+ mSqlExec.closeConnection();
+ return true;
+ }
+
+ /**
+ * Step recursively through the entry tree: write all entries of the
+ * defined types to the database.
+ * @param entry The description entry that is take as root
+ * @param log The log writer
+ */
+ protected boolean findTypeInEntryTree(DescEntry entry, LogWriter log) {
+ boolean returnVal = true;
+ if (isWriteableEntryType(entry)) {
+ returnVal &= insertEntry(entry, log);
+ }
+
+ if (entry.SubEntryCount >0) {
+ for (int i=0; i<entry.SubEntryCount; i++) {
+ returnVal &= findTypeInEntryTree(entry.SubEntries[i], log);
+ }
+ }
+ // if we are not on method leaf, exit here
+ // insert one method result into database
+ return returnVal;
+ }
+
+ /**
+ * Insert this entrry to the database.
+ * @param entry The entry to write.
+ * @param log The log writer.
+ */
+ protected boolean insertEntry(DescEntry entry, LogWriter log) {
+ // copy the swlInput Hashtable, so it can be reset easily for the next run
+ Hashtable copySqlInput = new Hashtable();
+ copySqlInput.putAll(mSqlInput);
+ // put some stuff from entry in the Hashtable
+ mSqlInput.put("EntryLongName", entry.longName);
+ mSqlInput.put("EntryName", entry.entryName);
+ mSqlInput.put("EntryState", entry.State);
+ mSqlInput.put("EntryType", entry.EntryType);
+ boolean result = insertEntry(log);
+ // reset the Hashtable
+ mSqlInput = copySqlInput;
+ return result;
+
+ }
+
+ /**
+ * Set the writeable entry types: for example "method", "interface", etc.
+ * All these entries are written to the database.
+ * @param types A String array with all types that have to be written.
+ */
+ public void setWriteableEntryTypes(String[] types) {
+ mWriteableEntryTypes = types;
+ }
+
+ /**
+ * Is the entry of the writeable entry type?
+ * @param entry The entry that is checked
+ * @return True, if it is indeed a writeable entry.
+ */
+ protected boolean isWriteableEntryType(DescEntry entry) {
+ boolean result = false;
+ for (int i=0; i<mWriteableEntryTypes.length; i++) {
+ if (entry.EntryType.equals(mWriteableEntryTypes[i])) {
+ result = true;
+ break;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Wrap the command of SQLExecution class for transparency.
+ */
+ protected boolean executeSQLCommand(String command, boolean mergeOutput) {
+ return mSqlExec.executeSQLCommand(command, mSqlInput, mSqlOutput, mergeOutput);
+ }
+
+ /**
+ * Wrap the command of SQLExecution class for transparency.
+ */
+ protected boolean executeSQLCommand(String command) {
+ return mSqlExec.executeSQLCommand(command, mSqlInput, mSqlOutput);
+ }
+
+ /**
+ * Method to print: empty here
+ */
+ public void println(String msg) {
+ }
+
+ /**
+ * Prepare the database: executed once at the beginning.
+ * Abstract method, so derived classes have to overwrite it.
+ */
+ protected abstract boolean prepareDataBase(LogWriter log);
+
+ /**
+ * Insert one entr into the database.
+ * Abstract method, so derived classes have to overwrite it.
+ */
+ protected abstract boolean insertEntry(LogWriter log);
+
+ /**
+ *
+ protected abstract boolean checkDataBase(LogWriter log);
+ */
+
+}
diff --git a/qadevOOo/runner/stats/FatDataBaseOutProducer.java b/qadevOOo/runner/stats/FatDataBaseOutProducer.java
new file mode 100644
index 000000000000..dce9c137810a
--- /dev/null
+++ b/qadevOOo/runner/stats/FatDataBaseOutProducer.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import java.text.DecimalFormat;
+import share.LogWriter;
+import java.util.Hashtable;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+
+/**
+ *
+ */
+public class FatDataBaseOutProducer extends DataBaseOutProducer {
+
+
+ /** Creates a new instance of APIDataBaseOutProducer */
+ public FatDataBaseOutProducer(Hashtable param) {
+ super(param);
+ String testBase = (String)mSqlInput.get("TestBase");
+ int sep = testBase.indexOf('_');
+ String testLanguage = testBase.substring(0,sep);
+ testBase = testBase.substring(sep+1);
+ String apiVersion = (String)mSqlInput.get("Version");
+ String descriptionString = testLanguage+":"+(String)mSqlInput.get("OperatingSystem")+":"+testBase+":"+apiVersion;
+ apiVersion = apiVersion.substring(0, 6);
+ // build date
+ if (mSqlInput.get("Date") != null) {
+ mSqlInput.put("date", mSqlInput.get("Date"));
+ }
+ if (mSqlInput.get("date") == null) {
+ // build date if it's not there
+ Calendar cal = new GregorianCalendar();
+ DecimalFormat dfmt = new DecimalFormat("00");
+ String year = Integer.toString(cal.get(GregorianCalendar.YEAR));
+ // month is starting with "0"
+ String month = dfmt.format(cal.get(GregorianCalendar.MONTH) + 1);
+ String day = dfmt.format(cal.get(GregorianCalendar.DATE));
+ String dateString = year + "-" + month + "-" + day;
+
+ mSqlInput.put("date", dateString);
+ }
+
+ setWriteableEntryTypes(new String[]{"property", "method", "component", "interface", "service"});
+
+ mSqlInput.put("test_run.description", descriptionString);
+ mSqlInput.put("api_version_name", apiVersion);
+ }
+
+ protected boolean prepareDataBase(LogWriter log) {
+ executeSQLCommand("SHOW TABLES");
+
+ executeSQLCommand("SELECT id AS \"test_run.id\", api_version_id, description, date FROM test_run" +
+ " WHERE date = \"$date\" AND description = \"$test_run.description\";", true);
+ String id = (String)mSqlInput.get("test_run.id");
+ // create an entry for this test run
+ if (id == null) {
+ executeSQLCommand("SELECT id AS api_version_id FROM api_version" +
+ " WHERE version = \"$api_version_name\";", true);
+ String api_version_id = (String)mSqlInput.get("api_version_id");
+ // create an entry for this API
+ if (api_version_id == null) {
+ executeSQLCommand("INSERT api_version (api_name, version)" +
+ " VALUES (\"soapi\", \"$api_version_name\")");
+ executeSQLCommand("SELECT id AS api_version_id FROM api_version" +
+ " WHERE version = \"$api_version_name\";", true);
+ }
+ // complete entry for the test run
+ executeSQLCommand("INSERT test_run (api_version_id, description, date)" +
+ " VALUES ($api_version_id, \"$test_run.description\", \"$date\");");
+ executeSQLCommand("SELECT test_run.id AS \"test_run.id\", api_version_id, description, date FROM test_run" +
+ " WHERE date = \"$date\" AND description = \"$test_run.description\";", true);
+ }
+ return true;
+ }
+
+ // check the database afterwards
+ protected boolean checkDataBase(LogWriter log) {
+ return true;
+ }
+
+ protected boolean insertEntry(LogWriter log) {
+
+ executeSQLCommand("SELECT id AS \"entry.id\", name AS \"entry.name\" FROM entry WHERE name = \"$EntryLongName\";", true);
+ if (mSqlInput.get("entry.id") == null) {
+ executeSQLCommand("INSERT entry (name, type)" +
+ " VALUES (\"$EntryLongName\", \"$EntryType\");");
+ executeSQLCommand("SELECT id AS \"entry.id\", name AS \"entry.name\" FROM entry WHERE name = \"$EntryLongName\";", true);
+ }
+ executeSQLCommand("SELECT id AS \"api_entry.id\", api_version_id AS \"api_entry.api_version_id\", entry_id AS \"api_entry.entry_id\" FROM api_entry" +
+ " WHERE entry_id = $entry.id;", true);
+ if (mSqlInput.get("api_entry.id") == null) {
+ executeSQLCommand("INSERT api_entry (entry_id, api_version_id)"+
+ " VALUES ($entry.id, $api_version_id);");
+ executeSQLCommand("SELECT id AS \"api_entry.id\", api_version_id AS \"api_entry.api_version_id\", entry_id AS \"api_entry.entry_id\" FROM api_entry" +
+ " WHERE entry_id = $entry.id;", true);
+ }
+ executeSQLCommand("SELECT status AS \"test_state.status\" FROM test_state"+
+ " WHERE test_run_id = $test_run.id AND entry_id = $entry.id;", true);
+
+ String status = (String)mSqlInput.get("test_state.status");
+ if (status == null) {
+ executeSQLCommand("INSERT test_state (test_run_id, entry_id, status)"+
+ " VALUES ($test_run.id, $entry.id, \"$EntryState\");");
+ }
+ else {
+ if (!status.endsWith("OK")) {
+ executeSQLCommand("UPDATE test_state SET status = \"$EntryState\""+
+ " WHERE test_run_id = $test_run.id AND entry_id = $entry.id;");
+ }
+ }
+ return true;
+ }
+
+ public Object getWatcher() {
+ return null;
+ }
+
+ public void setWatcher(Object watcher) {
+ }
+
+}
diff --git a/qadevOOo/runner/stats/FileLogWriter.java b/qadevOOo/runner/stats/FileLogWriter.java
new file mode 100644
index 000000000000..cfa4ccc5a617
--- /dev/null
+++ b/qadevOOo/runner/stats/FileLogWriter.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import share.LogWriter;
+
+import java.io.PrintWriter;
+import java.text.DecimalFormat;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class FileLogWriter extends PrintWriter implements LogWriter {
+
+
+ HashMap mFileWriters = null;
+ boolean logging = false;
+ share.DescEntry entry = null;
+ share.Watcher ow = null;
+
+ public FileLogWriter() {
+ super(System.out);
+ Calendar cal = new GregorianCalendar();
+ DecimalFormat dfmt = new DecimalFormat("00");
+ super.println("LOG> Log started " +
+ dfmt.format(cal.get(Calendar.DAY_OF_MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.YEAR)) + " - " +
+ dfmt.format(cal.get(Calendar.HOUR_OF_DAY)) + ":" +
+ dfmt.format(cal.get(Calendar.MINUTE)) + ":" +
+ dfmt.format(cal.get(Calendar.SECOND)));
+ super.flush();
+ }
+
+ public boolean initialize(share.DescEntry entry, boolean logging) {
+ this.logging = logging;
+ this.entry = entry;
+ return true;
+ }
+
+
+ public void addFileLog(String filePath){
+ try{
+ if(mFileWriters == null)
+ mFileWriters = new HashMap();
+ mFileWriters.put(filePath, new FileWriter(filePath));
+ }catch(IOException e ){
+ e.printStackTrace(this);
+ }
+ }
+
+
+ public void removeFileLog(String filePath){
+ if(filePath != null)
+ mFileWriters.remove(filePath);
+ }
+
+
+ public void println(String msg) {
+
+ this.ow = (share.Watcher) entry.UserDefinedParams.get("Watcher");
+
+ if (ow != null) {
+ ow.ping();
+ }
+ if (logging) {
+
+ // logoutput to console
+ super.println("LOG> "+msg);
+ super.flush();
+
+ //logoutput to file
+ if(mFileWriters != null && mFileWriters.size() > 0){
+ try{
+ FileWriter fw = null;
+ Iterator iter = mFileWriters.values().iterator();
+ while(iter.hasNext()){
+ fw = (FileWriter) iter.next();
+ fw.write("LOG> " + msg + "\n");
+ fw.flush();
+ }
+ }catch(IOException e ){
+ e.printStackTrace(this);
+ }
+ }
+ }
+ }
+
+ public boolean summary(share.DescEntry entry) {
+ String header = "***** State for "+entry.longName+" ******";
+ System.out.println(header);
+ if (entry.hasErrorMsg) {
+ System.out.println(entry.ErrorMsg);
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ } else {
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ }
+ for (int i=0;i<header.length();i++) {
+ System.out.print("*");
+ }
+ System.out.println("");
+ return true;
+ }
+
+ public Object getWatcher() {
+ return this.ow;
+ }
+
+ public void setWatcher(Object watcher) {
+ entry.UserDefinedParams.put("Watcher", (share.Watcher) watcher);
+ }
+
+}
diff --git a/qadevOOo/runner/stats/InternalLogWriter.java b/qadevOOo/runner/stats/InternalLogWriter.java
new file mode 100644
index 000000000000..b3c71217fb64
--- /dev/null
+++ b/qadevOOo/runner/stats/InternalLogWriter.java
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+/**
+ * Write all logs into a java.io.PrintWriter, i.e. a StringBuffer.
+ * Log is gathered there.
+ */
+public class InternalLogWriter extends PrintWriter
+ implements share.LogWriter {
+ /** log active **/
+ boolean active;
+ /** write all output to a StringBuffer **/
+ static StringWriter writer = new StringWriter();
+
+ /**
+ * c'*tor
+ */
+ public InternalLogWriter() {
+ super(new PrintWriter(writer));
+ active = true;
+ }
+
+ /**
+ * Initialization.
+ * @param entry The description entry.
+ * @param active Logging is active.
+ * @return True, if initialize worked.
+ */
+ public boolean initialize(share.DescEntry entry, boolean active) {
+ this.active = active;
+ return true;
+ }
+
+ /**
+ * Method to print a line that is added to the StringBuffer.
+ * @param msg The message that is printed.
+ */
+ public void println(String msg) {
+ if (active)
+ super.println(msg);
+ }
+
+ /**
+ * Method to print to the StringBuffer.
+ * @param msg The message that is printed.
+ */
+ public void print(String msg) {
+ if (active)
+ super.print(msg);
+
+ }
+
+ /**
+ * Is used to sum up the information.
+ * The summary is also added to the StringBuffer.
+ * @param entry The description entry.
+ * @return True, if a summary could be created.
+ */
+ public boolean summary(share.DescEntry entry) {
+// linePrefix = "";
+ String header = "***** State for "+entry.longName+" ******";
+ println(header);
+ if (entry.hasErrorMsg) {
+ println(entry.ErrorMsg);
+ println("Whole "+entry.EntryType+": "+entry.State);
+ } else {
+ println("Whole "+entry.EntryType+": "+entry.State);
+ }
+ for (int i=0;i<header.length();i++) {
+ print("*");
+ }
+ println("");
+ return true;
+ }
+
+ /**
+ * Return all the written stuff.
+ * @return All that was written to the StringBuffer with the
+ * 'println()', 'print()' and 'summarize()' methods.
+ * The StringBuffer is emptied afterwards.
+ **/
+ public String getLog() {
+ String message = writer.getBuffer().toString();
+ writer = new StringWriter();
+ return message;
+ }
+
+ public Object getWatcher() {
+ return null;
+ }
+
+ public void setWatcher(Object watcher) {
+ }
+
+}
+
diff --git a/qadevOOo/runner/stats/OutProducerFactory.java b/qadevOOo/runner/stats/OutProducerFactory.java
new file mode 100644
index 000000000000..ca569631f409
--- /dev/null
+++ b/qadevOOo/runner/stats/OutProducerFactory.java
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import share.LogWriter;
+import java.util.Hashtable;
+import util.DynamicClassLoader;
+
+/**
+ * A factory class for creating out producers.
+ */
+public class OutProducerFactory {
+
+ /**
+ * Create an out producer. The type that is created depends on the
+ * parameters given. These are:
+ * <ul>
+ * <li>DataBaseOut - If set to true, a database outproducer is created.
+ * <li>OutProducer - The value of this parameter names the class that is created.
+ * </ul>
+ * @param Parameters of the test.
+ * @return The created out producer.
+ */
+ public static LogWriter createOutProducer(Hashtable param) {
+ LogWriter dbOut = null;
+ boolean getDatabase = convertToBool(param.get("DataBaseOut"));
+ if (getDatabase) {
+ dbOut = createDataBaseOutProducer(param);
+ }
+ if (dbOut == null) {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ String outProducerName = (String)param.get("OutProducer");
+ if (outProducerName != null) {
+ try {
+ dbOut = (LogWriter)dcl.getInstance(outProducerName);
+ }
+ catch(IllegalArgumentException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ if (dbOut == null) {
+ dbOut = createSimpleOutProducer();
+ }
+ return dbOut;
+ }
+
+ /**
+ * Create a databbase out producer.
+ * @param The test parameters
+ * @return The database out producer, or null if it couldn't be created.
+ */
+ public static LogWriter createDataBaseOutProducer(Hashtable param) {
+ String dataProducerName = (String)param.get("DataBaseOutProducer");
+ if (dataProducerName == null) {
+ String testBaseName = (String)param.get("TestBase");
+ dataProducerName = testBaseName.substring(testBaseName.indexOf("_")+1);
+ dataProducerName = "stats." + makeFirstCharUpperCase(dataProducerName)
+ + "DataBaseOutProducer";
+ }
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ LogWriter dbOut = null;
+ try {
+ dbOut = (LogWriter)dcl.getInstance(dataProducerName,
+ new Class[]{new Hashtable().getClass()}, new Object[]{param});
+ }
+ catch(IllegalArgumentException e) {
+ e.printStackTrace();
+ }
+ return dbOut;
+ }
+
+ /**
+ * As a fallback, create a simple out producer, if all else failed.
+ * @return A simple out producer, writing to the screen.
+ */
+ public static LogWriter createSimpleOutProducer() {
+ return new SimpleOutProducer();
+ }
+
+ private static boolean convertToBool(Object val) {
+ if(val != null) {
+ if ( val instanceof String ) {
+ String sVal = (String)val;
+ if ( sVal.equalsIgnoreCase("true") || sVal.equalsIgnoreCase("yes") ) {
+ return true;
+ }
+
+ }
+ else if (val instanceof Boolean) {
+ return ((Boolean)val).booleanValue();
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Make the first character to an upper case char.
+ * @param name The String to change
+ * @return The String with an upper case first char.
+ */
+ private static String makeFirstCharUpperCase(String name) {
+ return name.substring(0,1).toUpperCase() + name.substring(1);
+ }
+
+/* public static void main(String[] args) {
+ Hashtable p = new Hashtable();
+ p.put("DataBaseOut", "yes");
+ p.put("TestBase", "java_complex");
+ p.put("Version", "srx645gggg");
+ createDataBaseOutProducer(p);
+ } */
+}
diff --git a/qadevOOo/runner/stats/SQLExecution.java b/qadevOOo/runner/stats/SQLExecution.java
new file mode 100644
index 000000000000..c55da50327a6
--- /dev/null
+++ b/qadevOOo/runner/stats/SQLExecution.java
@@ -0,0 +1,337 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.Statement;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+/**
+ *
+ */
+public class SQLExecution {
+
+ protected Connection mConnection = null;
+ protected Statement mStatement = null;
+ protected String mJdbcClass = null;
+ protected String mDbURL = null;
+ protected String mUser = null;
+ protected String mPassword = null;
+ protected boolean m_bConnectionOpen = false;
+ protected boolean m_bDebug = false;
+
+
+ /** Creates a new instance of SQLExecution
+ * @param jdbcClass The jdbc class for the connection.
+ * @param dbUrl The url of the database.
+ * @param user The user for connecting the database.
+ * @param password The password of throws user.
+ */
+ public SQLExecution(String jdbcClass, String dbUrl, String user, String password) {
+ mJdbcClass = jdbcClass;
+ mUser = user;
+ mPassword = password;
+ mDbURL = dbUrl;
+ }
+
+ /** Creates a new instance of SQLExecution with additional debug output.
+ * @param jdbcClass The jdbc class for the connection.
+ * @param dbUrl The url of the database.
+ * @param user The user for connecting the database.
+ * @param password The password of throws user.
+ * @param debug Write debug information, if true.
+ */
+ public SQLExecution(String jdbcClass, String dbUrl, String user, String password, boolean debug) {
+ mJdbcClass = jdbcClass;
+ mUser = user;
+ mPassword = password;
+ mDbURL = dbUrl;
+ m_bDebug = debug;
+ }
+
+ /**
+ * Open a connection to the DataBase
+ * @return True, if no error occured.
+ */
+ public boolean openConnection() {
+ if(m_bConnectionOpen) return true;
+ try {
+ Class.forName(mJdbcClass);
+ } catch (ClassNotFoundException e) {
+ System.err.println("Couldn't find jdbc driver : " + e.getMessage());
+ return false;
+ }
+
+ try {
+ // establish database connection
+ mConnection = DriverManager.getConnection(
+ mDbURL, mUser, mPassword);
+ mStatement = mConnection.createStatement();
+ }
+ catch(java.sql.SQLException e) {
+ System.err.println("Couldn't establish a connection: " + e.getMessage());
+ return false;
+ }
+ m_bConnectionOpen = true;
+ return true;
+ }
+
+ /**
+ * Close the connection to the DataBase
+ * @return True, if no error occured.
+ */
+ public boolean closeConnection() {
+ if (!m_bConnectionOpen) return true;
+ try {
+ // close database connection
+ mStatement.close();
+ mConnection.close();
+ }
+ catch(java.sql.SQLException e) {
+ System.err.println("Couldn't close the connection: " + e.getMessage());
+ return false;
+ }
+ m_bConnectionOpen = false;
+ return true;
+ }
+
+ /**
+ * Execute an sql command.
+ * @param command The command to execute.
+ * @param sqlInput Input values for the command.
+ * @param sqlOutput The results of the command are put in this Hashtable.
+ * @return True, if no error occured.
+ */
+ public boolean executeSQLCommand(String command, Hashtable sqlInput, Hashtable sqlOutput)
+ throws IllegalArgumentException {
+ return executeSQLCommand(command, sqlInput, sqlOutput, false);
+ }
+
+ /**
+ * Execute an sql command.
+ * @param command The command to execute.
+ * @param sqlInput Input values for the command.
+ * @param sqlOutput The results of the command are put in this Hashtable.
+ * @param mergeOutputIntoInput The output of the result is put into the
+ * sqlInput Hashtable.
+ * @return True, if no error occured.
+ */
+ public boolean executeSQLCommand(String command, Hashtable sqlInput, Hashtable sqlOutput, boolean mergeOutputIntoInput)
+ throws IllegalArgumentException {
+ if (sqlOutput == null) {
+ sqlOutput = new Hashtable();
+ // this has to be true, so the user of this method gets a return
+ mergeOutputIntoInput = true;
+ if (sqlInput == null) {
+ System.out.println("sqlInput and sqlOutput are null: cannot return the results of the sql command.");
+ return false;
+ }
+ }
+ Vector sqlCommand = new Vector();
+ sqlCommand.add("");
+ boolean update = false;
+ // synchronize all "$varname" occurences in the command string with
+ // values from input
+ StringTokenizer token = new StringTokenizer(command, " ");
+ while (token.hasMoreTokens()) {
+ String originalKey = token.nextToken();
+ // search for keys, beginning with "$"
+ int index = originalKey.indexOf('$');
+ if (index != -1) {
+ // found key
+ String pre = "";
+ pre = originalKey.substring(0,index);
+ // generate key: remove "$"
+ String key = originalKey.substring(index+1);
+ String post = "";
+ // remove any endings the key might have
+ while (key.endsWith(",") || key.endsWith("\'") ||
+ key.endsWith(";") || key.endsWith(")") ||
+ key.endsWith("\"")) {
+ post = key.substring(key.length()-1) + post;
+ key = key.substring(0, key.length()-1);
+ }
+ // look for key in the Hashtable
+ if (sqlInput.containsKey(key)) {
+ // is there a value for the key?
+ Object in = sqlInput.get(key);
+ if (in instanceof String[]) {
+ // value is a String[]
+ String[]vals = (String[])in;
+ if (vals.length != sqlCommand.size() && sqlCommand.size() > 1) {
+ // size of this array and previous array(s) does not match
+ throw new IllegalArgumentException("The key '" + key + "' in command \n'"
+ + command + "'\n has not the same value count as the keys before.");
+ }
+ // build up the commands
+ boolean addNewVals = (sqlCommand.size() == 1);
+ for (int i=0; i<vals.length; i++) {
+ String value = checkForQuotationMarks(vals[i]);
+ // add the values
+ if (addNewVals && i!=0) {
+ // all values until now were of type String, not String[], so now new values have to be added.
+ sqlCommand.add(i, (String)sqlCommand.get(0) + " " + pre + value + post);
+ }
+ else {
+ // we already have vals.length commands (or are at the first command), so just add.
+ sqlCommand.set(i, (String)sqlCommand.get(i) + " " + pre + value + post);
+ }
+ }
+ }
+ else {
+ // value is a String: no other possibility
+ String value = checkForQuotationMarks((String)sqlInput.get(key));
+ for (int i=0; i<sqlCommand.size(); i++) {
+ sqlCommand.set(i, (String)sqlCommand.get(i) + " " + pre + value + post);
+ }
+ }
+ }
+ else {
+ // no input value found
+ throw new IllegalArgumentException ("The key '" + key + "' in command \n'"
+ + command + "'\n does not exist in the input values.");
+ }
+ }
+ else {
+ // token is not a key, just add it
+ for (int i=0; i<sqlCommand.size(); i++)
+ sqlCommand.set(i, (String)sqlCommand.get(i) + " " + originalKey);
+ if (originalKey.equalsIgnoreCase("update") ||
+ originalKey.equalsIgnoreCase("delete") ||
+ originalKey.equalsIgnoreCase("insert")) {
+ update = true;
+ }
+
+ }
+ }
+ for (int i=0;i<sqlCommand.size(); i++) {
+ execute((String)sqlCommand.get(i), sqlOutput, update);
+ // merge output with input
+ if (!update && mergeOutputIntoInput) {
+ Enumeration keys = sqlOutput.keys();
+ while(keys.hasMoreElements()) {
+ String key = (String)keys.nextElement();
+ String[]val = (String[])sqlOutput.get(key);
+ if (val != null && val.length != 0) {
+ if (val.length == 1)
+ sqlInput.put(key, val[0]);
+ else
+ sqlInput.put(key, val);
+ }
+ }
+ }
+ }
+ if (!update && sqlOutput == null)
+ return false;
+ return true;
+ }
+
+ /**
+ * Execute any SQL command.
+ * @param command The command.
+ * @param update If true, it is a update/alter command instead of an select
+ * command
+ * @return A Hashtable with the result.
+ */
+ private void execute(String command, Hashtable output, boolean update) {
+ if (m_bDebug)
+ System.out.println("Debug - SQLExecution - execute Command: " + command);
+ try {
+ if (update) {
+ // make an update
+ mStatement.executeUpdate(command);
+ }
+ else {
+ // make a select: collect the result
+ ResultSet sqlResult = mStatement.executeQuery(command);
+ ResultSetMetaData sqlRSMeta = sqlResult.getMetaData();
+ int columnCount = sqlRSMeta.getColumnCount();
+ String[] columnNames = new String[columnCount];
+ int countRows = 0;
+ boolean goThroughRowsTheFirstTime = true;
+ for(int i=1; i<=columnCount; i++) {
+ columnNames[i-1] = sqlRSMeta.getColumnName(i);
+ // initialize output
+ Vector v = new Vector();
+
+ sqlResult.beforeFirst();
+ while (sqlResult.next()) {
+ String value = sqlResult.getString(i);
+ v.add(value);
+ // the first time: count rows
+ if (goThroughRowsTheFirstTime)
+ countRows++;
+ }
+ // rows are counted
+ if (goThroughRowsTheFirstTime)
+ goThroughRowsTheFirstTime = false;
+
+ // put result in output Hashtable
+ String[]s = new String[countRows];
+ s = (String[])v.toArray(s);
+ output.put(columnNames[i-1], s);
+ if (m_bDebug) {
+ if (i == 1) {
+ System.out.print("Debug - SQLExecution - Command returns: ");
+ System.out.print("row: " + columnNames[i-1] + " vals: ");
+ }
+ for (int j=0; j<s.length; j++)
+ System.out.print(s[j] + " ");
+ if (i == columnCount - 1)
+ System.out.println();
+ }
+ }
+ }
+ }
+ catch (java.sql.SQLException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Replace <"> with <''> in the value Strings, or the command will fail.
+ * @param checkString The String that is checked: a part of the command
+ * @return The String, cleared of all quotation marks.
+ */
+ private String checkForQuotationMarks(String checkString) {
+ String returnString = checkString;
+ int quotIndex = 0;
+ while ((quotIndex = returnString.indexOf('\"')) != -1) {
+ String firstHalf = returnString.substring(0, quotIndex);
+ String secondHalf = returnString.substring(quotIndex+1);
+ returnString = firstHalf + "\'\'" + secondHalf;
+ }
+ return returnString;
+ }
+
+}
diff --git a/qadevOOo/runner/stats/SimpleFileOutProducer.java b/qadevOOo/runner/stats/SimpleFileOutProducer.java
new file mode 100644
index 000000000000..e03cf374e187
--- /dev/null
+++ b/qadevOOo/runner/stats/SimpleFileOutProducer.java
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import share.LogWriter;
+import java.io.File;
+import java.io.FileWriter;
+
+public class SimpleFileOutProducer implements LogWriter {
+
+
+ /** initialization, here a filename might be given
+ * or a dbUrL
+ */
+ public boolean initialize(share.DescEntry entry, boolean active) {
+ return true;
+ }
+
+ /** Method to print
+ */
+ public void println(String msg) {
+
+ }
+
+ /** will mostly be used by outproducers to sum up
+ * the information, maybe write them to a db
+ */
+ public boolean summary(share.DescEntry entry) {
+ try {
+ String outpath = (String) entry.UserDefinedParams.get("OutputPath");
+ if (outpath==null) {
+ System.out.println("## Parameter OutputPath isn't defined using default");
+ return summary_default(entry);
+ }
+ String FileName = entry.longName + ".out";
+ if (!entry.EntryType.equals("component")) {
+ FileName = entry.longName.substring(0,
+ entry.longName.indexOf(":")) + ".out";
+ }
+ util.utils.make_Directories("",outpath);
+ File outputFile = new File(outpath, FileName);
+ FileWriter out = new FileWriter(outputFile.toString(),true);
+ String ls = System.getProperty("line.separator");
+ String date = new java.util.Date().toString();
+ String header = "***** State for "+entry.longName+"( "+ date +" ) ******";
+ out.write(header+ls);
+ if (entry.hasErrorMsg) {
+ out.write(entry.ErrorMsg+ls);
+ out.write("Whole "+entry.EntryType+": "+entry.State+ls);
+ } else {
+ out.write("Whole "+entry.EntryType+": "+entry.State+ls);
+ }
+ String bottom="";
+ for (int i=0;i<header.length();i++) {
+ bottom += "*";
+ }
+ out.write(bottom+ls);
+ out.write(""+ls);
+ out.close();
+ } catch (java.io.IOException e) {
+
+ }
+ return true;
+ }
+
+ public boolean summary_default(share.DescEntry entry) {
+ String header = "***** State for "+entry.longName+" ******";
+ System.out.println(header);
+ if (entry.hasErrorMsg) {
+ System.out.println(entry.ErrorMsg);
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ } else {
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ }
+ for (int i=0;i<header.length();i++) {
+ System.out.print("*");
+ }
+ System.out.println("");
+ return true;
+ }
+
+ public Object getWatcher() {
+ return null;
+ }
+
+ public void setWatcher(Object watcher) {
+ }
+
+}
diff --git a/qadevOOo/runner/stats/SimpleLogWriter.java b/qadevOOo/runner/stats/SimpleLogWriter.java
new file mode 100644
index 000000000000..9bdfb30fe223
--- /dev/null
+++ b/qadevOOo/runner/stats/SimpleLogWriter.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import share.LogWriter;
+
+import java.io.PrintWriter;
+import java.text.DecimalFormat;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+public class SimpleLogWriter extends PrintWriter implements LogWriter {
+
+ boolean m_bLogging = false;
+ share.DescEntry entry = null;
+ share.Watcher ow = null;
+
+ public SimpleLogWriter() {
+ super(System.out);
+ Calendar cal = new GregorianCalendar();
+ DecimalFormat dfmt = new DecimalFormat("00");
+ super.println("LOG> Log started " +
+ dfmt.format(cal.get(Calendar.DAY_OF_MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.YEAR)) + " - " +
+ dfmt.format(cal.get(Calendar.HOUR_OF_DAY)) + ":" +
+ dfmt.format(cal.get(Calendar.MINUTE)) + ":" +
+ dfmt.format(cal.get(Calendar.SECOND)));
+ super.flush();
+ }
+
+ public boolean initialize(share.DescEntry _entry, boolean _bLogging) {
+ m_bLogging = _bLogging;
+ entry = _entry;
+
+ return true;
+ }
+
+ public void println(String msg) {
+ if ((ow == null) && (entry != null))
+ {
+ this.ow = (share.Watcher) entry.UserDefinedParams.get("Watcher");
+ if (this.ow != null)
+ {
+ this.ow.ping();
+ }
+ }
+ else
+ {
+ if (ow != null)
+ {
+ this.ow.ping();
+ }
+ else
+ {
+ // special case: ow == null && entry == null
+ System.out.println(msg);
+ }
+ }
+
+ if (m_bLogging) {
+ super.println("LOG> " + msg);
+ super.flush();
+ }
+ // else
+ // {
+ // super.println(" ++ " + msg);
+ // super.flush();
+ // }
+ }
+
+ public boolean summary(share.DescEntry entry) {
+ return true;
+ }
+
+ public Object getWatcher() {
+ return this.ow;
+ }
+
+ public void setWatcher(Object watcher)
+ {
+ if (watcher != null)
+ {
+ entry.UserDefinedParams.put("Watcher", (share.Watcher) watcher);
+ }
+ }
+}
diff --git a/qadevOOo/runner/stats/SimpleOutProducer.java b/qadevOOo/runner/stats/SimpleOutProducer.java
new file mode 100644
index 000000000000..4c91233e6f67
--- /dev/null
+++ b/qadevOOo/runner/stats/SimpleOutProducer.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import share.LogWriter;
+/**
+ *
+ * @author sw93809
+ */
+public class SimpleOutProducer implements LogWriter {
+
+
+ /** initialization, here a filename might be given
+ * or a dbUrL
+ */
+ public boolean initialize(share.DescEntry entry, boolean active) {
+ return true;
+ }
+
+ /** Method to print
+ */
+ public void println(String msg) {
+
+ }
+
+ /** will mostly be used by outproducers to sum up
+ * the information, maybe write them to a db
+ */
+ public boolean summary(share.DescEntry entry) {
+ String header = "***** State for "+entry.longName+" ******";
+ System.out.println(header);
+ if (entry.hasErrorMsg) {
+ System.out.println(entry.ErrorMsg);
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ } else {
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ }
+ for (int i=0;i<header.length();i++) {
+ System.out.print("*");
+ }
+ System.out.println("");
+ return true;
+ }
+
+ public Object getWatcher() {
+ return null;
+ }
+
+ public void setWatcher(Object watcher) {
+ }
+
+}
diff --git a/qadevOOo/runner/stats/Summarizer.java b/qadevOOo/runner/stats/Summarizer.java
new file mode 100644
index 000000000000..b1fe5fe61dd3
--- /dev/null
+++ b/qadevOOo/runner/stats/Summarizer.java
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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 stats;
+
+import java.util.Vector;
+import share.DescEntry;
+
+/**
+ *
+ * this class summs up the results of the subentries of a given DescEntry<br>
+ * and fills the subentries in cases of SKIPPED states
+ */
+public class Summarizer
+{
+
+ /**
+ *
+ * gets the state for a SuperEntry according to its subentries
+ * @param entry
+ */
+ public void summarizeUp(DescEntry entry)
+ {
+ if ((entry.State != null) && !entry.State.equals("UNKNOWN"))
+ {
+ return;
+ }
+ int count = entry.SubEntryCount;
+ int knownIssues = 0;
+ Vector failures = new Vector();
+ Vector states = new Vector();
+ for (int i = 0; i < count; i++)
+ {
+ if (entry.SubEntries[i].State == null)
+ {
+ entry.SubEntries[i].State = "PASSED.FAILED";
+ }
+ if (entry.SubEntries[i].State.equals("known issue"))
+ {
+ entry.SubEntries[i].State = "PASSED.OK";
+ knownIssues++;
+ }
+ if (!entry.SubEntries[i].State.endsWith("OK"))
+ {
+ String sFailure = "[" + entry.SubEntries[i].longName + "]" + " is testcode: [" + entry.SubEntries[i].entryName + "]";
+ failures.add(sFailure);
+ states.add(entry.SubEntries[i].State);
+ }
+ }
+ if (failures.size() > 0)
+ {
+ String errMsg = "";
+ String state = "PASSED.FAILED";
+ for (int j = 0; j < failures.size(); j++)
+ {
+ if (states.elementAt(j).equals("not part of the job"))
+ {
+ state = "Not possible since not all Interfaces/Services have been checked";
+ }
+ else
+ {
+ errMsg +=
+ failures.elementAt(j) + " - " + states.elementAt(j) + "\r\n";
+ }
+ }
+ entry.hasErrorMsg = true;
+ entry.ErrorMsg = errMsg;
+ entry.State = state;
+ }
+ else if (entry.EntryType.equals("component") && knownIssues > 0)
+ {
+ entry.State = "PASSED(with known issues).OK";
+ }
+ else
+ {
+ entry.State = "PASSED.OK";
+ }
+ }
+
+ public static void summarizeDown(DescEntry entry, String state)
+ {
+ if ((entry.State == null) || entry.State.equals("UNKNOWN"))
+ {
+ entry.State = state;
+ }
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ summarizeDown(entry.SubEntries[i], entry.State);
+ }
+ }
+}
diff --git a/qadevOOo/runner/stats/makefile.mk b/qadevOOo/runner/stats/makefile.mk
new file mode 100644
index 000000000000..af503a229038
--- /dev/null
+++ b/qadevOOo/runner/stats/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = stats
+TARGET = runner_stats
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+
+JAVAFILES = \
+ DataBaseOutProducer.java \
+ ComplexDataBaseOutProducer.java \
+ FatDataBaseOutProducer.java \
+ FileLogWriter.java \
+ OutProducerFactory.java \
+ SQLExecution.java \
+ SimpleOutProducer.java \
+ SimpleFileOutProducer.java \
+ SimpleLogWriter.java \
+ Summarizer.java \
+ InternalLogWriter.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/util/AccessibilityTools.java b/qadevOOo/runner/util/AccessibilityTools.java
new file mode 100644
index 000000000000..3fb964a2362b
--- /dev/null
+++ b/qadevOOo/runner/util/AccessibilityTools.java
@@ -0,0 +1,461 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+
+public class AccessibilityTools {
+ public static XAccessibleContext SearchedContext = null;
+ public static XAccessible SearchedAccessible = null;
+ private static boolean debug = false;
+
+ public AccessibilityTools() {
+ //done = false;
+ SearchedContext = null;
+ }
+
+ public static XAccessible getAccessibleObject(XInterface xObject) {
+ return UnoRuntime.queryInterface(XAccessible.class, xObject);
+ }
+
+ public static XWindow getCurrentContainerWindow(XMultiServiceFactory msf,
+ XModel xModel) {
+ return getWindow(msf, xModel, true);
+ }
+
+ public static XWindow getCurrentWindow(XMultiServiceFactory msf,
+ XModel xModel) {
+ return getWindow(msf, xModel, false);
+ }
+
+ private static XWindow getWindow(XMultiServiceFactory msf, XModel xModel,
+ boolean containerWindow) {
+ XWindow xWindow = null;
+
+ try {
+ if (xModel == null) {
+ System.out.println("invalid model (==null)");
+ }
+
+ XController xController = xModel.getCurrentController();
+
+ if (xController == null) {
+ System.out.println("can't get controller from model");
+ }
+
+ XFrame xFrame = xController.getFrame();
+
+ if (xFrame == null) {
+ System.out.println("can't get frame from controller");
+ }
+
+ if (containerWindow)
+ xWindow = xFrame.getContainerWindow();
+ else
+ xWindow = xFrame.getComponentWindow();
+
+ if (xWindow == null) {
+ System.out.println("can't get window from frame");
+ }
+ } catch (Exception e) {
+ System.out.println("caught exception while getting current window" + e);
+ }
+
+ return xWindow;
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role) {
+ SearchedContext = null;
+ SearchedAccessible = null;
+ getAccessibleObjectForRole_(xacc, role);
+
+ return SearchedContext;
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ boolean ignoreShowing) {
+ SearchedContext = null;
+ SearchedAccessible = null;
+
+ if (ignoreShowing) {
+ getAccessibleObjectForRoleIgnoreShowing_(xacc, role);
+ } else {
+ getAccessibleObjectForRole_(xacc, role);
+ }
+
+ return SearchedContext;
+ }
+
+ public static void getAccessibleObjectForRoleIgnoreShowing_(XAccessible xacc,
+ short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+
+ if (ac.getAccessibleRole() == role) {
+ SearchedContext = ac;
+ SearchedAccessible = xacc;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ getAccessibleObjectForRoleIgnoreShowing_(
+ ac.getAccessibleChild(i), role);
+
+ if (SearchedContext != null) {
+ return;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+ public static void getAccessibleObjectForRole_(XAccessible xacc,
+ short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ boolean isShowing = ac.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+
+ if ((ac.getAccessibleRole() == role) && isShowing) {
+ SearchedContext = ac;
+ SearchedAccessible = xacc;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ getAccessibleObjectForRole_(ac.getAccessibleChild(i), role);
+
+ if (SearchedContext != null) {
+ return;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ String name) {
+ return getAccessibleObjectForRole(xacc, role, name, "");
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ String name,
+ boolean ignoreShowing) {
+ if (ignoreShowing) {
+ return getAccessibleObjectForRoleIgnoreShowing(xacc, role, name,
+ "");
+ } else {
+ return getAccessibleObjectForRole(xacc, role, name, "");
+ }
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRoleIgnoreShowing(XAccessible xacc,
+ short role,
+ String name,
+ String implName) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if ((ac.getAccessibleRole() == role) &&
+ (ac.getAccessibleName().indexOf(name) > -1) &&
+ (utils.getImplName(ac).indexOf(implName) > -1)) {
+ SearchedAccessible = xacc;
+
+ //System.out.println("FOUND the desired component -- "+ ac.getAccessibleName() +isShowing);
+ return ac;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ XAccessibleContext ac1 = getAccessibleObjectForRoleIgnoreShowing(
+ ac.getAccessibleChild(i),
+ role, name, implName);
+
+ if (ac1 != null) {
+ return ac1;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+
+ return null;
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ String name,
+ String implName) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ boolean isShowing = ac.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+
+ // hotfix for i91828:
+ // if role to serach is 0 then ignore the role.
+ if ( (role == 0 || ac.getAccessibleRole() == role) &&
+ (ac.getAccessibleName().indexOf(name) > -1) &&
+ (utils.getImplName(ac).indexOf(implName) > -1) &&
+ isShowing) {
+ SearchedAccessible = xacc;
+ //System.out.println("FOUND the desired component -- "+ ac.getAccessibleName() +isShowing);
+ return ac;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ XAccessibleContext ac1 = getAccessibleObjectForRole(
+ ac.getAccessibleChild(i),
+ role, name, implName);
+
+ if (ac1 != null) {
+ return ac1;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This methods retunrs the <CODE>XAccessibleContext</CODE> of a named Sheet-Cell like "G5".<p>
+ * @param xSheetAcc The <CODE>XAccessibleContext</CODE> of a Sheet
+ * @param cellName The name of a cell like "A5"
+ * @return the <CODE>XAccessiblecontext</CODE> of the named cell
+ */
+ public static XAccessibleContext getSheetCell(XAccessibleContext xSheetAcc, String cellName){
+
+ int cellIndex = 0;
+ int column =0;
+ int charMem = 0;
+ for (int n=0; n<cellName.length(); n++){
+ String cha = cellName.substring(n,n+1);
+ System.out.println("char: " + cha + " ");
+
+ byte[] bytes = cha.getBytes();
+
+ if ((bytes[0] >= 'A') && (bytes[0] <= 'Z')){
+ charMem = bytes[0]-64;
+ column++;
+ if ( column == 2 ){
+ cellIndex += charMem * 26;
+ }
+ cellIndex= cellIndex+ (bytes[0]-65);
+ } else {
+ String sNumb = cellName.substring(n, cellName.length());
+ int iNumb = new Integer(0).valueOf(sNumb).intValue();
+ cellIndex += (iNumb-1) * 256;
+ System.out.println("numb:" + (iNumb-1) * 256);
+ }
+
+ }
+
+ //System.out.println("cellName: " + cellName + " cellIndex: " + cellIndex);
+
+ try {
+ XAccessibleContext ac = xSheetAcc.getAccessibleChild(cellIndex).getAccessibleContext();
+ System.out.println(ac.getAccessibleRole() + "," +
+ ac.getAccessibleName() + "(" +
+ ac.getAccessibleDescription() + "):" +
+ utils.getImplName(ac));
+
+ return ac;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ System.out.println("ERROR: could not get child at index " + cellIndex +"': " + ex.toString());
+ return null;
+ }
+ }
+
+ public static void printAccessibleTree(PrintWriter log, XAccessible xacc, boolean debugIsActive) {
+ debug = debugIsActive;
+ if (debug) printAccessibleTree(log, xacc, "");
+ }
+
+ public static void printAccessibleTree(PrintWriter log, XAccessible xacc) {
+ printAccessibleTree(log, xacc, "");
+ }
+
+ protected static void printAccessibleTree(PrintWriter log,
+ XAccessible xacc, String indent) {
+
+ XAccessibleContext ac = xacc.getAccessibleContext();
+
+ logging(log,indent + ac.getAccessibleRole() + "," +
+ ac.getAccessibleName() + "(" +
+ ac.getAccessibleDescription() + "):" +
+ utils.getImplName(ac));
+
+ XAccessibleComponent aComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class, xacc);
+
+ if (aComp != null) {
+ String bounds = "(" + aComp.getBounds().X + "," +
+ aComp.getBounds().Y + ")" + " (" +
+ aComp.getBounds().Width + "," +
+ aComp.getBounds().Height + ")";
+ bounds = "The boundary Rectangle is " + bounds;
+ logging(log,indent + indent + bounds);
+ }
+
+ boolean isShowing = ac.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+ logging(log,indent + indent + "StateType contains SHOWING: " +
+ isShowing);
+
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ printAccessibleTree(log, ac.getAccessibleChild(i),
+ indent + " ");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = ac.getAccessibleChildCount();
+
+ int st = ac.getAccessibleChildCount() - 50;
+ logging(log,indent + " " + " ...... [skipped] ......");
+
+ for (int i = st; i < k; i++) {
+ try {
+ printAccessibleTree(log, ac.getAccessibleChild(i),
+ indent + " ");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+ public static String accessibleToString(Object AC) {
+ XAccessibleContext xAC = (XAccessibleContext) UnoRuntime.queryInterface(
+ XAccessibleContext.class, AC);
+
+ if (xAC != null) {
+ return "" + xAC.getAccessibleRole() + "," +
+ xAC.getAccessibleName() + "(" +
+ xAC.getAccessibleDescription() + "):";
+ }
+
+ XAccessible xA = (XAccessible) UnoRuntime.queryInterface(
+ XAccessible.class, AC);
+
+ if (xA == null) {
+ return "(Not supported)";
+ }
+
+ xAC = xA.getAccessibleContext();
+
+ return "" + xAC.getAccessibleRole() + "," + xAC.getAccessibleName() +
+ "(" + xAC.getAccessibleDescription() + ")";
+ }
+
+ public static boolean equals(XAccessible c1, XAccessible c2) {
+ if ((c1 == null) || (c2 == null)) {
+ return c1 == c2;
+ }
+
+ return AccessibilityTools.equals(c1.getAccessibleContext(),
+ c2.getAccessibleContext());
+ }
+
+ public static boolean equals(XAccessibleContext c1, XAccessibleContext c2) {
+ if ((c1 == null) || (c2 == null)) {
+ return c1 == c2;
+ }
+
+ if (c1.getAccessibleRole() != c2.getAccessibleRole()) {
+ return false;
+ }
+
+ if (!c1.getAccessibleName().equals(c2.getAccessibleName())) {
+ return false;
+ }
+
+ if (!c1.getAccessibleDescription()
+ .equals(c2.getAccessibleDescription())) {
+ return false;
+ }
+
+ if (c1.getAccessibleChildCount() != c2.getAccessibleChildCount()) {
+ return false;
+ }
+
+ return AccessibilityTools.equals(c1.getAccessibleParent(),
+ c2.getAccessibleParent());
+ }
+
+ private static void logging(PrintWriter log, String content){
+ if (debug) log.println(content);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/BasicMacroTools.java b/qadevOOo/runner/util/BasicMacroTools.java
new file mode 100644
index 000000000000..0d64779137f7
--- /dev/null
+++ b/qadevOOo/runner/util/BasicMacroTools.java
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.script.XLibraryContainer;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.*;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+
+public class BasicMacroTools {
+ private final XDispatchProvider mDispProv;
+ private final XMultiServiceFactory mMSF;
+ private final XURLTransformer mParser;
+ private final XNameAccess mLCxNA; //LibraryContainer::XNameAccess
+ private final XLibraryContainer mLCxLC; //LibraryContainer::XLibraryContainer
+
+ /*
+ *While initializing the Basic Libraries will be appendend to the Document
+ */
+ public BasicMacroTools(XMultiServiceFactory msf, XModel xModel,
+ XComponent xDoc) throws java.lang.Exception {
+ try {
+ mMSF = msf;
+ mDispProv = makeDispatchProvider(mMSF, xModel);
+ mParser = makeParser(mMSF);
+
+ Object DocLibCont = null;
+
+ try {
+ XPropertySet xDocProps = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, xDoc);
+ DocLibCont = xDocProps.getPropertyValue("BasicLibraries");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new Exception(
+ "Couldn't get BasicLibraries-Container from document: " + e.toString());
+ }
+
+ mLCxNA = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class,
+ DocLibCont);
+
+ mLCxLC = (XLibraryContainer) UnoRuntime.queryInterface(
+ XLibraryContainer.class, DocLibCont);
+
+ } catch (Exception e) {
+ throw new Exception("could not initialize BasicMacros " +
+ e.toString());
+ }
+ }
+
+ /*
+ * While initializing the Basic Libraries will be appendend to the Office
+ */
+ public BasicMacroTools(XMultiServiceFactory msf, XModel xModel)
+ throws java.lang.Exception {
+ try {
+ mMSF = msf;
+ mDispProv = makeDispatchProvider(mMSF, xModel);
+ mParser = makeParser(mMSF);
+
+ Object ASLC = null;
+
+ try {
+ ASLC = mMSF.createInstance(
+ "com.sun.star.script.ApplicationScriptLibraryContainer");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new Exception(
+ "Couldn't create ApplicationScriptLibraryContainer" + e.toString());
+ }
+
+ mLCxNA = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class,
+ ASLC);
+
+ mLCxLC = (XLibraryContainer) UnoRuntime.queryInterface(
+ XLibraryContainer.class, ASLC);
+
+ } catch (Exception e) {
+ throw new Exception("could not initialize BasicMacros " +
+ e.toString());
+ }
+ }
+
+ private static XDispatchProvider makeDispatchProvider(XMultiServiceFactory mMSF,
+ XModel aModel)
+ throws java.lang.Exception {
+ XController xController = aModel.getCurrentController();
+ XFrame xFrame = xController.getFrame();
+
+ if (xFrame == null) {
+ throw new Exception("Could not create DispatchProvider");
+ }
+
+ return (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class, xFrame);
+ }
+
+ private static XURLTransformer makeParser(XMultiServiceFactory mMSF)
+ throws java.lang.Exception {
+ try {
+ return (com.sun.star.util.XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, mMSF.createInstance(
+ "com.sun.star.util.URLTransformer"));
+ } catch (Exception e) {
+ throw new Exception("could not create UTL-Transformer " +
+ e.toString());
+ }
+ }
+
+ public void loadLibrary(String LibraryName, String LibraryURL)
+ throws java.lang.Exception {
+ try {
+ appendLibrary(LibraryName, LibraryURL);
+ } catch (java.lang.Exception e) {
+ e.printStackTrace();
+ throw new Exception("ERROR: Could not append Library " +
+ LibraryName + e.toString());
+ }
+
+ try {
+ mLCxLC.loadLibrary(LibraryName);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace();
+ throw new Exception("ERROR: Could not load Library " +
+ LibraryName + e.toString());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new Exception("ERROR: Could not load Library " +
+ LibraryName + e.toString());
+ }
+ }
+
+ private void appendLibrary(String LibraryName, String LibraryURL)
+ throws java.lang.Exception {
+ try {
+ removeLibrary(LibraryName);
+ } catch (java.lang.Exception e) {
+ }
+
+ try {
+ mLCxLC.createLibraryLink(LibraryName, LibraryURL, false);
+ } catch (com.sun.star.container.ElementExistException e) {
+ e.printStackTrace();
+ throw new Exception("ERROR: Library " + LibraryName +
+ "already exist." + e.toString());
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new Exception("Could not link Basic library:" +
+ LibraryName + e.toString());
+ }
+ }
+
+ public void removeLibrary(String LibraryName) throws java.lang.Exception {
+ if (mLCxNA.hasByName(LibraryName)) {
+ try {
+ mLCxLC.removeLibrary(LibraryName);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace();
+ throw new Exception("Could not remove Basic library:" +
+ LibraryName + ": Library does not exist" + e.toString());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new Exception("Could not remove Basic library:" +
+ LibraryName + e.toString());
+ }
+ }
+ }
+
+ public void runMarco(String MacroName) throws java.lang.Exception {
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = "macro://./" + MacroName; //Standard.Stock.GetSymbol('micro','')";
+ mParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = mDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ } else {
+ throw new Exception("Could not run Macro " + MacroName);
+ }
+ }
+
+ /**
+ * Set the given <CODE>secureURL</CODE> as secure URL for marco execution.
+ * The macros of documents located in <CODE>secureURL</CODE> will be executed
+ * automatically.
+ * @param xMSF the XMultiServiceFactory
+ * @param secureURL the URL the documet is located
+ * @throws java.lang.Exception throws this exception on any error
+ */
+ public static void addSecureBasicMarcosURL(XMultiServiceFactory xMSF, String secureURL)
+ throws Exception {
+
+ secureURL = utils.getFullURL(secureURL);
+
+ // configure Office to allow to execute macos
+ PropertyValue[] ProvArgs = new PropertyValue [1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "nodepath";
+ Arg.Value = "/org.openoffice.Office.Common/Security";
+ ProvArgs[0] = Arg;
+
+ Object oProvider = xMSF.createInstance("com.sun.star.configuration.ConfigurationProvider");
+
+
+ XMultiServiceFactory oProviderMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, oProvider);
+
+ Object oSecure = oProviderMSF.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationUpdateAccess",
+ ProvArgs);
+
+ XPropertySet oSecureProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, oSecure);
+
+ Object oScripting = oSecureProps.getPropertyValue("Scripting");
+ XPropertySet oScriptingSettings = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, oScripting);
+
+ oScriptingSettings.setPropertyValue("SecureURL", new String[]{secureURL});
+ oScriptingSettings.setPropertyValue("OfficeBasic", new Integer(2));
+
+ XChangesBatch oSecureChange = (XChangesBatch) UnoRuntime.queryInterface(XChangesBatch.class, oSecure);
+ oSecureChange.commitChanges();
+ }
+}
diff --git a/qadevOOo/runner/util/BookmarkDsc.java b/qadevOOo/runner/util/BookmarkDsc.java
new file mode 100644
index 000000000000..5929192ac1df
--- /dev/null
+++ b/qadevOOo/runner/util/BookmarkDsc.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 util;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * describes a Bookmark to be inserted in a container
+ */
+public class BookmarkDsc extends InstDescr {
+
+ final String service = "com.sun.star.text.Bookmark";
+ String ifcName = "com.sun.star.text.XTextContent";
+ private String name = null;
+
+
+ public BookmarkDsc() {
+ initBookmark();
+ }
+
+ public BookmarkDsc( String name ) {
+ this.name = name;
+ initBookmark();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ public String getService() {
+ return service;
+ }
+
+ private void initBookmark() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent BM = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return BM;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/CalcTools.java b/qadevOOo/runner/util/CalcTools.java
new file mode 100644
index 000000000000..08a8b945839a
--- /dev/null
+++ b/qadevOOo/runner/util/CalcTools.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XCellRangeData;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * This class contains some usefull mathods to handle Calc documents
+ * and its sheets.
+ */
+public class CalcTools {
+
+ /**
+ * fills a range of a calc sheet with computed data of type
+ * <CODE>Double</CODE>.
+ * @param xSheetDoc the Clac documents wich should be filled
+ * @param sheetNumber the number of the sheet of <CODE>xSheetDoc</CODE>
+ * @param startCellX the cell number of the X start point (row) of the range to fill
+ * @param startCellY the cell number of the Y start point (column) of the range to fill
+ * @param rangeLengthX the size of the range expansion in X-direction
+ * @param rangeLengthY the size of the range expansion in Y-direction
+ * @throws java.lang.Exception on any error an <CODE>java.lang.Exception</CODE> was thrown
+ */
+ public static void fillCalcSheetWithContent(XComponent xSheetDoc, int sheetNumber,
+ int startCellX, int startCellY, int rangeLengthX, int rangeLengthY)
+ throws java.lang.Exception {
+ try{
+ XSpreadsheet xSheet = getSpreadSheetFromSheetDoc(xSheetDoc, sheetNumber);
+
+ fillCalcSheetWithContent(xSheet, startCellX, startCellY, rangeLengthX, rangeLengthY);
+
+ } catch (Exception e){
+ throw new Exception(
+ "Couldn't fill CalcSheet with content: " + e.toString());
+ }
+ }
+
+ /**
+ * fills a range of a calc sheet with computed data of type
+ * <CODE>Double</CODE>.
+ * @param xSheet the sheet to fill with content
+ * @param startCellX the cell number of the X start point (row) of the range to fill
+ * @param startCellY the cell number of the Y start point (column) of the range to fill
+ * @param rangeLengthX the size of the range expansion in X-direction
+ * @param rangeLengthY the size of the range expansion in Y-direction
+ * @throws java.lang.Exception on any error an <CODE>java.lang.Exception</CODE> was thrown
+ */
+ public static void fillCalcSheetWithContent(XSpreadsheet xSheet,
+ int startCellX, int startCellY, int rangeLengthX, int rangeLengthY)
+ throws java.lang.Exception {
+
+ try{
+ // create a range with content
+ Object[][] newData = new Object[rangeLengthY][rangeLengthX];
+ for (int i=0; i<rangeLengthY; i++) {
+ for (int j=0; j<rangeLengthX; j++) {
+ newData[i][j] = new Double(10*i +j);
+ }
+ }
+ XCellRange xRange = null;
+ try {
+ xRange = xSheet.getCellRangeByPosition(startCellX, startCellY,
+ startCellX+rangeLengthX-1, startCellY+rangeLengthY-1);
+ } catch ( IndexOutOfBoundsException e){
+ throw new Exception(
+ "Couldn't get CellRange from sheett: " + e.toString());
+ }
+
+ XCellRangeData xRangeData = (XCellRangeData) UnoRuntime.queryInterface(XCellRangeData.class, xRange);
+
+ xRangeData.setDataArray(newData);
+ } catch (Exception e){
+ throw new Exception(
+ "Couldn't fill CalcSheet with content: " + e.toString());
+ }
+ }
+
+ /**
+ *
+ * returns an <CODE>XSpreadsheet</CODE> from a Calc document.
+ * @param xSheetDoc the Calc docuent which containes the sheet
+ * @param sheetNumber the number of the sheet to return
+ * @throws java.lang.Exception on any error an <CODE>java.lang.Exception</CODE> was thrown
+ * @return calc sheet
+ * @see com.sun.star.sheet.XSpreadsheet
+ */
+ public static XSpreadsheet getSpreadSheetFromSheetDoc(XComponent xSheetDoc, int sheetNumber)
+ throws java.lang.Exception {
+
+ XSpreadsheet xSheet = null;
+
+ try{
+ XSpreadsheetDocument xSpreadsheetDoc = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+
+ XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets();
+
+ XIndexAccess xSheetsIndexArray = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try{
+ xSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),xSheetsIndexArray.getByIndex(sheetNumber));
+
+ } catch (IllegalArgumentException e){
+ throw new Exception(
+ "Couldn't get sheet '" +sheetNumber + "' : " + e.toString());
+ } catch (IndexOutOfBoundsException e){
+ throw new Exception(
+ "Couldn't get sheet '" +sheetNumber + "' : " + e.toString());
+ } catch (WrappedTargetException e){
+ throw new Exception(
+ "Couldn't get sheet '" +sheetNumber + "' : " + e.toString());
+ }
+ } catch (Exception e){
+ throw new Exception(
+ "Couldn't get sheet '" +sheetNumber + "' : " + e.toString());
+ }
+ return xSheet;
+ }
+}
diff --git a/qadevOOo/runner/util/ControlDsc.java b/qadevOOo/runner/util/ControlDsc.java
new file mode 100644
index 000000000000..f2f1a82e63f4
--- /dev/null
+++ b/qadevOOo/runner/util/ControlDsc.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Describes a Control to be inserted in a container
+ */
+
+public class ControlDsc extends InstDescr {
+
+ private String name = null;
+ final String ifcName = "com.sun.star.form.XFormComponent";
+ String service = "com.sun.star.form.component.CommandButton";
+
+ public ControlDsc( String kind ) {
+ service="com.sun.star.form.component."+kind;
+ initControl();
+ }
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+ public String getService() {
+ return service;
+ }
+
+ private void initControl() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XInterface Control = (XInterface)UnoRuntime.queryInterface(ifcClass, SrvObj );
+
+ return Control;
+
+ }
+}
diff --git a/qadevOOo/runner/util/DBTools.java b/qadevOOo/runner/util/DBTools.java
new file mode 100644
index 000000000000..440274d8fd9a
--- /dev/null
+++ b/qadevOOo/runner/util/DBTools.java
@@ -0,0 +1,824 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.uno.Exception;
+import java.io.PrintWriter ;
+
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sdbc.XConnection ;
+import com.sun.star.sdbc.XResultSet ;
+import com.sun.star.sdbc.XResultSetUpdate ;
+import com.sun.star.sdbc.XStatement ;
+import com.sun.star.sdbc.XRowUpdate ;
+import com.sun.star.util.Date ;
+import com.sun.star.uno.XNamingService ;
+import com.sun.star.task.XInteractionHandler ;
+import com.sun.star.sdb.XCompletedConnection ;
+import com.sun.star.container.XEnumeration ;
+import com.sun.star.container.XEnumerationAccess ;
+import com.sun.star.io.XInputStream ;
+import com.sun.star.io.XTextInputStream ;
+import com.sun.star.io.XDataInputStream ;
+import com.sun.star.container.XNameAccess ;
+import com.sun.star.frame.XStorable;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdbc.XCloseable ;
+import java.sql.Statement;
+import java.sql.Connection;
+import java.sql.DriverManager;
+
+/**
+* Provides useful methods for working with SOffice databases.
+* Database creation, data transfering, outputting infromation.
+*/
+public class DBTools {
+
+ private XMultiServiceFactory xMSF = null ;
+ private XNamingService dbContext = null ;
+ private PrintWriter m_log = null;
+
+ //JDBC driver
+ public final static String TST_JDBC_DRIVER = "org.gjt.mm.mysql.Driver";
+
+ // constants for TestDB table column indexes
+ public final static int TST_STRING = 1 ;
+ public final static int TST_INT = 2 ;
+ public final static int TST_DOUBLE = 5 ;
+ public final static int TST_DATE = 6 ;
+ public final static int TST_BOOLEAN = 10 ;
+ public final static int TST_CHARACTER_STREAM = 11 ;
+ public final static int TST_BINARY_STREAM = 12 ;
+
+ // constants for TestDB columns names
+ public final static String TST_STRING_F = "_TEXT" ;
+ public final static String TST_INT_F = "_INT" ;
+ public final static String TST_DOUBLE_F = "_DOUBLE" ;
+ public final static String TST_DATE_F = "_DATE" ;
+ public final static String TST_BOOLEAN_F = "_BOOL" ;
+ public final static String TST_CHARACTER_STREAM_F = "_MEMO1" ;
+ public final static String TST_BINARY_STREAM_F = "_MEMO2" ;
+
+ /**
+ * Values for filling test table.
+ */
+ public final static Object[][] TST_TABLE_VALUES = new Object[][] {
+ {"String1", new Integer(1), null, null, new Double(1.1),
+ new Date((short) 1,(short) 1, (short) 2001), null, null, null,
+ Boolean.TRUE, null, null},
+ {"String2", new Integer(2), null, null, new Double(1.2),
+ new Date((short) 2, (short) 1,(short) 2001), null, null, null,
+ Boolean.FALSE, null, null},
+ {null, null, null, null, null,
+ null, null, null, null,
+ null, null, null}
+ } ;
+
+ /**
+ * Array of lengths of streams for each row in of the
+ * <code>TST_TABLE_VALUES</code> constants.
+ */
+ public final static int[] TST_STREAM_LENGTHS = {0, 0, 0} ;
+
+ /**
+ * It's just a structure with some useful methods for representing
+ * <code>com.sun.star.sdb.DataSource</code> service. All this
+ * service's properties are stored in appropriate class fields.
+ * Class also allows to construct its instances using service
+ * information, and create new service instance upon class
+ * fields.
+ * @see com.sun.star.sdb.DataSource
+ */
+ public class DataSourceInfo {
+ /**
+ * Representation of <code>'Name'</code> property.
+ */
+ public String Name = null ;
+ /**
+ * Representation of <code>'URL'</code> property.
+ */
+ public String URL = null ;
+ /**
+ * Representation of <code>'Info'</code> property.
+ */
+ public PropertyValue[] Info = null ;
+ /**
+ * Representation of <code>'User'</code> property.
+ */
+ public String User = null ;
+ /**
+ * Representation of <code>'Password'</code> property.
+ */
+ public String Password = null ;
+ /**
+ * Representation of <code>'IsPasswordRequired'</code> property.
+ */
+ public Boolean IsPasswordRequired = null ;
+ /**
+ * Representation of <code>'SuppressVersionColumns'</code> property.
+ */
+ public Boolean SuppressVersionColumns = null ;
+ /**
+ * Representation of <code>'IsReadOnly'</code> property.
+ */
+ public Boolean IsReadOnly = null ;
+ /**
+ * Representation of <code>'TableFilter'</code> property.
+ */
+ public String[] TableFilter = null ;
+ /**
+ * Representation of <code>'TableTypeFilter'</code> property.
+ */
+ public String[] TableTypeFilter = null ;
+
+ /**
+ * Creates an empty instance.
+ */
+ public DataSourceInfo()
+ {
+ }
+
+ /**
+ * Creates an instance laying upon specified DataSource.
+ * @param dataSource All source properties are copied into
+ * class fields.
+ */
+ public DataSourceInfo(Object dataSource) {
+ XPropertySet xProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, dataSource) ;
+
+ try {
+ Name = (String)xProps.getPropertyValue("Name") ;
+ URL = (String)xProps.getPropertyValue("URL") ;
+ Info = (PropertyValue[])xProps.getPropertyValue("Info") ;
+ User = (String)xProps.getPropertyValue("User") ;
+ Password = (String)xProps.getPropertyValue("Password") ;
+ IsPasswordRequired = (Boolean)xProps.getPropertyValue("IsPasswordRequired") ;
+ SuppressVersionColumns = (Boolean)
+ xProps.getPropertyValue("SuppressVersionColumns") ;
+ IsReadOnly = (Boolean)xProps.getPropertyValue("IsReadOnly") ;
+ TableFilter = (String[])xProps.getPropertyValue("TableFilter") ;
+ TableTypeFilter = (String[])xProps.getPropertyValue("TableTypeFilter") ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ System.err.println("util.DBTools.DataSourceInfo: Error retrieving property") ;
+ e.printStackTrace(System.err) ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ System.err.println("util.DBTools.DataSourceInfo: Error retrieving property") ;
+ e.printStackTrace(System.err) ;
+ }
+ }
+
+ /**
+ * Prints datasource info.
+ * @param out Stream to which information is printed.
+ */
+ public void printInfo(PrintWriter out) {
+ out.println("Name = '" + Name + "'") ;
+ out.println(" URL = '" + URL + "'") ;
+ out.print(" Info = ") ;
+ if (Info == null) out.println("null") ;
+ else {
+ out.print("{") ;
+ for (int i = 0; i < Info.length; i++) {
+ out.print(Info[i].Name + " = '" + Info[i].Value + "'") ;
+ if (i + 1 < Info.length) out.print("; ") ;
+ }
+ out.println("}") ;
+ }
+ out.println(" User = '" + User + "'") ;
+ out.println(" Password = '" + Password + "'") ;
+ out.println(" IsPasswordRequired = '" + IsPasswordRequired + "'") ;
+ out.println(" SuppressVersionColumns = '" + SuppressVersionColumns + "'") ;
+ out.println(" IsReadOnly = '" + IsReadOnly + "'") ;
+ out.print(" TableFilter = ") ;
+ if (TableFilter == null) out.println("null") ;
+ else {
+ out.print("{") ;
+ for (int i = 0; i < TableFilter.length; i++) {
+ out.print("'" + TableFilter[i] + "'") ;
+ if (i+1 < TableFilter.length) out.print("; ");
+ }
+ out.println("}") ;
+ }
+ out.print(" TableTypeFilter = ") ;
+ if (TableTypeFilter == null) out.println("null") ;
+ else {
+ out.print("{") ;
+ for (int i = 0; i < TableTypeFilter.length; i++) {
+ out.print("'" + TableTypeFilter[i] + "'") ;
+ if (i+1 < TableTypeFilter.length) out.print("; ");
+ }
+ out.println("}") ;
+ }
+ }
+
+ /**
+ * Creates new <code>com.sun.star.sdb.DataSource</code> service
+ * instance and copies all fields (which are not null) to
+ * appropriate service properties.
+ * @return <code>com.sun.star.sdb.DataSource</code> service.
+ */
+ public Object getDataSourceService() throws Exception
+ {
+ Object src = src = xMSF.createInstance("com.sun.star.sdb.DataSource") ;
+
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, src) ;
+
+ if (Name != null) props.setPropertyValue("Name", Name) ;
+ if (URL != null) props.setPropertyValue("URL", URL) ;
+ if (Info != null) props.setPropertyValue("Info", Info) ;
+ if (User != null) props.setPropertyValue("User", User) ;
+ if (Password != null) props.setPropertyValue("Password", Password) ;
+ if (IsPasswordRequired != null) props.setPropertyValue("IsPasswordRequired", IsPasswordRequired) ;
+ if (SuppressVersionColumns != null) props.setPropertyValue("SuppressVersionColumns", SuppressVersionColumns) ;
+ if (IsReadOnly != null) props.setPropertyValue("IsReadOnly", IsReadOnly) ;
+ if (TableFilter != null) props.setPropertyValue("TableFilter", TableFilter) ;
+ if (TableTypeFilter != null) props.setPropertyValue("TableTypeFilter", TableTypeFilter) ;
+
+ return src ;
+ }
+ }
+
+ /**
+ * Creates class instance.
+ * @param xMSF <code>XMultiServiceFactory</code>.
+ */
+ public DBTools(XMultiServiceFactory xMSF, PrintWriter _logger )
+ {
+ this.xMSF = xMSF ;
+ this.m_log = _logger;
+
+ try {
+ Object cont = xMSF.createInstance("com.sun.star.sdb.DatabaseContext") ;
+
+ dbContext = (XNamingService) UnoRuntime.queryInterface
+ (XNamingService.class, cont) ;
+
+ } catch (com.sun.star.uno.Exception e) {}
+ }
+
+ /**
+ * Returns new instance of <code>DataSourceInfo</code> class.
+ */
+ public DataSourceInfo newDataSourceInfo() { return new DataSourceInfo() ;}
+
+ /**
+ * Returns new instance of <code>DataSourceInfo</code> class.
+ */
+ public DataSourceInfo newDataSourceInfo(Object dataSource) {
+ return new DataSourceInfo(dataSource);
+ }
+
+ /**
+ * Registers the datasource on the specified name in
+ * <code>DatabaseContext</code> service.
+ * @param name Name which dataSource will have in global context.
+ * @param dataSource <code>DataSource</code> object which is to
+ * be registered.
+ */
+ public void registerDB(String name, Object dataSource)
+ throws com.sun.star.uno.Exception {
+
+ dbContext.registerObject(name, dataSource) ;
+ }
+
+
+ /**
+ * First tries to revoke the datasource with the specified
+ * name and then registers a new one.
+ * @param name Name which dataSource will have in global context.
+ * @param dataSource <code>DataSource</code> object which is to
+ * be registered.
+ */
+ public void reRegisterDB(String name, Object dataSource)
+ throws com.sun.star.uno.Exception {
+
+ try {
+ revokeDB(name) ;
+ } catch (com.sun.star.uno.Exception e) {}
+
+ XDocumentDataSource xDDS = (XDocumentDataSource)
+ UnoRuntime.queryInterface(XDocumentDataSource.class, dataSource);
+ XStorable store = (XStorable) UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+ String aFile = utils.getOfficeTemp(xMSF) + name + ".odb";
+ store.storeAsURL(aFile, new PropertyValue[] { });
+
+ registerDB(name, dataSource) ;
+ }
+
+ /**
+ * RESERVED. Not used.
+ */
+ public XConnection connectToTextDB(String contextName,
+ String dbDir, String fileExtension)
+ throws com.sun.star.uno.Exception {
+
+ try {
+ XInterface newSource = (XInterface) xMSF.createInstance
+ ("com.sun.star.sdb.DataSource") ;
+
+ XPropertySet xSrcProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, newSource);
+
+ xSrcProp.setPropertyValue("URL", "sdbc:text:" + dirToUrl(dbDir));
+
+ PropertyValue extParam = new PropertyValue() ;
+ extParam.Name = "EXT" ;
+ extParam.Value = fileExtension ;
+
+ xSrcProp.setPropertyValue("Info", new PropertyValue[] {extParam}) ;
+
+ dbContext.registerObject(contextName, newSource) ;
+
+ Object handler = xMSF.createInstance("com.sun.star.sdb.InteractionHandler");
+ XInteractionHandler xHandler = (XInteractionHandler)
+ UnoRuntime.queryInterface(XInteractionHandler.class, handler) ;
+
+ XCompletedConnection xSrcCon = (XCompletedConnection)
+ UnoRuntime.queryInterface(XCompletedConnection.class, newSource) ;
+
+ XConnection con = xSrcCon.connectWithCompletion(xHandler) ;
+
+ return con ;
+ } finally {
+ try {
+ dbContext.revokeObject(contextName) ;
+ } catch (Exception e) {}
+ }
+ }
+
+ /**
+ * Registers DBase database (directory with DBF files) in the
+ * global DB context, then connects to it.
+ * @param contextName Name under which DB will be registered.
+ * @param dbDir The directory with DBF tables.
+ * @return Connection to the DB.
+ */
+ public XConnection connectToDBase(String contextName,
+ String dbDir)
+ throws com.sun.star.uno.Exception {
+
+ try {
+ XInterface newSource = (XInterface) xMSF.createInstance
+ ("com.sun.star.sdb.DataSource") ;
+
+ XPropertySet xSrcProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, newSource);
+ xSrcProp.setPropertyValue("URL", "sdbc:dbase:" + dirToUrl(dbDir));
+
+ dbContext.registerObject(contextName, newSource) ;
+
+ XConnection con = connectToSource(newSource) ;
+
+ return con ;
+ } catch(com.sun.star.uno.Exception e) {
+ try {
+ dbContext.revokeObject(contextName) ;
+ } catch (Exception ex) {}
+
+ throw e ;
+ }
+ }
+
+ /**
+ * Performs connection to DataSource specified.
+ * @param dbSource <code>com.sun.star.sdb.DataSource</code> service
+ * specified data source which must be already registered in the
+ * <code>DatabaseContext</code> service.
+ * @param dbSource Data source to be connected to.
+ * @return Connection to the data source.
+ */
+ public XConnection connectToSource(Object dbSource)
+ throws com.sun.star.uno.Exception {
+
+ Object handler = xMSF.createInstance("com.sun.star.sdb.InteractionHandler");
+ XInteractionHandler xHandler = (XInteractionHandler)
+ UnoRuntime.queryInterface(XInteractionHandler.class, handler) ;
+
+ XCompletedConnection xSrcCon = (XCompletedConnection)
+ UnoRuntime.queryInterface(XCompletedConnection.class, dbSource) ;
+
+ return xSrcCon.connectWithCompletion(xHandler) ;
+ }
+
+ /**
+ * Registers Test data source in the <code>DatabaseContext</code> service.
+ * This source always has name <code>'APITestDatabase'</code> and it
+ * is registered in subdirectory <code>TestDB</code> of directory
+ * <code>docPath</code> which is supposed to be a directory with test
+ * documents, but can be any other (it must have subdirectory with DBF
+ * tables). If such data source doesn't exists or exists with
+ * different URL it is recreated and reregistered.
+ * @param docPath Path to database <code>TestDB</code> directory.
+ * @return <code>com.sun.star.sdb.DataSource</code> service
+ * implementation which represents TestDB.
+ */
+ public Object registerTestDB(String docPath)
+ throws com.sun.star.uno.Exception {
+
+ String testURL = null ;
+ if (docPath.endsWith("/") || docPath.endsWith("\\"))
+ testURL = dirToUrl(docPath + "TestDB") ;
+ else
+ testURL = dirToUrl(docPath + "/" + "TestDB") ;
+ testURL = "sdbc:dbase:" + testURL ;
+
+ String existURL = null ;
+
+ XNameAccess na = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, dbContext) ;
+
+ Object src = null ;
+ if (na.hasByName("APITestDatabase")) {
+ src = dbContext.getRegisteredObject("APITestDatabase") ;
+
+ XPropertySet srcPs = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, src) ;
+
+ existURL = (String) srcPs.getPropertyValue("URL") ;
+ }
+
+ if (src == null || !testURL.equals(existURL)) {
+ // test data source must be reregistered.
+ DataSourceInfo info = new DataSourceInfo() ;
+ info.URL = testURL ;
+ src = info.getDataSourceService() ;
+ reRegisterDB("APITestDatabase", src) ;
+ src = dbContext.getRegisteredObject("APITestDatabase") ;
+ }
+
+ return src ;
+ }
+
+ /**
+ * Connects to <code>DataSource</code> specially created for testing.
+ * This source always has name <code>'APITestDatabase'</code> and it
+ * is registered in subdirectory <code>TestDB</code> of directory
+ * <code>docPath</code> which is supposed to be a directory with test
+ * documents, but can be any other (it must have subdirectory with DBF
+ * tables). If such data source doesn't exists or exists with
+ * different URL it is recreated and reregistered. Finally connection
+ * performed.
+ * @param docPath Path to database <code>TestDB</code> directory.
+ * @return Connection to test database.
+ */
+ public XConnection connectToTestDB(String docPath)
+ throws com.sun.star.uno.Exception {
+
+ return connectToSource(registerTestDB(docPath)) ;
+ }
+
+ /**
+ * Empties the table in the specified source.
+ * @param con Connection to the DataSource where appropriate
+ * table exists.
+ * @param table The name of the table where all rows will be deleted.
+ * @return Number of rows deleted.
+ */
+
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ // Currently doesn't work because of bugs 85509, 85510
+
+ public int deleteAllRows(XConnection con, String table)
+ throws com.sun.star.sdbc.SQLException {
+
+ XStatement stat = con.createStatement() ;
+
+ XResultSet set = stat.executeQuery("SELECT * FROM " + table) ;
+
+ XResultSetUpdate updt = (XResultSetUpdate) UnoRuntime.queryInterface
+ (XResultSetUpdate.class, set) ;
+
+ int count = 0 ;
+ set.last() ;
+ int rowNum = set.getRow() ;
+ set.first() ;
+
+ for (int i = 0; i < rowNum; i++) {
+ updt.deleteRow() ;
+ set.next() ;
+ count ++ ;
+ }
+
+ XCloseable xClose = (XCloseable) UnoRuntime.queryInterface
+ (XCloseable.class, set) ;
+ xClose.close() ;
+
+ return count ;
+ }
+
+ /**
+ * Inserts row into test table of the specified connection.
+ * Test table has some predefined format which includes as much
+ * field types as possible. For every column type constants
+ * {@link #TST_STRING TST_STRING}, {@link #TST_INT TST_INT}, etc.
+ * are declared for column index fast find.
+ * @param con Connection to data source where test table exists.
+ * @param table Test table name.
+ * @param values Values to be inserted into test table. Values of
+ * this array inserted into appropriate fields depending on their
+ * types. So <code>String</code> value of the array is inserted
+ * into the field of <code>CHARACTER</code> type, etc.
+ * @param streamLength Is optional. It is used only if in values
+ * list <code>XCharacterInputStream</code> or <code>XBinaryInputStream
+ * </code> types specified. In this case the parameter specifies
+ * the length of the stream for inserting.
+ */
+ public void addRowToTestTable(XConnection con, String table, Object[] values,
+ int streamLength)
+ throws com.sun.star.sdbc.SQLException {
+
+ XStatement stat = con.createStatement() ;
+
+ XResultSet set = stat.executeQuery("SELECT * FROM " + table) ;
+
+ XResultSetUpdate updt = (XResultSetUpdate) UnoRuntime.queryInterface
+ (XResultSetUpdate.class, set) ;
+
+ XRowUpdate rowUpdt = (XRowUpdate) UnoRuntime.queryInterface
+ (XRowUpdate.class, set) ;
+
+ updt.moveToInsertRow() ;
+
+ for (int i = 0; i < values.length; i++) {
+ if (values[i] instanceof String) {
+ rowUpdt.updateString(TST_STRING, (String) values[i]) ;
+ } else
+ if (values[i] instanceof Integer) {
+ rowUpdt.updateInt(TST_INT, ((Integer) values[i]).intValue()) ;
+ } else
+ if (values[i] instanceof Double) {
+ rowUpdt.updateDouble(TST_DOUBLE, ((Double) values[i]).doubleValue()) ;
+ } else
+ if (values[i] instanceof Date) {
+ rowUpdt.updateDate(TST_DATE, (Date) values[i]) ;
+ } else
+ if (values[i] instanceof Boolean) {
+ rowUpdt.updateBoolean(TST_BOOLEAN, ((Boolean) values[i]).booleanValue()) ;
+ } else
+ if (values[i] instanceof XTextInputStream) {
+ rowUpdt.updateCharacterStream(TST_CHARACTER_STREAM, (XInputStream) values[i],
+ streamLength) ;
+ } else
+ if (values[i] instanceof XDataInputStream) {
+ rowUpdt.updateBinaryStream(TST_BINARY_STREAM, (XInputStream) values[i],
+ streamLength) ;
+ }
+ }
+
+ updt.insertRow() ;
+
+ XCloseable xClose = (XCloseable) UnoRuntime.queryInterface
+ (XCloseable.class, set) ;
+ xClose.close() ;
+ }
+
+ /**
+ * Initializes test table specified of the connection specified.
+ * Deletes all record from table, and then inserts data from
+ * <code>TST_TABLE_VALUES</code> constant array. <p>
+ * Test table has some predefined format which includes as much
+ * field types as possible. For every column type constants
+ * {@link #TST_STRING TST_STRING}, {@link #TST_INT TST_INT}, etc.
+ * are declared for column index fast find.
+ * @param con Connection to data source where test table exists.
+ * @param table Test table name.
+ */
+ public void initializeTestTable(XConnection con, String table)
+ throws com.sun.star.sdbc.SQLException {
+
+ deleteAllRows(con, table) ;
+
+ for (int i = 0; i < TST_TABLE_VALUES.length; i++) {
+ addRowToTestTable(con, table, TST_TABLE_VALUES[i], TST_STREAM_LENGTHS[i]) ;
+ }
+ }
+
+ /**
+ * Prints full info about currently registered DataSource's.
+ */
+ public void printRegisteredDatabasesInfo(PrintWriter out) {
+ XEnumerationAccess dbContEA = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class, dbContext) ;
+
+ XEnumeration xEnum = dbContEA.createEnumeration() ;
+
+ out.println("DatabaseContext registered DataSource's :") ;
+ while (xEnum.hasMoreElements()) {
+ try {
+ DataSourceInfo inf = new DataSourceInfo(xEnum.nextElement()) ;
+ inf.printInfo(out) ;
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ catch (com.sun.star.lang.WrappedTargetException e) {}
+ }
+ }
+
+ /**
+ * Convert system pathname to SOffice URL string
+ * (for example 'C:\Temp\DBDir\' -> 'file:///C|/Temp/DBDir/').
+ * (for example '\\server\Temp\DBDir\' -> 'file://server/Temp/DBDir/').
+ * Already converted string retured unchanged.
+ */
+ public static String dirToUrl(String dir) {
+ String retVal = null;
+ if (dir.startsWith("file:/")) retVal = dir;
+ else {
+ retVal = dir.replace(':', '|').replace('\\', '/');
+
+ if (dir.startsWith("\\\\")) {
+ retVal = "file:" + retVal;
+ }
+
+ else retVal = "file:///" + retVal ;
+ }
+ return retVal;
+ }
+
+ /**
+ * Revokes datasource from global DB context.
+ * @param name DataSource name to be revoked.
+ */
+ public void revokeDB(String name) throws com.sun.star.uno.Exception
+ {
+ dbContext.revokeObject(name) ;
+ }
+
+ /**
+ * Initializes test table specified of the connection specified
+ * using JDBC driver. Drops table with the name <code>tbl_name</code>,
+ * creates new table with this name and then inserts data from
+ * <code>TST_TABLE_VALUES</code> constant array. <p>
+ * Test table has some predefined format which includes as much
+ * field types as possible. For every column type constants
+ * {@link #TST_STRING TST_STRING}, {@link #TST_INT TST_INT}, etc.
+ * are declared for column index fast find.
+ * @param tbl_name Test table name.
+ */
+ public void initTestTableUsingJDBC(String tbl_name, DataSourceInfo dsi)
+ throws java.sql.SQLException,
+ ClassNotFoundException {
+ //register jdbc driver
+ if ( dsi.Info[0].Name.equals("JavaDriverClass") ) {
+ Class.forName((String)dsi.Info[0].Value);
+ } else {
+ Class.forName(TST_JDBC_DRIVER);
+ }
+
+ //getting connection
+ Connection connection = null;
+
+ connection = DriverManager.getConnection(
+ dsi.URL, dsi.User, dsi.Password);
+ Statement statement = connection.createStatement();
+
+ //drop table
+ dropMySQLTable(statement, tbl_name);
+
+ //create table
+ createMySQLTable(statement, tbl_name);
+
+ //insert some content
+ insertContentMySQLTable(statement, tbl_name);
+ }
+
+ /**
+ * Inserts data from <code>TST_TABLE_VALUES</code> constant array
+ * to test table <code>tbl_name</code>.
+ * @param statement object used for executing a static SQL
+ * statement and obtaining the results produced by it.
+ * @param tbl_name Test table name.
+ */
+ protected void insertContentMySQLTable(Statement statement, String tbl_name)
+ throws java.sql.SQLException {
+
+
+ for(int i = 0; i < DBTools.TST_TABLE_VALUES.length; i++) {
+ String query = "insert into " + tbl_name + " values (";
+ int j = 0;
+ while(j < DBTools.TST_TABLE_VALUES[i].length) {
+ if (j > 0) {
+ query += ", ";
+ }
+ Object value = DBTools.TST_TABLE_VALUES[i][j];
+ if (value instanceof String ||
+ value instanceof Date) {
+ query += "'";
+ }
+ if (value instanceof Date) {
+ Date date = (Date)value;
+ query += date.Year + "-" + date.Month +
+ "-" + date.Day;
+ } else if (value instanceof Boolean) {
+ query += (((Boolean)value).booleanValue())
+ ? "1" : "0";
+ } else {
+ query += value;
+ }
+
+ if (value instanceof String ||
+ value instanceof Date) {
+ query += "'";
+ }
+ j++;
+ }
+ query += ")";
+ statement.executeUpdate(query);
+ }
+ }
+
+ /**
+ * Creates test table specified.
+ * Test table has some predefined format which includes as much
+ * field types as possible. For every column type constants
+ * {@link #TST_STRING TST_STRING}, {@link #TST_INT TST_INT}, etc.
+ * are declared for column index fast find.
+ * @param statement object used for executing a static SQL
+ * statement and obtaining the results produced by it.
+ * @param table Test table name.
+ */
+ protected void createMySQLTable(Statement statement, String tbl_name)
+ throws java.sql.SQLException {
+
+ final String empty_col_name = "Column";
+ int c = 0;
+ String query = "create table " + tbl_name + " (";
+ for (int i = 0; i < TST_TABLE_VALUES[0].length; i++) {
+ if (i > 0) query += ",";
+
+ switch(i + 1) {
+ case TST_BINARY_STREAM:
+ query += TST_BINARY_STREAM_F + " BLOB";
+ break;
+ case TST_BOOLEAN:
+ query += TST_BOOLEAN_F + " TINYINT";
+ break;
+ case TST_CHARACTER_STREAM:
+ query += TST_CHARACTER_STREAM_F + " TEXT";
+ break;
+ case TST_DATE:
+ query += TST_DATE_F + " DATE";
+ break;
+ case TST_DOUBLE:
+ query += TST_DOUBLE_F + " DOUBLE";
+ break;
+ case TST_INT:
+ query += TST_INT_F + " INT";
+ break;
+ case TST_STRING:
+ query += TST_STRING_F + " TEXT";
+ break;
+ default: query += empty_col_name + (c++) + " INT";
+ if (c == 1) {
+ query += " NOT NULL AUTO_INCREMENT";
+ }
+ }
+ }
+ query += ", PRIMARY KEY (" + empty_col_name + "0)";
+ query += ")";
+ statement.execute(query);
+ }
+
+ /**
+ * Drops table.
+ * @param statement object used for executing a static SQL
+ * statement and obtaining the results produced by it.
+ * @param table Test table name.
+ */
+ protected void dropMySQLTable(Statement statement, String tbl_name)
+ throws java.sql.SQLException {
+ statement.executeUpdate("drop table if exists " + tbl_name);
+ }
+}
diff --git a/qadevOOo/runner/util/DefaultDsc.java b/qadevOOo/runner/util/DefaultDsc.java
new file mode 100644
index 000000000000..07a2cdd2c5cc
--- /dev/null
+++ b/qadevOOo/runner/util/DefaultDsc.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Defaultdescriptor:
+ * This descriptor is useful for instances in default values.
+ */
+public class DefaultDsc extends InstDescr {
+
+ private String name = null;
+ String ifcName = null;
+ String service = null;
+
+ public DefaultDsc( String Interface, String kind ) {
+ service = kind;
+ ifcName = Interface;
+ initDefault();
+ }
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+ public String getService() {
+ return service;
+ }
+
+ private void initDefault() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XInterface Default = (XInterface)UnoRuntime.queryInterface(ifcClass, SrvObj );
+
+ return Default;
+
+ }
+}
diff --git a/qadevOOo/runner/util/DesktopTools.java b/qadevOOo/runner/util/DesktopTools.java
new file mode 100644
index 000000000000..3384a8b83423
--- /dev/null
+++ b/qadevOOo/runner/util/DesktopTools.java
@@ -0,0 +1,515 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.WindowDescriptor;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XModifiable;
+import com.sun.star.view.XViewSettingsSupplier;
+import helper.ConfigHelper;
+import java.util.Vector;
+import lib.StatusException;
+
+/**
+ * contains helper methods for the Desktop
+ */
+public class DesktopTools
+{
+
+ /**
+ * Queries the XComponentLoader
+ *
+ * @param xMSF the MultiServiceFactory
+ * @return the gained XComponentLoader
+ */
+ public static XComponentLoader getCLoader(XMultiServiceFactory xMSF)
+ {
+ XDesktop oDesktop = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, createDesktop(xMSF));
+
+ XComponentLoader oCLoader = (XComponentLoader) UnoRuntime.queryInterface(
+ XComponentLoader.class, oDesktop);
+
+ return oCLoader;
+ } // finish getCLoader
+
+ /**
+ * Creates an Instance of the Desktop service
+ *
+ * @param xMSF the MultiServiceFactory
+ * @return the gained Object
+ */
+ public static Object createDesktop(XMultiServiceFactory xMSF)
+ {
+ Object oInterface;
+
+ try
+ {
+ oInterface = xMSF.createInstance("com.sun.star.comp.framework.Desktop");
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new IllegalArgumentException("Desktop Service not available");
+ }
+
+ return oInterface;
+ } //finish createDesktop
+
+ /**
+ * returns a XEnumeration containing all components containing on the desktop
+ * @param xMSF the XMultiServiceFactory
+ * @return XEnumeration of all components on the desktop
+ */
+ public static XEnumeration getAllComponents(XMultiServiceFactory xMSF)
+ {
+ XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, createDesktop(xMSF));
+ return xDesktop.getComponents().createEnumeration();
+ }
+
+ /**
+ * returns the current component on the desktop
+ * @param xMSF the XMultiServiceFactory
+ * @return XComponent of the current component on the desktop
+ */
+ public static XComponent getCurrentComponent(XMultiServiceFactory xMSF)
+ {
+ XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, createDesktop(xMSF));
+ return xDesktop.getCurrentComponent();
+ }
+
+ /**
+ * returns the current component on the desktop
+ * @param xMSF the XMultiServiceFactory
+ * @return XComponent of the current component on the desktop
+ */
+ public static XFrame getCurrentFrame(XMultiServiceFactory xMSF)
+ {
+ XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, createDesktop(xMSF));
+ return xDesktop.getCurrentFrame();
+ }
+
+ /**
+ * returns an object arrary of all open documents
+ * @param xMSF the MultiServiceFactory
+ * @return returns an Array of document kinds like ["swriter"]
+ */
+ /**
+ * returns an array of all open documents
+ * @param xMSF the XMultiSerivceFactory
+ * @return returns an array of all open documents
+ */
+ public static Object[] getAllOpenDocuments(XMultiServiceFactory xMSF)
+ {
+ Vector components = new Vector();
+ XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, createDesktop(xMSF));
+
+ XEnumeration allComp = getAllComponents(xMSF);
+
+ while (allComp.hasMoreElements())
+ {
+ try
+ {
+ XComponent xComponent = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, allComp.nextElement());
+
+ if (getDocumentType(xComponent) != null)
+ {
+ components.add(xComponent);
+ }
+
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ }
+ }
+ return components.toArray();
+ }
+
+ /**
+ * Returns the document type for the given XComponent of an document
+ * @param xComponent the document to query for its type
+ * @return possible:
+ * <ul>
+ * <li>swriter</li>
+ * <li>scalc</li>
+ * <li>sdraw</li>
+ * <li>smath</li>
+ * </ul>
+ * or <CODE>null</CODE>
+ */
+ public static String getDocumentType(XComponent xComponent)
+ {
+ XServiceInfo sInfo = (XServiceInfo) UnoRuntime.queryInterface(
+ XServiceInfo.class, xComponent);
+
+ if (sInfo == null)
+ {
+ return "";
+ }
+ else if (sInfo.supportsService("com.sun.star.sheet.SpreadsheetDocument"))
+ {
+ return "scalc";
+ }
+ else if (sInfo.supportsService("com.sun.star.text.TextDocument"))
+ {
+ return "swriter";
+ }
+ else if (sInfo.supportsService("com.sun.star.drawing.DrawingDocument"))
+ {
+ return "sdraw";
+ }
+ else if (sInfo.supportsService("com.sun.star.presentation.PresentationDocument"))
+ {
+ return "simpress";
+ }
+ else if (sInfo.supportsService("com.sun.star.formula.FormulaProperties"))
+ {
+ return "smath";
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Opens a new document of a given kind
+ * with arguments
+ * @return the XComponent Interface of the document
+ * @param kind the kind of document to load.<br>
+ * possible:
+ * <ul>
+ * <li>swriter</li>
+ * <li>scalc</li>
+ * <li>sdaw</li>
+ * <li>smath</li>
+ * </ul>
+ * @param Args arguments which passed to the document to load
+ * @param xMSF the MultiServiceFactory
+ */
+ public static XComponent openNewDoc(XMultiServiceFactory xMSF, String kind,
+ PropertyValue[] Args)
+ {
+ XComponent oDoc = null;
+
+ try
+ {
+ oDoc = getCLoader(xMSF).loadComponentFromURL("private:factory/" + kind,
+ "_blank", 0, Args);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new IllegalArgumentException("Document could not be opened");
+ }
+
+ return oDoc;
+ } //finish openNewDoc
+
+ /**
+ * loads a document of from a given url
+ * with arguments
+ * @return the XComponent Interface of the document
+ * @param url the URL of the document to load.
+ * @param Args arguments which passed to the document to load
+ * @param xMSF the MultiServiceFactory
+ */
+ public static XComponent loadDoc(XMultiServiceFactory xMSF, String url,
+ PropertyValue[] Args)
+ {
+ XComponent oDoc = null;
+ if (Args == null)
+ {
+ Args = new PropertyValue[0];
+ }
+ try
+ {
+ oDoc = getCLoader(xMSF).loadComponentFromURL(url, "_blank", 0, Args);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new IllegalArgumentException("Document could not be loaded");
+ }
+
+ bringWindowToFront(oDoc);
+ return oDoc;
+ } //finish openNewDoc
+
+ /**
+ * closes a given document
+ * @param DocumentToClose the document to close
+ */
+ public static void closeDoc(XInterface DocumentToClose)
+ {
+ if (DocumentToClose == null)
+ {
+ return;
+ }
+
+ String kd = System.getProperty("KeepDocument");
+ if (kd != null)
+ {
+ System.out.println("The property 'KeepDocument' is set and so the document won't be disposed");
+ return;
+ }
+ XModifiable modified = (XModifiable) UnoRuntime.queryInterface(XModifiable.class, DocumentToClose);
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(XCloseable.class, DocumentToClose);
+
+ try
+ {
+ if (modified != null)
+ {
+ modified.setModified(false);
+ }
+ closer.close(true);
+ }
+ catch (com.sun.star.util.CloseVetoException e)
+ {
+ // e.printStackTrace();
+ System.out.println("Couldn't close document");
+ }
+ catch (com.sun.star.lang.DisposedException e)
+ {
+ // e.printStackTrace();
+ System.out.println("Couldn't close document");
+ }
+ catch (java.lang.NullPointerException e)
+ {
+ // e.printStackTrace();
+ System.out.println("Couldn't close document");
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ // e.printStackTrace();
+ System.out.println("Couldn't close document");
+ }
+ }
+
+ /**
+ * Creates a floating XWindow with the size of X=500 Y=100 width=400 height=600
+ * @param xMSF the MultiServiceFactory
+ * @throws lib.StatusException if it is not possible to create a floating window a lib.StatusException was thrown
+ * @return a floating XWindow
+ */
+ public static XWindowPeer createFloatingWindow(XMultiServiceFactory xMSF)
+ throws StatusException
+ {
+ return createFloatingWindow(xMSF, 500, 100, 400, 600);
+ }
+
+ /**
+ * Creates a floating XWindow on the given position and size.
+ * @return a floating XWindow
+ * @param X the X-Postion of the floating XWindow
+ * @param Y the Y-Postion of the floating XWindow
+ * @param width the width of the floating XWindow
+ * @param height the height of the floating XWindow
+ * @param xMSF the MultiServiceFactory
+ * @throws lib.StatusException if it is not possible to create a floating window a lib.StatusException was thrown
+ */
+ public static XWindowPeer createFloatingWindow(XMultiServiceFactory xMSF, int X, int Y, int width, int height)
+ throws StatusException
+ {
+
+ XInterface oObj = null;
+
+ try
+ {
+ oObj = (XInterface) xMSF.createInstance("com.sun.star.awt.Toolkit");
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XToolkit tk = (XToolkit) UnoRuntime.queryInterface(
+ XToolkit.class, oObj);
+
+ WindowDescriptor descriptor = new com.sun.star.awt.WindowDescriptor();
+
+ descriptor.Type = com.sun.star.awt.WindowClass.TOP;
+ descriptor.WindowServiceName = "modelessdialog";
+ descriptor.ParentIndex = -1;
+
+ Rectangle bounds = new com.sun.star.awt.Rectangle();
+ bounds.X = X;
+ bounds.Y = Y;
+ bounds.Width = width;
+ bounds.Height = height;
+
+ descriptor.Bounds = bounds;
+ descriptor.WindowAttributes = (com.sun.star.awt.WindowAttribute.BORDER +
+ com.sun.star.awt.WindowAttribute.MOVEABLE +
+ com.sun.star.awt.WindowAttribute.SIZEABLE +
+ com.sun.star.awt.WindowAttribute.CLOSEABLE +
+ com.sun.star.awt.VclWindowPeerAttribute.CLIPCHILDREN);
+
+ XWindowPeer xWindow = null;
+
+ try
+ {
+ xWindow = tk.createWindow(descriptor);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ throw new StatusException("Could not create window", e);
+ }
+
+ return xWindow;
+
+ }
+
+ /**
+ * zoom to have a view over the hole page
+ * @param xDoc the document to zoom
+ */
+ public static void zoomToEntirePage(XInterface xDoc)
+ {
+ try
+ {
+ XModel xMod = (XModel) UnoRuntime.queryInterface(XModel.class, xDoc);
+ XInterface oCont = xMod.getCurrentController();
+ XViewSettingsSupplier oVSSupp = (XViewSettingsSupplier) UnoRuntime.queryInterface(XViewSettingsSupplier.class, oCont);
+
+ XInterface oViewSettings = oVSSupp.getViewSettings();
+ XPropertySet oViewProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, oViewSettings);
+ oViewProp.setPropertyValue("ZoomType",
+ new Short(com.sun.star.view.DocumentZoomType.ENTIRE_PAGE));
+
+ utils.shortWait(5000);
+ }
+ catch (Exception e)
+ {
+ System.out.println("Could not zoom to entire page: " + e.toString());
+ }
+
+ }
+
+ /**
+ * This function docks the Stylist onto the right side of the window.</p>
+ * Note:<P>
+ * Since the svt.viewoptions cache the view configuration at start up
+ * the chage of the docking will be effective at a restart.
+ * @param xMSF the XMultiServiceFactory
+ */
+ public static void dockStylist(XMultiServiceFactory xMSF)
+ {
+ // prepare Window-Settings
+ try
+ {
+ ConfigHelper aConfig = new ConfigHelper(xMSF,
+ "org.openoffice.Office.Views", false);
+
+ // Is node "5539" (slot-id for navigator) available? If not, insert it
+ XNameReplace x5539 = aConfig.getOrInsertGroup("Windows", "5539");
+
+ aConfig.updateGroupProperty(
+ "Windows", "5539", "WindowState", "952,180,244,349;1;0,0,0,0;");
+
+ aConfig.insertOrUpdateExtensibleGroupProperty(
+ "Windows", "5539", "UserData", "Data", "V2,V,0,AL:(5,16,0/0/244/349,244;610)");
+
+ // Is node "SplitWindow2" available? If not, instert it.
+ aConfig.getOrInsertGroup("Windows", "SplitWindow2");
+
+ aConfig.insertOrUpdateExtensibleGroupProperty(
+ "Windows", "SplitWindow2", "UserData", "UserItem", "V1,2,1,0,5539");
+
+ aConfig.flush();
+ aConfig = null;
+
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Due to typo deprecated
+ * @param xModel
+ * @deprecated
+ */
+ @Deprecated
+ public static void bringWindowToFromt(XModel xModel)
+ {
+ bringWindowToFront(xModel);
+ }
+
+ /**
+ * This function brings a document to the front.<P>
+ * NOTE: it is not possible to change the window order of your Window-Manager!!
+ * Only the order of Office documents are changeable.
+ * @param xModel the XModel of the document to bring to top
+ */
+ public static void bringWindowToFront(XModel xModel)
+ {
+ // System.out.println("DEBUG: bring to front xModel");
+
+ XTopWindow xTopWindow =
+ (XTopWindow) UnoRuntime.queryInterface(
+ XTopWindow.class,
+ xModel.getCurrentController().getFrame().getContainerWindow());
+
+ xTopWindow.toFront();
+ }
+
+ public static void bringWindowToFront(XComponent xComponent)
+ {
+ // System.out.println("DEBUG: bring to front xComponent");
+ XModel xModel = (XModel) UnoRuntime.queryInterface(XModel.class, xComponent);
+ if (xModel != null)
+ {
+ bringWindowToFront(xModel);
+ }
+ }
+}
diff --git a/qadevOOo/runner/util/DrawTools.java b/qadevOOo/runner/util/DrawTools.java
new file mode 100644
index 000000000000..d5f862cb49a7
--- /dev/null
+++ b/qadevOOo/runner/util/DrawTools.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+// access the implementations via names
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XComponent;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.drawing.XShape;
+
+
+import util.DesktopTools;
+import util.InstCreator;
+import util.ShapeDsc;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * contains helper methods for draw documents
+ */
+
+
+public class DrawTools {
+
+ /**
+ * Opens a new draw document
+ * with arguments
+ * @param xMSF the MultiServiceFactory
+ * @return the XComponent Interface of the document
+ */
+
+ public static XComponent createDrawDoc( XMultiServiceFactory xMSF ) {
+ PropertyValue[] Args = new PropertyValue [0];
+ XComponent DrawDoc = DesktopTools.openNewDoc( xMSF, "sdraw", Args );
+ return DrawDoc;
+ } // finish createDrawDoc
+
+ /**
+ * gets the XDrawPages container of a draw document
+ *
+ * @param aDoc the draw document
+ * @return the XDrawpages container of the document
+ */
+
+ public static XDrawPages getDrawPages ( XComponent aDoc ) {
+ XDrawPages oDPn = null;
+ try {
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class,aDoc);
+
+ oDPn = oDPS.getDrawPages();
+ } catch ( Exception e ) {
+ throw new IllegalArgumentException( "Couldn't get drawpages" );
+ }
+ return oDPn;
+ } // finish getDrawPages
+
+ /**
+ * gets the specified XDrawPage of a draw document
+ *
+ * @param aDoc the draw document
+ * @param nr the index of the DrawPage
+ * @return the XDrawpage with index nr of the document
+ */
+
+ public static XDrawPage getDrawPage ( XComponent aDoc, int nr ) {
+ XDrawPage oDP = null;
+ try {
+ oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),getDrawPages( aDoc ).getByIndex( nr ));
+ } catch ( Exception e ) {
+ throw new IllegalArgumentException( "Couldn't get drawpage" );
+ }
+ return oDP;
+ }
+
+ /**
+ * gets the XShapes container of a draw page
+ *
+ * @param oDP the draw page
+ * @return the XDrawShape container of the drawpage
+ */
+
+ public static XShapes getShapes ( XDrawPage oDP ) {
+ return (XShapes) UnoRuntime.queryInterface(XShapes.class,oDP);
+ }
+
+ /**
+ * creates a XShape
+ *
+ * @param oDoc the document
+ * @param height the height of the shape
+ * @param width the width of the shape
+ * @param x the x-position of the shape
+ * @param y the y-position of the shape
+ * @param kind the kind of the shape ('Ellipse', 'Line' or 'Rectangle')
+ * @return the created XShape
+ */
+
+ public XShape createShape( XComponent oDoc, int height, int width, int x,
+ int y, String kind ) {
+ //possible values for kind are 'Ellipse', 'Line' and 'Rectangle'
+
+ ShapeDsc sDsc = new ShapeDsc( height, width, x, y, kind );
+ InstCreator instCreate = new InstCreator( oDoc, sDsc );
+ XShape oShape = (XShape)instCreate.getInstance();
+
+ return oShape;
+ }
+
+ /**
+ * creates a XShape and adds it to the documents
+ * first drawpage
+ * @param oDoc the document
+ * @param height the height of the shape
+ * @param width the width of the shape
+ * @param x the x-position of the shape
+ * @param y the y-position of the shape
+ * @param kind the kind of the shape ('Ellipse', 'Line' or 'Rectangle')
+ * @return the created XShape
+ */
+
+ public void addShape( XComponent oDoc, int height, int width, int x,
+ int y, String kind ) {
+
+ getShapes(getDrawPage(oDoc,0)).add(createShape( oDoc, height, width, x,
+ y, kind ) );
+ }
+
+}
diff --git a/qadevOOo/runner/util/DynamicClassLoader.java b/qadevOOo/runner/util/DynamicClassLoader.java
new file mode 100644
index 000000000000..659593e69346
--- /dev/null
+++ b/qadevOOo/runner/util/DynamicClassLoader.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import java.lang.reflect.Constructor;
+
+public class DynamicClassLoader {
+
+ /**
+ * This method returns a class created by its name
+ * created by call to <code>Class.forName()</code>.<p>
+ * This method must be overloaded if another loading
+ * policy is required for Component and Interface
+ * testing classes.
+ * @param className The name of the class to create.
+ * @return The created class.
+ */
+ public static Class forName(String className)
+ throws ClassNotFoundException {
+
+ return Class.forName(className) ;
+ }
+
+ /**
+ * Get an instance of a class. The empty constructor is used.
+ * @param className The class to instantiate.
+ * @return The instance of the class.
+ */
+ public Object getInstance(String className)
+ throws IllegalArgumentException {
+ try {
+ Class cls = DynamicClassLoader.forName(className);
+ return cls.newInstance();
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+
+ /**
+ * Get an instance of a class. The constructor matching to the
+ * arguments is used and the arguments are given to this constructor.
+ * @param className The class to instantiate.
+ * @param ctorArgs Arguments for the constructor.
+ * @return The instance of the class.
+ */
+ public Object getInstance(String className, Object[] ctorArgs)
+ throws IllegalArgumentException {
+ Class[] ctorType = new Class[ctorArgs.length];
+ for(int i=0; i<ctorType.length; i++) {
+ ctorType[i] = ctorArgs[i].getClass();
+ }
+ return getInstance(className, ctorType, ctorArgs);
+
+ }
+
+ /**
+ * Get an instance of a class. The constructor matching to the
+ * given calss types is used and the instance is created using the arguments
+ * for the constructor.
+ * @param className The class to instantiate.
+ * @param ctorClassTypes The class types matching to the constructor.
+ * @param ctorArgs Arguments for the constructor.
+ * @return The instance of the class.
+ */
+ public Object getInstance(String className, Class[]ctorClassTypes, Object[] ctorArgs)
+ throws IllegalArgumentException {
+ try {
+ Class cls = DynamicClassLoader.forName(className);
+ Constructor ctor = cls.getConstructor(ctorClassTypes);
+ System.out.println("ctor: " + ctor.getName() + " " + ctor.getModifiers());
+
+ return ctor.newInstance(ctorArgs);
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( NoSuchMethodException e ) {
+ throw new IllegalArgumentException("Couldn't find constructor for " + className
+ + " " + e);
+ } catch ( java.lang.reflect.InvocationTargetException e ) {
+ e.printStackTrace();
+ throw new IllegalArgumentException("Couldn't invoke " +
+ className + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+}
diff --git a/qadevOOo/runner/util/FootnoteDsc.java b/qadevOOo/runner/util/FootnoteDsc.java
new file mode 100644
index 000000000000..ce7b62d4003b
--- /dev/null
+++ b/qadevOOo/runner/util/FootnoteDsc.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 util;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * describes a Footnote to be inserted in a container
+ */
+public class FootnoteDsc extends InstDescr {
+
+ final String service = "com.sun.star.text.Footnote";
+ String ifcName = "com.sun.star.text.XTextContent";
+ private String name = null;
+
+
+ public FootnoteDsc() {
+ initFootnote();
+ }
+
+ public FootnoteDsc( String name ) {
+ this.name = name;
+ initFootnote();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ public String getService() {
+ return service;
+ }
+
+ private void initFootnote() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent FN = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return FN;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/FormTools.java b/qadevOOo/runner/util/FormTools.java
new file mode 100644
index 000000000000..46515043f677
--- /dev/null
+++ b/qadevOOo/runner/util/FormTools.java
@@ -0,0 +1,349 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.lang.XComponent;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.form.XFormsSupplier;
+import com.sun.star.form.XForm;
+import com.sun.star.form.XLoadable;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * contains helper methods forms
+ */
+
+public class FormTools {
+
+
+ /**
+ * creates a XControlShape
+ *
+ * @param oDoc the document
+ * @param height the height of the shape
+ * @param width the width of the shape
+ * @param x the x-position of the shape
+ * @param y the y-position of the shape
+ * @param kind the kind of the shape
+ * @return the created XControlShape
+ */
+ public static XControlShape createControlShape( XComponent oDoc, int height,
+ int width, int x, int y, String kind ) {
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ try{
+ Object oInt = oDocMSF.createInstance("com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance("com.sun.star.form.component."+kind);
+ XPropertySet model_props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,aCon);
+ model_props.setPropertyValue("DefaultControl","com.sun.star.form.control."+kind);
+ aControl = (XControlModel) UnoRuntime.queryInterface( XControlModel.class, aCon );
+ oCShape = (XControlShape) UnoRuntime.queryInterface( XControlShape.class, oInt );
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ System.out.println( "Couldn't create instance "+ e );
+ }
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createControlShape
+
+ public static XControlShape createUnoControlShape( XComponent oDoc, int height,
+ int width, int x, int y, String kind, String defControl ) {
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ try{
+ Object oInt = oDocMSF.createInstance("com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance("com.sun.star.form.component."+kind);
+ XPropertySet model_props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,aCon);
+ model_props.setPropertyValue("DefaultControl","com.sun.star.awt."+defControl);
+ aControl = (XControlModel) UnoRuntime.queryInterface( XControlModel.class, aCon );
+ oCShape = (XControlShape) UnoRuntime.queryInterface( XControlShape.class, oInt );
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ System.out.println( "Couldn't create instance "+ e );
+ }
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createControlShape
+
+ public static XControlShape createControlShapeWithDefaultControl( XComponent oDoc, int height,
+ int width, int x, int y, String kind ) {
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ try{
+ Object oInt = oDocMSF.createInstance("com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance("com.sun.star.form.component."+kind);
+
+ aControl = (XControlModel) UnoRuntime.queryInterface( XControlModel.class, aCon );
+ oCShape = (XControlShape) UnoRuntime.queryInterface( XControlShape.class, oInt );
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ System.out.println( "Couldn't create instance "+ e );
+ }
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createControlShape
+
+ public static XInterface createControl( XComponent oDoc, String kind ) {
+
+ XInterface oControl = null;
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ try{
+ oControl = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.form.component."+kind);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ System.out.println( "Couldn't create instance "+ kind + ": "+ e );
+ }
+ return oControl;
+ } // finish createControl
+
+ public static XNameContainer getForms ( XDrawPage oDP )
+ {
+ XFormsSupplier oFS = (XFormsSupplier) UnoRuntime.queryInterface(
+ XFormsSupplier.class,oDP);
+ return oFS.getForms();
+ } //finish getForms
+
+ public static XIndexContainer getIndexedForms ( XDrawPage oDP )
+ {
+ XFormsSupplier oFS = (XFormsSupplier) UnoRuntime.queryInterface(
+ XFormsSupplier.class,oDP);
+ return (XIndexContainer)UnoRuntime.queryInterface( XIndexContainer.class,
+ oFS.getForms() );
+ } //finish getIndexedForms
+
+ public static void insertForm ( XComponent aDoc, XNameContainer Forms,
+ String aName ) {
+ try {
+ XInterface oControl = createControl(aDoc, "Form");
+ XForm oForm = (XForm) UnoRuntime.queryInterface(XForm.class, oControl);
+ Forms.insertByName(aName,oForm);
+ } catch ( Exception e ) {
+ throw new IllegalArgumentException( "Couldn't insert Form" );
+ }
+ }
+
+ public static XControlShape insertControlShape( XComponent oDoc, int height,
+ int width, int x, int y, String kind ) {
+
+ XControlShape aShape = createControlShape(oDoc,height,width,x,y,kind);
+ XDrawPage oDP = DrawTools.getDrawPage(oDoc,0);
+ DrawTools.getShapes(oDP).add(aShape);
+ return aShape;
+ }
+
+ public static XLoadable bindForm( XTextDocument aDoc ) {
+ XLoadable formLoader = null;
+
+ try {
+ Object aForm = FormTools.getIndexedForms(WriterTools.getDrawPage(aDoc)).getByIndex(0);
+ XForm the_form = null;
+ try {
+ the_form = (XForm) AnyConverter.toObject(new Type(XForm.class), aForm);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ System.out.println("### Couldn't convert Any");
+ }
+ XPropertySet formProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, the_form);
+ formProps.setPropertyValue("DataSourceName","Bibliography");
+ formProps.setPropertyValue("Command","biblio");
+ formProps.setPropertyValue("CommandType",new Integer(com.sun.star.sdb.CommandType.TABLE));
+ formLoader = (XLoadable) UnoRuntime.queryInterface(XLoadable.class, the_form);
+ }
+ catch (Exception ex) {
+ System.out.println("Exception: "+ex);
+ ex.printStackTrace(System.out);
+ }
+
+ return formLoader;
+ }
+
+ /**
+ * Binds <code>'Standard'</code> form of <code>aDoc</code> Writer document
+ * to the <code>tableName</code> table of <code>sourceName</code>
+ * Data Source.
+ * @param aDoc Writer document where DB controls are added.
+ * @param sourceName The name of DataSource in the <code>DatabaseContext</code>.
+ * @param tableName The name of the table to which controls are bound.
+ * @return <code>com.sun.star.form.component.DatabaseForm</code> service
+ * implementation which is the bound form inside the document.
+ */
+ public static XLoadable bindForm( XTextDocument aDoc, String sourceName, String tableName )
+ throws com.sun.star.uno.Exception {
+
+ XForm the_form = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ FormTools.getIndexedForms(WriterTools.getDrawPage(aDoc)).getByIndex(0));
+ XPropertySet formProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, the_form);
+ formProps.setPropertyValue("DataSourceName",sourceName);
+ formProps.setPropertyValue("Command",tableName);
+ formProps.setPropertyValue("CommandType",new Integer(com.sun.star.sdb.CommandType.TABLE));
+
+ return (XLoadable) UnoRuntime.queryInterface(XLoadable.class, the_form);
+ }
+
+ public static XLoadable bindForm( XTextDocument aDoc, String formName ) {
+ XLoadable formLoader = null;
+
+ try {
+ XForm the_form = (XForm) FormTools.getForms(WriterTools.getDrawPage(aDoc)).getByName(formName);
+ XPropertySet formProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, the_form);
+ formProps.setPropertyValue("DataSourceName","Bibliography");
+ formProps.setPropertyValue("Command","biblio");
+ formProps.setPropertyValue("CommandType",new Integer(com.sun.star.sdb.CommandType.TABLE));
+ formLoader = (XLoadable) UnoRuntime.queryInterface(XLoadable.class, the_form);
+ }
+ catch (Exception ex) {
+ System.out.println("Exception: "+ex);
+ ex.printStackTrace(System.out);
+ }
+
+ return formLoader;
+ }
+
+ /**
+ * Binds the form with the name specified of <code>aDoc</code> Writer document
+ * to the <code>tableName</code> table of <code>sourceName</code>
+ * Data Source.
+ * @param aDoc Writer document where DB controls are added.
+ * @param formName The name of the form to be bound.
+ * @param sourceName The name of DataSource in the <code>DatabaseContext</code>.
+ * @param tableName The name of the table to which controls are bound.
+ * @return <code>com.sun.star.form.component.DatabaseForm</code> service
+ * implementation which is the bound form inside the document.
+ */
+ public static XLoadable bindForm( XTextDocument aDoc, String formName, String sourceName,
+ String tableName) throws com.sun.star.uno.Exception {
+
+ XForm the_form = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ FormTools.getForms(WriterTools.getDrawPage(aDoc)).getByName(formName));
+ XPropertySet formProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, the_form);
+ formProps.setPropertyValue("DataSourceName",sourceName);
+ formProps.setPropertyValue("Command",tableName);
+ formProps.setPropertyValue("CommandType",new Integer(com.sun.star.sdb.CommandType.TABLE));
+
+ return (XLoadable) UnoRuntime.queryInterface(XLoadable.class, the_form);
+ }
+
+ public static void switchDesignOf(XMultiServiceFactory xMSF, XTextDocument aDoc) {
+ try {
+ com.sun.star.frame.XController aController = aDoc.getCurrentController();
+ com.sun.star.frame.XFrame aFrame = aController.getFrame();
+ com.sun.star.frame.XDispatchProvider aDispProv = (com.sun.star.frame.XDispatchProvider)
+ UnoRuntime.queryInterface(com.sun.star.frame.XDispatchProvider.class,aFrame);
+ com.sun.star.util.URL aURL = new com.sun.star.util.URL();
+ aURL.Complete = ".uno:SwitchControlDesignMode";
+
+ Object instance = xMSF.createInstance("com.sun.star.util.URLTransformer");
+ com.sun.star.util.XURLTransformer atrans =
+ (com.sun.star.util.XURLTransformer)UnoRuntime.queryInterface(
+ com.sun.star.util.XURLTransformer.class,instance);
+ com.sun.star.util.URL[] aURLA = new com.sun.star.util.URL[1];
+ aURLA[0] = aURL;
+ atrans.parseStrict(aURLA);
+ aURL = aURLA[0];
+
+ com.sun.star.frame.XDispatch aDisp = (com.sun.star.frame.XDispatch)aDispProv.queryDispatch(aURL, "",
+ com.sun.star.frame.FrameSearchFlag.SELF |
+ com.sun.star.frame.FrameSearchFlag.CHILDREN);
+
+ com.sun.star.beans.PropertyValue[] noArgs = new com.sun.star.beans.PropertyValue[0];
+ aDisp.dispatch(aURL, noArgs);
+ } catch (Exception e) {
+ System.out.println("******* Mist");
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/util/FrameDsc.java b/qadevOOo/runner/util/FrameDsc.java
new file mode 100644
index 000000000000..4bfb64e8459c
--- /dev/null
+++ b/qadevOOo/runner/util/FrameDsc.java
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.drawing.XShape;
+import com.sun.star.awt.Size;
+import com.sun.star.beans.XPropertySet;
+/**
+ * the class FrameDsc
+ */
+public class FrameDsc extends InstDescr {
+
+ private Size size = null;
+ private int height = 2000;
+ private int width = 2000;
+ private String name = null;
+ private int autoheigth = 0;
+ private int anchorType = 0;// bound at paragraph
+
+ final String ifcName = "com.sun.star.text.XTextFrame";
+ final String service = "com.sun.star.text.TextFrame";
+
+ public FrameDsc() {
+ initFrame();
+ }
+
+ public FrameDsc( int nHeight, int nWidth ) {
+ height = nHeight;
+ width = nWidth;
+ initFrame();
+ }
+
+ public FrameDsc( String FrameName, int nHeight, int nWidth ) {
+ name = FrameName;
+ height = nHeight;
+ width = nWidth;
+ initFrame();
+ }
+ public String getName() {
+ return name;
+ }
+ public String getIfcName() {
+ return ifcName;
+ }
+ public String getService() {
+ return service;
+ }
+
+ private void initFrame() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object SrvObj = null;
+
+ size = new Size();
+ size.Height = height;
+ size.Width = width;
+
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XShape shape = (XShape)UnoRuntime.queryInterface( XShape.class, SrvObj );
+ try {
+ shape.setSize(size);
+ }
+ catch( com.sun.star.beans.PropertyVetoException pvE ){
+ }
+
+ XTextFrame TF = (XTextFrame)UnoRuntime.queryInterface( ifcClass, SrvObj );
+
+ XPropertySet oPropSet = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, SrvObj );
+
+
+ try {
+ oPropSet.setPropertyValue("AnchorType", new Integer(2));
+ }
+ catch( com.sun.star.beans.UnknownPropertyException upE ){
+ }
+ catch( com.sun.star.beans.PropertyVetoException pvE ){
+ }
+ catch( com.sun.star.lang.IllegalArgumentException iaE ){
+ }
+ catch( com.sun.star.lang.WrappedTargetException wtE ){
+ }
+
+
+
+ return TF;
+ }
+}
diff --git a/qadevOOo/runner/util/InstCreator.java b/qadevOOo/runner/util/InstCreator.java
new file mode 100644
index 000000000000..b76066d7e95e
--- /dev/null
+++ b/qadevOOo/runner/util/InstCreator.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import util.XInstCreator;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.text.XTextTablesSupplier;
+import com.sun.star.text.XTextFramesSupplier;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XBookmarksSupplier;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XIndexAccess;
+
+
+public class InstCreator implements XInstCreator {
+ XInterface xParent;
+ XMultiServiceFactory xMSF;
+ XInterface xInstance;
+ XIndexAccess xIA;
+ InstDescr iDsc;
+
+ public InstCreator( XInterface xParent, InstDescr iDsc ) {
+ this.xParent = xParent;
+ this.iDsc = iDsc;
+
+ xMSF = (XMultiServiceFactory)UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xParent );
+
+ xInstance = createInstance();
+ xIA = createCollection();
+ }
+ public XInterface getInstance() {
+ return xInstance;
+ }
+
+ public XInterface createInstance() {
+ XInterface xIfc = null;
+ Object xObj = null;
+
+ xIfc = iDsc.createInstance( xMSF );
+
+ return xIfc;
+ }
+
+ public XIndexAccess getCollection() {
+ return xIA;
+ }
+
+ private XIndexAccess createCollection() {
+ XNameAccess oNA = null;
+
+ if ( iDsc instanceof TableDsc ) {
+ XTextTablesSupplier oTTS = (XTextTablesSupplier)
+ UnoRuntime.queryInterface(
+ XTextTablesSupplier.class, xParent );
+
+ oNA = oTTS.getTextTables();
+ }
+ if ( iDsc instanceof FrameDsc ) {
+ XTextFramesSupplier oTTS = (XTextFramesSupplier)
+ UnoRuntime.queryInterface(
+ XTextFramesSupplier.class, xParent );
+
+ oNA = oTTS.getTextFrames();
+ }
+ if ( iDsc instanceof BookmarkDsc ) {
+ XBookmarksSupplier oTTS = (XBookmarksSupplier)
+ UnoRuntime.queryInterface(
+ XBookmarksSupplier.class, xParent );
+
+ oNA = oTTS.getBookmarks();
+ }
+
+ if ( iDsc instanceof FootnoteDsc ) {
+ XFootnotesSupplier oTTS = (XFootnotesSupplier)
+ UnoRuntime.queryInterface(
+ XFootnotesSupplier.class, xParent );
+
+ return( oTTS.getFootnotes() );
+ }
+
+ if ( iDsc instanceof TextSectionDsc ) {
+ XTextSectionsSupplier oTSS = (XTextSectionsSupplier)
+ UnoRuntime.queryInterface(
+ XTextSectionsSupplier.class, xParent );
+
+ oNA = oTSS.getTextSections();
+ }
+
+ return (XIndexAccess)UnoRuntime.queryInterface(
+ XIndexAccess.class, oNA);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/InstDescr.java b/qadevOOo/runner/util/InstDescr.java
new file mode 100644
index 000000000000..e8343bc866e3
--- /dev/null
+++ b/qadevOOo/runner/util/InstDescr.java
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+/**
+ * the class InstDescr
+ */
+abstract public class InstDescr {
+
+ protected Class ifcClass = null;
+
+ protected abstract String getIfcName();
+ protected abstract String getName();
+
+ /**
+ * the method getIfcClass
+ */
+ public Class getIfcClass() {
+ return ifcClass;
+ }
+ /**
+ * the method getService
+ */
+ protected abstract String getService();
+ protected abstract XInterface createInstance( XMultiServiceFactory docMSF );
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/ParagraphDsc.java b/qadevOOo/runner/util/ParagraphDsc.java
new file mode 100644
index 000000000000..acaa630baad5
--- /dev/null
+++ b/qadevOOo/runner/util/ParagraphDsc.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * the class ParagraphDsc
+ */
+public class ParagraphDsc extends InstDescr {
+
+ final String service = "com.sun.star.text.Paragraph";
+ String ifcName = "com.sun.star.text.XTextContent";
+ private String name = null;
+
+
+ public ParagraphDsc() {
+ initParagraph();
+ }
+
+ public ParagraphDsc( String name ) {
+ this.name = name;
+ initParagraph();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ public String getService() {
+ return service;
+ }
+
+ private void initParagraph() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent PG = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return PG;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/PropertyName.java b/qadevOOo/runner/util/PropertyName.java
new file mode 100644
index 000000000000..075fa4d9704e
--- /dev/null
+++ b/qadevOOo/runner/util/PropertyName.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+/**
+ * This interfaces describes some key names which are used in <CODE>lib.TestParameters</CODE>.
+ */
+
+public interface PropertyName {
+ /**
+ * parameter name: "AppExecutionCommand"
+ */
+ final public static String APP_EXECUTION_COMMAND = "AppExecutionCommand";
+ /**
+ * parameter name: "AppKillCommand"
+ */
+ final public static String APP_KILL_COMMAND = "AppKillCommand";
+ /**
+ * parameter name: "ConnectionString"
+ */
+ final public static String CONNECTION_STRING = "ConnectionString";
+ final public static String PIPE_CONNECTION_STRING = "PipeConnectionString";
+ final public static String USE_PIPE_CONNECTION = "UsePipeConnection";
+
+ /**
+ * parameter name: "TestBase"
+ */
+ final public static String TEST_BASE = "TestBase";
+ /**
+ * parameter name: "TestDocumentPath"
+ */
+ final public static String TEST_DOCUMENT_PATH = "TestDocumentPath";
+ /**
+ * parameter name: "LoggingIsActive"
+ */
+ final public static String LOGGING_IS_ACTIVE = "LoggingIsActive";
+ /**
+ * parameter name: "DebugIsActive"
+ */
+ final public static String DEBUG_IS_ACTIVE = "DebugIsActive";
+ /**
+ * parameter name: "OutProduceer"
+ */
+ final public static String OUT_PRODUCER = "OutProducer";
+ /**
+ * parameter name: "ShortWait"
+ */
+ final public static String SHORT_WAIT= "ShortWait";
+ /**
+ * internal only, no parameter
+ */
+ final public static String OFFICE_PROVIDER = "OfficeProvider";
+ /**
+ * internal only, no parameter
+ */
+ final public static String OFFICE_WATCHER = "Watcher";
+ /**
+ * internal only, no parameter
+ */
+ final public static String LOG_WRITER = "LogWriter";
+ /**
+ * parameter name: "TimeOut"<p>
+ * time out given in milli seconds
+ */
+ final public static String TIME_OUT = "TimeOut";
+ /**
+ * parameter name: "ThreadTimeOut"
+ */
+ final public static String THREAD_TIME_OUT = "ThreadTimeOut";
+ /**
+ * parameter name: "OfficeCloseTimeOut"
+ */
+ final public static String OFFICE_CLOSE_TIME_OUT = "OfficeCloseTimeOut";
+ /**
+ * parameter name: "OperatingSystem"
+ */
+ final public static String OPERATING_SYSTEM = "OperatingSystem";
+ /**
+ * parameter name: "AutoRestart"
+ */
+ final public static String AUTO_RESTART = "AutoRestart";
+ /**
+ * parameter name: "NewOfficeInstance"
+ */
+ final public static String NEW_OFFICE_INSTANCE = "NewOfficeInstance";
+ /**
+ * parameter name: "KeepDocument"
+ */
+ final public static String KEEP_DOCUMENT = "KeepDocument";
+ /**
+ * parameter name: "SRC_ROOT"<p>
+ * path to the source root of OpenOffice.org
+ */
+ final public static String SRC_ROOT = "SRC_ROOT";
+ /**
+ * parameter name: "Version"<p>
+ * the name of the version to test
+ */
+ final public static String VERSION = "Version";
+
+ /**
+ * parameter name "Shell"<p>
+ * Path to a shell.
+ * This shell is used to run some commands outside of Java
+ * example: /bin/tcsh c:\\myShell\\myShell.exe
+ */
+ final public static String SHELL = "Shell";
+ /**
+ * parameter name "Cygwin"<p>
+ * If Cygwin is set to TRUE it indicates if the runner runs in a Cygwin
+ * environment
+ */
+ final public static String CYGWIN = "Cygwin";
+ /**
+ * parameter name: "NoCwsAttach"<p>
+ * If this paraeter is set to "true" , a status of CWS-UnoAPI-Tests was not attached to EIS<p>
+ * @see tests.complex.unoapi.CheckModuleAPI
+ */
+ final public static String NO_CWS_ATTACH = "NoCwsAttach";
+ /**
+ * internal only, no parameter
+ */
+ final public static String WNTMSCI = "wntmsci";
+ /**
+ * internal only, no parameter
+ */
+ final public static String UNXLNGI = "unxlngi";
+ /**
+ * internal only, no parameter
+ */
+ final public static String UNXSOLS = "unxsols";
+ /**
+ * internal only, no parameter
+ */
+ final public static String UNXSOLI = "unxsoli";
+ /**
+ * internal only, no parameter
+ */
+ final public static String UNXMACXI = "unxmacxi";
+
+ /**
+ * can be used to dont backup the user layer, faster office start/stop but less secure default is to backup the user layer
+ */
+ final public static String DONT_BACKUP_USERLAYER = "DontBackupUserLayer";
+}
diff --git a/qadevOOo/runner/util/ReferenceMarkDsc.java b/qadevOOo/runner/util/ReferenceMarkDsc.java
new file mode 100644
index 000000000000..948fab207a13
--- /dev/null
+++ b/qadevOOo/runner/util/ReferenceMarkDsc.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 util;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * the class ReferenceMarkDsc
+ */
+public class ReferenceMarkDsc extends InstDescr {
+
+ final String service = "com.sun.star.text.ReferenceMark";
+ String ifcName = "com.sun.star.text.XTextContent";
+ private String name = null;
+
+
+ public ReferenceMarkDsc() {
+ initReferenceMark();
+ }
+
+ public ReferenceMarkDsc( String name ) {
+ this.name = name;
+ initReferenceMark();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ public String getService() {
+ return service;
+ }
+
+ private void initReferenceMark() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent RM = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return RM;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/RegistryTools.java b/qadevOOo/runner/util/RegistryTools.java
new file mode 100644
index 000000000000..199eb1c01451
--- /dev/null
+++ b/qadevOOo/runner/util/RegistryTools.java
@@ -0,0 +1,370 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+// access the implementations via names
+import com.sun.star.uno.UnoRuntime;
+import java.io.PrintWriter ;
+
+import com.sun.star.registry.XRegistryKey ;
+import com.sun.star.registry.XSimpleRegistry ;
+import com.sun.star.registry.RegistryKeyType ;
+import com.sun.star.registry.RegistryValueType ;
+import com.sun.star.registry.InvalidRegistryException ;
+import com.sun.star.lang.XMultiServiceFactory ;
+import com.sun.star.uno.Exception;
+
+public class RegistryTools {
+
+ /**
+ * Creates 'com.sun.star.registry.SimpleRegistry'
+ * service.
+ * @param xMSF Multiservice factory.
+ * @return Service created.
+ */
+ public static XSimpleRegistry createRegistryService
+ (XMultiServiceFactory xMSF) throws com.sun.star.uno.Exception {
+
+ Object oInterface = xMSF.createInstance
+ ("com.sun.star.registry.SimpleRegistry");
+ return (XSimpleRegistry) UnoRuntime.queryInterface (
+ XSimpleRegistry.class, oInterface) ;
+ }
+
+ /**
+ * Opens registry file for reading/writing. If file doesn't
+ * exist a new one created.
+ * @param file Registry file name.
+ * @param xMSF Multiservice factory.
+ * @return Opened registry.
+ */
+ public static XSimpleRegistry openRegistry
+ (String file, XMultiServiceFactory xMSF)
+ throws com.sun.star.uno.Exception {
+
+ XSimpleRegistry reg = createRegistryService(xMSF) ;
+
+ reg.open(file, false, true) ;
+
+ return reg ;
+ }
+
+ /**
+ * Compares two registry keys, their names, value
+ * types and values.
+ * return <code>true</code> if key names, value types
+ * and values are equal, else returns <code>false</code>.
+ */
+ public static boolean compareKeys
+ (XRegistryKey key1, XRegistryKey key2) {
+
+ if (key1 == null || key2 == null ||
+ !key1.isValid() || !key2.isValid())
+
+ return false ;
+
+ String keyName1 = getShortKeyName(key1.getKeyName()) ;
+ String keyName2 = getShortKeyName(key2.getKeyName()) ;
+
+ if (!keyName1.equals(keyName2)) return false ;
+
+ try {
+ if (key1.getValueType() != key2.getValueType()) return false ;
+ } catch (InvalidRegistryException e) {
+ return false ;
+ }
+
+ RegistryValueType type ;
+ try {
+ type = key1.getValueType() ;
+
+ if (type.equals(RegistryValueType.ASCII)) {
+ if (!key1.getAsciiValue().equals(key2.getAsciiValue()))
+ return false ;
+ } else
+ if (type.equals(RegistryValueType.STRING)) {
+ if (!key1.getStringValue().equals(key2.getStringValue()))
+ return false ;
+ } else
+ if (type.equals(RegistryValueType.LONG)) {
+ if (key1.getLongValue() != key2.getLongValue())
+ return false ;
+ } else
+ if (type.equals(RegistryValueType.BINARY)) {
+ byte[] bin1 = key1.getBinaryValue() ;
+ byte[] bin2 = key2.getBinaryValue() ;
+ if (bin1.length != bin2.length)
+ return false ;
+ for (int i = 0; i < bin1.length; i++)
+ if (bin1[i] != bin2[i]) return false ;
+ } else
+ if (type.equals(RegistryValueType.ASCIILIST)) {
+ String[] list1 = key1.getAsciiListValue() ;
+ String[] list2 = key2.getAsciiListValue() ;
+ if (list1.length != list2.length)
+ return false ;
+ for (int i = 0; i < list1.length; i++)
+ if (!list1[i].equals(list2[i])) return false ;
+ } else
+ if (type.equals(RegistryValueType.STRINGLIST)) {
+ String[] list1 = key1.getStringListValue() ;
+ String[] list2 = key2.getStringListValue() ;
+ if (list1.length != list2.length)
+ return false ;
+ for (int i = 0; i < list1.length; i++)
+ if (!list1[i].equals(list2[i])) return false ;
+ } else
+ if (type.equals(RegistryValueType.LONGLIST)) {
+ int[] list1 = key1.getLongListValue() ;
+ int[] list2 = key2.getLongListValue() ;
+ if (list1.length != list2.length)
+ return false ;
+ for (int i = 0; i < list1.length; i++)
+ if (list1[i] != list2[i]) return false ;
+ }
+ } catch (Exception e) {
+ return false ;
+ }
+
+ return true ;
+ }
+
+ /**
+ * Gets name of the key relative to its parent.
+ * For example if full name of key is '/key1/subkey'
+ * short key name is 'subkey'
+ * @param keyName Full key name.
+ * @return Short key name.
+ */
+ public static String getShortKeyName(String keyName) {
+ if (keyName == null) return null ;
+ int idx = keyName.lastIndexOf("/") ;
+ if (idx < 0) return keyName ;
+ else return keyName.substring(idx + 1) ;
+ }
+
+ /**
+ * Compare all child keys.
+ * @param compareRoot If <code>true</code> method also
+ * compare root keys, if <code>false</code> it begins recursive
+ * comparing from children of root keys.
+ * @return <code>true</code> if keys and their sub keys are equal.
+ */
+ protected static boolean compareKeyTrees
+ (XRegistryKey tree1, XRegistryKey tree2, boolean compareRoot) {
+
+ if (compareRoot && !compareKeys(tree1, tree2)) return false ;
+
+ try {
+ String[] keyNames1 = tree1.getKeyNames() ;
+ String[] keyNames2 = tree2.getKeyNames() ;
+
+ if (keyNames1 == null && keyNames2 == null) return true ;
+
+ if (keyNames1 == null || keyNames2 == null ||
+ keyNames2.length != keyNames1.length)
+ return false ;
+
+ for (int i = 0; i < keyNames1.length; i++) {
+
+ String keyName = getShortKeyName(keyNames1[i]) ;
+ XRegistryKey key2 = tree2.openKey(keyName) ;
+
+ if (key2 == null)
+ // key with the same name doesn't exist in the second tree
+ return false ;
+
+ if (!tree1.getKeyType(keyName).equals(
+ tree2.getKeyType(keyName)))
+ return false ;
+
+ if (tree1.getKeyType(keyName).equals(
+ RegistryKeyType.LINK)) {
+
+ if (!getShortKeyName(tree1.getLinkTarget(keyName)).equals(
+ getShortKeyName(tree2.getLinkTarget(keyName))))
+
+ return false ;
+ } else {
+
+ if (compareKeyTrees(tree1.openKey(keyName),
+ tree2.openKey(keyName), true) == false) return false ;
+ }
+ }
+ } catch (InvalidRegistryException e) {
+ return false ;
+ }
+
+ return true ;
+ }
+
+ /**
+ * Compare keys specified and all their child keys.
+ * @return <code>true</code> if keys and their sub keys are equal.
+ */
+ public static boolean compareKeyTrees
+ (XRegistryKey tree1, XRegistryKey tree2) {
+
+ return compareKeyTrees(tree1, tree2, false) ;
+ }
+
+ /**
+ * Prints to a specified output about all keys and subkeys information
+ * (key name, type, value, link target, attributes) recursively.
+ * @param reg Registry for which information is needed.
+ * @param out Output stream.
+ */
+ public static void printRegistryInfo(XSimpleRegistry reg, PrintWriter out) {
+ try {
+ printRegistryInfo(reg.getRootKey(), out) ;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ out.println("!!! Can't open root registry key for info printing") ;
+ }
+ }
+
+ /**
+ * Prints to a specified output about all keys and subkeys information
+ * (key name, type, value, link target, attributes) recursively.
+ * @param root Key for which subkeys (and further) information is required.
+ * @param out Output stream.
+ */
+ public static void printRegistryInfo(XRegistryKey root, PrintWriter out) {
+ if (root == null) {
+ out.println("/(null)") ;
+ return ;
+ }
+
+ out.println("/") ;
+ try {
+ printTreeInfo(root, out, " ") ;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ out.println("Exception accessing registry :") ;
+ e.printStackTrace(out) ;
+ }
+ }
+
+ private static void printTreeInfo(XRegistryKey key,
+ PrintWriter out, String margin)
+ throws com.sun.star.registry.InvalidRegistryException {
+
+ String[] subKeys = key.getKeyNames() ;
+
+ if (subKeys == null || subKeys.length == 0) return ;
+
+ for (int i = 0; i < subKeys.length; i++) {
+ printKeyInfo(key, subKeys[i], out, margin) ;
+ XRegistryKey subKey = key.openKey
+ (getShortKeyName(subKeys[i])) ;
+ printTreeInfo(subKey, out, margin + " ") ;
+ subKey.closeKey() ;
+ }
+ }
+
+ private static void printKeyInfo(XRegistryKey parentKey,
+ String keyName, PrintWriter out, String margin)
+ throws com.sun.star.registry.InvalidRegistryException {
+
+ out.print(margin) ;
+ keyName = getShortKeyName(keyName) ;
+ XRegistryKey key = parentKey.openKey(keyName) ;
+ if (key != null)
+ out.print("/" + getShortKeyName(key.getKeyName()) + " ") ;
+ else {
+ out.println("(null)") ;
+ return ;
+ }
+
+ if (!key.isValid()) {
+ out.println("(not valid)") ;
+ return ;
+ }
+
+ if (key.isReadOnly()) {
+ out.print("(read only) ") ;
+ }
+
+ if (parentKey.getKeyType(keyName) == RegistryKeyType.LINK) {
+ out.println("(link to " + parentKey.getLinkTarget(keyName) + ")") ;
+ return ;
+ }
+
+ RegistryValueType type ;
+ try {
+ type = key.getValueType() ;
+
+ if (type.equals(RegistryValueType.ASCII)) {
+ out.println("[ASCII] = '" + key.getAsciiValue() + "'") ;
+ } else
+ if (type.equals(RegistryValueType.STRING)) {
+ out.println("[STRING] = '" + key.getStringValue() + "'") ;
+ } else
+ if (type.equals(RegistryValueType.LONG)) {
+ out.println("[LONG] = " + key.getLongValue()) ;
+ } else
+ if (type.equals(RegistryValueType.BINARY)) {
+ out.print("[BINARY] = {") ;
+ byte[] bin = key.getBinaryValue() ;
+ for (int i = 0; i < bin.length; i++)
+ out.print("" + bin[i] + ",") ;
+ out.println("}") ;
+ } else
+ if (type.equals(RegistryValueType.ASCIILIST)) {
+ out.print("[ASCIILIST] = {") ;
+ String[] list = key.getAsciiListValue() ;
+ for (int i = 0; i < list.length; i++)
+ out.print("'" + list[i] + "',") ;
+ out.println("}") ;
+ } else
+ if (type.equals(RegistryValueType.STRINGLIST)) {
+ out.print("[STRINGLIST] = {") ;
+ String[] list = key.getStringListValue() ;
+ for (int i = 0; i < list.length; i++)
+ out.print("'" + list[i] + "',") ;
+ out.println("}") ;
+ } else
+ if (type.equals(RegistryValueType.LONGLIST)) {
+ out.print("[LONGLIST] = {") ;
+ int[] list = key.getLongListValue() ;
+ for (int i = 0; i < list.length; i++)
+ out.print("" + list[i] + ",") ;
+ out.println("}") ;
+ } else {
+ out.println("") ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ out.println("Exception occured : ") ;
+ e.printStackTrace(out) ;
+ } finally {
+ key.closeKey() ;
+ }
+ }
+
+
+// public static void compareKeyTrees
+
+}
diff --git a/qadevOOo/runner/util/SOfficeFactory.java b/qadevOOo/runner/util/SOfficeFactory.java
new file mode 100644
index 000000000000..80493fdee058
--- /dev/null
+++ b/qadevOOo/runner/util/SOfficeFactory.java
@@ -0,0 +1,629 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import java.util.Hashtable;
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XMultiServiceFactory;
+
+import com.sun.star.uno.UnoRuntime;
+// staroffice interfaces to provide desktop and componentloader
+// and components i.e. spreadsheets, writerdocs etc.
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XServiceInfo;
+
+// name - value pair
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.PropertyState;
+
+// additional classes required for testcase
+import com.sun.star.sheet.*;
+import com.sun.star.text.*;
+import com.sun.star.container.*;
+import com.sun.star.chart.*;
+import com.sun.star.drawing.*;
+import com.sun.star.awt.*;
+
+public class SOfficeFactory {
+
+ private static Hashtable lookup = new Hashtable(10);
+ protected XComponentLoader oCLoader;
+
+ private SOfficeFactory(XMultiServiceFactory xMSF) {
+ // get XInterface of Desktop service
+ Object oInterface;
+ try {
+ oInterface = xMSF.createInstance("com.sun.star.frame.Desktop");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new IllegalArgumentException(
+ "Desktop Service not available");
+ }
+
+ // query the desktop interface and then it's componentloader
+ XDesktop oDesktop = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, oInterface);
+
+ oCLoader = (XComponentLoader) UnoRuntime.queryInterface(
+ XComponentLoader.class, oDesktop);
+ }
+
+ public static SOfficeFactory getFactory(XMultiServiceFactory xMSF) {
+
+ SOfficeFactory soFactory = (SOfficeFactory) lookup.get(new Integer(xMSF.hashCode()).toString());
+
+ if (soFactory == null) {
+ soFactory = new SOfficeFactory(xMSF);
+ lookup.put(new Integer(xMSF.hashCode()).toString(), soFactory);
+ }
+
+ return soFactory;
+ }
+
+ // *********************************************************
+ // Document creation. The documents needed are created here.
+ // *********************************************************
+ /**
+ * method which opens a new TextDocument
+ *
+ * @see XTextDocument
+ */
+ public XTextDocument createTextDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ XComponent oDoc = openDoc("swriter", frameName);
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ return (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, oDoc);
+ } else {
+ return null;
+ }
+
+ } // finished createTextDoc
+
+ /**
+ * method which opens a new TextDocument
+ *
+ * @see XTextDocument
+ */
+ public XTextDocument createTextDoc(String frameName, PropertyValue[] mediaDescriptor)
+ throws com.sun.star.uno.Exception {
+
+ XComponent oDoc = openDoc("swriter", frameName, mediaDescriptor);
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ return (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, oDoc);
+ } else {
+ return null;
+ }
+ } // finished createTextDoc
+
+ /**
+ * method which opens a new SpreadsheetDocument
+ *
+ * @see XSpreadsheetDocument
+ */
+ public XSpreadsheetDocument createCalcDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ XComponent oDoc = openDoc("scalc", frameName);
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ return (XSpreadsheetDocument) UnoRuntime.queryInterface(XSpreadsheetDocument.class, oDoc);
+ } else {
+ return null;
+ }
+ } // finished createCalcDoc
+
+ /**
+ * method which opens a new SpreadsheetDocument
+ *
+ * @see XSpreadsheetDocument
+ */
+ public XSpreadsheetDocument createCalcDoc(String frameName, PropertyValue[] mediaDescriptor)
+ throws com.sun.star.uno.Exception {
+
+ XComponent oDoc = openDoc("scalc", frameName, mediaDescriptor);
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ return (XSpreadsheetDocument) UnoRuntime.queryInterface(XSpreadsheetDocument.class, oDoc);
+ } else {
+ return null;
+ }
+ } // finished createCalcDoc
+
+ /**
+ * method which opens a new DrawDocument
+ */
+ public XComponent createDrawDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("sdraw", frameName);
+ } // finished createDrawDoc
+
+ /**
+ * method which opens a new ImpressDocument
+ */
+ /**
+ * method which opens a new DrawDocument
+ */
+ public XComponent createDrawDoc(String frameName, PropertyValue[] mediaDescriptor)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("sdraw", frameName, mediaDescriptor);
+ } // finished createDrawDoc
+
+ /**
+ * method which opens a new ImpressDocument
+ */
+ public XComponent createImpressDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("simpress", frameName);
+ } // finished createImpressDoc
+
+ /**
+ * method which opens a new ImpressDocument
+ */
+ public XComponent createImpressDoc(String frameName, PropertyValue[] mediaDescriptor)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("simpress", frameName, mediaDescriptor);
+ } // finished createImpressDoc
+
+ /**
+ * method which opens a new MathDocument
+ */
+ public XComponent createMathDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("smath", frameName);
+ } // finished createMathDoc
+
+ /**
+ * method which opens a new MathDocument
+ */
+ public XComponent createMathDoc(String frameName, PropertyValue[] mediaDescriptor)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("smath", frameName, mediaDescriptor);
+ } // finished createMathDoc
+
+ /**
+ * method which opens a new ChartDocument
+ *
+ * @see XChartDocument
+ */
+ public XChartDocument createChartDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+// XComponent oDoc = loadDocument(
+// util.utils.getFullTestURL("emptyChart.sds"));
+
+ XComponent oDoc = loadDocument("private:factory/schart");
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ return (XChartDocument) UnoRuntime.queryInterface(XChartDocument.class, oDoc);
+ } else {
+ return null;
+ }
+
+ } // finished createChartDoc
+
+ /**
+ * creates a simple TextTable defaultet to 2 rows and 2 columns
+ */
+ public static XTextTable createTextTable(XTextDocument xTextDoc)
+ throws com.sun.star.uno.Exception {
+
+ TableDsc tDsc = new TableDsc();
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextTable oTable = (XTextTable) instCreate.getInstance();
+ return oTable;
+ }
+
+ /**
+ * creates a TextTable with a specified count of rows and columns
+ */
+ public static XTextTable createTextTable(XTextDocument xTextDoc,
+ int rows, int columns)
+ throws com.sun.star.uno.Exception {
+
+ TableDsc tDsc = new TableDsc(rows, columns);
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextTable oTable = (XTextTable) instCreate.getInstance();
+ return oTable;
+ }
+
+ /**
+ * creates a simple TextFrame
+ * ... to be continued
+ */
+ public static XTextFrame createTextFrame(XTextDocument xTextDoc)
+ throws com.sun.star.uno.Exception {
+
+ FrameDsc tDsc = new FrameDsc();
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextFrame oFrame = (XTextFrame) instCreate.getInstance();
+ return oFrame;
+ }
+
+ /**
+ * creates a simple TextFrame
+ * ... to be continued
+ */
+ public static XTextFrame createTextFrame(XTextDocument xTextDoc,
+ int height, int width) {
+
+ FrameDsc tDsc = new FrameDsc(height, width);
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextFrame oFrame = (XTextFrame) instCreate.getInstance();
+ return oFrame;
+ }
+
+ public static void insertString(XTextDocument xTextDoc, String cString)
+ throws com.sun.star.uno.Exception {
+ XText xText = xTextDoc.getText();
+ XText oText = (XText) UnoRuntime.queryInterface(
+ XText.class, xText);
+
+ XTextCursor oCursor = oText.createTextCursor();
+ oText.insertString(oCursor, cString, false);
+ }
+
+ public static void insertTextContent(XTextDocument xTextDoc,
+ XTextContent xCont)
+ throws com.sun.star.lang.IllegalArgumentException {
+ XText xText = xTextDoc.getText();
+ XText oText = (XText) UnoRuntime.queryInterface(
+ XText.class, xText);
+
+ XTextCursor oCursor = oText.createTextCursor();
+ oText.insertTextContent(oCursor, xCont, false);
+ }
+
+ public static com.sun.star.table.XCell getFirstTableCell(
+ XTextContent oTable) {
+
+ String CellNames[] = ((XTextTable) oTable).getCellNames();
+
+ com.sun.star.table.XCell oCell = ((XTextTable) oTable).getCellByName(
+ CellNames[0]);
+ return oCell;
+
+ }
+
+ /**
+ * the method createBookmark
+ */
+ public static XTextContent createBookmark(XTextDocument xTextDoc)
+ throws com.sun.star.uno.Exception {
+
+ BookmarkDsc tDsc = new BookmarkDsc();
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextContent oBookmark = (XTextContent) instCreate.getInstance();
+ return oBookmark;
+
+ } /// finish createBookmark
+
+ /**
+ * the method createReferenceMark
+ */
+ public static XTextContent createReferenceMark(XTextDocument xTextDoc)
+ throws com.sun.star.uno.Exception {
+
+ ReferenceMarkDsc tDsc = new ReferenceMarkDsc();
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextContent oReferenceMark = (XTextContent) instCreate.getInstance();
+ return oReferenceMark;
+
+ } /// finish createReferenceMark
+
+ /**
+ * the method createFootnote
+ */
+ public static XTextContent createFootnote(XTextDocument xTextDoc)
+ throws com.sun.star.uno.Exception {
+
+ FootnoteDsc tDsc = new FootnoteDsc();
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextContent oFootnote = (XTextContent) instCreate.getInstance();
+ return oFootnote;
+
+ } /// finish createFootnote
+
+ /**
+ * the method create Index
+ */
+ public static XTextContent createIndex(XTextDocument xTextDoc, String kind)
+ throws com.sun.star.uno.Exception {
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class,
+ xTextDoc);
+
+ Object oInt = oDocMSF.createInstance(kind);
+
+ XTextContent xTC = (XTextContent) UnoRuntime.queryInterface(XDocumentIndex.class, oInt);
+
+ return xTC;
+
+ }
+
+ public static XSpreadsheet createSpreadsheet(XSpreadsheetDocument oDoc)
+ throws com.sun.star.uno.Exception {
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ Object oInt = oDocMSF.createInstance(
+ "com.sun.star.sheet.Spreadsheet");
+
+ XSpreadsheet oSpreadsheet = (XSpreadsheet) UnoRuntime.queryInterface(XSpreadsheet.class, oInt);
+
+ return oSpreadsheet;
+ }
+
+ public static XIndexAccess getTableCollection(XTextDocument oDoc) {
+
+ XTextTablesSupplier oTTS = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, oDoc);
+
+ XNameAccess oNA = oTTS.getTextTables();
+ XIndexAccess oIA = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, oNA);
+
+ return oIA;
+ }
+
+ public static String getUniqueName(XInterface oInterface, String prefix) {
+ XNameAccess oNameAccess = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, oInterface);
+ if (oNameAccess == null) {
+ return null;
+ }
+ int i;
+ for (i = 0; oNameAccess.hasByName(prefix + i); i++) {
+ }
+ ;
+ return prefix + i;
+ }
+
+ public XShape createShape(XComponent oDoc, int height, int width, int x, int y, String kind) {
+ //possible values for kind are 'Ellipse', 'Line' and 'Rectangle'
+
+ ShapeDsc sDsc = new ShapeDsc(height, width, x, y, kind);
+ InstCreator instCreate = new InstCreator(oDoc, sDsc);
+
+ XShape oShape = (XShape) instCreate.getInstance();
+
+ return oShape;
+
+ }
+
+ /**
+ * creates a Diagram wich specified in kind(String)
+ */
+ public XDiagram createDiagram(XComponent oDoc, String kind) {
+ XInterface oInterface = null;
+ XDiagram oDiagram = null;
+
+ //get LineDiagram
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ try {
+ oInterface = (XInterface) oDocMSF.createInstance("com.sun.star.chart." + kind);
+ oDiagram = (XDiagram) UnoRuntime.queryInterface(XDiagram.class, oInterface);
+ } catch (Exception e) {
+ // Some exception occures.FAILED
+ System.out.println("Couldn't create " + kind + "-Diagram " + e);
+ }
+ return oDiagram;
+ }
+
+ /*
+ // create a Control-Instance which specified in kind(String)
+ */
+ public XInterface createControl(XComponent oDoc, String kind) {
+
+ XInterface oControl = null;
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ try {
+ oControl = (XInterface) oDocMSF.createInstance("com.sun.star.form.component." + kind);
+ } catch (Exception e) {
+ // Some exception occures.FAILED
+ System.out.println("Couldn't create instance " + kind + ": " + e);
+ }
+ return oControl;
+ }
+
+ /*
+ // create an Instance which is specified in kind(String)
+ */
+ public Object createInstance(XComponent oDoc, String kind) {
+
+ Object oInstance = null;
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ try {
+ oInstance = (Object) oDocMSF.createInstance(kind);
+ } catch (Exception e) {
+ // Some exception occures.FAILED
+ System.out.println("Couldn't create instance " + kind + ": " + e);
+ }
+ return oInstance;
+ }
+
+ public XControlShape createControlShape(XComponent oDoc, int height, int width, int x, int y, String kind) {
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ try {
+ Object oInt = oDocMSF.createInstance("com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance("com.sun.star.form.component." + kind);
+ aControl = (XControlModel) UnoRuntime.queryInterface(XControlModel.class, aCon);
+ oCShape = (XControlShape) UnoRuntime.queryInterface(XControlShape.class, oInt);
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+
+
+ } catch (Exception e) {
+ // Some exception occures.FAILED
+ System.out.println("Couldn't create instance " + e);
+ }
+
+ try {
+ oCShape.setControl(aControl);
+ } catch (Exception e) {
+ // Some exception occures.FAILED
+ System.out.println("Couldn't get Control " + e);
+ }
+
+
+ return oCShape;
+
+ }
+
+ public XComponent loadDocument(String fileName)
+ throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException,
+ com.sun.star.uno.Exception {
+
+ // that noargs thing for load attributes
+ PropertyValue[] szEmptyArgs = new PropertyValue[0];
+ String frameName = "_blank";
+
+ XComponent oDoc = oCLoader.loadComponentFromURL(
+ fileName, frameName, 0, szEmptyArgs);
+
+ if (oDoc == null) {
+ return null;
+ }
+ DesktopTools.bringWindowToFront(oDoc);
+ return oDoc;
+ }
+
+ public XComponent loadDocument(String fileName, PropertyValue[] Args)
+ throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException,
+ com.sun.star.uno.Exception {
+
+ // that noargs thing for load attributes
+ String frameName = "_blank";
+
+ XComponent oDoc = oCLoader.loadComponentFromURL(
+ fileName, frameName, 0, Args);
+
+ if (oDoc == null) {
+ return null;
+ }
+ DesktopTools.bringWindowToFront(oDoc);
+
+ return oDoc;
+ }
+
+ public XComponent openDoc(String kind, String frameName)
+ throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException,
+ com.sun.star.uno.Exception {
+
+ // that noargs thing for load attributes
+ PropertyValue[] Args = null;
+ if (kind.equals("simpress")) {
+ Args = new PropertyValue[1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "OpenFlags";
+ Arg.Value = "S";
+ Arg.Handle = -1;
+ Arg.State = PropertyState.DEFAULT_VALUE;
+ Args[0] = Arg;
+ } else {
+ Args = new PropertyValue[0];
+ }
+
+ if (frameName == null) {
+ frameName = "_blank";
+ }
+ // load a blank a doc
+ XComponent oDoc = oCLoader.loadComponentFromURL("private:factory/" + kind, frameName, 40, Args);
+ DesktopTools.bringWindowToFront(oDoc);
+
+ return oDoc;
+
+ } // finished openDoc
+
+ public XComponent openDoc(String kind, String frameName, PropertyValue[] mediaDescriptor)
+ throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException,
+ com.sun.star.uno.Exception {
+
+ if (frameName == null) {
+ frameName = "_blank";
+ }
+ // load a blank a doc
+ XComponent oDoc = oCLoader.loadComponentFromURL(
+ "private:factory/" + kind, frameName, 40, mediaDescriptor);
+ DesktopTools.bringWindowToFront(oDoc);
+
+ return oDoc;
+
+ } // finished openDoc
+
+ // query for XServiceInfo
+ public Object queryXServiceInfo(Object oObj) {
+ if (oObj != null) {
+ XServiceInfo oInfo = (XServiceInfo) UnoRuntime.queryInterface(
+ XServiceInfo.class, oObj);
+ System.out.println("!!!! XServiceInfo n.a. !!!! ");
+ } else {
+ System.out.println("Object is empty!!!! ");
+ }
+ return null;
+ } // finish queryXServiceInfo
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/ShapeDsc.java b/qadevOOo/runner/util/ShapeDsc.java
new file mode 100644
index 000000000000..df9364a7d9a2
--- /dev/null
+++ b/qadevOOo/runner/util/ShapeDsc.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.drawing.*;
+import com.sun.star.awt.*;
+/**
+ * the class TableDsc
+ */
+public class ShapeDsc extends InstDescr {
+
+ private int x = 0;
+ private int y = 0;
+ private int height = 0;
+ private int width = 0;
+ private String name = null;
+ final String ifcName = "com.sun.star.drawing.XShape";
+ String service = "com.sun.star.drawing.RectangleShape";
+
+ public ShapeDsc( int nheight, int nwidth, int nx, int ny, String kind ) {
+ x=nx;
+ y=ny;
+ height=nheight;
+ width=nwidth;
+ service="com.sun.star.drawing."+kind+"Shape";
+ initShape();
+ }
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+ public String getService() {
+ return service;
+ }
+
+ private void initShape() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+
+
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XShape Sh = (XShape)UnoRuntime.queryInterface(ifcClass, SrvObj );
+ Size size = new Size();
+ Point position = new Point();
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ try {
+ Sh.setSize(size);
+ Sh.setPosition(position);
+ }
+ catch ( com.sun.star.beans.PropertyVetoException e) {
+ }
+
+ return Sh;
+
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/StyleFamilyDsc.java b/qadevOOo/runner/util/StyleFamilyDsc.java
new file mode 100644
index 000000000000..eed3835bfab4
--- /dev/null
+++ b/qadevOOo/runner/util/StyleFamilyDsc.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * the class StyleFamilyDsc
+ */
+public class StyleFamilyDsc extends InstDescr {
+
+ private String name = null;
+ final String ifcName = "com.sun.star.style.XStyle";
+ String service = "com.sun.star.style.CharacterStyle";
+
+ public StyleFamilyDsc( String kind ) {
+ service = "com.sun.star.style." + kind;
+ initStyleFamily();
+ }
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+ public String getService() {
+ return service;
+ }
+
+ private void initStyleFamily() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+
+
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XInterface StyleFamily = (XInterface)UnoRuntime.queryInterface(ifcClass, SrvObj );
+
+ return StyleFamily;
+
+ }
+}
diff --git a/qadevOOo/runner/util/SysUtils.java b/qadevOOo/runner/util/SysUtils.java
new file mode 100644
index 000000000000..110b7ea549d7
--- /dev/null
+++ b/qadevOOo/runner/util/SysUtils.java
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.datatransfer.clipboard.*;
+import com.sun.star.datatransfer.*;
+
+public class SysUtils {
+
+ public static String getJavaPath() {
+ String cp = (String) System.getProperty("java.class.path");
+ String jh = (String) System.getProperty("java.home");
+ String fs = (String) System.getProperty("file.separator");
+ jh = jh + fs + "bin" + fs;
+ jh = jh + "java -classpath "+cp;
+ return jh;
+ }
+
+ static ArrayList files = new ArrayList();
+
+ public static Object[] traverse( String afileDirectory ) {
+
+ File fileDirectory = new File(afileDirectory);
+ // Testing, if the file is a directory, and if so, it throws an exception
+ if ( !fileDirectory.isDirectory() ) {
+ throw new IllegalArgumentException(
+ "not a directory: " + fileDirectory.getName()
+ );
+ }
+
+ // Getting all files and directories in the current directory
+ File[] entries = fileDirectory.listFiles(
+ new FileFilter() {
+ public boolean accept( File pathname ) {
+ return true;
+ }
+ }
+ );
+
+ // Iterating for each file and directory
+ for ( int i = 0; i < entries.length; ++i ) {
+ // Testing, if the entry in the list is a directory
+ if ( entries[ i ].isDirectory() ) {
+ // Recursive call for the new directory
+ traverse( entries[ i ].getAbsolutePath() );
+ } else {
+ // adding file to List
+ try {
+ // Composing the URL by replacing all backslashs
+ String stringUrl = "file:///"
+ + entries[ i ].getAbsolutePath().replace( '\\', '/' );
+ files.add(stringUrl);
+ }
+ catch( Exception exception ) {
+ exception.printStackTrace();
+ }
+
+ }
+ }
+ return files.toArray();
+ }
+
+ public static XComponent getActiveComponent(XMultiServiceFactory msf) {
+ XComponent ac = null;
+ try {
+ Object desk = msf.createInstance("com.sun.star.frame.Desktop");
+ XDesktop xDesk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,desk);
+ ac = xDesk.getCurrentComponent();
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("Couldn't get active Component");
+ }
+ return ac;
+ }
+
+ public static XFrame getActiveFrame(XMultiServiceFactory msf) {
+ try {
+ Object desk = msf.createInstance("com.sun.star.frame.Desktop");
+ XDesktop xDesk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,desk);
+ return xDesk.getCurrentFrame();
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("Couldn't get active Component");
+ }
+
+ return null;
+ }
+
+ /**
+ * Tries to obtain text data from cliboard if such one exists.
+ * The method iterates through all 'text/plain' supported data
+ * flavors and returns the first non-null String value.
+ *
+ * @param msf MultiserviceFactory
+ * @return First found string clipboard contents or null if no
+ * text contents were found.
+ * @throws com.sun.star.uno.Exception if system clipboard is not accessible.
+ */
+ public static String getSysClipboardText(XMultiServiceFactory msf)
+ throws com.sun.star.uno.Exception {
+
+ XClipboard xCB = (XClipboard) UnoRuntime.queryInterface
+ (XClipboard.class, msf.createInstance
+ ("com.sun.star.datatransfer.clipboard.SystemClipboard"));
+
+ XTransferable xTrans = xCB.getContents();
+
+ DataFlavor[] dfs = xTrans.getTransferDataFlavors();
+
+ for (int i = 0; i < dfs.length; i++) {
+ if (dfs[i].MimeType.startsWith("text/plain")) {
+ Object data = xTrans.getTransferData(dfs[i]);
+ if (data != null && data instanceof String) {
+ return (String) data;
+ }
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/qadevOOo/runner/util/TableDsc.java b/qadevOOo/runner/util/TableDsc.java
new file mode 100644
index 000000000000..d933bc0cb041
--- /dev/null
+++ b/qadevOOo/runner/util/TableDsc.java
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextTable;
+/**
+ * the class TableDsc
+ */
+public class TableDsc extends InstDescr {
+
+ private int rows = 0;
+ private int columns = 0;
+ private String name = null;
+ final String ifcName = "com.sun.star.text.XTextTable";
+ final String service = "com.sun.star.text.TextTable";
+
+ public TableDsc() {
+ initTable();
+ }
+
+ public TableDsc( int nRows, int nColumns ) {
+ rows = nRows;
+ columns = nColumns;
+ initTable();
+ }
+
+ public TableDsc( String TableName, int nRows, int nColumns ) {
+ name = TableName;
+ rows = nRows;
+ columns = nColumns;
+ initTable();
+ }
+ public String getName() {
+ return name;
+ }
+ public String getIfcName() {
+ return ifcName;
+ }
+ public String getService() {
+ return service;
+ }
+
+ private void initTable() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XTextTable TT = (XTextTable)UnoRuntime.queryInterface(
+ ifcClass, SrvObj );
+
+ if ( rows > 0 && columns > 0 ) {
+ TT.initialize( rows, columns );
+ }
+
+ return TT;
+
+ }
+}
diff --git a/qadevOOo/runner/util/TextSectionDsc.java b/qadevOOo/runner/util/TextSectionDsc.java
new file mode 100644
index 000000000000..3afcbbce5dd5
--- /dev/null
+++ b/qadevOOo/runner/util/TextSectionDsc.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 util;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * the class TextSectionDsc
+ */
+public class TextSectionDsc extends InstDescr {
+
+ final String service = "com.sun.star.text.TextSection";
+ String ifcName = "com.sun.star.text.XTextContent";
+ private String name = null;
+
+
+ public TextSectionDsc() {
+ initTextSection();
+ }
+
+ public TextSectionDsc( String name ) {
+ this.name = name;
+ initTextSection();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ public String getService() {
+ return service;
+ }
+
+ private void initTextSection() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent PG = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return PG;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/UITools.java b/qadevOOo/runner/util/UITools.java
new file mode 100644
index 000000000000..c9562949632f
--- /dev/null
+++ b/qadevOOo/runner/util/UITools.java
@@ -0,0 +1,814 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.awt.XWindow;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.XInterface;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+import java.util.Vector;
+import util.AccessibilityTools;
+
+
+/**
+ * This class supports some functions to handle easily accessible objects
+ */
+public class UITools {
+
+ private static final AccessibilityTools mAT = new AccessibilityTools();
+ private final XAccessible mXRoot;
+ private final XMultiServiceFactory mMSF;
+
+ public UITools(XMultiServiceFactory msf, XModel xModel)
+ {
+ mMSF = msf;
+ mXRoot = makeRoot(mMSF, xModel);
+ }
+
+ public UITools(XMultiServiceFactory msf, XTextDocument xTextDoc)
+ {
+ mMSF = msf;
+ XModel xModel = (XModel) UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ mXRoot = makeRoot(mMSF, xModel);
+ }
+
+ public UITools(XMultiServiceFactory msf, XWindow xWindow)
+ {
+ mMSF = msf;
+ mXRoot = makeRoot(xWindow);
+ }
+
+ private static XAccessible makeRoot(XMultiServiceFactory msf, XModel aModel)
+ {
+ XWindow xWindow = mAT.getCurrentWindow(msf, aModel);
+ return mAT.getAccessibleObject(xWindow);
+ }
+
+
+ private static String getString(XInterface xInt)
+ {
+ XAccessibleText oText = (XAccessibleText)
+ UnoRuntime.queryInterface(XAccessibleText.class, xInt);
+ return oText.getText();
+ }
+
+ private static void setString(XInterface xInt, String cText)
+ {
+ XAccessibleEditableText oText = (XAccessibleEditableText)
+ UnoRuntime.queryInterface(XAccessibleEditableText.class, xInt);
+
+ oText.setText(cText);
+ }
+
+ private static Object getValue(XInterface xInt)
+ {
+ XAccessibleValue oValue = (XAccessibleValue)
+ UnoRuntime.queryInterface(XAccessibleValue.class, xInt);
+ return oValue.getCurrentValue();
+ }
+
+ private static XAccessible makeRoot(XWindow xWindow)
+ {
+ return mAT.getAccessibleObject(xWindow);
+ }
+
+ /**
+ * get the root element of the accessible tree
+ * @return the root element
+ */
+ public XAccessible getRoot()
+ {
+ return mXRoot;
+ }
+
+ /**
+ * Helper mathod: set a text into AccessibleEdit field
+ * @param textfiledName is the name of the text field
+ * @param stringToSet is the string to set
+ * @throws java.lang.Exception if something fail
+ */
+ public void setTextEditFiledText(String textfiledName, String stringToSet)
+ throws java.lang.Exception
+ {
+ XInterface oTextField = mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.TEXT, textfiledName);
+ setString(oTextField, stringToSet);
+ }
+
+ /**
+ * returns the button by the given name
+ * @param buttonName is name name of the button to get
+ * @return a XAccessibleContext of the button
+ * @throws java.lang.Exception if something fail
+ */
+ public XAccessibleContext getButton(String buttonName) throws java.lang.Exception
+ {
+ return mAT.getAccessibleObjectForRole
+ (mXRoot, AccessibleRole.PUSH_BUTTON, buttonName);
+ }
+
+ /**
+ * Helper method: gets button via accessibility and 'click' it</code>
+ * @param buttonName is name name of the button to click
+ * @throws java.lang.Exception if something fail
+ */
+
+ public void clickButton(String buttonName) throws java.lang.Exception
+ {
+
+ XAccessibleContext oButton =mAT.getAccessibleObjectForRole
+ (mXRoot, AccessibleRole.PUSH_BUTTON, buttonName);
+ if (oButton == null){
+ throw new Exception("Could not get button '" + buttonName + "'");
+ }
+ XAccessibleAction oAction = (XAccessibleAction)
+ UnoRuntime.queryInterface(XAccessibleAction.class, oButton);
+
+ // "click" the button
+ try{
+ oAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new Exception("Could not do accessible action with '" +
+ buttonName + "'" + e.toString());
+ }
+ }
+
+
+
+ /**
+ * Helper method: gets button via accessibility and 'click' it
+ * @param buttonName The name of the button in the accessibility tree
+ * @param toBePressed desired state of the toggle button
+ *
+ * @return true if the state of the button could be changed in the desired manner
+ */
+ private boolean clickToggleButton(String buttonName, boolean toBePressed)
+ {
+ XAccessibleContext oButton =mAT.getAccessibleObjectForRole
+ (mXRoot, AccessibleRole.TOGGLE_BUTTON, buttonName);
+
+ if (oButton != null){
+ boolean isChecked = oButton.getAccessibleStateSet().contains(com.sun.star.accessibility.AccessibleStateType.CHECKED);
+ if((isChecked && !toBePressed) || (!isChecked && toBePressed)){
+ XAccessibleAction oAction = (XAccessibleAction)
+ UnoRuntime.queryInterface(XAccessibleAction.class, oButton);
+ try{
+ // "click" the button
+ oAction.doAccessibleAction(0);
+ return true;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Could not do accessible action with '"
+ + buttonName + "'" + e.toString());
+ return false;
+ }
+ }else
+ //no need to press togglebar, do nothing
+ return true;
+ } else{
+ System.out.println("Could not get button '" + buttonName + "'");
+ return false;
+ }
+ }
+
+ /**
+ * Deactivates toggle button via Accessibility
+ * @param buttonName The name of the button in the Accessibility tree
+ *
+ * @return true if the button could be set to deactivated
+ */
+ public boolean deactivateToggleButton(String buttonName){
+ return clickToggleButton(buttonName, false);
+ }
+
+ /**
+ * Activates toggle button via Accessibility
+ * @param buttonName The name of the button in the Accessibility tree
+ *
+ * @return true if the button could be set to activated
+ */
+ public boolean activateToggleButton(String buttonName){
+ return clickToggleButton(buttonName, true);
+ }
+
+ /**
+ * returns the value of named radio button
+ * @param buttonName the name of the button to get the value of
+ * @throws java.lang.Exception if something fail
+ * @return Integer
+ */
+ public Integer getRadioButtonValue(String buttonName)
+ throws java.lang.Exception
+ {
+ try {
+ XInterface xRB =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.RADIO_BUTTON, buttonName);
+
+ return (Integer) getValue(xRB);
+ } catch (Exception e) {
+ throw new Exception("Could not get value from RadioButton '"
+ + buttonName + "' : " + e.toString());
+ }
+ }
+
+ /**
+ * returns the named graphic
+ * @param GraphicName the name of the graphic
+ * @return XInterface
+ * @throws java.lang.Exception if something fail
+ */
+ public XInterface getGraphic(String GraphicName) throws java.lang.Exception
+ {
+ return mAT.getAccessibleObjectForRole(mXRoot, AccessibleRole.GRAPHIC,
+ GraphicName);
+ }
+
+
+ /**
+ * set a named radio button the a given value
+ * @param buttonName the name of the button to set
+ * @param iValue the value to set
+ * @throws java.lang.Exception if something fail
+ */
+ public void setRadioButtonValue(String buttonName, int iValue)
+ throws java.lang.Exception
+ {
+ try {
+ XInterface xRB =mAT.getAccessibleObjectForRole(mXRoot, AccessibleRole.RADIO_BUTTON, buttonName);
+ if(xRB == null)
+ System.out.println("AccessibleObjectForRole couldn't be found for " + buttonName);
+ XAccessibleValue oValue = (XAccessibleValue)
+ UnoRuntime.queryInterface(XAccessibleValue.class, xRB);
+ if(oValue == null)
+ System.out.println("XAccessibleValue couldn't be queried for " + buttonName);
+ oValue.setCurrentValue(new Integer(iValue));
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ throw new Exception("Could not set value to RadioButton '"
+ + buttonName + "' : " + e.toString());
+ }
+
+ }
+
+ /**
+ * select an item in nanmed listbox
+ * @param ListBoxName the name of the listbox
+ * @param nChildIndex the index of the item to set
+ * @throws java.lang.Exception if something fail
+ */
+ public void selectListboxItem(String ListBoxName, int nChildIndex)
+ throws java.lang.Exception
+ {
+ try {
+ XAccessibleContext xListBox = null;
+
+ xListBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.COMBO_BOX, ListBoxName);
+ if (xListBox == null){
+ xListBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.PANEL, ListBoxName);
+ }
+ XAccessible xListBoxAccess = (XAccessible)
+ UnoRuntime.queryInterface(XAccessible.class, xListBox);
+
+ // if a List is not pulled to be open all entries are not visiblle, therefore the
+ // boolean argument
+ XAccessibleContext xList =mAT.getAccessibleObjectForRole(
+ xListBoxAccess, AccessibleRole.LIST, true);
+ XAccessibleSelection xListSelect = (XAccessibleSelection)
+ UnoRuntime.queryInterface(XAccessibleSelection.class, xList);
+
+ xListSelect.selectAccessibleChild(nChildIndex);
+
+ } catch (Exception e) {
+ throw new Exception("Could not select item '" +nChildIndex+
+ "' in listbox '" + ListBoxName + "' : " + e.toString());
+ }
+ }
+
+ /**
+ * This method returns all entries as XInterface of a list box
+ * @param ListBoxName the name of the listbox
+ * @return Object[] containing XInterface
+ * @throws java.lang.Exception if something fail
+ */
+
+ public Object[] getListBoxObjects(String ListBoxName)
+ throws java.lang.Exception
+ {
+ Vector Items = new Vector();
+ try {
+ XAccessibleContext xListBox = null;
+ XAccessibleContext xList = null;
+
+ xListBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.COMBO_BOX, ListBoxName);
+ if (xListBox == null){
+ xListBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.PANEL, ListBoxName);
+ }
+
+ if (xListBox == null){
+ // get the list of TreeListBox
+ xList =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.TREE, ListBoxName);
+
+ // all other list boxes have a children of kind of LIST
+ } else {
+
+ XAccessible xListBoxAccess = (XAccessible)
+ UnoRuntime.queryInterface(XAccessible.class, xListBox);
+ // if a List is not pulled to be open all entries are not visiblle, therefore the
+ // boolean argument
+ xList =mAT.getAccessibleObjectForRole(
+ xListBoxAccess, AccessibleRole.LIST, true);
+ }
+
+ for (int i=0;i<xList.getAccessibleChildCount();i++) {
+ try {
+ XAccessible xChild = xList.getAccessibleChild(i);
+ XAccessibleContext xChildCont =
+ xChild.getAccessibleContext();
+ XInterface xChildInterface = (XInterface)
+ UnoRuntime.queryInterface(XInterface.class, xChildCont);
+ Items.add(xChildInterface);
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new Exception("Could not get child form list of '"
+ + ListBoxName + "' : " + e.toString());
+ }
+ }
+
+ } catch (Exception e) {
+ throw new Exception("Could not get list of items from '"
+ + ListBoxName + "' : " + e.toString());
+ }
+ Object[]ret = new XInterface[Items.size()];
+ for (int i=0;i<Items.size();i++){
+ ret[i] = Items.get(i);
+ }
+ return ret;
+ }
+
+ /**
+ * Helper method: returns the entry manes of a List-Box
+ * @param ListBoxName the name of the listbox
+ * @return the listbox entry names
+ * @throws java.lang.Exception if something fail
+ */
+
+ public String[] getListBoxItems(String ListBoxName)
+ throws java.lang.Exception
+ {
+ Vector Items = new Vector();
+ try {
+ XAccessibleContext xListBox = null;
+ XAccessibleContext xList = null;
+
+ xListBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.COMBO_BOX, ListBoxName);
+ if (xListBox == null){
+ xListBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.PANEL, ListBoxName);
+ }
+
+ if (xListBox == null){
+ // get the list of TreeListBox
+ xList =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.TREE, ListBoxName);
+
+ // all other list boxes have a children of kind of LIST
+ } else {
+
+ XAccessible xListBoxAccess = (XAccessible)
+ UnoRuntime.queryInterface(XAccessible.class, xListBox);
+ // if a List is not pulled to be open all entries are not visiblle, therefore the
+ // boolean argument
+ xList =mAT.getAccessibleObjectForRole(
+ xListBoxAccess, AccessibleRole.LIST, true);
+ }
+
+ for (int i=0;i<xList.getAccessibleChildCount();i++) {
+ try {
+ XAccessible xChild = xList.getAccessibleChild(i);
+ XAccessibleContext xChildCont =
+ xChild.getAccessibleContext();
+ XInterface xChildInterface = (XInterface)
+ UnoRuntime.queryInterface(XInterface.class, xChildCont);
+ Items.add(getString(xChildInterface));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new Exception("Could not get child form list of '"
+ + ListBoxName + "' : " + e.toString());
+ }
+ }
+
+ } catch (Exception e) {
+ throw new Exception("Could not get list of items from '"
+ + ListBoxName + "' : " + e.toString());
+ }
+ String[]ret = new String[Items.size()];
+ return (String[])Items.toArray(ret);
+ }
+ /**
+ * set to a named nureric filed a given value
+ * @param NumericFieldName the name of the nureic field
+ * @param cValue the value to set
+ * @throws java.lang.Exception if something fail
+ */
+ public void setNumericFieldValue(String NumericFieldName, String cValue)
+ throws java.lang.Exception
+ {
+ try{
+ XInterface xNumericField =mAT.getAccessibleObjectForRole(
+ mXRoot, AccessibleRole.TEXT, NumericFieldName);
+ //util.dbg.printInterfaces(xNumericField);
+ XAccessibleEditableText oValue = (XAccessibleEditableText)
+ UnoRuntime.queryInterface(
+ XAccessibleEditableText.class, xNumericField);
+
+ setString(xNumericField, cValue);
+ } catch (Exception e) {
+ throw new Exception("Could not set value '" + cValue +
+ "' into NumericField '" + NumericFieldName + "' : " + e.toString());
+ }
+ }
+
+ /**
+ * returns the value of a numeric field
+ * @param NumericFieldName the name of the numreic field
+ * @throws java.lang.Exception if something fail
+ * @return the value of the named numeric filed
+ */
+ public String getNumericFieldValue(String NumericFieldName)
+ throws java.lang.Exception
+ {
+ try{
+ XInterface xNumericField =mAT.getAccessibleObjectForRole(
+ mXRoot, AccessibleRole.TEXT, NumericFieldName);
+ return (String) getString(xNumericField);
+
+ } catch (Exception e) {
+ throw new Exception("Could get value from NumericField '"
+ + NumericFieldName + "' : " + e.toString());
+ }
+ }
+
+ private String removeCharactersFromCurrencyString(String stringVal)
+ throws java.lang.Exception
+ {
+ try{
+ int beginIndex = 0;
+ int endIndex = 0;
+ boolean startFound = false;
+ // find the first numeric character in stringVal
+ for(int i = 0; i < stringVal.length(); i++){
+ int numVal = Character.getNumericValue(stringVal.charAt(i));
+ // if ascii is a numeric value
+ if (numVal != -1){
+ beginIndex = i;
+ break;
+ }
+ }
+ // find the last numeric character in stringVal
+ for(int i = stringVal.length()-1; i > 0; i--){
+ int numVal = Character.getNumericValue(stringVal.charAt(i));
+ if (numVal != -1){
+ endIndex = i+1;
+ break;
+ }
+ }
+ String currencyVal = stringVal.substring(beginIndex, endIndex);
+
+ currencyVal = currencyVal.substring(0, currencyVal.length()-3) +
+ "#" + currencyVal.substring(currencyVal.length()-2);
+
+ currencyVal = utils.replaceAll13(currencyVal, ",", "");
+ currencyVal = utils.replaceAll13(currencyVal, "\\.", "");
+ currencyVal = utils.replaceAll13(currencyVal, "#", ".");
+
+ return currencyVal;
+ } catch (Exception e) {
+ throw new Exception("Could get remove characters from currency string '"
+ + stringVal + "' : " + e.toString());
+ }
+
+ }
+
+ /**
+ * returns the numeric value of a numeric filed. This is needed ie. for
+ * fileds include the moneytary unit.
+ * @param NumericFieldName the name of the numeric filed
+ * @return the value of the numeric filed
+ * @throws java.lang.Exception if something fail
+ */
+ public Double getNumericFieldNumericValue(String NumericFieldName)
+ throws java.lang.Exception
+ {
+ try{
+ Double retValue = null;
+ String sValue = getNumericFieldValue(NumericFieldName);
+ String sAmount = removeCharactersFromCurrencyString(sValue);
+ retValue = retValue.valueOf(sAmount);
+
+ return retValue;
+
+ } catch (Exception e) {
+ throw new Exception("Could get numeric value from NumericField '"
+ + NumericFieldName + "' : " + e.toString());
+ }
+ }
+
+
+ /**
+ * returns the content of a TextBox
+ * @param TextFieldName the name of the textbox
+ * @return the value of the text box
+ * @throws java.lang.Exception if something fail
+ */
+ public String getTextBoxText(String TextFieldName)
+ throws java.lang.Exception
+ {
+ String TextFieldText = null;
+ try{
+ XAccessibleContext xTextField =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.SCROLL_PANE, TextFieldName);
+ XAccessible xTextFieldAccess = (XAccessible)
+ UnoRuntime.queryInterface(XAccessible.class, xTextField);
+ XAccessibleContext xFrame =mAT.getAccessibleObjectForRole(
+ xTextFieldAccess, AccessibleRole.TEXT_FRAME);
+ for (int i=0;i<xFrame.getAccessibleChildCount();i++) {
+ try {
+ XAccessible xChild = xFrame.getAccessibleChild(i);
+ XAccessibleContext xChildCont =
+ xChild.getAccessibleContext();
+ XInterface xChildInterface = (XInterface)
+ UnoRuntime.queryInterface(XInterface.class, xChildCont);
+ TextFieldText += (getString(xChildInterface));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new Exception("Could not get child fom TextFrame of '"
+ + TextFieldName + "' : " + e.toString());
+ }
+ }
+ return TextFieldText;
+ } catch (Exception e) {
+ throw new Exception("Could not get content fom Textbox '"
+ + TextFieldName + "' : " + e.toString());
+ }
+ }
+
+ /**
+ * set a value to a named check box
+ * @param CheckBoxName the name of the check box
+ * @param Value the value to set
+ *<ul>
+ * <li>0: not checked </li>
+ * <li>1: checked </li>
+ * <li>2: don't know </li>
+ *</ul>
+ * @throws java.lang.Exception if something fail
+ */
+ public void setCheckBoxValue(String CheckBoxName, Integer Value)
+ throws java.lang.Exception
+ {
+ try {
+ XInterface xCheckBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.CHECK_BOX, CheckBoxName);
+ XAccessibleValue xCheckBoxValue = (XAccessibleValue)
+ UnoRuntime.queryInterface(XAccessibleValue.class, xCheckBox);
+ xCheckBoxValue.setCurrentValue(Value);
+
+ } catch (Exception e) {
+ throw new Exception("Could not set value to CheckBox '"
+ + CheckBoxName + "' : " + e.toString());
+ }
+ }
+
+ /**
+ * returns the value of the named check box
+ * @param CheckBoxName the name of the check box
+ * @return the value of the check box
+ * @throws java.lang.Exception if something fail
+ */
+ public Integer getCheckBoxValue(String CheckBoxName)
+ throws java.lang.Exception
+ {
+ try {
+ XInterface xCheckBox =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.CHECK_BOX, CheckBoxName);
+ XAccessibleValue xCheckBoxValue = (XAccessibleValue)
+ UnoRuntime.queryInterface(XAccessibleValue.class, xCheckBox);
+
+ return (Integer) xCheckBoxValue.getCurrentValue();
+ } catch (Exception e) {
+ throw new Exception("Could not set value to CheckBox '"
+ + CheckBoxName + "' : " + e.toString());
+ }
+ }
+
+ /**
+ * returns the message of a Basic-MessageBox
+ * @return the message of a Basic-MessageBox
+ * @throws java.lang.Exception if something fail
+ */
+ public String getMsgBoxText()
+ throws java.lang.Exception
+ {
+ String cMessage = null;
+ try{
+ XAccessibleContext xMessage =mAT.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.LABEL);
+
+ XInterface xMessageInterface = (XInterface)
+ UnoRuntime.queryInterface(XInterface.class, xMessage);
+ cMessage += (getString(xMessageInterface));
+
+
+ return cMessage;
+ } catch (Exception e) {
+ throw new Exception("Could not get message from Basic-MessageBox: " + e.toString());
+ }
+ }
+
+ /**
+ * fetch the window which is equal to the given <CODE>WindowName</CODE>
+ * @return the named window
+ * @throws java.lang.Exception if something fail
+ */
+ public XWindow getTopWindow(String WindowName, boolean debug) throws java.lang.Exception
+ {
+ XInterface xToolKit = null;
+ try {
+ xToolKit = (XInterface) mMSF.createInstance("com.sun.star.awt.Toolkit") ;
+ } catch (com.sun.star.uno.Exception e) {
+ throw new Exception("Could not toolkit: " + e.toString());
+ }
+ XExtendedToolkit tk = (XExtendedToolkit)
+ UnoRuntime.queryInterface(XExtendedToolkit.class, xToolKit);
+
+ int count = tk.getTopWindowCount();
+
+ XTopWindow retWindow = null;
+
+ if (debug) System.out.println("getTopWindow ->");
+
+ for (int i=0; i < count ; i++){
+ XTopWindow xTopWindow = tk.getTopWindow(i);
+ XAccessible xAcc = mAT.getAccessibleObject(xTopWindow);
+ String accName = xAcc.getAccessibleContext().getAccessibleName();
+
+ if (debug){
+ System.out.println("AccessibleName: " + accName);
+ }
+
+ if (WindowName.equals(accName)){
+ if (debug) System.out.println("-> found window with name '" + WindowName + "'");
+ retWindow = xTopWindow;
+ }
+ }
+
+
+ if (debug) {
+ if (retWindow == null) System.out.println("could not found window with name '" + WindowName + "'");
+ System.out.println("<- getTopWindow ");
+ }
+ return (XWindow) UnoRuntime.queryInterface(XWindow.class, retWindow);
+ }
+
+ public void clickMiddleOfAccessibleObject(short role, String name){
+
+ XAccessibleContext xAcc =mAT.getAccessibleObjectForRole(mXRoot, role, name);
+ XAccessibleComponent aComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class, xAcc);
+
+ System.out.println(xAcc.getAccessibleRole() + "," +
+ xAcc.getAccessibleName() + "(" +
+ xAcc.getAccessibleDescription() + "):" +
+ utils.getImplName(xAcc));
+
+ if (aComp != null) {
+ Point location = aComp.getLocationOnScreen();
+ String bounds = "(" + aComp.getBounds().X + "," +
+ aComp.getBounds().Y + ")" + " (" +
+ aComp.getBounds().Width + "," +
+ aComp.getBounds().Height + ")";
+ System.out.println("The boundary Rectangle is " + bounds);
+ try {
+ Robot rob = new Robot();
+ int x = aComp.getLocationOnScreen().X + (aComp.getBounds().Width / 2);
+ int y = aComp.getLocationOnScreen().Y + (aComp.getBounds().Height / 2);
+ System.out.println("try to click mouse button on x/y " + x + "/" + y);
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't press mouse button");
+ }
+
+ }
+ }
+
+ public void doubleClickMiddleOfAccessibleObject(short role, String name) {
+ XAccessibleContext xAcc =mAT.getAccessibleObjectForRole(mXRoot, role, name);
+ XAccessibleComponent aComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class, xAcc);
+
+ System.out.println(xAcc.getAccessibleRole() + "," +
+ xAcc.getAccessibleName() + "(" +
+ xAcc.getAccessibleDescription() + "):" +
+ utils.getImplName(xAcc));
+
+ if (aComp != null) {
+ Point location = aComp.getLocationOnScreen();
+ String bounds = "(" + aComp.getBounds().X + "," +
+ aComp.getBounds().Y + ")" + " (" +
+ aComp.getBounds().Width + "," +
+ aComp.getBounds().Height + ")";
+ System.out.println("The boundary Rectangle is " + bounds);
+ try {
+ Robot rob = new Robot();
+ int x = aComp.getLocationOnScreen().X + (aComp.getBounds().Width / 2);
+ int y = aComp.getLocationOnScreen().Y + (aComp.getBounds().Height / 2);
+ System.out.println("try to double click mouse button on x/y " + x + "/" + y);
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ utils.shortWait(100);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't press mouse button");
+ }
+
+ }
+ }
+
+ /**
+ * <B>DEPRECATED</B>
+ * Since <CODE>AccessibilityTools</CODE> handle parameter <CODE>debugIsActive</CODE>
+ * this function does not work anymore.
+ * @deprecated Since <CODE>AccessibilityTools</CODE> handle parameter <CODE>debugIsActive</CODE>
+ * this function does not work anymore.
+ * @param log logWriter
+ */
+ public void printAccessibleTree(PrintWriter log)
+ {
+ mAT.printAccessibleTree(log, mXRoot);
+ }
+
+
+ /**
+ * Prints the accessible tree to the <CODE>logWriter</CODE> only if <CODE>debugIsActive</CODE>
+ * is set to <CODE>true</CODE>
+ * @param log logWriter
+ * @param debugIsActive prints only if this parameter is set to TRUE
+ */
+ public void printAccessibleTree(PrintWriter log, boolean debugIsActive) {
+ mAT.printAccessibleTree(log, mXRoot, debugIsActive);
+ }
+
+}
diff --git a/qadevOOo/runner/util/ValueChanger.java b/qadevOOo/runner/util/ValueChanger.java
new file mode 100644
index 000000000000..d63202d54e33
--- /dev/null
+++ b/qadevOOo/runner/util/ValueChanger.java
@@ -0,0 +1,994 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.awt.Point;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.PolygonFlags;
+//import util.BitmapLoader;
+import com.sun.star.uno.Enum ;
+import java.lang.reflect.Field ;
+import java.lang.reflect.Method ;
+import java.lang.reflect.Modifier ;
+import java.lang.reflect.Array ;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+
+
+public class ValueChanger {
+
+
+ // Method to change a Value, thought for properties
+ public static Object changePValue( Object oldValue ) {
+
+ Object newValue = null;
+
+ if (oldValue instanceof com.sun.star.uno.Any) {
+ try {
+ oldValue = AnyConverter.toObject(((Any) oldValue).getType(),oldValue);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+
+ if (oldValue == null)
+ return null;
+
+ if (oldValue instanceof Boolean) {
+ boolean oldbool = ((Boolean) oldValue).booleanValue();
+ newValue = new Boolean(!oldbool);
+ } else
+
+ if (oldValue instanceof Integer) {
+ int oldint = ((Integer) oldValue).intValue();
+ newValue = new Integer(oldint+5);
+ } else
+
+ if (oldValue instanceof Long) {
+ long oldlong = ((Long) oldValue).longValue();
+ newValue = new Long(oldlong + 15);
+ } else
+
+ if (oldValue instanceof Short) {
+ short oldshort = ((Short) oldValue).shortValue();
+ newValue = new Short((short) (oldshort + 1));
+ } else
+
+ if (oldValue instanceof Byte) {
+ byte oldbyte = ((Byte) oldValue).byteValue();
+ newValue = new Byte((byte) (oldbyte + 1));
+ } else
+
+ if (oldValue instanceof Float) {
+ float oldfloat = ((Float) oldValue).floatValue();
+ newValue = new Float((float) (oldfloat + 16.7));
+ } else
+
+ if (oldValue instanceof Double) {
+ double olddouble = ((Double) oldValue).doubleValue();
+ newValue = new Double(olddouble + 17.8);
+ } else
+
+ if (oldValue instanceof String) {
+ String oldString = (String) oldValue;
+ newValue = oldString + "New";
+ } else
+
+
+ if (oldValue instanceof com.sun.star.chart.ChartAxisArrangeOrderType) {
+ Object AO1 = com.sun.star.chart.ChartAxisArrangeOrderType.AUTO;
+ Object AO2= com.sun.star.chart.ChartAxisArrangeOrderType.SIDE_BY_SIDE;
+ Object AO3= com.sun.star.chart.ChartAxisArrangeOrderType.STAGGER_EVEN;
+ Object AO4= com.sun.star.chart.ChartAxisArrangeOrderType.STAGGER_ODD;
+
+ if (oldValue.equals(AO1)) newValue = AO2;
+ if (oldValue.equals(AO2)) newValue = AO3;
+ if (oldValue.equals(AO3)) newValue = AO4;
+ if (oldValue.equals(AO4)) newValue = AO1;
+ } else
+
+ if (oldValue instanceof com.sun.star.view.PaperOrientation) {
+ Object OR1 = com.sun.star.view.PaperOrientation.LANDSCAPE;
+ Object OR2 = com.sun.star.view.PaperOrientation.PORTRAIT;
+
+ if (oldValue.equals(OR1)) newValue = OR2;
+ else newValue = OR1;
+ } else
+
+ if (oldValue instanceof com.sun.star.lang.Locale) {
+ Object Loc1 = new com.sun.star.lang.Locale("en","US","");
+ Object Loc2 = new com.sun.star.lang.Locale("de","DE","");
+
+ if (oldValue.equals(Loc1)) newValue = Loc2;
+ else newValue = Loc1;
+ } else
+
+ if (oldValue instanceof com.sun.star.style.ParagraphAdjust) {
+ Object PA1 = com.sun.star.style.ParagraphAdjust.LEFT;
+ Object PA2 = com.sun.star.style.ParagraphAdjust.CENTER;
+
+ if (oldValue.equals(PA1)) newValue = PA2;
+ else newValue = PA1;
+ } else
+
+ if (oldValue instanceof com.sun.star.style.LineSpacing) {
+ com.sun.star.style.LineSpacing LS = new com.sun.star.style.LineSpacing();
+ com.sun.star.style.LineSpacing LSold = (com.sun.star.style.LineSpacing) oldValue;
+ LS.Height = (short) ((LSold.Height)+1);
+ LS.Mode = (short) ((LSold.Mode)+1);
+ newValue = LS;
+ } else
+
+ if (oldValue instanceof com.sun.star.drawing.Direction3D) {
+ com.sun.star.drawing.Direction3D D3D = new com.sun.star.drawing.Direction3D();
+ com.sun.star.drawing.Direction3D D3Dold = (com.sun.star.drawing.Direction3D) oldValue;
+ D3D.DirectionX = D3Dold.DirectionX + .5;
+ D3D.DirectionY = D3Dold.DirectionY + .5;
+ D3D.DirectionZ = D3Dold.DirectionZ + .5;
+ newValue = D3D;
+ } else
+
+ if (oldValue instanceof com.sun.star.style.GraphicLocation) {
+ Object GL1 = com.sun.star.style.GraphicLocation.AREA;
+ Object GL2 = com.sun.star.style.GraphicLocation.LEFT_BOTTOM;
+
+ if (oldValue.equals(GL1)) newValue = GL2;
+ else newValue = GL1;
+ } else
+
+ if (oldValue instanceof com.sun.star.style.TabStop) {
+ com.sun.star.style.TabStop TS = new com.sun.star.style.TabStop();
+ com.sun.star.style.TabStop TSold = (com.sun.star.style.TabStop) oldValue;
+ com.sun.star.style.TabAlign TA1 = com.sun.star.style.TabAlign.CENTER;
+ com.sun.star.style.TabAlign TA2 = com.sun.star.style.TabAlign.RIGHT;
+
+ if ((TSold.Alignment).equals(TA1)) TS.Alignment = TA2;
+ else TS.Alignment = TA1;
+
+ TS.Position = ((TSold.Position)+1);
+
+ newValue = TS;
+ } else
+
+ if (oldValue instanceof com.sun.star.style.DropCapFormat) {
+ com.sun.star.style.DropCapFormat DCF = new com.sun.star.style.DropCapFormat();
+ com.sun.star.style.DropCapFormat DCFold = (com.sun.star.style.DropCapFormat) oldValue;
+ DCF.Count = (byte) ((DCFold.Count)+1);
+ DCF.Distance = (short) ((DCFold.Distance)+1);
+ DCF.Lines = (byte) ((DCFold.Lines)+1);
+ newValue = DCF;
+ } else
+
+ if (oldValue instanceof com.sun.star.text.TextContentAnchorType) {
+ com.sun.star.text.TextContentAnchorType TCAT1 = com.sun.star.text.TextContentAnchorType.AS_CHARACTER;
+ com.sun.star.text.TextContentAnchorType TCAT2 = com.sun.star.text.TextContentAnchorType.AT_CHARACTER;
+ com.sun.star.text.TextContentAnchorType TCAT3 = com.sun.star.text.TextContentAnchorType.AT_FRAME;
+ com.sun.star.text.TextContentAnchorType TCAT4 = com.sun.star.text.TextContentAnchorType.AT_PAGE;
+ com.sun.star.text.TextContentAnchorType TCAT5 = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH;
+ if (oldValue.equals(TCAT1)) newValue = TCAT2;
+ if (oldValue.equals(TCAT2)) newValue = TCAT3;
+ if (oldValue.equals(TCAT3)) newValue = TCAT4;
+ if (oldValue.equals(TCAT4)) newValue = TCAT5;
+ if (oldValue.equals(TCAT5)) newValue = TCAT1;
+ } else
+
+ if (oldValue instanceof com.sun.star.text.WrapTextMode) {
+ com.sun.star.text.WrapTextMode WTM1 = com.sun.star.text.WrapTextMode.DYNAMIC;
+ com.sun.star.text.WrapTextMode WTM2 = com.sun.star.text.WrapTextMode.LEFT;
+ com.sun.star.text.WrapTextMode WTM3 = com.sun.star.text.WrapTextMode.NONE;
+ com.sun.star.text.WrapTextMode WTM4 = com.sun.star.text.WrapTextMode.PARALLEL;
+ com.sun.star.text.WrapTextMode WTM5 = com.sun.star.text.WrapTextMode.RIGHT;
+ com.sun.star.text.WrapTextMode WTM6 = com.sun.star.text.WrapTextMode.THROUGHT;
+ if (oldValue.equals(WTM1)) newValue = WTM2;
+ if (oldValue.equals(WTM2)) newValue = WTM3;
+ if (oldValue.equals(WTM3)) newValue = WTM4;
+ if (oldValue.equals(WTM4)) newValue = WTM5;
+ if (oldValue.equals(WTM5)) newValue = WTM6;
+ if (oldValue.equals(WTM6)) newValue = WTM1;
+ } else
+
+ if (oldValue instanceof com.sun.star.awt.Size) {
+ com.sun.star.awt.Size oldSize = (com.sun.star.awt.Size) oldValue;
+ com.sun.star.awt.Size newSize = new com.sun.star.awt.Size();
+ newSize.Height = oldSize.Height +1;
+ newSize.Width = oldSize.Width +1;
+ newValue = newSize;
+ } else
+
+ if (oldValue instanceof com.sun.star.awt.Rectangle) {
+ com.sun.star.awt.Rectangle oldRectangle = (com.sun.star.awt.Rectangle) oldValue;
+ com.sun.star.awt.Rectangle newRectangle = new com.sun.star.awt.Rectangle();
+ newRectangle.Height =oldRectangle.Height +1;
+ newRectangle.Width = oldRectangle.Width +1;
+ newRectangle.X =oldRectangle.Y +1;
+ newRectangle.Y = oldRectangle.X +1;
+ newValue = newRectangle;
+ } else
+
+ if (oldValue instanceof com.sun.star.awt.Point) {
+ com.sun.star.awt.Point oldPoint = (com.sun.star.awt.Point) oldValue;
+ com.sun.star.awt.Point newPoint = new com.sun.star.awt.Point();
+ newPoint.X = oldPoint.X +1;
+ newPoint.Y = oldPoint.Y +1;
+ newValue = newPoint;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.ShadowFormat) {
+ com.sun.star.table.ShadowFormat SF = new com.sun.star.table.ShadowFormat();
+ com.sun.star.table.ShadowFormat SFold = (com.sun.star.table.ShadowFormat) oldValue;
+ SF.IsTransparent = (! SFold.IsTransparent);
+ SF.ShadowWidth = (short) ((SFold.ShadowWidth)+1);
+ newValue = SF;
+ } else
+
+ if (oldValue instanceof com.sun.star.awt.FontSlant) {
+ com.sun.star.awt.FontSlant FS1 = com.sun.star.awt.FontSlant.DONTKNOW;
+ com.sun.star.awt.FontSlant FS2 = com.sun.star.awt.FontSlant.ITALIC;
+ com.sun.star.awt.FontSlant FS3 = com.sun.star.awt.FontSlant.NONE;
+ com.sun.star.awt.FontSlant FS4 = com.sun.star.awt.FontSlant.OBLIQUE;
+ com.sun.star.awt.FontSlant FS5 = com.sun.star.awt.FontSlant.REVERSE_ITALIC;
+ com.sun.star.awt.FontSlant FS6 = com.sun.star.awt.FontSlant.REVERSE_OBLIQUE;
+ if (oldValue.equals(FS1)) newValue = FS2;
+ if (oldValue.equals(FS2)) newValue = FS3;
+ if (oldValue.equals(FS3)) newValue = FS4;
+ if (oldValue.equals(FS4)) newValue = FS5;
+ if (oldValue.equals(FS5)) newValue = FS6;
+ if (oldValue.equals(FS6)) newValue = FS1;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.CellHoriJustify) {
+ com.sun.star.table.CellHoriJustify CHJ1 = com.sun.star.table.CellHoriJustify.BLOCK;
+ com.sun.star.table.CellHoriJustify CHJ2 = com.sun.star.table.CellHoriJustify.CENTER;
+ com.sun.star.table.CellHoriJustify CHJ3 = com.sun.star.table.CellHoriJustify.LEFT;
+ com.sun.star.table.CellHoriJustify CHJ4 = com.sun.star.table.CellHoriJustify.REPEAT;
+ com.sun.star.table.CellHoriJustify CHJ5 = com.sun.star.table.CellHoriJustify.RIGHT;
+ com.sun.star.table.CellHoriJustify CHJ6 = com.sun.star.table.CellHoriJustify.STANDARD;
+ if (oldValue.equals(CHJ1)) newValue = CHJ2;
+ if (oldValue.equals(CHJ2)) newValue = CHJ3;
+ if (oldValue.equals(CHJ3)) newValue = CHJ4;
+ if (oldValue.equals(CHJ4)) newValue = CHJ5;
+ if (oldValue.equals(CHJ5)) newValue = CHJ6;
+ if (oldValue.equals(CHJ6)) newValue = CHJ1;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.CellVertJustify) {
+ com.sun.star.table.CellVertJustify CVJ1 = com.sun.star.table.CellVertJustify.BOTTOM;
+ com.sun.star.table.CellVertJustify CVJ2 = com.sun.star.table.CellVertJustify.CENTER;
+ com.sun.star.table.CellVertJustify CVJ3 = com.sun.star.table.CellVertJustify.STANDARD;
+ com.sun.star.table.CellVertJustify CVJ4 = com.sun.star.table.CellVertJustify.TOP;
+ if (oldValue.equals(CVJ1)) newValue = CVJ2;
+ if (oldValue.equals(CVJ2)) newValue = CVJ3;
+ if (oldValue.equals(CVJ3)) newValue = CVJ4;
+ if (oldValue.equals(CVJ4)) newValue = CVJ1;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.CellOrientation) {
+ com.sun.star.table.CellOrientation CO1 = com.sun.star.table.CellOrientation.BOTTOMTOP;
+ com.sun.star.table.CellOrientation CO2 = com.sun.star.table.CellOrientation.STACKED;
+ com.sun.star.table.CellOrientation CO3 = com.sun.star.table.CellOrientation.STANDARD;
+ com.sun.star.table.CellOrientation CO4 = com.sun.star.table.CellOrientation.TOPBOTTOM;
+ if (oldValue.equals(CO1)) newValue = CO2;
+ if (oldValue.equals(CO2)) newValue = CO3;
+ if (oldValue.equals(CO3)) newValue = CO4;
+ if (oldValue.equals(CO4)) newValue = CO1;
+ } else
+
+ if (oldValue instanceof com.sun.star.util.CellProtection) {
+ com.sun.star.util.CellProtection CP = new com.sun.star.util.CellProtection();
+ com.sun.star.util.CellProtection CPold = (com.sun.star.util.CellProtection) oldValue;
+ CP.IsFormulaHidden = (! CPold.IsFormulaHidden);
+ CP.IsHidden = (! CPold.IsHidden);
+ CP.IsLocked = (! CPold.IsLocked);
+ CP.IsPrintHidden = (! CPold.IsPrintHidden);
+ newValue = CP;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.TableBorder) {
+ com.sun.star.table.TableBorder TBold = (com.sun.star.table.TableBorder) oldValue;
+ com.sun.star.table.TableBorder TB = new com.sun.star.table.TableBorder();
+ TB.IsBottomLineValid = (! TBold.IsBottomLineValid);
+ TB.IsDistanceValid = (! TBold.IsDistanceValid);
+ TB.IsRightLineValid = (! TBold.IsRightLineValid);
+ TB.IsTopLineValid = (! TBold.IsTopLineValid);
+ newValue = TB;
+ } else
+/*
+ if (oldValue instanceof com.sun.star.awt.XBitmap) {
+ newValue = new BitmapLoader();
+ }
+*/
+ if (oldValue instanceof com.sun.star.drawing.FillStyle) {
+ com.sun.star.drawing.FillStyle FS1 = com.sun.star.drawing.FillStyle.NONE;
+ com.sun.star.drawing.FillStyle FS2 = com.sun.star.drawing.FillStyle.SOLID;
+ com.sun.star.drawing.FillStyle FS3 = com.sun.star.drawing.FillStyle.GRADIENT;
+ com.sun.star.drawing.FillStyle FS4 = com.sun.star.drawing.FillStyle.HATCH;
+ com.sun.star.drawing.FillStyle FS5 = com.sun.star.drawing.FillStyle.BITMAP;
+ if (oldValue.equals(FS1)) newValue = FS2;
+ if (oldValue.equals(FS2)) newValue = FS3;
+ if (oldValue.equals(FS3)) newValue = FS4;
+ if (oldValue.equals(FS4)) newValue = FS5;
+ if (oldValue.equals(FS5)) newValue = FS1;
+ } else
+
+ if (oldValue instanceof com.sun.star.awt.Gradient){
+ com.sun.star.awt.Gradient _newValue = (com.sun.star.awt.Gradient)oldValue;
+ _newValue.Angle += 10;
+ _newValue.Border += 1;
+ _newValue.EndColor += 1000;
+ _newValue.EndIntensity -= 10;
+ _newValue.StartColor += 500;
+ _newValue.StartIntensity += 10;
+ _newValue.StepCount += 50;
+ _newValue.Style = com.sun.star.awt.GradientStyle.RADIAL;
+ _newValue.XOffset += 10;
+ _newValue.YOffset += 10;
+ newValue = _newValue;
+ } else
+
+ if (oldValue instanceof com.sun.star.text.GraphicCrop){
+ com.sun.star.text.GraphicCrop _newValue = (com.sun.star.text.GraphicCrop)oldValue;
+ _newValue.Bottom += 10;
+ _newValue.Left += 10;
+ _newValue.Right += 10;
+ _newValue.Top += 10;
+ newValue = _newValue;
+ } else
+
+ if (oldValue instanceof com.sun.star.drawing.BitmapMode){
+ com.sun.star.drawing.BitmapMode bm1 = com.sun.star.drawing.BitmapMode.NO_REPEAT;
+ com.sun.star.drawing.BitmapMode bm2 = com.sun.star.drawing.BitmapMode.REPEAT;
+ com.sun.star.drawing.BitmapMode bm3 = com.sun.star.drawing.BitmapMode.STRETCH;
+ if (oldValue.equals(bm1)) newValue = bm2;
+ if (oldValue.equals(bm2)) newValue = bm3;
+ if (oldValue.equals(bm3)) newValue = bm3;
+ } else
+
+ if (oldValue instanceof com.sun.star.drawing.TextAdjust){
+ com.sun.star.drawing.TextAdjust TA1 = com.sun.star.drawing.TextAdjust.BLOCK;
+ com.sun.star.drawing.TextAdjust TA2 = com.sun.star.drawing.TextAdjust.CENTER;
+ com.sun.star.drawing.TextAdjust TA3 = com.sun.star.drawing.TextAdjust.LEFT;
+ com.sun.star.drawing.TextAdjust TA4 = com.sun.star.drawing.TextAdjust.RIGHT;
+ com.sun.star.drawing.TextAdjust TA5 = com.sun.star.drawing.TextAdjust.STRETCH;
+ if (oldValue.equals(TA1)) newValue = TA2;
+ if (oldValue.equals(TA2)) newValue = TA3;
+ if (oldValue.equals(TA3)) newValue = TA4;
+ if (oldValue.equals(TA4)) newValue = TA5;
+ if (oldValue.equals(TA5)) newValue = TA1;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.TextFitToSizeType){
+ com.sun.star.drawing.TextFitToSizeType TF1 = com.sun.star.drawing.TextFitToSizeType.ALLLINES;
+ com.sun.star.drawing.TextFitToSizeType TF2 = com.sun.star.drawing.TextFitToSizeType.NONE;
+ com.sun.star.drawing.TextFitToSizeType TF3 = com.sun.star.drawing.TextFitToSizeType.PROPORTIONAL;
+ com.sun.star.drawing.TextFitToSizeType TF4 = com.sun.star.drawing.TextFitToSizeType.RESIZEATTR;
+ if (oldValue.equals(TF1)) newValue = TF2;
+ if (oldValue.equals(TF2)) newValue = TF3;
+ if (oldValue.equals(TF3)) newValue = TF4;
+ if (oldValue.equals(TF4)) newValue = TF1;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.TextAnimationKind){
+ com.sun.star.drawing.TextAnimationKind AK1 = com.sun.star.drawing.TextAnimationKind.NONE;
+ com.sun.star.drawing.TextAnimationKind AK2 = com.sun.star.drawing.TextAnimationKind.SLIDE;
+ com.sun.star.drawing.TextAnimationKind AK3 = com.sun.star.drawing.TextAnimationKind.SCROLL;
+ com.sun.star.drawing.TextAnimationKind AK4 = com.sun.star.drawing.TextAnimationKind.BLINK;
+ com.sun.star.drawing.TextAnimationKind AK5 = com.sun.star.drawing.TextAnimationKind.ALTERNATE;
+
+ if (oldValue.equals(AK1)) newValue = AK2;
+ if (oldValue.equals(AK2)) newValue = AK3;
+ if (oldValue.equals(AK3)) newValue = AK4;
+ if (oldValue.equals(AK4)) newValue = AK5;
+ if (oldValue.equals(AK5)) newValue = AK1;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.TextAnimationDirection){
+ com.sun.star.drawing.TextAnimationDirection AD1 = com.sun.star.drawing.TextAnimationDirection.LEFT;
+ com.sun.star.drawing.TextAnimationDirection AD2 = com.sun.star.drawing.TextAnimationDirection.RIGHT;
+ com.sun.star.drawing.TextAnimationDirection AD3 = com.sun.star.drawing.TextAnimationDirection.DOWN;
+ com.sun.star.drawing.TextAnimationDirection AD4 = com.sun.star.drawing.TextAnimationDirection.UP;
+ if (oldValue.equals(AD1)) newValue = AD2;
+ if (oldValue.equals(AD2)) newValue = AD3;
+ if (oldValue.equals(AD3)) newValue = AD4;
+ if (oldValue.equals(AD4)) newValue = AD1;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.LineStyle){
+ com.sun.star.drawing.LineStyle LS1 = com.sun.star.drawing.LineStyle.NONE;
+ com.sun.star.drawing.LineStyle LS2 = com.sun.star.drawing.LineStyle.DASH;
+ com.sun.star.drawing.LineStyle LS3 = com.sun.star.drawing.LineStyle.SOLID;
+ if (oldValue.equals(LS1)) newValue = LS2;
+ if (oldValue.equals(LS2)) newValue = LS3;
+ if (oldValue.equals(LS3)) newValue = LS1;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.LineJoint){
+ com.sun.star.drawing.LineJoint LJ1 = com.sun.star.drawing.LineJoint.BEVEL;
+ com.sun.star.drawing.LineJoint LJ2 = com.sun.star.drawing.LineJoint.MIDDLE;
+ com.sun.star.drawing.LineJoint LJ3 = com.sun.star.drawing.LineJoint.MITER;
+ com.sun.star.drawing.LineJoint LJ4 = com.sun.star.drawing.LineJoint.NONE;
+ com.sun.star.drawing.LineJoint LJ5 = com.sun.star.drawing.LineJoint.ROUND;
+ if (oldValue.equals(LJ1)) newValue = LJ2;
+ if (oldValue.equals(LJ2)) newValue = LJ3;
+ if (oldValue.equals(LJ3)) newValue = LJ4;
+ if (oldValue.equals(LJ4)) newValue = LJ5;
+ if (oldValue.equals(LJ5)) newValue = LJ1;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.LineDash){
+ com.sun.star.drawing.LineDash _newValue = (com.sun.star.drawing.LineDash)oldValue;
+ _newValue.Dashes += 1;
+ _newValue.DashLen += 10;
+ _newValue.Distance += 20;
+ _newValue.DotLen += 10;
+ _newValue.Dots += 10;
+ _newValue.Style = com.sun.star.drawing.DashStyle.RECT;
+ newValue = _newValue;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.Hatch){
+ com.sun.star.drawing.Hatch _newValue = (com.sun.star.drawing.Hatch) oldValue;
+ _newValue.Angle += 10;
+ _newValue.Color += 1000;
+ _newValue.Distance += 10;
+ _newValue.Style = com.sun.star.drawing.HatchStyle.DOUBLE;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.RectanglePoint){
+ com.sun.star.drawing.RectanglePoint RP1 = com.sun.star.drawing.RectanglePoint.LEFT_BOTTOM;
+ com.sun.star.drawing.RectanglePoint RP2 = com.sun.star.drawing.RectanglePoint.LEFT_MIDDLE;
+ com.sun.star.drawing.RectanglePoint RP3 = com.sun.star.drawing.RectanglePoint.LEFT_TOP;
+ com.sun.star.drawing.RectanglePoint RP4 = com.sun.star.drawing.RectanglePoint.MIDDLE_BOTTOM;
+ com.sun.star.drawing.RectanglePoint RP5 = com.sun.star.drawing.RectanglePoint.MIDDLE_MIDDLE;
+ com.sun.star.drawing.RectanglePoint RP6 = com.sun.star.drawing.RectanglePoint.MIDDLE_TOP;
+ com.sun.star.drawing.RectanglePoint RP7 = com.sun.star.drawing.RectanglePoint.RIGHT_BOTTOM;
+ com.sun.star.drawing.RectanglePoint RP8 = com.sun.star.drawing.RectanglePoint.RIGHT_MIDDLE;
+ com.sun.star.drawing.RectanglePoint RP9 = com.sun.star.drawing.RectanglePoint.RIGHT_TOP;
+
+ if (oldValue.equals(RP1)) newValue = RP2;
+ if (oldValue.equals(RP2)) newValue = RP3;
+ if (oldValue.equals(RP3)) newValue = RP4;
+ if (oldValue.equals(RP4)) newValue = RP5;
+ if (oldValue.equals(RP5)) newValue = RP6;
+ if (oldValue.equals(RP6)) newValue = RP7;
+ if (oldValue.equals(RP7)) newValue = RP8;
+ if (oldValue.equals(RP8)) newValue = RP9;
+ if (oldValue.equals(RP9)) newValue = RP1;
+
+ } else
+ if (oldValue instanceof com.sun.star.chart.ChartErrorCategory){
+ com.sun.star.chart.ChartErrorCategory CC1 = com.sun.star.chart.ChartErrorCategory.CONSTANT_VALUE;
+ com.sun.star.chart.ChartErrorCategory CC2 = com.sun.star.chart.ChartErrorCategory.ERROR_MARGIN;
+ com.sun.star.chart.ChartErrorCategory CC3 = com.sun.star.chart.ChartErrorCategory.NONE;
+ com.sun.star.chart.ChartErrorCategory CC4 = com.sun.star.chart.ChartErrorCategory.PERCENT;
+ com.sun.star.chart.ChartErrorCategory CC5 = com.sun.star.chart.ChartErrorCategory.STANDARD_DEVIATION;
+ com.sun.star.chart.ChartErrorCategory CC6 = com.sun.star.chart.ChartErrorCategory.VARIANCE;
+ if (oldValue.equals(CC1)) newValue = CC2;
+ if (oldValue.equals(CC2)) newValue = CC3;
+ if (oldValue.equals(CC3)) newValue = CC4;
+ if (oldValue.equals(CC4)) newValue = CC5;
+ if (oldValue.equals(CC5)) newValue = CC6;
+ if (oldValue.equals(CC6)) newValue = CC1;
+ } else
+ if (oldValue instanceof com.sun.star.chart.ChartErrorIndicatorType){
+ com.sun.star.chart.ChartErrorIndicatorType IT1 = com.sun.star.chart.ChartErrorIndicatorType.LOWER;
+ com.sun.star.chart.ChartErrorIndicatorType IT2 = com.sun.star.chart.ChartErrorIndicatorType.NONE;
+ com.sun.star.chart.ChartErrorIndicatorType IT3 = com.sun.star.chart.ChartErrorIndicatorType.TOP_AND_BOTTOM;
+ com.sun.star.chart.ChartErrorIndicatorType IT4 = com.sun.star.chart.ChartErrorIndicatorType.UPPER;
+ if (oldValue.equals(IT1)) newValue = IT2;
+ if (oldValue.equals(IT2)) newValue = IT3;
+ if (oldValue.equals(IT3)) newValue = IT4;
+ if (oldValue.equals(IT4)) newValue = IT1;
+ } else
+ if (oldValue instanceof com.sun.star.chart.ChartRegressionCurveType){
+ com.sun.star.chart.ChartRegressionCurveType CT1 = com.sun.star.chart.ChartRegressionCurveType.EXPONENTIAL;
+ com.sun.star.chart.ChartRegressionCurveType CT2 = com.sun.star.chart.ChartRegressionCurveType.LINEAR;
+ com.sun.star.chart.ChartRegressionCurveType CT3 = com.sun.star.chart.ChartRegressionCurveType.LOGARITHM;
+ com.sun.star.chart.ChartRegressionCurveType CT4 = com.sun.star.chart.ChartRegressionCurveType.NONE;
+ com.sun.star.chart.ChartRegressionCurveType CT5 = com.sun.star.chart.ChartRegressionCurveType.POLYNOMIAL;
+ com.sun.star.chart.ChartRegressionCurveType CT6 = com.sun.star.chart.ChartRegressionCurveType.POWER;
+ if (oldValue.equals(CT1)) newValue = CT2;
+ if (oldValue.equals(CT2)) newValue = CT3;
+ if (oldValue.equals(CT3)) newValue = CT4;
+ if (oldValue.equals(CT4)) newValue = CT5;
+ if (oldValue.equals(CT5)) newValue = CT6;
+ if (oldValue.equals(CT6)) newValue = CT1;
+
+ } else
+ if (oldValue instanceof com.sun.star.chart.ChartDataRowSource){
+ com.sun.star.chart.ChartDataRowSource RS1 = com.sun.star.chart.ChartDataRowSource.COLUMNS;
+ com.sun.star.chart.ChartDataRowSource RS2 = com.sun.star.chart.ChartDataRowSource.ROWS;
+ if (oldValue.equals(RS1)) newValue = RS2;
+ if (oldValue.equals(RS2)) newValue = RS1;
+ } else
+ if (oldValue instanceof com.sun.star.awt.FontDescriptor){
+ com.sun.star.awt.FontDescriptor _newValue = (com.sun.star.awt.FontDescriptor)oldValue;
+ _newValue.CharacterWidth += 5;
+ _newValue.CharSet = com.sun.star.awt.CharSet.ANSI;
+ _newValue.Family = com.sun.star.awt.FontFamily.DECORATIVE;
+ _newValue.Height += 2;
+ _newValue.Kerning = !_newValue.Kerning;
+ _newValue.Name = "Courier";
+ _newValue.Orientation += 45;
+ _newValue.Pitch = com.sun.star.awt.FontPitch.VARIABLE;
+ _newValue.Slant = com.sun.star.awt.FontSlant.REVERSE_ITALIC;
+ _newValue.Strikeout = com.sun.star.awt.FontStrikeout.X;
+ _newValue.StyleName = "Bold";
+ _newValue.Type = com.sun.star.awt.FontType.SCALABLE;
+ _newValue.Underline = com.sun.star.awt.FontUnderline.BOLDDASHDOTDOT;
+ _newValue.Weight += 5;
+ _newValue.Width += 6;
+ _newValue.WordLineMode = !_newValue.WordLineMode;
+
+ newValue = _newValue;
+ } else
+ if (oldValue instanceof com.sun.star.form.NavigationBarMode){
+ com.sun.star.form.NavigationBarMode BM1 = com.sun.star.form.NavigationBarMode.CURRENT;
+ com.sun.star.form.NavigationBarMode BM2 = com.sun.star.form.NavigationBarMode.NONE;
+ com.sun.star.form.NavigationBarMode BM3 = com.sun.star.form.NavigationBarMode.PARENT;
+ if (oldValue.equals(BM1)) newValue = BM2;
+ if (oldValue.equals(BM2)) newValue = BM3;
+ if (oldValue.equals(BM3)) newValue = BM1;
+ } else
+ if (oldValue instanceof com.sun.star.form.FormSubmitEncoding){
+ com.sun.star.form.FormSubmitEncoding SE1 = com.sun.star.form.FormSubmitEncoding.MULTIPART;
+ com.sun.star.form.FormSubmitEncoding SE2 = com.sun.star.form.FormSubmitEncoding.TEXT;
+ com.sun.star.form.FormSubmitEncoding SE3 = com.sun.star.form.FormSubmitEncoding.URL;
+ if (oldValue.equals(SE1)) newValue = SE2;
+ if (oldValue.equals(SE2)) newValue = SE3;
+ if (oldValue.equals(SE3)) newValue = SE1;
+ } else
+ if (oldValue instanceof com.sun.star.form.FormSubmitMethod){
+ com.sun.star.form.FormSubmitMethod FM1 = com.sun.star.form.FormSubmitMethod.GET;
+ com.sun.star.form.FormSubmitMethod FM2 = com.sun.star.form.FormSubmitMethod.POST;
+ if (oldValue.equals(FM1)) newValue = FM2;
+ if (oldValue.equals(FM2)) newValue = FM1;
+ } else
+
+ if (oldValue instanceof com.sun.star.text.SectionFileLink){
+ com.sun.star.text.SectionFileLink _newValue =
+ new com.sun.star.text.SectionFileLink();
+
+ _newValue.FileURL = util.utils.getFullTestURL("SwXTextSection.sdw");
+ newValue=_newValue;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.BorderLine){
+ com.sun.star.table.BorderLine _newValue = (com.sun.star.table.BorderLine)oldValue;
+ _newValue.Color += 2;
+ _newValue.InnerLineWidth += 2;
+ _newValue.LineDistance += 2;
+ _newValue.OuterLineWidth += 3;
+ newValue=_newValue;
+ } else
+
+ if (oldValue instanceof com.sun.star.text.XTextColumns){
+ com.sun.star.text.XTextColumns _newValue = (com.sun.star.text.XTextColumns)oldValue;
+ _newValue.setColumnCount((short)1);
+ newValue=_newValue;
+ } else
+
+ if (oldValue instanceof com.sun.star.form.FormButtonType){
+ com.sun.star.form.FormButtonType BT1 = com.sun.star.form.FormButtonType.PUSH;
+ com.sun.star.form.FormButtonType BT2 = com.sun.star.form.FormButtonType.RESET;
+ com.sun.star.form.FormButtonType BT3 = com.sun.star.form.FormButtonType.SUBMIT;
+ com.sun.star.form.FormButtonType BT4 = com.sun.star.form.FormButtonType.URL;
+
+ if (oldValue.equals(BT1)) newValue = BT2;
+ if (oldValue.equals(BT2)) newValue = BT3;
+ if (oldValue.equals(BT3)) newValue = BT4;
+ if (oldValue.equals(BT4)) newValue = BT1;
+
+ } else
+ if (oldValue instanceof com.sun.star.form.ListSourceType){
+ com.sun.star.form.ListSourceType ST1 = com.sun.star.form.ListSourceType.QUERY;
+ com.sun.star.form.ListSourceType ST2 = com.sun.star.form.ListSourceType.SQL;
+ com.sun.star.form.ListSourceType ST3 = com.sun.star.form.ListSourceType.SQLPASSTHROUGH;
+ com.sun.star.form.ListSourceType ST4 = com.sun.star.form.ListSourceType.TABLE;
+ com.sun.star.form.ListSourceType ST5 = com.sun.star.form.ListSourceType.TABLEFIELDS;
+ com.sun.star.form.ListSourceType ST6 = com.sun.star.form.ListSourceType.VALUELIST;
+ if (oldValue.equals(ST1)) newValue = ST2;
+ if (oldValue.equals(ST2)) newValue = ST3;
+ if (oldValue.equals(ST3)) newValue = ST4;
+ if (oldValue.equals(ST4)) newValue = ST5;
+ if (oldValue.equals(ST5)) newValue = ST6;
+ if (oldValue.equals(ST6)) newValue = ST1;
+ } else
+ if (oldValue instanceof com.sun.star.table.BorderLine){
+ com.sun.star.table.BorderLine _newValue = (com.sun.star.table.BorderLine)oldValue;
+ _newValue.Color += 1000;
+ _newValue.InnerLineWidth += 2;
+ _newValue.LineDistance +=3;
+ _newValue.OuterLineWidth += 3;
+ newValue = _newValue;
+ } else
+ if (oldValue instanceof com.sun.star.sheet.DataPilotFieldOrientation) {
+ com.sun.star.sheet.DataPilotFieldOrientation FO1 = com.sun.star.sheet.DataPilotFieldOrientation.PAGE;
+ com.sun.star.sheet.DataPilotFieldOrientation FO2 = com.sun.star.sheet.DataPilotFieldOrientation.COLUMN;
+ com.sun.star.sheet.DataPilotFieldOrientation FO3 = com.sun.star.sheet.DataPilotFieldOrientation.DATA;
+ com.sun.star.sheet.DataPilotFieldOrientation FO4 = com.sun.star.sheet.DataPilotFieldOrientation.HIDDEN;
+ com.sun.star.sheet.DataPilotFieldOrientation FO5 = com.sun.star.sheet.DataPilotFieldOrientation.ROW;
+ if (oldValue.equals(FO1)) newValue = FO2;
+ if (oldValue.equals(FO2)) newValue = FO3;
+ if (oldValue.equals(FO3)) newValue = FO4;
+ if (oldValue.equals(FO4)) newValue = FO5;
+ if (oldValue.equals(FO5)) newValue = FO1;
+ } else
+ if (oldValue instanceof com.sun.star.sheet.GeneralFunction) {
+ com.sun.star.sheet.GeneralFunction GF1 = com.sun.star.sheet.GeneralFunction.NONE;
+ com.sun.star.sheet.GeneralFunction GF2 = com.sun.star.sheet.GeneralFunction.AVERAGE;
+ com.sun.star.sheet.GeneralFunction GF3 = com.sun.star.sheet.GeneralFunction.COUNT;
+ com.sun.star.sheet.GeneralFunction GF4 = com.sun.star.sheet.GeneralFunction.COUNTNUMS;
+ com.sun.star.sheet.GeneralFunction GF5 = com.sun.star.sheet.GeneralFunction.MAX;
+ com.sun.star.sheet.GeneralFunction GF6 = com.sun.star.sheet.GeneralFunction.MIN;
+ com.sun.star.sheet.GeneralFunction GF7 = com.sun.star.sheet.GeneralFunction.AUTO;
+ com.sun.star.sheet.GeneralFunction GF8 = com.sun.star.sheet.GeneralFunction.PRODUCT;
+ com.sun.star.sheet.GeneralFunction GF9 = com.sun.star.sheet.GeneralFunction.STDEV;
+ com.sun.star.sheet.GeneralFunction GF10 = com.sun.star.sheet.GeneralFunction.STDEVP;
+ com.sun.star.sheet.GeneralFunction GF11 = com.sun.star.sheet.GeneralFunction.SUM;
+ com.sun.star.sheet.GeneralFunction GF12 = com.sun.star.sheet.GeneralFunction.VAR;
+ com.sun.star.sheet.GeneralFunction GF13 = com.sun.star.sheet.GeneralFunction.VARP;
+
+ if (oldValue.equals(GF1)) newValue = GF2;
+ if (oldValue.equals(GF2)) newValue = GF3;
+ if (oldValue.equals(GF3)) newValue = GF4;
+ if (oldValue.equals(GF4)) newValue = GF5;
+ if (oldValue.equals(GF5)) newValue = GF6;
+ if (oldValue.equals(GF6)) newValue = GF7;
+ if (oldValue.equals(GF7)) newValue = GF8;
+ if (oldValue.equals(GF8)) newValue = GF9;
+ if (oldValue.equals(GF9)) newValue = GF10;
+ if (oldValue.equals(GF10)) newValue = GF11;
+ if (oldValue.equals(GF11)) newValue = GF12;
+ if (oldValue.equals(GF12)) newValue = GF13;
+ if (oldValue.equals(GF13)) newValue = GF1;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.CellAddress){
+ com.sun.star.table.CellAddress _newValue = (com.sun.star.table.CellAddress)oldValue;
+ _newValue.Column += 1;
+ _newValue.Row += 1;
+ newValue = _newValue;
+ } else
+
+ if (oldValue instanceof com.sun.star.table.TableOrientation){
+ com.sun.star.table.TableOrientation TO1 = com.sun.star.table.TableOrientation.COLUMNS;
+ com.sun.star.table.TableOrientation TO2 = com.sun.star.table.TableOrientation.ROWS;
+ if (oldValue.equals(TO1)) newValue = TO2; else newValue = TO1;
+ } else
+
+ if (oldValue instanceof com.sun.star.sheet.DataImportMode){
+ com.sun.star.sheet.DataImportMode DIM1 = com.sun.star.sheet.DataImportMode.NONE;
+ com.sun.star.sheet.DataImportMode DIM2 = com.sun.star.sheet.DataImportMode.QUERY;
+ com.sun.star.sheet.DataImportMode DIM3 = com.sun.star.sheet.DataImportMode.SQL;
+ com.sun.star.sheet.DataImportMode DIM4 = com.sun.star.sheet.DataImportMode.TABLE;
+
+ if (oldValue.equals(DIM1)) newValue = DIM2;
+ if (oldValue.equals(DIM2)) newValue = DIM3;
+ if (oldValue.equals(DIM3)) newValue = DIM4;
+ if (oldValue.equals(DIM4)) newValue = DIM1;
+
+ } else
+
+// if (oldValue instanceof com.sun.star.text.TableColumnSeparator[]){
+// com.sun.star.text.TableColumnSeparator[] _newValue = (com.sun.star.text.TableColumnSeparator[]) oldValue;
+// com.sun.star.text.TableColumnSeparator sep = new com.sun.star.text.TableColumnSeparator();
+// sep.IsVisible = ! _newValue[0].IsVisible;
+// _newValue[0] = sep;
+// newValue = _newValue;
+// } else
+
+ if (oldValue instanceof com.sun.star.style.BreakType){
+ com.sun.star.style.BreakType BT1 = com.sun.star.style.BreakType.COLUMN_AFTER;
+ com.sun.star.style.BreakType BT2 = com.sun.star.style.BreakType.COLUMN_BEFORE;
+ com.sun.star.style.BreakType BT3 = com.sun.star.style.BreakType.COLUMN_BOTH;
+ com.sun.star.style.BreakType BT4 = com.sun.star.style.BreakType.PAGE_AFTER;
+ com.sun.star.style.BreakType BT5 = com.sun.star.style.BreakType.PAGE_BEFORE;
+ com.sun.star.style.BreakType BT6 = com.sun.star.style.BreakType.PAGE_BOTH;
+ com.sun.star.style.BreakType BT7 = com.sun.star.style.BreakType.NONE;
+ if (oldValue.equals(BT1)) newValue = BT2;
+ if (oldValue.equals(BT2)) newValue = BT3;
+ if (oldValue.equals(BT3)) newValue = BT4;
+ if (oldValue.equals(BT4)) newValue = BT5;
+ if (oldValue.equals(BT6)) newValue = BT6;
+ if (oldValue.equals(BT6)) newValue = BT7;
+ if (oldValue.equals(BT7)) newValue = BT1;
+ } else
+ if (oldValue instanceof PropertyValue){
+ PropertyValue newVal = new PropertyValue();
+ newVal.Name = ((PropertyValue)oldValue).Name;
+ newVal.Value = changePValue(((PropertyValue)oldValue).Value);
+ newValue = newVal;
+ } else
+ if (oldValue instanceof com.sun.star.sheet.ValidationAlertStyle){
+ com.sun.star.sheet.ValidationAlertStyle VAS1 = com.sun.star.sheet.ValidationAlertStyle.INFO;
+ com.sun.star.sheet.ValidationAlertStyle VAS2 = com.sun.star.sheet.ValidationAlertStyle.MACRO;
+ com.sun.star.sheet.ValidationAlertStyle VAS3 = com.sun.star.sheet.ValidationAlertStyle.STOP;
+ com.sun.star.sheet.ValidationAlertStyle VAS4 = com.sun.star.sheet.ValidationAlertStyle.WARNING;
+
+ if (oldValue.equals(VAS1)) newValue = VAS2;
+ if (oldValue.equals(VAS2)) newValue = VAS3;
+ if (oldValue.equals(VAS3)) newValue = VAS4;
+ if (oldValue.equals(VAS4)) newValue = VAS1;
+
+ } else
+ if (oldValue instanceof com.sun.star.sheet.ValidationType){
+ com.sun.star.sheet.ValidationType VT1 = com.sun.star.sheet.ValidationType.ANY;
+ com.sun.star.sheet.ValidationType VT2 = com.sun.star.sheet.ValidationType.CUSTOM;
+ com.sun.star.sheet.ValidationType VT3 = com.sun.star.sheet.ValidationType.DATE;
+ com.sun.star.sheet.ValidationType VT4 = com.sun.star.sheet.ValidationType.DECIMAL;
+ com.sun.star.sheet.ValidationType VT5 = com.sun.star.sheet.ValidationType.LIST;
+ com.sun.star.sheet.ValidationType VT6 = com.sun.star.sheet.ValidationType.TEXT_LEN;
+ com.sun.star.sheet.ValidationType VT7 = com.sun.star.sheet.ValidationType.TIME;
+ com.sun.star.sheet.ValidationType VT8 = com.sun.star.sheet.ValidationType.WHOLE;
+
+ if (oldValue.equals(VT1)) newValue = VT2;
+ if (oldValue.equals(VT2)) newValue = VT3;
+ if (oldValue.equals(VT3)) newValue = VT4;
+ if (oldValue.equals(VT4)) newValue = VT5;
+ if (oldValue.equals(VT5)) newValue = VT6;
+ if (oldValue.equals(VT6)) newValue = VT7;
+ if (oldValue.equals(VT7)) newValue = VT8;
+ if (oldValue.equals(VT8)) newValue = VT1;
+
+ } else
+ if (oldValue instanceof com.sun.star.text.WritingMode){
+ if (oldValue.equals(com.sun.star.text.WritingMode.LR_TB)) {
+ newValue = com.sun.star.text.WritingMode.TB_RL;
+ } else {
+ newValue = com.sun.star.text.WritingMode.LR_TB;
+ }
+ } else
+ if (oldValue instanceof com.sun.star.uno.Enum) {
+ // universal changer for Enumerations
+ try {
+ Class enumClass = oldValue.getClass() ;
+ Field[] flds = enumClass.getFields() ;
+
+ newValue = null ;
+
+ for (int i = 0; i < flds.length; i++) {
+ if (Enum.class.equals(flds[i].getType().getSuperclass())) {
+
+ Enum value = (Enum) flds[i].get(null) ;
+ if (newValue == null && !value.equals(oldValue)) {
+ newValue = value ;
+ break ;
+ }
+ }
+ }
+ } catch (Exception e) {
+ System.err.println("Exception occured while changing Enumeration value:") ;
+ e.printStackTrace(System.err) ;
+ }
+ if (newValue == null) newValue = oldValue ;
+
+ } else
+ if (oldValue instanceof com.sun.star.style.TabStop[]){
+ com.sun.star.style.TabStop[] _newValue = (com.sun.star.style.TabStop[]) oldValue;
+ if (_newValue.length == 0) {
+ _newValue = new com.sun.star.style.TabStop[1];
+ }
+ com.sun.star.style.TabStop sep = new com.sun.star.style.TabStop();
+ sep.Position += 1;
+ _newValue[0] = sep;
+ newValue = _newValue;
+ } else
+ if (oldValue instanceof short[]){
+ short[] oldArr = (short[])oldValue;
+ int len = oldArr.length;
+ short[] newArr = new short[len + 1];
+ for (int i = 0; i < len; i++) {
+ newArr[i] = (short)(oldArr[i] + 1);
+ }
+ newArr[len] = 5;
+ newValue = newArr;
+ } else
+ if (oldValue instanceof String[]){
+ String[] oldArr = (String[])oldValue;
+ int len = oldArr.length;
+ String[] newArr = new String[len + 1];
+ for (int i = 0; i < len; i++) {
+ newArr[i] = "_" + oldArr[i];
+ }
+ newArr[len] = "_dummy";
+ newValue = newArr;
+ } else
+ if (oldValue instanceof PropertyValue){
+ PropertyValue newVal = new PropertyValue();
+ newVal.Name = ((PropertyValue)oldValue).Name;
+ newVal.Value = changePValue(((PropertyValue)oldValue).Value);
+ newValue = newVal;
+ } else
+ if (oldValue instanceof com.sun.star.util.DateTime) {
+ com.sun.star.util.DateTime oldDT = (com.sun.star.util.DateTime) oldValue;
+ com.sun.star.util.DateTime newDT = new com.sun.star.util.DateTime();
+ newDT.Day = (short) (oldDT.Day+(short) 1);
+ newDT.Hours = (short) (oldDT.Hours+(short) 1);
+ newValue = newDT;
+ } else
+ if (oldValue instanceof com.sun.star.text.TableColumnSeparator) {
+ com.sun.star.text.TableColumnSeparator oldTCS = (com.sun.star.text.TableColumnSeparator) oldValue;
+ com.sun.star.text.TableColumnSeparator newTCS = new com.sun.star.text.TableColumnSeparator();
+ newTCS.IsVisible = !(oldTCS.IsVisible);
+ newTCS.Position = (short) (oldTCS.Position+(short) 1);
+ newValue = newTCS;
+ } else
+ if (oldValue instanceof com.sun.star.drawing.HomogenMatrix3) {
+ com.sun.star.drawing.HomogenMatrix3 oldHM = (com.sun.star.drawing.HomogenMatrix3) oldValue;
+ com.sun.star.drawing.HomogenMatrix3 newHM = new com.sun.star.drawing.HomogenMatrix3();
+ newHM.Line1.Column1 = oldHM.Line1.Column1+1;
+ newHM.Line2.Column2 = oldHM.Line2.Column2+1;
+ newHM.Line3.Column3 = oldHM.Line3.Column3+1;
+ newValue = newHM;
+ } else
+
+ if (oldValue instanceof com.sun.star.drawing.PolyPolygonBezierCoords) {
+ com.sun.star.drawing.PolyPolygonBezierCoords oldPPC = (com.sun.star.drawing.PolyPolygonBezierCoords) oldValue;
+ com.sun.star.drawing.PolyPolygonBezierCoords newPPC = new com.sun.star.drawing.PolyPolygonBezierCoords();
+ newPPC.Coordinates = oldPPC.Coordinates;
+ newPPC.Flags = oldPPC.Flags;
+ PolygonFlags[][] fArray = new PolygonFlags[1][1];
+ PolygonFlags[] flags = new PolygonFlags[1];
+ flags[0] = PolygonFlags.NORMAL;
+ fArray[0] = flags;
+ Point[][] pArray = new Point[1][1];
+ Point[] points = new Point[1];
+ Point aPoint = new Point();
+ aPoint.X = 1;
+ aPoint.Y = 2;
+ points[0] = aPoint;
+ pArray[0] = points;
+ if ( oldPPC.Coordinates.length == 0 ) {
+ newPPC.Coordinates = pArray;
+ newPPC.Flags = fArray;
+ } else {
+ if ( oldPPC.Coordinates[0].length == 0 ) {
+ newPPC.Coordinates = pArray;
+ newPPC.Flags = fArray;
+ } else {
+ newPPC.Coordinates[0][0].X = oldPPC.Coordinates[0][0].X +1;
+ newPPC.Coordinates[0][0].Y = oldPPC.Coordinates[0][0].Y +1;
+ }
+ }
+ newValue = newPPC;
+ } else
+ if (oldValue.getClass().isArray()) {
+ // changer for arrays : changes all elements
+ Class arrType = oldValue.getClass().getComponentType() ;
+ newValue = Array.newInstance(arrType, Array.getLength(oldValue)) ;
+ for (int i = 0; i < Array.getLength(newValue); i++) {
+ if (!arrType.isPrimitive()) {
+ Object elem = changePValue(Array.get(oldValue, i)) ;
+ Array.set(newValue, i, elem);
+ } else {
+ if (Boolean.TYPE.equals(arrType)) {
+ Array.setBoolean(newValue, i, !Array.getBoolean(oldValue, i));
+ } else
+ if (Byte.TYPE.equals(arrType)) {
+ Array.setByte(newValue, i,
+ (byte) (Array.getByte(oldValue, i) + 1));
+ } else
+ if (Character.TYPE.equals(arrType)) {
+ Array.setChar(newValue, i,
+ (char) (Array.getChar(oldValue, i) + 1));
+ } else
+ if (Double.TYPE.equals(arrType)) {
+ Array.setDouble(newValue, i, Array.getDouble(oldValue, i) + 1);
+ } else
+ if (Float.TYPE.equals(arrType)) {
+ Array.setFloat(newValue, i, Array.getFloat(oldValue, i) + 1);
+ } else
+ if (Integer.TYPE.equals(arrType)) {
+ Array.setInt(newValue, i, Array.getInt(oldValue, i) + 1);
+ } else
+ if (Long.TYPE.equals(arrType)) {
+ Array.setLong(newValue, i, Array.getLong(oldValue, i) + 1);
+ } else
+ if (Short.TYPE.equals(arrType)) {
+ Array.setShort(newValue, i,
+ (short) (Array.getShort(oldValue, i) + 1));
+ }
+ }
+ }
+ } else
+ if (isStructure(oldValue)) {
+ // universal changer for structures
+ Class clazz = oldValue.getClass() ;
+ try {
+ newValue = clazz.newInstance() ;
+ Field[] fields = clazz.getFields();
+ for (int i = 0; i < fields.length; i++) {
+ if ((fields[i].getModifiers() & Modifier.PUBLIC) != 0) {
+ Class fType = fields[i].getType() ;
+ Field field = fields[i] ;
+ if (!fType.isPrimitive()) {
+ field.set(newValue, changePValue(field.get(oldValue)));
+ } else {
+ if (Boolean.TYPE.equals(fType)) {
+ field.setBoolean(newValue, !field.getBoolean(oldValue));
+ } else
+ if (Byte.TYPE.equals(fType)) {
+ field.setByte(newValue, (byte) (field.getByte(oldValue) + 1));
+ } else
+ if (Character.TYPE.equals(fType)) {
+ field.setChar(newValue, (char) (field.getChar(oldValue) + 1));
+ } else
+ if (Double.TYPE.equals(fType)) {
+ field.setDouble(newValue, field.getDouble(oldValue) + 1);
+ } else
+ if (Float.TYPE.equals(fType)) {
+ field.setFloat(newValue, field.getFloat(oldValue) + 1);
+ } else
+ if (Integer.TYPE.equals(fType)) {
+ field.setInt(newValue, field.getInt(oldValue) + 1);
+ } else
+ if (Long.TYPE.equals(fType)) {
+ field.setLong(newValue, field.getLong(oldValue) + 1);
+ } else
+ if (Short.TYPE.equals(fType)) {
+ field.setShort(newValue, (short) (field.getShort(oldValue) + 1));
+ }
+ }
+ }
+ }
+ } catch (IllegalAccessException e) {
+ e.printStackTrace() ;
+ } catch (InstantiationException e) {
+ e.printStackTrace() ;
+ }
+
+ } else
+ {
+ System.out.println("ValueChanger don't know type " + oldValue.getClass());
+ }
+
+ return newValue;
+
+ } // end of Change PValue
+
+ /**
+ * Checks if the passed value is the API structure.
+ * The value assumed to be a structure if there are no public
+ * methods, and all public fields are not static or final.
+ *
+ * @param val the value to be checked.
+ * @return <code>true</code> if the value is acssumed to be a
+ * structure.
+ */
+ private static boolean isStructure(Object val) {
+ boolean result = true ;
+
+ Class clazz = val.getClass() ;
+
+ Method[] meth = clazz.getDeclaredMethods() ;
+ for (int i = 0; i < meth.length; i++) {
+ result &= (meth[i].getModifiers() & Modifier.PUBLIC) == 0 ;
+ }
+
+ Field[] fields = clazz.getDeclaredFields() ;
+ for (int i = 0; i < fields.length; i++) {
+ int mod = fields[i].getModifiers() ;
+ // If the field is PUBLIC it must not be STATIC or FINAL
+ result &= ((mod & Modifier.PUBLIC) == 0) ||
+ (((mod & Modifier.STATIC) == 0) && ((mod & Modifier.FINAL) == 0)) ;
+ }
+
+ return result ;
+ }
+}
diff --git a/qadevOOo/runner/util/ValueComparer.java b/qadevOOo/runner/util/ValueComparer.java
new file mode 100644
index 000000000000..dd9749119a8f
--- /dev/null
+++ b/qadevOOo/runner/util/ValueComparer.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 util;
+
+import com.sun.star.beans.PropertyValue;
+import java.lang.reflect.Array;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.Enum;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import java.util.HashMap;
+
+
+public class ValueComparer {
+
+ // Method to change a Value, thought for properties
+ public static boolean equalValue( Object first, Object second ) {
+
+ if (first instanceof com.sun.star.uno.Any) {
+ try {
+ first = AnyConverter.toObject(((Any) first).getType(),first);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+ if (second instanceof com.sun.star.uno.Any) {
+ try {
+ second = AnyConverter.toObject(((Any) second).getType(),second);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+ boolean eq = false;
+ try {
+ if ( (first==null) || (second == null) ) {
+ eq = (first == second);
+ }
+ else {
+ if ( util.utils.isVoid(first) && util.utils.isVoid(second) ) {
+ eq=true;
+ } else if ( util.utils.isVoid(first) || util.utils.isVoid(second) ) {
+ eq = (first == second);
+ } else {
+ eq = compareObjects(first, second);
+ }
+ }
+ }
+ catch (Exception e) {
+ System.out.println("Exception occured while comparing Objects");
+ e.printStackTrace();
+ }
+ return eq;
+ } // end of equalValue
+
+ static boolean compareArrayOfPropertyValue(PropertyValue[] pv1, PropertyValue[] pv2){
+ if ( pv1.length != pv2.length) {
+ return false;
+ }
+ HashMap hm1 = new HashMap();
+ boolean result = true;
+ int i = 0;
+
+ for (i = 0; i < pv1.length; i++){
+ hm1.put(pv1[i].Name, pv1[i].Value);
+ }
+
+ i = 0;
+ while (i < pv2.length && result) {
+ result &= equalValue(hm1.get(pv2[i].Name),pv2[i].Value);
+ i++;
+ }
+ return result;
+ }
+
+ static boolean compareArrays(Object op1, Object op2) throws Exception {
+
+ if (op1 instanceof PropertyValue[] && op2 instanceof PropertyValue[]) {
+ return compareArrayOfPropertyValue((PropertyValue[])op1,(PropertyValue[])op2);
+ }
+ boolean result = true;
+ if((op1.getClass().getComponentType() == op2.getClass().getComponentType())
+ && (Array.getLength(op1) == Array.getLength(op2)))
+ {
+ Class zClass = op1.getClass().getComponentType();
+
+ for(int i = 0; i < Array.getLength(op1); ++ i)
+ result = result & compareObjects(Array.get(op1, i), Array.get(op2, i));
+ } else {
+ result = false ;
+ }
+
+ return result;
+ }
+
+ static boolean compareInterfaces(XInterface op1, XInterface op2) {
+ return op1 == op2;
+ }
+
+ static boolean compareUntil(Class zClass, Class untilClass, Object op1, Object op2) throws Exception {
+ boolean result = true;
+
+ // write inherited members first
+ Class superClass = zClass.getSuperclass();
+ if(superClass != null && superClass != untilClass)
+ result = result & compareUntil(superClass, untilClass, op1, op2);
+
+ Field fields[] = zClass.getDeclaredFields();
+
+ for(int i = 0; i < fields.length && result; ++ i) {
+ if((fields[i].getModifiers() & (Modifier.STATIC | Modifier.TRANSIENT)) == 0) { // neither static nor transient ?
+ Object obj1 = fields[i].get(op1);
+ Object obj2 = fields[i].get(op2);
+ if (obj1 instanceof com.sun.star.uno.Any) {
+ try {
+ if (utils.isVoid(obj1)) {
+ obj1 = null;
+ } else {
+ obj1 = AnyConverter.toObject(((Any) obj1).getType(),obj1);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+ if (obj2 instanceof com.sun.star.uno.Any) {
+ try {
+ if (utils.isVoid(obj2)) {
+ obj2 = null;
+ } else {
+ obj2 = AnyConverter.toObject(((Any) obj2).getType(),obj2);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+
+ result = result & compareObjects(obj1, obj2);
+
+ }
+ }
+
+ return result;
+ }
+
+ static boolean compareStructs(Object op1, Object op2) throws Exception {
+ boolean result = true;
+
+ if(op1.getClass() != op2.getClass())
+ result = false;
+ else {
+ result = compareUntil(op1.getClass(), Object.class, op1, op2);
+ }
+
+ return result;
+ }
+
+ static boolean compareThrowable(Throwable op1, Throwable op2) throws Exception {
+ boolean result = true;
+
+ if(op1.getClass() != op2.getClass())
+ result = false;
+ else {
+ result = compareUntil(op1.getClass(), Throwable.class, op1, op2);
+
+ result = result & op1.getMessage().equals(op2.getMessage());
+ }
+
+ return result;
+ }
+
+ static boolean compareEnums(Enum en1, Enum en2) {
+ return en1.getValue() == en2.getValue();
+ }
+
+ static boolean compareObjects(Object op1, Object op2) throws Exception {
+ boolean result = false;
+
+ if(op1 == op2)
+ result = true;
+
+ if ( (op1==null) || (op2 == null) ) {
+ result = (op1 == op2);
+ }
+
+ else if(op1.getClass().isPrimitive() && op2.getClass().isPrimitive())
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Byte.class && op2.getClass() == Byte.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Type.class && op2.getClass() == Type.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Boolean.class && op2.getClass() == Boolean.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Short.class && op2.getClass() == Short.class)
+ result = op1.equals(op2);
+
+ else if(Throwable.class.isAssignableFrom(op1.getClass()) && Throwable.class.isAssignableFrom(op2.getClass()))
+ result = compareThrowable((Throwable)op1, (Throwable)op2);
+
+ else if(op1.getClass() == Integer.class && op2.getClass() == Integer.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Character.class && op2.getClass() == Character.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Long.class && op2.getClass() == Long.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Void.class && op2.getClass() == Void.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Float.class && op2.getClass() == Float.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass() == Double.class && op2.getClass() == Double.class)
+ result = op1.equals(op2);
+
+ else if(op1.getClass().isArray() && op2.getClass().isArray())
+ result = compareArrays(op1, op2);
+
+ else if(op1.getClass() == Void.class || op2.getClass() == void.class) // write nothing ?
+ result = true;
+
+ else if(XInterface.class.isAssignableFrom(op1.getClass()) && XInterface.class.isAssignableFrom(op2.getClass()))
+ compareInterfaces((XInterface)op1, (XInterface)op2);
+
+ else if(Enum.class.isAssignableFrom(op1.getClass()) && Enum.class.isAssignableFrom(op2.getClass()))
+ compareEnums((Enum)op1, (Enum)op2);
+
+ else if(op1.getClass() == String.class && op2.getClass() == String.class) // is it a String ?
+ result = ((String)op1).equals((String)op2);
+
+ else // otherwise it must be a struct
+ result = compareStructs(op1, op2);
+
+ return result;
+ }
+
+
+}
diff --git a/qadevOOo/runner/util/WaitUnreachable.java b/qadevOOo/runner/util/WaitUnreachable.java
new file mode 100644
index 000000000000..f756c9fae648
--- /dev/null
+++ b/qadevOOo/runner/util/WaitUnreachable.java
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import java.lang.ref.PhantomReference;
+import java.lang.ref.ReferenceQueue;
+
+/**
+ * Wait until an object has become unreachable.
+ *
+ * <p>Instances of this class will typically be used as either:</p>
+ * <pre>
+ * SomeType o = new SomeType(...);
+ * ... // use "o"
+ * WaitUnreachable u = new WaitUnreachable(o);
+ * o = null;
+ * u.waitUnreachable();
+ * </pre>
+ * <p>or:</p>
+ * <pre>
+ * WaitUnreachable u = new WaitUnreachable(new SomeType(...));
+ * ... // use "(SomeType) u.get()"
+ * u.waitUnreachable();
+ * </pre>
+ */
+public final class WaitUnreachable {
+ /**
+ * Creates a new waiter.
+ *
+ * @param obj the object on which to wait
+ */
+ public WaitUnreachable(Object obj) {
+ this.obj = obj;
+ queue = new ReferenceQueue();
+ ref = new PhantomReference(obj, queue);
+ }
+
+ /**
+ * Gets the object on which to wait.
+ *
+ * @return the object on which to wait, or <code>null</code> if
+ * <code>waitUnreachable</code> has already been called
+ */
+ public synchronized Object get() {
+ return obj;
+ }
+
+ /**
+ * Starts waiting for the object to become unreachable.
+ *
+ * <p>This blocks the current thread until the object has become
+ * unreachable.</p>
+ *
+ * <p>Actually, this method waits until the JVM has <em>detected</em> that
+ * the object has become unreachable. This is not deterministic, but this
+ * methods makes a best effort to cause the JVM to eventually detect the
+ * situation. With a typical JVM, this should suffice.</p>
+ */
+ public void waitUnreachable() {
+ synchronized (this) {
+ obj = null;
+ }
+ System.out.println("waiting for gc");
+ while (queue.poll() == null) {
+ System.gc();
+ System.runFinalization();
+ byte[] dummy = new byte[1024];
+ }
+ }
+
+ /**
+ * Ensures that an object will be finalized as soon as possible.
+ *
+ * <p>This does not block the current thread. Instead, a new thread is
+ * spawned that busy waits for the given object to become unreachable.</p>
+ *
+ * <p>This method cannot guarantee that the given object is eventually
+ * finalized, but it makes a best effort. With a typical JVM, this should
+ * suffice.</p>
+ *
+ * @param obj the object of which to ensure finalization
+ */
+ public static void ensureFinalization(final Object obj) {
+ final class WaitThread extends Thread {
+ public WaitThread(Object obj) {
+ super("ensureFinalization");
+ unreachable = new WaitUnreachable(obj);
+ }
+
+ public void run() {
+ unreachable.waitUnreachable();
+ }
+
+ private final WaitUnreachable unreachable;
+ };
+ new WaitThread(obj).start();
+ }
+
+ private Object obj;
+ private final ReferenceQueue queue;
+ private final PhantomReference ref;
+}
diff --git a/qadevOOo/runner/util/WriterTools.java b/qadevOOo/runner/util/WriterTools.java
new file mode 100644
index 000000000000..33b5d4f61aab
--- /dev/null
+++ b/qadevOOo/runner/util/WriterTools.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+
+import util.DesktopTools;
+
+
+public class WriterTools {
+ public static XTextDocument createTextDoc(XMultiServiceFactory xMSF) {
+ PropertyValue[] Args = new PropertyValue[0];
+ XComponent comp = DesktopTools.openNewDoc(xMSF, "swriter", Args);
+ XTextDocument WriterDoc = (XTextDocument) UnoRuntime.queryInterface(
+ XTextDocument.class, comp);
+
+ return WriterDoc;
+ } // finish createTextDoc
+
+ public static XTextDocument loadTextDoc(XMultiServiceFactory xMSF,
+ String url) {
+ PropertyValue[] Args = new PropertyValue[0];
+ XTextDocument WriterDoc = loadTextDoc(xMSF, url, Args);
+
+ return WriterDoc;
+ } // finish createTextDoc
+
+ public static XTextDocument loadTextDoc(XMultiServiceFactory xMSF,
+ String url, PropertyValue[] Args) {
+ XComponent comp = DesktopTools.loadDoc(xMSF, url, Args);
+ XTextDocument WriterDoc = (XTextDocument) UnoRuntime.queryInterface(
+ XTextDocument.class, comp);
+
+ return WriterDoc;
+ } // finish createTextDoc
+
+ public static XDrawPage getDrawPage(XTextDocument aDoc) {
+ XDrawPage oDP = null;
+
+ try {
+ XDrawPageSupplier oDPS = (XDrawPageSupplier) UnoRuntime.queryInterface(
+ XDrawPageSupplier.class, aDoc);
+ oDP = (XDrawPage) oDPS.getDrawPage();
+ } catch (Exception e) {
+ throw new IllegalArgumentException("Couldn't get drawpage");
+ }
+
+ return oDP;
+ }
+
+ public static void insertTextGraphic(XTextDocument aDoc,
+ XMultiServiceFactory xMSF, int hpos,
+ int vpos, int width, int height,
+ String pic, String name) {
+ try {
+ Object oGObject = (XInterface) xMSF.createInstance(
+ "com.sun.star.text.GraphicObject");
+
+ XText the_text = aDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, oGObject);
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ XPropertySet oProps = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oGObject);
+
+ String fullURL = util.utils.getFullTestURL(pic);
+ oProps.setPropertyValue("GraphicURL", fullURL);
+ oProps.setPropertyValue("HoriOrientPosition", new Integer(hpos));
+ oProps.setPropertyValue("VertOrientPosition", new Integer(vpos));
+ oProps.setPropertyValue("Width", new Integer(width));
+ oProps.setPropertyValue("Height", new Integer(height));
+
+ XNamed the_name = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ oGObject);
+ the_name.setName(name);
+ } catch (Exception ex) {
+ System.out.println("Exception while insertin TextGraphic");
+ ex.printStackTrace();
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/XInstCreator.java b/qadevOOo/runner/util/XInstCreator.java
new file mode 100644
index 000000000000..2f6ec3ecf272
--- /dev/null
+++ b/qadevOOo/runner/util/XInstCreator.java
@@ -0,0 +1,38 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.container.XIndexAccess;
+
+public interface XInstCreator {
+
+ XInterface getInstance();
+ XInterface createInstance();
+ XIndexAccess getCollection();
+}
diff --git a/qadevOOo/runner/util/XLayerHandlerImpl.java b/qadevOOo/runner/util/XLayerHandlerImpl.java
new file mode 100644
index 000000000000..e3a0ae3a1b23
--- /dev/null
+++ b/qadevOOo/runner/util/XLayerHandlerImpl.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+public class XLayerHandlerImpl
+ implements com.sun.star.configuration.backend.XLayerHandler {
+ protected String calls = "";
+ protected String ls = System.getProperty("line.separator");
+
+ public void addOrReplaceNode(String str, short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addOrReplace(" + str + "," + param + ");" + ls);
+ }
+
+ public void addOrReplaceNodeFromTemplate(String str,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier,
+ short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addOrReplaceNodeFromTemplate(" + str + "," + templateIdentifier + ");" + ls);
+ }
+
+ public void addProperty(String str, short param,
+ com.sun.star.uno.Type type)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addProperty(" + str + "," + param + "," + type + ");" + ls);
+ }
+
+ public void addPropertyWithValue(String str, short param, Object obj)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addPropertyWithValue(" + str + "," + param + "," + obj + ");" + ls);
+ }
+
+ public void dropNode(String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("dropNode(" + str + ");" + ls);
+ }
+
+ public void endLayer()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endLayer();" + ls);
+ }
+
+ public void endNode()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endNode();" + ls);
+ }
+
+ public void endProperty()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endProperty();" + ls);
+ }
+
+ public void overrideNode(String str, short param, boolean param2)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("overrideNode(" + str + "," + param + "," + param2 + ");" + ls);
+ }
+
+ public void overrideProperty(String str, short param,
+ com.sun.star.uno.Type type, boolean param3)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("overrideProperty(" + str + "," + param + "," + type + "," + param3 + ");" + ls);
+ }
+
+ public void setPropertyValue(Object obj)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("setPropertyValue(" + obj + ");" + ls);
+ }
+
+ public void setPropertyValueForLocale(Object obj, String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("setPropertyValueForLocale(" + obj + "," + str + ");" + ls);
+ }
+
+ public void startLayer()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls = "startLayer();" + ls;
+ }
+
+ public String getCalls() {
+ return calls;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/XLayerImpl.java b/qadevOOo/runner/util/XLayerImpl.java
new file mode 100644
index 000000000000..72dc2a2fa6aa
--- /dev/null
+++ b/qadevOOo/runner/util/XLayerImpl.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+public class XLayerImpl implements com.sun.star.configuration.backend.XLayer {
+
+ protected boolean wasCalled = false;
+
+ public XLayerImpl() {
+ }
+
+ public void readData(com.sun.star.configuration.backend.XLayerHandler xLayerHandler) throws com.sun.star.lang.NullPointerException, com.sun.star.lang.WrappedTargetException, com.sun.star.configuration.backend.MalformedDataException {
+ wasCalled = true;
+ }
+
+ public boolean hasBeenCalled() {
+ return wasCalled;
+ }
+
+}
diff --git a/qadevOOo/runner/util/XMLTools.java b/qadevOOo/runner/util/XMLTools.java
new file mode 100644
index 000000000000..a744afe0a3f8
--- /dev/null
+++ b/qadevOOo/runner/util/XMLTools.java
@@ -0,0 +1,939 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import java.io.PrintWriter ;
+import java.util.Vector ;
+import java.util.Hashtable ;
+import java.util.Enumeration ;
+import java.util.HashSet ;
+
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.xml.sax.XDocumentHandler;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.xml.sax.XLocator;
+import com.sun.star.xml.sax.XAttributeList;
+import com.sun.star.xml.sax.XParser ;
+import com.sun.star.xml.sax.InputSource ;
+import com.sun.star.lang.XComponent;
+import com.sun.star.document.XExporter;
+import com.sun.star.document.XImporter;
+import com.sun.star.document.XFilter;
+
+
+public class XMLTools {
+
+ /**
+ * The implementation of <code>com.sun.star.xml.sax.XAttributeList</code>
+ * where attributes and their values can be added.
+ */
+ public static class AttributeList implements XAttributeList {
+ private static class Attribute {
+ public String Name ;
+ public String Type ;
+ public String Value ;
+ }
+ private Hashtable attrByName = new Hashtable() ;
+ private Vector attributes = new Vector() ;
+ private PrintWriter log = null ;
+
+ /**
+ * Creates a class instance.
+ */
+ public AttributeList() {}
+
+ /**
+ * Constructs a list which will report to <code>log</code>
+ * specified about each <code>XDocumentHandler</code> method
+ * call.
+ */
+ public AttributeList(PrintWriter log) {
+ this.log = log ;
+ }
+
+ public AttributeList(XAttributeList list) {
+ if (list == null) return ;
+ for (short i = 0; i < list.getLength(); i++) {
+ add(list.getNameByIndex(i), list.getTypeByIndex(i),
+ list.getValueByIndex(i)) ;
+ }
+ }
+
+ /**
+ * Adds an attribute with type and value specified.
+ * @param name The attribute name.
+ * @param type Value type (usually 'CDATA' used).
+ * @param value Attribute value.
+ */
+ public void add(String name, String type, String value) {
+ Attribute attr = new Attribute() ;
+ attr.Name = name ;
+ attr.Type = type ;
+ attr.Value = value ;
+ attributes.add(attr) ;
+ attrByName.put(attr.Name, attr) ;
+ }
+
+ /**
+ * Adds an attribute with value specified. As a type of
+ * value 'CDATA' string specified.
+ * @param name The attribute name.
+ * @param value Attribute value.
+ */
+ public void add(String name, String value) {
+ add(name, "CDATA", value) ;
+ }
+
+ /**
+ * Clears all attributes added before.
+ */
+ public void clear() {
+ attrByName.clear() ;
+ attributes.clear() ;
+ }
+
+ /***************************************
+ * XAttributeList methods
+ ****************************************/
+
+ public short getLength() {
+ if (log != null)
+ log.println("getLength() called -> " + attributes.size()) ;
+ return (short) attributes.size() ;
+ }
+
+ public String getNameByIndex(short idx) {
+ String name = ((Attribute) attributes.get(idx)).Name ;
+ if (log != null)
+ log.println("getNameByIndex(" + idx + ") called -> '" +
+ name + "'") ;
+ return name ;
+ }
+
+ public String getTypeByIndex(short idx) {
+ String type = ((Attribute) attributes.get(idx)).Type ;
+ if (log != null)
+ log.println("getTypeByIndex(" + idx + ") called -> '" +
+ type + "'") ;
+ return type;
+ }
+
+ public String getTypeByName(String name) {
+ String type = ((Attribute) attrByName.get(name)).Type ;
+ if (log != null)
+ log.println("getTypeByName('" + name + "') called -> '" +
+ type + "'") ;
+ return type;
+ }
+ public String getValueByIndex(short idx) {
+ String value = ((Attribute) attributes.get(idx)).Value ;
+ if (log != null)
+ log.println("getValueByIndex(" + idx + ") called -> '" +
+ value + "'") ;
+ return value;
+ }
+
+ public String getValueByName(String name) {
+ String value = ((Attribute) attrByName.get(name)).Value ;
+ if (log != null)
+ log.println("getValueByName('" + name + "') called -> '" +
+ value + "'") ;
+ return value;
+ }
+ }
+
+ /**
+ * This class writes all XML data handled into a stream specified
+ * in the constructor.
+ */
+ public static class XMLWriter implements XDocumentHandler {
+ private PrintWriter _log = null ;
+ private String align = "" ;
+
+ /**
+ * Creates a SAX handler which writes all XML data
+ * handled into a <code>log</code> stream specified.
+ */
+ public XMLWriter(PrintWriter log) {
+ _log = log ;
+ }
+
+ /**
+ * Creates a SAX handler which does nothing.
+ */
+ public XMLWriter() {
+ }
+
+ public void processingInstruction(String appl, String data) {
+ if (_log == null) return ;
+ _log.println(align + "<?" + appl + " " + data + "?>") ;
+ }
+ public void startDocument() {
+ if (_log == null) return ;
+ _log.println("START DOCUMENT:") ;
+ }
+ public void endDocument() {
+ if (_log == null) return ;
+ _log.println("END DOCUMENT:") ;
+ }
+ public void setDocumentLocator(XLocator loc) {
+ if (_log == null) return ;
+ _log.println("DOCUMENT LOCATOR: ('" + loc.getPublicId() +
+ "','" + loc.getSystemId() + "')") ;
+ }
+ public void startElement(String name, XAttributeList attr) {
+ if (_log == null) return ;
+ _log.print(align + "<" + name + " ") ;
+ if (attr != null) {
+ short attrLen = attr.getLength() ;
+ for (short i = 0; i < attrLen; i++) {
+ if (i != 0) _log.print(align + " ") ;
+ _log.print(attr.getNameByIndex(i) + "[" +
+ attr.getTypeByIndex(i) + "]=\"" +
+ attr.getValueByIndex(i) + "\"") ;
+ if (i+1 != attrLen) {
+ _log.println() ;
+ }
+ }
+ }
+ _log.println(">") ;
+
+ align += " " ;
+ }
+
+ public void endElement(String name) {
+ if (_log == null) return ;
+ align = align.substring(3) ;
+ _log.println(align + "</" + name + ">") ;
+ }
+
+ public void characters(String chars) {
+ if (_log == null) return ;
+ _log.println(align + chars) ;
+ }
+ public void ignorableWhitespace(String sp) {
+ if (_log == null) return ;
+ _log.println(sp) ;
+ }
+ }
+
+ /**
+ * Checks if the XML structure is well formed (i.e. all tags opened must be
+ * closed and all tags opened inside a tag must be closed
+ * inside the same tag). It also checks parameters passed.
+ * If any collisions found appropriate error message is
+ * output into a stream specified. No XML data output, i.e.
+ * no output will be performed if no errors occur.<p>
+ * After document is completed there is a way to cehck
+ * if the XML data and structure was valid.
+ */
+ public static class XMLWellFormChecker extends XMLWriter {
+ protected boolean docStarted = false ;
+ protected boolean docEnded = false ;
+ protected Vector tagStack = new Vector() ;
+ protected boolean wellFormed = true ;
+ protected boolean noOtherErrors = true ;
+ protected PrintWriter log = null ;
+ protected boolean printXMLData = false ;
+
+ public XMLWellFormChecker(PrintWriter log) {
+ super() ;
+ this.log = log ;
+ }
+
+ public XMLWellFormChecker(PrintWriter log_, boolean printXMLData) {
+ super(printXMLData ? log_ : null) ;
+ this.printXMLData = printXMLData ;
+ this.log = log_ ;
+ }
+
+ /**
+ * Reset all values. This is important e.g. for test of XFilter
+ * interface, where 'filter()' method istbstarted twice.
+ */
+ public void reset() {
+ docStarted = false ;
+ docEnded = false ;
+ tagStack = new Vector() ;
+ wellFormed = true ;
+ noOtherErrors = true ;
+ PrintWriter log = null ;
+ printXMLData = false ;
+ }
+
+ public void startDocument() {
+ super.startDocument();
+
+ if (docStarted) {
+ printError("Document is started twice.") ;
+ wellFormed = false ;
+ }
+
+ docStarted = true ;
+ }
+ public void endDocument() {
+ super.endDocument();
+ if (!docStarted) {
+ wellFormed = false ;
+ printError("Document ended but not started.") ;
+ }
+ docEnded = true ;
+ }
+ public void startElement(String name, XAttributeList attr) {
+ super.startElement(name, attr);
+ if (attr == null) {
+ printError("attribute list passed as parameter to startElement()"+
+ " method has null value for tag <" + name + ">") ;
+ noOtherErrors = false ;
+ }
+ tagStack.add(0, name) ;
+ }
+ public void endElement(String name) {
+ super.endElement(name);
+ if (wellFormed) {
+ if (tagStack.size() == 0) {
+ wellFormed = false ;
+ printError("No tags to close (bad closing tag </" + name + ">)") ;
+ } else {
+ String startTag = (String) tagStack.elementAt(0) ;
+ tagStack.remove(0) ;
+ if (!startTag.equals(name)) {
+ wellFormed = false ;
+ printError("Bad closing tag: </" + name +
+ ">; tag expected: </" + startTag + ">");
+ }
+ }
+ }
+ }
+
+ /**
+ * Checks if there were no errors during document handling.
+ * I.e. startDocument() and endDocument() must be called,
+ * XML must be well formed, paramters must be valid.
+ */
+ public boolean isWellFormed() {
+ if (!docEnded) {
+ printError("Document was not ended.") ;
+ wellFormed = false ;
+ }
+
+ return wellFormed && noOtherErrors ;
+ }
+
+ /**
+ * Prints error message and all tags where error occured inside.
+ * Also prints "Tag trace" in case if the full XML data isn't
+ * printed.
+ */
+ public void printError(String msg) {
+ log.println("!!! Error: " + msg) ;
+ if (printXMLData) return ;
+ log.println(" Tag trace :") ;
+ for (int i = 0; i < tagStack.size(); i++) {
+ String tag = (String) tagStack.elementAt(i) ;
+ log.println(" <" + tag + ">") ;
+ }
+ }
+ }
+
+ /**
+ * Beside structure of XML this class also can check existence
+ * of tags, inner tags, and character data. After document
+ * completion there is a way to check if required tags and
+ * character data was found. If there any error occurs an
+ * appropriate message is output.
+ */
+ public static class XMLTagsChecker extends XMLWellFormChecker {
+ protected Hashtable tags = new Hashtable() ;
+ protected Hashtable chars = new Hashtable() ;
+ protected boolean allOK = true ;
+
+ public XMLTagsChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * Adds a tag name which must be contained in the XML data.
+ */
+ public void addTag(String tag) {
+ tags.put(tag, "") ;
+ }
+ /**
+ * Adds a tag name which must be contained in the XML data and
+ * must be inside the tag with name <code>outerTag</code>.
+ */
+ public void addTagEnclosed(String tag, String outerTag) {
+ tags.put(tag, outerTag) ;
+ }
+ /**
+ * Adds a character data which must be contained in the XML data.
+ */
+ public void addCharacters(String ch) {
+ chars.put(ch, "") ;
+ }
+ /**
+ * Adds a character data which must be contained in the XML data and
+ * must be inside the tag with name <code>outerTag</code>.
+ */
+ public void addCharactersEnclosed(String ch, String outerTag) {
+ chars.put(ch, outerTag) ;
+ }
+
+ public void startElement(String name, XAttributeList attrs) {
+ super.startElement(name, attrs) ;
+ if (tags.containsKey(name)) {
+ String outerTag = (String) tags.get(name);
+ if (!outerTag.equals("")) {
+ boolean isInTag = false ;
+ for (int i = 0; i < tagStack.size(); i++) {
+ if (outerTag.equals((String) tagStack.elementAt(i))) {
+ isInTag = true ;
+ break ;
+ }
+ }
+ if (!isInTag) {
+ printError("Required tag <" + name + "> found, but is not enclosed in tag <" +
+ outerTag + ">") ;
+ allOK = false ;
+ }
+ }
+ tags.remove(name) ;
+ }
+ }
+
+ public void characters(String ch) {
+ super.characters(ch) ;
+
+ if (chars.containsKey(ch)) {
+ String outerTag = (String) chars.get(ch);
+ if (!outerTag.equals("")) {
+ boolean isInTag = false ;
+ for (int i = 0; i < tagStack.size(); i++) {
+ if (outerTag.equals((String) tagStack.elementAt(i))) {
+ isInTag = true ;
+ break ;
+ }
+ }
+ if (!isInTag) {
+ printError("Required characters '" + ch + "' found, but are not enclosed in tag <" +
+ outerTag + ">") ;
+ allOK = false ;
+ }
+ }
+ chars.remove(ch) ;
+ }
+ }
+
+ /**
+ * Checks if the XML data was valid and well formed and if
+ * all necessary tags and character data was found.
+ */
+ public boolean checkTags() {
+ allOK &= isWellFormed() ;
+
+ Enumeration badTags = tags.keys() ;
+ Enumeration badChars = chars.keys() ;
+
+ if (badTags.hasMoreElements()) {
+ allOK = false ;
+ log.println("Required tags were not found in export :") ;
+ while(badTags.hasMoreElements()) {
+ log.println(" <" + ((String) badTags.nextElement()) + ">") ;
+ }
+ }
+ if (badChars.hasMoreElements()) {
+ allOK = false ;
+ log.println("Required characters were not found in export :") ;
+ while(badChars.hasMoreElements()) {
+ log.println(" <" + ((String) badChars.nextElement()) + ">") ;
+ }
+ }
+ reset();
+ return allOK ;
+ }
+ }
+
+ /**
+ * Represents an XML tag which must be found in XML data written.
+ * This tag can contain only its name or tag name and attribute
+ * name, or attribute value additionally.
+ */
+ public static class Tag {
+ private String name = null;
+ private String[][] attrList = new String[0][3] ;
+
+ /**
+ * Creates tag which has only a name. Attributes don't make sense.
+ * @param tagName The name of the tag.
+ */
+ public Tag(String tagName) {
+ name = tagName ;
+ }
+
+ /**
+ * Creates a tag with the name specified, which must have an
+ * attribute with name specified. The value of this attribute
+ * doesn't make sense.
+ * @param tagName The name of the tag.
+ * @param attrName The name of attribute which must be contained
+ * in the tag.
+ */
+ public Tag(String tagName, String attrName) {
+ name = tagName ;
+ attrList = new String[1][3] ;
+ attrList[0][0] = attrName ;
+ }
+
+ /**
+ * Creates a tag with the name specified, which must have an
+ * attribute with the value specified. The type of value
+ * assumed to be 'CDATA'.
+ * @param tagName The name of the tag.
+ * @param attrName The name of attribute which must be contained
+ * in the tag.
+ * @param attrValue Attribute value.
+ */
+ public Tag(String tagName, String attrName, String attrValue) {
+ name = tagName ;
+ attrList = new String[1][3] ;
+ attrList[0][0] = attrName ;
+ attrList[0][1] = "CDATA" ;
+ attrList[0][2] = attrValue ;
+ }
+
+ /**
+ * Creates a tag with the name specified, which must have
+ * attributes specified. The value of thesee attributes
+ * doesn't make sense.
+ * @param tagName The name of the tag.
+ * @param attrNames Array with names of attributes which must
+ * be contained in the tag.
+ */
+ public Tag(String tagName, String[] attrNames) {
+ name = tagName ;
+ attrList = new String[attrNames.length][3] ;
+ for (int i = 0; i < attrNames.length; i++) {
+ attrList[i][0] = attrNames[i] ;
+ }
+ }
+
+ /**
+ * Creates a tag with the name specified, which must have an
+ * attributes with their values specified. The type of all values
+ * assumed to be 'CDATA'.
+ * @param tagName The name of the tag.
+ * @param attrValues An array with attribute names and their values.
+ * <code>attrValues[N][0]</code> element contains the name of Nth
+ * attribute, and <code>attrValues[N][1]</code> element contains
+ * value of Nth attribute, if value is <code>null</code> then the
+ * attribute value can be any.
+ */
+ public Tag(String tagName, String[][] attrValues) {
+ name = tagName ;
+ attrList = new String[attrValues.length][3] ;
+ for (int i = 0; i < attrValues.length; i++) {
+ attrList[i][0] = attrValues[i][0] ;
+ attrList[i][1] = "CDATA" ;
+ attrList[i][2] = attrValues[i][1] ;
+ }
+ }
+
+ /**
+ * Gets tag String description.
+ */
+ public String toString() {
+ String ret = "<" + name ;
+ for (int i = 0; i < attrList.length; i++) {
+ ret += " " + attrList[i][0] + "=";
+ if (attrList[i][2] == null) {
+ ret += "(not specified)";
+ } else {
+ ret += "\"" + attrList[i][2] + "\"";
+ }
+ }
+ ret += ">";
+
+ return ret ;
+ }
+
+ protected boolean checkAttr(int attrListIdx, XAttributeList list) {
+ short j = 0 ;
+ int listLen = list.getLength();
+ while(j < listLen) {
+ if (attrList[attrListIdx][0].equals(list.getNameByIndex(j))) {
+ if (attrList[attrListIdx][2] == null) return true ;
+ return attrList[attrListIdx][2].equals(list.getValueByIndex(j)) ;
+ }
+ j++ ;
+ }
+ return false ;
+ }
+
+ /**
+ * Checks if this tag matches tag passed in parameters.
+ * I.e. if tag specifies only it's name it mathes if names
+ * are equal (attributes don't make sense). If there are
+ * some attributes names specified in this tag method checks
+ * if all names present in attribute list <code>list</code>
+ * (attributes' values don't make sense). If attributes specified
+ * with values method checks if these attributes exist and
+ * have appropriate values.
+ */
+ public boolean isMatchTo(String tagName, XAttributeList list) {
+ if (!name.equals(tagName)) return false;
+ boolean result = true ;
+ for (int i = 0; i < attrList.length; i++) {
+ result &= checkAttr(i, list) ;
+ }
+ return result ;
+ }
+ }
+
+ /**
+ * Class realises extended XML data checking. It has possibilities
+ * to check if a tag exists, if it has some attributes with
+ * values, and if this tag is contained in another tag (which
+ * also can specify any attributes). It can check if some
+ * character data exists inside any tag specified.
+ */
+ public static class XMLChecker extends XMLWellFormChecker {
+ protected HashSet tagSet = new HashSet() ;
+ protected Vector tags = new Vector() ;
+ protected Vector chars = new Vector() ;
+ protected Vector tagStack = new Vector() ;
+ protected Vector attrStack = new Vector() ;
+
+ public XMLChecker(PrintWriter log, boolean writeXML) {
+ super(log, writeXML) ;
+ }
+
+ public void addTag(Tag tag) {
+ tags.add(new Tag[] {tag, null}) ;
+ tagSet.add(tag.name) ;
+ }
+
+ public void addTagEnclosed(Tag tag, Tag outerTag) {
+ tags.add(new Tag[] {tag, outerTag}) ;
+ tagSet.add(tag.name) ;
+ }
+
+ public void addCharacters(String ch) {
+ chars.add(new Object[] {ch.trim(), null}) ;
+ }
+
+ public void addCharactersEnclosed(String ch, Tag outerTag) {
+ chars.add(new Object[] {ch.trim(), outerTag}) ;
+ }
+
+ public void startElement(String name, XAttributeList attr) {
+ try {
+ super.startElement(name, attr);
+
+ if (tagSet.contains(name)) {
+ for (int i = 0; i < tags.size(); i++) {
+ Tag[] tag = (Tag[]) tags.elementAt(i);
+ if (tag[0].isMatchTo(name, attr)) {
+ if (tag[1] == null) {
+ tags.remove(i--);
+ } else {
+ boolean isInStack = false ;
+ for (int j = 0; j < tagStack.size(); j++) {
+ if (tag[1].isMatchTo((String) tagStack.elementAt(j),
+ (XAttributeList) attrStack.elementAt(j))) {
+
+ isInStack = true ;
+ break ;
+ }
+ }
+ if (isInStack) {
+ tags.remove(i--) ;
+ }
+ }
+ }
+ }
+ }
+
+ tagStack.add(0, name) ;
+ attrStack.add(0, new AttributeList(attr));
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ public void characters(String ch) {
+ super.characters(ch) ;
+ for (int i = 0; i < chars.size(); i++) {
+ Object[] chr = (Object[]) chars.elementAt(i);
+ if (((String) chr[0]).equals(ch)) {
+ if (chr[1] == null) {
+ chars.remove(i--);
+ } else {
+ boolean isInStack = false ;
+ for (int j = 0; j < tagStack.size(); j++) {
+ if (((Tag) chr[1]).isMatchTo((String) tagStack.elementAt(j),
+ (XAttributeList) attrStack.elementAt(j))) {
+
+ isInStack = true ;
+ break ;
+ }
+ }
+ if (isInStack) {
+ chars.remove(i--) ;
+ }
+ }
+ }
+ }
+ }
+
+ public void endElement(String name) {
+ try {
+ super.endElement(name);
+
+ if (tagStack.size() > 0) {
+ tagStack.remove(0) ;
+ attrStack.remove(0) ;
+ }
+ } catch(Exception e) {
+ e.printStackTrace(log) ;
+ }
+ }
+
+ public boolean check() {
+ if (tags.size()> 0) {
+ log.println("!!! Error: Some tags were not found :") ;
+ for (int i = 0; i < tags.size(); i++) {
+ Tag[] tag = (Tag[]) tags.elementAt(i) ;
+ log.println(" Tag " + tag[0] + " was not found");
+ if (tag[1] != null)
+ log.println(" inside tag " + tag[1]) ;
+ }
+ }
+ if (chars.size() > 0) {
+ log.println("!!! Error: Some character data blocks were not found :") ;
+ for (int i = 0; i < chars.size(); i++) {
+ Object[] ch = (Object[]) chars.elementAt(i) ;
+ log.println(" Character data \"" + ch[0] + "\" was not found ") ;
+ if (ch[1] != null)
+ log.println(" inside tag " + ch[1]) ;
+ }
+ }
+
+ if (!isWellFormed())
+ log.println("!!! Some errors were found in XML structure") ;
+
+ boolean result = tags.size() == 0 && chars.size() == 0 && isWellFormed();
+ reset();
+ return result;
+ }
+ }
+
+ /**
+ * Creates <code>XDocumentHandler</code> implementation in form
+ * of <code>com.sun.star.xml.sax.Writer</code> service, which
+ * writes XML data into a <code>com.sun.star.io.Pipe</code>
+ * created.
+ * @return Single element array which contains the handler
+ * contained in <code>Any</code> structure.
+ */
+ public static Object[] getDocumentHandler(XMultiServiceFactory xMSF) {
+ Object[] ret = new Object[1];
+ try {
+ XInterface Writer = (XInterface) xMSF.createInstance(
+ "com.sun.star.xml.sax.Writer");
+ XInterface oPipe = (XInterface) xMSF.createInstance
+ ( "com.sun.star.io.Pipe" );
+ XOutputStream xPipeOutput = (XOutputStream) UnoRuntime.
+ queryInterface(XOutputStream.class, oPipe) ;
+
+ XActiveDataSource xADS = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class,Writer);
+ xADS.setOutputStream(xPipeOutput);
+ XDocumentHandler handler = (XDocumentHandler)
+ UnoRuntime.queryInterface(XDocumentHandler.class,Writer);
+
+ Any arg = new Any(new Type(XDocumentHandler.class),handler);
+
+ ret[0] = arg;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ return ret;
+ }
+
+ public static PropertyValue[] createMediaDescriptor(String[] propNames, Object[] values) {
+ PropertyValue[] props = new PropertyValue[propNames.length] ;
+
+ for (int i = 0; i < props.length; i++) {
+ props[i] = new PropertyValue() ;
+ props[i].Name = propNames[i] ;
+ if (values != null && i < values.length) {
+ props[i].Value = values[i] ;
+ }
+ }
+
+ return props ;
+ }
+
+ /**
+ * Gets the hanlder, which writes all the XML data passed to the
+ * file specified.
+ * @param xMSF Soffice <code>ServiceManager</code> factory.
+ * @param fileURL The file URL (in form file:///<path>) to which
+ * XML data is written.
+ * @return SAX handler to which XML data has to be written.
+ */
+ public static XDocumentHandler getFileXMLWriter(XMultiServiceFactory xMSF, String fileURL)
+ throws com.sun.star.uno.Exception
+ {
+ XInterface oFacc = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xFacc = (XSimpleFileAccess)UnoRuntime.queryInterface
+ (XSimpleFileAccess.class, oFacc) ;
+
+ XInterface oWriter = (XInterface)xMSF.createInstance(
+ "com.sun.star.xml.sax.Writer");
+ XActiveDataSource xWriterDS = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, oWriter);
+ XDocumentHandler xDocHandWriter = (XDocumentHandler) UnoRuntime.queryInterface
+ (XDocumentHandler.class, oWriter) ;
+
+ if (xFacc.exists(fileURL))
+ xFacc.kill(fileURL);
+ XOutputStream fOut = xFacc.openFileWrite(fileURL) ;
+ xWriterDS.setOutputStream(fOut);
+
+ return xDocHandWriter ;
+ }
+
+ /**
+ * Parses XML file and passes its data to the SAX handler specified.
+ * @param xMSF Soffice <code>ServiceManager</code> factory.
+ * @param fileURL XML file name (in form file:///<path>) to be parsed.
+ * @param handler SAX handler to which XML data from file will
+ * be transferred.
+ */
+ public static void parseXMLFile(XMultiServiceFactory xMSF,
+ String fileURL, XDocumentHandler handler) throws com.sun.star.uno.Exception
+ {
+ XInterface oFacc = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xFacc = (XSimpleFileAccess)UnoRuntime.queryInterface
+ (XSimpleFileAccess.class, oFacc) ;
+ XInputStream oIn = xFacc.openFileRead(fileURL) ;
+
+ XInterface oParser = (XInterface)xMSF.createInstance(
+ "com.sun.star.xml.sax.Parser");
+ XParser xParser = (XParser) UnoRuntime.queryInterface(XParser.class, oParser);
+
+ xParser.setDocumentHandler(handler) ;
+ InputSource inSrc = new InputSource() ;
+ inSrc.aInputStream = oIn ;
+ xParser.parseStream(inSrc) ;
+
+ oIn.closeInput();
+ }
+
+ /**
+ * Exports document (the whole or a part) into the file specified
+ * in XML format.
+ * @param xMSF Soffice <code>ServiceManager</code> factory.
+ * @param xDoc Document to be exported.
+ * @param docType Type of document (for example 'Calc', 'Writer', 'Draw')
+ * The type must start with <b>capital</b> letter.
+ * @param exportType The type of export specifies if the whole
+ * document will be exported or one of its parts (Meta info, Styles, etc.).
+ * The following types supported (it also depends of document type) :
+ * "" (empty string) - for the whole document ;
+ * "Content" - only content exported ;
+ * "Meta" - meta document info exported ;
+ * "Settings" - view settings of document exported ;
+ * "Styles" - document styles exported ;
+ * @param fileURL XML file name (in form file:///<path>) to be exported to.
+ */
+ public static void exportDocument(XMultiServiceFactory xMSF, XComponent xDoc,
+ String docType, String exportType, String fileURL)
+ throws com.sun.star.uno.Exception {
+
+ XDocumentHandler xDocHandWriter = XMLTools.getFileXMLWriter(xMSF, fileURL) ;
+
+ Any arg = new Any(new Type(XDocumentHandler.class), xDocHandWriter);
+ XInterface oExp = (XInterface)xMSF.createInstanceWithArguments(
+ "com.sun.star.comp." + docType + ".XML" + exportType + "Exporter",
+ new Object[] {arg});
+
+ XExporter xExp = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class, oExp) ;
+ xExp.setSourceDocument(xDoc) ;
+
+ XFilter filter = (XFilter) UnoRuntime.queryInterface(XFilter.class, oExp) ;
+ filter.filter(XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"Custom filter"})) ;
+ }
+
+ /**
+ * Imports document (the whole or a part) from the file specified
+ * in XML format.
+ * @param xMSF Soffice <code>ServiceManager</code> factory.
+ * @param xDoc Target document to be imported.
+ * @param docType Type of document (for example 'Calc', 'Writer', 'Draw')
+ * The type must start with <b>capital</b> letter.
+ * @param exportType The type of export specifies if the whole
+ * document will be exported or one of its parts (Meta info, Styles, etc.).
+ * The following types supported (it hardly depends of XML data in file) :
+ * "" (empty string) - for the whole document ;
+ * "Content" - only content exported ;
+ * "Meta" - meta document info exported ;
+ * "Settings" - view settings of document exported ;
+ * "Styles" - document styles exported ;
+ * @param fileURL XML file name (in form file:///<path>) to be imported from.
+ */
+ public static void importDocument(XMultiServiceFactory xMSF, XComponent xDoc,
+ String docType, String importType, String fileURL)
+ throws com.sun.star.uno.Exception {
+
+ XInterface oImp = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp." + docType + ".XML" + importType + "Importer");
+ XImporter xImp = (XImporter) UnoRuntime.queryInterface
+ (XImporter.class, oImp) ;
+ XDocumentHandler xDocHandImp = (XDocumentHandler) UnoRuntime.queryInterface
+ (XDocumentHandler.class, oImp) ;
+
+ xImp.setTargetDocument(xDoc) ;
+ parseXMLFile(xMSF, fileURL, xDocHandImp) ;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/XSchemaHandlerImpl.java b/qadevOOo/runner/util/XSchemaHandlerImpl.java
new file mode 100644
index 000000000000..cac0754d9f20
--- /dev/null
+++ b/qadevOOo/runner/util/XSchemaHandlerImpl.java
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+public class XSchemaHandlerImpl
+ implements com.sun.star.configuration.backend.XSchemaHandler {
+ protected String calls = "";
+ protected String ls = System.getProperty("line.separator");
+
+ public void addInstance(String str,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addInstance();" + ls);
+ }
+
+ public void addItemType(com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addItemType();" + ls);
+ }
+
+ public void addProperty(String str, short param,
+ com.sun.star.uno.Type type)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addProperty();" + ls);
+ }
+
+ public void addPropertyWithDefault(String str, short param, Object obj)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addPropertyWithDefault();" + ls);
+ }
+
+ public void endComponent()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endComponent();" + ls);
+ }
+
+ public void endNode()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endNode();" + ls);
+ }
+
+ public void endSchema()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endSchema();" + ls);
+ }
+
+ public void endTemplate()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endTemplate();" + ls);
+ }
+
+ public void importComponent(String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("importComponent();" + ls);
+ }
+
+ public void startComponent(String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startComponent();" + ls);
+ }
+
+ public void startGroup(String str, short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startGroup();" + ls);
+ }
+
+ public void startGroupTemplate(com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier,
+ short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startGroupTemplate();" + ls);
+ }
+
+ public void startSchema()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startSchema();" + ls);
+ }
+
+ public void startSet(String str, short param,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startSet();" + ls);
+ }
+
+ public void startSetTemplate(com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier,
+ short param,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier2)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startSetTemplate();" + ls);
+ }
+
+ public String getCalls() {
+ return calls;
+ }
+
+ public void cleanCalls() {
+ calls = "";
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/compare/DocComparator.java b/qadevOOo/runner/util/compare/DocComparator.java
new file mode 100644
index 000000000000..365850fa4839
--- /dev/null
+++ b/qadevOOo/runner/util/compare/DocComparator.java
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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 util.compare;
+
+import java.io.IOException;
+
+/**
+ *
+ *
+ */
+
+public interface DocComparator {
+
+ public boolean isReferenceExistent() throws IOException;
+
+ public void createReference() throws IOException;
+
+ public boolean compare() throws IOException;
+
+
+ public boolean isDiffReferenceExistent() throws IOException;
+
+ public void createDiffReference() throws IOException;
+
+ public boolean compareDiff() throws IOException;
+
+}
diff --git a/qadevOOo/runner/util/compare/DocComparatorFactory.java b/qadevOOo/runner/util/compare/DocComparatorFactory.java
new file mode 100644
index 000000000000..5f68606932c0
--- /dev/null
+++ b/qadevOOo/runner/util/compare/DocComparatorFactory.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 util.compare;
+
+import lib.TestParameters;
+import util.compare.GraphicalComparator;
+
+public class DocComparatorFactory
+{
+ /**
+ * @param s is a name like 'ooo' 'pdf' or 'msoffice'
+ * @return a new DocComparator Object
+ */
+ static public DocComparator createComparator(String s, TestParameters aParams) throws IllegalArgumentException
+ {
+ if (s.toLowerCase().equals("gfx") || s.toLowerCase().equals("graphical"))
+ {
+ return GraphicalComparator.getInstance(aParams);
+ }
+/*
+ else if (s.toLowerCase().equals("xml"))
+ {
+ return new XMLCompare.create(aParams);
+ }
+*/
+ else if (s.toLowerCase().equals("pdf"))
+ {
+ // return new PDFComparator.create(aParams);
+ throw new IllegalArgumentException("PDF not implemented yet.");
+ }
+ else
+ {
+ throw new IllegalArgumentException("DocComparator for '" + s + "' not supported!");
+ }
+
+ // unreachable: return null;
+ }
+
+}
diff --git a/qadevOOo/runner/util/compare/GraphicalComparator.java b/qadevOOo/runner/util/compare/GraphicalComparator.java
new file mode 100644
index 000000000000..71109e984188
--- /dev/null
+++ b/qadevOOo/runner/util/compare/GraphicalComparator.java
@@ -0,0 +1,260 @@
+/*************************************************************************
+ *
+ * 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 util.compare;
+
+import convwatch.GraphicalDifferenceCheck;
+import convwatch.GraphicalTestArguments;
+import convwatch.DirectoryHelper;
+import convwatch.FileHelper;
+
+import lib.TestParameters;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.IOException;
+
+import util.compare.DocComparator;
+import convwatch.ConvWatchException;
+
+// -----------------------------------------------------------------------------
+class GraphicalComparator implements DocComparator
+{
+ GraphicalTestArguments m_aArguments;
+
+ protected GraphicalComparator(TestParameters aParams)
+ {
+ m_aArguments = new GraphicalTestArguments(aParams);
+ }
+
+ /**
+ * @return an instance of this object, but only it's interface
+ */
+ static DocComparator getInstance(TestParameters aParams)
+ {
+ // setting the default test parameter
+ // TEST aParams
+ GraphicalComparator a = new GraphicalComparator(aParams);
+ return a;
+ }
+
+ /**
+ * return a (FileFilter) function, which returns true, if the filename is a '*.prn' file
+ */
+ FileFilter getTrueIfPRNFile_FileFilter()
+ {
+ FileFilter aFileFilter = new FileFilter()
+ {
+ public boolean accept( File pathname )
+ {
+ if (pathname.getName().endsWith(".prn"))
+ {
+ return true;
+ }
+ return false;
+ }
+ };
+ return aFileFilter;
+ }
+
+ /**
+ * build a new file from _sEntry by
+ * replacing the path equals to _sInputPath with _sReferencePath and replace it's suffix by _sNewSuffix.
+ * If _sInputPath is empty, replace the whole path by _sReferencePath.
+ */
+ protected String createSpecialFile(String _sEntry, String _sInputPath, String _sReferencePath, String _sNewSuffix)
+ {
+ String fs = System.getProperty("file.separator");
+ String sNewSubDir = "";
+ if (_sInputPath.length() > 0)
+ {
+ sNewSubDir = FileHelper.removeFirstDirectorysAndBasenameFrom(_sEntry, _sInputPath);
+ }
+ String sNameNoSuffix = FileHelper.getNameNoSuffix(FileHelper.getBasename(_sEntry));
+
+ // add the sub path to the difference path
+ String sNewReferencePath;
+ if (sNewSubDir.length() > 0)
+ {
+ sNewReferencePath = _sReferencePath + fs + sNewSubDir;
+ }
+ else
+ {
+ sNewReferencePath = _sReferencePath;
+ }
+ // add the difference name
+ sNewReferencePath += fs + sNameNoSuffix + _sNewSuffix;
+ return sNewReferencePath;
+ }
+
+ boolean isReferenceOrDiffExistent(String _sNewSuffix)
+ {
+ boolean isExistent = false;
+
+ // LLA? What if sReferencePath is a directory, but directory is empty? is the result then true or false;
+
+ // wir muessen durch den InputPath durch und dann fuer jedes Dokument prufen, ob im angegebenen ReferencePath eine Reference existiert.
+ String sInputPath = m_aArguments.getInputPath();
+ if (FileHelper.isDir(sInputPath))
+ {
+ Object[] aList = DirectoryHelper.traverse(sInputPath, FileHelper.getFileFilter(), m_aArguments.includeSubDirectories());
+ for (int i=0;i<aList.length;i++)
+ {
+ // get document + path
+ String sEntry = (String)aList[i];
+ String sNewReferencePath = createSpecialFile(sEntry, sInputPath, m_aArguments.getReferencePath(), _sNewSuffix);
+ // split path from document path which only is equal to sInputPath (sub path)
+ if (FileHelper.exists(sNewReferencePath))
+ {
+ isExistent = true;
+ }
+ }
+ }
+ else
+ {
+ // sInputPath is a file
+ String sNewReferencePath = createSpecialFile(sInputPath, "", m_aArguments.getReferencePath(), _sNewSuffix);
+ if (FileHelper.exists(sNewReferencePath))
+ {
+ isExistent = true;
+ }
+ }
+ return isExistent;
+ }
+
+ /**
+ * REFERENCE_PATH must set to directory/file, where the reference (*.prn files) (should) exist
+ */
+ public boolean isReferenceExistent()
+ {
+ return isReferenceOrDiffExistent(".prn");
+ }
+
+ /**
+ * INPUT_PATH must set, to directory/file, where the documents exist.
+ * REFERENCE_PATH must set to directory/file, where the created references (*.prn files) will create.
+ */
+ public void createReference() throws IOException
+ {
+ // woher kommt das TestDocument
+ // INPUT_PATH
+ // wohin
+ // REFERENCE_PATH
+ // mit was (Reference Application)
+ // AppExecutionCmd
+ try
+ {
+ String referenceInputPath = null;
+ if(m_aArguments.getReferenceInputPath() == null)
+ {
+ GraphicalDifferenceCheck.createReferences(m_aArguments.getInputPath(), m_aArguments.getReferencePath(), m_aArguments);
+ }
+ else
+ {
+ referenceInputPath = m_aArguments.getReferenceInputPath();
+ GraphicalDifferenceCheck.createReferences(referenceInputPath, m_aArguments.getReferencePath(), m_aArguments);
+ }
+ }
+ catch (ConvWatchException e)
+ {
+ // wrap it to IOException
+ throw new java.io.IOException(e.getMessage());
+ }
+ }
+
+ /**
+ * INPUT_PATH must set, to directory/file, where the documents exist.
+ * REFERENCE_PATH must set to directory/file, where the created references (*.prn files) will create.
+ * OUTPUT_PATH must set to a directory, there the whole ouptut will create
+ */
+ public boolean compare() throws IOException
+ {
+ try
+ {
+ if (FileHelper.isDebugEnabled())
+ {
+ System.err.println(" Inputpath: '" + m_aArguments.getInputPath() + "'");
+ System.err.println(" Outputpath: '" + m_aArguments.getOutputPath() + "'");
+ System.err.println("Referencepath: '" + m_aArguments.getReferencePath() + "'");
+ }
+ return GraphicalDifferenceCheck.check(m_aArguments.getInputPath(), m_aArguments.getOutputPath(), m_aArguments.getReferencePath(), m_aArguments);
+ }
+ catch(ConvWatchException e)
+ {
+ // wrap it to IOException
+ if (FileHelper.isDebugEnabled())
+ {
+ System.err.println("Exception caught");
+ System.err.println(" Inputpath: '" + m_aArguments.getInputPath() + "'");
+ System.err.println(" Outputpath: '" + m_aArguments.getOutputPath() + "'");
+ System.err.println("Referencepath: '" + m_aArguments.getReferencePath() + "'");
+ }
+ throw new java.io.IOException(e.getMessage());
+ }
+ }
+
+ /**
+ *
+ * INPUT_PATH must set to the original documents the directory structure is taken to see if the references exist in the DIFF_PATH
+ * DIFF_PATH must set to the diff references
+ */
+ public boolean isDiffReferenceExistent() throws IOException
+ {
+ return isReferenceOrDiffExistent(".prn.diff0001.jpg");
+ }
+
+ /**
+ * INPUT_PATH must set, to directory/file, where the documents exist.
+ * REFERENCE_PATH must set to directory/file, where the created references (*.prn files) exists.
+ * OUTPUT_PATH must set to a directory, where the whole ouptut will create. Here the diffReference will create.
+ * At the momemt it's not possible to say only where the diffreferences will create.
+ */
+ public void createDiffReference() throws IOException
+ {
+ // this is the same like compareDiff(), but trash the result.
+ compareDiff();
+ }
+
+ /**
+ * INPUT_PATH must set, to directory/file, where the documents exist.
+ * REFERENCE_PATH must set to directory/file, where the created references (*.prn files) exists.
+ * OUTPUT_PATH must set to a directory, where the whole ouptut will create.
+ * DIFF_PATH must set to a directory, where the older difference references exist, it's possible to set this to the same as REFERENCE_PATH
+ * but this is not the default and will not automatically set.
+ */
+ public boolean compareDiff() throws IOException
+ {
+ try
+ {
+ return GraphicalDifferenceCheck.check(m_aArguments.getInputPath(), m_aArguments.getOutputPath(), m_aArguments.getReferencePath(), m_aArguments.getDiffPath(), m_aArguments);
+ }
+ catch(ConvWatchException e)
+ {
+ // wrap it to IOException
+ throw new java.io.IOException(e.getMessage());
+ }
+ }
+
+}
diff --git a/qadevOOo/runner/util/compare/PDFComparator.java b/qadevOOo/runner/util/compare/PDFComparator.java
new file mode 100644
index 000000000000..fb49b0db40dd
--- /dev/null
+++ b/qadevOOo/runner/util/compare/PDFComparator.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 util.compare;
+
+import util.compare.DocComparator;
+import lib.TestParameters;
+import util.compare.GraphicalComparator;
+
+class PDFComparator extends GraphicalComparator implements DocComparator
+{
+ protected PDFComparator(TestParameters aParams)
+ {
+ super(aParams);
+ }
+
+ static DocComparator getInstance(TestParameters aParams)
+ {
+ aParams.put(convwatch.PropertyName.DOC_COMPARATOR_REFERENCE_TYPE, "pdf");
+ PDFComparator a = new PDFComparator(aParams);
+ return a;
+ }
+
+ // all in GraphicalComparator implemented.
+ // public boolean isReferenceExistent() throws IOException;
+ //
+ // public void createReference() throws IOException;
+ //
+ // public boolean compare() throws IOException;
+ //
+ //
+ // public boolean isDiffReferenceExistent() throws IOException;
+ //
+ // public void createDiffReference() throws IOException;
+ //
+ // public boolean compareDiff() throws IOException;
+}
+
diff --git a/qadevOOo/runner/util/compare/XMLComparator.java b/qadevOOo/runner/util/compare/XMLComparator.java
new file mode 100644
index 000000000000..470dbaa3ada1
--- /dev/null
+++ b/qadevOOo/runner/util/compare/XMLComparator.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 util.compare;
+
+//import java.io.IOException;
+//import util.compare.DocComparator;
+//import lib.TestParameters;
+
+/**
+ * This Interface isn't ready yet.
+ *
+ */
+/*
+class XMLComparator implements DocComparator
+{
+ static DocComparator getInstance(TestParameters aParams)
+ {
+ return null;
+ }
+ public boolean isReferenceExistent() throws IOException;
+
+ public void createReference() throws IOException;
+
+ public boolean compare() throws IOException;
+
+
+ public boolean isDiffReferenceExistent() throws IOException;
+
+ public void createDiffReference() throws IOException;
+
+ public boolean compareDiff() throws IOException;
+}
+*/
diff --git a/qadevOOo/runner/util/compare/makefile.mk b/qadevOOo/runner/util/compare/makefile.mk
new file mode 100644
index 000000000000..2983e8aa581b
--- /dev/null
+++ b/qadevOOo/runner/util/compare/makefile.mk
@@ -0,0 +1,54 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+PRJ=..$/..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = util.compare
+TARGET = runner_util_compare
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
+JAVAFILES = \
+ DocComparatorFactory.java \
+ DocComparator.java \
+ GraphicalComparator.java \
+ PDFComparator.java
+
+# doesn't implement yet.
+# PDFComparator.java \
+# XMLComparator.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/qadevOOo/runner/util/db/DataSource.java b/qadevOOo/runner/util/db/DataSource.java
new file mode 100644
index 000000000000..60c613edd854
--- /dev/null
+++ b/qadevOOo/runner/util/db/DataSource.java
@@ -0,0 +1,163 @@
+/*
+ * 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 util.db;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XOfficeDatabaseDocument;
+import com.sun.star.sdbc.XDataSource;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XNamingService;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import lib.StatusException;
+
+/** wraps a com.sun.star.sdb.DataSource
+ *
+ * @author fs93730
+ */
+public class DataSource
+{
+ protected DataSource( XMultiServiceFactory _orb, DataSourceDescriptor _descriptor )
+ {
+ m_orb = _orb;
+ try
+ {
+ m_dataSource = (XDataSource)UnoRuntime.queryInterface( XDataSource.class,
+ m_orb.createInstance( "com.sun.star.sdb.DataSource" ) );
+ m_properties = (XPropertySet)UnoRuntime.queryInterface( XPropertySet.class,
+ m_dataSource );
+
+ Object[] descriptorProperties = new Object[] {
+ _descriptor.Name, _descriptor.URL, _descriptor.Info, _descriptor.User, _descriptor.Password,
+ _descriptor.IsPasswordRequired };
+ String[] propertyNames = new String[] {
+ "Name", "URL", "Info", "User", "Password", "IsPasswordRequired" };
+ for ( int i=0; i < descriptorProperties.length; ++i )
+ if ( descriptorProperties[i] != null )
+ m_properties.setPropertyValue( propertyNames[i], descriptorProperties[i] );
+ }
+ catch ( Exception e )
+ {
+ throw new StatusException( "could not create/fill a css.sdb.DataSource object", e );
+ }
+ }
+
+ public XDataSource getDataSource()
+ {
+ return m_dataSource;
+ }
+
+ /**
+ * retrieves the css.sdb.OfficeDatabaseDocument associated with the data source
+ * @return
+ */
+ public DatabaseDocument getDatabaseDocument()
+ {
+ synchronized ( this )
+ {
+ if ( m_document == null )
+ m_document = new DatabaseDocument( m_orb, this );
+ }
+ return m_document;
+ }
+
+ public void revokeRegistration()
+ {
+ String dataSourceName = "";
+ try
+ {
+ dataSourceName = (String)m_properties.getPropertyValue( "Name" );
+ XNamingService dbContext = (XNamingService)UnoRuntime.queryInterface( XNamingService.class,
+ m_orb.createInstance( "com.sun.star.sdb.DatabaseContext" ) );
+ dbContext.revokeObject( dataSourceName );
+ }
+ catch ( Exception e )
+ {
+ throw new StatusException( "DataSource.revokeRegistration: could not revoke the object (" + dataSourceName + ")", e );
+ }
+ }
+
+ public void registerAs( final String _registrationName, final boolean _revokeIfRegistered )
+ {
+ String doing = null;
+ try
+ {
+ doing = "creating database context";
+ XNamingService dbContext = UnoRuntime.queryInterface( XNamingService.class,
+ m_orb.createInstance( "com.sun.star.sdb.DatabaseContext" ) );
+
+ if ( _revokeIfRegistered )
+ {
+ doing = "revoking previously registered data source";
+ try
+ {
+ dbContext.revokeObject( _registrationName );
+ }
+ catch( NoSuchElementException e )
+ { /* allowed here */ }
+ }
+
+ // if the document associated with the database document has not yet been saved, then we need to do so
+ DatabaseDocument doc = getDatabaseDocument();
+ String docURL = doc.getURL();
+ if ( docURL.length() == 0 )
+ {
+ final java.io.File tempFile = java.io.File.createTempFile( _registrationName + "_", ".odb" );
+ if ( tempFile.exists() )
+ // we did not really want to create that file, we just wanted its local name, but
+ // createTempFile actually creates it => throw it away
+ // (This is necessary since some JVM/platform combinations seem to actually lock the file)
+ tempFile.delete();
+ String localPart = tempFile.toURI().toURL().toString();
+ localPart = localPart.substring( localPart.lastIndexOf( '/' ) + 1 );
+ docURL = util.utils.getOfficeTemp( m_orb ) + localPart;
+ doing = "storing database document to temporary location (" + docURL + ")";
+ doc.storeAsURL( docURL );
+ }
+
+ // register the data soource
+ doing = "registering the data source at the database context";
+ dbContext.registerObject( _registrationName, m_dataSource );
+ }
+ catch( final java.lang.Exception e )
+ {
+ throw new StatusException( "DataSource.registerAs: error during " + doing, e );
+ }
+ }
+
+ private XMultiServiceFactory m_orb = null;
+ private XDataSource m_dataSource = null;
+ private XPropertySet m_properties = null;
+ private DatabaseDocument m_document = null;
+}
diff --git a/qadevOOo/runner/util/db/DataSourceDescriptor.java b/qadevOOo/runner/util/db/DataSourceDescriptor.java
new file mode 100644
index 000000000000..9faeeb3f51e0
--- /dev/null
+++ b/qadevOOo/runner/util/db/DataSourceDescriptor.java
@@ -0,0 +1,74 @@
+/*
+ * 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 util.db;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/** a descriptor for creating a com.sun.star.sdb.DataSource
+ *
+ * @author fs93730
+ */
+public class DataSourceDescriptor
+{
+ /**
+ * Representation of <code>'Name'</code> property.
+ */
+ public String Name = null ;
+ /**
+ * Representation of <code>'URL'</code> property.
+ */
+ public String URL = null ;
+ /**
+ * Representation of <code>'Info'</code> property.
+ */
+ public PropertyValue[] Info = null ;
+ /**
+ * Representation of <code>'User'</code> property.
+ */
+ public String User = null ;
+ /**
+ * Representation of <code>'Password'</code> property.
+ */
+ public String Password = null ;
+ /**
+ * Representation of <code>'IsPasswordRequired'</code> property.
+ */
+ public Boolean IsPasswordRequired = null ;
+
+ public DataSourceDescriptor( XMultiServiceFactory _orb )
+ {
+ m_orb = _orb;
+ }
+
+ public DataSource createDataSource()
+ {
+ return new DataSource( m_orb, this );
+ }
+
+ private XMultiServiceFactory m_orb = null;
+}
diff --git a/qadevOOo/runner/util/db/DatabaseDocument.java b/qadevOOo/runner/util/db/DatabaseDocument.java
new file mode 100644
index 000000000000..9022315fbfa4
--- /dev/null
+++ b/qadevOOo/runner/util/db/DatabaseDocument.java
@@ -0,0 +1,90 @@
+/*
+ * 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 util.db;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.io.IOException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XOfficeDatabaseDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * encapsulates a css.sdb.DatabaseDocument
+ */
+public class DatabaseDocument
+{
+ protected DatabaseDocument( final XMultiServiceFactory _orb, final DataSource _dataSource )
+ {
+ m_orb = _orb;
+ m_dataSource = _dataSource;
+
+ XDocumentDataSource docDataSource = (XDocumentDataSource)UnoRuntime.queryInterface(
+ XDocumentDataSource.class, m_dataSource.getDataSource() );
+ m_databaseDocument = (XOfficeDatabaseDocument)UnoRuntime.queryInterface(XOfficeDatabaseDocument.class,
+ docDataSource.getDatabaseDocument() );
+
+ m_model = (XModel)UnoRuntime.queryInterface( XModel.class, m_databaseDocument );
+ m_storeDoc = (XStorable)UnoRuntime.queryInterface( XStorable.class, m_databaseDocument );
+ }
+
+ public DataSource getDataSource()
+ {
+ return m_dataSource;
+ }
+
+ public XOfficeDatabaseDocument getDatabaseDocument()
+ {
+ return m_databaseDocument;
+ }
+
+ /**
+ * passes through to XModel.getURL.
+ */
+ public String getURL()
+ {
+ return m_model.getURL();
+ }
+
+ /**
+ * simplified version (taking no arguments except the target URL) of XStorage.storeAsURL
+ * @param _url
+ * specifies the location to where to store the document
+ */
+ public void storeAsURL( final String _url ) throws IOException
+ {
+ m_storeDoc.storeAsURL( _url, new PropertyValue[] { } );
+ }
+
+ private XMultiServiceFactory m_orb;
+ private DataSource m_dataSource;
+ private XOfficeDatabaseDocument m_databaseDocument;
+ private XModel m_model;
+ private XStorable m_storeDoc;
+}
diff --git a/qadevOOo/runner/util/dbg.java b/qadevOOo/runner/util/dbg.java
new file mode 100644
index 000000000000..259500fe0c8f
--- /dev/null
+++ b/qadevOOo/runner/util/dbg.java
@@ -0,0 +1,347 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.Type;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.lang.XServiceInfo;
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+
+/**
+ * This class accumulates all kinds of methods for accessing debug information
+ * from UNO implementations.
+ */
+public class dbg {
+
+ /**
+ * Prints information about the supported interfaces of an implementation
+ * to standard out.
+ * @param xTarget The implementation which should be analysed.
+ * @see com.sun.star.uno.XInterface
+ */
+ public static void printInterfaces(XInterface xTarget) {
+ printInterfaces(xTarget, false);
+ }
+
+ /**
+ * Prints information about the supported interfaces of an implementation
+ * to standard out. Extended information can be printed.
+ * @param xTarget The implementation which should be analysed.
+ * @param extendedInfo Should extended information be printed?
+ * @see com.sun.star.uno.XInterface
+ */
+ public static void printInterfaces(XInterface xTarget,
+ boolean extendedInfo){
+ Type[] types = getInterfaceTypes(xTarget);
+ if( null != types ) {
+ int nLen = types.length;
+ for( int i = 0; i < nLen ; i++ ) {
+ System.out.println(types[i].getTypeName());
+ if (extendedInfo) {
+ printInterfaceInfo(types[i]);
+ System.out.println();
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns all interface types of an implementation as a type array.
+ * @param xTarget The implementation which should be analyzed.
+ * @return An array with all interface types; null if there are none.
+ * @see com.sun.star.uno.XInterface
+ */
+ public static Type[] getInterfaceTypes(XInterface xTarget) {
+ Type[] types = null;
+ XTypeProvider xTypeProvider = (XTypeProvider)
+ UnoRuntime.queryInterface( XTypeProvider.class, xTarget);
+ if( xTypeProvider != null )
+ types = xTypeProvider.getTypes();
+ return types;
+ }
+
+ /**
+ * Returns true if a specified target implements the interface with the
+ * given name. Note that the comparison is not case sensitive.
+ * @param xTarget The implementation which should be analysed.
+ * @param ifcName The name of the interface that is tested. The name can
+ * be full qualified, such as 'com.sun.star.io.XInputStream', or only
+ * consist of the interface name, such as 'XText'.
+ * @return True, if xTarget implements the interface named ifcType
+ * @see com.sun.star.uno.XInterface
+ */
+ public static boolean implementsInterface(
+ XInterface xTarget, String ifcName) {
+ Type[] types = getInterfaceTypes(xTarget);
+ if( null != types ) {
+ int nLen = types.length;
+ for( int i = 0; i < nLen ; i++ ) {
+ if(types[i].getTypeName().toLowerCase().endsWith(
+ ifcName.toLowerCase()))
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Prints information about an interface type.
+ *
+ * @param aType The type of the given interface.
+ * @see com.sun.star.uno.Type
+ */
+ public static void printInterfaceInfo(Type aType) {
+ try {
+ Class zClass = aType.getZClass();
+ Method[] methods = zClass.getDeclaredMethods();
+ for (int i=0; i<methods.length; i++) {
+ System.out.println("\t" + methods[i].getReturnType().getName()
+ + " " + methods[i].getName() + "()");
+ }
+ }
+ catch (Exception ex) {
+ System.out.println("Exception occured while printing InterfaceInfo");
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Prints a string array to standard out.
+ *
+ * @param entries : The array to be printed.
+ */
+ public static void printArray( String [] entries ) {
+ for ( int i=0; i< entries.length;i++ ) {
+ System.out.println(entries[i]);
+ }
+ }
+
+ /**
+ * Print all information about the property <code>name</code> from
+ * the property set <code>PS</code> to standard out.
+ * @param PS The property set which should contain a property called
+ * <code>name</code>.
+ * @param name The name of the property.
+ * @see com.sun.star.beans.XPropertySet
+ */
+ public static void printPropertyInfo(XPropertySet PS, String name) {
+ printPropertyInfo(PS, name, new PrintWriter(System.out)) ;
+ }
+
+ /**
+ * Print all information about the property <code>name</code> from
+ * the property set <code>PS</code> to a print writer.
+ * @param PS The property set which should contain a property called
+ * <code>name</code>.
+ * @param name The name of the property.
+ * @param out The print writer which is used as output.
+ * @see com.sun.star.beans.XPropertySet
+ */
+ public static void printPropertyInfo(XPropertySet PS, String name,
+ PrintWriter out) {
+ try {
+ XPropertySetInfo PSI = PS.getPropertySetInfo();
+ Property[] props = PSI.getProperties();
+ Property prop = PSI.getPropertyByName(name);
+ out.println("Property name is " + prop.Name);
+ out.println("Property handle is " + prop.Handle);
+ out.println("Property type is " + prop.Type.getTypeName());
+ out.println("Property current value is " +
+ PS.getPropertyValue(name));
+ out.println("Attributes :");
+ short attr = prop.Attributes;
+
+ if ((attr & PropertyAttribute.BOUND) != 0)
+ out.println("\t-BOUND");
+
+ if ((attr & PropertyAttribute.CONSTRAINED) != 0)
+ out.println("\t-CONSTRAINED");
+
+ if ((attr & PropertyAttribute.MAYBEAMBIGUOUS) != 0)
+ out.println("\t-MAYBEAMBIGUOUS");
+
+ if ((attr & PropertyAttribute.MAYBEDEFAULT) != 0)
+ out.println("\t-MAYBEDEFAULT");
+
+ if ((attr & PropertyAttribute.MAYBEVOID) != 0)
+ out.println("\t-MAYBEVOID");
+
+ if ((attr & PropertyAttribute.READONLY) != 0)
+ out.println("\t-READONLY");
+
+ if ((attr & PropertyAttribute.REMOVEABLE) != 0)
+ out.println("\t-REMOVEABLE");
+
+ if ((attr & PropertyAttribute.TRANSIENT) != 0)
+ out.println("\t-TRANSIENT");
+ } catch(com.sun.star.uno.Exception e) {
+ out.println("Exception!!!!");
+ e.printStackTrace(out);
+ }
+ }
+
+ /**
+ * Print the names and the values of a sequnze of <code>PropertyValue</code>
+ * to to standard out.
+ * @param ps The property which should displayed
+ * @see com.sun.star.beans.PropertyValue
+ */
+
+ public static void printProperyValueSequenzePairs(PropertyValue[] ps){
+ for( int i = 0; i < ps.length; i++){
+ printProperyValuePairs(ps[i], new PrintWriter(System.out));
+ }
+ }
+
+ /**
+ * Print the names and the values of a sequenze of <code>PropertyValue</code>
+ * to a print writer.
+ * @param ps The property which should displayed
+ * @param out The print writer which is used as output.
+ * @see com.sun.star.beans.PropertyValue
+ */
+ public static void printProperyValueSequenzePairs(PropertyValue[] ps, PrintWriter out){
+ for( int i = 0; i < ps.length; i++){
+ printProperyValuePairs(ps[i], out);
+ }
+ }
+
+ /**
+ * Print the name and the value of a <code>PropertyValue</code> to to standard out.
+ * @param ps The property which should displayed
+ * @see com.sun.star.beans.PropertyValue
+ */
+ public static void printProperyValuePairs(PropertyValue ps){
+ printProperyValuePairs(ps, new PrintWriter(System.out));
+ }
+
+ /**
+ * Print the name and the value of a <code>PropertyValue</code> to a print writer.
+ * @param ps The property which should displayed
+ * @param out The print writer which is used as output.
+ * @see com.sun.star.beans.PropertyValue
+ */
+ public static void printProperyValuePairs(PropertyValue ps, PrintWriter out){
+
+ if (ps.Value instanceof String[] ){
+ String[] values = (String[]) ps.Value;
+ String oneValue = "value is an empty String[]";
+ if (values.length > 0){
+ oneValue = "['";
+ for( int i=0; i < values.length; i++){
+ oneValue += values[i];
+ if (i+1 < values.length) oneValue += "';'";
+ }
+ oneValue += "']";
+ }
+ out.println("--------");
+ out.println(" Name: '" + ps.Name + "' contains String[]:");
+ out.println(oneValue);
+ out.println("--------");
+
+ } else if (ps.Value instanceof PropertyValue){
+ out.println("--------");
+ out.println(" Name: '" + ps.Name + "' contains PropertyValue:");
+ printProperyValuePairs((PropertyValue)ps.Value, out);
+ out.println("--------");
+
+ } else if (ps.Value instanceof PropertyValue[]){
+ out.println("--------");
+ out.println(" Name: '" + ps.Name + "' contains PropertyValue[]:");
+ printProperyValueSequenzePairs((PropertyValue[])ps.Value, out);
+ out.println("--------");
+
+ } else {
+ out.println("Name: '" + ps.Name + "' Value: '" + ps.Value.toString() + "'");
+ }
+ }
+
+ /**
+ * Print the names of all properties inside this property set
+ * @param ps The property set which is printed.
+ * @see com.sun.star.beans.XPropertySet
+ */
+ public static void printPropertiesNames(XPropertySet ps) {
+ XPropertySetInfo psi = ps.getPropertySetInfo();
+ Property[] props = psi.getProperties();
+ for (int i = 0; i < props.length; i++)
+ System.out.println(i + ". " + props[i].Name);
+ }
+
+ /**
+ * Print the supported services of a UNO object.
+ * @param aObject A UNO object.
+ */
+ public static void getSuppServices (Object aObject) {
+ XServiceInfo xSI = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class,aObject);
+ printArray(xSI.getSupportedServiceNames());
+ String str="Therein not Supported Service";
+ boolean notSupportedServices = false;
+ for (int i=0;i<xSI.getSupportedServiceNames().length;i++) {
+ if (! xSI.supportsService(xSI.getSupportedServiceNames()[i])) {
+ notSupportedServices = true;
+ str+="\n" + xSI.getSupportedServiceNames()[i];
+ }
+ }
+ if (notSupportedServices)
+ System.out.println(str);
+ }
+
+ /**
+ * Get the unique implementation id of a UNO object.
+ * @param xTarget An implementation of a UNO object.
+ * @return The implementation id.
+ */
+ public static String getImplID( XInterface xTarget ) {
+ String str = "";
+ XTypeProvider xTypeProvider = (XTypeProvider)
+ UnoRuntime.queryInterface( XTypeProvider.class, xTarget);
+ if( xTypeProvider != null ) {
+ byte[] id = xTypeProvider.getImplementationId();
+ str = "ImplementationID: ";
+ for (int i=0; i<id.length;i++) {
+ Byte b = new Byte(id[i]);
+ str += b.intValue();
+ }
+ } else {
+ str = "No Implementation ID available";
+ }
+ return str;
+ }
+
+
+}
diff --git a/qadevOOo/runner/util/makefile.mk b/qadevOOo/runner/util/makefile.mk
new file mode 100644
index 000000000000..7b4d72385e24
--- /dev/null
+++ b/qadevOOo/runner/util/makefile.mk
@@ -0,0 +1,87 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME = OOoRunner
+PACKAGE = util
+TARGET = runner_util
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+JARFILES = ridl.jar jurt.jar unoil.jar
+
+JAVAFILES = AccessibilityTools.java \
+ BasicMacroTools.java \
+ BookmarkDsc.java \
+ ControlDsc.java \
+ dbg.java \
+ DBTools.java \
+ DefaultDsc.java \
+ DesktopTools.java \
+ DrawTools.java \
+ DynamicClassLoader.java \
+ FootnoteDsc.java \
+ FormTools.java \
+ FrameDsc.java \
+ InstCreator.java \
+ InstDescr.java \
+ ParagraphDsc.java \
+ ReferenceMarkDsc.java \
+ RegistryTools.java \
+ ShapeDsc.java \
+ SOfficeFactory.java \
+ StyleFamilyDsc.java \
+ PropertyName.java \
+ SysUtils.java \
+ TableDsc.java \
+ TextSectionDsc.java \
+ XLayerImpl.java \
+ XLayerHandlerImpl.java \
+ XSchemaHandlerImpl.java \
+ UITools.java \
+ utils.java \
+ ValueChanger.java \
+ ValueComparer.java \
+ WaitUnreachable.java \
+ WriterTools.java \
+ XInstCreator.java \
+ XMLTools.java
+
+JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+
+# --- Targets ------------------------------------------------------
+
+
+.INCLUDE : target.mk
+
+TST:
+ @echo $(JAVACLASSFILES)
diff --git a/qadevOOo/runner/util/utils.java b/qadevOOo/runner/util/utils.java
new file mode 100644
index 000000000000..3f882f10fafb
--- /dev/null
+++ b/qadevOOo/runner/util/utils.java
@@ -0,0 +1,1020 @@
+/*************************************************************************
+ *
+ * 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 util;
+
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import java.lang.System;
+import java.util.StringTokenizer;
+import java.io.*;
+import java.util.ArrayList;
+import java.io.RandomAccessFile;
+import java.net.Socket;
+import java.net.ServerSocket;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.ucb.InteractiveAugmentedIOException;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.lang.XServiceInfo;
+
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.XMacroExpander;
+import java.text.DecimalFormat;
+import java.util.Calendar;
+
+import java.util.Collections;
+import java.util.GregorianCalendar;
+
+public class utils {
+
+ /**
+ *
+ * This method adds the DOCPTH to a given file
+ *
+ * @param sDocName the file which should be completed to the test doc path
+ * @return $TESTDOCPATH/sDocName
+ */
+ public static String getFullTestDocName(String sDocName) {
+ String docpth = System.getProperty("DOCPTH");
+ if (docpth.endsWith("\\") || docpth.endsWith("/")) {
+ docpth = docpth.substring(0, docpth.length() - 1);
+ }
+
+ System.out.println("docpth:" + docpth);
+
+ String pthSep = System.getProperty("file.separator");
+
+ if (docpth.equals("unknown")) {
+ System.out.println("try to get tDoc from $SRC_ROOT/qadevOOo");
+ String srcRoot = System.getProperty(PropertyName.SRC_ROOT);
+ if (srcRoot != null) {
+ File srcR = new File(srcRoot);
+ String[] list = srcR.list(new FilenameFilter() {
+
+ public boolean accept(File dir, String name) {
+ return name.startsWith("qadevOOo");
+ }
+ });
+
+ if (list[0] != null) {
+ String tDoc = srcRoot.concat(pthSep).concat(list[0]).concat(pthSep).concat("testdocs");
+
+ if (new File(tDoc).exists()) {
+ docpth = tDoc;
+ }
+ }
+ }
+ }
+
+ if (docpth.startsWith("http:")) {
+ return docpth + "/" + sDocName;
+ }
+ String testdocPth = "";
+
+ if (docpth.equals("unknown")) {
+ System.out.println("try to get tDoc from OBJDSCS");
+ String objdscPth = System.getProperty("OBJDSCS");
+ if (objdscPth != null) {
+ int i = objdscPth.indexOf("objdsc");
+ String arcPth = objdscPth.substring(0, i - 1);
+ testdocPth = arcPth + pthSep + "doc" + pthSep + "java" +
+ pthSep + "testdocs" + pthSep + sDocName;
+ }
+ } else {
+ testdocPth = docpth + pthSep + sDocName;
+ }
+ return testdocPth;
+ }
+
+ /**
+ *
+ * This method adds the DOCPTH to a given file
+ * and changes the format to an file URL
+ *
+ */
+ public static String getFullTestURL(String sDocName) {
+ String fullDocPath = getFullTestDocName(sDocName);
+ if (fullDocPath.startsWith("http:")) {
+ return fullDocPath;
+ }
+ if (fullDocPath.startsWith("file:")) {
+ return fullDocPath;
+ }
+ String prefix = null;
+
+ // Windows: \\\\margritte\\qaapi\\workspace\\qadev\\testdocs/emptyChart.sds
+ if (fullDocPath.startsWith("\\\\")) {
+ prefix = "file:";
+ }
+
+ fullDocPath = fullDocPath.replace('\\', '/');
+ if (prefix == null) {
+ if (fullDocPath.startsWith("//")) {
+ prefix = "file:/";
+ } else if (fullDocPath.startsWith("/")) {
+ prefix = "file://";
+ } else {
+ prefix = "file:///";
+ }
+ }
+ if (!fullDocPath.endsWith("/")) {
+ File aFile = new File(fullDocPath);
+ if (aFile.isDirectory()) {
+ fullDocPath += "/";
+ }
+ }
+ String fulldocURL = prefix + fullDocPath;
+ return fulldocURL;
+ }
+
+ /**
+ *
+ * This method changes a given URL to a valid file URL
+ *
+ */
+ public static String getFullURL(String sDocName) {
+ String fullDocPath = sDocName;
+ fullDocPath = fullDocPath.replace('\\', '/');
+
+ if (fullDocPath.startsWith("http:")) {
+ return fullDocPath;
+ }
+ if (fullDocPath.startsWith("ftp:")) {
+ return fullDocPath;
+ }
+ String prefix = "";
+ if (!fullDocPath.startsWith("file:///")) {
+ if (fullDocPath.startsWith("//")) {
+ prefix = "file:";
+ } else {
+ if (fullDocPath.startsWith("/")) {
+ prefix = "file://";
+// if (helper.OSHelper.isLinuxIntel())
+// {
+// prefix = "file:/";
+// }
+ }
+ else
+ {
+ prefix = "file:///";
+ }
+ }
+ }
+ if (!fullDocPath.endsWith("/")) {
+ File aFile = new File(fullDocPath);
+ if (aFile.isDirectory()) {
+ fullDocPath += "/";
+ }
+ }
+ String fulldocURL = prefix + fullDocPath;
+
+ return fulldocURL;
+ }
+
+ /**
+ *
+ * This method creates folders needed
+ *
+ */
+ public static void make_Directories(String first, String path) {
+ String already_done = null;
+ String fs = System.getProperty("file.separator");
+ StringTokenizer path_tokenizer = new StringTokenizer(path, fs, false);
+ already_done = first;
+ while (path_tokenizer.hasMoreTokens()) {
+ String part = path_tokenizer.nextToken();
+ File new_dir = new File(already_done + File.separatorChar + part);
+ already_done = new_dir.toString();
+ //create the directory
+ new_dir.mkdirs();
+ }
+ return;
+ }
+
+ /**
+ *
+ * This method get the version for a given TestBase/platform combination
+ *
+ */
+ public static String getVersion(String aFile, String aPlatform, String aTestbase) {
+ if ((aFile == null) || (aPlatform == null) || (aTestbase == null)) {
+ return "/";
+ }
+
+ File the_file = new File(aFile);
+ try {
+ RandomAccessFile raf = new RandomAccessFile(the_file, "r");
+ String res = "";
+ while (!res.equals("[" + aTestbase.toUpperCase() + "]")) {
+ res = raf.readLine();
+ }
+ res = "=/";
+ while ((!res.startsWith(aPlatform)) || (res.startsWith("["))) {
+ res = raf.readLine();
+ }
+ raf.close();
+ if (res.startsWith("[")) {
+ res = "/";
+ }
+ return res.substring(res.indexOf("=") + 1);
+
+ } catch (Exception e) {
+ System.out.println("Couldn't find version");
+ return "/";
+ }
+ }
+
+ /**
+ *
+ * This method get's the user dir of the connected office
+ *
+ */
+ public static String getOfficeUserPath(XMultiServiceFactory msf) {
+ String userPath = null;
+
+ // get a folder wich is located in the user dir
+ try {
+ userPath = (String) getOfficeSettingsValue(msf, "UserConfig");
+ } catch (Exception e) {
+ System.out.println("Couldn't get Office User Path");
+ e.printStackTrace();
+ }
+
+ // strip the returned folder to the user dir
+ if (userPath.charAt(userPath.length() - 1) == '/') {
+ userPath = userPath.substring(0, userPath.length() - 1);
+ }
+ int index = userPath.lastIndexOf('/');
+ if (index != -1) {
+ userPath = userPath.substring(0, index);
+ }
+
+ return userPath;
+ }
+
+ /**
+ * In the office there are some sttetings available. This function
+ * returns the value of the given setting name. For Example the setting name "Temp"
+ * "Temp" returns the temp folder of the office instance.
+ * @param msf a XMultiServiceFactory
+ * @param setting the name of the setting the value should be returned.
+ * For example "Temp" reutrns the temp folder of the current office instance.
+ * @see com.sun.star.util.PathSettings
+ * @return the value as String
+ */
+ public static String getOfficeSettingsValue(XMultiServiceFactory msf, String setting) {
+
+ String settingPath = null;
+ try {
+ Object settings = msf.createInstance("com.sun.star.comp.framework.PathSettings");
+ XPropertySet pthSettings = null;
+ try {
+ pthSettings = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class), settings);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ System.out.println("### couldn't get Office Settings");
+ }
+ settingPath = (String) pthSettings.getPropertyValue(setting);
+
+ } catch (Exception e) {
+ System.out.println("Couldn't get stting value for " + setting);
+ e.printStackTrace();
+ }
+ return settingPath;
+ }
+
+ public static void setOfficeSettingsValue(XMultiServiceFactory msf, String setting, String value) {
+
+ String settingPath = null;
+ try {
+ Object settings = msf.createInstance("com.sun.star.comp.framework.PathSettings");
+ XPropertySet pthSettings = null;
+ try {
+ pthSettings = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class), settings);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ System.out.println("### couldn't get Office Settings");
+ }
+ pthSettings.setPropertyValue(setting, value);
+
+ } catch (Exception e) {
+ System.out.println("Couldn't set '" + setting + "' to value '" + value + "'");
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * This method returns the temp dicrectory of the user.
+ * Since Java 1.4 it is not possible to read environment variables. To workaround
+ * this, the Java parameter -D could be used.
+ */
+ public static String getUsersTempDir() {
+ String tempDir = System.getProperty("my.temp");
+ if (tempDir == null) {
+ tempDir = System.getProperty("my.tmp");
+ if (tempDir == null) {
+ tempDir = System.getProperty("java.io.tmpdir");
+ }
+ }
+ // remove ending file separator
+ if (tempDir.endsWith(System.getProperty("file.separator"))) {
+ tempDir = tempDir.substring(0, tempDir.length() - 1);
+ }
+
+ return tempDir;
+ }
+
+ /**
+ *
+ * This method get's the temp dir of the connected office
+ *
+ */
+ public static String getOfficeTemp(XMultiServiceFactory msf) {
+ String url = getOfficeUserPath(msf) + "/test-temp/";
+ try {
+ new File(new URI(url)).mkdir();
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ return url;
+ }
+
+ /**
+ * Gets StarOffice temp directory without 'file:///' prefix.
+ * For example is usefull for Registry URL specifying.
+ * @msf Office factory for accessing its settings.
+ * @return SOffice temporary directory in form for example
+ * 'd:/Office60/user/temp/'.
+ */
+ public static String getOfficeTempDir(XMultiServiceFactory msf) {
+
+ String dir = getOfficeTemp(msf);
+
+ int idx = dir.indexOf("file:///");
+
+ if (idx < 0) {
+ return dir;
+ }
+
+ dir = dir.substring("file:///".length());
+
+ idx = dir.indexOf(":");
+
+ // is the last character a '/' or a '\'?
+ boolean lastCharSet = dir.endsWith("/") || dir.endsWith("\\");
+
+ if (idx < 0) { // linux or solaris
+ dir = "/" + dir;
+ dir += lastCharSet ? "" : "/";
+ } else { // windows
+ dir += lastCharSet ? "" : "\\";
+ }
+
+ return dir;
+ }
+
+ /**
+ * Gets StarOffice temp directory without 'file:///' prefix.
+ * and System dependend file separator
+ */
+ public static String getOfficeTempDirSys(XMultiServiceFactory msf) {
+
+ String dir = getOfficeTemp(msf);
+ String sysDir = "";
+
+ int idx = dir.indexOf("file://");
+
+ // remove leading 'file://'
+ if (idx < 0) {
+ sysDir = dir;
+ } else {
+ sysDir = dir.substring("file://".length());
+ }
+
+ // append '/' if not there (e.g. linux)
+ if (sysDir.charAt(sysDir.length() - 1) != '/') {
+ sysDir += "/";
+ }
+
+ // remove leading '/' and replace others with '\' on windows machines
+ if (sysDir.indexOf(":") != -1) {
+ sysDir = sysDir.substring(1);
+ sysDir = sysDir.replace('/', '\\');
+ }
+ return sysDir;
+ }
+
+ /**
+ * converts a fileURL to a system URL
+ * @param a file URL
+ * @return a system URL
+ */
+ public static String getSystemURL(String fileURL) {
+ String sysDir = "";
+
+ int idx = fileURL.indexOf("file://");
+
+ // remove leading 'file://'
+ if (idx < 0) {
+ sysDir = fileURL;
+ } else {
+ sysDir = fileURL.substring("file://".length());
+ }
+
+ // remove leading '/' and replace others with '\' on windows machines
+ if (sysDir.indexOf(":") != -1) {
+ sysDir = sysDir.substring(1);
+ sysDir = sysDir.replace('/', '\\');
+ }
+ return sysDir;
+ }
+
+ /**
+ * This method check via Office the existance of the given file URL
+ * @param msf the multiservice factory
+ * @param fileURL the file which existance should be checked
+ * @return true if the file exists, else false
+ */
+ public static boolean fileExists(XMultiServiceFactory msf, String fileURL) {
+ boolean exists = false;
+ try {
+
+ Object fileacc = msf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess simpleAccess = (XSimpleFileAccess) UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ if (simpleAccess.exists(fileURL)) {
+ exists = true;
+ }
+
+ } catch (Exception e) {
+ System.out.println("Couldn't access file '" + fileURL + "'");
+ e.printStackTrace();
+ exists = false;
+ }
+ return exists;
+ }
+
+ /**
+ * This method deletes via office the given file URL. It checks the existance
+ * of <CODE>fileURL</CODE>. If exists it will be deletet.
+ * @param msf the multiservice factory
+ * @param fileURL the file to delete
+ * @return true if the file could be deletet or the file does not exist
+ */
+ public static boolean deleteFile(XMultiServiceFactory xMsf, String fileURL) {
+ boolean delete = true;
+ try {
+
+ Object fileacc = xMsf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess simpleAccess = (XSimpleFileAccess) UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ if (simpleAccess.exists(fileURL)) {
+ simpleAccess.kill(fileURL);
+ }
+
+ } catch (Exception e) {
+ System.out.println("Couldn't delete file '" + fileURL + "'");
+ e.printStackTrace();
+ delete = false;
+ }
+ return delete;
+ }
+
+ /**
+ * This method copies via office a given file to a new one
+ * @param msf the multi service factory
+ * @param oldF the source file
+ * @param newF the destination file
+ * @return true at success
+ */
+ public static boolean copyFile(XMultiServiceFactory xMsf, String source, String destinaion) {
+ boolean res = false;
+ try {
+ Object fileacc = xMsf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess simpleAccess = (XSimpleFileAccess) UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ if (!simpleAccess.exists(destinaion)) {
+ simpleAccess.copy(source, destinaion);
+ }
+
+ res = true;
+ } catch (Exception e) {
+ System.out.println("Couldn't copy file '" + source + "' -> '" + destinaion + "'");
+ e.printStackTrace();
+ res = false;
+ }
+ return res;
+ }
+
+ private static void overwriteFile_impl(
+ XMultiServiceFactory xMsf, String oldF, String newF)
+ throws InteractiveAugmentedIOException
+ {
+ try {
+ Object fileacc = xMsf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+
+ XSimpleFileAccess simpleAccess = (XSimpleFileAccess) UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ if (simpleAccess.exists(newF)) {
+ simpleAccess.kill(newF);
+ }
+ simpleAccess.copy(oldF, newF);
+ } catch (InteractiveAugmentedIOException e) {
+ throw e;
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("Couldn't copy " + oldF + " to " + newF + ":");
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Copies file to a new location using OpenOffice.org features. If the target
+ * file already exists, the file is deleted.
+ *
+ * @returns <code>true</code> if the file was successfully copied,
+ * <code>false</code> if some errors occured (e.g. file is locked, used
+ * by another process).
+ */
+ public static boolean tryOverwriteFile(
+ XMultiServiceFactory xMsf, String oldF, String newF)
+ {
+ try {
+ overwriteFile_impl(xMsf, oldF, newF);
+ } catch (InteractiveAugmentedIOException e) {
+ return false;
+ }
+ return true;
+ }
+
+ public static void doOverwriteFile(
+ XMultiServiceFactory xMsf, String oldF, String newF)
+ {
+ try {
+ overwriteFile_impl(xMsf, oldF, newF);
+ } catch (InteractiveAugmentedIOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static boolean hasPropertyByName(XPropertySet props, String aName) {
+ Property[] list = props.getPropertySetInfo().getProperties();
+ boolean res = false;
+ for (int i = 0; i < list.length; i++) {
+ String the_name = list[i].Name;
+ if (aName.equals(the_name)) {
+ res = true;
+ }
+ }
+ return res;
+ }
+
+ /**
+ *
+ * This method returns the implementation name of a given object
+ *
+ */
+ public static String getImplName(Object aObject) {
+ String res = "Error getting Implementation name";
+ try {
+ XServiceInfo xSI = (XServiceInfo) UnoRuntime.queryInterface(XServiceInfo.class, aObject);
+ res = xSI.getImplementationName();
+ } catch (Exception e) {
+ res = "Error getting Implementation name ( " + e + " )";
+ }
+
+ return res;
+ }
+
+ /**
+ *
+ * This method checks if an Object is void
+ *
+ */
+ public static boolean isVoid(Object aObject) {
+ if (aObject instanceof com.sun.star.uno.Any) {
+ com.sun.star.uno.Any oAny = (com.sun.star.uno.Any) aObject;
+ return (oAny.getType().getTypeName().equals("void"));
+ } else {
+ return false;
+ }
+
+ }
+
+ /**
+ *
+ * This method replaces a substring with another
+ *
+ */
+ public static String replacePart(String all, String toReplace, String replacement) {
+ return replaceAll13(all, toReplace, replacement);
+ }
+
+ /**
+ * Scan localhost for the next free port-number from a starting port
+ * on. If the starting port is smaller than 1024, port number starts with
+ * 10000 as default, because numbers < 1024 are never free on unix machines.
+ * @param startPort The port where scanning starts.
+ * @return The next free port.
+ */
+ public static int getNextFreePort(int startPort) {
+ if (startPort < 1024) {
+ startPort = 10000;
+ }
+ for (int port = startPort; port < 65536; port++) {
+ System.out.println("Scan port " + port);
+ try {
+ // first trying to establish a server-socket on localhost
+ // fails if there is already a server running
+ ServerSocket sSock = new ServerSocket(port);
+ sSock.close();
+ } catch (IOException e) {
+ System.out.println(" -> server: occupied port " + port);
+ continue;
+ }
+ try {
+ // now trying to establish a client-socket
+ // fails if there is no server on any connectable machine
+ Socket sock = new Socket("localhost", port);
+ System.out.println(" -> socket: occupied port: " + port);
+ } catch (IOException e) {
+ System.out.println(" -> free port");
+ return port;
+ }
+ }
+ return 65535;
+ }
+
+ public static URL parseURL(XMultiServiceFactory xMSF, String url) {
+ URL[] rUrl = new URL[1];
+ rUrl[0] = new URL();
+ rUrl[0].Complete = url;
+
+ XURLTransformer xTrans = null;
+ try {
+ Object inst = xMSF.createInstance("com.sun.star.util.URLTransformer");
+ xTrans = (XURLTransformer) UnoRuntime.queryInterface(XURLTransformer.class, inst);
+ } catch (com.sun.star.uno.Exception e) {
+ }
+
+ xTrans.parseStrict(rUrl);
+
+ return rUrl[0];
+ }
+
+ public static String getOfficeURL(XMultiServiceFactory msf) {
+ try {
+ Object settings = msf.createInstance("com.sun.star.util.PathSettings");
+ XPropertySet settingProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, settings);
+ String path = (String) settingProps.getPropertyValue("Module");
+ return path;
+ } catch (Exception e) {
+ System.out.println("Couldn't get Office Settings ");
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /** returns the path to the office binary folder
+ *
+ * @param msf The XMultiSeriveFactory
+ * @return the path to the office binrary or an empty string on any error
+ */
+ public static String getOfficeBinPath(XMultiServiceFactory msf) {
+ String sysBinDir = "";
+ try {
+ sysBinDir = utils.getSystemURL(utils.expandMacro(msf, "$SYSBINDIR"));
+ } catch (java.lang.Exception e) {
+ }
+
+ return sysBinDir;
+ }
+
+ /**
+ * Get an array of all property names from the property set. With the include
+ * and exclude parameters the properties can be filtered. <br>
+ * Set excludePropertyAttribute = 0 and includePropertyAttribute = 0
+ * to include all and exclude none.
+ * @param props The instance of XPropertySet
+ * @param includePropertyAttribute Properties without these attributes are filtered and will not be returned.
+ * @param excludePropertyAttribute Properties with these attributes are filtered and will not be returned.
+ * @return A String array with all property names.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.Property
+ * @see com.sun.star.beans.PropertyAttribute
+ */
+ public static String[] getFilteredPropertyNames(XPropertySet props, short includePropertyAttribute,
+ short excludePropertyAttribute) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ ArrayList l = new ArrayList();
+ for (int i = 0; i < the_props.length; i++) {
+ boolean exclude = ((the_props[i].Attributes & excludePropertyAttribute) != 0);
+ boolean include = (includePropertyAttribute == 0) ||
+ ((the_props[i].Attributes & includePropertyAttribute) != 0);
+ if (include && !exclude) {
+ l.add(the_props[i].Name);
+ }
+ }
+ Collections.sort(l);
+ String[] names = new String[l.size()];
+ names = (String[]) l.toArray(names);
+ return names;
+ }
+
+ /** Causes the thread to sleep some time.
+ * It can be used f.e. like:
+ * util.utils.shortWait(tParam.getInt("ShortWait"));
+ */
+ public static void shortWait(int milliseconds) {
+ try {
+ Thread.currentThread().sleep(milliseconds);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ /**
+ * Validate the AppExecutionCommand. Returned is an error message, starting
+ * with "Error:", or a warning, if the command might work.
+ * @param appExecCommand The application execution command that is checked.
+ * @param os The operating system where the check runs.
+ * @return The error message, or OK, if no error was detected.
+ */
+ public static String validateAppExecutionCommand(String appExecCommand, String os) {
+ String errorMessage = "OK";
+ appExecCommand = replaceAll13(appExecCommand, "\"", "");
+ appExecCommand = replaceAll13(appExecCommand, "'", "");
+ StringTokenizer commandTokens = new StringTokenizer(appExecCommand, " \t");
+ String officeExecutable = "";
+ String officeExecCommand = "soffice";
+ // is there a 'soffice' in the command? 2do: eliminate case sensitivity on windows
+ int index = -1;
+ while (commandTokens.hasMoreTokens() && index == -1) {
+ officeExecutable += commandTokens.nextToken() + " ";
+ index = officeExecutable.indexOf(officeExecCommand);
+ }
+ if (index == -1) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "contain '" + officeExecCommand + "'.";
+ } else {
+ // does the directory exist?
+ officeExecutable = officeExecutable.trim();
+ String officePath = officeExecutable.substring(0, index);
+ File f = new File(officePath);
+ if (!f.exists() || !f.isDirectory()) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "point to a valid system directory: " + officePath;
+ } else {
+ // is it an office installation?
+ f = new File(officeExecutable);
+ // one try for windows platform can't be wrong...
+ if (!f.exists() || !f.isFile()) {
+ f = new File(officeExecutable + ".exe");
+ }
+ if (!f.exists() || !f.isFile()) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "point to a valid office installation.";
+ } else {
+ // do we have the accept parameter?
+ boolean gotNoAccept = true;
+ while (commandTokens.hasMoreElements()) {
+ String officeParam = commandTokens.nextToken();
+ if (officeParam.indexOf("-accept=") != -1) {
+ gotNoAccept = false;
+ errorMessage = validateConnectString(officeParam, true);
+ }
+ }
+ if (gotNoAccept) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "contain a '-accept' parameter for connecting the office.";
+ }
+ }
+ }
+ }
+ return errorMessage;
+ }
+
+ /**
+ * Validate the connection string. Returned is an error message, starting
+ * with "Error:", or a warning, if the command might work.
+ * @param connectString The connection string that is checked.
+ * @param checkAppExecutionCommand If the AppExecutionCommand is checked, the error messages willbe different.
+ * @return The error message, or OK, if no error was detected.
+ */
+ public static String validateConnectString(String connectString, boolean checkAppExecutionCommand) {
+ String acceptPrefix = "";
+ if (checkAppExecutionCommand) {
+ acceptPrefix = "-accept=";
+ }
+
+ String errorMessage = "OK";
+ // a warning, if an unknown connection method is used
+ if (connectString.indexOf("socket") != -1) {
+ if (connectString.indexOf(acceptPrefix + "socket,host=") == -1 ||
+ connectString.indexOf("port=") == -1) {
+ if (checkAppExecutionCommand) {
+ errorMessage = "Error: The '-accept' parameter contains a syntax error: It should be like: '-accept=socket,host=localhost,port=8100;urp;";
+ } else {
+ errorMessage = "Error: The 'ConnectionString' parameter contains a syntax error: It should be like: 'socket,host=localhost,port=8100'";
+ }
+ }
+ } else if (connectString.indexOf("pipe") != -1) {
+ if (connectString.indexOf(acceptPrefix + "pipe,name=") == -1) {
+ if (checkAppExecutionCommand) {
+ errorMessage = "Error: The '-accept' parameter contains a syntax error: It should be like: '-accept=pipe,name=myuniquename;urp;'";
+ } else {
+ errorMessage = "Error: The 'ConnectionString' parameter contains a syntax error: It should be like: 'pipe,name=myuniquename'";
+ }
+ }
+ } else {
+ if (checkAppExecutionCommand) {
+ errorMessage = "Warning: The '-accept' parameter contains an unknown connection method.";
+ } else {
+ errorMessage = "Warning: The 'ConnectionString' parameter contains an unknown connection method.";
+ }
+ }
+ return errorMessage;
+ }
+
+ /**
+ * String.replaceAll() ist available since Java 1.4 but the runner must be buldabale with Java 1.3
+ * @param originalString
+ * @param searchString
+ * @param replaceString
+ * @return modified string
+ */
+ public static String replaceAll13(String originalString, String searchString, String replaceString) {
+
+ StringBuffer changeStringBuffer = new StringBuffer(originalString);
+ int searchLength = searchString.length();
+ int replaceLength = replaceString.length();
+ int index = originalString.indexOf(searchString);
+ while (index != -1) {
+ changeStringBuffer = changeStringBuffer.replace(index, index + searchLength, replaceString);
+ originalString = changeStringBuffer.toString();
+ index = originalString.indexOf(searchString, index + replaceLength);
+ }
+ return originalString;
+ }
+
+ /**
+ * expand macrofied strings like <CODE>${$ORIGIN/bootstrap.ini:UserInstallation}</CODE> or
+ * <CODE>$_OS</CODE>
+ * @param xMSF the MultiServiceFactory
+ * @param expand the string to expand
+ * @throws java.lang.Exception was thrown on any exception
+ * @return return the expanded string
+ * @see com.sun.star.util.theMacroExpander
+ */
+ public static String expandMacro(XMultiServiceFactory xMSF, String expand) throws java.lang.Exception {
+ try {
+ XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ XComponentContext xContext = (XComponentContext) UnoRuntime.queryInterface(XComponentContext.class,
+ xPS.getPropertyValue("DefaultContext"));
+ XMacroExpander xME = (XMacroExpander) UnoRuntime.queryInterface(XMacroExpander.class,
+ xContext.getValueByName("/singletons/com.sun.star.util.theMacroExpander"));
+ return xME.expandMacros(expand);
+ } catch (Exception e) {
+ throw new Exception("could not expand macro: " + e.toString(), e);
+ }
+
+ }
+
+ /**
+ * returns the platform of the office.<br>
+ * Since the runner and the office could run on different platform this function delivers the
+ * platform the office is running.
+ * @param xMSF the XMultiServiceFactory
+ * @return unxsols, unxsoli, unxlngi, wntmsci
+ */
+ public static String getOfficeOS(XMultiServiceFactory xMSF) {
+ String platform = "unknown";
+
+ try {
+ String theOS = expandMacro(xMSF, "$_OS");
+
+ if (theOS.equals("Windows")) {
+ platform = "wntmsci";
+ } else if (theOS.equals("Linux")) {
+ platform = "unxlngi";
+ } else {
+ if (theOS.equals("Solaris")) {
+ String theArch = expandMacro(xMSF, "$_ARCH");
+ if (theArch.equals("SPARC")) {
+ platform = "unxsols";
+ } else if (theArch.equals("x86")) {
+ platform = "unxsoli";
+ }
+ }
+ }
+ } catch (Exception ex) {
+ }
+ return platform;
+ }
+
+ /**
+ * dispatches given <CODE>URL</CODE> to the document <CODE>XComponent</CODE>
+ * @param xMSF the <CODE>XMultiServiceFactory</CODE>
+ * @param xDoc the document where to dispatch
+ * @param URL the <CODE>URL</CODE> to dispatch
+ * @throws java.lang.Exception throws <CODE>java.lang.Exception</CODE> on any error
+ */
+ public static void dispatchURL(XMultiServiceFactory xMSF, XComponent xDoc, String URL) throws java.lang.Exception {
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class, xDoc);
+
+ XController xCont = aModel.getCurrentController();
+
+ dispatchURL(xMSF, xCont, URL);
+
+ }
+
+ /**
+ * dispatches given <CODE>URL</CODE> to the <CODE>XController</CODE>
+ * @param xMSF the <CODE>XMultiServiceFactory</CODE>
+ * @param xComp the <CODE>XController</CODE> to query for a XDispatchProvider
+ * @param URL the <CODE>URL</CODE> to dispatch
+ * @throws java.lang.Exception throws <CODE>java.lang.Exception</CODE> on any error
+ */
+ public static void dispatchURL(XMultiServiceFactory xMSF, XController xCont, String URL) throws java.lang.Exception {
+ try {
+
+ XDispatchProvider xDispProv = (XDispatchProvider) UnoRuntime.queryInterface(XDispatchProvider.class, xCont);
+
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ xMSF.createInstance("com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = URL;
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ xDispatcher.dispatch(aURL, null);
+
+ utils.shortWait(3000);
+
+ } catch (Exception e) {
+ throw new Exception("ERROR: could not dispatch URL '" + URL + "': " + e.toString());
+ }
+ }
+
+ /** returns a String which contains the current date and time<br>
+ * format: [DD.MM.YYYY - HH:MM:SS::mm]
+ *
+ ** @return a String which contains the current date and time
+ */
+ public static String getDateTime() {
+
+ Calendar cal = new GregorianCalendar();
+ DecimalFormat dfmt = new DecimalFormat("00");
+ String dateTime = dfmt.format(cal.get(Calendar.DAY_OF_MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.MONTH) + 1) + "." +
+ dfmt.format(cal.get(Calendar.YEAR)) + " - " +
+ dfmt.format(cal.get(Calendar.HOUR_OF_DAY)) + ":" +
+ dfmt.format(cal.get(Calendar.MINUTE)) + ":" +
+ dfmt.format(cal.get(Calendar.SECOND)) + "," +
+ dfmt.format(cal.get(Calendar.MILLISECOND));
+ return "[" + dateTime + "]";
+ }
+}
diff --git a/qadevOOo/testdocs/10test.csv b/qadevOOo/testdocs/10test.csv
new file mode 100644
index 000000000000..dce6f084824b
--- /dev/null
+++ b/qadevOOo/testdocs/10test.csv
@@ -0,0 +1,19 @@
+"SwXBodyText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getText()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getString()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"setString()"
+"SwXBodyText";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SwXBodyText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXBodyText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/testdocs/BasicBridge.sxw b/qadevOOo/testdocs/BasicBridge.sxw
new file mode 100644
index 000000000000..c28727c391e1
--- /dev/null
+++ b/qadevOOo/testdocs/BasicBridge.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/BasicDB/DBTest.dbf b/qadevOOo/testdocs/BasicDB/DBTest.dbf
new file mode 100644
index 000000000000..03d737b28157
--- /dev/null
+++ b/qadevOOo/testdocs/BasicDB/DBTest.dbf
Binary files differ
diff --git a/qadevOOo/testdocs/Calc_Link.sxc b/qadevOOo/testdocs/Calc_Link.sxc
new file mode 100644
index 000000000000..086c04fe0480
--- /dev/null
+++ b/qadevOOo/testdocs/Calc_Link.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/ChXChartObject.sds b/qadevOOo/testdocs/ChXChartObject.sds
new file mode 100644
index 000000000000..9804e2eaf571
--- /dev/null
+++ b/qadevOOo/testdocs/ChXChartObject.sds
Binary files differ
diff --git a/qadevOOo/testdocs/FiexdTextDialog.sxw b/qadevOOo/testdocs/FiexdTextDialog.sxw
new file mode 100644
index 000000000000..b514d8363681
--- /dev/null
+++ b/qadevOOo/testdocs/FiexdTextDialog.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/FixedTextDialog.sxw b/qadevOOo/testdocs/FixedTextDialog.sxw
new file mode 100644
index 000000000000..b514d8363681
--- /dev/null
+++ b/qadevOOo/testdocs/FixedTextDialog.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/Iterator.sxw b/qadevOOo/testdocs/Iterator.sxw
new file mode 100644
index 000000000000..9a7f8961bb47
--- /dev/null
+++ b/qadevOOo/testdocs/Iterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/JAJPIterator.sxw b/qadevOOo/testdocs/JAJPIterator.sxw
new file mode 100644
index 000000000000..4effc0ed9b78
--- /dev/null
+++ b/qadevOOo/testdocs/JAJPIterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/MailMerge.sxw b/qadevOOo/testdocs/MailMerge.sxw
new file mode 100644
index 000000000000..108840535093
--- /dev/null
+++ b/qadevOOo/testdocs/MailMerge.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ORowSet.dbf b/qadevOOo/testdocs/ORowSet.dbf
new file mode 100644
index 000000000000..dd4e85951837
--- /dev/null
+++ b/qadevOOo/testdocs/ORowSet.dbf
Binary files differ
diff --git a/qadevOOo/testdocs/RunnerStart.sxw b/qadevOOo/testdocs/RunnerStart.sxw
new file mode 100644
index 000000000000..91831087f3c4
--- /dev/null
+++ b/qadevOOo/testdocs/RunnerStart.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ScAnnotationShapeObj.sxc b/qadevOOo/testdocs/ScAnnotationShapeObj.sxc
new file mode 100644
index 000000000000..20d130da0445
--- /dev/null
+++ b/qadevOOo/testdocs/ScAnnotationShapeObj.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/ScDDELinksObj.sdc b/qadevOOo/testdocs/ScDDELinksObj.sdc
new file mode 100644
index 000000000000..1abdbf4609e1
--- /dev/null
+++ b/qadevOOo/testdocs/ScDDELinksObj.sdc
Binary files differ
diff --git a/qadevOOo/testdocs/ScSheetLinksObj.sdc b/qadevOOo/testdocs/ScSheetLinksObj.sdc
new file mode 100644
index 000000000000..a7f43fe87f75
--- /dev/null
+++ b/qadevOOo/testdocs/ScSheetLinksObj.sdc
Binary files differ
diff --git a/qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdw b/qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdw
new file mode 100644
index 000000000000..c4b5672f9624
--- /dev/null
+++ b/qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/SvxShape.sda b/qadevOOo/testdocs/SvxShape.sda
new file mode 100644
index 000000000000..882480804b81
--- /dev/null
+++ b/qadevOOo/testdocs/SvxShape.sda
Binary files differ
diff --git a/qadevOOo/testdocs/SvxShape.sxd b/qadevOOo/testdocs/SvxShape.sxd
new file mode 100644
index 000000000000..27f06d54166d
--- /dev/null
+++ b/qadevOOo/testdocs/SvxShape.sxd
Binary files differ
diff --git a/qadevOOo/testdocs/SwOLE.sxw b/qadevOOo/testdocs/SwOLE.sxw
new file mode 100644
index 000000000000..9b9e6ff8ead5
--- /dev/null
+++ b/qadevOOo/testdocs/SwOLE.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/SwXTextEmbeddedObject.sdw b/qadevOOo/testdocs/SwXTextEmbeddedObject.sdw
new file mode 100644
index 000000000000..4f5c2e39c030
--- /dev/null
+++ b/qadevOOo/testdocs/SwXTextEmbeddedObject.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/SwXTextEmbeddedObject.sxw b/qadevOOo/testdocs/SwXTextEmbeddedObject.sxw
new file mode 100644
index 000000000000..75c6242f5070
--- /dev/null
+++ b/qadevOOo/testdocs/SwXTextEmbeddedObject.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/SwXTextSection.sdw b/qadevOOo/testdocs/SwXTextSection.sdw
new file mode 100644
index 000000000000..2d33e7aabc3f
--- /dev/null
+++ b/qadevOOo/testdocs/SwXTextSection.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/TestDB/testDB.dbf b/qadevOOo/testdocs/TestDB/testDB.dbf
new file mode 100644
index 000000000000..c3af1e143938
--- /dev/null
+++ b/qadevOOo/testdocs/TestDB/testDB.dbf
Binary files differ
diff --git a/qadevOOo/testdocs/TestDB/testDB.dbt b/qadevOOo/testdocs/TestDB/testDB.dbt
new file mode 100644
index 000000000000..41cb9d24cdc4
--- /dev/null
+++ b/qadevOOo/testdocs/TestDB/testDB.dbt
Binary files differ
diff --git a/qadevOOo/testdocs/TransparencyCalcChart.sxc b/qadevOOo/testdocs/TransparencyCalcChart.sxc
new file mode 100644
index 000000000000..8f694027e55d
--- /dev/null
+++ b/qadevOOo/testdocs/TransparencyCalcChart.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/TransparencyChart.sxs b/qadevOOo/testdocs/TransparencyChart.sxs
new file mode 100644
index 000000000000..95d6d22451c2
--- /dev/null
+++ b/qadevOOo/testdocs/TransparencyChart.sxs
Binary files differ
diff --git a/qadevOOo/testdocs/TwoShapes.sxi b/qadevOOo/testdocs/TwoShapes.sxi
new file mode 100644
index 000000000000..f3dc90f63d54
--- /dev/null
+++ b/qadevOOo/testdocs/TwoShapes.sxi
Binary files differ
diff --git a/qadevOOo/testdocs/Writer_link.sxw b/qadevOOo/testdocs/Writer_link.sxw
new file mode 100644
index 000000000000..5e5c8bdcb829
--- /dev/null
+++ b/qadevOOo/testdocs/Writer_link.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/XDocumentInsertable.sxw b/qadevOOo/testdocs/XDocumentInsertable.sxw
new file mode 100644
index 000000000000..b1398769d7ac
--- /dev/null
+++ b/qadevOOo/testdocs/XDocumentInsertable.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/XPageCursor.sdw b/qadevOOo/testdocs/XPageCursor.sdw
new file mode 100644
index 000000000000..464dc439cb8a
--- /dev/null
+++ b/qadevOOo/testdocs/XPageCursor.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt
new file mode 100644
index 000000000000..bffa6c96b49b
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt
@@ -0,0 +1 @@
+XSimpleFileAccess \ No newline at end of file
diff --git a/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt
new file mode 100644
index 000000000000..bffa6c96b49b
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt
@@ -0,0 +1 @@
+XSimpleFileAccess \ No newline at end of file
diff --git a/qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt
new file mode 100644
index 000000000000..03f128cf48cb
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt
@@ -0,0 +1 @@
+File1
diff --git a/qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt
new file mode 100644
index 000000000000..b973e639605e
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt
@@ -0,0 +1 @@
+File2
diff --git a/qadevOOo/testdocs/XSimpleRegistry.rdb b/qadevOOo/testdocs/XSimpleRegistry.rdb
new file mode 100644
index 000000000000..a09a266b75ef
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleRegistry.rdb
Binary files differ
diff --git a/qadevOOo/testdocs/XTypeDetection.sxw b/qadevOOo/testdocs/XTypeDetection.sxw
new file mode 100644
index 000000000000..b241f4ed87b6
--- /dev/null
+++ b/qadevOOo/testdocs/XTypeDetection.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ZHCNIterator.sxw b/qadevOOo/testdocs/ZHCNIterator.sxw
new file mode 100644
index 000000000000..14f16bfd4231
--- /dev/null
+++ b/qadevOOo/testdocs/ZHCNIterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ZHTWIterator.sxw b/qadevOOo/testdocs/ZHTWIterator.sxw
new file mode 100644
index 000000000000..b94e53ceec9b
--- /dev/null
+++ b/qadevOOo/testdocs/ZHTWIterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/_BasicBridge.sxw b/qadevOOo/testdocs/_BasicBridge.sxw
new file mode 100644
index 000000000000..056a5e2e01a7
--- /dev/null
+++ b/qadevOOo/testdocs/_BasicBridge.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java b/qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java
new file mode 100644
index 000000000000..d32f6a9b7451
--- /dev/null
+++ b/qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java
@@ -0,0 +1,259 @@
+/*************************************************************************
+ *
+ * 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 org.openoffice;
+
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.configuration.backend.PropertyInfo;
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XLayerContentDescriber;
+import com.sun.star.configuration.backend.XLayerHandler;
+import com.sun.star.configuration.backend.XSingleLayerStratum;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XStringSubstitution;
+import com.sun.star.util.XTimeStamped;
+
+
+/**
+ *
+ * @author sw93809
+ */
+public class JavaSystemBackend implements XSingleLayerStratum, XTypeProvider,
+ XServiceInfo, XTimeStamped, XComponent {
+ public final static String __serviceName = "com.sun.star.configuration.backend.PlatformBackend";
+ public final static String __implName = "org.openoffice.JavaSystemBackend";
+ public final static String testComponent = "org.openoffice.Office.Common";
+ protected static XMultiServiceFactory msf = null;
+ protected XLayer aLayer = null;
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ public com.sun.star.configuration.backend.XLayer getLayer(String str,
+ String str1)
+ throws com.sun.star.configuration.backend.BackendAccessException,
+ com.sun.star.lang.IllegalArgumentException {
+ if (aLayer == null) {
+ System.out.println("JavaSystemBackend::getLayer() called for " +
+ str);
+ aLayer = new CommonLayer();
+ }
+
+ return aLayer;
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = { __serviceName };
+
+ return supServiceNames;
+ }
+
+ public String getTimestamp() {
+ //not really implemented
+ return "2004-03-31";
+ }
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XSingleLayerStratum.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XTimeStamped.class);
+
+ return type;
+ }
+
+ public com.sun.star.configuration.backend.XUpdatableLayer getUpdatableLayer(String str)
+ throws com.sun.star.configuration.backend.BackendAccessException,
+ com.sun.star.lang.NoSupportException,
+ com.sun.star.lang.IllegalArgumentException {
+ throw new com.sun.star.lang.NoSupportException(
+ "Cannot write to test backend", this);
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ if (serviceName.equals(__serviceName)) {
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory,
+ XRegistryKey regKey) {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ msf = multiFactory;
+
+ if (implName.equals(JavaSystemBackend.class.getName())) {
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ JavaSystemBackend.class,
+ __serviceName, multiFactory,
+ regKey);
+ }
+
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ boolean success = FactoryHelper.writeRegistryServiceInfo(__implName,
+ __serviceName,
+ regKey);
+
+ if (success) {
+ try {
+ String keyName = "/" + __implName +
+ "/DATA/SupportedComponents";
+ XRegistryKey newKey = regKey.createKey(keyName);
+
+ String[] supportedComponents = { testComponent };
+ newKey.setAsciiListValue(supportedComponents);
+ } catch (Exception ex) {
+ success = false; // prevent startup loop
+ System.out.println("can't register component");
+ }
+ }
+
+ return success;
+ }
+
+ public void addEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ public void dispose() {
+ System.out.println("JavaSystemBackend::dispose() called");
+ }
+
+ public void removeEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ protected class CommonLayer implements XLayer, XTimeStamped {
+ public void readData(XLayerHandler xLayerHandler)
+ throws com.sun.star.lang.NullPointerException,
+ com.sun.star.lang.WrappedTargetException,
+ com.sun.star.configuration.backend.MalformedDataException {
+ System.out.println("CommonLayer is read");
+
+ if (xLayerHandler == null) {
+ throw new com.sun.star.lang.NullPointerException(
+ "null is not a legal LayerHandler");
+ }
+
+ XLayerContentDescriber xLayerContentDescriber = null;
+
+ try {
+ xLayerContentDescriber = (XLayerContentDescriber) UnoRuntime.queryInterface(
+ XLayerContentDescriber.class,
+ msf.createInstance(
+ "com.sun.star.comp.configuration.backend.LayerDescriber"));
+ } catch (com.sun.star.uno.Exception e) {
+ throw new com.sun.star.lang.NullPointerException(
+ "exception while creating LayerDesccriber");
+ }
+
+ if (xLayerContentDescriber == null) {
+ throw new com.sun.star.lang.NullPointerException(
+ "created LayerDescriber isn't valid");
+ }
+
+ PropertyInfo[] pInfo = new PropertyInfo[1];
+ pInfo[0] = new PropertyInfo();
+ pInfo[0].Name = "org.openoffice.Office.Common/Undo/Steps";
+ pInfo[0].Value = new Integer(12);
+ pInfo[0].Type = "int";
+ pInfo[0].Protected = false;
+ xLayerContentDescriber.describeLayer(xLayerHandler, pInfo);
+ }
+
+ public String getTimestamp() {
+ //not really implemented
+ return "2004-03-31";
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/testdocs/backend/org/openoffice/makefile.mk b/qadevOOo/testdocs/backend/org/openoffice/makefile.mk
new file mode 100644
index 000000000000..aca8f35033c5
--- /dev/null
+++ b/qadevOOo/testdocs/backend/org/openoffice/makefile.mk
@@ -0,0 +1,64 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..
+PRJNAME = JavaSystemBackend
+TARGET = $(PRJNAME)
+PACKAGE = test
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
+JAVAFILES = JavaSystemBackend.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/JavaSystemBackend.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = org/openoffice/JavaSystemBackend.class
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/backend/org/openoffice/manifest b/qadevOOo/testdocs/backend/org/openoffice/manifest
new file mode 100644
index 000000000000..e085984b2cf2
--- /dev/null
+++ b/qadevOOo/testdocs/backend/org/openoffice/manifest
@@ -0,0 +1 @@
+RegistrationClassName: org.openoffice.JavaSystemBackend
diff --git a/qadevOOo/testdocs/basDialog.odt b/qadevOOo/testdocs/basDialog.odt
new file mode 100644
index 000000000000..2b0f8f5961ff
--- /dev/null
+++ b/qadevOOo/testdocs/basDialog.odt
Binary files differ
diff --git a/qadevOOo/testdocs/calcshapes.sxc b/qadevOOo/testdocs/calcshapes.sxc
new file mode 100644
index 000000000000..7f98b1a501e0
--- /dev/null
+++ b/qadevOOo/testdocs/calcshapes.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/chinese.sxw b/qadevOOo/testdocs/chinese.sxw
new file mode 100644
index 000000000000..53b242a292c3
--- /dev/null
+++ b/qadevOOo/testdocs/chinese.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/crazy-blue.jpg b/qadevOOo/testdocs/crazy-blue.jpg
new file mode 100644
index 000000000000..001c88b63d88
--- /dev/null
+++ b/qadevOOo/testdocs/crazy-blue.jpg
Binary files differ
diff --git a/qadevOOo/testdocs/delete.cfg b/qadevOOo/testdocs/delete.cfg
new file mode 100755
index 000000000000..31fef95a0d47
--- /dev/null
+++ b/qadevOOo/testdocs/delete.cfg
Binary files differ
diff --git a/qadevOOo/testdocs/emptyChart.sds b/qadevOOo/testdocs/emptyChart.sds
new file mode 100644
index 000000000000..853a44a12cf8
--- /dev/null
+++ b/qadevOOo/testdocs/emptyChart.sds
Binary files differ
diff --git a/qadevOOo/testdocs/filter.sxw b/qadevOOo/testdocs/filter.sxw
new file mode 100644
index 000000000000..e4b077c65f11
--- /dev/null
+++ b/qadevOOo/testdocs/filter.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ok.wav b/qadevOOo/testdocs/ok.wav
new file mode 100644
index 000000000000..4fe9c7bf0432
--- /dev/null
+++ b/qadevOOo/testdocs/ok.wav
Binary files differ
diff --git a/qadevOOo/testdocs/poliball.gif b/qadevOOo/testdocs/poliball.gif
new file mode 100644
index 000000000000..dda461bd347e
--- /dev/null
+++ b/qadevOOo/testdocs/poliball.gif
Binary files differ
diff --git a/qadevOOo/testdocs/qadevlibs/JobExecutor.jar b/qadevOOo/testdocs/qadevlibs/JobExecutor.jar
new file mode 100644
index 000000000000..9cc10280c71a
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/JobExecutor.jar
Binary files differ
diff --git a/qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jar b/qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jar
new file mode 100644
index 000000000000..e67b6ef59f89
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jar
Binary files differ
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
new file mode 100644
index 000000000000..0446447456c8
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
@@ -0,0 +1,356 @@
+/*************************************************************************
+ *
+ * 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 com.sun.star.cmp;
+
+import com.sun.star.io.XPersistObject;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.uno.Type;
+
+/**
+ * Class MyPersistObject implements an XPersistObject, XServiceInfo,
+ * XTypeProvider and XPropertySet.
+ *
+ * Warning: In XPropertySet only the following methods that are
+ * used for testing are really implemented:
+ *
+ * - public XPropertySetInfo getPropertySetInfo()
+ * - public void setPropertyValue(String property, Object value)
+ * - public Object getPropertyValue(String property)
+ */
+public class MyPersistObject implements XPersistObject, XTypeProvider,
+ XServiceInfo, XPropertySet {
+
+ private class MyPropertySetInfo implements XPropertySetInfo {
+ Property[] _props;
+ public MyPropertySetInfo(Property[] props) {
+ _props = props;
+ }
+ public Property[] getProperties() {
+ return _props;
+ }
+ public Property getPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0?_props[i]:null;
+ }
+ public int getPropertyIndexByName(String name) {
+ for ( int i=0; i<_props.length; i++ )
+ if (name.equals(_props[i].Name))
+ return i;
+ return -1;
+ }
+ public boolean hasPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0?true:false;
+ }
+ }
+
+ static private final boolean verbose = false;
+
+ static public final String __serviceName =
+ "com.sun.star.cmp.PersistObject";
+ static public final String __implName =
+ "com.sun.star.cmp.MyPersistObject";
+
+ // lots of props to write
+ Property[] props;
+ private byte by;
+ private int i;
+ private char c;
+ private double d;
+ private float f;
+ private short s;
+ private String st;
+ // property set info
+ XPropertySetInfo xInfo;
+
+ /**
+ * Constructor: sets all properties
+ **/
+ public MyPersistObject() {
+ int prop_count = 7;
+ props = new Property[prop_count];
+ for (int i=0; i<prop_count; i++ ) {
+ props[i] = new Property();
+ }
+ by = 1;
+ props[0].Name = "byte";
+ i = 3;
+ props[1].Name = "int";
+ c = 'c';
+ props[2].Name = "char";
+ d = 3.142;
+ props[3].Name = "double";
+ f = 2.718f;
+ props[4].Name = "float";
+ s = 1;
+ props[5].Name = "short";
+ st = "Though this be madness, yet there is method in 't.";
+ props[6].Name = "String";
+ xInfo = new MyPropertySetInfo(props);
+ }
+ /**
+ * This function provides the service name
+ * @return the service name
+ * @see com.sun.star.io.XPersistObject
+ */
+ public String getServiceName() {
+ if ( verbose ) {
+ System.out.println("get service name");
+ }
+ return __serviceName;
+ }
+
+ /**
+ * Fuction reads properties from this input stream
+ * @param inStream the input stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void read(XObjectInputStream inStream)
+ throws com.sun.star.io.IOException {
+ s = inStream.readShort();
+ i = inStream.readLong();
+ by = inStream.readByte();
+ c = inStream.readChar();
+ d = inStream.readDouble();
+ f = inStream.readFloat();
+ st = inStream.readUTF();
+ if ( verbose )
+ System.out.println("read called" + s + " " + i + " " + st);
+ }
+
+ /**
+ * Fuction writes properties on this output stream
+ * @param outStream the output stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void write(XObjectOutputStream outStream)
+ throws com.sun.star.io.IOException {
+ if ( verbose )
+ System.out.println("write called");
+ outStream.writeShort(s);
+ outStream.writeLong(i);
+ outStream.writeByte(by);
+ outStream.writeChar(c);
+ outStream.writeDouble(d);
+ outStream.writeFloat(f);
+ outStream.writeUTF(st);
+
+ }
+
+
+ /**
+ * Fuction to get information about the property set.
+ * @return The information
+ * @see com.sun.star.io.XPropertySet
+ */
+ public XPropertySetInfo getPropertySetInfo() {
+ return xInfo;
+ }
+
+ /**
+ * Set a property value
+ * @param property The name of the property.
+ * @param value The new value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public void setPropertyValue(String property, Object value) {
+ if ( property.equals(props[0].Name))
+ by = ((Byte)value).byteValue();
+ if ( property.equals(props[1].Name))
+ i = ((Integer)value).intValue();
+ if ( property.equals(props[2].Name))
+ c = ((Character)value).charValue();
+ if ( property.equals(props[3].Name))
+ d = ((Double)value).doubleValue();
+ if ( property.equals(props[4].Name))
+ f = ((Float)value).floatValue();
+ if ( property.equals(props[5].Name))
+ s = ((Short)value).shortValue();
+ if ( property.equals(props[6].Name))
+ st = (String)value;
+ }
+
+ /**
+ * Get a property value
+ * @param property The property name.
+ * @return The value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public Object getPropertyValue(String property) {
+ if ( property.equals(props[0].Name))
+ return new Byte(by);
+ if ( property.equals(props[1].Name))
+ return new Integer(i);
+ if ( property.equals(props[2].Name))
+ return new Character(c);
+ if ( property.equals(props[3].Name))
+ return new Double(d);
+ if ( property.equals(props[4].Name))
+ return new Float(f);
+ if ( property.equals(props[5].Name))
+ return new Short(s);
+ if ( property.equals(props[6].Name))
+ return st;
+ return new Object();
+ }
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addPropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener xListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removePropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removeVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XPersistObject.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XPropertySet.class);
+ return type;
+ }
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ if(serviceName.equals(__serviceName))
+ return true;
+ return false;
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = {__serviceName};
+ return supServiceNames;
+ }
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory, XRegistryKey regKey)
+ {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ if (implName.equals(MyPersistObject.class.getName()))
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ MyPersistObject.class, __serviceName, multiFactory, regKey);
+
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ return FactoryHelper.writeRegistryServiceInfo(MyPersistObject.class.getName(),
+ __serviceName, regKey);
+ }
+
+
+
+
+} // finish class MyPersistObject
+
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
new file mode 100644
index 000000000000..f5edec0f6d17
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
@@ -0,0 +1,64 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..$/..$/..
+PRJNAME = MyPersistObjectImpl
+TARGET = MyPersistObjectImpl
+PACKAGE = com$/sun$/star$/cmp
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
+JAVAFILES = MyPersistObject.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/MyPersistObject.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = com/sun/star/cmp
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
new file mode 100644
index 000000000000..e52cdc9f716b
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
@@ -0,0 +1 @@
+RegistrationClassName: com.sun.star.cmp.MyPersistObject
diff --git a/qadevOOo/testdocs/qadevlibs/source/test/Job.java b/qadevOOo/testdocs/qadevlibs/source/test/Job.java
new file mode 100644
index 000000000000..daed6c74094a
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/test/Job.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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 test;
+
+import com.sun.star.lang.XInitialization;
+import com.sun.star.task.XJob;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.beans.*;
+import com.sun.star.container.*;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.Any;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.util.XURLTransformer;
+import com.sun.star.frame.XController;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.lang.XMultiServiceFactory;
+import util.utils;
+import com.sun.star.lang.XComponent;
+import lib.StatusException;
+import util.SOfficeFactory;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.comp.loader.FactoryHelper;
+
+
+public class Job {
+
+ static public class _Implementation implements XServiceInfo, XTypeProvider,
+ XJob, XNamed {
+ static private final String __serviceName = "test.Job";
+ Object oDoc = null;
+ String actionType = null;
+ String actionParm = null;
+ XMultiServiceFactory oMSF = null;
+
+
+ public _Implementation(XMultiServiceFactory xMSF) {
+ oMSF = xMSF;
+ }
+
+ // XServiceInfo
+ public String getImplementationName() throws com.sun.star.uno.RuntimeException {
+ return getClass().getName();
+ }
+
+ public boolean supportsService(String serviceName) throws com.sun.star.uno.RuntimeException {
+ return __serviceName.equals(serviceName);
+ }
+
+ public String[] getSupportedServiceNames() throws com.sun.star.uno.RuntimeException {
+ return new String[] {__serviceName};
+ }
+
+ public static int executed = 0;
+ public Object execute(NamedValue[] args) {
+ executed++;
+
+ return null;
+ }
+
+ public String getName() {
+ return "" + executed;
+ }
+
+ public void setName(String n) {
+ }
+
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+
+ }
+
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory,
+ XRegistryKey regKey) {
+ XSingleServiceFactory xSingleServiceFactory = null;
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(_Implementation.class,
+ _Implementation.__serviceName,
+ multiFactory,
+ regKey);
+ return xSingleServiceFactory;
+ }
+
+
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ boolean result = true;
+ result = FactoryHelper.writeRegistryServiceInfo(_Implementation.class.getName(),
+ _Implementation.__serviceName, regKey);
+ return result;
+ }
+}
diff --git a/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk b/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk
new file mode 100644
index 000000000000..6ceaa738b031
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk
@@ -0,0 +1,64 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..
+PRJNAME = JobExecutor
+TARGET = $(PRJNAME)
+PACKAGE = test
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
+JAVAFILES = Job.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/Job.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = test
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/test/manifest b/qadevOOo/testdocs/qadevlibs/source/test/manifest
new file mode 100644
index 000000000000..02f702337844
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/test/manifest
@@ -0,0 +1,2 @@
+RegistrationClassName: test.Job
+ \ No newline at end of file
diff --git a/qadevOOo/testdocs/report.stw b/qadevOOo/testdocs/report.stw
new file mode 100644
index 000000000000..5b8efafa159b
--- /dev/null
+++ b/qadevOOo/testdocs/report.stw
Binary files differ
diff --git a/qadevOOo/testdocs/report2.stw b/qadevOOo/testdocs/report2.stw
new file mode 100644
index 000000000000..9ee0a7ee0ee0
--- /dev/null
+++ b/qadevOOo/testdocs/report2.stw
Binary files differ
diff --git a/qadevOOo/testdocs/sForm.sxw b/qadevOOo/testdocs/sForm.sxw
new file mode 100644
index 000000000000..a4958930c348
--- /dev/null
+++ b/qadevOOo/testdocs/sForm.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/setexpression.sxw b/qadevOOo/testdocs/setexpression.sxw
new file mode 100644
index 000000000000..e895ff68c2fb
--- /dev/null
+++ b/qadevOOo/testdocs/setexpression.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/small_submit_test.sdw b/qadevOOo/testdocs/small_submit_test.sdw
new file mode 100644
index 000000000000..51d97449b809
--- /dev/null
+++ b/qadevOOo/testdocs/small_submit_test.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/space-metal.jpg b/qadevOOo/testdocs/space-metal.jpg
new file mode 100644
index 000000000000..d23344389073
--- /dev/null
+++ b/qadevOOo/testdocs/space-metal.jpg
Binary files differ
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessible/accessibility_XAccessible.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessible/accessibility_XAccessible.xba
new file mode 100644
index 000000000000..73b58c04b061
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessible/accessibility_XAccessible.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessible" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessible
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim ac As Variant
+
+ Test.StartMethod("getAccessibleContext()")
+ bOK = true
+ ac = oObj.getAccessibleContext()
+ bOK = bOK AND NOT isNull(ac)
+ Test.MethodTested("getAccessibleContext()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessible/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessible/script.xlb
new file mode 100644
index 000000000000..acd98036701d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessible/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessible" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessible"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/accessibility_XAccessibleAction.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/accessibility_XAccessibleAction.xba
new file mode 100644
index 000000000000..c45d4d3e7cbd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/accessibility_XAccessibleAction.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleAction" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleAction
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getAccessibleActionCount()")
+ Dim count As Long
+ bOK = true
+ count = oObj.getAccessibleActionCount()
+ bOK = bOK AND (count &gt; 0)
+ Test.MethodTested("getAccessibleActionCount()",bOK)
+
+ Test.StartMethod("getAccessibleActionDescription()")
+ Dim i As Long
+ Dim desc As String
+ bOK = true
+ i = 0
+ while ( i &lt; count)
+ desc = oObj.getAccessibleActionDescription(i)
+ Out.Log("Found action "+i+": "+desc)
+ bOK = bOK AND NOT isNull(desc)
+ i = i + 1
+ wend
+ Test.MethodTested("getAccessibleActionDescription()",bOK)
+
+ Test.StartMethod("getAccessibleActionKeyBinding()")
+ Dim key As Variant
+ bOK = true
+ i = 0
+ while ( i &lt; count)
+ key = oObj.getAccessibleActionKeyBinding(i)
+ if not isNull(key) then
+ out.Log("Found key in " + i)
+ end if
+ i = i + 1
+ wend
+ Test.MethodTested("getAccessibleActionKeyBinding()",bOK)
+
+ Test.StartMethod("doAccessibleAction()")
+ bOK = true
+ bOK = bOK AND oObj.doAccessibleAction(0)
+ Test.MethodTested("doAccessibleAction()",bOK)
+
+ 'This delay is REQUIRED here to avoid soffice blocking
+ wait(1000)
+ ReCreateObj()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/script.xlb
new file mode 100644
index 000000000000..87edd989cbaa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleAction/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleAction" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleAction"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/accessibility_XAccessibleComponent.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/accessibility_XAccessibleComponent.xba
new file mode 100644
index 000000000000..2c85baced3be
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/accessibility_XAccessibleComponent.xba
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleComponent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleComponent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getBounds()")
+ Dim bounds As new com.sun.star.awt.Rectangle
+ Dim X1,Y1 As Integer
+ bOK = true
+ bounds = oObj.getBounds()
+ X1 = bounds.X+bounds.Width
+ Y1 = bounds.Y+bounds.Height
+ Out.Log("Object's bounding box: ("+bounds.X+","+bounds.Y+","+X1+","+Y1+").")
+ bOK = bOK AND (NOT isNull(bounds)) AND (bounds.X &gt;= 0) AND (bounds.Y &gt;= 0) _
+ AND (bounds.Width &gt; 0) AND (bounds.Height &gt; 0)
+ Test.MethodTested("getBounds()",bOK)
+
+ Test.StartMethod("contains()")
+ Dim point1 As new com.sun.star.awt.Point
+ Dim point2 As new com.sun.star.awt.Point
+ bOK = true
+ point1.X = bounds.Width + 1
+ point1.Y = bounds.Height + 1
+ point2.X = 0
+ point2.Y = 0
+ bOK = bOK AND (NOT oObj.contains(point1)) AND oObj.contains(point2)
+ Test.MethodTested("contains()",bOK)
+
+ Test.StartMethod("getAccessibleAt()")
+ Dim accAt As Object, oChild As Object
+ Dim i As Integer, childCount As Long, mCount As Integer
+ Dim chBounds As new com.sun.star.awt.Rectangle
+ Dim locRes As Boolean
+ Dim ComponentFound As Boolean
+ Dim visibleFound as Boolean
+ Dim XAccessibleSelection as Boolean
+
+ bOK = true
+ childCount = oObj.getAccessibleChildCount()
+ if (childCount = 0) then
+ Out.Log("There are no children supported by XAccessibleComponent...")
+ else
+ Out.Log("There are "+childCount+" children supported by XAccessibleComponent.")
+ if (childCount &gt; 50) then
+ mCount = 50
+ Out.Log("Checking only first 50 children...")
+ else
+ mCount = childCount
+ End If
+ ComponentFound = false
+ visibleFound = false
+ XAccessibleSelection = hasUNOInterfaces(oObj, "drafts.com.sun.star.accessibility.XAccessibleSelection")
+ for i = 0 to (mCount - 1)
+ oChild = oObj.getAccessibleChild(i)
+ if NOT hasUNOInterfaces(oChild,"drafts.com.sun.star.accessibility.XAccessibleContext") then
+ oChild = oChild.getAccessibleContext()
+ End If
+ if hasUNOInterfaces(oChild,"drafts.com.sun.star.accessibility.XAccessibleComponent") then
+ ComponentFound = TRUE
+ if XAccessibleSelection then
+ if oObj.isAccessibleChildSelected(i) then
+ visibleFound = TRUE
+ End If
+ End If
+ oChild = oChild.getAccessibleContext()
+ chBounds = oChild.getBounds()
+ point1.X = chBounds.X
+ point1.Y = chBounds.Y
+ accAt = oObj.getAccessibleAt(point1)
+ locRes = utils.at_equals(accAt,oChild)
+ Out.log(" getAccessibleAt() with valid points with child " + i + ": " + locRes)
+ bOK = bOK AND locRes
+ point2.X = chBounds.X - 1
+ point2.Y = chBounds.Y - 1
+ accAt = oObj.getAccessibleAt(point2)
+ locRes = NOT utils.at_equals(accAt,oChild)
+ Out.log(" getAccessibleAt() with invalid points with child " + i + ": " + locRes)
+ bOK = bOK AND locRes
+ End If
+ next i
+ if not ComponentFound then
+ Out.Log("Could not find any children which supports XAccessibleComponent!")
+ bOK = TRUE
+ end if
+ if not visibleFound then
+ Out.Log("Could not find any children which is visible!")
+ bOK = TRUE
+ end if
+ End If
+ Test.MethodTested("getAccessibleAt()",bOK)
+
+ Test.StartMethod("getLocation()")
+ bOK = true
+ point1 = oObj.getLocation()
+ bOK = bOK AND (point1.X = bounds.X) AND (point1.Y = bounds.Y)
+ Test.MethodTested("getLocation()",bOK)
+
+ Test.StartMethod("getLocationOnScreen()")
+ Dim accParent As Object
+ bOK = true
+ accParent = getParentComponent()
+ point1 = oObj.getLocationOnScreen()
+ if NOT isNull(accParent) then
+ point2 = accParent.getLocationOnScreen()
+ bOK = bOK AND (point2.X + bounds.X = point1.X)
+ bOK = bOK AND (point2.Y + bounds.Y = point1.Y)
+ else
+ Out.Log("Component's parent is null.")
+ End If
+ Test.MethodTested("getLocationOnScreen()",bOK)
+
+ Test.StartMethod("getSize()")
+ Dim oSize As new com.sun.star.awt.Size
+ bOK = true
+ oSize = oObj.getSize()
+ bOK = bOK AND (oSize.Width = bounds.Width) AND (oSize.Height = bounds.Height)
+ Test.MethodTested("getSize()",bOK)
+
+ Test.StartMethod("grabFocus()")
+ bOK = true
+ oObj.grabFocus()
+ Test.MethodTested("grabFocus()",bOK)
+
+ Test.StartMethod("getForeground()")
+ Dim fColor As Long
+ bOK = true
+ fColor = oObj.getForeground()
+ Out.Log("Foreground color is: "+fColor)
+ Test.MethodTested("getForeground()",bOK)
+
+ Test.StartMethod("getBackground()")
+ Dim bColor As Long
+ bOK = true
+ bColor = oObj.getBackground()
+ Out.Log("Background color is: "+bColor)
+ Test.MethodTested("getBackground()",bOK)
+
+
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+
+Function getAccessibleChildren() As Variant
+ Dim accCount As Integer, i As Integer, j As Integer
+ Dim accChContext As Object, accCh As Object
+ Dim resArray(50) As Variant
+ Dim emptyArray() As Variant
+ j = 0
+ i = 0
+ if NOT hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessible") then
+ Out.Log("An object does not support XAccessible interface!")
+ Exit Function
+ End If
+ accCount = oObj.getAccessibleChildCount()
+ if (accCount &gt; 50) then accCount = 50
+ while (i &lt; accCount)
+ accCh = oObj.getAccessibleChild(i)
+ accChContext = accCh.getAccessibleContext()
+ if hasUNOInterfaces(accChContext,"drafts.com.sun.star.accessibility.XAccessibleComponent") then
+ resArray(j) = accChContext
+ j = j + 1
+ End If
+ i = i + 1
+ wend
+ if (accCount &lt;&gt; 0) then
+ Dim returnArray(j - 1) As Variant
+ For i = 0 to (j - 1)
+ returnArray(i) = resArray(i)
+ next i
+ getAccessibleChildren() = returnArray()
+ else
+ getAccessibleChildren() = emptyArray()
+ End If
+End Function
+
+Function getParentComponent() As Object
+ Dim accParent As Object
+ Dim accParContext As Object
+ if NOT hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessible") then
+ Out.Log("An object does not support XAccessible interface!")
+ Exit Function
+ End If
+ accParent = oObj.getAccessibleParent()
+ if isNull(accParent) then
+ Out.Log("The component has no accessible parent!")
+ Exit Function
+ End If
+ accParContext = accParent.getAccessibleContext()
+ if NOT hasUNOInterfaces(accParContext,"drafts.com.sun.star.accessibility.XAccessibleComponent") then
+ Out.Log("Accessible parent doesn't support XAccessibleComponent!")
+ Exit Function
+ else
+ getParentComponent() = accParContext
+ End If
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/script.xlb
new file mode 100644
index 000000000000..a1c29c03c632
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleComponent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleComponent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleComponent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/accessibility_XAccessibleContext.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/accessibility_XAccessibleContext.xba
new file mode 100644
index 000000000000..22e672bda823
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/accessibility_XAccessibleContext.xba
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleContext" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleContext
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim childCount As Long, i As Integer
+ Dim oParent As Object
+
+ Test.StartMethod("getAccessibleChildCount()")
+ bOK = true
+ childCount = oObj.getAccessibleChildCount()
+ bOK = bOK AND (childCount &gt; -1)
+ Test.MethodTested("getAccessibleChildCount()",bOK)
+
+
+ Test.StartMethod("getAccessibleChild()")
+ Dim childContext As Object
+ Dim mCount As Integer
+ bOK = true
+ i = 0
+ if (childCount &gt; 50) then
+ mCount = 50
+ else
+ mCount = childCount
+ End If
+ while (i &lt; mCount)
+ childContext = oObj.getAccessibleChild(i).getAccessibleContext()
+ Out.Log(" Child " + i + ": " + childContext.getAccessibleDescription())
+ bOK = bOK AND utils.at_equals(childContext.getAccessibleParent(), oObj)
+ i = i + 1
+ wend
+ Test.MethodTested("getAccessibleChild()",bOK)
+
+
+ Test.StartMethod("getAccessibleParent()")
+ bOK = true
+ oParent = oObj.getAccessibleParent()
+ bOK = bOK AND NOT isNull(oParent)
+ Test.MethodTested("getAccessibleParent()",bOK)
+
+
+ Test.StartMethod("getAccessibleIndexInParent()")
+ Dim idx As Integer
+ Dim parentAC As Object
+ bOK = true
+ idx = oObj.getAccessibleIndexInParent()
+ parentAC = oParent.getAccessibleContext()
+ bOK = bOK AND utils.at_equals(parentAC.getAccessibleChild(idx), oObj)
+ Test.MethodTested("getAccessibleIndexInParent()",bOK)
+
+
+ Test.StartMethod("getAccessibleRole()")
+ Dim role As Integer
+ bOK = true
+ role = oObj.getAccessibleRole()
+ Out.Log("The role is " + role)
+ bOK = bOK AND (role &gt; -1)
+ Test.MethodTested("getAccessibleRole()",bOK)
+
+
+ Test.StartMethod("getAccessibleDescription()")
+ Dim descr As String
+ bOK = true
+ descr = oObj.getAccessibleDescription()
+ Out.Log("The description is " + descr)
+ bOK = bOK AND NOT isNull(descr)
+ Test.MethodTested("getAccessibleDescription()",bOK)
+
+
+ Test.StartMethod("getAccessibleName()")
+ Dim oName As String
+ bOK = true
+ oName = oObj.getAccessibleName()
+ Out.Log("The name is " + oName)
+ bOK = bOK AND NOT isNull(oName)
+ Test.MethodTested("getAccessibleName()",bOK)
+
+
+ Test.StartMethod("getAccessibleRelationSet()")
+ Dim oSet As Variant
+ bOK = true
+ oSet = oObj.getAccessibleRelationSet()
+ ' Relationset could be null
+ if not isNull(oSet) then
+ oSet.getRelationCount()
+ end if
+ Test.MethodTested("getAccessibleRelationSet()",bOK)
+
+
+ Test.StartMethod("getAccessibleStateSet()")
+ bOK = true
+ oSet = oObj.getAccessibleStateSet()
+ bOK = bOK AND NOT isNull(oSet)
+ if NOT bOK then Out.Log("This object does not support states")
+ Test.MethodTested("getAccessibleStateSet()",bOK)
+
+
+ Test.StartMethod("getLocale()")
+ Dim oLoc As Variant
+ bOK = true
+ oLoc = oObj.getLocale()
+ Out.Log("The locale is "+oLoc.Language+", "+oLoc.Country)
+ bOK = bOK AND NOT isNull(oLoc) AND (len(oLoc.Language) &gt; 0) AND (len(oLoc.Country) &gt; 0)
+ Test.MethodTested("getLocale()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/script.xlb
new file mode 100644
index 000000000000..5e4280103263
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleContext/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleContext" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleContext"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/accessibility_XAccessibleEditableText.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/accessibility_XAccessibleEditableText.xba
new file mode 100644
index 000000000000..df3cfba9d9e0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/accessibility_XAccessibleEditableText.xba
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleEditableText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' global hasChangeableAttrs as boolean
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleEditableText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean, locRes As Boolean
+ Dim oldText As String, curText As String
+ Dim length As Integer, initialText As String
+
+ oldText = oObj.getText()
+ initialText = oldText
+ length = oObj.getCharacterCount()
+ Out.Log("Text: "+oldText)
+ Out.Log("Length: "+length)
+
+
+ Test.StartMethod("cutText()")
+ bOK = true
+ locRes = oObj.cutText(0,length)
+ curText = oObj.getText()
+ bOK = bOK AND (len(curText) = 0) AND locRes
+ Test.MethodTested("cutText()",bOK)
+
+
+ Test.StartMethod("pasteText()")
+ bOK = true
+ locRes = oObj.pasteText(0)
+ curText = oObj.getText()
+ bOK = bOK AND (len(curText) = length) AND locRes
+ Test.MethodTested("pasteText()",bOK)
+
+
+ Test.StartMethod("insertText()")
+ Dim insString As String
+ bOK = true
+ insString = "Inserted String"
+ locRes = oObj.insertText(insString,length)
+ curText = oObj.getText()
+ bOK = bOK AND (curText = oldText + insString) AND locRes
+ Test.MethodTested("insertText()",bOK)
+
+
+ Test.StartMethod("deleteText()")
+ bOK = true
+ locRes = oObj.deleteText(len(curText) - len(insString),len(curText))
+ curText = oObj.getText()
+ bOK = bOK AND (curText = oldText) AND locRes
+ Test.MethodTested("deleteText()",bOK)
+
+
+ Test.StartMethod("replaceText()")
+ Dim replacement As String
+ Dim endIndex As Integer
+ bOK = true
+ oObj.setText(oldText+"(part of string to replace)")
+ endIndex = len(oObj.getText)
+ replacement = "Replacement string"
+ locRes = oObj.replaceText(len(oldText),endIndex,replacement)
+ curText = oObj.getText()
+ bOK = bOK AND (curText = oldText + replacement) AND locRes
+ Test.MethodTested("replaceText()",bOK)
+
+
+ Test.StartMethod("setAttributes()")
+ if hasChangeableAttrs then
+ Dim attrs As Variant, newAttrs As Variant
+ Dim i As Integer
+ bOK = true
+ length = oObj.getCharacterCount()
+ attrs = oObj.getCharacterAttributes(0)
+ for i=0 to ubound(attrs())
+ if attrs(i).Name = "CharBackColor" then attrs(i).Value = RGB(120,205,40)
+ if attrs(i).Name = "CharHeight" then attrs(i).Value = 30
+ if attrs(i).Name = "CharColor" then attrs(i).Value = RGB(255,255,255)
+ next i
+ locRes = oObj.setAttributes(0,length,attrs)
+ bOK = bOK AND locRes
+ newAttrs = oObj.getCharacterAttributes(0)
+ bOK = bOK AND PropertyTester.equals(attrs,newAttrs)
+ else
+ Out.Log("Object has no changeable attributes.")
+ bOK = true
+ End If
+ Test.MethodTested("setAttributes()",bOK)
+
+
+ Test.StartMethod("setText()")
+ Dim newText As String
+ bOK = true
+ oldText = oObj.getText()
+ newText = "New string"
+ locRes = oObj.setText(newText)
+ curText = oObj.getText()
+ bOK = bOK AND (curText = newText) AND locRes
+ if locRes then
+ Out.Log("Test 1 passed OK.")
+ else
+ Out.Log("Test 1 failed.")
+ End If
+ newText = ""
+ locRes = oObj.setText(newText)
+ curText = oObj.getText()
+ bOK = bOK AND (newText = curText) AND locRes
+ if locRes then
+ Out.Log("Test 2 passed OK.")
+ else
+ Out.Log("Test 2 failed.")
+ End If
+ locRes = oObj.setText(oldText)
+ curText = oObj.getText()
+ bOK = bOK AND (curText = oldText) AND locRes
+ if locRes then
+ Out.Log("Test 3 passed OK.")
+ else
+ Out.Log("Test 3 failed.")
+ End If
+ Test.MethodTested("setText()",bOK)
+
+ out.dbg("Setting initial text: " + initialText )
+ oObj.setText(initialText)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/script.xlb
new file mode 100644
index 000000000000..d2109838e813
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEditableText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleEditableText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleEditableText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/accessibility_XAccessibleEventBroadcaster.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/accessibility_XAccessibleEventBroadcaster.xba
new file mode 100644
index 000000000000..e8dd62a677cb
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/accessibility_XAccessibleEventBroadcaster.xba
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleEventBroadcaster" script:language="StarBasic">
+&apos;*************************************************************************
+&apos;*
+' 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.
+'
+&apos;*************************************************************************
+&apos;*************************************************************************
+
+
+
+&apos; Be sure that all variables are dimensioned:
+option explicit
+
+&apos;*************************************************************************
+&apos; This Interface/Service test depends on the following GLOBAL variables,
+&apos; which must be specified in the object creation:
+
+&apos; fireEvent() precedure
+&apos; located in component test
+
+&apos;*************************************************************************
+
+
+
+
+
+Dim oListener1 As Object
+Dim oListener2 As Object
+Dim bL1called As Boolean
+Dim bL2called As Boolean
+
+
+Sub RunTest()
+
+&apos;*************************************************************************
+&apos; INTERFACE:
+&apos; com.sun.star.accessibility.XAccessibleEventBroadcaster
+&apos;*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim isTransient As Boolean
+ Dim stateSet As Variant
+ bOK = true
+
+ &apos;out.log(&quot;Creating Listeners...&quot;)
+ oListener1 = createUNOListener(&quot;EL1_&quot;,&quot;com.sun.star.accessibility.XAccessibleEventListener&quot;)
+ oListener2 = createUNOListener(&quot;EL2_&quot;,&quot;com.sun.star.accessibility.XAccessibleEventListener&quot;)
+ bOK = bOK AND NOT isNULL(oListener1) AND NOT isNULL(oListener2)
+ if NOT bOK then out.log( &quot;ERROR: Cannot create listeners...&quot;)
+
+ if NOT hasUNOInterfaces(oObj,&quot;com.sun.star.accessibility.XAccessibleContext&quot;) then
+ &apos;out.log(&quot;Object does not implement XAccessibleContext.&quot;)
+ isTransient = false
+ else
+ stateSet = oObj.getAccessibleStateSet()
+ isTransient = stateSet.contains(27)
+ End If
+
+ Test.StartMethod(&quot;addEventListener()&quot;)
+ bOK = true
+ bL1called = false
+ bL2called = false
+ &apos;out.log(&quot;Adding two listeners...&quot;)
+ oObj.com_sun_star_accessibility_XAccessibleEventBroadcaster_addEventListener(oListener1)
+ oObj.com_sun_star_accessibility_XAccessibleEventBroadcaster_addEventListener(oListener2)
+ &apos;out.log(&quot;fire event&quot;)
+ fireEvent()
+ wait(500)
+ out.log(&quot;Listener1 called: &quot;+bL1called)
+ out.log(&quot;Listener2 called: &quot;+bL2called)
+ if NOT isTransient then
+ bOK = bOK AND bL1called AND bL2called
+ else
+ &apos;out.log(&quot;Object is transient, listeners aren&apos;t expected to call.&quot;)
+ bOK = true
+ End If
+ Test.MethodTested(&quot;addEventListener()&quot;,bOK)
+
+
+ Test.StartMethod(&quot;removeEventListener()&quot;)
+ bOK = true
+ bL1called = false
+ bL2called = false
+ &apos;out.log(&quot;Removing one listener...&quot;)
+ oObj.com_sun_star_accessibility_XAccessibleEventBroadcaster_removeEventListener(oListener1)
+ &apos;out.log(&quot;fire event&quot;)
+ fireEvent()
+ wait(500)
+ out.log(&quot;Listener1 called: &quot;+bL1called)
+ out.log(&quot;Listener2 called: &quot;+bL2called)
+ if NOT isTransient then
+ bOK = bOK AND NOT bL1called AND bL2called
+ else
+ &apos;out.log(&quot;Object is transient, listeners aren&apos;t expected to call.&quot;)
+ bOK = true
+ End If
+ Test.MethodTested(&quot;removeEventListener()&quot;,bOK)
+
+ &apos; Removing the second listener...
+ oObj.com_sun_star_accessibility_XAccessibleEventBroadcaster_removeEventListener(oListener2)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub EL1_notifyEvent(ev As Variant)
+ &apos;out.log(&quot;CallBack for Listener1 notifyEvent was called.&quot;)
+ bL1called = true
+End Sub
+
+Sub EL1_disposing()
+End Sub
+
+Sub EL2_notifyEvent(ev As Variant)
+ &apos;out.log(&quot;CallBack for Listener2 notifyEvent was called.&quot;)
+ bL2called = true
+End Sub
+
+Sub EL2_disposing()
+End Sub
+
+</script:module> \ No newline at end of file
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/script.xlb
new file mode 100644
index 000000000000..9a06ecd1c438
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleEventBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleEventBroadcaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleEventBroadcaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/accessibility_XAccessibleExtendedComponent.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/accessibility_XAccessibleExtendedComponent.xba
new file mode 100644
index 000000000000..202adf953a6a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/accessibility_XAccessibleExtendedComponent.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleExtendedComponent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleExtendedComponent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getFont()")
+ Dim font As Variant
+ Dim fDescr As new com.sun.star.awt.FontDescriptor
+ bOK = true
+ font = oObj.getFont()
+ if NOT isNull(font) then
+ fDescr = font.getFontDescriptor()
+ Out.Log("Font: "+fDescr.Name)
+ else
+ Out.Log("Font: null")
+ End If
+ Test.MethodTested("getFont()",bOK)
+
+ Test.StartMethod("getTitledBorderText()")
+ Dim tbText As String
+ bOK = true
+ tbText = oObj.getTitledBorderText()
+ Out.Log("TitledBorderText: "+tbText)
+ bOK = bOK AND NOT isNull(tbText)
+ Test.MethodTested("getTitledBorderText()",bOK)
+
+ Test.StartMethod("getToolTipText()")
+ Dim ttText As String
+ bOK = true
+ ttText = oObj.getToolTipText()
+ Out.Log("TitledBorderText: "+ttText)
+ bOK = bOK AND NOT isNull(ttText)
+ Test.MethodTested("getToolTipText()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/script.xlb
new file mode 100644
index 000000000000..de17e5c2c8c1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleExtendedComponent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleExtendedComponent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleExtendedComponent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/accessibility_XAccessibleImage.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/accessibility_XAccessibleImage.xba
new file mode 100644
index 000000000000..5278d8faaca7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/accessibility_XAccessibleImage.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleImage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleImage
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getAccessibleImageDescription()")
+ Dim descr As String
+ bOK = true
+ descr = oObj.getAccessibleImageDescription()
+ Out.Log("AccessibleImageDescription: "+descr)
+ bOK = bOK AND NOT isNull(descr)
+ Test.MethodTested("getAccessibleImageDescription()",bOK)
+
+ Test.StartMethod("getAccessibleImageHeight()")
+ Dim height As Long
+ bOK = true
+ height = oObj.getAccessibleImageHeight()
+ Out.Log("AccessibleImageHeight: "+height)
+ Test.MethodTested("getAccessibleImageHeight()",bOK)
+
+ Test.StartMethod("getAccessibleImageWidth()")
+ Dim width As Long
+ bOK = true
+ width = oObj.getAccessibleImageWidth()
+ Out.Log("AccessibleImageWidth: "+width)
+ Test.MethodTested("getAccessibleImageWidth()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/script.xlb
new file mode 100644
index 000000000000..71df8d188c26
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleImage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleImage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleImage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/accessibility_XAccessibleSelection.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/accessibility_XAccessibleSelection.xba
new file mode 100644
index 000000000000..584749823d72
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/accessibility_XAccessibleSelection.xba
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleSelection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global multiSelection As Boolean
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleSelection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean, locRes As Boolean
+ Dim chCount As Long, selCount As Long
+ Dim i As Long, mCount As Integer
+
+ if multiSelection then
+ Out.Log("Object allows multiple selection!")
+ else
+ Out.Log("Object does not allow multiple selection!")
+ End If
+
+ chCount = oObj.getAccessibleChildCount()
+ selCount = oObj.getSelectedAccessibleChildCount()
+ Out.Log("Object has "+chCount+" child(ren), "+selCount+" of them selected.")
+ If (chCount &gt; 50) then
+ mCount = 50
+ Out.Log("Object has too many children. Testing only first 50.")
+ else
+ mCount = chCount
+ End If
+
+ clearSelection()
+
+ Test.StartMethod("selectAccessibleChild()")
+ bOK = true
+ if (mCount &gt; 0) then
+ i = mCount - 1
+ while (oObj.isAccessibleChildSelected(i) OR itemDisabled(oObj.getAccessibleChild(i))) AND (i &gt; 0)
+ i = i - 1
+ wend
+ if (i &gt;= 0) then
+ Out.Log("Selecting child #"+i+"...")
+ oObj.selectAccessibleChild(i)
+ wait(500)
+ locRes = oObj.isAccessibleChildSelected(i)
+ Out.Log("Child #"+i+" selected: "+locRes)
+ bOK = bOK AND locRes
+ End If
+ End If
+ clearSelection()
+ Test.MethodTested("selectAccessibleChild()",bOK)
+
+ Test.StartMethod("isAccessibleChildSelected()")
+ bOK = true
+ if (mCount &gt; 0) then
+ i = mCount - 1
+ while (oObj.isAccessibleChildSelected(i) OR itemDisabled(oObj.getAccessibleChild(i))) AND (i &gt; 0)
+ i = i - 1
+ wend
+ if (i &gt;= 0) then
+ Out.Log("Selecting child #"+i+"...")
+ oObj.selectAccessibleChild(i)
+ wait(500)
+ locRes = oObj.isAccessibleChildSelected(i)
+ Out.Log("Child #"+i+" selected: "+locRes)
+ bOK = bOK AND locRes
+ End If
+ End If
+ clearSelection()
+ Test.MethodTested("isAccessibleChildSelected()",bOK)
+
+ Test.StartMethod("clearAccessibleSelection()")
+ bOK = true
+ if (mCount &gt; 0) AND (multiSelection) then
+ oObj.selectAccessibleChild(chCount - 1)
+ wait(500)
+ oObj.clearAccessibleSelection()
+ wait(500)
+ bOK = bOK AND NOT oObj.isAccessibleChildSelected(mCount - 1)
+ else
+ Out.Log("Cannot clear all selection for this object!")
+ End If
+ Test.MethodTested("clearAccessibleSelection()",bOK)
+
+' ### The following property was not found in correspond IDL file! ###
+ Test.StartMethod("selectAllAccessibleChildren()")
+ bOK = true
+ i = 0
+ if ((mCount &gt; 0) AND multiSelection) then
+' ### The following property was not found in correspond IDL file! ###
+ oObj.selectAllAccessibleChildren()
+ wait(500)
+ while (i &lt; mCount)
+ bOK = bOK AND oObj.isAccessibleChildSelected(i)
+ i = i + 1
+ wend
+ else
+ Out.Log("Cannot select all children for this object!")
+ End If
+ clearSelection()
+ Test.MethodTested("selectAllAccessibleChildren()",bOK)
+
+ Test.StartMethod("getSelectedAccessibleChildCount()")
+ bOK = true
+ Out.Log("Selecting all...")
+ oObj.selectAllAccessibleChildren()
+ wait(500)
+ selCount = oObj.getSelectedAccessibleChildCount()
+ Out.Log("Selected "+selCount+" child(ren).")
+ If (multiSelection) then
+ bOK = bOK AND (selCount = chCount)
+ else
+ bOK = bOK AND (selCount = 1)
+ End If
+ clearSelection()
+ selCount = oObj.getSelectedAccessibleChildCount()
+ if (multiSelection) then
+ bOK = bOK AND (selCount = 0)
+ else
+ bOK = bOK AND (selCount = 1)
+ End If
+ Test.MethodTested("getSelectedAccessibleChildCount()",bOK)
+
+ Test.StartMethod("getSelectedAccessibleChild()")
+ Dim selAccChild As Object, accChild As Object
+ bOK = true
+ if (mCount &gt; 0) then
+ i = mCount - 1
+ while (oObj.isAccessibleChildSelected(i) OR itemDisabled(oObj.getAccessibleChild(i))) AND (i &gt; 0)
+ i = i - 1
+ wend
+ if (i &gt;= 0) then
+ Out.Log("Selecting child #"+i+"...")
+ oObj.selectAccessibleChild(i)
+ wait(500)
+ Out.Log("Child #"+i+" selected: "+oObj.isAccessibleChildSelected(i))
+ Out.Log("Now "+oObj.getSelectedAccessibleChildCount()+" child(ren) selected.")
+ selCount = oObj.getSelectedAccessibleChildCount()
+ if (selCount &gt; 0) then
+ selAccChild = oObj.getSelectedAccessibleChild(selCount-1)
+ accChild = oObj.getAccessibleChild(i)
+ bOK = bOK AND utils.at_equals(accChild,selAccChild)
+ else
+ Out.Log("There are no selected children. Test fails.")
+ bOK = false
+ End If
+ End If
+ End If
+ Test.MethodTested("getSelectedAccessibleChild()",bOK)
+
+ Test.StartMethod("deselectAccessibleChild()")
+ Dim newSelCount As Long
+ Dim isSelected as Boolean
+ bOK = true
+ oObj.selectAllAccessibleChildren()
+ wait(500)
+ selCount = oObj.getSelectedAccessibleChildCount()
+ Out.Log("There was "+selCount+" selected child(ren)")
+ Out.Log("Deselecting child...")
+ for i = 0 to mCount - 1
+ if oObj.isAccessibleChildSelected(i) then
+ isSelected = true
+ end if
+ oObj.deselectAccessibleChild(i)
+ wait(500)
+ newSelCount = oObj.getSelectedAccessibleChildCount()
+ Out.Log("selCount = " + selCount + " newSelCount = " + newSelCount)
+ if (multiSelection) then
+ if isSelected then
+ Out.Log("isSelected")
+ bOK = bOK AND (selCount - 1 = newSelCount)
+ else
+ bOK = bOK AND (selCount = newSelCount)
+ end if
+ else
+ Out.Log("is not multi")
+ bOK = bOK AND (newSelCount &lt;= 1)
+ End If
+ selCount = newSelCount
+ next
+ Test.MethodTested("deselectAccessibleChild()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub clearSelection()
+ if NOT multiSelection then Exit Sub
+ Dim selCount As Long
+ selCount = oObj.getSelectedAccessibleChildCount()
+ if (selCount = 0) then Exit Sub
+ oObj.clearAccessibleSelection()
+ wait(500)
+ selCount = oObj.getSelectedAccessibleChildCount()
+ if selCount = 0 then
+ Out.Log("Deselect all: success")
+ else
+ Out.Log("Deselect all: error!. "+selCount+" child(ren) remains selected.")
+ End If
+End Sub
+
+Function itemDisabled(oChild As Object) As Boolean
+ if NOT hasUNOInterfaces(oChild,"com.sun.star.accessibility.XAccessibleContext") then
+ oChild = oChild.getAccessibleContext()
+ End If
+ itemDisabled = NOT oChild.getAccessibleStateSet().contains(21)
+End Function
+
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/script.xlb
new file mode 100644
index 000000000000..6f5d862cdcd3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleSelection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleSelection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleSelection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/accessibility_XAccessibleTable.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/accessibility_XAccessibleTable.xba
new file mode 100644
index 000000000000..5b02f88e703d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/accessibility_XAccessibleTable.xba
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleTable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleTable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim implSel As Boolean
+
+ implSel = hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessibleSelection")
+ if (NOT implSel) then
+ Out.Log("!!! The component doesn't implement the interface XAccessibleSelection.")
+ Out.Log("!!! This interface is required for more detailed tests.")
+ End If
+
+ Test.StartMethod("getAccessibleRowCount()")
+ Dim rowCount As Long
+ bOK = true
+ rowCount = oObj.getAccessibleRowCount()
+ Out.Log("Accessible row count: "+rowCount)
+ Test.MethodTested("getAccessibleRowCount()",bOK)
+
+ Test.StartMethod("getAccessibleColumnCount()")
+ Dim colCount As Long
+ bOK = true
+ colCount = oObj.getAccessibleColumnCount()
+ Out.Log("Accessible column count: "+colCount)
+ Test.MethodTested("getAccessibleColumnCount()",bOK)
+
+ Test.StartMethod("getAccessibleRowDescription()")
+ Dim rowDescr As String
+ bOK = true
+ if (rowCount &gt; 0) then
+ rowDescr = oObj.getAccessibleRowDescription(rowCount - 1)
+ Out.Log("Row "+(rowCount-1)+" description: "+rowDescr)
+ bOK = bOK AND NOT isNull(rowDescr)
+ else
+ Out.Log("!!! RowCount is 0. Could not test this method.")
+ End If
+ Test.MethodTested("getAccessibleRowDescription()",bOK)
+
+ Test.StartMethod("getAccessibleColumnDescription()")
+ Dim colDescr As String
+ bOK = true
+ if (colCount &gt; 0) then
+ colDescr = oObj.getAccessibleRowDescription(colCount - 1)
+ Out.Log("Column "+(colCount-1)+" description: "+colDescr)
+ bOK = bOK AND NOT isNull(colDescr)
+ else
+ Out.Log("!!! ColumnCount is 0. Could not test this method.")
+ End If
+ Test.MethodTested("getAccessibleColumnDescription()",bOK)
+
+ Test.StartMethod("getAccessibleRowExtentAt()")
+ Dim ext As Long
+ bOK = true
+ ext = oObj.getAccessibleRowExtentAt(rowCount - 1, colCount - 1)
+ Out.Log(ext)
+ bOK = bOK AND (ext &gt;= 1)
+ Test.MethodTested("getAccessibleRowExtentAt()",bOK)
+
+ Test.StartMethod("getAccessibleColumnExtentAt()")
+ bOK = true
+ ext = oObj.getAccessibleColumnExtentAt(rowCount - 1, colCount - 1)
+ Out.Log(ext)
+ bOK = bOK AND (ext &gt;= 1)
+ Test.MethodTested("getAccessibleColumnExtentAt()",bOK)
+
+ Test.StartMethod("getAccessibleRowHeaders()")
+ Dim rowHeaders As Object
+ bOK = true
+ rowHeaders = oObj.getAccessibleRowHeaders()
+ bOK = bOK AND NOT isNull(rowHeaders)
+ Test.MethodTested("getAccessibleRowHeaders()",bOK)
+
+ Test.StartMethod("getAccessibleColumnHeaders()")
+ Dim colHeaders As Object
+ bOK = true
+ colHeaders = oObj.getAccessibleColumnHeaders()
+ bOK = bOK AND NOT isNull(colHeaders)
+ Test.MethodTested("getAccessibleColumnHeaders()",bOK)
+
+ Test.StartMethod("getSelectedAccessibleRows()")
+ Dim selRows As Variant
+ Dim elCount As Long, i As Integer
+ Dim locRes As Boolean
+ bOK = true
+ if implSel then
+ oObj.selectAllAccessible()
+ End If
+ selRows = oObj.getSelectedAccessibleRows()
+ elCount = ubound(selRows) - 1
+ Out.Log("Returned sequence has "+elCount+" elements")
+ if implSel then
+ bOK = bOK AND (elCount = rowCount)
+ else
+ bOK = bOK AND (elCount = 0)
+ End If
+ if (elCount &gt; 0) then
+ Out.Log("Checking that returned sequence is in ascending order")
+ End If
+ i = 1
+ while (i &lt; elCount)
+ locRes = (selRows(i) &gt;= selRows(i-1))
+ bOK = bOK AND locRes
+ if NOT locRes then
+ Out.Log("Element "+i+" : Returned sequence is not in accending order.")
+ break
+ End If
+ wend
+ Test.MethodTested("getSelectedAccessibleRows()",bOK)
+
+ Test.StartMethod("getSelectedAccessibleColumns()")
+ Dim selCols As Variant
+ bOK = true
+ selCols = oObj.getSelectedAccessibleRows()
+ elCount = ubound(selCols) - 1
+ Out.Log("Returned sequence has "+elCount+" elements")
+ if implSel then
+ bOK = bOK AND (elCount = colCount)
+ else
+ bOK = bOK AND (elCount = 0)
+ End If
+ if (elCount &gt; 0) then
+ Out.Log("Checking that returned sequence is in ascending order")
+ End If
+ i = 1
+ while (i &lt; elCount)
+ locRes = (selCols(i) &gt;= selCols(i-1))
+ bOK = bOK AND locRes
+ if NOT locRes then
+ Out.Log("Element "+i+" : Returned sequence is not in accending order.")
+ break
+ End If
+ wend
+ Test.MethodTested("getSelectedAccessibleColumns()",bOK)
+
+ Test.StartMethod("isAccessibleRowSelected()")
+ Dim mCount As Integer
+ bOK = true
+ locRes = true
+ if (rowCount &gt; 299) then
+ mCount = 299
+ else
+ mCount = rowCount - 1
+ End If
+ for i=0 to mCount
+ locRes = oObj.isAccessibleRowSelected(i)
+ if implSel then
+ bOK = bOK AND locRes
+ else
+ bOK = bOK AND NOT locRes
+ End If
+ next i
+ Out.Log("Checked "+i+" of "+rowCount+" rows.")
+ Test.MethodTested("isAccessibleRowSelected()",bOK)
+
+ Test.StartMethod("isAccessibleColumnSelected()")
+ bOK = true
+ locRes = true
+ if (colCount &gt; 299) then
+ mCount = 299
+ else
+ mCount = colCount - 1
+ End If
+ for i=0 to mCount
+ locRes = oObj.isAccessibleColumnSelected(i)
+ if implSel then
+ bOK = bOK AND locRes
+ else
+ bOK = bOK AND NOT locRes
+ End If
+ next i
+ Out.Log("Checked "+i+" of "+colCount+" columns.")
+ Test.MethodTested("isAccessibleColumnSelected()",bOK)
+
+ Test.StartMethod("getAccessibleCellAt()")
+ Dim xAccCell As Object
+ bOK = true
+ xAccCell = oObj.getAccessibleCellAt(rowCount - 1, colCount - 1)
+ bOK = bOK AND NOT isNull(xAccCell)
+ Test.MethodTested("getAccessibleCellAt()",bOK)
+
+ Test.StartMethod("getAccessibleCaption()")
+ Dim caption As Object
+ bOK = true
+ caption = oObj.getAccessibleCaption()
+ Test.MethodTested("getAccessibleCaption()",bOK)
+
+ Test.StartMethod("getAccessibleSummary()")
+ Dim summary As Object
+ bOK = true
+ summary = oObj.getAccessibleSummary()
+ Test.MethodTested("getAccessibleSummary()",bOK)
+
+ Test.StartMethod("isAccessibleSelected()")
+ bOK = true
+ locRes = oObj.isAccessibleSelected(rowCount - 1, colCount - 1)
+ if implSel then
+ bOK = bOK AND locRes
+ else
+ bOK = bOK AND NOT locRes
+ End If
+ Test.MethodTested("isAccessibleSelected()",bOK)
+
+ Test.StartMethod("getAccessibleIndex()")
+ Dim ind As Long, expIndex As Long
+ bOK = true
+ ind = oObj.getAccessibleIndex(rowCount - 1, colCount - 1)
+ Out.Log("AccessibleIndex is: "+ind)
+ if NOT isNull(xAccCell) then
+ expIndex = xAccCell.getAccessibleContext().getAccessibleIndexInParent()
+ Out.Log("Expected index is: "+expIndex)
+ bOK = bOK AND (ind = expIndex)
+ End If
+ Test.MethodTested("getAccessibleIndex()",bOK)
+
+ Test.StartMethod("getAccessibleRow()")
+ Dim rowIndex As Long
+ Dim chCount As Long
+ bOK = true
+ if hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessibleContext") then
+ chCount = oObj.getAccessibleChildCount()
+ rowIndex = oObj.getAccessibleRow(chCount - 1)
+ bOK = bOK AND (rowIndex &gt;= 0) AND (rowIndex &lt;= rowCount)
+ End If
+ rowIndex = oObj.getAccessibleRow(0)
+ bOK = bOK AND (rowIndex &gt;= 0) AND (rowIndex &lt;= rowCount)
+ Test.MethodTested("getAccessibleRow()",bOK)
+
+ Test.StartMethod("getAccessibleColumn()")
+ Dim colIndex As Long
+ bOK = true
+ if hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessibleContext") then
+ chCount = oObj.getAccessibleChildCount()
+ colIndex = oObj.getAccessibleColumn(chCount - 1)
+ bOK = bOK AND (colIndex &gt;= 0) AND (colIndex &lt;= colCount)
+ End If
+ colIndex = oObj.getAccessibleColumn(0)
+ bOK = bOK AND (colIndex &gt;= 0) AND (colIndex &lt;= colCount)
+ Test.MethodTested("getAccessibleColumn()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/script.xlb
new file mode 100644
index 000000000000..4620dadd95c2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleTable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleTable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleTable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba
new file mode 100644
index 000000000000..1ec8ddc02c6b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global accText as String
+' Global readOnly as Boolean
+
+'*************************************************************************
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim chCount As Integer
+ Dim accTextSegment as new com.sun.star.accessibility.TextSegment
+
+ Test.StartMethod("getCharacterCount()")
+ bOK = true
+ chCount = oObj.getCharacterCount()
+ Out.Log("Character count: "+chCount)
+ bOK = bOK AND (len(accText) = chCount)
+ Test.MethodTested("getCharacterCount()",bOK)
+
+ Test.StartMethod("getCaretPosition()")
+ Test.StartMethod("setCaretPosition()")
+ bOK = true
+ Dim carPos As Integer
+ oObj.setCaretPosition(chCount - 1)
+ carPos = oObj.getCaretPosition()
+ if not readOnly then
+ Out.Log("getCaretPosition: " + carPos)
+ bOK = bOK AND (carPos = chCount - 1)
+ else
+ Out.Log("Object is read only and Caret position couldn't be set")
+ end if
+ Test.MethodTested("getCaretPosition()",bOK)
+ Test.MethodTested("setCaretPosition()",bOK)
+
+ Test.StartMethod("getCharacter()")
+ Dim i As Integer
+ bOK = true
+ for i = 0 to chCount-1
+ bOK = bOK AND (chr(oObj.getCharacter(i)) = _
+ utils.getCharacter(i+1,accText))
+ next i
+ Test.MethodTested("getCharacter()",bOK)
+
+ Test.StartMethod("getCharacterAttributes()")
+ Dim attrs() As Variant
+ Dim ReqAttrs(0) as String
+ bOK = true
+ attrs = oObj.getCharacterAttributes(chCount - 1, ReqAttrs())
+ bOK = bOK AND NOT isNull(attrs)
+ Out.Log("Properties ubound: "+ubound(attrs))
+ Test.MethodTested("getCharacterAttributes()",bOK)
+
+ Test.StartMethod("getCharacterBounds()")
+ Dim chBounds As new com.sun.star.awt.Rectangle
+ bOK = true
+ chBounds = oObj.getCharacterBounds(chCount - 1)
+ Out.Log("Character boundbox: "+chBounds.X+", "+chBounds.Y+", "+ _
+ chBounds.Width+", "+chBounds.Height)
+ bOK = bOK AND NOT isNull(chBounds)
+ Test.MethodTested("getCharacterBounds()",bOK)
+
+ Test.StartMethod("getIndexAtPoint()")
+ Dim index As Integer
+ Dim point As new com.sun.star.awt.Point
+ bOK = true
+ point.X = chBounds.X + 1
+ point.Y = chBounds.Y + 1
+ index = oObj.getIndexAtPoint(point)
+ bOK = bOK AND (index = chCount -1)
+ Test.MethodTested("getIndexAtPoint()",bOK)
+
+ Test.StartMethod("getSelectedText()")
+ bOK = true
+ oObj.setSelection(0, chCount)
+ if not readOnly then
+ bOK = bOK AND (accText = oObj.getSelectedText())
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("getSelectedText()",bOK)
+
+ Test.StartMethod("getSelectionStart()")
+ bOK = true
+ oObj.setSelection(chCount-1,chCount)
+ if not readOnly then
+ bOK = bOK AND (oObj.getSelectionStart() = chCount -1)
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("getSelectionStart()",bOK)
+
+ Test.StartMethod("getSelectionEnd()")
+ bOK = true
+ oObj.setSelection(0,chCount - 1)
+ if not readOnly then
+ bOK = bOK AND (oObj.getSelectionEnd() = chCount - 1)
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("getSelectionEnd()",bOK)
+
+ Test.StartMethod("setSelection()")
+ bOK = true
+ if not readOnly then
+ bOK = bOK AND oObj.setSelection(0,chCount)
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("setSelection()",bOK)
+
+ Test.StartMethod("getText()")
+ bOK = true
+ bOK = bOK AND (accText = oObj.getText())
+ Test.MethodTested("getText()",bOK)
+
+ Test.StartMethod("getTextRange()")
+ bOK = true
+ bOK = bOK AND (accText = oObj.getTextRange(0,chCount))
+ Test.MethodTested("getTextRange()",bOK)
+
+ Test.StartMethod("getTextAtIndex()")
+ bOK = true
+ accTextSegment = oObj.getTextAtIndex(chCount - 1, 4)
+ bOK = bOK AND (accText = accTextSegment.SegmentText)
+ Test.MethodTested("getTextAtIndex()",bOK)
+
+ Test.StartMethod("getTextBeforeIndex()")
+ bOK = true
+ accTextSegment = oObj.getTextBeforeIndex(1, 1)
+ bOK = bOK AND (accTextSegment.SegmentText = utils.getCharacter(1,accText))
+ Test.MethodTested("getTextBeforeIndex()",bOK)
+
+ Test.StartMethod("getTextBehindIndex()")
+ bOK = true
+ accTextSegment = oObj.getTextBehindIndex(chCount-2,1)
+ bOK = bOK AND (accTextSegment.SegmentText = utils.getCharacter(chCount,accText))
+ Test.MethodTested("getTextBehindIndex()",bOK)
+
+ Test.StartMethod("copyText()")
+ bOK = true
+ bOK = bOK AND oObj.copyText(0,chCount)
+ if readOnly then bOK = true
+ Test.MethodTested("copyText()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/script.xlb
new file mode 100644
index 000000000000..26416634cad1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/accessibility_XAccessibleValue.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/accessibility_XAccessibleValue.xba
new file mode 100644
index 000000000000..d5a665a9842b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/accessibility_XAccessibleValue.xba
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleValue" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleValue
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getMinimumValue()")
+ Dim minVal As Variant
+ bOK = true
+ minVal = oObj.getMinimumValue()
+ Out.Log("Minimum value is "+minVal)
+ Test.MethodTested("getMinimumValue()",bOK)
+
+ Test.StartMethod("getMaximumValue()")
+ Dim maxVal As Variant
+ bOK = true
+ maxVal = oObj.getMaximumValue()
+ Out.Log("Maximum value is "+maxVal)
+ Test.MethodTested("getMaximumValue()",bOK)
+
+ Test.StartMethod("getCurrentValue()")
+ Dim curVal As Variant
+ bOK = true
+ curVal = oObj.getCurrentValue()
+ bOK = bOK AND (curVal &gt;= minVal) AND (curVal &lt;= maxVal)
+ Test.MethodTested("getCurrentValue()",bOK)
+
+
+ Test.StartMethod("setCurrentValue()")
+ Dim newVal As Variant, resVal As Variant
+ bOK = true
+ newVal = curVal + 1
+ if (newVal &gt; maxVal) then newVal = newVal - 2
+
+ Out.Log("Setting new value: "+newVal)
+ bOK = bOK AND oObj.setCurrentValue(newVal)
+ resVal = oObj.getCurrentValue()
+ Out.Log("Result: "+resVal)
+ bOK = bOK AND (Abs(newVal - resVal) &lt; 0.00001)
+
+ Out.Log("Setting new value: "+minVal)
+ bOK = bOK AND oObj.setCurrentValue(minVal)
+ resVal = oObj.getCurrentValue()
+ Out.Log("Result: "+resVal)
+ bOK = bOK AND (Abs(minVal - resVal) &lt; 0.00001)
+
+ Out.Log("Setting new value: "+maxVal)
+ bOK = bOK AND oObj.setCurrentValue(maxVal)
+ resVal = oObj.getCurrentValue()
+ Out.Log("Result: "+resVal)
+ bOK = bOK AND (Abs(maxVal - resVal) &lt; 0.00001)
+
+ newVal = minVal - 1
+ Out.Log("Setting new value: "+newVal)
+ bOK = bOK AND oObj.setCurrentValue(newVal)
+ resVal = oObj.getCurrentValue()
+ Out.Log("Result: "+resVal)
+ bOK = bOK AND (Abs(minVal - resVal) &lt; 0.00001)
+
+ newVal = maxVal + 1
+ Out.Log("Setting new value: "+newVal)
+ bOK = bOK AND oObj.setCurrentValue(newVal)
+ resVal = oObj.getCurrentValue()
+ Out.Log("Result: "+resVal)
+ bOK = bOK AND (Abs(maxVal - resVal) &lt; 0.00001)
+
+ Test.MethodTested("setCurrentValue()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/script.xlb b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/script.xlb
new file mode 100644
index 000000000000..24a50a082374
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleValue/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="accessibility_XAccessibleValue" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="accessibility_XAccessibleValue"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/awt_UnoControlButtonModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/awt_UnoControlButtonModel.xba
new file mode 100644
index 000000000000..d55c0adca69a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/awt_UnoControlButtonModel.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlButtonModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlButtonModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("DefaultButton")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("Label")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("PushButtonType", Array(0,1,2,3))
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("ImageAlign")
+
+ PropertyTester.TestProperty("ImageURL")
+
+ PropertyTester.TestProperty("State")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/script.xlb
new file mode 100644
index 000000000000..575dc0d406db
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlButtonModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlButtonModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlButtonModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/awt_UnoControlCheckBoxModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/awt_UnoControlCheckBoxModel.xba
new file mode 100644
index 000000000000..779c47611918
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/awt_UnoControlCheckBoxModel.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlCheckBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlCheckBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("Label")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("State", Array(0, 1, 2))
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("TriState")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/script.xlb
new file mode 100644
index 000000000000..bb8edace5f96
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlCheckBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlCheckBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlCheckBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/awt_UnoControlComboBoxModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/awt_UnoControlComboBoxModel.xba
new file mode 100644
index 000000000000..781b03931675
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/awt_UnoControlComboBoxModel.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlComboBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlComboBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("Autocomplete")
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Dropdown")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("LineCount")
+
+ PropertyTester.TestProperty("MaxTextLen")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("StringItemList")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("Text")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/script.xlb
new file mode 100644
index 000000000000..042089bbce64
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlComboBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlComboBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlComboBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/awt_UnoControlContainerModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/awt_UnoControlContainerModel.xba
new file mode 100644
index 000000000000..6c313fbc79c9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/awt_UnoControlContainerModel.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlContainerModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlContainerModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("Text")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/script.xlb
new file mode 100644
index 000000000000..9cf1130d81fd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlContainerModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlContainerModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlContainerModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/awt_UnoControlCurrencyFieldModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/awt_UnoControlCurrencyFieldModel.xba
new file mode 100644
index 000000000000..929b2f044ea2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/awt_UnoControlCurrencyFieldModel.xba
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlCurrencyFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlCurrencyFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Long
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("CurrencySymbol")
+
+ PropertyTester.TestProperty("DecimalAccuracy")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("ShowThousandsSeparator")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("Spin")
+
+ PropertyTester.TestProperty("StrictFormat")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ Test.StartMethod("Value")
+ bOK = true
+ oldVal = oObj.Value
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 999) then
+ oObj.Value = 999
+ else
+ oObj.Value = 1000
+ endif
+ newVal = oObj.Value
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("Value",bOK)
+
+ Test.StartMethod("ValueMax")
+ bOK = true
+ oldVal = oObj.ValueMax
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 1000000) then
+ oObj.ValueMax = 1000000
+ else
+ oObj.ValueMax = 1000001
+ endif
+ newVal = oObj.ValueMax
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("ValueMax",bOK)
+
+ Test.StartMethod("ValueMin")
+ bOK = true
+ oldVal = oObj.ValueMin
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; -1000000) then
+ oObj.ValueMin = -1000000
+ else
+ oObj.ValueMin = -1000001
+ endif
+ newVal = oObj.ValueMin
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("ValueMin",bOK)
+
+ PropertyTester.TestProperty("ValueStep")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("PrependCurrencySymbol")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/script.xlb
new file mode 100644
index 000000000000..5c30de64c3d9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlCurrencyFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlCurrencyFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlCurrencyFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/awt_UnoControlDateFieldModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/awt_UnoControlDateFieldModel.xba
new file mode 100644
index 000000000000..f4ce19b0c3c3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/awt_UnoControlDateFieldModel.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlDateFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlDateFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Date")
+
+ PropertyTester.TestProperty("DateMax")
+
+ PropertyTester.TestProperty("DateMin")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("DateFormat")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("Spin")
+
+ PropertyTester.TestProperty("StrictFormat")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("DateShowCentury")
+
+ PropertyTester.TestProperty("Dropdown")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/script.xlb
new file mode 100644
index 000000000000..e6df7c36ad13
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlDateFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlDateFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlDateFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/awt_UnoControlDialogElement.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/awt_UnoControlDialogElement.xba
new file mode 100644
index 000000000000..e43f59078e63
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/awt_UnoControlDialogElement.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlDialogElement" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.UnoControlDialogElement
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("Height")
+
+ PropertyTester.TestProperty("Name")
+
+ PropertyTester.TestProperty("PositionX")
+
+ PropertyTester.TestProperty("PositionY")
+
+ PropertyTester.TestProperty("Step")
+
+ PropertyTester.TestProperty("TabIndex")
+
+ PropertyTester.TestProperty("Tag")
+
+ PropertyTester.TestProperty("Width")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/script.xlb
new file mode 100644
index 000000000000..89e4478a99ea
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogElement/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlDialogElement" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="awt_UnoControlDialogElement"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/awt_UnoControlDialogModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/awt_UnoControlDialogModel.xba
new file mode 100644
index 000000000000..803bb0f589fa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/awt_UnoControlDialogModel.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlDialogModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlDialogModel
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("Title")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("Sizeable")
+
+ PropertyTester.TestProperty("Closeable")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("Moveable")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/script.xlb
new file mode 100644
index 000000000000..2620497dbca1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlDialogModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlDialogModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlDialogModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/awt_UnoControlEditModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/awt_UnoControlEditModel.xba
new file mode 100644
index 000000000000..8b8897e24304
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/awt_UnoControlEditModel.xba
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlEditModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlEditModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Align")
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("EchoChar")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("HardLineBreaks")
+
+ PropertyTester.TestProperty("HScroll")
+
+ PropertyTester.TestProperty("MaxTextLen")
+
+ PropertyTester.TestProperty("MultiLine")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("Text")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("VScroll")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/script.xlb
new file mode 100644
index 000000000000..2d5fed3dde2a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlEditModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlEditModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlEditModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/awt_UnoControlFileControlModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/awt_UnoControlFileControlModel.xba
new file mode 100644
index 000000000000..e1503c8db41b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/awt_UnoControlFileControlModel.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlFileControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlFileControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("Text")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/script.xlb
new file mode 100644
index 000000000000..6a8d0cd06aa6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFileControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlFileControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlFileControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/awt_UnoControlFixedLineModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/awt_UnoControlFixedLineModel.xba
new file mode 100644
index 000000000000..06143238c33c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/awt_UnoControlFixedLineModel.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlFixedLineModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlFixedLineModel
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("Label")
+
+ PropertyTester.TestProperty("Orientation")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/script.xlb
new file mode 100644
index 000000000000..8a4820d1748c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedLineModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlFixedLineModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlFixedLineModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/awt_UnoControlFixedTextModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/awt_UnoControlFixedTextModel.xba
new file mode 100644
index 000000000000..a6266d0f68cd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/awt_UnoControlFixedTextModel.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlFixedTextModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlFixedTextModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Align")
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("Label")
+
+ PropertyTester.TestProperty("MultiLine")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/script.xlb
new file mode 100644
index 000000000000..1afae23f637f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFixedTextModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlFixedTextModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlFixedTextModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/awt_UnoControlFormattedFieldModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/awt_UnoControlFormattedFieldModel.xba
new file mode 100644
index 000000000000..13123db2711c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/awt_UnoControlFormattedFieldModel.xba
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlFormattedFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlFormattedFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Long
+
+ PropertyTester.TestProperty("Align")
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("EffectiveDefault")
+
+ Test.StartMethod("EffectiveValue")
+ bOK = true
+ oldVal = oObj.EffectiveValue
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 9999) then
+ oObj.EffectiveValue = 9999
+ else
+ oObj.EffectiveValue = 10000
+ endif
+ newVal = oObj.EffectiveValue
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("EffectiveValue",bOK)
+
+ Test.StartMethod("EffectiveMax")
+ bOK = true
+ oldVal = oObj.EffectiveMax
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 100000) then
+ oObj.EffectiveMax = 100000
+ else
+ oObj.EffectiveMax = 100001
+ endif
+ newVal = oObj.EffectiveMax
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("EffectiveMax",bOK)
+
+ Test.StartMethod("EffectiveMin")
+ bOK = true
+ oldVal = oObj.EffectiveMin
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; -100000) then
+ oObj.EffectiveMin = -100000
+ else
+ oObj.EffectiveMin = -100001
+ endif
+ newVal = oObj.EffectiveMin
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("EffectiveMin",bOK)
+
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("FormatKey")
+
+ PropertyTester.TestProperty("FormatsSupplier")
+
+ PropertyTester.TestProperty("MaxTextLen")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("Spin")
+
+ PropertyTester.TestProperty("StrictFormat")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("Text")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+ PropertyTester.TestProperty("TreatAsNumber")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/script.xlb
new file mode 100644
index 000000000000..323535b485e2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlFormattedFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlFormattedFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlFormattedFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/awt_UnoControlGroupBoxModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/awt_UnoControlGroupBoxModel.xba
new file mode 100644
index 000000000000..2be838ae72a0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/awt_UnoControlGroupBoxModel.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlGroupBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlGroupBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("Label")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/script.xlb
new file mode 100644
index 000000000000..8bf009c7ad32
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlGroupBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlGroupBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlGroupBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/awt_UnoControlImageControlModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/awt_UnoControlImageControlModel.xba
new file mode 100644
index 000000000000..c77f88d0042c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/awt_UnoControlImageControlModel.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlImageControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlImageControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("ImageURL")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("ScaleImage")
+
+ PropertyTester.TestProperty("Tabstop")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/script.xlb
new file mode 100644
index 000000000000..78f757c5fae6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlImageControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlImageControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlImageControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/awt_UnoControlListBoxModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/awt_UnoControlListBoxModel.xba
new file mode 100644
index 000000000000..5de3bb3a9794
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/awt_UnoControlListBoxModel.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlListBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlListBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Dropdown")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("LineCount")
+
+ PropertyTester.TestProperty("MultiSelection")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("SelectedItems")
+
+ PropertyTester.TestProperty("StringItemList")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/script.xlb
new file mode 100644
index 000000000000..1748dfbeff32
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlListBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlListBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlListBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlModel/awt_UnoControlModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlModel/awt_UnoControlModel.xba
new file mode 100644
index 000000000000..bdffcb1337e8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlModel/awt_UnoControlModel.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlModel" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.UnoControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+'
+ PropertyTester.TestProperty("DefaultControl")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlModel/script.xlb
new file mode 100644
index 000000000000..583895a0bcd4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlModel" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="awt_UnoControlModel"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/awt_UnoControlNumericFieldModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/awt_UnoControlNumericFieldModel.xba
new file mode 100644
index 000000000000..55c389124214
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/awt_UnoControlNumericFieldModel.xba
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlNumericFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlNumericFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Long
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("DecimalAccuracy")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("ShowThousandsSeparator")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("Spin")
+
+ PropertyTester.TestProperty("StrictFormat")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ Test.StartMethod("Value")
+ bOK = true
+ oldVal = oObj.Value
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 999) then
+ oObj.Value = 999
+ else
+ oObj.Value = 1000
+ endif
+ newVal = oObj.Value
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("Value",bOK)
+
+ Test.StartMethod("ValueMax")
+ bOK = true
+ oldVal = oObj.ValueMax
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 10000) then
+ oObj.ValueMax = 10000
+ else
+ oObj.ValueMax = 10001
+ endif
+ newVal = oObj.ValueMax
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("ValueMax",bOK)
+
+ Test.StartMethod("ValueMin")
+ bOK = true
+ oldVal = oObj.ValueMin
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; -10000) then
+ oObj.ValueMin = -10000
+ else
+ oObj.ValueMin = -10001
+ endif
+ newVal = oObj.ValueMin
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("ValueMin",bOK)
+
+ PropertyTester.TestProperty("ValueStep")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/script.xlb
new file mode 100644
index 000000000000..0755e1320b9a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlNumericFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlNumericFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlNumericFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/awt_UnoControlPatternFieldModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/awt_UnoControlPatternFieldModel.xba
new file mode 100644
index 000000000000..096ee101f54c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/awt_UnoControlPatternFieldModel.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlPatternFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlPatternFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("EditMask")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("LiteralMask")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("StrictFormat")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("Text")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("MaxTextLen")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/script.xlb
new file mode 100644
index 000000000000..b37bb62f8f7e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlPatternFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlPatternFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlPatternFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/awt_UnoControlProgressBarModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/awt_UnoControlProgressBarModel.xba
new file mode 100644
index 000000000000..c14ed80fd151
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/awt_UnoControlProgressBarModel.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlProgressBarModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlProgressBarModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FillColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ProgressValue")
+
+ PropertyTester.TestProperty("ProgressValueMax")
+
+ PropertyTester.TestProperty("ProgressValueMin")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/script.xlb
new file mode 100644
index 000000000000..388de9e782d6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlProgressBarModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlProgressBarModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlProgressBarModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/awt_UnoControlRadioButtonModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/awt_UnoControlRadioButtonModel.xba
new file mode 100644
index 000000000000..4babfe686c5b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/awt_UnoControlRadioButtonModel.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlRadioButtonModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlRadioButtonModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("Label")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("State", Array(0,1))
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/script.xlb
new file mode 100644
index 000000000000..e3e8530eb508
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlRadioButtonModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlRadioButtonModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlRadioButtonModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/awt_UnoControlScrollBarModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/awt_UnoControlScrollBarModel.xba
new file mode 100644
index 000000000000..103266b45df2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/awt_UnoControlScrollBarModel.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlScrollBarModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlScrollBarModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BlockIncrement")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("LineIncrement")
+
+ PropertyTester.TestProperty("Orientation")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ScrollValue")
+
+ PropertyTester.TestProperty("ScrollValueMax")
+
+ PropertyTester.TestProperty("VisibleSize")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/script.xlb
new file mode 100644
index 000000000000..00d8fd9cf3e7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlScrollBarModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlScrollBarModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlScrollBarModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/awt_UnoControlTimeFieldModel.xba b/qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/awt_UnoControlTimeFieldModel.xba
new file mode 100644
index 000000000000..f7fbdf2c94a1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/awt_UnoControlTimeFieldModel.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_UnoControlTimeFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.awt.UnoControlTimeFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("BackgroundColor")
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("FontEmphasisMark")
+
+ PropertyTester.TestProperty("FontRelief")
+
+ PropertyTester.TestProperty("HelpText")
+
+ PropertyTester.TestProperty("HelpURL")
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("ReadOnly")
+
+ PropertyTester.TestProperty("Spin")
+
+ PropertyTester.TestProperty("StrictFormat")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+ PropertyTester.TestProperty("TextLineColor")
+
+ PropertyTester.TestProperty("Time")
+
+ PropertyTester.TestProperty("TimeFormat")
+
+ PropertyTester.TestProperty("TimeMax")
+
+ PropertyTester.TestProperty("TimeMin")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/script.xlb
new file mode 100644
index 000000000000..482f6d802418
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/UnoControlTimeFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_UnoControlTimeFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_UnoControlTimeFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XButton/awt_XButton.xba b/qadevOOo/tests/basic/ifc/awt/XButton/awt_XButton.xba
new file mode 100644
index 000000000000..c01f3669a326
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XButton/awt_XButton.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim bAL_actionPerformed As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XButton
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener As Object
+
+ Out.Log("create com.sun.star.awt.XActionListener")
+ oListener = createUNOListener("AL_", "com.sun.star.awt.XActionListener")
+
+ Test.StartMethod("addActionListener()")
+ bAL_actionPerformed = False
+ oObj.addActionListener(oListener)
+ Out.Log("Can be checked only interactively !!!")
+ bOK = True
+ Test.MethodTested("addActionListener()", bOK)
+
+ Test.StartMethod("removeActionListener()")
+ oObj.removeActionListener(oListener)
+ bOK = true
+ Test.MethodTested("removeActionListener()", bOK)
+
+ Test.StartMethod("setLabel()")
+ oObj.setLabel("XButton Label")
+ bOK = True
+ Test.MethodTested("setLabel()", bOK)
+
+ Test.StartMethod("setActionCommand()")
+ oObj.setActionCommand("XButtonComand")
+ bOK = True
+ Test.MethodTested("setActionCommand()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub AL_disposing
+End Sub
+
+Sub AL_actionPerformed
+ Out.Log("CallBack for ActionListener actionPerformed was called.")
+ bAL_actionPerformed = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XButton/script.xlb b/qadevOOo/tests/basic/ifc/awt/XButton/script.xlb
new file mode 100644
index 000000000000..7ef5c2ab0762
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XCheckBox/awt_XCheckBox.xba b/qadevOOo/tests/basic/ifc/awt/XCheckBox/awt_XCheckBox.xba
new file mode 100644
index 000000000000..30036638c4a2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XCheckBox/awt_XCheckBox.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XCheckBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim bIL_itemStateChanged As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XCheckBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener As Object
+
+ bIL_itemStateChanged = False
+ out.log("create listener for item events")
+ oListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
+
+ Test.StartMethod("addItemListener()")
+ oObj.addItemListener(oListener)
+ out.log("Can be checked only interactively !!!")
+ bOK = True
+ Test.MethodTested("addItemListener()", bOK)
+
+ Test.StartMethod("removeItemListener()")
+ oObj.removeItemListener(oListener)
+ bOK = True
+ Test.MethodTested("removeItemListener()", bOK)
+
+ Test.StartMethod("getState()")
+ Test.StartMethod("setState()")
+ Dim state, newState As Integer
+ state = oObj.getState()
+ Out.Log("current state of check-box: " + state)
+ newState = 0
+ If state = 0 Then
+ newState = 1
+ EndIf
+ Out.Log("set new state: " + newState)
+ oObj.setState(newState)
+ bOK = (newState = oObj.getState())
+ Test.MethodTested("getState()", bOK)
+ Test.MethodTested("setState()", bOK)
+
+ Test.StartMethod("setLabel()")
+ oObj.setLabel("XCheckBox test")
+ bOK = true
+ Test.MethodTested("setLabel()", bOK)
+
+ Test.StartMethod("enableTriState()")
+ oObj.enableTriState(True)
+ bOK = true
+ Test.MethodTested("enableTriState()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub IL_disposing
+End Sub
+
+Sub IL_itemStateChanged
+ Out.Log("CallBack for ItemListener itemStateChanged was called.")
+ bIL_itemStateChanged = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XCheckBox/script.xlb b/qadevOOo/tests/basic/ifc/awt/XCheckBox/script.xlb
new file mode 100644
index 000000000000..2b7206d80a00
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XCheckBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XCheckBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XCheckBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XComboBox/awt_XComboBox.xba b/qadevOOo/tests/basic/ifc/awt/XComboBox/awt_XComboBox.xba
new file mode 100644
index 000000000000..574a6f6576a0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XComboBox/awt_XComboBox.xba
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XComboBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim bIL_itemStateChanged, bAL_actionPerformed As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XComboBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oIListener, oAListener As Object
+
+ bIL_itemStateChanged = False
+ oIListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
+
+ Test.StartMethod("addItemListener()")
+ oObj.addItemListener(oIListener)
+ bOK = True
+ Test.MethodTested("addItemListener()", bOK)
+
+ Test.StartMethod("removeItemListener()")
+ oObj.removeItemListener(oIListener)
+ bOK = True
+ Test.MethodTested("removeItemListener()", bOK)
+
+ bAL_actionPerformed = False
+ oAListener = createUnoListener("AL_", "com.sun.star.awt.XActionListener")
+ Test.StartMethod("addActionListener()")
+ oObj.addActionListener(oAListener)
+ bOK = True
+ Test.MethodTested("addActionListener()", bOK)
+
+ Test.StartMethod("removeActionListener()")
+ oObj.removeActionListener(oAListener)
+ bOK = True
+ Test.MethodTested("removeActionListener()", bOK)
+
+ Dim itemCount As Integer
+ Test.StartMethod("getItemCount()")
+ itemCount = oObj.getItemCount()
+ bOK = itemCount &gt; 0 or itemCount = 0
+ Test.MethodTested("getItemCount()", bOK)
+
+ Test.StartMethod("addItem()")
+ oObj.addItem("Item1", itemCount)
+ bOK = oObj.getItemCount() = (itemCount + 1)
+ Test.MethodTested("addItem()", bOK)
+
+ Dim itemNames As Variant
+ itemNames = Array("Item2", "Item3")
+ Dim oldCount As Integer
+ oldCount = oObj.getItemCount()
+ Test.StartMethod("addItems()")
+ oObj.addItems(itemNames(), oldCount)
+ bOK = (oldCount + 2) = oObj.getItemCount()
+ Test.MethodTested("addItems()", bOK)
+
+ Test.StartMethod("getItem()")
+ bOK = (oObj.getItem(itemCount) = "Item1")
+ Test.MethodTested("getItem()", bOK)
+
+ Test.StartMethod("getItems()")
+ itemNames = oObj.getItems()
+ Dim i As Integer
+ bOK = True
+ Dim iname As String
+ For i = itemCount to itemCount + 2
+ iname = "Item" + (i + 1)
+ bOK = bOK and itemNames(i) = iname
+ out.log(iname + " " + itemNames(i))
+ Next i
+ Test.MethodTested("getItems()", bOK)
+
+ Test.StartMethod("removeItems()")
+ oObj.removeItems(0, oObj.getItemCount())
+ bOK = oObj.getItemCount = 0
+ Test.MethodTested("removeItems()", bOK)
+
+ Dim lineCount As Integer
+ Test.StartMethod("getDropDownLineCount()")
+ lineCount = oObj.getDropDownLineCount()
+ bOK = True
+ Test.MethodTested("getDropDownLineCount()", bOK)
+
+ Test.StartMethod("setDropDownLineCount()")
+ oObj.setDropDownLineCount(lineCount + 1)
+ bOK = oObj.getDropDownLineCount() = lineCount + 1
+ Test.MethodTested("setDropDownLineCount()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub IL_itemStateChanged
+ Out.Log("CallBack for ItemListener itemStateChanged was called.")
+ bIL_itemStateChanged = true
+End Sub
+
+Sub AL_actionPerformed
+ Out.Log("CallBack for ActionListener actionPerformed was called.")
+ bAL_actionPerformed = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XComboBox/script.xlb b/qadevOOo/tests/basic/ifc/awt/XComboBox/script.xlb
new file mode 100644
index 000000000000..042993e00091
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XComboBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XComboBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XComboBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XControl/awt_XControl.xba b/qadevOOo/tests/basic/ifc/awt/XControl/awt_XControl.xba
new file mode 100644
index 000000000000..e66aadc3b22b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XControl/awt_XControl.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+'Global oModel As Object
+'Global oContext As Object
+'Global oWinpeer As Object
+'Global oToolkit As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XControl
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ If isNull(oContext) then
+ Out.Log("'oContext' as global variable required!")
+ End If
+ If isNull(oWinpeer) then
+ Out.Log("'oWinper' as global variable required!")
+ End If
+ If isNull(oToolkit) then
+ Out.Log("'oToolkit' as global variable required!")
+ End If
+
+ Test.StartMethod("setContext()")
+ bOK = true
+ oObj.setContext(oContext)
+ Test.MethodTested("setContext()", bOK)
+
+ Test.StartMethod("getContext()")
+ bOK = hasUnoInterfaces(oObj.getContext(), "com.sun.star.uno.XInterface")
+ Test.MethodTested("getContext()", bOK)
+
+ Test.StartMethod("createPeer()")
+ bOK = true
+ oObj.createPeer(oToolkit, oWinpeer)
+ Test.MethodTested("createPeer()", bOK)
+
+ Test.StartMethod("getPeer()")
+ bOK = hasUnoInterfaces(oObj.getPeer(),"com.sun.star.awt.XWindowPeer")
+ Test.MethodTested("getPeer()", bOK)
+
+ Test.StartMethod("setModel()")
+ bOK = true
+ oObj.setModel(oModel)
+ Test.StartMethod("getModel()")
+ bOK = bOK AND hasUnoInterfaces(oObj.getModel(), "com.sun.star.awt.XControlModel")
+ Test.MethodTested("setModel()", bOK)
+ Test.MethodTested("getModel()", bOK)
+
+ Test.StartMethod("getView()")
+ bOK = hasUnoInterfaces(oObj.getView(), "com.sun.star.awt.XView")
+ Test.MethodTested("getView()", bOK)
+
+ Test.StartMethod("setDesignMode()")
+ bOK = true
+ oObj.setDesignMode(true)
+ Test.StartMethod("isDesignMode()")
+ bOk = bOk AND oObj.isDesignMode()
+ oObj.setDesignMode(false)
+ bOk = bOk AND NOT oObj.isDesignMode()
+ Test.MethodTested("setDesignMode()", bOK)
+ Test.MethodTested("isDesignMode()", bOK)
+
+ Test.StartMethod("isTransparent()")
+ bOk = VarType(oObj.isTransparent()) = 11
+ Test.MethodTested("isTransparent()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XControl/script.xlb b/qadevOOo/tests/basic/ifc/awt/XControl/script.xlb
new file mode 100644
index 000000000000..1f8c19a30aa1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XControlContainer/awt_XControlContainer.xba b/qadevOOo/tests/basic/ifc/awt/XControlContainer/awt_XControlContainer.xba
new file mode 100644
index 000000000000..518671293db0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XControlContainer/awt_XControlContainer.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XControlContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+'Global oXControl1 as Object
+'Global oXControl2 as Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XControlContainer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ If isNull(oXControl1) then
+ Out.Log("'oXControl1' as global variable required!")
+ End If
+ If isNull(oXControl2) then
+ Out.Log("'oXControl2' as global variable required!")
+ End If
+
+ Dim vGetControls As Variant
+ Dim oGetControl As Object
+
+ Test.StartMethod("setStatusText()")
+ bOK = true
+ oObj.setStatusText("testing XControlContainer::setStatusText(String)")
+ Test.MethodTested("setStatusText()", bOK)
+
+ Test.StartMethod("addControl()")
+ bOK = true
+ oObj.addControl("Control1", oXControl1)
+ oObj.addControl("Control2", oXControl2)
+ Test.StartMethod("getControls()")
+ vGetControls = oObj.getControls()
+Dim nControls As Integer
+ nControls = uBound(vGetControls)
+ bOK = bOK AND (nControls &gt;= 1)
+ Test.MethodTested("addControl()", bOK)
+ Test.MethodTested("getControls()", bOK)
+
+ Test.StartMethod("getControl()")
+ oGetControl = oObj.getControl("Control1")
+ bOK = bOK AND NOT isNull(oGetControl)
+ Test.MethodTested("getControl()", bOK)
+
+ Test.StartMethod("removeControl()")
+ bOK = true
+ oObj.removeControl(oXControl2)
+ Test.StartMethod("getControls()")
+ vGetControls = oObj.getControls()
+ bOK = bOK AND ((nControls - ubound(vGetControls)) = 1)
+ Test.MethodTested("removeControl()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XControlContainer/script.xlb b/qadevOOo/tests/basic/ifc/awt/XControlContainer/script.xlb
new file mode 100644
index 000000000000..a9d5ee8ca37b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XControlContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XControlContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XControlContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XCurrencyField/awt_XCurrencyField.xba b/qadevOOo/tests/basic/ifc/awt/XCurrencyField/awt_XCurrencyField.xba
new file mode 100644
index 000000000000..94e0acfe8bc2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XCurrencyField/awt_XCurrencyField.xba
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XCurrencyField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XCurrencyField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getValue()")
+ Dim value As Double
+ value = oObj.getValue()
+ bOK = True
+ Test.MethodTested("getValue()", bOK)
+
+ Test.StartMethod("setValue()")
+ oObj.setValue(value + 1.1)
+ bOK = oObj.getValue() = (value + 1.1)
+ Test.MethodTested("setValue()", bOK)
+
+ Test.StartMethod("getMin()")
+ Dim min As Double
+ min = oObj.getMin()
+ bOK = True
+ Test.MethodTested("getMin()", bOK)
+
+ Test.StartMethod("setMin()")
+ oObj.setMin(min + 1.1)
+ bOK = oObj.getMin() = (min + 1.1)
+ Test.MethodTested("setMin()", bOK)
+
+ Test.StartMethod("getMax()")
+ Dim max As Double
+ max = oObj.getMax()
+ bOK = True
+ Test.MethodTested("getMax()", bOK)
+
+ Test.StartMethod("setMax()")
+ oObj.setMax(max + 1.1)
+ bOK = oObj.getMax() = (max + 1.1)
+ Test.MethodTested("setMax()", bOK)
+
+ Test.StartMethod("getFirst()")
+ Dim first As Double
+ first = oObj.getFirst()
+ bOK = True
+ Test.MethodTested("getFirst()", bOK)
+
+ Test.StartMethod("setFirst()")
+ oObj.setFirst(first + 1.1)
+ bOK = oObj.getFirst() = first + 1.1
+ Test.MethodTested("setFirst()", bOK)
+
+ Test.StartMethod("getLast()")
+ Dim last As Double
+ last = oObj.getLast()
+ bOK = True
+ Test.MethodTested("getLast()", bOK)
+
+ Test.StartMethod("setLast()")
+ oObj.setLast(last + 1.1)
+ bOK = oObj.getLast() = (last + 1.1)
+ Test.MethodTested("setLast()", bOK)
+
+ Test.StartMethod("getSpinSize()")
+ Dim spinSize As Double
+ spinSize = oObj.getSpinSize()
+ bOK = True
+ Test.MethodTested("getSpinSize()", bOK)
+
+ Test.StartMethod("setSpinSize()")
+ oObj.setSpinSize(spinSize + 1.1)
+ bOK = oObj.getSpinSize() = (spinSize + 1.1)
+ Test.MethodTested("setSpinSize()", bOK)
+
+ Test.StartMethod("getDecimalDigits()")
+ Dim digits As Integer
+ digits = oObj.getDecimalDigits()
+ bOK = True
+ Test.MethodTested("getDecimalDigits()", bOK)
+
+ Test.StartMethod("setDecimalDigits()")
+ oObj.setDecimalDigits(digits + 1)
+ bOK = oObj.getDecimalDigits() = (digits + 1)
+ Test.MethodTested("setDecimalDigits()", bOK)
+
+ Test.StartMethod("isStrictFormat()")
+ Dim strict As Boolean
+ strict = oObj.isStrictFormat()
+ bOK = True
+ Test.MethodTested("isStrictFormat()", bOK)
+
+ Test.StartMethod("setStrictFormat()")
+ oObj.setStrictFormat(Not strict)
+ bOK = oObj.isStrictFormat() &lt;&gt; strict
+ Test.MethodTested("setStrictFormat()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XCurrencyField/script.xlb b/qadevOOo/tests/basic/ifc/awt/XCurrencyField/script.xlb
new file mode 100644
index 000000000000..54cb2fa783c1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XCurrencyField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XCurrencyField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XCurrencyField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/awt_XDataTransferProviderAccess.xba b/qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/awt_XDataTransferProviderAccess.xba
new file mode 100644
index 000000000000..7184cc654875
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/awt_XDataTransferProviderAccess.xba
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XDataTransferProviderAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XDataTransferProviderAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ ' Here create a window for testing getDragGestureRecognizer(), getDragSource(), getDropTarget() methods
+ Dim oWndDescr As new com.sun.star.awt.WindowDescriptor
+ Dim oBounds As new com.sun.star.awt.Rectangle
+ oWndDescr.Type = com.sun.star.awt.WindowClass.TOP
+ oWndDescr.WindowServiceName = ""
+ oWndDescr.ParentIndex = -1
+ oBounds.X = 10 : oBounds.Y = 20
+ oBounds.Width = 110 : oBounds.Height = 120
+ oWndDescr.Bounds = oBounds
+ with com.sun.star.awt.WindowAttribute
+ oWndDescr.WindowAttributes = .CLOSEABLE AND .MOVEABLE AND .SIZEABLE AND .BORDER AND .SHOW
+ end with
+
+ Dim oWnd As Object
+ oWnd = oObj.createWindow(oWndDescr)
+
+ Test.StartMethod("getDragGestureRecognizer()")
+ bOK = true
+ Dim oRecognizer As Object
+ oRecognizer = oObj.getDragGestureRecognizer(oWnd)
+ Out.Log("Recognizer is NULL : " &amp; isNULL(oRecognizer))
+ bOK = bOK AND NOT isNULL(oRecognizer)
+ if (bOK) then
+ bOK = bOK AND hasUnoInterfaces(oRecognizer, "com.sun.star.datatransfer.dnd.XDragGestureRecognizer")
+ if (NOT bOK) then Out.Log("Returned object doesn't support XDragGestureRecognizer interface.")
+ end if
+ Test.MethodTested("getDragGestureRecognizer()", bOK)
+
+ Test.StartMethod("getDragSource()")
+ bOK = true
+ Dim oDragSource As Object
+ oDragSource = oObj.getDragSource(oWnd)
+ Out.Log("DragSource is NULL : " &amp; isNULL(oDragSource))
+ bOK = bOK AND NOT isNULL(oDragSource)
+ if (bOK) then
+ bOK = bOK AND hasUnoInterfaces(oDragSource, "com.sun.star.datatransfer.dnd.XDragSource")
+ if (NOT bOK) then Out.Log("Returned object doesn't support XDragSource interface.")
+ end if
+ Test.MethodTested("getDragSource()", bOK)
+
+ Test.StartMethod("getDropTarget()")
+ bOK = true
+ Dim oDropTarget As Object
+ oDropTarget = oObj.getDropTarget(oWnd)
+ Out.Log("DropTarget is NULL : " &amp; isNULL(oDropTarget))
+ bOK = bOK AND NOT isNULL(oDropTarget)
+ if (bOK) then
+ bOK = bOK AND hasUnoInterfaces(oDropTarget, "com.sun.star.datatransfer.dnd.XDropTarget")
+ if (NOT bOK) then Out.Log("Returned object doesn't support XDropTarget interface.")
+ end if
+ Test.MethodTested("getDropTarget()", bOK)
+
+ Test.StartMethod("getClipboard()")
+ bOK = true
+ Dim oClipboard As Object
+ oClipboard = oObj.getClipboard("")
+ Out.Log("Clipboard is NULL : " &amp; isNULL(oClipboard))
+ bOK = bOK AND NOT isNULL(oClipboard)
+ if (bOK) then
+ bOK = bOK AND hasUnoInterfaces(oClipboard, "com.sun.star.datatransfer.clipboard.XClipboard")
+ if (NOT bOK) then Out.Log("Returned object doesn't support XClipboard interface.")
+ end if
+ Test.MethodTested("getClipboard()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/script.xlb b/qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/script.xlb
new file mode 100644
index 000000000000..e574ae92bd2b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XDataTransferProviderAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XDataTransferProviderAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XDataTransferProviderAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XDateField/awt_XDateField.xba b/qadevOOo/tests/basic/ifc/awt/XDateField/awt_XDateField.xba
new file mode 100644
index 000000000000..c6b2d9589415
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XDateField/awt_XDateField.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XDateField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XDateField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("setDate()")
+ bOK = true
+ oObj.setDate(5087)
+ Test.StartMethod("getDate()")
+ bOK = bOK AND (oObj.getDate() = 5087)
+ Test.MethodTested("setDate()", bOK)
+ Test.MethodTested("getDate()", bOK)
+
+ Test.StartMethod("setMin()")
+ bOK = true
+ oObj.setMin(4978)
+ Test.StartMethod("getMin()")
+ bOK = bOK AND (oObj.getMin() = 4978)
+ Test.MethodTested("setMin()", bOK)
+ Test.MethodTested("getMin()", bOK)
+
+ Test.StartMethod("setMax()")
+ bOK = true
+ oObj.setMax(27856)
+ Test.StartMethod("getMax()")
+ bOK = bOK AND (oObj.getMax() = 27856)
+ Test.MethodTested("setMax()", bOK)
+ Test.MethodTested("getMax()", bOK)
+
+ Test.StartMethod("setFirst()")
+ bOK = true
+ oObj.setFirst(5118)
+ Test.StartMethod("getFirst()")
+ bOK = bOK AND (oObj.getfirst() = 5118)
+ Test.MethodTested("setFirst()", bOK)
+ Test.MethodTested("getFirst()", bOK)
+
+ Test.StartMethod("setLast()")
+ bOK = true
+ oObj.setLast(23450)
+ Test.StartMethod("getLast()")
+ bOK = bOK AND (oObj.getLast() = 23450)
+ Test.MethodTested("setLast()", bOK)
+ Test.MethodTested("getLast()", bOK)
+
+ Test.StartMethod("setLongFormat()")
+ bOK = true
+ oObj.setLongFormat(true)
+ Test.StartMethod("isLongFormat()")
+ bOK = bOK AND oObj.isLongFormat()
+ oObj.setLongFormat(false)
+ bOK = bOK AND NOT oObj.isLongFormat()
+ Test.MethodTested("setLongFormat()", bOK)
+ Test.MethodTested("isLongFormat()", bOK)
+
+ Test.StartMethod("isEmpty()")
+ bOK = true
+ oObj.setDate(6321)
+ bOK = bOK AND NOT oObj.isEmpty()
+ Test.StartMethod("setEmpty()")
+ oObj.setEmpty()
+ Test.MethodTested("setEmpty()", bOK)
+ Test.MethodTested("isEmpty()", bOK)
+
+ Test.StartMethod("setStrictFormat()")
+ bOK = true
+ oObj.setStrictFormat(true)
+ Test.StartMethod("isStrictFormat()")
+ bOK = bOK AND oObj.isStrictFormat()
+ oObj.setStrictFormat(false)
+ bOK = bOK AND NOT oObj.isStrictFormat()
+ Test.MethodTested("setStrictFormat()", bOK)
+ Test.MethodTested("isStrictFormat()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XDateField/script.xlb b/qadevOOo/tests/basic/ifc/awt/XDateField/script.xlb
new file mode 100644
index 000000000000..afba59a0a5b0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XDateField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XDateField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XDateField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XDialog/awt_XDialog.xba b/qadevOOo/tests/basic/ifc/awt/XDialog/awt_XDialog.xba
new file mode 100644
index 000000000000..2e4e4608324d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XDialog/awt_XDialog.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XDialog" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XDialog
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("setTitle()")
+ oObj.setTitle("XDialog test")
+ bOK = True
+ Test.MethodTested("setTitle()", bOK)
+
+ Test.StartMethod("getTitle()")
+ bOK = oObj.getTitle() = "XDialog test"
+ Test.MethodTested("getTitle()", bOK)
+
+ Test.StartMethod("execute()")
+ bOK = True
+ Test.MethodTested("execute()", bOK)
+
+ Test.StartMethod("endExecute()")
+ bOK = True
+ Test.MethodTested("endExecute()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XDialog/script.xlb b/qadevOOo/tests/basic/ifc/awt/XDialog/script.xlb
new file mode 100644
index 000000000000..6a9a7b8477c2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XDialog/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XDialog" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XDialog"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XFixedText/awt_XFixedText.xba b/qadevOOo/tests/basic/ifc/awt/XFixedText/awt_XFixedText.xba
new file mode 100644
index 000000000000..c318aec30576
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XFixedText/awt_XFixedText.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XFixedText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XFixedText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getText()")
+ Dim strText As String
+ strText = oObj.getText()
+ If IsNULL(strText) Then
+ strText = "XFixedText"
+ EndIf
+ bOK = True
+ Test.MethodTested("getText()", bOK)
+
+ Test.StartMethod("setText()")
+ bOK = true
+ oObj.setText(strText + "_")
+ bOK = oObj.getText() = (strText + "_")
+ Test.MethodTested("setText()", bOK)
+
+ Test.StartMethod("getAlignment()")
+ Dim align As Integer
+ align = oObj.getAlignment()
+ bOK = True
+ Test.MethodTested("getAlignment()", bOK)
+
+ Test.StartMethod("setAlignment()")
+ If align = com.sun.star.awt.TextAlign.CENTER Then
+ align = com.sun.star.awt.TextAlign.LEFT
+ Else
+ align = com.sun.star.awt.TextAlign.CENTER
+ EndIf
+ oObj.setAlignment(align)
+ bOK = oObj.getAlignment() = align
+ Test.MethodTested("setAlignment()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XFixedText/script.xlb b/qadevOOo/tests/basic/ifc/awt/XFixedText/script.xlb
new file mode 100644
index 000000000000..7692bb7aabc4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XFixedText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XFixedText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XFixedText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XItemListener/awt_XItemListener.xba b/qadevOOo/tests/basic/ifc/awt/XItemListener/awt_XItemListener.xba
new file mode 100644
index 000000000000..b40c8505ee24
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XItemListener/awt_XItemListener.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XItemListener" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+'Global bIL_itemStateChanged As Boolean
+'Global oEventItemListener As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XItemListener
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim event As new com.sun.star.awt.ItemEvent
+ event.Selected = 1
+ event.Highlighted = 2
+ Test.StartMethod("itemStateChanged()")
+ oObj.itemStateChanged(event)
+ wait(200)
+ if isNull(oEventItemListener) OR isEmpty(oEventItemListener) then
+ Out.Log("Event object is NULL, listener was called: " + bIL_itemStateChanged)
+ bOK = false
+ else
+ bOK = bIL_itemStateChanged And (oEventItemListener.Selected = 1) And (oEventItemListener.Highlighted = 2)
+ end if
+ Test.MethodTested("itemStateChanged()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XItemListener/script.xlb b/qadevOOo/tests/basic/ifc/awt/XItemListener/script.xlb
new file mode 100644
index 000000000000..efe46b4089dd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XItemListener/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XItemListener" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XItemListener"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/awt_XLayoutConstrains.xba b/qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/awt_XLayoutConstrains.xba
new file mode 100644
index 000000000000..df864affc44e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/awt_XLayoutConstrains.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XLayoutConstrains" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XLayoutConstrains
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSize As Object
+
+ Test.StartMethod("getMinimumSize()")
+ bOK = true
+ oSize = oObj.com_sun_star_awt_XLayoutConstrains_getMinimumSize()
+ Out.Log("Size is (" &amp; oSize.Width &amp; " X " &amp; oSize.Height &amp; ")")
+ Test.MethodTested("getMinimumSize()", bOK)
+
+ Test.StartMethod("getPreferredSize()")
+ bOK = true
+ oSize = oObj.getPreferredSize()
+ Out.Log("Size is (" &amp; oSize.Width &amp; " X " &amp; oSize.Height &amp; ")")
+ Test.MethodTested("getPreferredSize()", bOK)
+
+ Test.StartMethod("calcAdjustedSize()")
+ bOK = true
+ oSize = oObj.calcAdjustedSize(oSize)
+ Out.Log("Size is (" &amp; oSize.Width &amp; " X " &amp; oSize.Height &amp; ")")
+ Test.MethodTested("calcAdjustedSize()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/script.xlb b/qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/script.xlb
new file mode 100644
index 000000000000..f303a250268e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XLayoutConstrains/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XLayoutConstrains" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XLayoutConstrains"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XListBox/awt_XListBox.xba b/qadevOOo/tests/basic/ifc/awt/XListBox/awt_XListBox.xba
new file mode 100644
index 000000000000..f7ebe0b1603d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XListBox/awt_XListBox.xba
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XListBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim bIL_itemStateChanged, bAL_actionPerformed As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XListBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("addItemListener()")
+ Dim oIListener As Object
+ oIListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
+ bIL_itemStateChanged = False
+ oObj.addItemListener(oIListener)
+ Out.Log("Can be checked only interactively !!!")
+ bOK = True
+ Test.MethodTested("addItemListener()", bOK)
+
+ Test.StartMethod("removeItemListener()")
+ oObj.removeItemListener(oIListener)
+ bOK = True
+ Test.MethodTested("removeItemListener()", bOK)
+
+ Test.StartMethod("addActionListener()")
+ Dim oAListener As Object
+ oAListener = createUnoListener("AL_", "com.sun.star.awt.XActionListener")
+ bAL_actionPerformed = False
+ Out.Log("Can be checked only interactively !!!")
+ oObj.addActionListener(oAListener)
+ bOK = True
+ Test.MethodTested("addActionListener()", bOK)
+
+ Test.StartMethod("removeActionListener()")
+ oObj.removeActionListener(oAListner)
+ bOK = True
+ Test.MethodTested("removeActionListener()", bOK)
+
+ Test.StartMethod("getItemCount()")
+ Dim itemCount As Integer
+ itemCount = oObj.getItemCount()
+ bOK = itemCount &gt; 0 Or itemCount = 0
+ Test.MethodTested("getItemCount()", bOK)
+
+ Test.StartMethod("addItem()")
+ oObj.addItem("Item1", itemCount)
+ bOK = oObj.getItemCount() = (itemCount + 1)
+ Test.MethodTested("addItem()", bOK)
+
+ Test.StartMethod("addItems()")
+ Dim oldCount As Integer
+ oldCount = oObj.getItemCount()
+ Dim items As Variant
+ items = Array("Item2", "Item3")
+ oObj.addItems(items, oldCount)
+ bOK = oObj.getItemCount() = (oldCount + 2)
+ Test.MethodTested("addItems()", bOK)
+
+ Test.StartMethod("getItem()")
+ Dim item As String
+ item = oObj.getItem(itemCount)
+ bOK = (item = "Item1")
+ Test.MethodTested("getItem()", bOK)
+
+ Test.StartMethod("getItems()")
+ Dim itms As Variant
+ itms = oObj.getItems()
+ bOK = True
+ Dim i As Integer
+ Dim iName As String
+ For i = itemCount to itemCount + 2
+ iName = "Item" + (i + 1)
+ bOK = bOK And (iName = itms(i))
+ Next i
+ Test.MethodTested("getItems()", bOK)
+
+ Test.StartMethod("getSelectedItemPos()")
+ oObj.selectItemPos(1, True)
+ bOK = (oObj.getSelectedItemPos() = 1)
+ Test.MethodTested("getSelectedItemPos()", bOK)
+
+ Test.StartMethod("setMultipleMode()")
+ oObj.setMultipleMode(True)
+ bOK = True
+ Test.MethodTested("setMultipleMode()", bOK)
+
+ Test.StartMethod("selectItemsPos()")
+ Dim selItems As Variant
+ selItems = Array(0, 2)
+ oObj.selectItemsPos(selItems, True)
+ bOK = True
+ Test.MethodTested("selectItemsPos()", bOK)
+
+ Test.StartMethod("getSelectedItemsPos()")
+ Dim cnt As Integer
+ cnt = oObj.getItemCount()
+ For i = 0 to cnt
+ oObj.selectItemPos(i, False)
+ Next i
+ selItems = Array(0, 2)
+ oObj.selectItemsPos(selItems, True)
+ Dim selItemsPos As Variant
+ selItemsPos = oObj.getSelectedItemsPos()
+ Out.Log("Selected items position:")
+ For i = 0 to ubound(selItemsPos)
+ Out.log(selItemsPos(i))
+ Next i
+ bOK = (ubound(selItemsPos) = 1) And (selItemsPos(0) = "0") And (selItemsPos(1) = "2")
+ Test.MethodTested("getSelectedItemsPos()", bOK)
+
+ Test.StartMethod("selectItem()")
+ bOK = true
+ oObj.selectItem("Item3", True)
+ Test.MethodTested("selectItem()", bOK)
+
+ Test.StartMethod("getSelectedItem()")
+ cnt = oObj.getItemCount()
+ For i = 0 to cnt
+ oObj.selectItemPos(i, False)
+ Next i
+ oObj.selectItem("Item3", True)
+ bOK = (oObj.getSelectedItem() = "Item3")
+ Test.MethodTested("getSelectedItem()", bOK)
+
+ Test.StartMethod("getSelectedItems()")
+ bOK = true
+ cnt = oObj.getItemCount()
+ For i = 0 to cnt
+ oObj.selectItemPos(i, False)
+ Next i
+ oObj.selectItemsPos(selItems, True)
+ items = oObj.getSelectedItems()
+ Out.Log("Selected items:")
+ For i = 0 to ubound(items)
+ Out.log(items(i))
+ Next i
+ bOK = (ubound(items) = 1) And (oObj.getItem(0) = items(0)) And (oObj.getItem(2) = items(1))
+ Test.MethodTested("getSelectedItems()", bOK)
+
+ Test.StartMethod("selectItemPos()")
+ cnt = oObj.getItemCount()
+ For i = 0 to cnt
+ oObj.selectItemPos(i, False)
+ Next i
+ oObj.selectItemPos(1, True)
+ bOK = True
+ Test.MethodTested("selectItemPos()", bOK)
+
+ Test.StartMethod("isMutipleMode()")
+ bOK = oObj.isMutipleMode()
+ Test.MethodTested("isMutipleMode()", bOK)
+
+ Test.StartMethod("makeVisible()")
+ bOK = true
+ oObj.makeVisible(2)
+ Test.MethodTested("makeVisible()", bOK)
+
+ Test.StartMethod("getDropDownLineCount()")
+ Dim lineCount As Integer
+ lineCount = oObj.getDropDownLineCount()
+ bOK = True
+ Test.MethodTested("getDropDownLineCount()", bOK)
+
+ Test.StartMethod("setDropDownLineCount()")
+ oObj.setDropDownLineCount(lineCount + 1)
+ bOK = oObj.getDropDownLineCount() = (lineCount + 1)
+ Test.MethodTested("setDropDownLineCount()", bOK)
+
+ Test.StartMethod("removeItems()")
+ cnt = oObj.getItemCount()
+ oObj.removeItems(0, cnt)
+ bOK = oObj.getItemCount() = 0
+ Test.MethodTested("removeItems()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub IL_itemStateChanged
+ bIL_itemStateChanged = True
+ Out.Log("CallBack for ItemListener itemStateChanged was called.")
+End Sub
+
+Sub AL_actionPerformed
+ bAL_actionPerformed = True
+ Out.Log("CallBack for ActionListener actionPerformed was called.")
+End Sub
+
+Sub AL_disposing
+End Sub
+
+Sub IL_disposing
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XListBox/script.xlb b/qadevOOo/tests/basic/ifc/awt/XListBox/script.xlb
new file mode 100644
index 000000000000..ddb31adf4ec6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XListBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XListBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XListBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XNumericField/awt_XNumericField.xba b/qadevOOo/tests/basic/ifc/awt/XNumericField/awt_XNumericField.xba
new file mode 100644
index 000000000000..672245ed381b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XNumericField/awt_XNumericField.xba
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XNumericField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XNumericField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldVal, newVal As Variant
+
+ Test.StartMethod("getValue()")
+ Test.StartMethod("setValue()")
+ bOK = true
+ oldVal = oObj.getValue()
+ Out.Log("value before: "+oldVal)
+ oObj.setValue(oldVal+20)
+ newVal = oObj.getValue()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setValue()", bOK)
+ Test.MethodTested("getValue()", bOK)
+
+ Test.StartMethod("getMin()")
+ Test.StartMethod("setMin()")
+ bOK = true
+ oldVal = oObj.getMin()
+ Out.Log("value before: "+oldVal)
+ oObj.setMin(oldVal+20)
+ newVal = oObj.getMin()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setMin()", bOK)
+ Test.MethodTested("getMin()", bOK)
+
+ Test.StartMethod("getMax()")
+ Test.StartMethod("setMax()")
+ bOK = true
+ oldVal = oObj.getMax()
+ Out.Log("value before: "+oldVal)
+ oObj.setMax(oldVal+20)
+ newVal = oObj.getMax()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setMax()", bOK)
+ Test.MethodTested("getMax()", bOK)
+
+ Test.StartMethod("getFirst()")
+ Test.StartMethod("setFirst()")
+ bOK = true
+ oldVal = oObj.getFirst()
+ Out.Log("value before: "+oldVal)
+ oObj.setFirst(oldVal+20)
+ newVal = oObj.getFirst()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setFirst()", bOK)
+ Test.MethodTested("getFirst()", bOK)
+
+ Test.StartMethod("getLast()")
+ Test.StartMethod("setLast()")
+ bOK = true
+ oldVal = oObj.getLast()
+ Out.Log("value before: "+oldVal)
+ oObj.setLast(oldVal+20)
+ newVal = oObj.getLast()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setLast()", bOK)
+ Test.MethodTested("getLast()", bOK)
+
+ Test.StartMethod("getSpinSize()")
+ Test.StartMethod("setSpinSize()")
+ bOK = true
+ oldVal = oObj.getSpinSize()
+ Out.Log("value before: "+oldVal)
+ oObj.setSpinSize(oldVal+20)
+ newVal = oObj.getSpinSize()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setSpinSize()", bOK)
+ Test.MethodTested("getSpinSize()", bOK)
+
+ Test.StartMethod("getDecimalDigits()")
+ Test.StartMethod("setDecimalDigits()")
+ bOK = true
+ oldVal = oObj.getDecimalDigits()
+ Out.Log("value before: "+oldVal)
+ oObj.setDecimalDigits(oldVal+20)
+ newVal = oObj.getDecimalDigits()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setDecimalDigits()", bOK)
+ Test.MethodTested("getDecimalDigits()", bOK)
+
+ Test.StartMethod("isStrictFormat()")
+ Test.StartMethod("setStrictFormat()")
+ bOK = true
+ oldVal = oObj.isStrictFormat()
+ Out.Log("value before: "+oldVal)
+ if (oldVal) then
+ oObj.setStrictFormat(false)
+ else
+ oObj.setStrictFormat(true)
+ endif
+ newVal = oObj.isStrictFormat()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setStrictFormat()", bOK)
+ Test.MethodTested("isStrictFormat()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XNumericField/script.xlb b/qadevOOo/tests/basic/ifc/awt/XNumericField/script.xlb
new file mode 100644
index 000000000000..3c306c572dc4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XNumericField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XNumericField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XNumericField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XPatternField/awt_XPatternField.xba b/qadevOOo/tests/basic/ifc/awt/XPatternField/awt_XPatternField.xba
new file mode 100644
index 000000000000..142cce73bf34
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XPatternField/awt_XPatternField.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XPatternField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XPatternField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldVal, newVal As Variant
+ Dim eMask, lMask, eMaskOld, lMaskOld As String
+
+ Test.StartMethod("getMasks()")
+ Test.StartMethod("setMasks()")
+ bOK = true
+ oObj.getMasks(eMaskOld, lMaskOld)
+ Out.Log("value before: {"+eMaskOld+", "+lMaskOld+"}")
+ oObj.setMasks(eMaskOld+"__NEW", lMaskOld+"__NEW")
+ oObj.getMasks(eMask, lMask)
+ Out.Log("value after: {"+eMask+", "+lMask+"}")
+ bOK = bOK AND (eMask &lt;&gt; eMaskOld) AND (lMask &lt;&gt; lMaskOld)
+ Test.MethodTested("setMasks()", bOK)
+ Test.MethodTested("getMasks()", bOK)
+
+ Test.StartMethod("getString()")
+ Test.StartMethod("setString()")
+ bOK = true
+ oldVal = oObj.getString()
+ Out.Log("value before: "+oldVal)
+ oObj.setString(oldVal+"__NEW")
+ newVal = oObj.getString()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setString()", bOK)
+ Test.MethodTested("getString()", bOK)
+
+ Test.StartMethod("isStrictFormat()")
+ Test.StartMethod("setStrictFormat()")
+ bOK = true
+ oldVal = oObj.isStrictFormat()
+ Out.Log("value before: "+oldVal)
+ if (oldVal) then
+ oObj.setStrictFormat(false)
+ else
+ oObj.setStrictFormat(true)
+ endif
+ newVal = oObj.isStrictFormat()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setStrictFormat()", bOK)
+ Test.MethodTested("isStrictFormat()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XPatternField/script.xlb b/qadevOOo/tests/basic/ifc/awt/XPatternField/script.xlb
new file mode 100644
index 000000000000..5ff8b132fb5e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XPatternField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XPatternField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XPatternField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XRadioButton/awt_XRadioButton.xba b/qadevOOo/tests/basic/ifc/awt/XRadioButton/awt_XRadioButton.xba
new file mode 100644
index 000000000000..df81b1fe7ea0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XRadioButton/awt_XRadioButton.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XRadioButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XRadioButton
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Variant
+ Dim oListener As Object
+ Dim listenerCalled As Boolean
+
+ 'Flag should be 'true', because itemStateListener called only interactively
+ listenerCalled = true
+ oListener = createUNOListener("iSC_","com.sun.star.awt.XItemListener")
+
+ Test.StartMethod("addItemListener()")
+ Test.StartMethod("removeItemListener()")
+ oObj.addItemListener(oListener)
+ oObj.removeItemListener(oListener)
+ bOK = true AND listenerCalled
+ Test.MethodTested("addItemListener()", bOK)
+ Test.MethodTested("removeItemListener()", bOK)
+
+ Test.StartMethod("getState()")
+ Test.StartMethod("setState()")
+ bOK = true
+ oldVal = oObj.getState()
+ Out.Log("value before: "+oldVal)
+ if (oldVal) then
+ oObj.setState(false)
+ else
+ oObj.setState(true)
+ endif
+ newVal = oObj.getState()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("getState()", bOK)
+ Test.MethodTested("setState()", bOK)
+
+ Test.StartMethod("setLabel()")
+ bOK = true
+ oObj.setLabel("newLabel")
+ Test.MethodTested("setLabel()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub iSC_itemStateChanged()
+ Out.Log("CallBack for oListener itemStateChanged was called.")
+ listenerCalled = true
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XRadioButton/script.xlb b/qadevOOo/tests/basic/ifc/awt/XRadioButton/script.xlb
new file mode 100644
index 000000000000..64dc7ba570bf
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XRadioButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XRadioButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XRadioButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XSpinField/awt_XSpinField.xba b/qadevOOo/tests/basic/ifc/awt/XSpinField/awt_XSpinField.xba
new file mode 100644
index 000000000000..c2322aa120ff
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XSpinField/awt_XSpinField.xba
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XSpinField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XSpinField
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Test.StartMethod("addSpinListener()")
+ Dim oListener As Object
+ oListener = createUnoListener("SL_", "com.sun.star.awt.XSpinListener")
+ initListener()
+ oObj.addSpinListener(oListener)
+ Test.MethodTested("addSpinListener()", True)
+
+ Test.StartMethod("up()")
+ oObj.up()
+ wait(1000)
+ Test.MethodTested("up()", bUpCalled)
+
+ Test.StartMethod("down()")
+ oObj.down()
+ wait(1000)
+ Test.MethodTested("down()", bDownCalled)
+
+ Test.StartMethod("first()")
+ oObj.first()
+ wait(1000)
+ Test.MethodTested("first()", bFirstCalled)
+
+ Test.StartMethod("last()")
+ oObj.last()
+ wait(1000)
+ Test.MethodTested("last()", bLastCalled)
+
+ Test.StartMethod("removeSpinListener()")
+ oObj.removeSpinListener(oListener)
+ initListener()
+ oObj.up()
+ wait(1000)
+ Test.MethodTested("removeSpinListener()", Not bUpCalled)
+
+ Test.StartMethod("enableRepeat()")
+ oObj.enableRepeat(true)
+ oObj.enableRepeat(false)
+ Test.MethodTested("enableRepeat()", True)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim bUpCalled As Boolean
+Dim bDownCalled As Boolean
+Dim bFirstCalled As Boolean
+Dim bLastCalled As Boolean
+
+Sub initListener()
+ bUpCalled = false
+ bDownCalled = false
+ bFirstCalled = false
+ bLastCalled = false
+End Sub
+
+Sub SL_up()
+ Out.log("Listener up called")
+ bUpCalled = true
+End Sub
+
+Sub SL_down()
+ Out.log("Listener down called")
+ bDownCalled = true
+End Sub
+
+Sub SL_first()
+ Out.log("Listener first called")
+ bFirstCalled = true
+End Sub
+
+Sub SL_last()
+ Out.log("Listener last called")
+ bLastCalled = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XSpinField/script.xlb b/qadevOOo/tests/basic/ifc/awt/XSpinField/script.xlb
new file mode 100644
index 000000000000..40bea8c120fe
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XSpinField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XSpinField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XSpinField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTabController/awt_XTabController.xba b/qadevOOo/tests/basic/ifc/awt/XTabController/awt_XTabController.xba
new file mode 100644
index 000000000000..50a77a5c8411
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTabController/awt_XTabController.xba
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XTabController" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oXTabControllerModel as Object
+' Global oXTabControllerContainer as Object
+' Global bHasNoModel as Boolean
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XTabController
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim vControls As Variant
+ Dim n As Integer
+
+ Out.Log("This interface is DEPRECATED !!!")
+ Out.Log("All test results are OK now")
+
+ Test.StartMethod("setModel()")
+ Test.StartMethod("getModel()")
+ oObj.setModel(oXTabControllerModel)
+ bOK = (bHasNoModel = True) or hasUnoInterfaces(oObj.getModel(), "com.sun.star.awt.XTabControllerModel")
+ Test.MethodTested("setModel()", true)
+ Test.MethodTested("getModel()", bOK)
+
+ Test.StartMethod("setContainer()")
+ Test.StartMethod("getContainer()")
+ oObj.setContainer(oXTabControllerContainer)
+ bOK = hasUnoInterfaces(oObj.getContainer(), "com.sun.star.awt.XControlContainer")
+ Test.MethodTested("setContainer()", true)
+ Test.MethodTested("getContainer()", bOK)
+
+ Test.StartMethod("getControls()")
+ bOK = true
+ vControls = oObj.getcontrols()
+ For n = uBound(vControls) To lBound(vControls)
+ bOK = bOK AND hasUnoInterfaces(vControls(n), "com.sun.star.awt.XControl")
+ Next
+ Test.MethodTested("getControls()", true)
+
+ Test.StartMethod("autoTabOrder()")
+ oObj.autoTabOrder()
+ bOK = true
+ Test.MethodTested("autoTabOrder()", true)
+
+ Test.StartMethod("activateTabOrder()")
+ oObj.activateTabOrder()
+ bOK = true
+ Test.MethodTested("activateTabOrder()", true)
+
+ Test.StartMethod("activateFirst()")
+ oObj.activateFirst()
+ bOK = true
+ Test.MethodTested("activateFirst()", true)
+
+ Test.StartMethod("activateLast()")
+ oObj.activateLast()
+ bOK = true
+ Test.MethodTested("activateLast()", true)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTabController/script.xlb b/qadevOOo/tests/basic/ifc/awt/XTabController/script.xlb
new file mode 100644
index 000000000000..e49913869b6d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTabController/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XTabController" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XTabController"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTabControllerModel/awt_XTabControllerModel.xba b/qadevOOo/tests/basic/ifc/awt/XTabControllerModel/awt_XTabControllerModel.xba
new file mode 100644
index 000000000000..df229ef05820
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTabControllerModel/awt_XTabControllerModel.xba
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XTabControllerModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global XTabControlModel1 as Object
+' Global XTabControlModel2 as Object
+
+'*************************************************************************
+
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XTabControllerModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim ModelSeq1(0), ModelSeq2(0) As Variant
+ Dim ReturnModel(), ReturnSeq2(), ReturnSeq1() As Variant
+ Dim ReturnName, cName As String
+
+ cName = "XTabControllerModel"
+
+ Test.StartMethod("setGroupControl()")
+ bOK = true
+ oObj.setGroupControl(false)
+ Test.StartMethod("getGroupControl()")
+ bOK = bOK AND NOT oObj.getGroupControl()
+ oObj.setGroupControl(true)
+ bOK = bOK AND oObj.getGroupControl()
+ Test.MethodTested("getGroupControl()", bOK)
+ Test.MethodTested("setGroupControl()", bOK)
+
+ Test.StartMethod("setControlModels()")
+ bOK = true
+ ModelSeq1(0) = XTabControlModel1
+ oObj.setControlModels(ModelSeq1())
+ Test.StartMethod("getControlModels()")
+ ReturnSeq1 = oObj.getControlModels()
+ bOK = bOk AND (uBound(ReturnSeq1()) = uBound(ModelSeq1()))
+ Test.MethodTested("setControlModels()", bOK)
+ Test.MethodTested("getControlModels()", bOK)
+
+ Test.StartMethod("setGroup()")
+ bOK = true
+ ModelSeq2(0) = XTabControlModel2
+ oObj.setGroup(ModelSeq2(), cName)
+ Test.StartMethod("getGroup()")
+ oObj.getGroup(0,ReturnSeq2(), ReturnName)
+ bOK = bOK AND (ReturnName = cName)
+ bOK = bOK AND (uBound(ReturnSeq2()) = uBound(ModelSeq2()))
+ Test.MethodTested("setGroup()", bOK)
+ Test.MethodTested("getGroup()", bOK)
+
+ Test.StartMethod("getGroupCount()")
+ bOK = true
+ bOK = bOK AND (oObj.getGroupCount() &gt; 0)
+ bOK = bOK AND isNumeric(oObj.getGroupCount())
+ Test.MethodTested("getGroupCount()", bOK)
+
+ Test.StartMethod("getGroupByName()")
+ bOK = true
+ oObj.getGroupByName(cName, ReturnModel())
+ Test.MethodTested("getGroupByName()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTabControllerModel/script.xlb b/qadevOOo/tests/basic/ifc/awt/XTabControllerModel/script.xlb
new file mode 100644
index 000000000000..43a9143774e6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTabControllerModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XTabControllerModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XTabControllerModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTextComponent/awt_XTextComponent.xba b/qadevOOo/tests/basic/ifc/awt/XTextComponent/awt_XTextComponent.xba
new file mode 100644
index 000000000000..29e77fe4b900
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTextComponent/awt_XTextComponent.xba
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XTextComponent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim bCB1_textChanged As Boolean
+Dim bCB2_textChanged As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XTextComponent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1 As Object, oListener2 As Object
+ Dim vSelection As new com.sun.star.awt.Selection
+ Dim vSelectionSelection As new com.sun.star.awt.Selection
+ Dim vGetSelection As new com.sun.star.awt.Selection
+ Dim vInsertSelection As new com.sun.star.awt.Selection
+ Dim cGetText As String
+ Dim len2set As Integer
+
+ Out.Log("create two com.sun.star.awt.XTextListener")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.awt.XTextListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.awt.XTextListener")
+
+ Test.StartMethod("setText()")
+ bOK = true
+ Dim cText As String
+ cText = "XTextComponent: setText()"
+ oObj.setText(cText)
+ Test.StartMethod("getText()")
+ bOK = bOK AND (cText = oObj.getText())
+ Test.MethodTested("setText()", bOK)
+ Test.MethodTested("getText()", bOK)
+
+ Test.StartMethod("insertText()")
+ bOK = true
+ oObj.setText("setSelection")
+ vInsertSelection.Min = 0
+ vInsertSelection.Max = 3
+ oObj.insertText(vInsertSelection,"new")
+ Out.Log("result of getText is: '" + oObj.getText() +"'. It sould be 'newSelection'")
+ bOK = bOK AND (oObj.getText() = "newSelection")
+ Test.MethodTested("insertText()", bOK)
+
+
+ Test.StartMethod("setSelection()")
+ bOK = true
+ vSelectionSelection.Min = 2
+ vSelectionSelection.Max = 3
+ oObj.setSelection(vSelectionSelection)
+ Test.StartMethod("getSelection()")
+ vGetSelection = oObj.getSelection()
+ bOK = bOK AND (vGetSelection.Min = vSelectionSelection.Min) AND _
+ (vGetSelection.Max = vSelectionSelection.Max)
+ Test.MethodTested("setSelection()", bOK)
+ Test.MethodTested("getSelection()", bOK)
+
+ Test.StartMethod("getSelectedText()")
+ bOK = true
+ oObj.setText("getSelectedText")
+ vSelectionSelection.Min = 0
+ vSelectionSelection.Max = 3
+ oObj.setSelection(vSelectionSelection)
+ Out.Log("result of getSelectedText is: '" + oObj.getSelectedText() +"'. It sould be 'get'")
+ bOK = bOK AND (oObj.getSelectedText() = "get")
+ Test.MethodTested("getSelectedText()", bOK)
+
+ Test.StartMethod("setEditable()")
+ bOK = true
+ oObj.setEditable(true)
+ Test.StartMethod("isEditable()")
+ bOK = bOK AND oObj.isEditable()
+ oObj.setEditable(false)
+ bOK = bOK AND NOT oObj.isEditable()
+ oObj.setEditable(true)
+ bOK = bOK AND oObj.isEditable()
+ Test.MethodTested("setEditable()", bOK)
+ Test.MethodTested("isEditable()", bOK)
+
+ Test.StartMethod("setMaxTextLen()")
+ bOK = true
+ if (oObj.getMaxTextLen = 12) then
+ len2set = 10
+ else
+ len2set = 12
+ endif
+ oObj.setMaxTextLen(len2set)
+ oObj.setText("0123456789ABCDE")
+ cGetText = oObj.getText()
+ Out.Log("result of Len(cGetText) is: '" + Len(cGetText) + "'. It sould be >'" + len2set+"' ")
+ bOK = bOK AND (Len(cGetText) > len2set)
+ Test.MethodTested("setMaxTextLen()", bOK)
+
+ Test.StartMethod("getMaxTextLen()")
+ bOK = true
+ if (oObj.getMaxTextLen = 12) then
+ len2set = 10
+ else
+ len2set = 12
+ endif
+ oObj.setMaxTextLen(len2set)
+ Out.Log("result of getMaxTextLen is: '" + oObj.getMaxTextLen() +"'. It sould be '"+len2set+"'")
+ bOK = bOK AND (oObj.getMaxTextLen() = len2set)
+ Test.MethodTested("getMaxTextLen()", bOK)
+
+ bCB1_textChanged = false
+ bCB2_textChanged = false
+
+ Test.StartMethod("addTextListener()")
+ bOK = true
+ oObj.addTextListener(oListener1)
+ oObj.addTextListener(oListener2)
+ oObj.setText("addTextListener")
+ Wait(500)
+ bOK = bOK AND bCB1_textChanged AND bCB2_textChanged
+ Test.MethodTested("addTextListener()", bOK)
+
+ bCB1_textChanged = false
+ bCB2_textChanged = false
+
+ Test.StartMethod("removeTextListener()")
+ bOK = true
+ oObj.removeTextListener(oListener1)
+ oObj.setText("removeTextListener")
+ Wait(500)
+ bOK = bOK AND NOT bCB1_textChanged AND bCB2_textChanged
+ oObj.removeTextListener(oListener2)
+ Test.MethodTested("removeTextListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub CB1_disposing()
+End Sub
+
+Sub CB2_disposing()
+End Sub
+
+' Listener call backs for com.sun.star.awt.XTextListener
+Sub CB1_textChanged
+ Out.Log("CallBack for Listener1 textChanged was called.")
+ bCB1_textChanged = true
+End Sub
+Sub CB2_TextChanged
+ Out.Log("CallBack for Listener2 textChanged was called.")
+ bCB2_textChanged = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTextComponent/script.xlb b/qadevOOo/tests/basic/ifc/awt/XTextComponent/script.xlb
new file mode 100644
index 000000000000..d684dbfe551a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTextComponent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XTextComponent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XTextComponent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/awt_XTextLayoutConstrains.xba b/qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/awt_XTextLayoutConstrains.xba
new file mode 100644
index 000000000000..4460b1797620
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/awt_XTextLayoutConstrains.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XTextLayoutConstrains" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XTextLayoutConstrains
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCols, nLines As Integer
+ Dim nSize As new com.sun.star.awt.Size
+
+ Test.StartMethod("getMinimumSize()")
+ bOK = true
+ nSize = oObj.com_sun_star_awt_XTextLayoutContrains_getMinimumSize(0,0)
+ bOK = bOK AND (nSize.Width &lt;&gt; 0) AND (nSize.Height &lt;&gt; 0)
+ Test.MethodTested("getMinimumSize()", bOK)
+
+ Test.StartMethod("getColumnsAndLines()")
+ bOK = true
+ oObj.getColumnsAndLines(nCols, nLines)
+ bOK = bOK AND (nCols &lt;&gt; 0) AND (nLines &lt;&gt; 0)
+ Test.MethodTested("getColumnsAndLines()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/script.xlb b/qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/script.xlb
new file mode 100644
index 000000000000..93f6fb13380c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTextLayoutConstrains/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XTextLayoutConstrains" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XTextLayoutConstrains"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTextListener/awt_XTextListener.xba b/qadevOOo/tests/basic/ifc/awt/XTextListener/awt_XTextListener.xba
new file mode 100644
index 000000000000..a5a2a5b56d5f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTextListener/awt_XTextListener.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XTextListener" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XTextListener
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim tEvent As new com.sun.star.awt.TextEvent
+
+ Test.StartMethod("textChanged()")
+ bOK = true
+ oObj.textChanged(tEvent)
+ Test.MethodTested("textChanged()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTextListener/script.xlb b/qadevOOo/tests/basic/ifc/awt/XTextListener/script.xlb
new file mode 100644
index 000000000000..3fe2449e8555
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTextListener/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XTextListener" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XTextListener"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTimeField/awt_XTimeField.xba b/qadevOOo/tests/basic/ifc/awt/XTimeField/awt_XTimeField.xba
new file mode 100644
index 000000000000..15b1847754c7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTimeField/awt_XTimeField.xba
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XTimeField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XTimeField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldVal, newVal As Variant
+
+ Test.StartMethod("getTime()")
+ Test.StartMethod("setTime()")
+ bOK = true
+ oldVal = oObj.getTime()
+ Out.Log("value before: "+oldVal)
+ oObj.setTime(oldVal+20)
+ newVal = oObj.getTime()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setTime()", bOK)
+ Test.MethodTested("getTime()", bOK)
+
+ Test.StartMethod("getMin()")
+ Test.StartMethod("setMin()")
+ bOK = true
+ oldVal = oObj.getMin()
+ Out.Log("value before: "+oldVal)
+ oObj.setMin(oldVal+20)
+ newVal = oObj.getMin()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setMin()", bOK)
+ Test.MethodTested("getMin()", bOK)
+
+ Test.StartMethod("getMax()")
+ Test.StartMethod("setMax()")
+ bOK = true
+ oldVal = oObj.getMax()
+ Out.Log("value before: "+oldVal)
+ oObj.setMax(oldVal+20)
+ newVal = oObj.getMax()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setMax()", bOK)
+ Test.MethodTested("getMax()", bOK)
+
+ Test.StartMethod("getFirst()")
+ Test.StartMethod("setFirst()")
+ bOK = true
+ oldVal = oObj.getFirst()
+ Out.Log("value before: "+oldVal)
+ oObj.setFirst(oldVal+20)
+ newVal = oObj.getFirst()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setFirst()", bOK)
+ Test.MethodTested("getFirst()", bOK)
+
+ Test.StartMethod("getLast()")
+ Test.StartMethod("setLast()")
+ bOK = true
+ oldVal = oObj.getLast()
+ Out.Log("value before: "+oldVal)
+ oObj.setLast(oldVal+20)
+ newVal = oObj.getLast()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setLast()", bOK)
+ Test.MethodTested("getLast()", bOK)
+
+
+ Test.StartMethod("isEmpty()")
+ Test.StartMethod("setEmpty()")
+ bOK = true
+ oldVal = oObj.isEmpty()
+ if ( NOT oldVal) then
+ oObj.setEmpty()
+ bOK = oObj.isEmpty()
+ endif
+ Test.MethodTested("setEmpty()", bOK)
+ Test.MethodTested("isEmpty()", bOK)
+
+ Test.StartMethod("isStrictFormat()")
+ Test.StartMethod("setStrictFormat()")
+ bOK = true
+ oldVal = oObj.isStrictFormat()
+ Out.Log("value before: "+oldVal)
+ if (oldVal) then
+ oObj.setStrictFormat(false)
+ else
+ oObj.setStrictFormat(true)
+ endif
+ newVal = oObj.isStrictFormat()
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (oldVal &lt;&gt; newVal)
+ Test.MethodTested("setStrictFormat()", bOK)
+ Test.MethodTested("isStrictFormat()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTimeField/script.xlb b/qadevOOo/tests/basic/ifc/awt/XTimeField/script.xlb
new file mode 100644
index 000000000000..1f318d574a02
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTimeField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XTimeField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XTimeField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XToolkit/awt_XToolkit.xba b/qadevOOo/tests/basic/ifc/awt/XToolkit/awt_XToolkit.xba
new file mode 100644
index 000000000000..57afd42d5139
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XToolkit/awt_XToolkit.xba
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XToolkit" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XToolkit
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getDesktopWindow()")
+ bOK = true
+ Dim oWindow As Object
+ oWindow = oObj.getDesktopWindow()
+ Out.Log("Desktop window is NULL : " &amp; isNULL(oWindow))
+ ' Has "OK" status always, because Desktop component
+ ' currently is not supported as visible.
+ Test.MethodTested("getDesktopWindow()", bOK)
+
+ Test.StartMethod("getWorkArea()")
+ bOK = true
+ Dim oRect As Object
+ oRect = oObj.getWorkArea()
+ Out.Log("WorkArea is NULL : " &amp; isNULL(oRect))
+ if (NOT isNULL(oRect)) then
+ Out.Log("Returned rectangle is: (" &amp; oRect.X &amp; ", " &amp; oRect.Y &amp; ", " &amp; oRect.Width &amp; ", " &amp; oRect.Height &amp; ")")
+ end if
+ Test.MethodTested("getWorkArea()", bOK)
+
+ Test.StartMethod("createWindow()")
+ bOK = true
+ Dim oWndDescr As new com.sun.star.awt.WindowDescriptor
+ Dim oBounds As new com.sun.star.awt.Rectangle
+ oWndDescr.Type = com.sun.star.awt.WindowClass.TOP
+ oWndDescr.WindowServiceName = ""
+ oWndDescr.ParentIndex = -1
+ oBounds.X = 10 : oBounds.Y = 20
+ oBounds.Width = 110 : oBounds.Height = 120
+ oWndDescr.Bounds = oBounds
+ with com.sun.star.awt.WindowAttribute
+ oWndDescr.WindowAttributes = .CLOSEABLE AND .MOVEABLE AND .SIZEABLE AND .BORDER AND .SHOW
+ end with
+
+ Dim oWnd As Object
+ oWnd = oObj.createWindow(oWndDescr)
+ Out.Log("Window is NULL : " &amp; isNULL(oWnd))
+ bOK = bOK AND NOT isNULL(oWnd)
+ if (bOK) then
+ bOK = bOK AND hasUnoInterfaces(oWnd, "com.sun.star.awt.XWindowPeer")
+ if (NOT bOK) then Out.Log("Returned object doesn't support XWindowPeer interface.")
+ end if
+ Test.MethodTested("createWindow()", bOK)
+
+ Test.StartMethod("createWindows()")
+ bOK = true
+ Dim oWndDescrs(1) As Object
+ Dim oWndDescr1 As new com.sun.star.awt.WindowDescriptor
+ Dim oBounds1 As new com.sun.star.awt.Rectangle
+ oWndDescr1.Type = com.sun.star.awt.WindowClass.TOP
+ oWndDescr1.WindowServiceName = ""
+ 'oWndDescr1.Parent = 0
+ oWndDescr1.ParentIndex = -1
+ oBounds1.X = 10 : oBounds1.Y = 20
+ oBounds1.Width = 110 : oBounds1.Height = 120
+ oWndDescr1.Bounds = oBounds1
+ with com.sun.star.awt.WindowAttribute
+ oWndDescr1.WindowAttributes = .CLOSEABLE AND .MOVEABLE AND .SIZEABLE AND .BORDER AND .SHOW
+ end with
+ Dim oWndDescr2 As new com.sun.star.awt.WindowDescriptor
+ Dim oBounds2 As new com.sun.star.awt.Rectangle
+ oWndDescr2.Type = com.sun.star.awt.WindowClass.TOP
+ oWndDescr2.WindowServiceName = ""
+ 'oWndDescr2.Parent = 0
+ oWndDescr2.ParentIndex = -1
+ oBounds2.X = 10 : oBounds2.Y = 20
+ oBounds2.Width = 110 : oBounds2.Height = 120
+ oWndDescr2.Bounds = oBounds2
+ with com.sun.star.awt.WindowAttribute
+ oWndDescr2.WindowAttributes = .CLOSEABLE AND .MOVEABLE AND .SIZEABLE AND .BORDER AND .SHOW
+ end with
+
+ oWndDescrs(0) = oWndDescr1
+ oWndDescrs(1) = oWndDescr2
+
+ Dim oWindows As Object
+
+ oWindows = oObj.createWindows(oWndDescrs())
+ bOK = bOK AND ubound(oWindows) = 1
+ bOK = bOK AND hasUnoInterfaces(oWindows(0), "com.sun.star.awt.XWindowPeer")
+ bOK = bOK AND hasUnoInterfaces(oWindows(1), "com.sun.star.awt.XWindowPeer")
+
+ Test.MethodTested("createWindows()", bOK)
+
+ Test.StartMethod("createScreenCompatibleDevice()")
+ bOK = true
+ Dim oDevice As Object
+ oDevice = oObj.createScreenCompatibleDevice(123, 456)
+ Out.Log("Device is NULL : " &amp; isNULL(oDevice))
+ bOK = bOK AND NOT isNULL(oDevice)
+ if (bOK) then
+ bOK = bOK AND hasUnoInterfaces(oDevice, "com.sun.star.awt.XDevice")
+ if (NOT bOK) then Out.Log("Returned object doesn't support XDevice interface.")
+ end if
+ Test.MethodTested("createScreenCompatibleDevice()", bOK)
+
+ Test.StartMethod("createRegion()")
+ bOK = true
+ Dim oRegion As Object
+ oRegion = oObj.createRegion()
+ Out.Log("Region is NULL : " &amp; isNULL(oRegion))
+ bOK = bOK AND NOT isNULL(oRegion)
+ if (bOK) then
+ bOK = bOK AND hasUnoInterfaces(oRegion, "com.sun.star.awt.XRegion")
+ if (NOT bOK) then Out.Log("Returned object doesn't support XRegion interface.")
+ if (bOK) then
+ oRect = oRegion.getBounds
+ Out.Log("Returned region's bounds are: (" &amp; oRect.X &amp; ", " &amp; oRect.Y &amp; ", " &amp; oRect.Width &amp; ", " &amp; oRect.Height &amp; ")")
+ end if
+ end if
+
+ Test.MethodTested("createRegion()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XToolkit/script.xlb b/qadevOOo/tests/basic/ifc/awt/XToolkit/script.xlb
new file mode 100644
index 000000000000..24a288f1f84a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XToolkit/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XToolkit" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XToolkit"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTopWindow/awt_XTopWindow.xba b/qadevOOo/tests/basic/ifc/awt/XTopWindow/awt_XTopWindow.xba
new file mode 100644
index 000000000000..7e69cee5760b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTopWindow/awt_XTopWindow.xba
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XTopWindow" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XTopWindow
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim list1 As Object, list2 As Object
+ Dim aDoc As Object
+
+ list1 = createUnoListener("L1_", "com.sun.star.awt.XTopWindowListener")
+ list2 = createUnoListener("L2_", "com.sun.star.awt.XTopWindowListener")
+
+ l1Called = false
+ l2Called = false
+
+ Test.StartMethod("addTopWindowListener()")
+ bOK = true
+
+ oObj.addTopWindowListener(list1)
+ oObj.addTopWindowListener(list2)
+
+ Test.StartMethod("removeTopWindowListener()")
+ oObj.removeTopWindowListener(list1)
+
+ Out.Log("Creating a doc ...")
+ aDoc = utils.createDocument("swriter", "Window On Top")
+ Out.Log("Doc created.")
+ wait(1000)
+
+ Test.StartMethod("toFront()")
+ bOK = true
+ activated = false
+ deactivated = false
+ oObj.toFront()
+ wait(1000)
+ bOK = bOK AND activated AND NOT deactivated
+ Test.MethodTested("toFront()", bOK)
+
+ Test.StartMethod("toBack()")
+ bOK = true
+ activated = false
+ deactivated = false
+ oObj.toBack()
+ wait(1000)
+ bOK = bOK AND deactivated AND NOT activated
+ Test.MethodTested("toBack()", bOK)
+
+ Out.Log("Disposing a doc ...")
+ aDoc.dispose()
+ Out.Log("Doc disposed.")
+ wait(1000)
+
+ bOK = L2Called
+ Test.MethodTested("addTopWindowListener()", bOK)
+ bOK = bOK AND NOT L1Called
+ Test.MethodTested("removeTopWindowListener()", bOK)
+
+ Test.StartMethod("setMenuBar()")
+ bOK = true
+ Dim menu As Object
+ menu = createUnoService("com.sun.star.awt.MenuBar")
+ menu.insertItem(1, "MenuItem", com.sun.star.awt.MenuItemStyle.CHECKABLE, 1)
+ oObj.setMenuBar(menu)
+ Test.MethodTested("setMenuBar()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim L1Called As Boolean
+Dim L2Called As Boolean
+
+Dim activated As Boolean
+Dim deactivated As Boolean
+
+Sub L1_windowActivated()
+ L1Called = true
+End Sub
+Sub L1_windowDeactivated()
+ L1Called = true
+End Sub
+
+Sub L2_windowActivated()
+ L2Called = true
+ activated = true
+ Out.Log("Activated ...")
+End Sub
+Sub L2_windowDeactivated()
+ L2Called = true
+ deactivated = true
+ Out.Log("Deactivated ...")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XTopWindow/script.xlb b/qadevOOo/tests/basic/ifc/awt/XTopWindow/script.xlb
new file mode 100644
index 000000000000..3d6045b6752d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XTopWindow/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XTopWindow" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XTopWindow"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XView/awt_XView.xba b/qadevOOo/tests/basic/ifc/awt/XView/awt_XView.xba
new file mode 100644
index 000000000000..18911ee8be17
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XView/awt_XView.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oGraphics as Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oGetGraphics As Object
+ Dim vSize As Variant
+
+ Test.StartMethod("setGraphics()")
+ bOK = true
+ oObj.setGraphics(oGraphics)
+ Test.StartMethod("getGraphics()")
+ oGetGraphics = oObj.getGraphics()
+ bOK = bOK AND hasUnoInterfaces(oGetGraphics , "com.sun.star.awt.XGraphics")
+ Test.MethodTested("setGraphics()", bOK)
+ Test.MethodTested("getGraphics()", bOK)
+
+ Test.StartMethod("getSize()")
+ vSize = oObj.getSize()
+ bOK = (vSize.Height &lt;&gt; 0)
+ Test.MethodTested("getSize()", bOK)
+
+ Test.StartMethod("draw()")
+ bOk = true
+ oObj.draw(20,20)
+ Test.MethodTested("draw()", bOK)
+
+ Test.StartMethod("setZoom()")
+ bOK = true
+ oObj.setZoom(2,2)
+ Test.MethodTested("setZoom()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XView/script.xlb b/qadevOOo/tests/basic/ifc/awt/XView/script.xlb
new file mode 100644
index 000000000000..b65b2ad1e3ee
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/awt/XWindow/awt_XWindow.xba b/qadevOOo/tests/basic/ifc/awt/XWindow/awt_XWindow.xba
new file mode 100644
index 000000000000..175ff95d1ef5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XWindow/awt_XWindow.xba
@@ -0,0 +1,482 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XWindow" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+
+'*************************************************************************
+' Global oXWindow as Object
+' Global oCtrlShape as Variant (could be NULL)
+
+
+Dim bCB1_windowResized As Boolean
+Dim bCB2_windowResized As Boolean
+Dim bCB1_windowMoved As Boolean
+Dim bCB2_windowMoved As Boolean
+Dim bCB1_windowHidden As Boolean
+Dim bCB2_windowHidden As Boolean
+Dim bCB1_windowShown As Boolean
+Dim bCB2_windowShown As Boolean
+Dim bCB1_disposing As Boolean
+Dim bCB2_disposing As Boolean
+Dim bCB3_focusGained As Boolean
+Dim bCB4_focusGained As Boolean
+Dim bCB3_focusLost As Boolean
+Dim bCB4_focusLost As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.awt.XWindow
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ If isNull(oXWindow) Then
+ Out.Log("Could not get relation 'oXWindow' !")
+ End If
+ Dim oListener1 As Object, oListener2 As Object
+ Dim oListener3 As Object, oListener4 As Object
+ Dim oListener5 As Object, oListener6 As Object
+ Dim oListener7 As Object, oListener8 As Object
+ Dim oListener9 As Object, oListener10 As Object
+ Dim oListener11 As Object, oListener12 As Object
+ Dim size As Variant, pos As Variant
+
+ bCB1_windowResized = false
+ bCB2_windowResized = false
+ bCB1_windowMoved = false
+ bCB2_windowMoved = false
+ bCB1_windowHidden = false
+ bCB2_windowHidden = false
+ bCB1_windowShown = false
+ bCB2_windowShown = false
+ bCB1_disposing = false
+ bCB2_disposing = false
+ bCB3_focusGained = false
+ bCB4_focusLost = false
+ bCB3_focusGained = false
+ bCB4_focusLost = false
+
+ Out.Log("create two com.sun.star.awt.XWindowListener")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.awt.XWindowListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.awt.XWindowListener")
+ Out.Log("create two com.sun.star.awt.XFocusListener")
+ oListener3 = createUNOListener("CB3_", "com.sun.star.awt.XFocusListener")
+ oListener4 = createUNOListener("CB4_", "com.sun.star.awt.XFocusListener")
+ Out.Log("create two com.sun.star.awt.XKeyListener")
+ oListener5 = createUNOListener("CB5_", "com.sun.star.awt.XKeyListener")
+ oListener6 = createUNOListener("CB6_", "com.sun.star.awt.XKeyListener")
+ Out.Log("create two com.sun.star.awt.XMouseListener")
+ oListener7 = createUNOListener("CB7_", "com.sun.star.awt.XMouseListener")
+ oListener8 = createUNOListener("CB8_", "com.sun.star.awt.XMouseListener")
+ Out.Log("create two com.sun.star.awt.XMouseMotionListener")
+ oListener9 = createUNOListener("CB9_", "com.sun.star.awt.XMouseMotinListener")
+ oListener10 = createUNOListener("CB10_", "com.sun.star.awt.XMouseMotinListener")
+ Out.Log("create two com.sun.star.awt.XPaintListener")
+ oListener11 = createUNOListener("CB11_", "com.sun.star.awt.XPaintListener")
+ oListener12 = createUNOListener("CB12_", "com.sun.star.awt.XPaintListener")
+
+ Test.StartMethod("setPosSize()")
+ bOK = true
+ oObj.setPosSize(250,250,250,250,com.sun.star.awt.PosSize.POSSIZE)
+ Out.Log("oObj.setPosSize(250,250,250,250,com.sun.star.awt.PosSize.POSSIZE")
+ Test.StartMethod("getPosSize()")
+ Dim vRectangle As Variant
+ vRectangle = oObj.getPosSize()
+ Out.Log("Returned Values: X=" + vRectangle.X + " Y=" + vRectangle.Y _
+ + " WIDTH=" + vRectangle.WIDTH + " HEIGTH=" + vRectangle.HEIGHT
+ bOK = bOK AND vRectangle.X = 250
+ bOK = bOK AND vRectangle.Y = 250
+ bOK = bOK AND vRectangle.Width = 250
+ bOK = bOK AND vRectangle.Height = 250
+ Test.MethodTested("setPosSize()", bOK)
+ Test.MethodTested("getPosSize()", bOK)
+
+ Test.StartMethod("setVisible()")
+ bOK = true
+ oObj.setVisible(false)
+ oObj.setVisible(true)
+ Test.MethodTested("setVisible()", bOK)
+
+ Test.StartMethod("setEnable()")
+ bOK = true
+ oObj.setEnable(false)
+ oObj.setEnable(true)
+ Test.MethodTested("setEnable()", bOK)
+
+ Test.StartMethod("setFocus()")
+ bOK = true
+ oObj.setFocus()
+ oXWindow.setFocus()
+ oObj.setFocus()
+ Test.MethodTested("setFocus()", bOK)
+
+ Test.StartMethod("addWindowListener()")
+ bOK = true
+ oObj.addWindowListener(oListener1)
+ oObj.addWindowListener(oListener2)
+ oObj.setVisible(false)
+ oObj.setVisible(true)
+ if NOT isNull(oCtrlShape) then
+ size = oCtrlShape.Size
+ size.Width = size.Width + 100
+ size.Height = size.Height + 100
+ oCtrlShape.Size = size
+
+ pos = oCtrlShape.Position
+ pos.X = pos.X + 100
+ pos.Y = pos.Y + 100
+ oCtrlShape.Position = pos
+ else
+ Out.Log("oObj.setPosSize(300,300,300,300,com.sun.star.awt.PosSize.POSSIZE)")
+ oObj.setPosSize(300,300,300,300,com.sun.star.awt.PosSize.POSSIZE)
+ end if
+ wait(1000)
+ bOK = bOK AND bCB1_windowResized AND bCB2_windowResized AND bCB1_windowMoved AND _
+ bCB2_windowMoved AND bCB1_windowHidden AND bCB2_windowHidden AND _
+ bCB1_windowShown AND bCB2_windowShown AND NOT bCB1_disposing AND NOT _
+ bCB2_disposing
+ Test.MethodTested("addWindowListener()", bOK)
+
+ Test.StartMethod("removeWindowListener()")
+ bOK = true
+ bCB1_windowResized = false
+ bCB2_windowResized = false
+ bCB1_windowMoved = false
+ bCB2_windowMoved = false
+ bCB1_windowHidden = false
+ bCB2_windowHidden = false
+ bCB1_windowShown = false
+ bCB2_windowShown = false
+ bCB1_disposing = false
+ bCB2_disposing = false
+ oObj.removeWindowListener(oListener2)
+ oObj.setVisible(false)
+ oObj.setVisible(true)
+ oObj.setVisible(false)
+ oObj.setVisible(true)
+ if NOT isNull(oCtrlShape) then
+ size = oCtrlShape.Size
+ size.Width = size.Width + 100
+ size.Height = size.Height + 100
+ oCtrlShape.Size = size
+
+ pos = oCtrlShape.Position
+ pos.X = pos.X + 100
+ pos.Y = pos.Y + 100
+ oCtrlShape.Position = pos
+ else
+ Out.Log("oObj.setPosSize(300,300,300,300,com.sun.star.awt.PosSize.POSSIZE)")
+ oObj.setPosSize(301,301,301,301,com.sun.star.awt.PosSize.POSSIZE)
+ end if
+ wait(200)
+ bOK = bOK AND bCB1_windowResized AND NOT bCB2_windowResized AND bCB1_windowMoved AND NOT _
+ bCB2_windowMoved AND bCB1_windowHidden AND NOT bCB2_windowHidden AND _
+ bCB1_windowShown AND NOT bCB2_windowShown AND NOT bCB1_disposing AND NOT _
+ bCB2_disposing
+ oObj.removeWindowListener(oListener1)
+ Test.MethodTested("removeWindowListener()", bOK)
+
+ Test.StartMethod("addFocusListener()")
+ bOK = true
+ oObj.addFocusListener(oListener3)
+ oObj.addFocusListener(oListener4)
+ oObj.setFocus()
+ wait(200)
+ oXWindow.setFocus()
+ wait(200)
+ oObj.setFocus()
+ wait(200)
+ bOK = bOK AND bCB3_focusGained AND bCB4_focusLost AND bCB3_focusGained AND bCB4_focusLost
+ Test.MethodTested("addFocusListener()", bOK)
+
+ Test.StartMethod("removeFocusListener()")
+ bOK = true
+ bCB3_focusGained = false
+ bCB4_focusLost = false
+ bCB3_focusGained = false
+ bCB4_focusLost = false
+ oObj.removeFocusListener(oListener4)
+ oObj.setFocus()
+ wait(200)
+ oXWindow.setFocus()
+ wait(200)
+ oObj.setFocus()
+ wait(200)
+ bOK = bOK AND bCB3_focusGained AND NOT bCB4_focusLost AND bCB3_focusGained AND NOT bCB4_focusLost
+ oObj.removeFocusListener(oListener3)
+ Test.MethodTested("removeFocusListener()", bOK)
+
+'***************************************************************************************
+'* LISTENERS which needs interactions *
+'***************************************************************************************
+'*
+'* The following listener tests need interactions. That means i.e. a
+'* com.sun.star.awt.XKeyListener needs action from the keyboard. This is not possible in
+'* the automatic API-Testing. To test the listener you can set a breakpoint at the
+'* specific function call. Then do interaction which should call the listener. It must be
+'* pop up a message box.
+'*
+'***************************************************************************************
+
+ Test.StartMethod("addKeyListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.addKeyListener(oListener5)
+ oObj.addKeyListener(oListener6)
+ bOK = bOK AND true
+ Test.MethodTested("addKeyListener()", bOK)
+
+ Test.StartMethod("removeKeyListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.removeKeyListener(oListener5)
+ bOK = bOK AND true
+ oObj.removeKeyListener(oListener6)
+ Test.MethodTested("removeKeyListener()", bOK)
+
+ Test.StartMethod("addMouseListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.addMouseListener(oListener7)
+ oObj.addMouseListener(oListener8)
+ bOK = bOK AND true
+ Test.MethodTested("addMouseListener()", bOK)
+
+ Test.StartMethod("removeMouseListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.removeMouseListener(oListener7)
+ bOK = bOK AND true
+ oObj.removeMouseListener(oListener8)
+ Test.MethodTested("removeMouseListener()", bOK)
+
+ Test.StartMethod("addMouseMotionListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.addMouseMotionListener(oListener9)
+ oObj.addMouseMotionListener(oListener10)
+ bOK = bOK AND true
+ Test.MethodTested("addMouseMotionListener()", bOK)
+
+ Test.StartMethod("removeMouseMotionListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.removeMouseMotionListener(oListener9)
+ bOK = bOK AND true
+ oObj.removeMouseMotionListener(oListener10)
+ Test.MethodTested("removeMouseMotionListener()", bOK)
+
+ Test.StartMethod("addPaintListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.addPaintListener(oListener11)
+ oObj.addPaintListener(oListener12)
+ bOK = bOK AND true
+ Test.MethodTested("addPaintListener()", bOK)
+
+ Test.StartMethod("removePaintListener()")
+ bOK = true
+ Out.Log("Not realy tested! Please see comments in Basic-Source.")
+ oObj.removePaintListener(oListener11)
+ bOK = bOK AND true
+ oObj.removePaintListener(oListener12)
+ Test.MethodTested("removePaintListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+' Listener call backs for com.sun.star.awt.XWindowListener
+Sub CB1_windowResized
+ Out.Log("CallBack for Listener1 windowResized was called.")
+ bCB1_windowResized = true
+End Sub
+Sub CB2_windowResized
+ Out.Log("CallBack for Listener2 windowResized was called.")
+ bCB2_windowResized = true
+End Sub
+Sub CB1_windowMoved
+ Out.Log("CallBack for Listener1 windowMoved was called.")
+ bCB1_windowMoved = true
+End Sub
+Sub CB2_windowMoved
+ Out.Log("CallBack for Listener2 windowMoved was called.")
+ bCB2_windowMoved = true
+End Sub
+Sub CB1_windowHidden
+ Out.Log("CallBack for Listener1 windowHidden was called.")
+ bCB1_windowHidden = true
+End Sub
+Sub CB2_windowHidden
+ Out.Log("CallBack for Listener2 windowHidden was called.")
+ bCB2_windowHidden = true
+End Sub
+Sub CB1_windowShown
+ Out.Log("CallBack for Listener1 windowShown was called.")
+ bCB1_windowShown = true
+End Sub
+Sub CB2_windowShown
+ Out.Log("CallBack for Listener2 windowShown was called.")
+ bCB2_windowShown = true
+End Sub
+Sub CB1_disposing
+ Out.Log("CallBack for Listener1 disposing was called")
+ bCB1_disposing = true
+End Sub
+Sub CB2_disposing
+ Out.Log("CallBack for Listener2 disposing was called")
+ bCB2_disposing = true
+End Sub
+
+' Listener call backs for com.sun.star.awt.XFocusListener
+Sub CB3_focusGained
+ Out.Log("CallBack for Listener3 'focusGained' was called")
+ bCB3_focusGained = true
+End Sub
+Sub CB4_focusGained
+ Out.Log("CallBack for Listener4 'focusGained' was called")
+ bCB4_focusGained = true
+End Sub
+Sub CB3_focusLost
+ Out.Log("CallBack for Listener3 'focusLost' was called")
+ bCB3_focusLost = true
+End Sub
+Sub CB4_focusLost
+ Out.Log("CallBack for Listener4 'focusLost' was called")
+ bCB4_focusLost = true
+End Sub
+Sub CB3_disposing
+End Sub
+Sub CB4_disposing
+End Sub
+
+' Listener call backs for com.sun.star.awt.XKeyListener
+' They will never be called beause of no interaction in API-Testing
+Sub CB5_keyPressed
+ MsgBox("CallBack for Listener5 'keyPressed' was called")
+End Sub
+Sub CB6_keyPressed
+ MsgBox("CallBack for Listener6 'keyPressed' was called")
+End Sub
+Sub CB5_keyReleased
+ MsgBox("CallBack for Listener5 'keyReleased' was called")
+End Sub
+Sub CB6_keyReleased
+ MsgBox("CallBack for Listener6 'keyReleased' was called")
+End Sub
+Sub CB5_disposing
+End Sub
+Sub CB6_disposing
+End Sub
+
+
+' Listener call backs for com.sun.star.awt.XMouseListener
+' They will never be called beause of no interaction in API-Testing
+Sub CB7_mousePressed
+ MsgBox("CallBack for Listener7 'mousePressed' was called")
+End Sub
+Sub CB8_mousePressed
+ MsgBox("CallBack for Listener8 'mousePressed' was called")
+End Sub
+Sub CB7_mouseReleased
+ MsgBox("CallBack for Listener8 'mouseReleased' was called")
+End Sub
+Sub CB8_mouseReleased
+ MsgBox("CallBack for Listener8 'mouseReleased' was called")
+End Sub
+Sub CB7_mouseEntered
+ MsgBox("CallBack for Listener7 'mouseEntered' was called")
+End Sub
+Sub CB8_mouseEntered
+ MsgBox("CallBack for Listener8 'mouseEntered' was called")
+End Sub
+Sub CB7_mouseExited
+ MsgBox("CallBack for Listener7 'mouseExited' was called")
+End Sub
+Sub CB8_mouseExited
+ MsgBox("CallBack for Listener8 'mouseExited' was called")
+End Sub
+Sub CB7_disposing
+End Sub
+Sub CB8_disposing
+End Sub
+
+
+' Listener call backs for com.sun.star.awt.XMouseMotionListener
+' They will never be called beause of no interaction in API-Testing
+Sub CB9_mouseDragged
+ MsgBox("CallBack for Listener9 'mouseDragged' was called")
+End Sub
+Sub CB10_mouseDragged
+ MsgBox("CallBack for Listener10 'mouseDragged' was called")
+End Sub
+Sub CB9_mouseMoved
+ MsgBox("CallBack for Listener9 'mouseMoved' was called")
+End Sub
+Sub CB10_mouseMoved
+ MsgBox("CallBack for Listener10 'mouseMoved' was called")
+End Sub
+Sub CB9_disposing
+End Sub
+Sub CB10_disposing
+End Sub
+
+
+' Listener call backs for com.sun.star.awt.XMouseMotionListener
+' They will never be called beause of no interaction in API-Testing
+Sub CB11_windowPaint
+ MsgBox("CallBack for Listener11 'windowPaint' was called")
+End Sub
+Sub CB12_windowPaint
+ MsgBox("CallBack for Listener12 'windowPaint' was called")
+End Sub
+Sub CB11_disposing
+End Sub
+Sub CB12_disposing
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/awt/XWindow/script.xlb b/qadevOOo/tests/basic/ifc/awt/XWindow/script.xlb
new file mode 100644
index 000000000000..4ae24a18c765
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/awt/XWindow/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="awt_XWindow" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="awt_XWindow"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XExactName/beans_XExactName.xba b/qadevOOo/tests/basic/ifc/beans/XExactName/beans_XExactName.xba
new file mode 100644
index 000000000000..d22b00f4efaa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XExactName/beans_XExactName.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="XExactName" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following object relations
+' variables, which must be specified in the object creation:
+
+' ObjectRelation: oObjRelation(0).Name = "expectedName"
+' ObjectRelation: oObjRelation(0).Value = "MyExpectedName"
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XExactName
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim cExpectedName as Variant
+ cExpectedName = utils.getObjectRelation("expectedName")
+ if isNull(cExpectedName) then
+ out.log("Object relation 'expectedName' is missing")
+ end if
+
+ Test.StartMethod("getExactName()")
+
+ out.log("getting exact name for " + cExpectedName)
+ bOK = TRUE
+ Dim cResult as String
+ cResult = oObj.getExactName(cExpectedName)
+ bOK = bOK AND (cResult = cExpectedName)
+
+ out.log("getting exact name for " + LCase(cExpectedName))
+ bOK = TRUE
+ cResult = oObj.getExactName(LCase(cExpectedName))
+ bOK = bOK AND (cResult = cExpectedName)
+
+ out.log("getting exact name for " + UCase(cExpectedName))
+ bOK = TRUE
+ cResult = oObj.getExactName(UCase(cExpectedName))
+ bOK = bOK AND (cResult = cExpectedName)
+
+ Test.MethodTested("getExactName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XExactName/script.xlb b/qadevOOo/tests/basic/ifc/beans/XExactName/script.xlb
new file mode 100644
index 000000000000..bd759a0334b8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XExactName/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XExactName" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="beans_XExactName"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XFastPropertySet/beans_XFastPropertySet.xba b/qadevOOo/tests/basic/ifc/beans/XFastPropertySet/beans_XFastPropertySet.xba
new file mode 100644
index 000000000000..8961bec8d24c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XFastPropertySet/beans_XFastPropertySet.xba
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="beans_XFastPropertySet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XFastPropertySet
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oPropertySetInfo As Object
+ Dim oProperties As Variant
+ Dim nIndex As Long, nHanlde As Long
+ Dim nCount As Integer
+ Dim vMemVal As Variant, vNewVal As Variant
+ Dim bBoolean As Boolean
+ Dim nInteger As Integer
+ Dim nLong As Long
+ Dim nSingle As Single
+ Dim nDouble As Double
+
+ oPropertySetInfo = oObj.GetPropertySetInfo()
+ oProperties = oPropertySetInfo.Properties
+ nCount = uBound(oProperties)
+
+ nIndex = 0
+ nMem = nIndex
+ 'find at first a Boolean Value, if not available a String Property
+ While (NOT bFound) AND (nCount &gt;= nIndex)
+ If VarType(oObj.getFastPropertyValue(oProperties(nIndex).Handle)) = 11 Then ' it is a Boolean Proerty
+ bFound = true
+ nMem = nIndex
+ else
+ If VarType(oObj.getFastPropertyValue(oProperties(nIndex).Handle)) = 8 Then ' it is a String Property
+ nMem = nIndex
+ end if
+ end if
+ nIndex = nIndex + 1
+ Wend
+ nIndex = nMem
+ Out.Log("Property selected: '" + oProperties(nIndex).Name + "'")
+
+ 'memory the old Value
+ vMemVal = oObj.getFastPropertyValue(oProperties(nIndex).Handle)
+ ' change the Value
+ select case VarType(oObj.getFastPropertyValue(oProperties(nIndex).Handle)
+ case 11 'boolean
+ bBoolean = NOT oObj.getFastPropertyValue(oProperties(nIndex).Handle)
+ vNewVal = bBoolean
+ case 2 'integer
+ nInteger = oObj.getFastPropertyValue(oProperties(nIndex).Handle) + 1
+ vNewVal = nInteger
+ case 3 'long
+ nLong = oObj.getFastPropertyValue(oProperties(nIndex).Handle) + 1
+ vNewVal = nLong
+ case 4 'single
+ nSingle = oObj.getFastPropertyValue(oProperties(nIndex).Handle) + 1
+ vNewVal = nSingle
+ case 5 'double
+ nDouble = oObj.getFastPropertyValue(oProperties(nIndex).Handle) + 1
+ vNewVal = nDouble
+ case 8 'string
+ vNewVal = oObj.getPropertyValue(oProperties(nIndex).Name) + cIfcShortName
+ end select
+
+ nHandle = oProperties(nIndex).Handle
+
+ Test.StartMethod("getFastPropertyValue()")
+ bOK = true
+ bOK = bOK AND (vMemVal = oObj.getFastPropertyValue(nHandle))
+ Test.MethodTested("getFastPropertyValue()", bOK)
+
+ Test.StartMethod("setFastPropertyValue()")
+ bOK = true
+ oObj.setFastPropertyValue(nHandle, vNewVal)
+ bOK = bOK AND (vMemVal &lt;&gt; oObj.getFastPropertyValue(nHandle))
+ Test.MethodTested("setFastPropertyValue()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XFastPropertySet/script.xlb b/qadevOOo/tests/basic/ifc/beans/XFastPropertySet/script.xlb
new file mode 100644
index 000000000000..3f8c3c6736e5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XFastPropertySet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XFastPropertySet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="beans_XFastPropertySet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XIntrospection/beans_XIntrospection.xba b/qadevOOo/tests/basic/ifc/beans/XIntrospection/beans_XIntrospection.xba
new file mode 100644
index 000000000000..40209b24e54d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XIntrospection/beans_XIntrospection.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="beans_XIntrospection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XIntrospection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim xInspAccess As Object
+
+
+ Test.StartMethod("inspect()")
+ bOK = true
+ xInspAccess = oObj.inspect(oObj)
+ bOK = bOK AND hasUnoInterfaces(xInspAccess, "com.sun.star.beans.XIntrospectionAccess")
+ Test.MethodTested("inspect()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XIntrospection/script.xlb b/qadevOOo/tests/basic/ifc/beans/XIntrospection/script.xlb
new file mode 100644
index 000000000000..69ffa481df6d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XIntrospection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XIntrospection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="beans_XIntrospection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/beans_XMultiPropertySet.xba b/qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/beans_XMultiPropertySet.xba
new file mode 100644
index 000000000000..7ad82a14a229
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/beans_XMultiPropertySet.xba
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="beans_XMultiPropertySet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim nCB1Val As Integer, nCB2Val As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XMultiPropertySet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oPropertySetInfo As Object
+ Dim oProperties As Variant
+ Dim aProp(0 to 1) As new com.sun.star.beans.PropertyValue
+ Dim cType As String
+ Dim oListener1 As Object, oListener2 As Object
+ Dim n As Integer, nMem As Integer, nIndex As Integer
+ Dim m As Integer
+ Dim bFound As Boolean
+ Dim nCount As Integer
+ Dim bBoolean As Boolean
+ Dim nInteger As Integer
+ Dim nLong As Long
+ Dim nSingle As Single
+ Dim nDouble As Double
+ Dim vMemVal As Variant
+ Dim nCB1ValMem As Integer
+ Dim nCB2ValMem As Integer
+
+ bOK = true
+ bFound = false
+ nCB1Val = 0
+ nCB2Val = 0
+ m = 0
+ oPropertySetInfo = oObj.GetPropertySetInfo
+ oProperties = oPropertySetInfo.Properties
+ nCount = uBound(oProperties)
+ Out.Log("The Object has " + nCount + " properties"
+
+ Out.Log("Create linsteners...")
+ oListener1 = createUNOListener("CB1_","com.sun.star.beans.XPropertiesChangeListener")
+ oListener2 = createUNOListener("CB2_","com.sun.star.beans.XPropertiesChangeListener")
+ Out.Log("oListener1 and oListener2 created"
+
+ 'create sequences of Propertie-Names and Values
+ 'fist get the amount of valid properties
+ for n = 0 to (nCount)
+ 'look for readonly-properties
+ If (oProperties(n).Attributes AND com.sun.star.beans.PropertyAttribute.READONLY) = 0 Then
+ 'look for MAYBEVOID-Properties
+ If (oProperties(n).Attributes AND com.sun.star.beans.PropertyAttribute.MAYBEVOID) = 0 Then
+ 'is the Property testable
+ m = m + 1
+ End If
+ End If
+ next n
+
+ Out.Log("Amount of testable properites (without readonly and MAYBEVOID) is " + m)
+
+ 'now store the names in sProperites
+ Dim searchProperties(0 to m-1) As String
+ m = 0
+ for n = 0 to (nCount)
+ 'kick off readonly-properties
+ If (oProperties(n).Attributes AND com.sun.star.beans.PropertyAttribute.READONLY) = 0 Then
+ 'kick off MYBEVOID-Properties
+ If (oProperties(n).Attributes AND com.sun.star.beans.PropertyAttribute.MAYBEVOID) = 0 Then
+ searchProperties(m) = oProperties(n).Name
+ Out.Log("" + m + " " + searchProperties(m) + " " + oObj.getPropertySetInfo.getPropertyByName(searchProperties(m)).Type.Name + " " + n)
+ Dim pVal As Variant
+
+ pVal = oObj.getPropertyValue(searchProperties(m))
+ oObj.setPropertyValues(Array(searchProperties(m)), Array(pVal))
+ m = m + 1
+ End If
+ End If
+ next n
+ nCount = m - 1
+
+ Dim sProperties(0 to nCount) As String
+ Dim vValues(0 to nCount) As Variant
+ For n = 0 to nCount
+ sProperties(n) = searchProperties(n)
+ next n
+
+ vValues() = oObj.getPropertyValues(sProperties())
+
+ 'add ChangeListener
+ oObj.addPropertiesChangeListener(sProperties(),oListener1)
+ oObj.addPropertiesChangeListener(sProperties(),oListener2)
+ Out.Log("oListener1 and oListener2 added to object")
+
+ nIndex = 0
+ nMem = nIndex
+ 'find at first a Boolean Value, if not available a String Property
+ While (NOT bFound) AND ((nCount &gt;= nIndex))
+ 'get the property-type
+ cType = oObj.getPropertySetInfo.getPropertyByName(sProperties(nIndex)).Type.Name
+ If cType = "boolean" Then ' it is a Boolean Proerty
+ bFound = true
+ nMem = nIndex
+ else
+ If cType = "string" Then ' it is a String Property
+ nMem = nIndex
+ end if
+ end if
+ nIndex = nIndex + 1
+ Wend
+
+ nIndex = nIndex - 1
+ Out.Log("Property to change is: """ + sProperties(nIndex) + """ Type: """ + oObj.getPropertySetInfo.getPropertyByName(sProperties(nIndex)).Type.Name + """")
+ nIndex = nMem
+
+ 'memory the old Value
+ vMemVal = vValues(nIndex)
+
+ 'change a value of a property, hopefully a boolean or string property
+ select case VarType(vValues(nIndex)
+ case 11 'boolean
+ bBoolean = NOT vValues(nIndex)
+ vValues(nIndex) = bBoolean
+ case 2 'integer
+ nInteger = vValues(nIndex) + 1
+ vValues(nIndex) = nInteger
+ case 3 'long
+ nLong = vValues(nIndex) + 1
+ vValues(nIndex) = nLong
+ case 4 'single
+ nSingle = vValues(nIndex) + 1
+ vValues(nIndex) = nSingle
+ case 5 'double
+ nDouble = vValues(nIndex) + 1
+ vValues(nIndex) = nDouble
+ case 8 'string
+ vValues(nIndex) = vValues(nIndex) + cIfcShortName
+ end select
+
+ Test.StartMethod("getPropertySetInfo()")
+ bOK = bOK AND (uBound(oProperties) &gt; 0)
+ Test.MethodTested("getPropertySetInfo()", bOK)
+
+ Test.StartMethod("getPropertyValues()")
+ bOK = bOK AND (uBound(vValues()) &gt; 0)
+ Test.MethodTested("getPropertyValues()", bOK)
+
+ Test.StartMethod("setPropertyValues()")
+ oObj.setPropertyValues(sProperties(), vValues())
+ vValues() = oObj.getPropertyValues(sProperties())
+ bOK = bOK AND (vValues(nIndex) &lt;&gt; vMemVal)
+ Test.MethodTested("setPropertyValues()", bOK)
+
+ Test.StartMethod("addPropertiesChangeListener()")
+ bOK = (nCB1Val &gt;= 1) AND (nCB2Val &gt;= 1)
+ nCB1ValMem = nCB1Val
+ nCB2ValMem = nCb2Val
+ Test.MethodTested("addPropertiesChangeListener()", bOK)
+
+ 'fire !!!
+ Out.Log("Try to fire property change event...")
+ oObj.firePropertiesChangeEvent(sProperties(),oListener1)
+ oObj.firePropertiesChangeEvent(sProperties(),oListener2)
+
+ Test.StartMethod("firePropertiesChangeEvent()")
+ bOK = (nCB1Val &gt;= nCB1ValMem) AND (nCB2Val &gt;= nCB2ValMem)
+ Test.MethodTested("firePropertiesChangeEvent()", bOK)
+ nCB1ValMem = nCB1Val
+ nCB2ValMem = nCb2Val
+
+
+ 'remove one Listener and fire
+ Test.StartMethod("removePropertiesChangeListener()")
+ oObj.removePropertiesChangeListener(oListener1)
+ Out.Log("oListener1 removed")
+ select case VarType(vValues(nIndex)
+ case 11 'boolean
+ bBoolean = NOT vValues(nIndex)
+ vValues(nIndex) = bBoolean
+ case 2 'integer
+ nInteger = vValues(nIndex) + 1
+ vValues(nIndex) = nInteger
+ case 3 'long
+ nLong = vValues(nIndex) + 1
+ vValues(nIndex) = nLong
+ case 4 'single
+ nSingle = vValues(nIndex) + 1
+ vValues(nIndex) = nSingle
+ case 5 'double
+ nDouble = vValues(nIndex) + 1
+ vValues(nIndex) = nDouble
+ case 8 'string
+ vValues(nIndex) = vValues(nIndex) + cIfcShortName
+ end select
+
+ Out.Log("The property '" + sProperties(nIndex) + "' was changed")
+
+ oObj.setPropertyValues(sProperties(), vValues())
+
+ bOK = (nCB1Val = nCB1ValMem) AND (nCB2Val &gt;= nCB2ValMem)
+ Test.MethodTested("removePropertiesChangeListener()", bOK)
+
+ 'remove the last Listener
+ oObj.removePropertiesChangeListener(oListener2)
+ Out.Log("oListener2 removed")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+'callback routine called firePropertiesChangeEvent
+Sub CB1_propertiesChange
+ Out.Log("CallBack for Listener 1 was called.")
+ nCB1Val = nCB1Val + 1
+end Sub
+
+Sub CB2_propertiesChange
+ Out.Log("CallBack for Listener 2 was called.")
+ nCB2Val = nCB2Val + 1
+end Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/script.xlb b/qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/script.xlb
new file mode 100644
index 000000000000..55637429dd36
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XMultiPropertySet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XMultiPropertySet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="beans_XMultiPropertySet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/beans_XMultiPropertyStates.xba b/qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/beans_XMultiPropertyStates.xba
new file mode 100644
index 000000000000..6858ab51a28f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/beans_XMultiPropertyStates.xba
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="beans_XMultiPropertyStates" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Function getPropNames(xPropSet As Object) As Variant
+ Dim props As Variant
+ Dim propNames As Variant
+ Dim i As Integer, propCount As Integer
+
+ props = xPropSet.getPropertySetInfo().getProperties()
+ propCount = 0
+ for i = 0 to ubound (props)
+ if (props(i).Attributes AND com.sun.star.beans.PropertyAttribute.READONLY) = 0 _
+ then propCount = propCount + 1
+ next i
+
+ propNames = DimArray(propCount - 1)
+ aProps = DimArray(propCount - 1)
+
+ propCount = 0
+ for i = 0 to ubound(props)
+ if (props(i).Attributes AND com.sun.star.beans.PropertyAttribute.READONLY) = 0 then
+ propNames(propCount) = props(i).Name
+ aProps(propCount) = props(i)
+ propCount = propCount + 1
+ endif
+ next i
+
+ getPropNames = propNames
+End Function
+
+Dim aProps As Variant
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XMultiPropertyStates
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim aPropNames As Variant
+ Dim aDefaults As Variant
+ Dim aStates As Variant
+
+ if NOT hasUnoInterfaces(oObj, "com.sun.star.beans.XPropertySet") then
+ Out.Log("The compoent doesn't support XPropertySet this test must be reviewed !!!")
+ exit sub
+ end if
+
+ bOK = true
+ aPropNames = getPropNames(oObj)
+
+ if NOT utils.isSorted(aPropNames) then
+ Out.Log("Property names are not sorted : sorting ...")
+ utils.bubbleSort(aPropNames, false, aProps)
+ end if
+
+ Out.Log("Totally " + (ubound(aPropNames) + 1) + " properties encountered.")
+
+ Test.StartMethod("getPropertyDefaults()")
+
+ aDefaults = oObj.getPropertyDefaults(aPropNames)
+ Out.Log("Number of default values: " + (ubound(aDefaults) + 1))
+ bOK = ubound(aDefaults) = ubound(aPropNames)
+
+ Test.MethodTested("getPropertyDefaults()", bOK)
+
+
+ Test.StartMethod("getPropertyStates()")
+ bOK = true
+
+ aStates = oObj.getPropertyStates(aPropNames)
+ Out.Log("Number of states: " + (ubound(aStates) + 1))
+ bOK = ubound(aStates) = ubound(aPropNames)
+
+ Test.MethodTested("getPropertyStates()", bOK)
+
+ Test.StartMethod("setPropertiesToDefault()")
+ bOK = true
+
+ Dim propName As String
+ Dim propIdx As Integer
+ Dim mayBeDef As Boolean
+ Dim i As Integer
+ propName = aPropNames(0)
+ propIdx = 0
+ mayBeDef = false
+
+ ' searching for property which currently don't have default value and preferable has MAYBEDEFAULT attr
+ ' if no such properties are found then the first one is selected
+ for i = 0 to ubound(aPropNames)
+ if NOT mayBeDef AND aStates(i) &lt;&gt; com.sun.star.beans.PropertyState.DEFAULT_VALUE then
+ propName = aPropNames(i)
+ propIdx = i
+ if (aProps(i).Attributes AND com.sun.star.beans.PropertyAttribute.MAYBEDEFAULT) > 0 then
+ Out.Log("Property " + propName + " 'may be default' and doesn't have default value")
+ mayBeDef = true
+ end if
+ end if
+ next i
+ Out.Log("The property " + propName + " selected")
+
+ oObj.setPropertiesToDefault(Array(propName))
+
+ aStates = oObj.getPropertyStates(aPropNames)
+ if aStates(propIdx) &lt;&gt; com.sun.star.beans.PropertyState.DEFAULT_VALUE then
+ Out.Log("The property didn't change its state to default ...")
+ if mayBeDef then
+ Out.Log(" ... and it may be default - FAILED")
+ bOK = false
+ else
+ Out.Log(" ... but it may not be default - OK")
+ end if
+ end if
+
+ Test.MethodTested("setPropertiesToDefault()", bOK)
+
+ Test.StartMethod("setAllPropertiesToDefault()")
+ bOK = true
+
+ oObj.setAllPropertiesToDefault()
+
+ Out.Log("Checking that all properties are now in DEFAULT state excepting may be those which 'cann't be default'")
+ aStates = oObj.getPropertyStates(aPropNames)
+ for i = 0 to ubound(aStates)
+ if aStates(i) &lt;&gt; com.sun.star.beans.PropertyState.DEFAULT_VALUE then
+ Out.Log("The property " + aPropNames(i) + " didn't change its state to default ...")
+ if (aProps(i).Attributes AND com.sun.star.beans.PropertyAttribute.MAYBEDEFAULT) > 0 then
+ Out.Log(" ... and it has MAYBEDEFAULT attribute - FAILED")
+ bOK = false
+ else
+ Out.Log(" ... but it has no MAYBEDEFAULT attribute - OK")
+ end if
+ end if
+ next i
+
+ Test.MethodTested("setAllPropertiesToDefault()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/script.xlb b/qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/script.xlb
new file mode 100644
index 000000000000..283aa20cf01e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XMultiPropertyStates/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XMultiPropertyStates" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="beans_XMultiPropertyStates"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XProperty/beans_XProperty.xba b/qadevOOo/tests/basic/ifc/beans/XProperty/beans_XProperty.xba
new file mode 100644
index 000000000000..b6c372df2ea3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XProperty/beans_XProperty.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="XProperty" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XProperty
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getAsProperty()")
+ bOK = TRUE
+ Dim vProperty as new com.sun.star.beans.Property
+ vProperty = oObj.getAsProperty()
+ bOK = bOK and not isNull(vProperty)
+ Test.MethodTested("getAsProperty()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XProperty/script.xlb b/qadevOOo/tests/basic/ifc/beans/XProperty/script.xlb
new file mode 100644
index 000000000000..733318087ab3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XProperty/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XProperty" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="beans_XProperty"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XPropertySet/beans_XPropertySet.xba b/qadevOOo/tests/basic/ifc/beans/XPropertySet/beans_XPropertySet.xba
new file mode 100644
index 000000000000..ace2dc6775f3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XPropertySet/beans_XPropertySet.xba
@@ -0,0 +1,357 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="beans_XPropertySet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+'Change-Listener needs bound-Properties
+'Veto-Listener needs constrained-Propperties
+
+'*************************************************************************
+
+
+
+
+Const BOUND = 2
+Const CONSTRAINED = 4
+Const MAYBENULL = 8
+Const READONLY = 16
+
+Dim aBoundProps() As String
+Dim aConstrainedProps() As String
+Dim aNormalProps() As String
+Dim aReadOnlyProps() As String
+
+Dim nBoundCount As Integer
+Dim nConstrainedCount As Integer
+Dim nNormalCount As Integer
+Dim nReadOnlyCount As Integer
+
+Dim aAllProps As Object
+
+Dim vetoCalled1 As Boolean
+Dim propCalled1 As Boolean
+Dim vetoCalled2 As Boolean
+Dim propCalled2 As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XPropertySet
+'*************************************************************************
+On Error Goto ErrHndl
+If (bErrHndl) Then On Error Goto ErrHndl
+ Dim oPCListener1 As Object
+ Dim oVListener1 As Object
+ Dim oPCListener2 As Object
+ Dim oVListener2 As Object
+ Dim bOK As boolean
+
+ Test.StartMethod("getPropertySetInfo()")
+ bOK = true
+ bOK = NOT isNULL(oObj.PropertySetInfo)
+ Test.MethodTested("getPropertySetInfo()", bOK)
+
+ Out.Log("Get properties()")
+ bOK = GetProps()
+
+ Out.Log("Create Listeners")
+ oPCListener1 = createUNOListener("CB1_","com.sun.star.beans.XPropertyChangeListener")
+ oVListener1 = createUNOListener("CB1_","com.sun.star.beans.XVetoableChangeListener")
+ oPCListener2 = createUNOListener("CB2_","com.sun.star.beans.XPropertyChangeListener")
+ oVListener2 = createUNOListener("CB2_","com.sun.star.beans.XVetoableChangeListener")
+
+ Test.StartMethod("getPropertyValue()")
+ bOK = true
+ bOK = bOK AND test_getPropertyValue()
+ Test.MethodTested("getPropertyValue()", bOK)
+
+ Test.StartMethod("setPropertyValue()")
+ bOK = true
+ Dim bReadOnlyOK As Boolean
+ Dim bNormalOK As Boolean
+ bReadOnlyOK = false
+ bNormalOK = false
+ Dim bCVOK As boolean
+
+ if (nReadOnlyCount = 0) then
+ bReadOnlyOK = true
+ Out.Log("No ReadOnly properties!")
+ else
+ for i = 0 to nReadOnlyCount - 1
+ Out.Log("READONLY: '" &amp; aReadOnlyProps(i) &amp; "'")
+ if (aReadOnlyProps(i) = "Preview") then
+ bCVOK = true
+ else
+ bCVOK = PropertyTester.TestPropertyWithoutParams(aReadOnlyProps(i), true)
+ end if
+ Out.Log(bCVOK)
+ Out.Log("")
+ bReadOnlyOK = bReadOnlyOK OR bCVOK
+ next i
+ end if
+
+ bOK = bOK AND bReadOnlyOK
+
+ if (nNormalCount = 0) then
+ bNormalOK = true
+ Out.Log("No Normal properties!")
+ else
+ for i = 0 to nNormalCount - 1
+ Out.Log("NORMAL: '" &amp; aNormalProps(i) &amp; "'")
+ bCVOK = PropertyTester.TestPropertyWithoutParams(aNormalProps(i), false)
+ Out.Log(bCVOK)
+ Out.Log("")
+ bNormalOK = bNormalOK OR bCVOK
+ next i
+ end if
+
+ bOK = bOK AND bNormalOK
+
+ Test.MethodTested("setPropertyValue()", bOK)
+
+ Test.StartMethod("addVetoableChangeListener()")
+ Test.StartMethod("removeVetoableChangeListener()")
+ Dim bAddVeto As Boolean
+ Dim bRmvVeto As Boolean
+ bRmvVeto = true
+ bAddVeto = true
+
+ if (nConstrainedCount = 0) then
+ Out.Log("No Constrained properties!")
+ bAddVeto = true
+ bRmvVeto = true
+ else
+ for i = 0 to nConstrainedCount - 1
+ vetoCalled1 = false
+ vetoCalled2 = false
+ oObj.addVetoableChangeListener(aConstrainedProps(i), oVListener1)
+ oObj.addVetoableChangeListener(aConstrainedProps(i), oVListener2)
+ PropertyTester.TestPropertyWithoutParams(aConstrainedProps(i), false)
+ bAddVeto = bAddVeto OR (vetoCalled1 AND vetoCalled2)
+ Out.Log("addVetoableChangeListener: " &amp; aConstrainedProps(i) &amp; " Listener1 must be called: " &amp; vetoCalled1)
+ Out.Log("addVetoableChangeListener: " &amp; aConstrainedProps(i) &amp; " Listener2 must be called: " &amp; vetoCalled2)
+
+ vetoCalled1 = false
+ vetoCalled2 = false
+ oObj.removeVetoableChangeListener(aConstrainedProps(i), oVListener1)
+ PropertyTester.TestPropertyWithoutParams(aConstrainedProps(i), false)
+ bRmvVeto = bRmvVeto OR (NOT vetoCalled1 AND vetoCalled2)
+ Out.Log("removeVetoableChangeListener: " &amp; aConstrainedProps(i) &amp; " Listener1 must not be called: " &amp; NOT vetoCalled1)
+ Out.Log("removeVetoableChangeListener: " &amp; aConstrainedProps(i) &amp; " Listener2 must not be called: " &amp; NOT vetoCalled2)
+ oObj.removeVetoableChangeListener(aConstrainedProps(i), oVListener2)
+ next i
+ end if
+ Test.MethodTested("addVetoableChangeListener()", bAddVeto)
+ Test.MethodTested("removeVetoableChangeListener()", bRmvVeto)
+
+ Test.StartMethod("addPropertyChangeListener()")
+ Test.StartMethod("removePropertyChangeListener()")
+ Dim bAddProp As Boolean
+ Dim bRmvProp As Boolean
+ bRmvProp = true
+ bAddProp = true
+
+ if (nBoundCount = 0) then
+ Out.Log("No Bound properties!")
+ bAddProp = true
+ bRmvProp = true
+ else
+ for i = 0 to nBoundCount - 1
+ propCalled1 = false
+ propCalled2 = false
+ oObj.addPropertyChangeListener(aBoundProps(i), oPCListener1)
+ oObj.addPropertyChangeListener(aBoundProps(i), oPCListener2)
+ PropertyTester.TestPropertyWithoutParams(aBoundProps(i), false)
+ bAddProp = bAddProp OR (propCalled1 AND propCalled2)
+ Out.Log("addPropertyChangeListener: " &amp; aBoundProps(i) &amp; " Listener1 must be called :" &amp; propCalled1)
+ Out.Log("addPropertyChangeListener: " &amp; aBoundProps(i) &amp; " Listener2 must be called :" &amp; propCalled2)
+
+ propCalled1 = false
+ propCalled2 = false
+ oObj.removePropertyChangeListener(aBoundProps(i), oPCListener1)
+ PropertyTester.TestPropertyWithoutParams(aBoundProps(i), false)
+ bRmvProp = bRmvProp OR (NOT propCalled1 AND propCalled2)
+ Out.Log("removePropertyChangeListener: " &amp; aBoundProps(i) &amp; " Listener must not be called: " &amp; NOT propCalled)
+ oObj.removePropertyChangeListener(aBoundProps(i), oPCListener2)
+ next i
+ end if
+
+ Test.MethodTested("addPropertyChangeListener()", bAddProp)
+ Test.MethodTested("removePropertyChangeListener()", bRmvProp)
+
+ ReCreateObj()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function GetProps() As Boolean
+On Error Goto ErrHndl
+ Dim bOK as Boolean
+ Dim i As Integer
+ Dim attr As Variant
+ bOK = true
+
+ aAllProps = oObj.propertySetInfo.getProperties
+ nNormalCount = 0
+ nBoundCount = 0
+ nConstrainedCount = 0
+ nReadOnlyCount = 0
+
+ 'first we should find out how many properties of different kinds exists
+ for i = lbound(aAllProps) to ubound(aAllProps)
+ attr = aAllProps(i).Attributes
+ if (attr AND READONLY) OR (attr AND BOUND) OR (attr AND CONSTRAINED) then
+ if (attr AND BOUND) then
+ nBoundCount = nBoundCount + 1
+ end if
+ if (attr AND CONSTRAINED) then
+ nConstrainedCount = nConstrainedCount + 1
+ end if
+ if (attr AND READONLY) then
+ nReadOnlyCount = nReadOnlyCount + 1
+ end if
+ else
+ if (NOT isNULL(oObj.getPropertyValue(aAllProps(i).Name))) then
+ nNormalCount = nNormalCount + 1
+ end if
+ end if
+ next i
+
+ Out.Log("" &amp; nNormalCount &amp; " Normal properties found")
+ Out.Log("" &amp; nBoundCount &amp; " Bound properties found")
+ Out.Log("" &amp; nConstrainedCount &amp; " Constrained properties found")
+ Out.Log("" &amp; nReadOnlyCount &amp; " ReadOnly properties found")
+
+ Dim AN(nNormalCount) As String
+ aNormalProps = AN()
+
+ Dim AB(nBoundCount) As String
+ aBoundProps = AB()
+
+ Dim AC(nConstrainedCount) As String
+ aConstrainedProps = AC()
+
+ Dim AR(nReadOnlyCount) As String
+ aReadOnlyProps = AR()
+
+ 'Filling up arrays...
+
+ nNormalCount = 0
+ nBoundCount = 0
+ nConstrainedCount = 0
+ nReadOnlyCount = 0
+ for i = lbound(aAllProps) to ubound(aAllProps)
+ attr = aAllProps(i).Attributes
+ if (attr AND READONLY) OR (attr AND BOUND) OR (attr AND CONSTRAINED) then
+ if (attr AND BOUND) then
+ aBoundProps(nBoundCount) = aAllProps(i).Name
+ nBoundCount = nBoundCount + 1
+ end if
+ if (attr AND CONSTRAINED) then
+ aConstrainedProps(nConstrainedCount) = aAllProps(i).Name
+ nConstrainedCount = nConstrainedCount + 1
+ end if
+ if (attr AND READONLY) then
+ aReadOnlyProps(nReadOnlyCount) = aAllProps(i).Name
+ nReadOnlyCount = nReadOnlyCount + 1
+ end if
+ else
+ if (NOT isNULL(oObj.getPropertyValue(aAllProps(i).Name))) then
+ aNormalProps(nNormalCount) = aAllProps(i).Name
+ nNormalCount = nNormalCount + 1
+ end if
+ end if
+ next i
+
+ GetProps = bOK
+Exit Function
+ErrHndl:
+ Test.Exception()
+ resume next
+End Function
+
+Function test_GetPropertyValue() As Boolean
+On Error goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim i As Integer
+ Dim propName As String
+ Dim propVal As Variant
+ bOK = false
+
+ for i = lbound(aAllProps) to ubound(aAllProps)
+ propName = aAllProps(i).Name
+ propVal = oObj.getPropertyValue(propName)
+ bOK = true
+ if (isNULL(propVal)) AND NOT(aAllProps(i).Attributes AND MAYBENULL) then
+ Out.Log(cIfcShortName &amp; " " &amp; aAllProps(i).Name &amp; " is NULL, but it is not MAYBENULL")
+ end if
+ next i
+
+ test_GetPropertyValue() = bOK
+Exit Function
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Function
+
+Sub CB1_propertyChange
+ Out.Log("CallBack 'PropertyChange' for listener 1 was called.")
+ propCalled1 = true
+ CB1_propertyChange = true
+End Sub
+
+Sub CB1_vetoableChange
+ Out.Log("CallBack 'vetoableChange' for listener 1 was called.")
+ vetoCalled1 = true
+End Sub
+
+Sub CB2_propertyChange
+ Out.Log("CallBack 'PropertyChange' for listener 2 was called.")
+ propCalled2 = true
+ CB2_propertyChange = true
+End Sub
+
+Sub CB2_vetoableChange
+ Out.Log("CallBack 'vetoableChange' for listener 2 was called.")
+ vetoCalled2 = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XPropertySet/script.xlb b/qadevOOo/tests/basic/ifc/beans/XPropertySet/script.xlb
new file mode 100644
index 000000000000..b5800efed317
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XPropertySet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XPropertySet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="beans_XPropertySet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/beans_XPropertySetInfo.xba b/qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/beans_XPropertySetInfo.xba
new file mode 100644
index 000000000000..4907ef848c4b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/beans_XPropertySetInfo.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="beans_XPropertySetInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XPropertySetInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aProperties As Variant
+ Dim vPropertie As Variant
+
+
+ Test.StartMethod("getProperties()")
+ bOK = true
+ aProperties = oObj.getProperties()
+ bOK = bOk AND not isNull(aProperties)
+ Test.MethodTested("getProperties()", bOK)
+
+ Test.StartMethod("getPropertyByName()")
+ bOK = true
+ vPropertie = oObj.getPropertyByName(aProperties(0).Name)
+ bOK = bOK AND NOT isNull(vPropertie)
+ Test.MethodTested("getPropertyByName()", bOK)
+
+ Test.StartMethod("hasPropertyByName()")
+ bOK = true
+ bOK = bOK AND oObj.hasPropertyByName(aProperties(0).Name)
+ Test.MethodTested("hasPropertyByName()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/script.xlb b/qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/script.xlb
new file mode 100644
index 000000000000..702547f945d2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XPropertySetInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XPropertySetInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="beans_XPropertySetInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba b/qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba
new file mode 100644
index 000000000000..783563acb21d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="beans_XPropertyState" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+Const BOUND = 2
+Const CONSTRAINED = 4
+Const MAYBENULL = 8
+Const READONLY = 16
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.beans.XPropertyState
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oProperties As Variant
+ Dim nAllProps As Integer
+ Dim aValue As Variant
+ Dim n As Integer
+ Dim oCoreRefl As Object
+ Dim bTypesEq As Boolean
+
+ bOK = true
+
+ oCoreRefl = createUnoService("com.sun.star.reflection.CoreReflection")
+
+ oProperties = oObj.GetPropertySetInfo().Properties
+ nAllProps = uBound(oProperties)
+ Dim AllPropsNames(nAllProps) As String
+ Out.Log("Found " &amp; nAllProps &amp; " properties.")
+
+ for n = 0 to (nAllProps)
+ AllPropsNames(n) = oProperties(n).Name
+ next n
+
+ Test.StartMethod("getPropertyStates()")
+ Out.Log("getting states for all properties.")
+ bOK = true
+
+ Dim aStates As Variant
+
+ aStates() = oObj.getPropertyStates(AllPropsNames())
+ bOK = bOK AND isArray(aStates())
+ if (bOK) then Out.Log("Length of returned array is " &amp; ubound(aStates()))
+ bOK = bOK AND ubound(aStates()) = nAllProps
+
+ Dim nState As Integer
+ nState = aStates(nAllProps / 2)
+ bOK = bOK AND (nState = com.sun.star.beans.PropertyState.DIRECT_VALUE OR _
+ nState = com.sun.star.beans.PropertyState.DEFAULT_VALUE OR _
+ nState = com.sun.star.beans.PropertyState.AMBIGUOUS_VALUE)
+ Test.MethodTested("getPropertyStates()", bOK)
+
+ Test.StartMethod("getPropertyState()")
+ bOK = false
+ n = 0
+
+ ' Here testing getPropertyState method. Method is OK when at least one
+ ' property works correctly.
+
+ while (bOK = false AND n &lt; nAllProps)
+ bOK = true
+ nState = oObj.getPropertyState(AllPropsNames(n))
+ bOK = bOK AND (nState = com.sun.star.beans.PropertyState.DIRECT_VALUE OR _
+ nState = com.sun.star.beans.PropertyState.DEFAULT_VALUE OR _
+ nState = com.sun.star.beans.PropertyState.AMBIGUOUS_VALUE)
+ n = n + 1
+ wend
+ Test.MethodTested("getPropertyState()", bOK)
+
+ Test.StartMethod("getPropertyDefault()")
+ bOK = false
+ n = 0
+
+ ' Here testing getPropertyDefault method. Method is OK when at least one
+ ' property works correctly.
+
+ while (bOK = false AND n &lt; nAllProps)
+ bOK = true
+ aValue = oObj.getPropertyDefault(AllPropsNames(n))
+ bOK = bOK AND (oProperties(n).Type.Name = oCoreRefl.getType(aValue).Name)
+ n = n + 1
+ wend
+ Test.MethodTested("getPropertyDefault()", bOK)
+
+ Test.StartMethod("setPropertyToDefault()")
+ bOK = false
+ n = 0
+
+ ' Here testing setPropertyToDefault method. Method is OK when at least one
+ ' property works correctly.
+
+ while (bOK = false AND n &lt; nAllProps)
+ bOK = true
+ oObj.setPropertyToDefault(AllPropsNames(n))
+ n = n + 1
+ wend
+ Test.MethodTested("setPropertyToDefault()", bOK)
+
+
+ ' Here testing getPropertyState for ALL properties. This will
+ ' put all exceptions to .log file (if this method doesn't work with some properties)
+ ' but without any affect to test status.
+
+ n = 0
+ while (n &lt; nAllProps)
+ bOK = true
+ nState = oObj.getPropertyState(AllPropsNames(n))
+ bOK = bOK AND (nState = com.sun.star.beans.PropertyState.DIRECT_VALUE OR _
+ nState = com.sun.star.beans.PropertyState.DEFAULT_VALUE OR _
+ nState = com.sun.star.beans.PropertyState.AMBIGUOUS_VALUE)
+
+ if (NOT bOK) then
+ Out.Log("Error while testing getPropertyState() for '" &amp; AllPropsNames(n) &amp; "' FAILED.")
+ else
+ Out.Log("getPropertyState() for property '" &amp; AllPropsNames(n) &amp; "' is OK")
+ end if
+
+ bOK = true
+ aValue = oObj.getPropertyDefault(AllPropsNames(n))
+ bTypesEq = false
+ if (bOK AND (TypeName(aValue) &lt;&gt; "Empty")) then
+ bTypesEq = (oProperties(n).Type.Name = oCoreRefl.getType(aValue).Name)
+ end if
+
+ if (NOT bOK) then ' exception was occured
+ Out.Log("Error while testing getPropertyDefault() for '" &amp; AllPropsNames(n) &amp; "' FAILED.")
+ elseif ((TypeName(aValue) &lt;&gt; "Empty") AND (NOT bTypesEq)) then
+ Out.Log("Types: '" &amp; oProperties(n).Type.Name &amp; "' and '" &amp; oCoreRefl.getType(aValue).Name &amp; "' are different.")
+ else
+ Out.Log("getPropertyDefault() for property '" &amp; AllPropsNames(n) &amp; "' is OK")
+ end if
+ n = n + 1
+ wend
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/beans/XPropertyState/script.xlb b/qadevOOo/tests/basic/ifc/beans/XPropertyState/script.xlb
new file mode 100644
index 000000000000..4a57254d9d4c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/beans/XPropertyState/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="beans_XPropertyState" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="beans_XPropertyState"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/bridge/XBridge/bridge_XBridge.xba b/qadevOOo/tests/basic/ifc/bridge/XBridge/bridge_XBridge.xba
new file mode 100644
index 000000000000..5fa2afa34cdc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/bridge/XBridge/bridge_XBridge.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="bridge_XBridge" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global sBridgeName As String
+' Global sConnectionString As String
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.bridge.XBridge
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sName As String
+ Dim sDscr As String
+ Dim oInstance As Object
+
+
+ Test.StartMethod("getInstance()")
+ bOK = true
+ oInstance = oObj.getInstance("StarOffice.ServiceManager")
+ bOK = bOK AND NOT isNULL(oInstance)
+ Test.MethodTested("getInstance()", bOK)
+
+ Test.StartMethod("getName()")
+ bOK = true
+ sName = oObj.getName()
+ Out.Log("Bridge's name is '" &amp; sName &amp; "', expected name is '" &amp; sBridgeName &amp; "'")
+ bOK = bOK AND sBridgeName = sName
+ Test.MethodTested("getName()", bOK)
+
+ Test.StartMethod("getDescription()")
+ bOK = true
+ sDscr = oObj.getDescription()
+ Out.Log("Description is '" &amp; sDscr &amp; "'")
+ bOK = bOK AND (inStr(sDscr, sConnectionString) &gt; 0)
+ Test.MethodTested("getDescription()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/bridge/XBridge/script.xlb b/qadevOOo/tests/basic/ifc/bridge/XBridge/script.xlb
new file mode 100644
index 000000000000..4d8c253b2e17
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/bridge/XBridge/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="bridge_XBridge" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="bridge_XBridge"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/bridge_XBridgeFactory.xba b/qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/bridge_XBridgeFactory.xba
new file mode 100644
index 000000000000..eae78d84178c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/bridge_XBridgeFactory.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="bridge_XBridgeFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global sProtocol As String
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.bridge.XBridgeFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim connectionStr As String
+ Dim oConnector As Object, oAcceptor As Object
+ Dim xConnection As Object
+ Dim oBridge As Object
+ Dim aBridges As Variant, args(1) As Variant
+ oConnector = createUnoService("basichelper.Connector")
+ oAcceptor = createUnoService("com.sun.star.connection.Acceptor")
+
+ Dim iPos1 As Integer, iPos2 As Integer
+
+ iPos1 = inStr(1, CNCSTR, "socket")
+ iPos2 = inStr(iPos1, CNCSTR, "port=")
+
+ connectionStr = mid(CNCSTR, iPos1, iPos2 - iPos1 + 5) + "18888"
+
+ Out.Log("Connection string is '" + connectionStr + "'")
+
+ args(0) = createUnoService("com.sun.star.connection.Connector")
+ args(1) = connectionStr
+
+ ' When call initialize() method, a new thread is created and tries to
+ ' connect to Acceptor after some seconds.
+
+ oConnector.initialize(args())
+
+ xConnection = oAcceptor.accept(connectionStr)
+
+' wait(5000)
+
+' xConnection = oConnector.getByName("Connection")
+
+ if (isNull(xConnector)) then
+ Out.Log("Connection was not created !!!")
+ end if
+ Out.Log("State of connector: " + oConnector.getByName("State"))
+
+ Test.StartMethod("createBridge()")
+ bOK = true
+ oBridge = oObj.createBridge("NewBasicBridge", sProtocol, xConnection, NULL_OBJECT)
+ bOK = bOK AND hasUnoInterfaces(oBridge, "com.sun.star.bridge.XBridge")
+ Test.MethodTested("createBridge()", bOK)
+
+ Test.StartMethod("getBridge()")
+ bOK = true
+ oBridge = oObj.getBridge("NewBasicBridge")
+ bOK = bOK AND NOT isNull(oBridge) AND (oBridge.Name = "NewBasicBridge")
+ Test.MethodTested("getBridge()", bOK)
+
+ Test.StartMethod("getExistingBridges()")
+ bOK = true
+ aBridges = oObj.getExistingBridges()
+ bOK = bOK AND NOT isNull(aBridges) AND ubound(aBridges()) > -1
+ Test.MethodTested("getExistingBridges()", bOK)
+
+ Out.Log("Finally the bridge must be disposed ...")
+ xConnection.close()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/script.xlb b/qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/script.xlb
new file mode 100644
index 000000000000..554366c6a09d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/bridge/XBridgeFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="bridge_XBridgeFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="bridge_XBridgeFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/bridge_XUnoUrlResolver.xba b/qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/bridge_XUnoUrlResolver.xba
new file mode 100644
index 000000000000..a70b1a78cad1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/bridge_XUnoUrlResolver.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="bridge_XUnoUrlResolver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.bridge.XUnoUrlResolver
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim ORegSrv As Object
+
+ Test.StartMethod("resolve()")
+ bOK = true
+ ORegSrv = oObj.resolve("uno:" &amp; CNCSTR &amp; ";urp;StarOffice.ServiceManager")
+ bOK = bOK AND NOT isNULL(ORegSrv)
+ Test.MethodTested("resolve()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/script.xlb b/qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/script.xlb
new file mode 100644
index 000000000000..c24c330f546e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/bridge/XUnoUrlResolver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="bridge_XUnoUrlResolver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="bridge_XUnoUrlResolver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/BarDiagram/chart_BarDiagram.xba b/qadevOOo/tests/basic/ifc/chart/BarDiagram/chart_BarDiagram.xba
new file mode 100644
index 000000000000..794190a93d8a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/BarDiagram/chart_BarDiagram.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_BarDiagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oBarDiagram As Object
+' Global nGlobalBarDiagram As Long
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.BarDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oObject As Object
+ Dim i As Integer
+
+ ' Change an object to test here!
+ oObject = oObj
+ oObj = oBarDiagram
+
+ if isEmpty(oObj) then
+ Out.Log("Global oBarDiagram As Object is required for this test!")
+ end if
+
+ if oObj.supportsService("com.sun.star.chart.Dim3DDiagram") then
+ oObj.Dim3D = true
+ end if
+
+
+ PropertyTester.TestProperty("Vertical")
+
+ PropertyTester.TestProperty("Deep")
+
+ PropertyTester.TestProperty("StackedBarsConnected")
+
+ if oObj.supportsService("com.sun.star.chart.Dim3DDiagram") then
+ oObj.Dim3D = false
+ end if
+ oObj.Vertical = false
+
+
+ Dim aNumberOfLines(nGlobalBarDiagram) As Integer
+ for i = 0 to nGlobalBarDiagram
+ aNumberOfLines(i) = i
+ next i
+ PropertyTester.TestProperty("NumberOfLines",aNumberOfLines())
+
+ ' Change an object back!
+ oObj = oObject
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/BarDiagram/script.xlb b/qadevOOo/tests/basic/ifc/chart/BarDiagram/script.xlb
new file mode 100644
index 000000000000..c98a69dade8c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/BarDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_BarDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_BarDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/chart_Chart3DBarProperties.xba b/qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/chart_Chart3DBarProperties.xba
new file mode 100644
index 000000000000..12c151847372
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/chart_Chart3DBarProperties.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_Chart3DBarProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.Chart3DBarProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("SolidType")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/script.xlb b/qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/script.xlb
new file mode 100644
index 000000000000..097265920816
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/Chart3DBarProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_Chart3DBarProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_Chart3DBarProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxis/chart_ChartAxis.xba b/qadevOOo/tests/basic/ifc/chart/ChartAxis/chart_ChartAxis.xba
new file mode 100644
index 000000000000..e95822265dc2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxis/chart_ChartAxis.xba
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartAxis" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartAxis
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ oObj.AutoMax = false
+ PropertyTester.TestProperty("Max")
+
+ oObj.AutoMin = false
+ Dim vMin(0 to 2) As Double
+ vMin(0) = oObj.Origin - 1
+ vMin(1) = oObj.Origin - 1.333
+ vMin(2) = oObj.AutoMin
+ PropertyTester.TestProperty("Min",vMin())
+
+ oObj.AutoOrigin = false
+ PropertyTester.TestProperty("Origin")
+
+ oObj.AutoStepMain = false
+ PropertyTester.TestProperty("StepMain")
+
+ oObj.AutoStepHelp = false
+ PropertyTester.TestProperty("StepHelp")
+
+ PropertyTester.TestProperty("AutoMax")
+
+ PropertyTester.TestProperty("AutoMin")
+
+ PropertyTester.TestProperty("AutoOrigin")
+
+ PropertyTester.TestProperty("AutoStepHelp")
+
+ PropertyTester.TestProperty("AutoStepMain")
+
+ PropertyTester.TestProperty("Logarithmic")
+
+ PropertyTester.TestProperty("DisplayLabels")
+
+ PropertyTester.TestProperty("TextRotation")
+
+ PropertyTester.TestProperty("Marks")
+
+ PropertyTester.TestProperty("HelpMarks")
+
+ PropertyTester.TestProperty("Overlap")
+
+ PropertyTester.TestProperty("GapWidth")
+
+ PropertyTester.TestProperty("ArrangeOrder")
+
+ PropertyTester.TestProperty("TextBreak")
+
+ PropertyTester.TestProperty("TextCanOverlap")
+
+ PropertyTester.TestProperty("NumberFormat")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxis/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartAxis/script.xlb
new file mode 100644
index 000000000000..98571281ce05
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxis/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartAxis" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartAxis"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/chart_ChartAxisXSupplier.xba b/qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/chart_ChartAxisXSupplier.xba
new file mode 100644
index 000000000000..6ef3958aaaa2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/chart_ChartAxisXSupplier.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartAxisXSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartAxisXSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("HasXAxis")
+
+ oObj.HasXAxis = true
+ PropertyTester.TestProperty("HasXAxisDescription")
+
+ PropertyTester.TestProperty("HasXAxisGrid")
+
+ PropertyTester.TestProperty("HasXAxisHelpGrid")
+
+ PropertyTester.TestProperty("HasXAxisTitle")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/script.xlb
new file mode 100644
index 000000000000..c56c3d43895b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxisXSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartAxisXSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartAxisXSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/chart_ChartAxisYSupplier.xba b/qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/chart_ChartAxisYSupplier.xba
new file mode 100644
index 000000000000..7c434f5a8102
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/chart_ChartAxisYSupplier.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartAxisYSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartAxisYSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("HasYAxis")
+
+ oObj.HasYAxis = true
+ PropertyTester.TestProperty("HasYAxisDescription")
+
+ PropertyTester.TestProperty("HasYAxisGrid")
+
+ PropertyTester.TestProperty("HasYAxisHelpGrid")
+
+ PropertyTester.TestProperty("HasYAxisTitle")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/script.xlb
new file mode 100644
index 000000000000..19a8df66c70e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxisYSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartAxisYSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartAxisYSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/chart_ChartAxisZSupplier.xba b/qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/chart_ChartAxisZSupplier.xba
new file mode 100644
index 000000000000..e8a190225631
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/chart_ChartAxisZSupplier.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartAxisZSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartAxisZSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("HasZAxis")
+
+ oObj.HasZAxis = true
+ PropertyTester.TestProperty("HasZAxisDescription")
+
+ PropertyTester.TestProperty("HasZAxisGrid")
+
+ PropertyTester.TestProperty("HasZAxisHelpGrid")
+
+ PropertyTester.TestProperty("HasZAxisTitle")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/script.xlb
new file mode 100644
index 000000000000..e178b40cd5df
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartAxisZSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartAxisZSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartAxisZSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/chart_ChartDataPointProperties.xba b/qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/chart_ChartDataPointProperties.xba
new file mode 100644
index 000000000000..bd3c543023e3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/chart_ChartDataPointProperties.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartDataPointProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartDataPointProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim aCaptions(4) As Integer
+ aCaptions(0) = com.sun.star.chart.ChartDataCaption.NONE
+ aCaptions(1) = com.sun.star.chart.ChartDataCaption.VALUE
+ aCaptions(2) = com.sun.star.chart.ChartDataCaption.PERCENT
+ aCaptions(3) = com.sun.star.chart.ChartDataCaption.TEXT
+ aCaptions(4) = com.sun.star.chart.ChartDataCaption.SYMBOL
+ PropertyTester.TestProperty("DataCaption", aCaptions())
+
+ PropertyTester.TestProperty("SymbolType")
+
+ Test.StartMethod("SymbolBitmapURL")
+ Dim sURL1 As String
+ Dim sURL2 As String
+ oObj.setPropertyValue("SymbolBitmapURL", utils.Path2URL(cTestDocsDir) &amp; "crazy-blue.jpg")
+ sURL1 = oObj.getPropertyValue("SymbolBitmapURL")
+ oObj.setPropertyValue("SymbolBitmapURL", utils.Path2URL(cTestDocsDir) &amp; "space-metal.jpg")
+ sURL2 = oObj.getPropertyValue("SymbolBitmapURL")
+ Test.MethodTested("SymbolBitmapURL", sURL1 &lt;&gt; sURL2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/script.xlb
new file mode 100644
index 000000000000..461713249f6c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartDataPointProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartDataPointProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartDataPointProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/chart_ChartDataRowProperties.xba b/qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/chart_ChartDataRowProperties.xba
new file mode 100644
index 000000000000..af8c2af6e53b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/chart_ChartDataRowProperties.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartDataRowProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartDataRowProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Axis")
+
+ PropertyTester.TestProperty("DataRegressionProperties")
+
+ PropertyTester.TestProperty("DataErrorProperties")
+
+ PropertyTester.TestProperty("DataMeanValueProperties")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/script.xlb
new file mode 100644
index 000000000000..21ddb4431bb9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartDataRowProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartDataRowProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartDataRowProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartDocument/chart_ChartDocument.xba b/qadevOOo/tests/basic/ifc/chart/ChartDocument/chart_ChartDocument.xba
new file mode 100644
index 000000000000..23db1de23d59
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartDocument/chart_ChartDocument.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("HasMainTitle")
+
+ PropertyTester.TestProperty("HasSubTitle")
+
+ PropertyTester.TestProperty("HasLegend")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartDocument/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartDocument/script.xlb
new file mode 100644
index 000000000000..c49800c91fda
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartLegend/chart_ChartLegend.xba b/qadevOOo/tests/basic/ifc/chart/ChartLegend/chart_ChartLegend.xba
new file mode 100644
index 000000000000..5c657f62e354
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartLegend/chart_ChartLegend.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartLegend" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartLegend
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Alignment")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartLegend/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartLegend/script.xlb
new file mode 100644
index 000000000000..2ffdad5a3274
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartLegend/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartLegend" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartLegend"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartStatistics/chart_ChartStatistics.xba b/qadevOOo/tests/basic/ifc/chart/ChartStatistics/chart_ChartStatistics.xba
new file mode 100644
index 000000000000..94f34978b537
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartStatistics/chart_ChartStatistics.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartStatistics" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartStatistics
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("ConstantErrorLow")
+
+ PropertyTester.TestProperty("ConstantErrorHigh")
+
+ PropertyTester.TestProperty("MeanValue")
+
+ PropertyTester.TestProperty("ErrorCategory")
+
+ PropertyTester.TestProperty("PercentageError")
+
+ PropertyTester.TestProperty("ErrorMargin")
+
+ PropertyTester.TestProperty("ErrorIndicator")
+
+ PropertyTester.TestProperty("RegressionCurves")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartStatistics/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartStatistics/script.xlb
new file mode 100644
index 000000000000..98806825e5ff
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartStatistics/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartStatistics" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartStatistics"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/chart_ChartTableAddressSupplier.xba b/qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/chart_ChartTableAddressSupplier.xba
new file mode 100644
index 000000000000..579ae05ad90a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/chart_ChartTableAddressSupplier.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartTableAddressSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartTableAddressSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("CategoriesRangeAddress")
+
+ PropertyTester.TestProperty("SeriesAddresses")
+
+ PropertyTester.TestProperty("MainTitleAddress")
+
+ PropertyTester.TestProperty("SubTitleAddress")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/script.xlb
new file mode 100644
index 000000000000..71adea8c2158
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTableAddressSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartTableAddressSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartTableAddressSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTitle/chart_ChartTitle.xba b/qadevOOo/tests/basic/ifc/chart/ChartTitle/chart_ChartTitle.xba
new file mode 100644
index 000000000000..825fb3627b25
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTitle/chart_ChartTitle.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartTitle" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartTitle
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("TextRotation")
+
+ PropertyTester.TestProperty("String")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTitle/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartTitle/script.xlb
new file mode 100644
index 000000000000..315635fecd24
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTitle/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartTitle" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartTitle"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/chart_ChartTwoAxisXSupplier.xba b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/chart_ChartTwoAxisXSupplier.xba
new file mode 100644
index 000000000000..b88a0c8a3947
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/chart_ChartTwoAxisXSupplier.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartTwoAxisXSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartTwoAxisXSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("HasSecondaryXAxis")
+
+ PropertyTester.TestProperty("HasSecondaryXAxisDescription")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/script.xlb
new file mode 100644
index 000000000000..315e3105d221
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisXSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartTwoAxisXSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartTwoAxisXSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/chart_ChartTwoAxisYSupplier.xba b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/chart_ChartTwoAxisYSupplier.xba
new file mode 100644
index 000000000000..ad632a404d0d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/chart_ChartTwoAxisYSupplier.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_ChartTwoAxisYSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.ChartTwoAxisYSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("HasSecondaryYAxis")
+
+ PropertyTester.TestProperty("HasSecondaryYAxisDescription")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/script.xlb
new file mode 100644
index 000000000000..3ff36ef423a8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/ChartTwoAxisYSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_ChartTwoAxisYSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_ChartTwoAxisYSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/Diagram/chart_Diagram.xba b/qadevOOo/tests/basic/ifc/chart/Diagram/chart_Diagram.xba
new file mode 100644
index 000000000000..1beb2480cfc2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/Diagram/chart_Diagram.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_Diagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.Diagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("DataRowSource")
+
+ Dim nDataCaption(0 to 4) As Long
+ nDataCaption(0) = 0
+ nDataCaption(1) = 1
+ nDataCaption(2) = 2
+ nDataCaption(3) = 4
+ 'nDataCaption(4) = 8 deprecated
+ nDataCaption(4) = 16
+ PropertyTester.TestProperty("DataCaption",nDataCaption())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/Diagram/script.xlb b/qadevOOo/tests/basic/ifc/chart/Diagram/script.xlb
new file mode 100644
index 000000000000..c7cc1e56dd64
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/Diagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_Diagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_Diagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/chart_Dim3DDiagram.xba b/qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/chart_Dim3DDiagram.xba
new file mode 100644
index 000000000000..8fd613796a70
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/chart_Dim3DDiagram.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_Dim3DDiagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.Dim3DDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Dim3D")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/script.xlb b/qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/script.xlb
new file mode 100644
index 000000000000..d636a65edc73
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/Dim3DDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_Dim3DDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_Dim3DDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/LineDiagram/chart_LineDiagram.xba b/qadevOOo/tests/basic/ifc/chart/LineDiagram/chart_LineDiagram.xba
new file mode 100644
index 000000000000..7de157b35aec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/LineDiagram/chart_LineDiagram.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_LineDiagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oLineDiagram As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.LineDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oObject As Object
+ ' Change an object to test here!
+ oObject = oObj
+ oObj = oLineDiagram
+
+ if isEmpty(oObj) then
+ Out.Log("Global oLineDiagram As Object is required for this test!")
+ End If
+
+ Dim nSymbolType(1) As Integer
+ nSymbolType(0) = com.sun.star.chart.ChartSymbolType.NONE
+ nSymbolType(1) = com.sun.star.chart.ChartSymbolType.AUTO
+ PropertyTester.TestProperty("SymbolType", nSymbolType())
+
+ oObj.SymbolType = com.sun.star.chart.ChartSymbolType.SYMBOL0
+ Dim newSize As new com.sun.star.awt.Size
+ newSize.Width = 300
+ newSize.Height = 300
+ PropertyTester.TestProperty("SymbolSize", Array(newSize))
+
+ Test.StartMethod("SymbolBitmapURL")
+ Dim sURL1 As String
+ Dim sURL2 As String
+ oObj.setPropertyValue("SymbolBitmapURL", utils.Path2URL(cTestDocsDir) + "crazy-blue.jpg")
+ sURL1 = oObj.getPropertyValue("SymbolBitmapURL")
+ oObj.setPropertyValue("SymbolBitmapURL", utils.Path2URL(cTestDocsDir) + "space-metal.jpg")
+ sURL2 = oObj.getPropertyValue("SymbolBitmapURL")
+ Test.MethodTested("SymbolBitmapURL", sURL1 &lt;&gt; sURL2)
+
+ PropertyTester.TestProperty("Lines")
+
+ Dim nSpline(1) As Long
+ nSpline(0) = 0
+ nSpline(1) = 2
+ PropertyTester.TestProperty("SplineType", nSpline())
+
+ PropertyTester.TestProperty("SplineOrder")
+
+ PropertyTester.TestProperty("SplineResolution")
+
+ ' Change an object back!
+ oObj = oObject
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/LineDiagram/script.xlb b/qadevOOo/tests/basic/ifc/chart/LineDiagram/script.xlb
new file mode 100644
index 000000000000..521f4f8d6088
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/LineDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_LineDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_LineDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/StackableDiagram/chart_StackableDiagram.xba b/qadevOOo/tests/basic/ifc/chart/StackableDiagram/chart_StackableDiagram.xba
new file mode 100644
index 000000000000..469bdfba2131
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/StackableDiagram/chart_StackableDiagram.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_StackableDiagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+'Global oStackDiagram As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.StackableDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oObject As Object
+ ' Change an object to test here!
+ oObject = oObj
+ oObj = oStackDiagram
+
+ if isEmpty(oObj) then
+ Out.Log("Global oStackDiagram As Object is required for this test!")
+ end if
+
+ PropertyTester.TestProperty("Percent")
+
+ PropertyTester.TestProperty("Stacked")
+
+ ' Change an object back!
+ oObj = oObject
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/StackableDiagram/script.xlb b/qadevOOo/tests/basic/ifc/chart/StackableDiagram/script.xlb
new file mode 100644
index 000000000000..8f18c62bc326
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/StackableDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_StackableDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_StackableDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/StockDiagram/chart_StockDiagram.xba b/qadevOOo/tests/basic/ifc/chart/StockDiagram/chart_StockDiagram.xba
new file mode 100644
index 000000000000..bafaa29d10cc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/StockDiagram/chart_StockDiagram.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_StockDiagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oStockDiagram As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.chart.StockDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oObject As Object
+ ' Change an object to test here!
+ oObject = oObj
+ oObj = oStockDiagram
+
+ if isEmpty(oObj) then
+ Out.Log("Global oStockDiagram As Object is required for this test!")
+ end if
+
+ PropertyTester.TestProperty("Volume")
+
+ PropertyTester.TestProperty("UpDown")
+
+ ' Change an object back!
+ oObj = oObject
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/StockDiagram/script.xlb b/qadevOOo/tests/basic/ifc/chart/StockDiagram/script.xlb
new file mode 100644
index 000000000000..a44cabf4ce14
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/StockDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_StockDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_StockDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/X3DDisplay/chart_X3DDisplay.xba b/qadevOOo/tests/basic/ifc/chart/X3DDisplay/chart_X3DDisplay.xba
new file mode 100644
index 000000000000..b75b8acc5751
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/X3DDisplay/chart_X3DDisplay.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_X3DDisplay" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.X3DDisplay
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getWall()")
+ bOK = NOT isNULL(oObj.getWall())
+ Test.MethodTested("getWall()", bOK)
+
+ Test.StartMethod("getFloor()")
+ bOK = NOT isNULL(oObj.getFloor())
+ Test.MethodTested("getFloor()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/X3DDisplay/script.xlb b/qadevOOo/tests/basic/ifc/chart/X3DDisplay/script.xlb
new file mode 100644
index 000000000000..7eb194eab6c3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/X3DDisplay/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_X3DDisplay" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_X3DDisplay"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/chart_XAxisXSupplier.xba b/qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/chart_XAxisXSupplier.xba
new file mode 100644
index 000000000000..906e5eecf2d8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/chart_XAxisXSupplier.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XAxisXSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XAxisXSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getXAxisTitle()")
+ bOK = NOT isNULL(oObj.getXAxisTitle())
+ Test.MethodTested("getXAxisTitle()", bOK)
+
+ Test.StartMethod("getXAxis()")
+ bOK = NOT isNULL(oObj.getXAxis())
+ Test.MethodTested("getXAxis()", bOK)
+
+ Test.StartMethod("getXMainGrid()")
+ bOK = NOT isNULL(oObj.getXMainGrid())
+ Test.MethodTested("getXMainGrid()", bOK)
+
+ Test.StartMethod("getXHelpGrid()")
+ bOK = NOT isNULL(oObj.getXHelpGrid())
+ Test.MethodTested("getXHelpGrid()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/script.xlb
new file mode 100644
index 000000000000..1916f3a2802b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XAxisXSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XAxisXSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XAxisXSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/chart_XAxisYSupplier.xba b/qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/chart_XAxisYSupplier.xba
new file mode 100644
index 000000000000..2d6fba33a104
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/chart_XAxisYSupplier.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XAxisYSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XAxisYSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getYAxisTitle()")
+ bOK = NOT isNULL(oObj.getYAxisTitle())
+ Test.MethodTested("getYAxisTitle()", bOK)
+
+ Test.StartMethod("getYAxis()")
+ bOK = NOT isNULL(oObj.getYAxis())
+ Test.MethodTested("getYAxis()", bOK)
+
+ Test.StartMethod("getYMainGrid()")
+ bOK = NOT isNULL(oObj.getYMainGrid())
+ Test.MethodTested("getYMainGrid()", bOK)
+
+ Test.StartMethod("getYHelpGrid()")
+ bOK = NOT isNULL(oObj.getYHelpGrid())
+ Test.MethodTested("getYHelpGrid()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/script.xlb
new file mode 100644
index 000000000000..3fb6f9844872
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XAxisYSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XAxisYSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XAxisYSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/chart_XAxisZSupplier.xba b/qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/chart_XAxisZSupplier.xba
new file mode 100644
index 000000000000..dc2db677d1c6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/chart_XAxisZSupplier.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XAxisZSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XAxisZSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getZAxisTitle()")
+ bOK = NOT isNULL(oObj.getZAxisTitle())
+ Test.MethodTested("getZAxisTitle()", bOK)
+
+ Test.StartMethod("getZAxis()")
+ bOK = NOT isNULL(oObj.getZAxis())
+ Test.MethodTested("getZAxis()", bOK)
+
+ Test.StartMethod("getZMainGrid()")
+ bOK = NOT isNULL(oObj.getZMainGrid())
+ Test.MethodTested("getZMainGrid()", bOK)
+
+ Test.StartMethod("getZHelpGrid()")
+ bOK = NOT isNULL(oObj.getZHelpGrid())
+ Test.MethodTested("getZHelpGrid()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/script.xlb
new file mode 100644
index 000000000000..e3ab9d5cc44e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XAxisZSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XAxisZSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XAxisZSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XChartData/chart_XChartData.xba b/qadevOOo/tests/basic/ifc/chart/XChartData/chart_XChartData.xba
new file mode 100644
index 000000000000..7d5f1b34d5f9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XChartData/chart_XChartData.xba
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XChartData" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oCellToChange As Object
+
+'*************************************************************************
+
+
+
+
+
+Dim nCB1Val as Integer, nCB2Val As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XChartData
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nNumber As Double
+ Dim oListener1 As Object
+ Dim oListener2 As Object
+
+ nCB1Val = 0
+ nCB2Val = 0
+
+
+ Test.StartMethod("getNotANumber()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getNotANumber()) = 5)
+ Test.MethodTested("getNotANumber()", bOK)
+
+ Test.StartMethod("isNotANumber()")
+ bOK = true
+ nNumber = oObj.getNotANumber()
+ bOK = bOK AND oObj.IsNotANumber(nNumber)
+ bOK = bOK AND NOT oObj.IsNotANumber(nNumber + 1)
+ Test.MethodTested("isNotANumber()", bOK)
+
+ Out.Log("create listeners...")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.chart.XChartDataChangeEventListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.chart.XChartDataChangeEventListener")
+
+ 'add listeners to object if initialized
+ if NOT(isNull(oListener1)) then
+ oObj.addChartDataChangeEventListener(oListener1)
+ end if
+ if NOT(isNull(oListener2)) then
+ oObj.addChartDataChangeEventListener(oListener2)
+ end if
+
+ Test.StartMethod("addChartDataChangeEventListener()")
+ bOK = true
+ oCellToChange.Value = 100
+ wait 2000
+ bOK = bOK AND ((nCB1Val = 1) AND (nCB2Val = 1))
+ Test.MethodTested("addChartDataChangeEventListener()", bOK)
+
+ Test.StartMethod("removeChartDataChangeEventListener()")
+ bOK = true
+ oObj.removeChartDataChangeEventListener(oListener2)
+ oCellToChange.Value = 10
+ wait 2000
+ bOK = bOK AND ((nCB1Val = 2 ) AND (nCB2Val = 1))
+ Test.MethodTested("removeChartDataChangeEventListener()", bOK)
+
+ Out.Log("Removing last listener.")
+ oObj.removeChartDataChangeEventListener(oListener1)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+' callback routine called chartDataChanged for listener1
+Sub CB1_chartDataChanged
+ Out.Log("CallBack for Listener 1 was called.")
+ nCB1Val = nCB1Val + 1
+End Sub
+
+' callback routine called chartDataChanged for listener2
+Sub CB2_chartDataChanged
+ Out.Log("CallBack for Listener 2 was called.")
+ nCB2Val = nCB2Val + 1
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XChartData/script.xlb b/qadevOOo/tests/basic/ifc/chart/XChartData/script.xlb
new file mode 100644
index 000000000000..317ed8da3725
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XChartData/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XChartData" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XChartData"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XChartDataArray/chart_XChartDataArray.xba b/qadevOOo/tests/basic/ifc/chart/XChartDataArray/chart_XChartDataArray.xba
new file mode 100644
index 000000000000..f0d0c705b4ec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XChartDataArray/chart_XChartDataArray.xba
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XChartDataArray" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global nTableH As Integer
+' Global nTableW As Integer
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XChartDataArray
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim i As Integer, j As Integer
+ Dim objRowDsc As Variant, objColDsc As Variant
+ Dim objEl As Variant, newEl As Variant
+ Dim chData As Variant
+
+ Out.Log("Object is '" + cObjectName + "'")
+ if (cObjectName = "sw.SwXTextTable") then
+ Out.Log("Object is 'SwXTextTable'. First, remove labels.")
+ oObj.setPropertyValue("ChartRowAsLabel", false)
+ oObj.setPropertyValue("ChartColumnAsLabel", false)
+ end if
+
+ Test.StartMethod("getData()")
+ bOK = true
+
+ Dim oData As Object
+ oData = oObj.getData()
+ bOK = bOK AND NOT isNULL(oData)
+ Test.MethodTested("getData()", bOK)
+
+ Test.StartMethod("setData()")
+ bOK = true
+
+ Dim newData(nTableH - 1) As Variant
+ Dim a(nTableW - 1) As Double
+
+ for i = 0 to nTableH - 1
+ ReDim a(nTableW - 1) As Double
+ for j = 0 to nTableW - 1
+ a(j) = ((nTableW * 4) / (i + 2) + j * 2) + 16
+ next j
+ newData(i) = a()
+ next i
+
+ oObj.setData(newData())
+ chData = oObj.getData()
+
+ bOK = bOK AND ubound(oObj.getRowDescriptions()) = nTableH - 1
+ bOK = bOK AND ubound(oObj.getColumnDescriptions()) = nTableW - 1
+
+ for i = 0 to nTableH - 1
+ objEl = chData(i)
+ newEl = newData(i)
+ for j = 0 to nTableW - 1
+ bOK = bOK AND objEl(j) = newEl(j)
+ next j
+ next i
+
+ Test.MethodTested("setData()", bOK)
+
+ if (cObjectName = "sw.SwXTextTable") then
+ Out.Log("Object is 'SwXTextTable'. Initialize labels.")
+ oObj.setPropertyValue("ChartRowAsLabel", true)
+ oObj.setPropertyValue("ChartColumnAsLabel", true)
+ end if
+
+ Test.StartMethod("getRowDescriptions()")
+ bOK = true
+
+ Dim oRowDsc() As String
+ oRowDsc = oObj.getRowDescriptions()
+ bOK = bOK AND NOT isNULL(oRowDsc)
+ Test.MethodTested("getRowDescriptions()", bOK)
+
+ Test.StartMethod("setRowDescriptions()")
+ bOK = true
+
+ Dim newRowDsc(nTableH - 2) As String
+ for i = 0 to nTableH - 2 ' -1 for 0-index and -1 for columns labels
+ newRowDsc(i) = "RowDsc " + i
+ next i
+
+ oObj.setRowDescriptions(newRowDsc())
+
+ objRowDsc = oObj.getRowDescriptions()
+
+ for i = 0 to nTableH - 2
+ bOK = bOK AND newRowDsc(i) = objRowDsc(i)
+ next i
+
+ Test.MethodTested("setRowDescriptions()", bOK)
+
+ Test.StartMethod("getColumnDescriptions()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getColumnDescriptions())
+ Test.MethodTested("getColumnDescriptions()", bOK)
+
+ Test.StartMethod("setColumnDescriptions()")
+ bOK = true
+
+ Dim newColDsc(nTableW - 2) As String
+ for i = 0 to nTableW - 2
+ newColDsc(i) = "ColDsc " + i
+ next i
+
+ oObj.setColumnDescriptions(newColDsc())
+
+ objColDsc = oObj.getColumnDescriptions()
+
+ for i = 0 to nTableW - 2
+ bOK = bOK AND newColDsc(i) = objColDsc(i)
+ next i
+
+ if (cObjectName = "sw.SwXTextTable") then
+ Out.Log("Object is 'SwXTextTable'. Remove labels finally.")
+ oObj.setPropertyValue("ChartRowAsLabel", false)
+ oObj.setPropertyValue("ChartColumnAsLabel", false)
+ end if
+
+ Test.MethodTested("setColumnDescriptions()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XChartDataArray/script.xlb b/qadevOOo/tests/basic/ifc/chart/XChartDataArray/script.xlb
new file mode 100644
index 000000000000..3c3b763d4073
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XChartDataArray/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XChartDataArray" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XChartDataArray"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XChartDocument/chart_XChartDocument.xba b/qadevOOo/tests/basic/ifc/chart/XChartDocument/chart_XChartDocument.xba
new file mode 100644
index 000000000000..a3db3fdd658f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XChartDocument/chart_XChartDocument.xba
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XChartDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XChartDocument
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oGetArea As Object
+ Dim oGetData As Object
+ Dim oGetDiagram As Object, oNewDiagram As Object
+ Dim oGetLegend As Object
+ Dim oGetSubTitle As Object
+ Dim oGetTitle As Object
+ Dim oSetDiagram As Object
+ Dim oAttachData As Object
+ Dim oRange As Object
+ Dim oXChartData As Variant
+ Dim sColumn As Variant, sColumnNew As Variant
+ Dim vColumnNew As Variant, vColumn As Variant
+
+
+ Test.StartMethod("getArea()")
+ bOK = true
+ oGetArea = oObj.GetArea
+ bOK = bOK AND isNumeric(oGetArea.fillStyle)
+ Test.MethodTested("getArea()", bOK)
+
+ Test.StartMethod("getData()")
+ bOK = true
+ oGetData = oObj.getData()
+ bOK = bOK AND (oGetData.RowDescriptions(0) &gt; "")
+ Test.MethodTested("getData()", bOK)
+
+ Test.StartMethod("getDiagram()")
+ bOK = true
+ oGetDiagram = oObj.getDiagram
+ bOK = bOK AND isNumeric(oGetDiagram.constantErrorHigh)
+ Test.MethodTested("getDiagram()", bOK)
+
+ Test.StartMethod("getLegend()")
+ bOK = true
+ oGetLegend = oObj.getLegend
+ bOK = bOK AND isNumeric(oGetLegend.fillStyle)
+ Test.MethodTested("getLegend()", bOK)
+
+ Test.StartMethod("getSubTitle()")
+ bOK = true
+ oGetSubTitle = oObj.getSubTitle
+ bOK = bOK AND isNumeric(ogetSubTitle.fillStyle)
+ Test.MethodTested("getSubTitle()", bOK)
+
+ Test.StartMethod("getTitle()")
+ bOK = true
+ oGetTitle = oObj.getTitle()
+ bOK = bOK AND isNumeric(oGetTitle.fillStyle)
+ Test.MethodTested("getTitle()", bOK)
+
+ Test.StartMethod("setDiagram()")
+ bOK = true
+ 'oGetDiagram = oObj.GetDiagram
+ oNewDiagram = oDoc.createInstance("com.sun.star.chart.PieDiagram")
+ oNewDiagram.DataCaption = oGetDiagram.DataCaption + 1
+ oObj.setDiagram(oNewDiagram)
+ oGetDiagram = oObj.GetDiagram
+ bOK = bOK AND oGetDiagram.DataCaption = oNewDiagram.DataCaption
+ Test.MethodTested("setDiagram()", bOK)
+
+ Test.StartMethod("attachData()")
+ bOK = true
+ oXChartData = oObj.getData()
+ vColumn = oXChartData.ColumnDescriptions
+ sColumn = vColumn(0)
+ vColumnNew = vColumn
+ vColumnNew(0) = vColumnNew(0) + cIfcShortName
+ oXChartData.ColumnDescriptions = vColumnNew
+ oObj.attachData(oXChartData)
+ sColumnNew = oXChartData.ColumnDescriptions
+ bOK = bOK AND (sColumn &lt;&gt; vColumnNew(0))
+ Test.MethodTested("attachData()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XChartDocument/script.xlb b/qadevOOo/tests/basic/ifc/chart/XChartDocument/script.xlb
new file mode 100644
index 000000000000..e4b41cdaf2f0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XChartDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XChartDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XChartDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XDiagram/chart_XDiagram.xba b/qadevOOo/tests/basic/ifc/chart/XDiagram/chart_XDiagram.xba
new file mode 100644
index 000000000000..6b347b758637
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XDiagram/chart_XDiagram.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XDiagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oGDPProp As Object
+ Dim oGDRProp As Object
+
+ Test.StartMethod("getDataPointProperties()")
+ bOK = true
+ oGDPProp = oObj.GetDataPointProperties(2,2)
+ bOK = bOK AND NOT (isNull(oGDPProp))
+ Test.MethodTested("getDataPointProperties()", bOK)
+
+ Test.StartMethod("getDataRowProperties()")
+ bOK = true
+ oGDRProp = oObj.GetDataRowProperties(2)
+ bOK = bOK AND NOT (isNull(oGDRProp))
+ Test.MethodTested("getDataRowProperties()", bOK)
+
+ Test.StartMethod("getDiagramType()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getDiagramType) = 8)
+ Test.MethodTested("getDiagramType()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XDiagram/script.xlb b/qadevOOo/tests/basic/ifc/chart/XDiagram/script.xlb
new file mode 100644
index 000000000000..e5304e270473
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/chart_XStatisticDisplay.xba b/qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/chart_XStatisticDisplay.xba
new file mode 100644
index 000000000000..76643f2cf520
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/chart_XStatisticDisplay.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XStatisticDisplay" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XStatisticDisplay
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oUpBar As Object
+ Dim oDownBar As Object
+ Dim oMMLine As Object
+
+ Test.StartMethod("getUpBar()")
+ bOK = true
+ oUpBar = oObj.getUpBar()
+ bOK = bOK AND NOT isNULL(oUpBar)
+ Test.MethodTested("getUpBar()", bOK)
+
+ Test.StartMethod("getDownBar()")
+ bOK = true
+ oDownBar = oObj.getDownBar()
+ bOK = bOK AND NOT isNULL(oDownBar)
+ Test.MethodTested("getDownBar()", bOK)
+
+ Test.StartMethod("getMinMaxLine()")
+ bOK = true
+ oMMLine = oObj.getMinMaxLine()
+ bOK = bOK AND NOT isNULL(oMMLine)
+ Test.MethodTested("getMinMaxLine()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/script.xlb b/qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/script.xlb
new file mode 100644
index 000000000000..641673941507
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XStatisticDisplay/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XStatisticDisplay" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XStatisticDisplay"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/chart_XTwoAxisXSupplier.xba b/qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/chart_XTwoAxisXSupplier.xba
new file mode 100644
index 000000000000..ae0724232cff
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/chart_XTwoAxisXSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XTwoAxisXSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XTwoAxisXSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oAxis As Object
+
+ Test.StartMethod("getSecondaryXAxis()")
+ bOK = true
+ oAxis = oObj.getSecondaryXAxis()
+ bOK = bOK AND NOT isNULL(oAxis)
+ bOK = bOK AND hasUnoInterfaces(oAxis, "com.sun.star.beans.XPropertySet")
+ Test.MethodTested("getSecondaryXAxis()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/script.xlb
new file mode 100644
index 000000000000..4360a5980282
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XTwoAxisXSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XTwoAxisXSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XTwoAxisXSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/chart_XTwoAxisYSupplier.xba b/qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/chart_XTwoAxisYSupplier.xba
new file mode 100644
index 000000000000..045fc963226d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/chart_XTwoAxisYSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="chart_XTwoAxisYSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.chart.XTwoAxisYSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oAxis As Object
+
+ Test.StartMethod("getSecondaryYAxis()")
+ bOK = true
+ oAxis = oObj.getSecondaryYAxis()
+ bOK = bOK AND NOT isNULL(oAxis)
+ bOK = bOK AND hasUnoInterfaces(oAxis, "com.sun.star.beans.XPropertySet")
+ Test.MethodTested("getSecondaryYAxis()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/script.xlb b/qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/script.xlb
new file mode 100644
index 000000000000..2f9e1c0b9715
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/chart/XTwoAxisYSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="chart_XTwoAxisYSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="chart_XTwoAxisYSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba b/qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba
new file mode 100644
index 000000000000..56c15e60858a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="connection_XAcceptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.connection.XAcceptor
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oConnector As Object
+ Dim xConnection As Object
+ Dim sConnectionString As String
+ Dim args(1) As Variant
+
+ bOK = true
+
+ Test.startMethod("accept()")
+
+ oConnector = createUnoService("basichelper.Connector")
+
+ Dim iPos1 As Integer, iPos2 As Integer
+
+ iPos1 = inStr(1, CNCSTR, "socket")
+ iPos2 = inStr(iPos1, CNCSTR, "port=")
+
+ sConnectionString = mid(CNCSTR, iPos1, iPos2 - iPos1 + 5) &amp; "18888"
+
+ Out.Log("Connection string is '" &amp; sConnectionString &amp; "'")
+
+ args(0) = createUnoService("com.sun.star.connection.Connector")
+ args(1) = sConnectionString
+
+ ' When call initialize() method, a new thread is created and tries to
+ ' connect to Acceptor after some seconds.
+
+ oConnector.initialize(args())
+
+ ' Starting acception.
+ xConnection = oObj.accept(sConnectionString)
+ wait(500) 'Just to be sure that component had a chance to change it's state.
+
+ bOK = bOK AND hasUNOInterfaces(xConnection, "com.sun.star.connection.XConnection")
+ Out.Log("Connector's state is '" &amp; oConnector.getByName("State") &amp; "'")
+ bOK = bOK AND oConnector.getByName("State") = "connected" ' This means that connection was established.
+
+ if (bOK) then
+ Out.Log("Connection established! Trying to get data from stream.")
+
+ Dim aStr As String
+ Dim aByte As Integer
+ Dim readData() As Variant
+ aStr = ""
+ aByte = 1
+ while (aByte &lt;&gt; 0)
+ ReDim readData() As Variant
+ xConnection.read(readData, 1)
+ aByte = readData(0)
+ if (aByte &lt;&gt; 0) then
+ aStr = aStr &amp; chr(aByte)
+ end if
+ wend
+
+ Out.Log("Returned data from stream is " &amp; aStr)
+ bOK = bOK AND aStr = sConnectionString
+ end if
+
+ Test.MethodTested("accept()", bOK)
+
+ Test.startMethod("stopAccepting()")
+ bOK = true
+ ' Now stopping acception and trying to connect again
+ ' (we can do this, if connection string is the same.)
+ oObj.stopAccepting()
+
+ Out.Log("Trying to connect after stopping accepting...")
+ oConnector.initialize(args())
+ Out.Log("Connector's state is '" &amp; oConnector.getByName("State") &amp; "'")
+
+ ' Now oConnector shouldn't connect. So, check it's state
+ ' after few seconds (= Connection's Timeout + 3 sec)
+ wait(3000 + oConnector.getByName("Timeout"))
+ Out.Log("Connector's state is '" &amp; oConnector.getByName("State") &amp; "'")
+ bOK = bOK AND oConnector.getByName("State") = "NoConnectException"
+
+ Test.MethodTested("stopAccepting()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/connection/XAcceptor/script.xlb b/qadevOOo/tests/basic/ifc/connection/XAcceptor/script.xlb
new file mode 100644
index 000000000000..3162d8a46614
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/connection/XAcceptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="connection_XAcceptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="connection_XAcceptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/connection/XConnector/connection_XConnector.xba b/qadevOOo/tests/basic/ifc/connection/XConnector/connection_XConnector.xba
new file mode 100644
index 000000000000..08d413dbcffa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/connection/XConnector/connection_XConnector.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="connection_XConnector" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.connection.XConnector
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim xConn As Object
+ Dim sConnStr As String
+
+
+ Test.StartMethod("connect()")
+ bOK = true
+
+ sConnStr = mid(CNCSTR, inStr(CNCSTR, "socket"))
+ Out.Log("Trying to connect with '" &amp; sConnStr &amp; "'")
+ xConn = oObj.connect(sConnStr)
+ bOK = bOK AND hasUNOInterfaces(xConn, "com.sun.star.connection.XConnection")
+ if (bOK) then
+ Out.Log("Connected! Connection description: " &amp; xConn.getDescription())
+ Out.Log("Closing connection...")
+ xConn.close()
+ end if
+ Test.MethodTested("connect()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/connection/XConnector/script.xlb b/qadevOOo/tests/basic/ifc/connection/XConnector/script.xlb
new file mode 100644
index 000000000000..c4424716f1cc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/connection/XConnector/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="connection_XConnector" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="connection_XConnector"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XChild/container_XChild.xba b/qadevOOo/tests/basic/ifc/container/XChild/container_XChild.xba
new file mode 100644
index 000000000000..99c689d1074d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XChild/container_XChild.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XChild" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the followingobject relations
+' variables, which must be specified in the object creation:
+
+' ObjectRelation: oObjRelation(0).Name = "cannotSwitchParent"
+' ObjectRelation: oObjRelation(0).Value = "configmgr: BasicElement::setParent: cannot move Entry"
+
+'*************************************************************************
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XChild
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oXInterface As Object
+ Dim vRaises As Variant
+
+ Test.StartMethod("getParent()")
+ bOK = isObject(oObj.getParent())
+ Test.MethodTested("getParent()", bOK)
+
+ Test.StartMethod("setParent()")
+ bOK = true
+ Dim cObjRelation as Variant
+ cObjRelation = utils.getObjectRelation("cannotSwitchParent")
+ if isNull(cObjRelation) then
+ oXInterface = oObj.getParent()
+ vRaises = oObj.setParent(oXInterface)
+ bOK = bOK AND isEmpty(vRaises)
+ else
+ out.Log(cObjRelation)
+ end if
+ Test.MethodTested("setParent()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XChild/script.xlb b/qadevOOo/tests/basic/ifc/container/XChild/script.xlb
new file mode 100644
index 000000000000..c2d2f44eccf7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XChild/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XChild" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XChild"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XContainer/container_XContainer.xba b/qadevOOo/tests/basic/ifc/container/XContainer/container_XContainer.xba
new file mode 100644
index 000000000000..2dd3e397d408
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XContainer/container_XContainer.xba
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oElementToInsert As Object
+' Global oContainer As Object in case if the component tested does
+' not support XNameContainer
+
+'*************************************************************************
+
+Dim ElIns1 As Integer
+Dim ElIns2 As Integer
+Dim ElRem1 As Integer
+Dim ElRem2 As Integer
+Dim ElRep1 As Integer
+Dim ElRep2 As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XContainer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1 as Object
+ Dim oListener2 as Object
+
+ oListener1 = createUNOListener("CB1_", "com.sun.star.container.XContainerListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.container.XContainerListener")
+ bOK = NOT isNULL(oListener1) AND NOT isNULL(oListener2)
+ Out.Log("Listeners creation : " + bOK)
+
+ Test.StartMethod("addContainerListener()")
+ bOK = true
+ oObj.addContainerListener(oListener1)
+ Out.Log("Listener1 was added")
+ oObj.addContainerListener(oListener2)
+ Out.Log("Listener2 was added")
+
+ insertElement()
+
+ Dim bInsOK As Boolean
+ bInsOK = ElIns1 >= 1 AND ElIns2 >= 1
+ Out.Log("... " + bInsOK)
+ bOK = bOK AND bInsOK
+
+ removeElement()
+
+ bRemOK = ElRem1 >= 1 AND ElRem2 >= 1
+ Out.Log("... " + bRemOK)
+ bOK = bOK AND bRemOK
+
+ Dim bNothingToReplace as Boolean
+ bNothingToReplace = replaceElement()
+
+ bRepOK = (ElRep1 >= 1 AND ElRep2 >= 1) OR bNothingToReplace
+ Out.Log("... " + bRepOK)
+ bOK = bOK AND bRepOK
+
+ Test.MethodTested("addContainerListener()", bOK)
+
+
+ Test.StartMethod("removeContainerListener()")
+ bOK = true
+ oObj.removeContainerListener(oListener1)
+ Out.Log("Listener1 was removed")
+
+ insertElement()
+
+ bInsOK = ElIns1 = 0 AND ElIns2 >= 1
+ Out.Log("... " + bInsOK)
+ bOK = bOK AND bInsOK
+
+ removeElement()
+
+ bRemOK = ElRem1 = 0 AND ElRem2 >= 1
+ Out.Log("... " + bRemOK)
+ bOK = bOK AND bRemOK
+
+ bNothingToReplace = replaceElement()
+
+ bRepOK = (ElRep1 = 0 AND ElRep2 >= 1) or bNothingToReplace
+ Out.Log("... " + bRepOK)
+ bOK = bOK AND bRepOK
+ Test.MethodTested("removeContainerListener()", bOK)
+
+ oObj.removeContainerListener(oListener2)
+ Out.Log("Listener2 was removed")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub insertElement()
+ Out.Log("Inserting element ... ")
+ ResetCounters()
+ if hasUnoInterfaces(oObj, "com.sun.star.container.XNameContainer") then
+ oObj.InsertByName(cIfcShortName, oElementToInsert)
+ elseif hasUnoInterfaces(oContainer, "com.sun.star.container.XNameContainer") then
+ oContainer.InsertByName(cIfcShortName, oElementToInsert)
+ elseif hasUnoInterfaces(oContainer, "com.sun.star.awt.XControlContainer") then
+ oContainer.addControl("NewControl", oElementToInsert)
+ else
+ Out.LOG("There is nothig to trigger the Listener!")
+ end if
+end Sub
+
+
+Sub removeElement()
+ Out.Log("Removing element ... ")
+ ResetCounters()
+ if hasUnoInterfaces(oObj, "com.sun.star.container.XNameContainer") then
+ oObj.RemoveByName(cIfcShortName)
+ elseif hasUnoInterfaces(oContainer, "com.sun.star.container.XNameContainer") then
+ oContainer.RemoveByName(cIfcShortName)
+ elseif hasUnoInterfaces(oContainer, "com.sun.star.awt.XControlContainer") then
+ oContainer.removeControl(oElementToInsert)
+ end if
+end Sub
+
+Function replaceElement() as Boolean
+ Out.Log("Replacing element ... ")
+ ResetCounters()
+ Dim bNothingToReplace as Boolean
+ bNothingToReplace = FALSE
+ Dim old As Variant
+ if hasUnoInterfaces(oObj, "com.sun.star.container.XIndexReplace") then
+ old = oObj.getByIndex(0)
+ oObj.ReplaceByIndex(0, oElementToInsert)
+ oObj.ReplaceByIndex(0, old)
+ elseif hasUnoInterfaces(oContainer, "com.sun.star.container.XIndexReplace") then
+ old = oContainer.getByIndex(0)
+ oContainer.ReplaceByIndex(0, oElementToInsert)
+ oContainer.ReplaceByIndex(0, old)
+ elseif (hasUnoInterfaces(oContainer, "com.sun.star.container.XNameAccess") and _
+ hasUnoInterfaces(oContainer, "com.sun.star.container.XNameReplace")) then
+ Dim cNames() as String
+ cNames = oObj.getElementNames()
+ old = oContainer.getByName(cNames(0))
+ oContainer.ReplaceByName(cNames(0), oElementToInsert)
+ oContainer.ReplaceByName(cNames(0), old)
+ elseif hasUnoInterfaces(oContainer, "com.sun.star.awt.XControlContainer") then
+ bNothingToReplace = TRUE
+ else
+ Out.LOG("There is nothig to trigger the Listener!")
+ end if
+ replaceElement() = bNothingToReplace
+end Function
+
+Sub CB1_elementInserted(ev As Object)
+ Out.Log("CB1 called: element was inserted")
+ ElIns1 = ElIns1 + 1
+End Sub
+
+Sub CB1_elementRemoved(ev As Object)
+ Out.Log("CB1 called: element was removed")
+ ElRem1 = ElRem1 + 1
+End Sub
+
+Sub CB1_elementReplaced(ev As Object)
+ Out.Log("CB1 called: element was replaced")
+ ElRep1 = ElRep1 + 1
+End Sub
+
+Sub CB2_elementInserted(ev As Object)
+ Out.Log("CB2 called: element was inserted")
+ ElIns2 = ElIns2 + 1
+End Sub
+
+Sub CB2_elementRemoved(ev As Object)
+ Out.Log("CB2 called: element was removed")
+ ElRem2 = ElRem2 + 1
+End Sub
+
+Sub CB2_elementReplaced(ev As Object)
+ Out.Log("CB2 called: element was replaced")
+ ElRep2 = ElRep2 + 1
+End Sub
+
+Sub ResetCounters()
+ ElIns1 = 0
+ ElIns2 = 0
+ ElRem1 = 0
+ ElRem2 = 0
+ ElRep1 = 0
+ ElRep2 = 0
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XContainer/script.xlb b/qadevOOo/tests/basic/ifc/container/XContainer/script.xlb
new file mode 100644
index 000000000000..91f039fed92a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/container_XContentEnumerationAccess.xba b/qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/container_XContentEnumerationAccess.xba
new file mode 100644
index 000000000000..42c81cc2f676
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/container_XContentEnumerationAccess.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XContentEnumerationAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XContentEnumerationAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getAvailableServiceNames()")
+ bOK = true
+ aNames = oObj.getAvailableServiceNames()
+ bOK = bOK AND NOT isNULL(aNames)
+ Test.MethodTested("getAvailableServiceNames()", bOK)
+
+ Test.StartMethod("createContentEnumeration()")
+ bOK = true
+ oEnum = oObj.createContentEnumeration(aNames(0))
+ bOK = bOK AND hasUnoInterfaces(oEnum, "com.sun.star.container.XEnumeration")
+ Test.MethodTested("createContentEnumeration()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/script.xlb b/qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/script.xlb
new file mode 100644
index 000000000000..05077a300f27
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XContentEnumerationAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XContentEnumerationAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XContentEnumerationAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XElementAccess/container_XElementAccess.xba b/qadevOOo/tests/basic/ifc/container/XElementAccess/container_XElementAccess.xba
new file mode 100644
index 000000000000..6a8aa0348ba4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XElementAccess/container_XElementAccess.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XElementAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XElementAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oType As Object
+
+ Test.StartMethod("hasElements()")
+ bOK = oObj.hasElements()
+ Test.MethodTested("hasElements()", bOK)
+
+ Test.StartMethod("getElementType()")
+ bOK = true
+ oType = oObj.getElementType()
+ Out.Log("Element type is " &amp; oType.Name)
+ Test.MethodTested("getElementType()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XElementAccess/script.xlb b/qadevOOo/tests/basic/ifc/container/XElementAccess/script.xlb
new file mode 100644
index 000000000000..3460dde77388
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XElementAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XElementAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XElementAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XEnumeration/container_XEnumeration.xba b/qadevOOo/tests/basic/ifc/container/XEnumeration/container_XEnumeration.xba
new file mode 100644
index 000000000000..3f826f988d54
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XEnumeration/container_XEnumeration.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XEnumeration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XEnumeration
+'*************************************************************************
+On Error goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("hasMoreElements()")
+ bOK = oObj.hasMoreElements()
+ Test.MethodTested("hasMoreElements()", bOK)
+
+ Test.StartMethod("nextElement()")
+ bOK = NOT isNULL (oObj.nextElement())
+ Test.MethodTested("nextElement()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XEnumeration/script.xlb b/qadevOOo/tests/basic/ifc/container/XEnumeration/script.xlb
new file mode 100644
index 000000000000..bca9e4edf129
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XEnumerationAccess/container_XEnumerationAccess.xba b/qadevOOo/tests/basic/ifc/container/XEnumerationAccess/container_XEnumerationAccess.xba
new file mode 100644
index 000000000000..91762f537688
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XEnumerationAccess/container_XEnumerationAccess.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XEnumerationAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XEnumerationAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oEnum As Object
+ Dim bOK As Boolean
+
+ Test.StartMethod("createEnumeration()")
+ bOK = true
+ oEnum = oObj.createEnumeration()
+ bOK = bOK AND (NOT isNull(oEnum))
+ bOK = bOK AND hasUnoInterfaces(oEnum, "com.sun.star.container.XEnumeration")
+ Test.MethodTested("createEnumeration()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XEnumerationAccess/script.xlb b/qadevOOo/tests/basic/ifc/container/XEnumerationAccess/script.xlb
new file mode 100644
index 000000000000..5c72301ebb22
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XEnumerationAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XEnumerationAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XEnumerationAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XHierarchicalName/container_XHierarchicalName.xba b/qadevOOo/tests/basic/ifc/container/XHierarchicalName/container_XHierarchicalName.xba
new file mode 100644
index 000000000000..8170e8a97de7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XHierarchicalName/container_XHierarchicalName.xba
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XHierarchicalName" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' This Interface/Service test depends on the followingobject relations
+' variables, which must be specified in the object creation:
+
+' ObjectRelation: oObjRelation(0).Name = "ElementName"
+' ObjectRelation: oObjRelation(0).Value = "MyAccessibleElementName"
+' ObjectRelation: oObjRelation(1).Name = "HierarchicalName"
+' ObjectRelation: oObjRelation(1).Value = "MyHierachicalName"
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XHierarchicalName
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim cElemName as Variant
+ cElemName = utils.getObjectRelation("ElementName")
+ if isNull(cElemName) then
+ out.log("Could not get relation 'ElenemtName' -> FALSE")
+ end if
+
+ Dim cExpName as Variant
+ cExpName = utils.getObjectRelation("HierarchicalName")
+ if isNull(cExpName) then
+ out.log("Could not get relation 'HierarchicalName' -> FALSE")
+ end if
+
+ Test.StartMethod("getHierarchicalName()")
+ bOK = TRUE
+ Dim cHName as String
+ cHName = oObj.getHierarchicalName()
+ Dim result as String
+ result = instr(cHName, cExpName)
+ if len(result) = 0 then
+ olt.log("Getting: " + cHName + " but expected it to start with " + _
+ cExpName)
+ bOK = FALSE
+ end if
+ Test.MethodTested("getHierarchicalName()", bOK)
+
+ Test.StartMethod("composeHierarchicalName()")
+ bOK = TRUE
+ Dim gettedName as String
+ gettedName = oObj.composeHierarchicalName(cElemName)
+ result = instr(gettedName, cElemName)
+ if len(result) = 0 then
+ olt.log("Getting: " + gettedName + " but expected it to start with " + _
+ cElemetName)
+ bOK = FALSE
+ end if
+ Test.MethodTested("composeHierarchicalName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XHierarchicalName/script.xlb b/qadevOOo/tests/basic/ifc/container/XHierarchicalName/script.xlb
new file mode 100644
index 000000000000..e9f49c898c1c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XHierarchicalName/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XHierarchicalName" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="container_XHierarchicalName"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/container_XHierarchicalNameAccess.xba b/qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/container_XHierarchicalNameAccess.xba
new file mode 100644
index 000000000000..841c4481e19c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/container_XHierarchicalNameAccess.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XHierarchicalNameAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' This Interface/Service test depends on the following object relations
+' variables, which must be specified in the object creation:
+
+' ObjectRelation: oObjRelation(0).Name = "ElementName"
+' ObjectRelation: oObjRelation(0).Value = "MyAccessibleElementName"
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XHierarchicalNameAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim cObjRelation as Variant
+ cObjRelation = utils.getObjectRelation("ElementName")
+ if isNull(cObjRelation) then
+ cObjRelation = cIfcLongName
+ end if
+
+ Test.StartMethod("getByHierarchicalName()")
+ bOK = true
+ Dim oRet as Variant
+ oRet = oObj.getByHierarchicalName(cObjRelation)
+ if TypeName(oRet) = "String" then
+ out.log("oRet = " + oRet)
+ bOK = bOK and (oRet = cObjRelation)
+ else
+ bOK = bOK AND oRet.Name = cObjRelation
+ end if
+ Test.MethodTested("getByHierarchicalName()", bOK)
+
+ Test.StartMethod("hasByHierarchicalName()")
+ bOK = true
+ bOK = bOK AND oObj.hasByHierarchicalName(cObjRelation)
+ bOK = bOK AND NOT oObj.hasByHierarchicalName(cObjRelation + "ThisIsAnInvalidName")
+ Test.MethodTested("hasByHierarchicalName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/script.xlb b/qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/script.xlb
new file mode 100644
index 000000000000..26b107612f8b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XHierarchicalNameAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XHierarchicalNameAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XHierarchicalNameAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XIndexAccess/container_XIndexAccess.xba b/qadevOOo/tests/basic/ifc/container/XIndexAccess/container_XIndexAccess.xba
new file mode 100644
index 000000000000..77ce846ea255
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XIndexAccess/container_XIndexAccess.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XIndexAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XIndexAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim nCount As Integer
+ Dim bOK As Boolean
+
+ Test.StartMethod("getCount()")
+ bOK = true
+ nCount = oObj.Count
+ bOK = bOK AND nCount
+ Test.MethodTested("getCount()", bOK)
+
+ Test.StartMethod("getByIndex()")
+ bOK = true
+ if (nCount) then
+ bOK = bOK AND NOT isNull(oObj.getByIndex(nCount - 1))
+ Test.MethodTested("getByIndex()", bOK)
+ else
+ Out.Log("No elements")
+ end if
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XIndexAccess/script.xlb b/qadevOOo/tests/basic/ifc/container/XIndexAccess/script.xlb
new file mode 100644
index 000000000000..a27bd13b282e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XIndexAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XIndexAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XIndexAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XIndexContainer/container_XIndexContainer.xba b/qadevOOo/tests/basic/ifc/container/XIndexContainer/container_XIndexContainer.xba
new file mode 100644
index 000000000000..c35d5f4ffd3e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XIndexContainer/container_XIndexContainer.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XIndexContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oInstance As Object for InsertByName
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XIndexContainer
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim nCount As Integer
+
+ nCount = oObj.count
+
+ Test.StartMethod("insertByIndex()")
+ bOK = true
+ oObj.insertByIndex(nCount, oInstance)
+ bOK = bOK AND (oObj.count &gt; nCount)
+ Test.MethodTested("insertByIndex()", bOK)
+
+ Test.StartMethod("removeByIndex()")
+ bOK = true
+ oObj.removeByIndex(nCount)
+ bOK = bOK AND (oObj.Count = nCount)
+ Test.MethodTested("removeByIndex()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XIndexContainer/script.xlb b/qadevOOo/tests/basic/ifc/container/XIndexContainer/script.xlb
new file mode 100644
index 000000000000..085014bd065a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XIndexContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XIndexContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XIndexContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XIndexReplace/container_XIndexReplace.xba b/qadevOOo/tests/basic/ifc/container/XIndexReplace/container_XIndexReplace.xba
new file mode 100644
index 000000000000..c7d0cdee17ee
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XIndexReplace/container_XIndexReplace.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XIndexReplace" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' the Test-Object must contain two diffrent named Objects
+' Global oIdxReplaceInstance as Object
+
+'*************************************************************************
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XIndexReplace
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim nCount As Integer
+ Dim oOld As Object
+ Dim oNew As Object
+
+ Test.StartMethod("replaceByIndex()")
+ bOK = true
+
+ nCount = oObj.count
+ Out.Log("There are " &amp; nCount &amp; " objects")
+ oOld = oObj.getByIndex(nCount - 1)
+
+ oObj.replaceByIndex(nCount - 1, oIdxReplaceInstance)
+ oNew = oObj.getByIndex(nCount - 1)
+ bOK = bOK AND (oOld.Name &lt;&gt; oNew.Name)
+
+ Test.MethodTested("replaceByIndex()", bOK)
+
+ Out.Log("replace old Object.")
+ oObj.replaceByIndex(nCount - 1, oOld)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XIndexReplace/script.xlb b/qadevOOo/tests/basic/ifc/container/XIndexReplace/script.xlb
new file mode 100644
index 000000000000..568e937677d5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XIndexReplace/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XIndexReplace" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XIndexReplace"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XNameAccess/container_XNameAccess.xba b/qadevOOo/tests/basic/ifc/container/XNameAccess/container_XNameAccess.xba
new file mode 100644
index 000000000000..3bee5352a307
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNameAccess/container_XNameAccess.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XNameAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XNameAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim aElementNames() As Variant
+ Dim bOK As Boolean
+ Dim oElem As Variant
+ Dim cName As String
+
+ Test.StartMethod("getElementNames()")
+ bOK = true
+ aElementnames() = oObj.getElementNames()
+ if hasUnoInterfaces(oObj, "com.sun.star.container.XIndexAccess") then
+ bOK = bOK AND (uBound(aElementnames()) = oObj.count - 1)
+ else
+ bOK = bOK AND (uBound(aElementnames()) &gt; -1)
+ end if
+ Test.MethodTested("getElementNames()", bOK)
+
+ Test.StartMethod("getByName()")
+ bOK = true
+ oElem = oObj.getByName(aElementNames(0))
+ bOK = bOK AND NOT isNull(oElem)
+ Test.MethodTested("getByName()", bOK)
+
+ Test.StartMethod("hasByName()")
+ bOK = true
+ cName = aElementNames(uBound(aElementNames()))
+ bOK = bOK AND oObj.hasByName(cName)
+ Test.MethodTested("hasByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XNameAccess/script.xlb b/qadevOOo/tests/basic/ifc/container/XNameAccess/script.xlb
new file mode 100644
index 000000000000..df0fdb783771
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNameAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XNameAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XNameAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XNameContainer/container_XNameContainer.xba b/qadevOOo/tests/basic/ifc/container/XNameContainer/container_XNameContainer.xba
new file mode 100644
index 000000000000..9250232df7ad
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNameContainer/container_XNameContainer.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XNameContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oInstance As Object instance to insert
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XNameContainer
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ Test.StartMethod("insertByName()")
+ bOK = true
+ oObj.insertByName(cIfcShortName, oInstance)
+ bOK = bOK AND oObj.hasByName(cIfcShortName)
+ Test.MethodTested("insertByName()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ oObj.removeByName(cIfcShortName)
+ bOK = bOK AND NOT oObj.hasByName(cIfcShortName)
+ Test.MethodTested("removeByName()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XNameContainer/script.xlb b/qadevOOo/tests/basic/ifc/container/XNameContainer/script.xlb
new file mode 100644
index 000000000000..69c98b8f0573
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNameContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XNameContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XNameContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XNameReplace/container_XNameReplace.xba b/qadevOOo/tests/basic/ifc/container/XNameReplace/container_XNameReplace.xba
new file mode 100644
index 000000000000..ca0c7086d9a2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNameReplace/container_XNameReplace.xba
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XNameReplace" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global cNameToReplace As String 'name of instance to be replased
+' Global oReplaceInstance As Variant 'instance, that will be inserted
+' instead old one
+
+'*************************************************************************
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XNameReplace
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oOldObject As Object
+ Dim cOldObjName As String
+ Dim oNewControl As Object
+ Dim cNewObjName As String
+ Dim NewAddress As Object
+ Dim InstAddress As Object
+ Dim cReplInstName As String
+
+ Test.StartMethod("replaceByName()")
+ bOK = true
+
+ if (cObjectName = "sc.ScCellRangesObj") then
+ oOldObject = oObj.getByName(cNameToReplace)
+ InstAddress = oReplaceInstance.getRangeAddress
+
+ oObj.replaceByName(cNameToReplace, oReplaceInstance)
+
+ oNewControl = oObj.getByName(cNameToReplace)
+ NewAddress = oNewControl.getRangeAddress
+
+ bOK = bOK AND NewAddress.Sheet = InstAddress.Sheet
+ bOK = bOK AND NewAddress.StartColumn = InstAddress.StartColumn
+ bOK = bOK AND NewAddress.EndColumn = InstAddress.EndColumn
+ bOK = bOK AND NewAddress.StartRow = InstAddress.StartRow
+ bOK = bOK AND NewAddress.EndRow = InstAddress.EndRow
+
+ elseif typename(oReplaceInstance) = "String" then
+ Dim oNewObj as Variant
+ Dim oOldObj as Variant
+ oOldObj = oObj.getByName(cNameToReplace)
+ oObj.replaceByName(cNameToReplace, oReplaceInstance)
+ oNewObj = oObj.getByName(cNameToReplace)
+ bOK = bOK and not PropertyTester.equals(oOldObj, oNewObj)
+ else
+ oOldObject = oObj.getByName(cNameToReplace)
+ cReplInstName = oReplaceInstance.Name
+ Out.Log("ReplaceInstance.name = '" &amp; cReplInstName &amp; "'")
+ cOldObjName = oOldObject.Name
+ Out.Log("OldObject.name = '" &amp; cOldObjName &amp; "'")
+
+ oObj.replaceByName(cNameToReplace, oReplaceInstance)
+ oNewControl = oObj.getByName(cNameToReplace)
+
+ cReplInstName = oReplaceInstance.Name
+ Out.Log("ReplaceInstance.name = '" &amp; cReplInstName &amp; "'")
+ cNewObjName = oNewControl.Name
+ Out.Log("NewObject.name = '" &amp; cNewObjName &amp; "'")
+
+ bOK = bOK AND (oReplaceInstance.Name = cNameToReplace)
+ end if
+
+ Test.MethodTested("replaceByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XNameReplace/script.xlb b/qadevOOo/tests/basic/ifc/container/XNameReplace/script.xlb
new file mode 100644
index 000000000000..268ac95bb0f9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNameReplace/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XNameReplace" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XNameReplace"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XNamed/container_XNamed.xba b/qadevOOo/tests/basic/ifc/container/XNamed/container_XNamed.xba
new file mode 100644
index 000000000000..da0f6ad1f3c7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNamed/container_XNamed.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XNamed" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global cNameToSet As String "fixed" if name is fixed
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XNamed
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cName As String, cNewName As String
+
+ if VarType(cNameToSet) = 8 then
+ if cNameToSet = "" then
+ cNewName = cIfcShortName
+ else
+ cNewName = cNameToSet
+ endif
+ else
+ cNewName = cIfcShortName
+ endif
+
+ Test.StartMethod("getName()")
+ bOK = true
+ cName = oObj.getName()
+ Out.Log("Name is '" + cName + "'")
+ bOK = bOK AND NOT isNULL(cName)
+ bOK = bOK AND (VarType(oObj.Name) = 8 )
+ Test.MethodTested("getName()", bOK)
+
+ Test.StartMethod("setName()")
+ bOK = true
+ Out.Log("nameToSet is '" + cNewName + "'")
+
+ if (cNewName = "fixed") then
+ Out.Log("Object " + cObjectName + " has fixed name.")
+ on error goto ex1:
+ Out.Log("Trying to change fixed name")
+ oObj.setName(cNewName)
+ Out.Log("After setting name, oObj.Name is '" + oObj.Name + "'")
+ bOK = bOK AND oObj.Name &lt;&gt; cNameToSet
+ if (NOT bOK) then Out.Log("Fixed name was changed! - FAILED")
+ goto cont1:
+ ex1:
+ Out.Log("Expected exception - OK")
+ resume next
+ cont1:
+ else
+ oObj.setName(cNewName)
+ Out.Log("After setting name, oObj.Name is '" + oObj.Name + "'")
+ bOK = bOK AND (cName &lt;&gt; oObj.Name)
+ oObj.Name = cName
+ bOK = bOK AND (cName = oObj.Name)
+ end if
+ Test.MethodTested("setName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XNamed/script.xlb b/qadevOOo/tests/basic/ifc/container/XNamed/script.xlb
new file mode 100644
index 000000000000..6feab3be05c3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XNamed/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XNamed" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XNamed"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/container/XSet/container_XSet.xba b/qadevOOo/tests/basic/ifc/container/XSet/container_XSet.xba
new file mode 100644
index 000000000000..0c422451bf2e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XSet/container_XSet.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.container.XSet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Out.Log("Creating enumeration... ")
+ oEnum = oObj.createEnumeration()
+ if oEnum.hasMoreElements then
+ oElem = oEnum.nextElement
+ end if
+ bOK = bOK AND NOT inNULL(oElem)
+ Out.Log("Enumeration creationg - " &amp; bOK)
+
+ Test.StartMethod("has()")
+ bOK = true
+ bOK = bOK AND oObj.has(oElem)
+ Test.MethodTested("has()", bOK)
+
+ Test.StartMethod("remove()")
+ bOK = true
+ oObj.remove(oElem)
+ bOK = bOK AND NOT oObj.has(oElem)
+ Test.MethodTested("remove()", bOK)
+
+ Test.StartMethod("insert()")
+ bOK = true
+ oObj.insert(oElem)
+ bOK = bOK AND oObj.has(oElem)
+ Test.MethodTested("insert()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/container/XSet/script.xlb b/qadevOOo/tests/basic/ifc/container/XSet/script.xlb
new file mode 100644
index 000000000000..2ccfbb891f4e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/container/XSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="container_XSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="container_XSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/datatransfer_XDataFormatTranslator.xba b/qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/datatransfer_XDataFormatTranslator.xba
new file mode 100644
index 000000000000..506edac5a612
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/datatransfer_XDataFormatTranslator.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="datatransfer_XDataFormatTranslator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.datatransfer.XDataFormatTranslator
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim dataFlavor As new com.sun.star.datatransfer.DataFlavor
+ Dim oCoreRefl As Object
+ Dim sysDataType As Variant
+ Dim sysDataFlavour As Variant
+
+ oCoreRefl = createUNOService("com.sun.star.reflection.CoreReflection")
+
+ Test.StartMethod("getSystemDataTypeFromDataFlavor()")
+ bOK = true
+ dataFlavor.MimeType = "text/plain"
+ dataFlavor.HumanPresentableName = "MyDataFlavor"
+
+ sysDataType = oObj.getSystemDataTypeFromDataFlavor(dataFlavor)
+
+ bOK = bOK AND NOT isNULL(sysDataType)
+ bOK = bOK AND NOT isEmpty(sysDataType)
+
+ if (bOK) then
+ Out.Log("Type of SystemDataType is: " &amp; oCoreRefl.getType(sysDataType).Name)
+ else
+ Out.Log("Can't get system data type.")
+ end if
+
+ Test.MethodTested("getSystemDataTypeFromDataFlavor()", bOK)
+
+ Test.StartMethod("getDataFlavorFromSystemDataType()")
+ if (NOT bOK) then
+ Out.Log("Can't test getDataFlavorFromSystemDataType() without getSystemDataTypeFromDataFlavor()")
+ else
+ sysDataFlavour = oObj.getDataFlavorFromSystemDataType(sysDataType)
+
+ bOK = bOK AND NOT isNULL(sysDataFlavour)
+ bOK = bOK AND NOT isEmpty(sysDataFlavour)
+
+ if (bOK) then
+ Out.Log("Type of DataFlavor is: " &amp; oCoreRefl.getType(sysDataFlavour).Name)
+ bOK = bOK AND oCoreRefl.getType(sysDataFlavour).Name = "com.sun.star.datatransfer.DataFlavor"
+ else
+ Out.Log("Can't get data flavor.")
+ end if
+ Test.MethodTested("getDataFlavorFromSystemDataType()", bOK)
+ end if
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/script.xlb b/qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/script.xlb
new file mode 100644
index 000000000000..40b326cccaea
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/XDataFormatTranslator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="datatransfer_XDataFormatTranslator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="datatransfer_XDataFormatTranslator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/datatransfer_XMimeContentTypeFactory.xba b/qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/datatransfer_XMimeContentTypeFactory.xba
new file mode 100644
index 000000000000..84fe82fd69a3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/datatransfer_XMimeContentTypeFactory.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="datatransfer_XMimeContentTypeFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.datatransfer.XMimeContentTypeFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sMIMEType As String
+ Dim oMIMEType As Object
+
+
+ Test.StartMethod("createMimeContentType()")
+ bOK = true
+ sMIMEType = "text/plain"
+ oMIMEType = oObj.createMimeContentType(sMIMEType)
+ bOK = bOK AND hasUNOInterfaces(oMIMEType, "com.sun.star.datatransfer.XMimeContentType")
+ Test.MethodTested("createMimeContentType()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/script.xlb b/qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/script.xlb
new file mode 100644
index 000000000000..c05f05e37f9c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/XMimeContentTypeFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="datatransfer_XMimeContentTypeFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="datatransfer_XMimeContentTypeFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/datatransfer_clipboard_XClipboard.xba b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/datatransfer_clipboard_XClipboard.xba
new file mode 100644
index 000000000000..775071a010a2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/datatransfer_clipboard_XClipboard.xba
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="datatransfer_clipboard_XClipboard" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oOwner As Object
+' Global trans1 As Object
+' Global trans2 As Object
+
+'*************************************************************************
+
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.datatransfer.clipboard.XClipboard
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim transDat1 As Variant, transDat2 As Variant, trans As Variant
+ Dim cont As Variant
+
+' owner = createUnoService("basichelper.ClipboardOwner")
+
+ transDat1 = trans1.getTransferData(NULL_OBJECT)
+ transDat2 = trans2.getTransferData(NULL_OBJECT)
+
+ Test.StartMethod("setContents()")
+ bOK = true
+ oObj.setContents(trans1, NULL_OBJECT)
+ wait(500)
+
+ 'Out.Log(owner.hasElements())
+
+' trans = oOwner.getByName("transferable")
+' bOK = bOK AND (trans.getTransferData(NULL_OBJECT) = transDat1)
+
+ Test.StartMethod("getContents()")
+ bOK = true
+ trans = oObj.getContents()
+
+' msgbox trans.dbg_supportedInterfaces()
+
+ bOK = bOK AND (trans.getTransferData(NULL_OBJECT) = transDat1)
+ Test.MethodTested("setContents()", bOK)
+ Test.MethodTested("getContents()", bOK)
+
+ Test.StartMethod("getName()")
+ Dim cbName As String
+
+ bOK = true
+ cbName = oObj.getName()
+ Out.Log("The name of clipboard is '" + cbName + "'")
+ Test.MethodTested("getName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/script.xlb b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/script.xlb
new file mode 100644
index 000000000000..0652aa0bfc1d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboard/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="datatransfer_clipboard_XClipboard" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="datatransfer_clipboard_XClipboard"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/datatransfer_clipboard_XClipboardEx.xba b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/datatransfer_clipboard_XClipboardEx.xba
new file mode 100644
index 000000000000..1347630e9271
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/datatransfer_clipboard_XClipboardEx.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="datatransfer_clipboard_XClipboardEx" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.datatransfer.clipboard.XClipboardEx
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim iCap As Integer
+
+
+ Test.StartMethod("getRenderingCapabilities()")
+ bOK = true
+ iCap = oObj.getRenderingCapabilities()
+ Out.Log("Returned flag is " &amp; iCap)
+ bOK = bOK AND (((iCap AND com.sun.star.datatransfer.clipboard.RenderingCapabilities.Delayed) &lt;&gt; 0) OR _
+ ((iCap AND com.sun.star.datatransfer.clipboard.RenderingCapabilities.Persistant)> 0))
+ Test.MethodTested("getRenderingCapabilities()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/script.xlb b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/script.xlb
new file mode 100644
index 000000000000..f0afac5881f2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardEx/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="datatransfer_clipboard_XClipboardEx" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="datatransfer_clipboard_XClipboardEx"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/datatransfer_clipboard_XClipboardNotifier.xba b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/datatransfer_clipboard_XClipboardNotifier.xba
new file mode 100644
index 000000000000..e42fc02691d6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/datatransfer_clipboard_XClipboardNotifier.xba
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="datatransfer_clipboard_XClipboardNotifier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+Dim iCB1_changedContents As Integer
+Dim iCB2_changedContents As Integer
+Dim bListenerWasCalled As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.datatransfer.clipboard.XClipboardNotifier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1 As Object
+ Dim oListener2 As Object
+ Dim iTime As Integer
+
+ iCB1_changedContents = 0 : iCB2_changedContents = 0
+
+ oListener1 = createUNOListener("CB1_", "com.sun.star.datatransfer.clipboard.XClipboardListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.datatransfer.clipboard.XClipboardListener")
+
+ Test.StartMethod("addClipboardListener()")
+ bOK = true
+ Out.Log("Adding two listeners...")
+ oObj.addClipboardListener(oListener1)
+ oObj.addClipboardListener(oListener2)
+ if (bPerformInteractiveTests) then
+ bListenerWasCalled = false
+ MsgBox("After closing this window try to copy something into clipboard... You have aprox. 10 sec. for this...")
+ iTime = 0
+ while ((NOT bListenerWasCalled) AND (iTime &lt; 10))
+ wait 1000
+ iTime = iTime + 1
+ wend
+ if (NOT bListenerWasCalled) then
+ Out.Log("No listener was called in 10 sec!")
+ MsgBox("No listener was called in 10 sec!")
+ bOK = false
+ else
+ MsgBox("Listener was called!")
+ bOK = bOK AND (iCB1_changedContents = 1) AND (iCB2_changedContents = 1)
+ end if
+ else
+ Out.Log("This is an interactive test. To test this use parameter PERFORMINTERACTIVETESTS in ini file.")
+ end if
+ Test.MethodTested("addClipboardListener()", bOK)
+
+ Test.StartMethod("removeClipboardListener()")
+ bOK = true
+ iCB1_changedContents = 0 : iCB2_changedContents = 0
+
+ Out.Log("Removing second listener...")
+ oObj.removeClipboardListener(oListener2)
+ if (bPerformInteractiveTests) then
+ bListenerWasCalled = false
+ MsgBox("Repeat again: After closing this window try to copy something into clipboard... You have aprox. 10 sec. for this...")
+ iTime = 0
+ while ((NOT bListenerWasCalled) AND (iTime &lt; 10))
+ wait 1000
+ iTime = iTime + 1
+ wend
+ if (NOT bListenerWasCalled) then
+ Out.Log("No listener was called in 10 sec!")
+ MsgBox("No listener was called in 10 sec!")
+ bOK = false
+ else
+ MsgBox("Listener was called!")
+ bOK = bOK AND (iCB1_changedContents = 1) AND (iCB2_changedContents = 0)
+ end if
+ else
+ Out.Log("This is an interactive test. To test this use parameter PERFORMINTERACTIVETESTS in ini file.")
+ end if
+ Test.MethodTested("removeClipboardListener()", bOK)
+
+ Out.Log("Removing first listener...")
+ oObj.removeClipboardListener(oListener1)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub CB1_changedContents(event As Object)
+ iCB1_changedContents = iCB1_changedContents + 1
+ Out.Log("CB1_changedContents() was called!")
+ bListenerWasCalled = true
+End Sub
+
+Sub CB2_changedContents(event As Object)
+ iCB2_changedContents = iCB2_changedContents + 1
+ Out.Log("CB2_changedContents() was called!")
+ bListenerWasCalled = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/script.xlb b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/script.xlb
new file mode 100644
index 000000000000..59f680bb9471
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XClipboardNotifier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="datatransfer_clipboard_XClipboardNotifier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="datatransfer_clipboard_XClipboardNotifier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/datatransfer_clipboard_XFlushableClipboard.xba b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/datatransfer_clipboard_XFlushableClipboard.xba
new file mode 100644
index 000000000000..587eda1771c0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/datatransfer_clipboard_XFlushableClipboard.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="datatransfer_clipboard_XFlushableClipboard" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.datatransfer.clipboard.XFlushableClipboard
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("flushClipboard()")
+ bOK = true
+
+ if ((oObj.getRenderingCapabilities() AND com.sun.star.datatransfer.clipboard.RenderingCapabilities.Persistant) &lt;&gt; 0) then
+ oObj.flushClipboard()
+ else
+ Out.Log("getRenderingCapabilities() doesn't return Persistant. this " &amp; _
+ "interface is only available if the method getRenderingCapabilities " &amp; _
+ "of the interface XClipboardEx returns Persistant")
+ end if
+
+ Test.MethodTested("flushClipboard()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/script.xlb b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/script.xlb
new file mode 100644
index 000000000000..a84b1c6c93b5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/datatransfer/clipboard/XFlushableClipboard/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="datatransfer_clipboard_XFlushableClipboard" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="datatransfer_clipboard_XFlushableClipboard"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/DocumentInfo/document_DocumentInfo.xba b/qadevOOo/tests/basic/ifc/document/DocumentInfo/document_DocumentInfo.xba
new file mode 100644
index 000000000000..4364dae08e03
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/DocumentInfo/document_DocumentInfo.xba
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_DocumentInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.document.DocumentInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim pval As Variant, resVal As Variant
+
+ PropertyTester.TestProperty("Author")
+
+ PropertyTester.TestProperty("BlindCopiesTo")
+
+ PropertyTester.TestProperty("CopyTo")
+
+ testDateTime("CreationDate")
+
+ PropertyTester.TestProperty("Description")
+
+ PropertyTester.TestProperty("InReplyTo")
+
+ PropertyTester.TestProperty("Keywords")
+
+ PropertyTester.TestProperty("MIMEType")
+
+ testDateTime("ModifyDate")
+
+ PropertyTester.TestProperty("ModifiedBy")
+
+ PropertyTester.TestProperty("Newsgroups")
+
+ PropertyTester.TestProperty("Original")
+
+ Test.StartMethod("Priority")
+
+ bOK =true
+
+ pval = oObj.Priority
+ Out.Log("Was:" + pval)
+ oObj.Priority = pval + 1
+ resVal = oObj.Priority
+ Out.Log("Res:" + resVal)
+ bOK = bOK AND (pval + 1 = resVal)
+
+ Test.MethodTested("Priority", bOK)
+
+ PropertyTester.TestProperty("Recipient")
+
+ PropertyTester.TestProperty("References")
+
+ PropertyTester.TestProperty("ReplyTo")
+
+ PropertyTester.TestProperty("Theme")
+
+ PropertyTester.TestProperty("Title")
+
+ PropertyTester.TestProperty("Template")
+
+ testDateTime("TemplateDate")
+
+ PropertyTester.TestProperty("IsEncrypted")
+
+ testDateTime("PrintDate")
+
+ PropertyTester.TestProperty("PrintedBy")
+
+ PropertyTester.TestProperty("AutoloadEnabled")
+
+ PropertyTester.TestProperty("AutoloadURL")
+
+ Test.StartMethod("AutoloadSecs")
+
+ bOK =true
+
+ pval = oObj.AutoloadSecs
+ Out.Log("Was:" + pval)
+ oObj.AutoloadSecs = pval + 10
+ resVal = oObj.AutoloadSecs
+ Out.Log("Res:" + resval)
+ bOK = bOK AND (pval + 10 = resVal)
+
+ Test.MethodTested("AutoloadSecs", bOK)
+
+ PropertyTester.TestProperty("DefaultTarget")
+
+ PropertyTester.TestProperty("Generator")
+
+ PropertyTester.TestProperty("CreationDate")
+
+ PropertyTester.TestProperty("Subject")
+
+ PropertyTester.TestProperty("Language")
+
+ PropertyTester.TestProperty("ModifyDate")
+
+ PropertyTester.TestProperty("PrintDate")
+
+ PropertyTester.TestProperty("TemplateDate")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub testDateTime(propName As String)
+ Dim oldVal As Variant, resVal As Variant
+ Dim newVal As New com.sun.star.util.DateTime
+ Dim bOK As Boolean
+ bOK = true
+
+ Test.StartMethod(propName)
+
+ oldVal = oObj.getPropertyValue(propName)
+ Out.Log("OldVal :" + dateTime2String(oldVal))
+ if isNull(oldVal) then
+ newVal.Year = 2001
+ newVal.Month = 11
+ newVal.Day = 12
+ newVal.Hours = 16
+ newVal.Minutes = 14
+ newVal.Seconds = 48
+ newVal.HundredthSeconds = 0
+ else
+ newVal.Year = oldVal.Year
+ newVal.Month = oldVal.Month
+ newVal.Day = oldVal.Day
+ newVal.Hours = oldVal.Hours
+ newVal.Minutes = oldVal.Minutes
+ newVal.HundredthSeconds = oldVal.HundredthSeconds
+ newVal.Seconds = oldVal.Seconds + 1
+ if (newVal.Seconds > 59) then newVal.Seconds = 0
+ end if
+
+ Out.Log("NewVal :" + dateTime2String(newVal))
+ oObj.setPropertyValue(propName, newVal)
+ resVal = oObj.getPropertyValue(propName)
+ Out.Log("ResVal :" + dateTime2String(resVal))
+
+ bOK = bOK AND (newVal.Year = resVal.Year)
+ bOK = bOK AND (newVal.Month = resVal.Month)
+ bOK = bOK AND (newVal.Day = resVal.Day)
+ bOK = bOK AND (newVal.Hours = resVal.Hours)
+ bOK = bOK AND (newVal.Minutes = resVal.Minutes)
+ bOK = bOK AND (newVal.Seconds = resVal.Seconds)
+ bOK = bOK AND (newVal.HundredthSeconds = resVal.HundredthSeconds)
+
+' ### The following property was not found in correspond IDL file! ###
+ Test.MethodTested(propName, bOK)
+
+ Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function dateTime2String (dT As Variant) As String
+
+ dateTime2String = "" + dT.Day + "." + dT.Month + "." + dT.Year + _
+ " " + dT.Hours + ":" + dT.Minutes + ":" + dT.Seconds + "." + _
+ dT.HundredthSeconds
+
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/DocumentInfo/script.xlb b/qadevOOo/tests/basic/ifc/document/DocumentInfo/script.xlb
new file mode 100644
index 000000000000..ea8a16fe0ef1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/DocumentInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_DocumentInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_DocumentInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/OfficeDocument/document_OfficeDocument.xba b/qadevOOo/tests/basic/ifc/document/OfficeDocument/document_OfficeDocument.xba
new file mode 100644
index 000000000000..a0130a98c040
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/OfficeDocument/document_OfficeDocument.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_OfficeDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.document.OfficeDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ PropertyTester.TestProperty("AutomaticControlFocus")
+ PropertyTester.TestProperty("ApplyFormDesignMode")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/OfficeDocument/script.xlb b/qadevOOo/tests/basic/ifc/document/OfficeDocument/script.xlb
new file mode 100644
index 000000000000..543fca16b872
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/OfficeDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_OfficeDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_OfficeDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XActionLockable/document_XActionLockable.xba b/qadevOOo/tests/basic/ifc/document/XActionLockable/document_XActionLockable.xba
new file mode 100644
index 000000000000..b395819bb6b5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XActionLockable/document_XActionLockable.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XActionLockable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XActionLockable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bResetOK As Boolean
+
+ Test.StartMethod("resetActionLocks()")
+ bOK = true
+ oObj.resetActionLocks()
+ bResetOK = bOK
+
+ Test.StartMethod("isActionLocked()")
+ Test.StartMethod("addActionLock()")
+ bOK = true
+ bOK = bOK AND NOT oObj.isActionLocked()
+ oObj.addActionLock()
+ bOK = bOK AND oObj.isActionLocked()
+ Test.MethodTested("addActionLock()", bOK)
+ Test.MethodTested("isActionLocked()", bOK)
+
+ Test.StartMethod("removeActionLock()")
+ bOK = true
+ oObj.removeActionLock()
+ bOK = bOK AND NOT oObj.isActionLocked()
+ Test.MethodTested("removeActionLock()", bOK)
+
+ Test.StartMethod("setActionLocks()")
+ bOK = true
+ oObj.setActionLocks(5)
+ bOK = bOK AND oObj.resetActionLocks() = 5
+ bResetOK = bResetOK AND bOK
+ Test.MethodTested("setActionLocks()", bOK)
+ Test.MethodTested("resetActionLocks()", bResetOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XActionLockable/script.xlb b/qadevOOo/tests/basic/ifc/document/XActionLockable/script.xlb
new file mode 100644
index 000000000000..e10e4c90a117
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XActionLockable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XActionLockable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XActionLockable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XDocumentInfo/document_XDocumentInfo.xba b/qadevOOo/tests/basic/ifc/document/XDocumentInfo/document_XDocumentInfo.xba
new file mode 100644
index 000000000000..42b8f25b0bf3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XDocumentInfo/document_XDocumentInfo.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XDocumentInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XDocumentInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim fieldCnt As Variant
+ Dim oldProp As String, newProp As String, resProp As String
+
+ Test.StartMethod("getUserFieldCount()")
+ bOK = true
+ fieldCnt = oObj.getUserFieldCount()
+ bOK = bOK AND (fieldCnt &gt; 0)
+ Test.MethodTested("getUserFieldCount()", bOK)
+
+ Test.StartMethod("getUserFieldName()")
+ bOK = true
+ oldProp = oObj.getUserFieldName(0)
+ bOK = bOK AND NOT isNull(oldProp)
+ Test.MethodTested("getUserFieldName()", bOK)
+
+ Test.StartMethod("setUserFieldName()")
+ bOK = true
+ newProp = "_" + oldProp
+ oObj.setUserFieldName(0, newProp)
+ resProp = oObj.getUserFieldName(0)
+ Out.Log("Was: '" + oldProp + "', New: '" + newProp + "', Get: '" + resProp + "'")
+ bOK = bOK AND (resProp = newProp)
+ Test.MethodTested("setUserFieldName()", bOK)
+
+ Test.StartMethod("getUserFieldValue()")
+ bOK = true
+ oldProp = oObj.getUserFieldValue(0)
+ bOK = bOK AND NOT isNull(oldProp)
+ Test.MethodTested("getUserFieldValue()", bOK)
+
+ Test.StartMethod("setUserFieldValue()")
+ bOK = true
+ newProp = "_" + oldProp
+ oObj.setUserFieldValue(0, newProp)
+ resProp = oObj.getUserFieldValue(0)
+ Out.Log("Was: '" + oldProp + "', New: '" + newProp + "', Get: '" + resProp + "'")
+ bOK = bOK AND (resProp = newProp)
+ Test.MethodTested("setUserFieldValue()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XDocumentInfo/script.xlb b/qadevOOo/tests/basic/ifc/document/XDocumentInfo/script.xlb
new file mode 100644
index 000000000000..812b5ccb7e7e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XDocumentInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XDocumentInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XDocumentInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/document_XDocumentInfoSupplier.xba b/qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/document_XDocumentInfoSupplier.xba
new file mode 100644
index 000000000000..20199ab5d306
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/document_XDocumentInfoSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XDocumentInfoSupplier" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XDocumentInfoSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getDocumentInfo()")
+ bOK = TRUE
+ bOK = bOK AND isObject(oObj.getDocumentInfo())
+ Test.MethodTested("getDocumentInfo()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/script.xlb b/qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/script.xlb
new file mode 100644
index 000000000000..3b44c76a9c99
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XDocumentInfoSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XDocumentInfoSupplier" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="document_XDocumentInfoSupplier"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XDocumentInsertable/document_XDocumentInsertable.xba b/qadevOOo/tests/basic/ifc/document/XDocumentInsertable/document_XDocumentInsertable.xba
new file mode 100644
index 000000000000..f2f508bc0f65
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XDocumentInsertable/document_XDocumentInsertable.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XDocumentInsertable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XDocumentInsertable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sURL As String
+
+ Test.StartMethod("insertDocumentFromURL()")
+ bOK = true
+ sURL = utils.Path2URL(cTestDocsDir + "SwXTextSection.sdw")
+ oObj.insertDocumentFromURL(sURL, DimArray())
+ bOK = bOK AND InStr(oDoc.Text.String, "SwXTextSection") &gt; 0
+ Test.MethodTested("insertDocumentFromURL()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XDocumentInsertable/script.xlb b/qadevOOo/tests/basic/ifc/document/XDocumentInsertable/script.xlb
new file mode 100644
index 000000000000..4ad1f6c4b1ae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XDocumentInsertable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XDocumentInsertable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XDocumentInsertable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/document_XEmbeddedObjectSupplier.xba b/qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/document_XEmbeddedObjectSupplier.xba
new file mode 100644
index 000000000000..bc962faf4660
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/document_XEmbeddedObjectSupplier.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XEmbeddedObjectSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XEmbeddedObjectSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oEObj As Object
+
+ Test.StartMethod("getEmbeddedObject()")
+ bOK = true
+ oEObj = oObj.getEmbeddedObject()
+ bOK = bOK AND NOT isNULL(oEObj)
+ bOK = bOK AND hasUnoInterfaces(oEObj, "com.sun.star.lang.XComponent")
+ Test.MethodTested("getEmbeddedObject()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/script.xlb b/qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/script.xlb
new file mode 100644
index 000000000000..6cb0db4671af
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XEmbeddedObjectSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XEmbeddedObjectSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XEmbeddedObjectSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XEventsSupplier/document_XEventsSupplier.xba b/qadevOOo/tests/basic/ifc/document/XEventsSupplier/document_XEventsSupplier.xba
new file mode 100644
index 000000000000..f36518f9debb
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XEventsSupplier/document_XEventsSupplier.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XEventsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XEventsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getEvents()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getEvents(), "com.sun.star.container.XNameReplace")
+ Test.MethodTested("getEvents()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XEventsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/document/XEventsSupplier/script.xlb
new file mode 100644
index 000000000000..9962039c40a8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XEventsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XEventsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XEventsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XExporter/document_XExporter.xba b/qadevOOo/tests/basic/ifc/document/XExporter/document_XExporter.xba
new file mode 100644
index 000000000000..d69d1676cc97
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XExporter/document_XExporter.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oSrcDocument As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("setSourceDocument()")
+ bOK = true
+ oObj.setSourceDocument(oSrcDocument)
+ Test.MethodTested("setSourceDocument()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XExporter/script.xlb b/qadevOOo/tests/basic/ifc/document/XExporter/script.xlb
new file mode 100644
index 000000000000..cbf12e52cd18
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XFilter/document_XFilter.xba b/qadevOOo/tests/basic/ifc/document/XFilter/document_XFilter.xba
new file mode 100644
index 000000000000..d6eb1e62d281
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XFilter/document_XFilter.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XFilter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oFilterDescriptor As Variant
+' - Global oDocHandler As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XFilter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim iniParam(1) as Variant
+ Dim oFilter as Object
+
+ Test.StartMethod("filter()")
+ bOK = true
+ bOK = bOK AND oObj.filter(oFilterDescriptor)
+ bOK = bOK AND checkFilter()
+
+ Test.MethodTested("filter()", bOK)
+ Test.StartMethod("cancel()")
+ bOK = true
+
+ oFilter = createUnoService("basichelper.Filter")
+
+ iniParam(0) = oObj
+ iniParam(1) = oFilterDescriptor
+ oFilter.initialize(iniParam())
+ oObj.Cancel()
+
+ bOK = bOK AND NOT oFilter.getByName("Result")
+ Test.MethodTested("cancel()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XFilter/script.xlb b/qadevOOo/tests/basic/ifc/document/XFilter/script.xlb
new file mode 100644
index 000000000000..0375a4bdac03
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XFilter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XFilter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XFilter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XImporter/document_XImporter.xba b/qadevOOo/tests/basic/ifc/document/XImporter/document_XImporter.xba
new file mode 100644
index 000000000000..7ee18b8e87b5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XImporter/document_XImporter.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oSrcDocument As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("setTargetDocument()")
+ bOK = true
+ oObj.setTargetDocument(oSrcDocument)
+ Test.MethodTested("setTargetDocument()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XImporter/script.xlb b/qadevOOo/tests/basic/ifc/document/XImporter/script.xlb
new file mode 100644
index 000000000000..cd4492011a8a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/document_XLinkTargetSupplier.xba b/qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/document_XLinkTargetSupplier.xba
new file mode 100644
index 000000000000..5ca9bed047e5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/document_XLinkTargetSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XLinkTargetSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XLinkTargetSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getLinks()")
+ bOK = true
+ oLinks = oObj.getLinks()
+ bOK = bOK AND isObject(oLinks)
+ bOK = bOK AND hasUnoInterfaces(oLinks, "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getLinks()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/script.xlb b/qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/script.xlb
new file mode 100644
index 000000000000..bbf245a7347b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XLinkTargetSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XLinkTargetSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XLinkTargetSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/document_XMimeTypeInfo.xba b/qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/document_XMimeTypeInfo.xba
new file mode 100644
index 000000000000..e2ba8676a170
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/document_XMimeTypeInfo.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XMimeTypeInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XMimeTypeInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getSupportedMimeTypeNames()")
+ Dim names As Variant
+ names = oObj.getSupportedMimeTypeNames()
+ bOK = ubound(names) > 0
+ out.log("Number of supported mime types: " + ubound(names))
+ Test.MethodTested("getSupportedMimeTypeNames()", bOK)
+
+ Test.StartMethod("supportsMimeType()")
+ bOK = oObj.supportsMimeType(names(0))
+ Test.MethodTested("supportsMimeType()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/script.xlb b/qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/script.xlb
new file mode 100644
index 000000000000..8257ee12fc6b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XMimeTypeInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XMimeTypeInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XMimeTypeInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/document_XStandaloneDocumentInfo.xba b/qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/document_XStandaloneDocumentInfo.xba
new file mode 100644
index 000000000000..8ccb9db3d012
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/document_XStandaloneDocumentInfo.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XStandaloneDocumentInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global documentURL As String
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XStandaloneDocumentInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldProp As Variant, newProp As Variant, resProp As Variant
+
+ Test.StartMethod("loadFromURL()")
+ Test.StartMethod("storeIntoURL()")
+
+ bOK = true
+ oObj.loadFromURL(documentURL)
+ oldProp = oObj.Author
+ newProp = oldProp + "_"
+ oObj.Author = newProp
+ oObj.storeIntoURL(documentURL)
+ oObj.loadFromURL(documentURL)
+ resProp = oObj.Author
+ Out.Log("Was: '" + oldProp + "',Set: '" + newProp + "', New: " + resProp + "'")
+ bOK = bOK AND (resProp = newProp)
+
+ Test.MethodTested("loadFromURL()", bOK)
+ Test.MethodTested("storeIntoURL()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/script.xlb b/qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/script.xlb
new file mode 100644
index 000000000000..76eb171f19a2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XStandaloneDocumentInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XStandaloneDocumentInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XStandaloneDocumentInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XTypeDetection/document_XTypeDetection.xba b/qadevOOo/tests/basic/ifc/document/XTypeDetection/document_XTypeDetection.xba
new file mode 100644
index 000000000000..f6cb7a6099cc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XTypeDetection/document_XTypeDetection.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XTypeDetection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XTypeDetection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("queryTypeByURL()")
+ bOK = true
+ Dim docURL As String
+ docURL = Path2URL(cTestDocsDir) + "XTypeDetection.sxw"
+
+ Dim typ As String
+ typ = oObj.queryTypeByURL(docURL)
+ Out.log("queryTypeByURL(" + docURL + "): " + typ)
+ bOK = instr(typ, "writer") > 0
+ Test.MethodTested("queryTypeByURL()", bOK)
+
+ Test.StartMethod("queryTypeByDescriptor()")
+ Dim mediaDescr(0) As new com.sun.star.beans.PropertyValue
+ mediaDescr(0).Name = "URL"
+ mediaDescr(0).Value = docURL
+ typ = oObj.queryTypeByDescriptor(mediaDescr(), false)
+ Out.log("queryTypeByDescriptor(descr, false): " + typ)
+ bOK = instr(typ, "writer") > 0
+ typ = oObj.queryTypeByDescriptor(mediaDescr(), true)
+ Out.log("queryTypeByDescriptor(descr, false): " + typ)
+ bOK = instr(typ, "calc") > 0
+ Test.MethodTested("queryTypeByDescriptor()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XTypeDetection/script.xlb b/qadevOOo/tests/basic/ifc/document/XTypeDetection/script.xlb
new file mode 100644
index 000000000000..aa9d1b3da865
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XTypeDetection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XTypeDetection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="document_XTypeDetection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/document/XViewDataSupplier/document_XViewDataSupplier.xba b/qadevOOo/tests/basic/ifc/document/XViewDataSupplier/document_XViewDataSupplier.xba
new file mode 100644
index 000000000000..1142755128a9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XViewDataSupplier/document_XViewDataSupplier.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="document_XViewDataSupplier" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.document.XViewDataSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oDat as Object
+
+ Test.StartMethod("getViewData()")
+ bOK = TRUE
+ oDat = oObj.getViewData()
+ bOK = bOK AND hasUnoInterfaces(oDat, "com.sun.star.container.XIndexAccess")
+ Test.MethodTested("getViewData()", bOK)
+
+ Test.StartMethod("setViewData()")
+ bOK = TRUE
+ oObj.setViewData(oDat)
+ Test.MethodTested("setViewData()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/document/XViewDataSupplier/script.xlb b/qadevOOo/tests/basic/ifc/document/XViewDataSupplier/script.xlb
new file mode 100644
index 000000000000..e1afb0f1af9f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/document/XViewDataSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="document_XViewDataSupplier" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="document_XViewDataSupplier"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/drawing_ConnectorProperties.xba b/qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/drawing_ConnectorProperties.xba
new file mode 100644
index 000000000000..768064a4c1f4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/drawing_ConnectorProperties.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_ConnectorProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.ConnectorProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("EdgeKind")
+ bOK = true
+
+ oObj.EdgeKind = com.sun.star.drawing.ConnectorType.STANDARD
+ bOK = bOK AND oObj.EdgeKind = com.sun.star.drawing.ConnectorType.STANDARD
+
+ oObj.EdgeKind = com.sun.star.drawing.ConnectorType.LINES
+ bOK = bOK AND oObj.EdgeKind = com.sun.star.drawing.ConnectorType.LINES
+
+ Test.MethodTested("EdgeKind", bOK)
+
+ PropertyTester.TestProperty("EdgeNode1HorzDist")
+
+ PropertyTester.TestProperty("EdgeNode1VertDist")
+
+ PropertyTester.TestProperty("EdgeNode2HorzDist")
+
+ PropertyTester.TestProperty("EdgeNode2VertDist")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/script.xlb b/qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/script.xlb
new file mode 100644
index 000000000000..8486237b69e7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/ConnectorProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_ConnectorProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_ConnectorProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/ConnectorShape/drawing_ConnectorShape.xba b/qadevOOo/tests/basic/ifc/drawing/ConnectorShape/drawing_ConnectorShape.xba
new file mode 100644
index 000000000000..6109e3548b54
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/ConnectorShape/drawing_ConnectorShape.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_ConnectorShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.ConnectorShape
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ PropertyTester.TestProperty("StartShape")
+
+ PropertyTester.TestProperty("StartGluePointIndex", Array(0,1))
+
+ PropertyTester.TestProperty("StartPosition")
+
+ PropertyTester.TestProperty("EndShape")
+
+ PropertyTester.TestProperty("EndPosition")
+
+ PropertyTester.TestProperty("EndGluePointIndex", Array(0,1))
+
+ PropertyTester.TestProperty("EdgeLine1Delta")
+
+ PropertyTester.TestProperty("EdgeLine2Delta")
+
+ PropertyTester.TestProperty("EdgeLine3Delta")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/ConnectorShape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/ConnectorShape/script.xlb
new file mode 100644
index 000000000000..6043a5acb53b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/ConnectorShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_ConnectorShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_ConnectorShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/DrawingDocument/drawing_DrawingDocument.xba b/qadevOOo/tests/basic/ifc/drawing/DrawingDocument/drawing_DrawingDocument.xba
new file mode 100644
index 000000000000..658471297968
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/DrawingDocument/drawing_DrawingDocument.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_DrawingDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.DrawingDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("TabStop")
+
+ PropertyTester.TestProperty("CharLocale")
+
+ PropertyTester.TestProperty("VisibleArea")
+
+ PropertyTester.TestProperty("ForbiddenCharacters")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/DrawingDocument/script.xlb b/qadevOOo/tests/basic/ifc/drawing/DrawingDocument/script.xlb
new file mode 100644
index 000000000000..91f58d890555
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/DrawingDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_DrawingDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_DrawingDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/drawing_DrawingDocumentDrawView.xba b/qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/drawing_DrawingDocumentDrawView.xba
new file mode 100644
index 000000000000..5a1491b9b715
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/drawing_DrawingDocumentDrawView.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_DrawingDocumentDrawView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.DrawingDocumentDrawView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("IsMasterPageMode")
+
+ PropertyTester.TestProperty("IsLayerMode")
+
+ PropertyTester.TestProperty("CurrentPage")
+
+ PropertyTester.TestProperty("VisibleArea")
+
+ oObj.IsMasterPageMode = false
+ oObj.IsLayerMode = false
+
+ PropertyTester.TestProperty("ZoomType")
+
+ PropertyTester.TestProperty("ZoomValue")
+
+ PropertyTester.TestProperty("ViewOffset")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/script.xlb b/qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/script.xlb
new file mode 100644
index 000000000000..b10a16611319
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/DrawingDocumentDrawView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_DrawingDocumentDrawView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_DrawingDocumentDrawView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/EllipseShape/drawing_EllipseShape.xba b/qadevOOo/tests/basic/ifc/drawing/EllipseShape/drawing_EllipseShape.xba
new file mode 100644
index 000000000000..9b26d43e597d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/EllipseShape/drawing_EllipseShape.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_EllipseShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.EllipseShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("CircleKind")
+ bOK = true
+
+ oObj.CircleKind = com.sun.star.drawing.CircleKind.FULL
+ bOK = bOK AND oObj.CircleKind = com.sun.star.drawing.CircleKind.FULL
+
+ oObj.CircleKind = com.sun.star.drawing.CircleKind.SECTION
+ bOK = bOK AND oObj.CircleKind = com.sun.star.drawing.CircleKind.SECTION
+
+ Test.MethodTested("CircleKind", bOK)
+
+ PropertyTester.TestProperty("CircleStartAngle")
+
+ PropertyTester.TestProperty("CircleEndAngle")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/EllipseShape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/EllipseShape/script.xlb
new file mode 100644
index 000000000000..d0870d674175
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/EllipseShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_EllipseShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_EllipseShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing_FillProperties.xba b/qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing_FillProperties.xba
new file mode 100644
index 000000000000..c21e4e4e261b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing_FillProperties.xba
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_FillProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.FillProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("FillStyle")
+ oObj.FillStyle = com.sun.star.drawing.FillStyle.SOLID
+
+ PropertyTester.TestProperty("FillColor")
+
+ PropertyTester.TestProperty("FillTransparence")
+
+ Dim aTranspNames(1) As String
+ aTranspNames(0) = "Transparency 2"
+ aTranspNames(1) = "Transparency 1"
+ PropertyTester.TestProperty("FillTransparenceGradientName", aTranspNames())
+
+ PropertyTester.TestProperty("FillTransparenceGradient")
+
+ Dim aGradientNames(1) As String
+ aGradientNames(0) = "Gradient 2"
+ aGradientNames(1) = "Gradient 1"
+ PropertyTester.TestProperty("FillGradientName", aGradientNames())
+
+ PropertyTester.TestProperty("FillGradient")
+
+ Dim aHatchNames(1) As String
+ aHatchNames(0) = "Black 0 Degrees"
+ aHatchNames(1) = "Black 45 Degrees"
+ PropertyTester.TestProperty("FillHatchName", aHatchNames())
+
+ PropertyTester.TestProperty("FillHatch")
+
+ Dim aBitmapNames(1) As String
+ aBitmapNames(0) = "Sky"
+ aBitmapNames(1) = "Metal"
+ PropertyTester.TestProperty("FillBitmapName", aBitmapNames())
+
+ PropertyTester.TestProperty("FillBitmap")
+
+ Test.StartMethod("FillBitmapURL")
+ Dim sURL1 As String
+ Dim sURL2 As String
+ oObj.setPropertyValue("FillBitmapURL", utils.Path2URL(cTestDocsDir) &amp; "crazy-blue.jpg")
+ sURL1 = oObj.getPropertyValue("FillBitmapURL")
+ oObj.setPropertyValue("FillBitmapURL", utils.Path2URL(cTestDocsDir) &amp; "space-metal.jpg")
+ sURL2 = oObj.getPropertyValue("FillBitmapURL")
+ Test.MethodTested("FillBitmapURL", sURL1 &lt;&gt; sURL2)
+
+ Dim aOffsets(1) As Integer
+ aOffsets(0) = 10
+ aOffsets(1) = -10
+ PropertyTester.TestProperty("FillBitmapOffsetX", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapOffsetY", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapPositionOffsetX", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapPositionOffsetY", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapRectanglePoint")
+
+ PropertyTester.TestProperty("FillBitmapLogicalSize")
+
+ PropertyTester.TestProperty("FillBitmapSizeX")
+
+ PropertyTester.TestProperty("FillBitmapSizeY")
+
+ PropertyTester.TestProperty("FillBitmapMode")
+
+ PropertyTester.TestProperty("FillBackground")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing__FillProperties.xba b/qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing__FillProperties.xba
new file mode 100644
index 000000000000..153acfcb9ae3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/FillProperties/drawing__FillProperties.xba
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing__FillProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.FillProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("FillStyle")
+ oObj.FillStyle = com.sun.star.drawing.FillStyle.SOLID
+
+ PropertyTester.TestProperty("FillColor")
+
+ PropertyTester.TestProperty("FillTransparence")
+
+ Dim aTranspNames(1) As String
+ aTranspNames(0) = "Transparency 2"
+ aTranspNames(1) = "Transparency 1"
+ PropertyTester.TestProperty("FillTransparenceGradientName", aTranspNames())
+
+ PropertyTester.TestProperty("FillTransparenceGradient")
+
+ Dim aGradientNames(1) As String
+ aGradientNames(0) = "Gradient 2"
+ aGradientNames(1) = "Gradient 1"
+ PropertyTester.TestProperty("FillGradientName", aGradientNames())
+
+ PropertyTester.TestProperty("FillGradient")
+
+ Dim aHatchNames(1) As String
+ aHatchNames(0) = "Black 0 Degrees"
+ aHatchNames(1) = "Black 45 Degrees"
+ PropertyTester.TestProperty("FillHatchName", aHatchNames())
+
+ PropertyTester.TestProperty("FillHatch")
+
+ Dim aBitmapNames(1) As String
+ aBitmapNames(0) = "Sky"
+ aBitmapNames(1) = "Metal"
+ PropertyTester.TestProperty("FillBitmapName", aBitmapNames())
+
+ PropertyTester.TestProperty("FillBitmap")
+
+ Test.StartMethod("FillBitmapURL")
+ Dim sURL1 As String
+ Dim sURL2 As String
+ oObj.setPropertyValue("FillBitmapURL", utils.Path2URL(cTestDocsDir) &amp; "crazy-blue.jpg")
+ sURL1 = oObj.getPropertyValue("FillBitmapURL")
+ oObj.setPropertyValue("FillBitmapURL", utils.Path2URL(cTestDocsDir) &amp; "space-metal.jpg")
+ sURL2 = oObj.getPropertyValue("FillBitmapURL")
+ Test.MethodTested("FillBitmapURL", sURL1 &lt;&gt; sURL2)
+
+ Dim aOffsets(1) As Integer
+ aOffsets(0) = 10
+ aOffsets(1) = -10
+ PropertyTester.TestProperty("FillBitmapOffsetX", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapOffsetY", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapPositionOffsetX", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapPositionOffsetY", aOffsets())
+
+ PropertyTester.TestProperty("FillBitmapRectanglePoint")
+
+ PropertyTester.TestProperty("FillBitmapLogicalSize")
+
+ PropertyTester.TestProperty("FillBitmapSizeX")
+
+ PropertyTester.TestProperty("FillBitmapSizeY")
+
+ PropertyTester.TestProperty("FillBitmapMode")
+
+ PropertyTester.TestProperty("FillBackground")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/FillProperties/script.xlb b/qadevOOo/tests/basic/ifc/drawing/FillProperties/script.xlb
new file mode 100644
index 000000000000..5f614032af7f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/FillProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing__FillProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing__FillProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/drawing_GenericDrawPage.xba b/qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/drawing_GenericDrawPage.xba
new file mode 100644
index 000000000000..5fd135250122
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/drawing_GenericDrawPage.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_GenericDrawPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.GenericDrawPage
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("BorderBottom")
+
+ PropertyTester.TestProperty("BorderLeft")
+
+ PropertyTester.TestProperty("BorderRight")
+
+ PropertyTester.TestProperty("BorderTop")
+
+ PropertyTester.TestProperty("Height")
+
+ PropertyTester.TestProperty("Width")
+
+ PropertyTester.TestProperty("Number")
+
+ PropertyTester.TestProperty("Orientation")
+
+ PropertyTester.TestProperty("UserDefinedAttributes")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/script.xlb b/qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/script.xlb
new file mode 100644
index 000000000000..d8c0d476a667
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/GenericDrawPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_GenericDrawPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_GenericDrawPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/drawing_GraphicObjectShape.xba b/qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/drawing_GraphicObjectShape.xba
new file mode 100644
index 000000000000..2c2d98de63a8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/drawing_GraphicObjectShape.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_GraphicObjectShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.GraphicObjectShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim bitmapURL As Variant
+ bitmapURL = Array(Path2URL(cTestDocsDir + "space-metal.jpg"))
+ PropertyTester.TestProperty("GraphicURL", bitmapURL)
+
+ PropertyTester.TestProperty("GraphicStreamURL", bitmapURL)
+
+ PropertyTester.TestProperty("GraphicObjectFillBitmap")
+
+ PropertyTester.TestProperty("AdjustLuminance")
+
+ PropertyTester.TestProperty("AdjustContrast")
+
+ PropertyTester.TestProperty("AdjustRed")
+
+ PropertyTester.TestProperty("AdjustGreen")
+
+ PropertyTester.TestProperty("AdjustBlue")
+
+ PropertyTester.TestProperty("Gamma")
+
+ PropertyTester.TestProperty("Transparency")
+
+ PropertyTester.TestProperty("GraphicColorMode")
+
+ PropertyTester.TestProperty("ImageMap")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/script.xlb
new file mode 100644
index 000000000000..9d98198fb73a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/GraphicObjectShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_GraphicObjectShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_GraphicObjectShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/Layer/drawing_Layer.xba b/qadevOOo/tests/basic/ifc/drawing/Layer/drawing_Layer.xba
new file mode 100644
index 000000000000..5f51a9ba1370
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/Layer/drawing_Layer.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_Layer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.Layer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Name")
+
+ PropertyTester.TestProperty("IsVisible")
+
+ PropertyTester.TestProperty("IsPrintable")
+
+ PropertyTester.TestProperty("IsLocked")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/Layer/script.xlb b/qadevOOo/tests/basic/ifc/drawing/Layer/script.xlb
new file mode 100644
index 000000000000..0d4e2808bfae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/Layer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_Layer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_Layer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/LineProperties/drawing_LineProperties.xba b/qadevOOo/tests/basic/ifc/drawing/LineProperties/drawing_LineProperties.xba
new file mode 100644
index 000000000000..753424d0d24d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/LineProperties/drawing_LineProperties.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_LineProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.LineProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim dash As Variant
+
+ PropertyTester.TestProperty("LineStyle")
+
+ dash = oObj.LineDash
+ dash.Style = com.sun.star.drawing.DashStyle.RECT
+ dash.Dots = dash.Dots + 1
+ PropertyTester.TestProperty("LineDash", Array(dash))
+
+ PropertyTester.TestProperty("LineColor")
+
+ PropertyTester.TestProperty("LineTransparence")
+
+ Dim aLineWidth(1) As Integer
+ aLineWidth(0) = 12
+ aLineWidth(1) = 7
+ PropertyTester.TestProperty("LineWidth", aLineWidth())
+
+ PropertyTester.TestProperty("LineJoint")
+
+ Dim LineName(0 to 1) As String
+ LineName(0) = "Arrow"
+ LineName(1) = "Square"
+ PropertyTester.TestProperty("LineStartName",LineName())
+
+ PropertyTester.TestProperty("LineStart")
+
+ PropertyTester.TestProperty("LineEnd")
+
+ PropertyTester.TestProperty("LineStartCenter")
+
+ PropertyTester.TestProperty("LineStartWidth")
+
+ PropertyTester.TestProperty("LineEndCenter")
+
+ PropertyTester.TestProperty("LineEndWidth")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/LineProperties/script.xlb b/qadevOOo/tests/basic/ifc/drawing/LineProperties/script.xlb
new file mode 100644
index 000000000000..92aa636c37b4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/LineProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_LineProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_LineProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/MeasureProperties/drawing_MeasureProperties.xba b/qadevOOo/tests/basic/ifc/drawing/MeasureProperties/drawing_MeasureProperties.xba
new file mode 100644
index 000000000000..70f7a945d2b4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/MeasureProperties/drawing_MeasureProperties.xba
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_MeasureProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.MeasureProperties
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("MeasureBelowReferenceEdge")
+
+ PropertyTester.TestProperty("MeasureHelpLine1Length")
+
+ PropertyTester.TestProperty("MeasureHelpLine2Length")
+
+ PropertyTester.TestProperty("MeasureHelpLineDistance")
+
+ PropertyTester.TestProperty("MeasureHelpLineOverhang")
+
+ Test.StartMethod("MeasureKind")
+ bOK = true
+
+ oObj.MeasureKind = com.sun.star.drawing.MeasureKind.STANDARD
+ bOK = bOK AND oObj.MeasureKind = com.sun.star.drawing.MeasureKind.STANDARD
+
+ oObj.MeasureKind = com.sun.star.drawing.MeasureKind.RADIUS
+ bOK = bOK AND oObj.MeasureKind = com.sun.star.drawing.MeasureKind.RADIUS
+
+ Test.MethodTested("MeasureKind", bOK)
+
+ PropertyTester.TestProperty("MeasureLineDistance")
+
+ PropertyTester.TestProperty("MeasureOverhang")
+
+ PropertyTester.TestProperty("MeasureShowUnit")
+
+ PropertyTester.TestProperty("MeasureTextAutoAngle")
+
+ PropertyTester.TestProperty("MeasureTextAutoAngleView")
+
+ PropertyTester.TestProperty("MeasureTextFixedAngle")
+
+ Test.StartMethod("MeasureTextHorizontalPosition")
+ bOK = true
+
+ oObj.MeasureTextHorizontalPosition = com.sun.star.drawing.MeasureTextHorzPos.AUTO
+ bOK = bOK AND oObj.MeasureTextHorizontalPosition = com.sun.star.drawing.MeasureTextHorzPos.AUTO
+
+ oObj.MeasureTextHorizontalPosition = com.sun.star.drawing.MeasureTextHorzPos.LEFTOUTSIDE
+ bOK = bOK AND oObj.MeasureTextHorizontalPosition = com.sun.star.drawing.MeasureTextHorzPos.LEFTOUTSIDE
+
+ Test.MethodTested("MeasureTextHorizontalPosition", bOK)
+
+ Test.StartMethod("MeasureTextVerticalPosition")
+ bOK = true
+
+ oObj.MeasureTextVerticalPosition = com.sun.star.drawing.MeasureTextVertPos.AUTO
+ bOK = bOK AND oObj.MeasureTextVerticalPosition = com.sun.star.drawing.MeasureTextVertPos.AUTO
+
+ oObj.MeasureTextVerticalPosition = com.sun.star.drawing.MeasureTextVertPos.EAST
+ bOK = bOK AND oObj.MeasureTextVerticalPosition = com.sun.star.drawing.MeasureTextVertPos.EAST
+
+ Test.MethodTested("MeasureTextVerticalPosition", bOK)
+
+ PropertyTester.TestProperty("MeasureTextIsFixedAngle")
+
+ PropertyTester.TestProperty("MeasureTextRotate90")
+
+ PropertyTester.TestProperty("MeasureTextUpsideDown")
+
+ PropertyTester.TestProperty("MeasureDecimalPlaces")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/MeasureProperties/script.xlb b/qadevOOo/tests/basic/ifc/drawing/MeasureProperties/script.xlb
new file mode 100644
index 000000000000..5be031e60bb7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/MeasureProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_MeasureProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_MeasureProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/MeasureShape/drawing_MeasureShape.xba b/qadevOOo/tests/basic/ifc/drawing/MeasureShape/drawing_MeasureShape.xba
new file mode 100644
index 000000000000..9157106d7201
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/MeasureShape/drawing_MeasureShape.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_MeasureShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.MeasureShape
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("StartPosition")
+
+ PropertyTester.TestProperty("EndPosition")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/MeasureShape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/MeasureShape/script.xlb
new file mode 100644
index 000000000000..6e5ca92a8d58
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/MeasureShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_MeasureShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_MeasureShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/drawing_PolyPolygonBezierDescriptor.xba b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/drawing_PolyPolygonBezierDescriptor.xba
new file mode 100644
index 000000000000..bf855ddd6ddb
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/drawing_PolyPolygonBezierDescriptor.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_PolyPolygonBezierDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.PolyPolygonBezierDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("PolygonKind")
+
+ PropertyTester.TestProperty("PolyPolygonBezier")
+
+ PropertyTester.TestProperty("Geometry")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/script.xlb
new file mode 100644
index 000000000000..6533bbbf6b56
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonBezierDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_PolyPolygonBezierDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_PolyPolygonBezierDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/drawing_PolyPolygonDescriptor.xba b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/drawing_PolyPolygonDescriptor.xba
new file mode 100644
index 000000000000..f98b2c204bb3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/drawing_PolyPolygonDescriptor.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_PolyPolygonDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.PolyPolygonDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("PolygonKind")
+
+ PropertyTester.TestProperty("PolyPolygon")
+
+ PropertyTester.TestProperty("Geometry")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/script.xlb
new file mode 100644
index 000000000000..78c42a61d5ca
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/PolyPolygonDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_PolyPolygonDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_PolyPolygonDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/drawing_RotationDescriptor.xba b/qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/drawing_RotationDescriptor.xba
new file mode 100644
index 000000000000..018b938f8883
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/drawing_RotationDescriptor.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_RotationDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.RotationDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim newRot As Variant
+ newRot = Array( oObj.RotateAngle + 200 )
+ PropertyTester.TestProperty("RotateAngle", newRot)
+
+ Dim newShAn As Variant
+ newShAn = Array( oObj.ShearAngle + 200 )
+ PropertyTester.TestProperty("ShearAngle", newShAn)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/script.xlb
new file mode 100644
index 000000000000..f6f8b90e5734
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/RotationDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_RotationDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_RotationDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/ShadowProperties/drawing_ShadowProperties.xba b/qadevOOo/tests/basic/ifc/drawing/ShadowProperties/drawing_ShadowProperties.xba
new file mode 100644
index 000000000000..c69dc78d7615
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/ShadowProperties/drawing_ShadowProperties.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_ShadowProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.ShadowProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Shadow")
+
+ PropertyTester.TestProperty("ShadowColor")
+
+ PropertyTester.TestProperty("ShadowTransparence")
+
+ PropertyTester.TestProperty("ShadowXDistance")
+
+ PropertyTester.TestProperty("ShadowYDistance")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/ShadowProperties/script.xlb b/qadevOOo/tests/basic/ifc/drawing/ShadowProperties/script.xlb
new file mode 100644
index 000000000000..8ab2fdc4f855
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/ShadowProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_ShadowProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_ShadowProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/Shape/drawing_Shape.xba b/qadevOOo/tests/basic/ifc/drawing/Shape/drawing_Shape.xba
new file mode 100644
index 000000000000..5662f10cd1a4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/Shape/drawing_Shape.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_Shape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.Shape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim ZOrderArr As Variant
+ ZOrderArr = Array(1, 0)
+ PropertyTester.TestProperty("ZOrder",ZOrderArr)
+
+ PropertyTester.TestProperty("LayerID", ZOrderArr)
+
+ Dim aLayersNames As Variant
+ If oObj.LayerName = "layout" Then
+ aLayersNames = Array("controls")
+ Else If oObj.LayerName = "Hell" Then
+ aLayersNames = Array("Heaven")
+ Else
+ aLayersNames = Array("layout")
+ End If
+ End If
+
+ PropertyTester.TestProperty("LayerName", aLayersNames)
+
+ PropertyTester.TestProperty("Printable")
+
+ PropertyTester.TestProperty("MoveProtect")
+
+ PropertyTester.TestProperty("Name")
+
+ PropertyTester.TestProperty("SizeProtect")
+
+ PropertyTester.TestProperty("Style")
+
+ If cObjectName = "svx.SvxShapeConnector" Then
+ Test.StartMethod("Transformation")
+ Test.MethodTested("Transformation", True)
+ Else
+ PropertyTester.TestProperty("Transformation")
+ End If
+
+ PropertyTester.TestProperty("ShapeUserDefinedAttributes")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/Shape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/Shape/script.xlb
new file mode 100644
index 000000000000..7978b2c1b73c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/Shape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_Shape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_Shape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/TextProperties/drawing_TextProperties.xba b/qadevOOo/tests/basic/ifc/drawing/TextProperties/drawing_TextProperties.xba
new file mode 100644
index 000000000000..f86a3bc1bdc9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/TextProperties/drawing_TextProperties.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_TextProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.TextProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("IsNumbering")
+
+ PropertyTester.TestProperty("NumberingRules")
+
+ PropertyTester.TestProperty("TextContourFrame")
+
+ PropertyTester.TestProperty("TextAutoGrowHeight")
+
+ PropertyTester.TestProperty("TextAutoGrowWidth")
+
+ PropertyTester.TestProperty("TextFitToSize")
+
+ PropertyTester.TestProperty("TextHorizontalAdjust")
+
+ PropertyTester.TestProperty("TextVerticalAdjust")
+
+ PropertyTester.TestProperty("TextLeftDistance")
+
+ PropertyTester.TestProperty("TextRightDistance")
+
+ PropertyTester.TestProperty("TextUpperDistance")
+
+ PropertyTester.TestProperty("TextLowerDistance")
+
+ PropertyTester.TestProperty("TextMaximumFrameHeight")
+
+ PropertyTester.TestProperty("TextMaximumFrameWidth")
+
+ PropertyTester.TestProperty("TextMinimumFrameHeight")
+
+ PropertyTester.TestProperty("TextMinimumFrameWidth")
+
+ PropertyTester.TestProperty("TextAnimationAmount")
+
+ PropertyTester.TestProperty("TextAnimationCount")
+
+ PropertyTester.TestProperty("TextAnimationDelay")
+
+ PropertyTester.TestProperty("TextAnimationDirection")
+
+ PropertyTester.TestProperty("TextAnimationKind")
+
+ PropertyTester.TestProperty("TextAnimationStartInside")
+
+ PropertyTester.TestProperty("TextAnimationStopInside")
+
+ PropertyTester.TestProperty("TextWritingMode")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/TextProperties/script.xlb b/qadevOOo/tests/basic/ifc/drawing/TextProperties/script.xlb
new file mode 100644
index 000000000000..edd89b72ce37
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/TextProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_TextProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_TextProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/TextShape/drawing_TextShape.xba b/qadevOOo/tests/basic/ifc/drawing/TextShape/drawing_TextShape.xba
new file mode 100644
index 000000000000..29dfba17ec86
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/TextShape/drawing_TextShape.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_TextShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.drawing.TextShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("CornerRadius")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/TextShape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/TextShape/script.xlb
new file mode 100644
index 000000000000..4a03ef26f435
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/TextShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_TextShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_TextShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XControlShape/drawing_XControlShape.xba b/qadevOOo/tests/basic/ifc/drawing/XControlShape/drawing_XControlShape.xba
new file mode 100644
index 000000000000..194dbef71636
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XControlShape/drawing_XControlShape.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XControlShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oControlToSet As Object
+
+'*************************************************************************
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XControlShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getControl()")
+ bOK = true
+ oControl = oObj.getControl()
+ bOK = bOK AND NOT isNULL(oControl)
+ bOK = bOK AND hasUnoInterfaces(oControl, "com.sun.star.awt.XControlModel")
+
+ Test.MethodTested("getControl()", bOK)
+
+ Test.StartMethod("setControl()")
+ bOK = true
+ if NOT hasUnoInterfaces(oControlToSet, "com.sun.star.awt.XControlModel") then
+ Out.Log("oControlToSet wasn't correctly set while object creation ... ")
+ bOK = false
+ else
+ oObj.setControl(oControlToSet)
+ bOK = bOK AND oControlToSet.implementationName = oObj.getControl().implementationName
+ end if
+
+ Test.MethodTested("setControl()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XControlShape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XControlShape/script.xlb
new file mode 100644
index 000000000000..97e313291ee0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XControlShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XControlShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XControlShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/drawing_XDrawPageDuplicator.xba b/qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/drawing_XDrawPageDuplicator.xba
new file mode 100644
index 000000000000..a1eb32c56bce
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/drawing_XDrawPageDuplicator.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XDrawPageDuplicator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oCollection As Object = oDoc.DrawPages(0)
+
+'*************************************************************************
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XDrawPageDuplicator
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCopy As Object
+
+ Test.StartMethod("duplicate()")
+ bOK = true
+ oCopy = oObj.duplicate(oCollection)
+ if NOT isNull(oCopy) Then
+ bOK = bOK AND (oCollection.dbg_properties = oCopy.dbg_properties)
+ else
+ bOK = false
+ end if
+ Test.MethodTested("duplicate()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/script.xlb
new file mode 100644
index 000000000000..8670b4bbe277
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageDuplicator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XDrawPageDuplicator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XDrawPageDuplicator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/drawing_XDrawPageExpander.xba b/qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/drawing_XDrawPageExpander.xba
new file mode 100644
index 000000000000..8628c720cf6c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/drawing_XDrawPageExpander.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XDrawPageExpander" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XDrawPageExpander
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("expand()")
+ bOK = true
+ Dim Pages As Object
+
+ Pages = oObj.Expand(oObj(0))
+ bOK = bOK AND NOT isNULL(Pages)
+ bOK = bOK AND hasUnoInterfaces(Pages, "com.sun.star.drawing.XDrawPages")
+ Test.MethodTested("expand()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/script.xlb
new file mode 100644
index 000000000000..4eb58e1452d7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageExpander/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XDrawPageExpander" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XDrawPageExpander"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/drawing_XDrawPageSummarizer.xba b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/drawing_XDrawPageSummarizer.xba
new file mode 100644
index 000000000000..0b40602ee4e4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/drawing_XDrawPageSummarizer.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XDrawPageSummarizer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XDrawPageSummarizer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSummary As Object
+
+
+ Test.StartMethod("summarize()")
+ bOK = true
+ oSummary = oObj.Summarize(oObj)
+ bOK = NOT isNULL(oSummary)
+ bOK = bOK AND hasUnoInterfaces(oSummary, "com.sun.star.drawing.XDrawPage")
+ Test.MethodTested("summarize()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/script.xlb
new file mode 100644
index 000000000000..a3d8a8fd5a86
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSummarizer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XDrawPageSummarizer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XDrawPageSummarizer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/drawing_XDrawPageSupplier.xba b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/drawing_XDrawPageSupplier.xba
new file mode 100644
index 000000000000..6e3366aef41f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/drawing_XDrawPageSupplier.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XDrawPageSupplier" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XDrawPageSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oDrawPage as Object
+
+ Test.startMethod("getDrawPage()"
+ bOK = TRUE
+ oDrawPage = oObj.getDrawPage()
+ bOK = bOK AND hasUnoInterfaces(oDrawPage, "com.sun.star.drawing.XDrawPage")
+ Test.MethodTested("getDrawPage()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/script.xlb
new file mode 100644
index 000000000000..0c7dd82c381d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPageSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XDrawPageSupplier" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="drawing_XDrawPageSupplier"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPages/drawing_XDrawPages.xba b/qadevOOo/tests/basic/ifc/drawing/XDrawPages/drawing_XDrawPages.xba
new file mode 100644
index 000000000000..680eb2d778d3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPages/drawing_XDrawPages.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XDrawPages" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XDrawPages
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCount As Integer
+ Dim oPage As Object
+
+ Test.StartMethod("insertNewByIndex()")
+ bOK = true
+ nCount = oObj.Count
+ oPage = oObj.insertNewByIndex(nCount)
+ bOK = bOK AND nCount &lt;&gt; oObj.Count()
+ Test.MethodTested("insertNewByIndex()", bOK)
+
+ Test.StartMethod("remove()")
+ bOK = true
+ oObj.remove(oPage)
+ bOK = bOK AND nCount = oObj.Count
+ Test.MethodTested("remove()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPages/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XDrawPages/script.xlb
new file mode 100644
index 000000000000..13a057bea7ad
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPages/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XDrawPages" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XDrawPages"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/drawing_XDrawPagesSupplier.xba b/qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/drawing_XDrawPagesSupplier.xba
new file mode 100644
index 000000000000..df376a73bea7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/drawing_XDrawPagesSupplier.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XDrawPagesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XDrawPagesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getDrawPages()")
+ bOK = true
+ oDrawPages = oObj.getDrawPages()
+ bOK = bOK AND NOT isNull(oDrawPages)
+ bOK = bOK AND hasUnoInterfaces(oDrawPages, "com.sun.star.drawing.XDrawPages")
+ Test.MethodTested("getDrawPages()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/script.xlb
new file mode 100644
index 000000000000..2f038f684eb3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawPagesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XDrawPagesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XDrawPagesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawView/drawing_XDrawView.xba b/qadevOOo/tests/basic/ifc/drawing/XDrawView/drawing_XDrawView.xba
new file mode 100644
index 000000000000..a68a5bd32bcd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawView/drawing_XDrawView.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XDrawView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oPages As Object Collection of pages
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XDrawView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCurrPage As Object
+ Dim oOldCurPage As Object
+ Dim newPage As Object
+
+ Test.StartMethod("setCurrentPage()")
+ bOK = true
+ oPages.insertNewByIndex(0)
+ newPage = oPages(0)
+ oOldCurPage = oObj.getCurrentPage()
+ oObj.setCurrentPage(newPage)
+ bOK = bOK AND newPage.dbg_methods = oObj.getCurrentPage().dbg_methods
+ Test.MethodTested("setCurrentPage()", bOK)
+
+ Test.StartMethod("getCurrentPage()")
+ bOK = true
+ oCurrPage = oObj.getCurrentPage()
+ bOK = bOK AND NOT isNULL(oCurrPage)
+ bOK = bOK AND hasUnoInterfaces(oCurrPage, "com.sun.star.drawing.XDrawPage")
+ Test.MethodTested("getCurrentPage()", bOK)
+
+ 'back to the old current page
+ oObj.setCurrentPage(oOldCurPage)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XDrawView/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XDrawView/script.xlb
new file mode 100644
index 000000000000..a0ce1b7caeca
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XDrawView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XDrawView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XDrawView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/drawing_XGluePointsSupplier.xba b/qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/drawing_XGluePointsSupplier.xba
new file mode 100644
index 000000000000..5c7ed5e74505
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/drawing_XGluePointsSupplier.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XGluePointsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XGluePointsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aPoints As Variant
+
+ Test.StartMethod("getGluePoints()")
+ bOK = true
+ aPoints = oObj.getGluePoints()
+ Out.Log("getGluePoints() returned " &amp; aPoints.getCount())
+ if (aPoints.getCount() &gt; 0) then
+ bOK = bOK AND isUNOStruct(aPoints.getByIndex(0))
+ if (bOK) then
+ Out.Log("First point is: " &amp; aPoints.getByIndex(0).Position.X &amp; ", " &amp; aPoints.getByIndex(0).Position.Y)
+ end if
+ end if
+ Test.MethodTested("getGluePoints()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/script.xlb
new file mode 100644
index 000000000000..60b81fd1245f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XGluePointsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XGluePointsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XGluePointsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XLayerManager/drawing_XLayerManager.xba b/qadevOOo/tests/basic/ifc/drawing/XLayerManager/drawing_XLayerManager.xba
new file mode 100644
index 000000000000..0ac672ca4362
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XLayerManager/drawing_XLayerManager.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XLayerManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XLayerManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oShape As Variant
+ Dim oLayer As Variant
+ Dim nCount As Integer
+ Dim oDrawPage As Object
+ Dim oGetLayer As Object
+
+
+ bOK = true
+ 'create a new Shape and add to drawpage
+ oShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oDrawPage = oDoc.DrawPages.getByIndex(0)
+ oDrawPage.add(oShape)
+ 'get Layer from LayerManager
+ oLayer = oObj.getByIndex(0)
+ oLayer.Name = cIfcShortName
+
+ Test.StartMethod("attachShapeToLayer()")
+ oObj.attachShapeToLayer(oShape, oLayer)
+ oGetLayer = oObj.getLayerForShape(oShape)
+ bOK = bOK AND (oLayer.Name = oGetLayer.Name)
+ Test.MethodTested("attachShapeToLayer()", bOK)
+
+ Test.StartMethod("getLayerForShape()")
+ bOK = bOK AND (oLayer.Name = oGetLayer.Name)
+ Test.MethodTested("getLayerForShape()", bOK)
+
+ Test.StartMethod("insertNewByIndex()")
+ bOK = true
+ nCount = oObj.Count
+ oObj.insertNewByIndex(nCount)
+ bOK = bOk AND (nCount &lt;&gt; oObj.Count)
+ Test.MethodTested("insertNewByIndex()", bOK)
+
+ Test.StartMethod("remove()")
+ bOK = true
+ nCount = oObj.Count
+ oObj.remove(oLayer)
+ bOK = bOK AND (nCount &lt;&gt; oObj.Count)
+ Test.MethodTested("remove()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XLayerManager/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XLayerManager/script.xlb
new file mode 100644
index 000000000000..553799d022ea
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XLayerManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XLayerManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XLayerManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/drawing_XLayerSupplier.xba b/qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/drawing_XLayerSupplier.xba
new file mode 100644
index 000000000000..2ebe1ebfbfcc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/drawing_XLayerSupplier.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XLayerSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XLayerSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getLayerManager()")
+ bOK = true
+ oLayer = oObj.getLayerManager()
+ bOK = bOK AND NOT isNull(oLayer)
+ bOK = bOK AND hasUnoInterfaces(oLayer, "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getLayerManager()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/script.xlb
new file mode 100644
index 000000000000..1f6cb3a085f5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XLayerSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XLayerSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XLayerSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/drawing_XMasterPageTarget.xba b/qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/drawing_XMasterPageTarget.xba
new file mode 100644
index 000000000000..73b167ef4094
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/drawing_XMasterPageTarget.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XMasterPageTarget" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XMasterPageTarget
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oGetMaster As Object
+ Dim oNewMaster As Object
+ Dim oMaster As Object
+
+
+ Test.StartMethod("getMasterPage()")
+ bOK = true
+ oMaster = oDoc.getMasterPages()
+ oNewMaster = oMaster.insertNewByIndex(oMaster.getCount())
+ oNewMaster.Name = "NewMaster"
+ bOK = bOK AND NOT isNull(oObj.getMasterPage())
+ Test.MethodTested("getMasterPage()", bOK)
+
+
+ Test.StartMethod("setMasterPage()")
+ bOK = true
+ oObj.setMasterPage(oNewMaster)
+ oGetMaster = oObj.getMasterPage()
+ bOK = bOK AND (oGetMaster.Name = oNewMaster.Name)
+ Test.MethodTested("setMasterPage()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/script.xlb
new file mode 100644
index 000000000000..e0a12d52bc14
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XMasterPageTarget/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XMasterPageTarget" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XMasterPageTarget"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/drawing_XMasterPagesSupplier.xba b/qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/drawing_XMasterPagesSupplier.xba
new file mode 100644
index 000000000000..fe02677e8c00
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/drawing_XMasterPagesSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XMasterPagesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XMasterPagesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oMaster As Object
+
+ Test.StartMethod("getMasterPages()")
+ bOK = true
+ oMaster = oObj.getMasterPages()
+ bOK = bOK AND NOT isNull(oMaster)
+ bOK = bOK AND hasUnoInterfaces(oMaster, "com.sun.star.drawing.XDrawPages")
+ Test.MethodTested("getMasterPages()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/script.xlb
new file mode 100644
index 000000000000..02cac0d66758
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XMasterPagesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XMasterPagesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XMasterPagesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShape/drawing_XShape.xba b/qadevOOo/tests/basic/ifc/drawing/XShape/drawing_XShape.xba
new file mode 100644
index 000000000000..cced868bb1aa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShape/drawing_XShape.xba
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oPosition As Object
+ Dim oSetPos As New com.sun.star.awt.Point
+ Dim objPosition As Object
+
+ Dim oSize As Object
+ Dim oSetSize As New com.sun.star.awt.Size
+ Dim objSize As Object
+ Dim bRO As Boolean
+
+
+ Test.StartMethod("setPosition()")
+ Test.StartMethod("getPosition()")
+
+ bOK = true
+
+ if (cObjectName = "sw.SwXTextEmbeddedObject") OR _
+ (cObjectName = "sw.SwXTextGraphicObject") OR _
+ (cObjectName = "sw.SwXTextFrame") OR _
+ (cObjectName = "svx.SvxShapeConnector") then
+ Out.Log("Methods get/setPosition doesn't work with this object.")
+ else
+ oPosition = oObj.getPosition()
+ Out.Log("Current object's position (" + oPosition.X + ", " + oPosition.Y + ")")
+
+ oSetPos.X = 1234
+ oSetPos.Y = 4321
+
+ Out.Log("Trying to set object's position to (" + oSetPos.X + ", " + oSetPos.Y + ")")
+ oObj.setPosition(oSetPos)
+
+ objPosition = oObj.getPosition()
+ Out.Log("Actual position is (" + objPosition.X + ", " + objPosition.Y + ")")
+
+
+ bOK = bOK AND ((abs(objPosition.X - oSetPos.X) &lt;= 1) AND (abs(objPosition.Y - oSetPos.Y) &lt;= 1))
+
+ Out.Log("Return previous position...")
+ oObj.setPosition(oPosition)
+ end if
+
+ Test.MethodTested("getPosition()", bOK)
+ Test.MethodTested("setPosition()", bOK)
+
+
+ Test.StartMethod("setSize()")
+ Test.StartMethod("getSize()")
+ bOK = true
+
+ bRO = (cObjectName = "sch.ChartLegend") OR _
+ (cObjectName = "sch.ChartTitle") OR _
+ (cObjectName = "svx.SvxShapeConnector")
+ if (bRO) then
+ Out.Log("Size cannot be changed for this object.")
+ end if
+
+ oSize = oObj.getSize()
+ Out.Log("Current object's size (" + oSize.Width + " x " + oSize.Height + ")")
+
+ oSetSize.Width = 1235
+ oSetSize.Height = 4322
+
+ Out.Log("Trying to set object's size to (" + oSetSize.Width + " x " + oSetSize.Height + ")")
+ oObj.setSize(oSetSize)
+ objSize = oObj.getSize()
+ Out.Log("Actual size is (" + objSize.Width + " x " + objSize.Height + ")")
+
+ if (bRO) then
+ bOK = bOK AND ((abs(objSize.Width - oSize.Width) &lt;= 1) AND (abs(objSize.Height - oSize.Height) &lt;= 1))
+ else
+ bOK = bOK AND ((abs(objSize.Width - oSetSize.Width) &lt;= 1) AND (abs(objSize.Height - oSetSize.Height) &lt;= 1))
+ end if
+
+ Out.Log("Return previous size...")
+ oObj.setSize(oSize)
+
+ Test.MethodTested("getSize()", bOK)
+ Test.MethodTested("setSize()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShape/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XShape/script.xlb
new file mode 100644
index 000000000000..44d5e67ace32
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeBinder/drawing_XShapeBinder.xba b/qadevOOo/tests/basic/ifc/drawing/XShapeBinder/drawing_XShapeBinder.xba
new file mode 100644
index 000000000000..39eeb51dab39
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeBinder/drawing_XShapeBinder.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XShapeBinder" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oBinderCollection As Object
+
+'*************************************************************************
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XShapeBinder
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ ReCreateObj()
+
+ Test.StartMethod("bind()")
+ bOK = true
+ if hasUnoInterfaces(oObj, "com.sun.star.container.XIndexAccess") then
+ nCount = oObj.getCount()
+ Out.Log("" &amp; nCount &amp; " elements in collection")
+ oBind = oObj.bind(oBinderCollection)
+ if (isNULL(oBind)) then Out.Log("bind() returned NULL.")
+ Out.Log("" &amp; oObj.getCount &amp; " elements in collection")
+ bOK = bOK AND (NOT isNull(oBind)) AND (nCount &lt;&gt; oObj.getCount)
+ else
+ oBind = oObj.bind(oBinderCollection)
+ if (isNULL(oBind)) then Out.Log("bind() returned NULL.")
+ bOK = bOK AND NOT isNull(oBind)
+ end if
+ Test.MethodTested("bind()", bOK)
+
+ Test.StartMethod("unbind()")
+ if (NOT bOK) then
+ Out.Log("Can't test unbind() without bind()")
+ else
+ if hasUnoInterfaces( oObj, "com.sun.star.container.XIndexAccess" ) then
+ oObj.unbind(oBind)
+ Out.Log("" &amp; oObj.count &amp; " elements in collection")
+ bOK = bOK AND (nCount &lt;= oObj.getCount)
+ Test.MethodTested("unbind()", bOK)
+ else
+ oObj.unbind(oBind)
+ end if
+ end if
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeBinder/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XShapeBinder/script.xlb
new file mode 100644
index 000000000000..7cfc992216a4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeBinder/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XShapeBinder" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XShapeBinder"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/drawing_XShapeCombiner.xba b/qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/drawing_XShapeCombiner.xba
new file mode 100644
index 000000000000..ed74a532fe79
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/drawing_XShapeCombiner.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XShapeCombiner" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oCombinerCollection As Object
+
+'*************************************************************************
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XShapeCombiner
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCombine As Object
+ Dim nCount As Integer
+
+ ReCreateObj()
+
+ Test.StartMethod("combine()")
+ bOK = true
+ nCount = oObj.count
+ Out.Log("" &amp; nCount &amp; " elements in collection")
+ oCombine = oObj.combine(oCombinerCollection)
+ if (isNULL(oCombine)) then Out.Log("combine() returned NULL")
+ bOK = bOK AND (nCount &lt;&gt; oObj.count) AND NOT isNull(oCombine)
+ bOK = bOK AND hasUnoInterfaces(oCombine, "com.sun.star.drawing.XShape")
+ Test.MethodTested("combine()", bOK)
+
+ Test.StartMethod("split()")
+ if (NOT bOK) then
+ Out.Log("Can't test split() without combine()")
+ else
+ oObj.split(oCombine)
+ Out.Log("" &amp; oObj.count &amp; " elements in collection")
+ bOK = bOK AND (nCount = oObj.count)
+ Test.MethodTested("split()", bOK)
+ end if
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/script.xlb
new file mode 100644
index 000000000000..2eb08b47a4f5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeCombiner/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XShapeCombiner" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XShapeCombiner"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/drawing_XShapeDescriptor.xba b/qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/drawing_XShapeDescriptor.xba
new file mode 100644
index 000000000000..26becd8ce2a3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/drawing_XShapeDescriptor.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XShapeDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cShapeType As String optional
+' expected shape type
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XShapeDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sType As Variant
+
+ Test.StartMethod("getShapeType()")
+ bOK = true
+
+ sType = oObj.getShapeType()
+ bOK = bOK AND (VarType(sType = 8 ))
+ if bOK then
+ On Error Goto NocShapeType
+ if VarType(cShapeType) = 8 then
+ Out.Log("Comparing expected shape type (" + cShapeType + ")")
+ Out.Log("with obtained (" + sType + ")")
+ bOK = bOK AND sType = cShapeType
+ else
+ Out.Log("!!! No expected value for shape '" + sType + "'")
+ endif
+ endif
+
+EndTest:
+ Test.MethodTested("getShapeType()", bOK)
+
+Exit Sub
+NocShapeType:
+ Out.Log("!!! No expected value for shape '" + sType + "'")
+ goto EndTest
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/script.xlb
new file mode 100644
index 000000000000..d6a8efbc2599
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XShapeDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XShapeDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeGroup/drawing_XShapeGroup.xba b/qadevOOo/tests/basic/ifc/drawing/XShapeGroup/drawing_XShapeGroup.xba
new file mode 100644
index 000000000000..6f89f6086ad8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeGroup/drawing_XShapeGroup.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XShapeGroup" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XShapeGroup
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("enterGroup()")
+ bOK = true
+ oObj.enterGroup()
+ Test.MethodTested("enterGroup()", bOK)
+
+ Test.StartMethod("leaveGroup()")
+ bOK = true
+ oObj.leaveGroup()
+ Test.MethodTested("leaveGroup()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeGroup/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XShapeGroup/script.xlb
new file mode 100644
index 000000000000..b61ec7de14e8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeGroup/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XShapeGroup" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XShapeGroup"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/drawing_XShapeGrouper.xba b/qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/drawing_XShapeGrouper.xba
new file mode 100644
index 000000000000..6ca918774d38
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/drawing_XShapeGrouper.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XShapeGrouper" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oGrouperCollection As Object groupable objects
+
+'*************************************************************************
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XShapeGrouper
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oGroup As Object
+ Dim nCount As Integer
+
+ Test.StartMethod("group()")
+ bOK = true
+ oGroup = oObj.group(oGrouperCollection)
+ bOK = bOK AND NOT isNull(oGroup)
+ bOK = bOK AND hasUnoInterfaces(oGroup, "com.sun.star.drawing.XShapeGroup")
+ Test.MethodTested("group()", bOK)
+
+ Test.StartMethod("ungroup()")
+ bOK = true
+ nCount = oObj.Count
+ oObj.ungroup(oGroup)
+ bOK = bOK AND nCount &lt;&gt; oObj.Count
+ Test.MethodTested("ungroup()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/script.xlb
new file mode 100644
index 000000000000..0f605aed8da9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapeGrouper/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XShapeGrouper" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XShapeGrouper"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapes/drawing_XShapes.xba b/qadevOOo/tests/basic/ifc/drawing/XShapes/drawing_XShapes.xba
new file mode 100644
index 000000000000..000e7cf2d010
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapes/drawing_XShapes.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="drawing_XShapes" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oXShapeInstance As Object to add/remove
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.drawing.XShapes
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCount As Integer
+
+ Test.StartMethod("add()")
+ bOK = true
+ nCount = oObj.Count
+
+ oObj.add(oXShapeInstance)
+ bOK = bOK AND (nCount &lt;&gt; oObj.Count)
+ Test.MethodTested("add()", bOK)
+
+ Test.StartMethod("remove()")
+ bOK = true
+ oObj.remove(oXShapeInstance)
+ bOK = bOK AND (nCount = oObj.Count)
+ Test.MethodTested("remove()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/drawing/XShapes/script.xlb b/qadevOOo/tests/basic/ifc/drawing/XShapes/script.xlb
new file mode 100644
index 000000000000..87feea7ea29a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/drawing/XShapes/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="drawing_XShapes" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="drawing_XShapes"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/DataAwareControlModel/form_DataAwareControlModel.xba b/qadevOOo/tests/basic/ifc/form/DataAwareControlModel/form_DataAwareControlModel.xba
new file mode 100644
index 000000000000..0c9db8458419
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/DataAwareControlModel/form_DataAwareControlModel.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_DataAwareControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.DataAwareControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("DataField")
+
+ PropertyTester.TestProperty("BoundField")
+
+ PropertyTester.TestProperty("LabelControl")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/DataAwareControlModel/script.xlb b/qadevOOo/tests/basic/ifc/form/DataAwareControlModel/script.xlb
new file mode 100644
index 000000000000..cbe78d65b476
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/DataAwareControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_DataAwareControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_DataAwareControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/FormComponent/form_FormComponent.xba b/qadevOOo/tests/basic/ifc/form/FormComponent/form_FormComponent.xba
new file mode 100644
index 000000000000..f11a8be4f78d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/FormComponent/form_FormComponent.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_FormComponent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.FormComponent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Name")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/FormComponent/script.xlb b/qadevOOo/tests/basic/ifc/form/FormComponent/script.xlb
new file mode 100644
index 000000000000..f999080e1a7b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/FormComponent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_FormComponent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_FormComponent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/FormControlModel/form_FormControlModel.xba b/qadevOOo/tests/basic/ifc/form/FormControlModel/form_FormControlModel.xba
new file mode 100644
index 000000000000..53bedcab043b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/FormControlModel/form_FormControlModel.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_FormControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.FormControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("ClassId")
+
+ PropertyTester.TestProperty("TabIndex")
+
+ PropertyTester.TestProperty("Tag")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/FormControlModel/script.xlb b/qadevOOo/tests/basic/ifc/form/FormControlModel/script.xlb
new file mode 100644
index 000000000000..a6243bd9efbe
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/FormControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_FormControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_FormControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/form_XApproveActionBroadcaster.xba b/qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/form_XApproveActionBroadcaster.xba
new file mode 100644
index 000000000000..0ef5c09973a3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/form_XApproveActionBroadcaster.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XApproveActionBroadcaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Dim L1called as Boolean
+Dim L2called as Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XApproveActionBroadcaster
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim list1 As Object, list2 As Object
+
+ Test.StartMethod("addApproveActionListener()")
+ bOK = true
+
+ list1 = createUnoListener("L1_", "com.sun.star.form.XApproveActionListener")
+ list2 = createUnoListener("L2_", "com.sun.star.form.XApproveActionListener")
+
+ oObj.addApproveActionListener(list1)
+ oObj.addApproveActionListener(list2)
+
+ Test.StartMethod("removeApproveActionListener()")
+
+ oObj.removeApproveActionListener(list1)
+
+ L1called = false
+ L2called = false
+
+ Out.Log("The action for listener calling must be perfomed interactively")
+ bOK = bOK AND L2called
+ Test.MethodTested("addApproveActionListener()", TRUE)
+
+ bOK = bOK AND NOT L1called
+ Test.MethodTested("removeApproveActionListener()", TRUE)
+
+ oObj.removeApproveActionListener(list2)
+
+ Out.Log("Skipping all XApproveActionBroadcaster methods, since they need user interaction")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+
+Function L1_approveAction() As Boolean
+ L1called = true
+ Out.Log("Listener 1 is called")
+ L1_approveAction = true
+End Function
+
+Function L2_approveAction() As Boolean
+ L2called = true
+ Out.Log("Listener 2 is called")
+ L2_approveAction = true
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/script.xlb
new file mode 100644
index 000000000000..5d5f874e601f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XApproveActionBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XApproveActionBroadcaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XApproveActionBroadcaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XBoundComponent/form_XBoundComponent.xba b/qadevOOo/tests/basic/ifc/form/XBoundComponent/form_XBoundComponent.xba
new file mode 100644
index 000000000000..905a7717374e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XBoundComponent/form_XBoundComponent.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XBoundComponent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Sub prepareCommit()
+' Function checkCommit() As Boolean
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XBoundComponent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("commit()")
+ bOK = true
+
+ prepareCommit()
+
+ bOK = bOK AND oObj.commit()
+
+ bOK = bOK AND checkCommit()
+ Test.MethodTested("commit()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XBoundComponent/script.xlb b/qadevOOo/tests/basic/ifc/form/XBoundComponent/script.xlb
new file mode 100644
index 000000000000..8923e06adb1b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XBoundComponent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XBoundComponent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XBoundComponent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XBoundControl/form_XBoundControl.xba b/qadevOOo/tests/basic/ifc/form/XBoundControl/form_XBoundControl.xba
new file mode 100644
index 000000000000..8e422769893d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XBoundControl/form_XBoundControl.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XBoundControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XBoundControl
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim old As Boolean, res As Boolean
+
+
+ Test.StartMethod("getLock()")
+ bOK = true
+ old = oObj.getLock()
+ Test.MethodTested("getLock()", bOK)
+
+ Test.StartMethod("setLock()")
+ bOK = true
+ oObj.setLock(NOT old)
+ res = oObj.getLock()
+ bOK = bOK AND (NOT old = res)
+ Test.MethodTested("setLock()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XBoundControl/script.xlb b/qadevOOo/tests/basic/ifc/form/XBoundControl/script.xlb
new file mode 100644
index 000000000000..51aa56875df6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XBoundControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XBoundControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XBoundControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/form_XChangeBroadcaster.xba b/qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/form_XChangeBroadcaster.xba
new file mode 100644
index 000000000000..ea8649cafa1f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/form_XChangeBroadcaster.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XChangeBroadcaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XChangeBroadcaster
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim list1 As Object, list2 As Object
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("addChangeListener()")
+ bOK = true
+
+
+ list1 = createUnoListener("L1_", "com.sun.star.form.XChangeListener")
+ list2 = createUnoListener("L2_", "com.sun.star.form.XChangeListener")
+
+ oObj.addChangeListener(list1)
+ oObj.addChangeListener(list2)
+
+ Test.StartMethod("removeChangeListener()")
+
+ oObj.removeChangeListener(list1)
+
+ L1called = false
+ L2called = false
+
+ Out.Log("The action for listener calling must be perfomed interactively")
+
+ bOK = bOK AND L2called
+ Test.MethodTested("addChangeListener()", bOK)
+
+ bOK = bOK AND NOT L1called
+ Test.MethodTested("removeChangeListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim L1called as Boolean
+Dim L2called as Boolean
+
+Sub L1_disposing()
+End Sub
+
+Sub L2_disposing()
+End Sub
+
+Sub L1_changed()
+ L1called = true
+
+End Sub
+
+Sub L2_changed()
+ L2called = true
+
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/script.xlb
new file mode 100644
index 000000000000..0d0a0564d411
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XChangeBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XChangeBroadcaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XChangeBroadcaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XFormController/form_XFormController.xba b/qadevOOo/tests/basic/ifc/form/XFormController/form_XFormController.xba
new file mode 100644
index 000000000000..d36eb98b1bb6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XFormController/form_XFormController.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XFormController" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global otherWin As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XFormController
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cntrl As Object
+ Dim list1 As Object, list2 As Object
+
+ Test.StartMethod("getCurrentControl()")
+ bOK = true
+ cntrl = oObj.getCurrentControl()
+ bOK = bOK AND NOT isNull(cntrl)
+ Test.MethodTested("getCurrentControl()", bOK)
+
+ Test.StartMethod("addActivateListener()")
+ bOK = true
+ list1 = createUnoListener("L1_", "com.sun.star.form.XFormControllerListener")
+ list2 = createUnoListener("L2_", "com.sun.star.form.XFormControllerListener")
+ oObj.addActivateListener(list1)
+ oObj.addActivateListener(list2)
+
+ Test.StartMethod("removeActivateListener()")
+ oObj.removeActivateListener(list1)
+
+ if NOT hasUnoInterfaces(cntrl, "com.sun.star.awt.XWindow") then
+ Out.Log("The oObj.getCurrentControl() return object doesn't support")
+ Out.Log("com.sun.star.awt.XWindow interface required for testing !!!")
+ Out.Log("Interface test must be redesigned thus !!!")
+ else
+ cntrl.setFocus()
+ wait(500)
+ otherWin.setFocus()
+ wait(500)
+ end if
+
+ Test.MethodTested("addActivateListener()", L2called)
+ Test.MethodTested("removeActivateListener()", _
+ L2called AND NOT L1called)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim L1called As Boolean
+Dim L2called As Boolean
+
+Sub L1_formActivated(ev As Object)
+ L1called = true
+ Out.Log("L1 activated Called !!!!!!!!!")
+end Sub
+
+Sub L1_formDeactivated(ev As Object)
+ L1called = true
+ Out.Log("L1 deactivated Called !!!!!!!!!")
+end Sub
+
+Sub L2_formActivated()
+ L2called = true
+ Out.Log("L2 activated Called !!!!!!!!!")
+end Sub
+
+Sub L2_formDeactivated()
+ L2called = true
+ Out.Log("L2 deactivated Called !!!!!!!!!")
+end Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XFormController/script.xlb b/qadevOOo/tests/basic/ifc/form/XFormController/script.xlb
new file mode 100644
index 000000000000..e917316626d8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XFormController/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XFormController" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XFormController"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XFormsSupplier/form_XFormsSupplier.xba b/qadevOOo/tests/basic/ifc/form/XFormsSupplier/form_XFormsSupplier.xba
new file mode 100644
index 000000000000..7331731b5827
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XFormsSupplier/form_XFormsSupplier.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XFormsSupplier" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XFormsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oForms as Object
+'
+ Test.StartMethod("getForms()")
+ bOK = TRUE
+ oForms = oObj.getForms()
+ bOK = bOK AND hasUnoInterfaces(oForms, "com.sun.star.container.XNameContainer")
+ Test.MethodTested("getForms()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XFormsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/form/XFormsSupplier/script.xlb
new file mode 100644
index 000000000000..40d6cbcd2aa6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XFormsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XFormsSupplier" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="form_XFormsSupplier"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XGrid/form_XGrid.xba b/qadevOOo/tests/basic/ifc/form/XGrid/form_XGrid.xba
new file mode 100644
index 000000000000..05bf75dda434
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XGrid/form_XGrid.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XGrid" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XGrid
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldPos As Long, newPos as Long, getPos as Long
+
+ Test.StartMethod("getCurrentColumnPosition()")
+ Test.StartMethod("setCurrentColumnPosition()")
+
+ bOK = true
+ oldPos = oObj.getCurrentColumnPosition()
+ if oldPos = 0 then newPos = 1 else newPos = 0
+ oObj.setCurrentColumnPosition(newPos)
+ getPos = oObj.getCurrentColumnPosition()
+
+ bOK = bOK AND (newPos = getPos)
+ Out.Log("Position was " + oldPos + ", set to " + newPos + _
+ ", get " + getPos)
+
+ Test.MethodTested("getCurrentColumnPosition()", bOK)
+ Test.MethodTested("setCurrentColumnPosition()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XGrid/script.xlb b/qadevOOo/tests/basic/ifc/form/XGrid/script.xlb
new file mode 100644
index 000000000000..6cd1f0fe06df
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XGrid/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XGrid" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XGrid"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XGridColumnFactory/form_XGridColumnFactory.xba b/qadevOOo/tests/basic/ifc/form/XGridColumnFactory/form_XGridColumnFactory.xba
new file mode 100644
index 000000000000..d5a0ee2539b4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XGridColumnFactory/form_XGridColumnFactory.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XGridColumnFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XGridColumnFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aTypes As Variant
+ Dim nCount As Integer
+
+ Test.StartMethod("createColumn()")
+ bOK = true
+ bOk = bOK AND isObject(oObj.createColumn("CheckBox"))
+ Test.MethodTested("createColumn()", bOK)
+
+ Test.StartMethod("getColumnTypes()")
+ bOK = true
+ bOK = bOK AND (uBound(oObj.getColumnTypes()) &gt;= 1)
+ Test.MethodTested("getColumnTypes()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XGridColumnFactory/script.xlb b/qadevOOo/tests/basic/ifc/form/XGridColumnFactory/script.xlb
new file mode 100644
index 000000000000..601f0fd987d8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XGridColumnFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XGridColumnFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XGridColumnFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/form_XGridFieldDataSupplier.xba b/qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/form_XGridFieldDataSupplier.xba
new file mode 100644
index 000000000000..92f9a21b2006
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/form_XGridFieldDataSupplier.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XGridFieldDataSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XGridFieldDataSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim types As Variant
+ Dim data As Variant
+ Dim tmp as String
+ Dim i as Integer
+ Dim fieldCount as Integer
+ Dim row As Long
+ Dim dat As Variant
+
+ Test.StartMethod("queryFieldDataType()")
+ bOK = true
+ types = oObj.queryFieldDataType(oCoreRefl.forName("string"))
+
+ tmp = ""
+ fieldCount = 0
+ for i = lbound(types()) to ubound(types())
+ tmp = tmp + " " + types(i)
+ if types(i) then fieldCount = fieldCount + 1
+ next i
+ Out.Log("array returned : (" + tmp + ")")
+ bOK = bOK AND (ubound(types()) > 0)
+
+ Test.MethodTested("queryFieldDataType()", bOK)
+
+ Test.StartMethod("queryFieldData()")
+ bOK = true
+ row = 1
+ dat = oObj.queryFieldData(row, oCoreRefl.forName("string"))
+ if isNull(dat) OR isEmpty(dat) then
+ Out.Log("NULL value returned.")
+ bOK = false
+ else
+ Out.Log("The length of array returned :" + (ubound(data()) + 1)
+ bOK = bOK AND ((ubound(data()) + 1) = fieldCount)
+ end if
+ Test.MethodTested("queryFieldData()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/script.xlb b/qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/script.xlb
new file mode 100644
index 000000000000..1d5d8440227a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XGridFieldDataSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XGridFieldDataSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XGridFieldDataSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/form_XImageProducerSupplier.xba b/qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/form_XImageProducerSupplier.xba
new file mode 100644
index 000000000000..5bbab625e604
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/form_XImageProducerSupplier.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XImageProducerSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XImageProducerSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oProducer As Object
+
+ Test.StartMethod("getImageProducer()")
+ bOK = true
+ oProducer = oObj.getImageProducer()
+ bOK = bOK AND NOT isNull(oProducer)
+ bOK = bOK AND hasUnoInterfaces(oProducer, "com.sun.star.awt.XImageProducer")
+ Test.MethodTested("getImageProducer()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/script.xlb b/qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/script.xlb
new file mode 100644
index 000000000000..fe2be29da26d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XImageProducerSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XImageProducerSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XImageProducerSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XLoadListener/form_XLoadListener.xba b/qadevOOo/tests/basic/ifc/form/XLoadListener/form_XLoadListener.xba
new file mode 100644
index 000000000000..1e94cd458653
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XLoadListener/form_XLoadListener.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XLoadListener" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XLoadListener
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("loaded()")
+ bOK = true
+ Out.Log("nothing to test here")
+ Test.MethodTested("loaded()", bOK)
+
+ Test.StartMethod("unloading()")
+ bOK = true
+ Out.Log("nothing to test here")
+ Test.MethodTested("unloading()", bOK)
+
+ Test.StartMethod("unloaded()")
+ bOK = true
+ Out.Log("nothing to test here")
+ Test.MethodTested("unloaded()", bOK)
+
+ Test.StartMethod("reloading()")
+ bOK = true
+ Out.Log("nothing to test here")
+ Test.MethodTested("reloading()", bOK)
+
+ Test.StartMethod("reloaded()")
+ bOK = true
+ Out.Log("nothing to test here")
+ Test.MethodTested("reloaded()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XLoadListener/script.xlb b/qadevOOo/tests/basic/ifc/form/XLoadListener/script.xlb
new file mode 100644
index 000000000000..5848d5f258f7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XLoadListener/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XLoadListener" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XLoadListener"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XLoadable/form_XLoadable.xba b/qadevOOo/tests/basic/ifc/form/XLoadable/form_XLoadable.xba
new file mode 100644
index 000000000000..d1d9e77f8f28
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XLoadable/form_XLoadable.xba
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XLoadable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XLoadable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bLoaded As Boolean
+ Dim list As Object
+
+ list = createUnoListener("L_", "com.sun.star.form.XLoadListener")
+ initListener()
+
+ Test.StartMethod("isLoaded()")
+ bOK = true
+ bLoaded = oObj.isLoaded()
+ if bLoaded then oObj.unload()
+ bLoaded = oObj.isLoaded()
+ bOK = bOK AND NOT bLoaded
+ Test.MethodTested("isLoaded()", bOK)
+
+ Test.StartMethod("addLoadListener()")
+ oObj.addLoadListener(list)
+
+ Test.StartMethod("load()")
+ bOK = true
+ oObj.load()
+ bOK = bOK AND oObj.isLoaded()
+ bOK = bOK AND loaded
+ Test.MethodTested("load()", bOK)
+
+ Test.StartMethod("reload()")
+ bOK = true
+ oObj.reload()
+ bOK = bOK AND oObj.isLoaded()
+ bOK = bOK AND reloaded
+ Test.MethodTested("reload()", bOK)
+
+ Test.StartMethod("unload()")
+ bOK = true
+ oObj.unload()
+ bOK = bOK AND NOT oObj.isLoaded()
+ bOK = bOK AND unloaded
+ Test.MethodTested("unload()", bOK)
+
+ bOK = loaded AND reloaded AND reloading AND unloaded AND unloading
+ Test.MethodTested("addLoadListener()", bOK)
+
+ Test.StartMethod("removeLoadListener()")
+ bOK = true
+ oObj.removeLoadListener(list)
+ initListener()
+ oObj.load()
+ bOK = bOK AND NOT loaded
+ Test.MethodTested("removeLoadListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub initListener()
+ loaded = false
+ reloaded = false
+ reloading = false
+ unloaded = false
+ unloading = false
+End Sub
+
+Dim loaded As Boolean
+Dim reloaded As Boolean
+Dim reloading As Boolean
+Dim unloaded As Boolean
+Dim unloading As Boolean
+
+Sub L_loaded()
+ Out.Log("Listener: loaded")
+ loaded = true
+End Sub
+Sub L_reloaded()
+ Out.Log("Listener: reloaded")
+ reloaded = true
+End Sub
+Sub L_reloading()
+ Out.Log("Listener: reloading")
+ reloading = true
+End Sub
+Sub L_unloaded()
+ Out.Log("Listener: unloaded")
+ unloaded = true
+End Sub
+Sub L_unloading()
+ Out.Log("Listener: unloading")
+ unloading = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XLoadable/script.xlb b/qadevOOo/tests/basic/ifc/form/XLoadable/script.xlb
new file mode 100644
index 000000000000..ca0a5811fed2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XLoadable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XLoadable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XLoadable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XReset/form_XReset.xba b/qadevOOo/tests/basic/ifc/form/XReset/form_XReset.xba
new file mode 100644
index 000000000000..dddd3f2bdc1d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XReset/form_XReset.xba
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XReset" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+Dim nCB1Val as Integer, nCB2Val As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XReset
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1 as Object, oListener2 As Object
+ Dim nCount As Integer
+
+ bOK = true
+ nCount = 0 'oCollection.count
+ nCB1Val = 0
+ nCB2Val = 0
+
+ Out.Log("create two listeners...")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.form.XResetListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.form.XResetListener")
+
+ ' add listeners to objectif initialized
+ if NOT (isNull(oListener1)) then
+ oObj.addResetListener(oListener1)
+ end if
+ if NOT (isNull(oListener2)) then
+ oObj.addResetListener(oListener2)
+ end if
+
+
+ Test.StartMethod("addResetListener()")
+ oObj.reset()
+ wait(1000)
+ bOK = bOK AND (nCB1Val = 1) AND (nCB2Val = 1)
+ Test.MethodTested("addResetListener()", bOK)
+
+ Test.StartMethod("removeResetListener()")
+ Out.Log("removing Listener 2")
+ oObj.removeResetListener(oListener2)
+ oObj.reset()
+ wait(1000)
+ bOK = bOK AND (nCB1Val = 2) AND (nCB2Val = 1)
+ Test.MethodTested("removeResetListener()", bOK)
+
+ Test.StartMethod("reset()")
+ bOK = bOK AND (nCB1Val = 2) AND (nCB2Val = 1)
+ Test.MethodTested("reset()", bOK)
+
+ Out.Log("removing Listener 1")
+ oObj.removeResetListener(oListener1)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+' callback routine called resetting for listener1
+Sub CB1_resetted
+ Out.Log("Callback CB1 resetted")
+ nCB1Val = nCB1Val + 1
+End Sub' callback routine called resetting for listener2
+
+Sub CB2_resetted
+ Out.Log("Callback CB2 resetted")
+ nCB2Val = nCB2Val + 1
+End Sub
+
+' callback routine is invoked before resetting a component.
+Function CB1_approveReset() as Boolean
+ Out.Log("Callback CB1 approve Reset")
+ CB1_approveReset = true
+end Function
+
+Function CB2_approveReset() as Boolean
+ Out.Log("Callback CB2 approve Reset")
+ CB2_approveReset = true
+end Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XReset/script.xlb b/qadevOOo/tests/basic/ifc/form/XReset/script.xlb
new file mode 100644
index 000000000000..a50d97e7218d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XReset/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XReset" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XReset"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XSubmit/form_XSubmit.xba b/qadevOOo/tests/basic/ifc/form/XSubmit/form_XSubmit.xba
new file mode 100644
index 000000000000..596faa3e214e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XSubmit/form_XSubmit.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XSubmit" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XSubmit
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim list1 As Object, list2 As Object
+ Dim event As new com.sun.star.awt.MouseEvent
+
+ Test.StartMethod("addSubmitListener()")
+
+ l1Called = 0 : l2Called = 0
+
+ bOK = true
+ list1 = createUnoListener("L1_", "com.sun.star.form.XSubmitListener")
+ list2 = createUnoListener("L2_", "com.sun.star.form.XSubmitListener")
+
+ Out.Log("add two listeners")
+ oObj.addSubmitListener(list1)
+ oObj.addSubmitListener(list2)
+
+ Test.StartMethod("removeSubmitListener()")
+ Out.Log("remove listener 1")
+ oObj.removeSubmitListener(list1)
+
+ Test.StartMethod("submit()")
+
+ l1Called = false
+ l2Called = false
+
+ oObj.TargetURL = "someserver"
+ oObj.submit(NULL_OBJECT, event)
+
+ wait(500)
+
+ Out.Log("Listener1 was called " + l1Called + " times."
+ Out.Log("Listener2 was called " + l2Called + " times."
+
+ Test.MethodTested("addSubmitListener()", l2Called = 1)
+ Test.MethodTested("submit()", l2Called > 0)
+ Test.MethodTested("removeSubmitListener()", l1Called = 0)
+
+ Out.Log("remove listener 2")
+ oObj.removeSubmitListener(list2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim l1Called As Integer
+Dim l2Called As Integer
+
+Function L1_approveSubmit() As Boolean
+ l1Called = l1Called + 1
+ L1_approveSubmit = true
+End Function
+
+Function L2_approveSubmit() As Boolean
+ l2Called = l2Called + 1
+ L2_approveSubmit = true
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XSubmit/script.xlb b/qadevOOo/tests/basic/ifc/form/XSubmit/script.xlb
new file mode 100644
index 000000000000..6950c8f3fac2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XSubmit/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XSubmit" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XSubmit"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba b/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba
new file mode 100644
index 000000000000..818646f50657
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XUpdateBroadcaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global bCustomUpdate As Boolean
+' properties are not changed to call listener
+' Sub UpdateComponent()
+
+'*************************************************************************
+
+
+
+
+Const BOUND = 2
+Const CONSTRAINED = 4
+Const MAYBENULL = 8
+Const READONLY = 16
+
+Dim oListener1 As Object
+Dim oListener2 As Object
+Dim nCB1appVal As Boolean
+Dim nCB2appVal As Boolean
+Dim nCB1updVal As Boolean
+Dim nCB2updVal As Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XUpdateBroadcaster
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bAllOK As Boolean
+
+ Out.Log("Creating Listeners...")
+ oListener1 = createUNOListener("CB1_","com.sun.star.form.XUpdateListener")
+ oListener2 = createUNOListener("CB2_","com.sun.star.form.XUpdateListener")
+ bOK = NOT isNULL(oListener1) AND NOT isNULL(oListener2)
+
+ CountersReset()
+
+ bAllOK = bOK
+
+ Test.StartMethod("addUpdateListener()")
+ bOK = true
+ oObj.addUpdateListener(oListener1)
+ oObj.addUpdateListener(oListener2)
+
+ if bCustomUpdate then
+ Out.Log("Object specific update function was called.")
+ UpdateComponent()
+ else
+ Out.Log("Interfacetest update function was called.")
+ TryToUpdate()
+ end if
+ wait(1000)
+
+ bOK = bOK AND nCB1appVal AND nCB2appVal AND nCB1updVal AND nCB2updVal
+
+ Test.MethodTested("addUpdateListener()", bOK)
+
+ Test.StartMethod("removeUpdateListener()")
+ bOK = true
+ Out.Log("Removing Listener 1")
+ oObj.removeUpdateListener(oListener1)
+ countersReset()
+
+ if bCustomUpdate then
+ Out.Log("Object specific update function was called.")
+ UpdateComponent()
+ else
+ Out.Log("Interfacetest update function was called.")
+ TryToUpdate()
+ end if
+ wait(1000)
+
+ bOK = bOK AND NOT nCB1appVal AND nCB2appVal AND NOT nCB1updVal AND nCB2updVal
+ Test.MethodTested("removeUpdateListener()", bOK)
+
+ Out.Log("Removing Listener 2")
+ oObj.removeUpdateListener(oListener2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Function CB1_approveUpdate As Boolean
+ Out.Log("CallBack for Listener1 approveUpdate was called.")
+ nCB1appVal = TRUE
+ CB1_approveUpdate = TRUE
+End Function
+
+Function CB2_approveUpdate As Boolean
+ Out.Log("CallBack for Listener2 approveUpdate was called.")
+ nCB2appVal = TRUE
+ CB2_approveUpdate = TRUE
+End Function
+
+Sub CB1_Updated
+ Out.Log("CallBack for Listener1 Updated was called.")
+ nCB1updVal = TRUE
+End Sub
+
+Sub CB2_Updated
+ Out.Log("CallBack for Listener2 Updated was called.")
+ nCB2updVal = TRUE
+End Sub
+
+Sub TryToUpdate()
+ Dim i as Integer
+ Dim props as Variant, attr As Variant
+
+ if hasUnoInterfaces(oObj, "com.sun.star.beans.XPropertySet") then
+ props() = oObj.getPropertySetInfo().getProperties()
+
+ for i = lbound(props()) to ubound(props())
+ PropertyTester.TestProperty(props(i).Name)
+ next i
+ else
+ Out.Log("XPropertySet isn't supported.")
+ end if
+End Sub
+
+Sub countersReset()
+ nCB1updVal = FALSE
+ nCB2updVal = FALSE
+ nCB1appVal = FALSE
+ nCB2appVal = FALSE
+End sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/script.xlb
new file mode 100644
index 000000000000..d0484c6b2661
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_XUpdateBroadcaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_XUpdateBroadcaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/CheckBox/form_component_CheckBox.xba b/qadevOOo/tests/basic/ifc/form/component/CheckBox/form_component_CheckBox.xba
new file mode 100644
index 000000000000..9ef151888d79
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/CheckBox/form_component_CheckBox.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_CheckBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.CheckBox
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("DefaultState")
+
+ PropertyTester.TestProperty("RefValue")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/CheckBox/script.xlb b/qadevOOo/tests/basic/ifc/form/component/CheckBox/script.xlb
new file mode 100644
index 000000000000..e67dd95c1988
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/CheckBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_CheckBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_CheckBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/ComboBox/form_component_ComboBox.xba b/qadevOOo/tests/basic/ifc/form/component/ComboBox/form_component_ComboBox.xba
new file mode 100644
index 000000000000..fd80cd4913f9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/ComboBox/form_component_ComboBox.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_ComboBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.ComboBox
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("DefaultText")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/ComboBox/script.xlb b/qadevOOo/tests/basic/ifc/form/component/ComboBox/script.xlb
new file mode 100644
index 000000000000..9add91431d91
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/ComboBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_ComboBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_ComboBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/CommandButton/form_component_CommandButton.xba b/qadevOOo/tests/basic/ifc/form/component/CommandButton/form_component_CommandButton.xba
new file mode 100644
index 000000000000..937c8010fe17
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/CommandButton/form_component_CommandButton.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_CommandButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.CommandButton
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim n as Integer
+
+ Test.StartMethod("ButtonType")
+ bOK = true
+ Dim ButtonTypes(4) as Variant
+ ButtonTypes(0) = com.sun.star.form.FormButtonType.PUSH
+ ButtonTypes(1) = com.sun.star.form.FormButtonType.SUBMIT
+ ButtonTypes(2) = com.sun.star.form.FormButtonType.URL
+ ButtonTypes(3) = com.sun.star.form.FormButtonType.RESET
+
+ for n = 0 to ubound(ButtonTypes())-1
+ oObj.setPropertyValue("ButtonType", _
+ createUnoValue("byte", ButtonTypes(n)))
+ bOK = bOK AND (oObj.getPropertyValue("ButtonType") = ButtonTypes(n))
+ next
+
+ Test.MethodTested("ButtonType", bOK)
+
+ PropertyTester.TestProperty("TargetFrame")
+
+ PropertyTester.TestProperty("TargetURL")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/CommandButton/script.xlb b/qadevOOo/tests/basic/ifc/form/component/CommandButton/script.xlb
new file mode 100644
index 000000000000..461782f0c8b5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/CommandButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_CommandButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_CommandButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/CurrencyField/form_component_CurrencyField.xba b/qadevOOo/tests/basic/ifc/form/component/CurrencyField/form_component_CurrencyField.xba
new file mode 100644
index 000000000000..d728c99eb801
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/CurrencyField/form_component_CurrencyField.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_CurrencyField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.CurrencyField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Double
+
+ bOK = true
+ oldVal = oObj.DefaultValue
+ Test.StartMethod("DefaultValue")
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 30) then
+ oObj.DefaultValue = 30
+ else
+ oObj.DefaultValue = 35
+ endif
+ newVal = oObj.DefaultValue
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("DefaultValue", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/CurrencyField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/CurrencyField/script.xlb
new file mode 100644
index 000000000000..ed12a18c8d2f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/CurrencyField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_CurrencyField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_CurrencyField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DataForm/form_component_DataForm.xba b/qadevOOo/tests/basic/ifc/form/component/DataForm/form_component_DataForm.xba
new file mode 100644
index 000000000000..40d43ad36c84
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DataForm/form_component_DataForm.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DataForm" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DataForm
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("MasterFields")
+
+ PropertyTester.TestProperty("DetailFields")
+
+ Test.StartMethod("Cycle")
+ bOK = true
+
+ oObj.Cycle = com.sun.star.form.TabulatorCycle.RECORDS
+ bOK = bOK AND oObj.Cycle = com.sun.star.form.TabulatorCycle.RECORDS
+
+ oObj.Cycle = com.sun.star.form.TabulatorCycle.CURRENT
+ bOK = bOK AND oObj.Cycle = com.sun.star.form.TabulatorCycle.CURRENT
+
+ Test.MethodTested("Cycle", bOK)
+
+ Test.StartMethod("NavigationBarMode")
+ bOK = true
+
+ oObj.NavigationBarMode = com.sun.star.form.NavigationBarMode.NONE
+ bOK = bOK AND oObj.NavigationBarMode = com.sun.star.form.NavigationBarMode.NONE
+
+ oObj.NavigationBarMode = com.sun.star.form.NavigationBarMode.CURRENT
+ bOK = bOK AND oObj.NavigationBarMode = com.sun.star.form.NavigationBarMode.CURRENT
+
+ Test.MethodTested("NavigationBarMode", bOK)
+
+ PropertyTester.TestProperty("AllowInserts")
+
+ PropertyTester.TestProperty("AllowUpdates")
+
+ PropertyTester.TestProperty("AllowDeletes")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DataForm/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DataForm/script.xlb
new file mode 100644
index 000000000000..664644c5a8e7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DataForm/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DataForm" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DataForm"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/form_component_DatabaseComboBox.xba b/qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/form_component_DatabaseComboBox.xba
new file mode 100644
index 000000000000..2e7fea0b24ac
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/form_component_DatabaseComboBox.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DatabaseComboBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DatabaseComboBox
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("ConvertEmptyToNull")
+
+ PropertyTester.TestProperty("ListSource")
+
+ PropertyTester.TestProperty("ListSourceType")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/script.xlb
new file mode 100644
index 000000000000..9a13df9ecbaf
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseComboBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DatabaseComboBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DatabaseComboBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/form_component_DatabaseFormattedField.xba b/qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/form_component_DatabaseFormattedField.xba
new file mode 100644
index 000000000000..04d2e1c889c4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/form_component_DatabaseFormattedField.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DatabaseFormattedField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DatabaseFormattedField
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("ConvertEmptyToNull")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/script.xlb
new file mode 100644
index 000000000000..d7a0d5757768
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseFormattedField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DatabaseFormattedField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DatabaseFormattedField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/form_component_DatabaseImageControl.xba b/qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/form_component_DatabaseImageControl.xba
new file mode 100644
index 000000000000..728949a09f2f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/form_component_DatabaseImageControl.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DatabaseImageControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DatabaseImageControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("ReadOnly")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/script.xlb
new file mode 100644
index 000000000000..a83e10101fba
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseImageControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DatabaseImageControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DatabaseImageControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/form_component_DatabaseListBox.xba b/qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/form_component_DatabaseListBox.xba
new file mode 100644
index 000000000000..de6ec59f2c4a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/form_component_DatabaseListBox.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DatabaseListBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DatabaseListBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Variant
+
+ bOK = true
+ oldVal = oObj.BoundColumn
+ Test.StartMethod("BoundColumn")
+ Out.Log("value before: "+oldVal)
+
+ if (oldVal &lt;&gt; 30) then
+ oObj.BoundColumn = 30
+ else
+ oObj.BoundColumn = 35
+ endif
+
+ newVal = oObj.BoundColumn
+ Out.Log("value after: "+newVal)
+
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("BoundColumn", bOK)
+
+ PropertyTester.TestProperty("ListSourceType")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/script.xlb
new file mode 100644
index 000000000000..7f028d823990
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseListBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DatabaseListBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DatabaseListBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/form_component_DatabasePatternField.xba b/qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/form_component_DatabasePatternField.xba
new file mode 100644
index 000000000000..c8293ba62987
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/form_component_DatabasePatternField.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DatabasePatternField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DatabasePatternField
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("ConvertEmptyToNull")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/script.xlb
new file mode 100644
index 000000000000..143700c9c972
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabasePatternField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DatabasePatternField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DatabasePatternField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/form_component_DatabaseTextField.xba b/qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/form_component_DatabaseTextField.xba
new file mode 100644
index 000000000000..8881952ded1d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/form_component_DatabaseTextField.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DatabaseTextField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DatabaseTextField
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("ConvertEmptyToNull")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/script.xlb
new file mode 100644
index 000000000000..7b30d30e1de3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DatabaseTextField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DatabaseTextField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DatabaseTextField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DateField/form_component_DateField.xba b/qadevOOo/tests/basic/ifc/form/component/DateField/form_component_DateField.xba
new file mode 100644
index 000000000000..2f8be6b80641
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DateField/form_component_DateField.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_DateField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.DateField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Long
+
+ Test.StartMethod("DefaultDate")
+ bOK = true
+ oldVal = oObj.DefaultDate
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 111111) then
+ oObj.DefaultDate = 111111
+ else
+ oObj.DefaultDate = 222222
+ endif
+ newVal = oObj.DefaultDate
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("DefaultDate", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/DateField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/DateField/script.xlb
new file mode 100644
index 000000000000..4d8344ba21c9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/DateField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_DateField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_DateField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/FileControl/form_component_FileControl.xba b/qadevOOo/tests/basic/ifc/form/component/FileControl/form_component_FileControl.xba
new file mode 100644
index 000000000000..002b38e433b0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/FileControl/form_component_FileControl.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_FileControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.FileControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("DefaultText")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/FileControl/script.xlb b/qadevOOo/tests/basic/ifc/form/component/FileControl/script.xlb
new file mode 100644
index 000000000000..642acb13e896
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/FileControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_FileControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_FileControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/GridControl/form_component_GridControl.xba b/qadevOOo/tests/basic/ifc/form/component/GridControl/form_component_GridControl.xba
new file mode 100644
index 000000000000..e35443864828
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/GridControl/form_component_GridControl.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_GridControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.GridControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("Border")
+
+ PropertyTester.TestProperty("Enabled")
+
+ PropertyTester.TestProperty("FontDescriptor")
+
+ PropertyTester.TestProperty("RowHeight")
+
+ PropertyTester.TestProperty("Tabstop")
+
+ PropertyTester.TestProperty("TextColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/GridControl/script.xlb b/qadevOOo/tests/basic/ifc/form/component/GridControl/script.xlb
new file mode 100644
index 000000000000..f1a7c5df658f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/GridControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_GridControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_GridControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/HTMLForm/form_component_HTMLForm.xba b/qadevOOo/tests/basic/ifc/form/component/HTMLForm/form_component_HTMLForm.xba
new file mode 100644
index 000000000000..e6f3b9711297
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/HTMLForm/form_component_HTMLForm.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_HTMLForm" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.HTMLForm
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("TargetFrame")
+
+ PropertyTester.TestProperty("TargetURL")
+
+ Test.StartMethod("SubmitMethod")
+ bOK = true
+
+ oObj.SubmitMethod = com.sun.star.form.FormSubmitMethod.GET
+ bOK = bOK AND oObj.SubmitMethod = com.sun.star.form.FormSubmitMethod.GET
+
+ oObj.SubmitMethod = com.sun.star.form.FormSubmitMethod.POST
+ bOK = bOK AND oObj.SubmitMethod = com.sun.star.form.FormSubmitMethod.POST
+
+ Test.MethodTested("SubmitMethod", bOK)
+
+ Test.StartMethod("SubmitEncoding")
+ bOK = true
+
+ oObj.SubmitEncoding = com.sun.star.form.FormSubmitEncoding.URL
+ bOK = bOK AND oObj.SubmitEncoding = com.sun.star.form.FormSubmitEncoding.URL
+
+ oObj.SubmitEncoding = com.sun.star.form.FormSubmitEncoding.MULTIPART
+ bOK = bOK AND oObj.SubmitEncoding = com.sun.star.form.FormSubmitEncoding.MULTIPART
+
+ Test.MethodTested("SubmitEncoding", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/HTMLForm/script.xlb b/qadevOOo/tests/basic/ifc/form/component/HTMLForm/script.xlb
new file mode 100644
index 000000000000..002789e0051e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/HTMLForm/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_HTMLForm" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_HTMLForm"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/HiddenControl/form_component_HiddenControl.xba b/qadevOOo/tests/basic/ifc/form/component/HiddenControl/form_component_HiddenControl.xba
new file mode 100644
index 000000000000..58e460bc3651
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/HiddenControl/form_component_HiddenControl.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_HiddenControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.HiddenControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("HiddenValue")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/HiddenControl/script.xlb b/qadevOOo/tests/basic/ifc/form/component/HiddenControl/script.xlb
new file mode 100644
index 000000000000..4a6708a28552
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/HiddenControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_HiddenControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_HiddenControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/ImageButton/form_component_ImageButton.xba b/qadevOOo/tests/basic/ifc/form/component/ImageButton/form_component_ImageButton.xba
new file mode 100644
index 000000000000..217989a6c0be
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/ImageButton/form_component_ImageButton.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_ImageButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.ImageButton
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ Test.StartMethod("ButtonType")
+ bOK = true
+
+ oObj.ButtonType = com.sun.star.form.FormButtonType.PUSH
+ bOK = bOK AND oObj.ButtonType = com.sun.star.form.FormButtonType.PUSH
+
+ oObj.ButtonType = com.sun.star.form.FormButtonType.SUBMIT
+ bOK = bOK AND oObj.ButtonType = com.sun.star.form.FormButtonType.SUBMIT
+
+ Test.MethodTested("ButtonType", bOK)
+
+ PropertyTester.TestProperty("TargetFrame")
+
+ PropertyTester.TestProperty("TargetURL")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/ImageButton/script.xlb b/qadevOOo/tests/basic/ifc/form/component/ImageButton/script.xlb
new file mode 100644
index 000000000000..3a543d2069ad
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/ImageButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_ImageButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_ImageButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/ListBox/form_component_ListBox.xba b/qadevOOo/tests/basic/ifc/form/component/ListBox/form_component_ListBox.xba
new file mode 100644
index 000000000000..dd3859fd789d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/ListBox/form_component_ListBox.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_ListBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.ListBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Variant
+
+ bOK = true
+ Test.StartMethod("DefaultSelection")
+
+ oldVal = oObj.DefaultSelection(0)
+ Out.Log("value before: "+oldVal)
+
+ if (oldVal &lt;&gt; 3) then
+ Out.Log("setting to 3")
+ oObj.DefaultSelection = Array(3)
+ else
+ Out.Log("setting to 5")
+ oObj.DefaultSelection = Array(5)
+ endif
+
+ newVal = oObj.DefaultSelection(0)
+ Out.Log("value after: "+newVal)
+
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("DefaultSelection", bOK)
+
+
+ PropertyTester.TestProperty("ListSource")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/ListBox/script.xlb b/qadevOOo/tests/basic/ifc/form/component/ListBox/script.xlb
new file mode 100644
index 000000000000..10420c2c5b72
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/ListBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_ListBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_ListBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/NumericField/form_component_NumericField.xba b/qadevOOo/tests/basic/ifc/form/component/NumericField/form_component_NumericField.xba
new file mode 100644
index 000000000000..3346a612858b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/NumericField/form_component_NumericField.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_NumericField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.NumericField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Variant
+
+ bOK = true
+ Test.StartMethod("DefaultValue")
+ oldVal = oObj.DefaultValue
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 3) then
+ Out.Log("setting to 3")
+ oObj.DefaultValue = 3
+ else
+ Out.Log("setting to 5")
+ oObj.DefaultValue = 5
+ endif
+ newVal = oObj.DefaultValue
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("DefaultValue", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/NumericField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/NumericField/script.xlb
new file mode 100644
index 000000000000..078c55194b6a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/NumericField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_NumericField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_NumericField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/PatternField/form_component_PatternField.xba b/qadevOOo/tests/basic/ifc/form/component/PatternField/form_component_PatternField.xba
new file mode 100644
index 000000000000..154b73b09bae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/PatternField/form_component_PatternField.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_PatternField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.PatternField
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("DefaultText")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/PatternField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/PatternField/script.xlb
new file mode 100644
index 000000000000..6c5bdae42648
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/PatternField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_PatternField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_PatternField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/RadioButton/form_component_RadioButton.xba b/qadevOOo/tests/basic/ifc/form/component/RadioButton/form_component_RadioButton.xba
new file mode 100644
index 000000000000..7f3f60369f5e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/RadioButton/form_component_RadioButton.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_RadioButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.RadioButton
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("DefaultState")
+
+ PropertyTester.TestProperty("RefValue")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/RadioButton/script.xlb b/qadevOOo/tests/basic/ifc/form/component/RadioButton/script.xlb
new file mode 100644
index 000000000000..f51b6fb36ba2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/RadioButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_RadioButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_RadioButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/TextField/form_component_TextField.xba b/qadevOOo/tests/basic/ifc/form/component/TextField/form_component_TextField.xba
new file mode 100644
index 000000000000..03f0215bbe96
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/TextField/form_component_TextField.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_TextField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.TextField
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("DefaultText")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/TextField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/TextField/script.xlb
new file mode 100644
index 000000000000..c6725494a9ee
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/TextField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_TextField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_TextField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/form/component/TimeField/form_component_TimeField.xba b/qadevOOo/tests/basic/ifc/form/component/TimeField/form_component_TimeField.xba
new file mode 100644
index 000000000000..35ad56c293ae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/TimeField/form_component_TimeField.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_component_TimeField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.form.component.TimeField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newVal, oldVal As Long
+
+ bOK = true
+ oldVal = oObj.DefaultTime
+ Test.StartMethod("DefaultTime")
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 4322) then
+ oObj.DefaultTime = 4321
+ else
+ oObj.DefaultTime = 4322
+ endif
+ newVal = oObj.DefaultTime
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("DefaultTime", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/form/component/TimeField/script.xlb b/qadevOOo/tests/basic/ifc/form/component/TimeField/script.xlb
new file mode 100644
index 000000000000..8ad20ef90241
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/component/TimeField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="form_component_TimeField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="form_component_TimeField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/formula/FormulaProperties/formula_FormulaProperties.xba b/qadevOOo/tests/basic/ifc/formula/FormulaProperties/formula_FormulaProperties.xba
new file mode 100644
index 000000000000..73a22a3c7991
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/formula/FormulaProperties/formula_FormulaProperties.xba
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="formula_FormulaProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.formula.FormulaProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim align(1) As Integer
+
+ align(0) = 1
+ align(1) = 0
+
+ PropertyTester.TestProperty("Alignment",align())
+
+ PropertyTester.TestProperty("BaseFontHeight")
+
+ PropertyTester.TestProperty("CustomFontNameFixed")
+
+ PropertyTester.TestProperty("FontFixedIsItalic")
+
+ PropertyTester.TestProperty("FontFixedIsBold")
+
+ PropertyTester.TestProperty("CustomFontNameSans")
+
+ PropertyTester.TestProperty("FontSansIsItalic")
+
+ PropertyTester.TestProperty("FontSansIsBold")
+
+ PropertyTester.TestProperty("CustomFontNameSerif")
+
+ PropertyTester.TestProperty("FontSerifIsItalic")
+
+ PropertyTester.TestProperty("FontSerifIsBold")
+
+ PropertyTester.TestProperty("FontNameFunctions")
+
+ PropertyTester.TestProperty("FontFunctionsIsItalic")
+
+ PropertyTester.TestProperty("FontFunctionsIsBold")
+
+ PropertyTester.TestProperty("FontNameNumbers")
+
+ PropertyTester.TestProperty("FontNumbersIsItalic")
+
+ PropertyTester.TestProperty("FontNumbersIsBold")
+
+ PropertyTester.TestProperty("FontNameText")
+
+ PropertyTester.TestProperty("FontTextIsItalic")
+
+ PropertyTester.TestProperty("FontTextIsBold")
+
+ PropertyTester.TestProperty("FontNameVariables")
+
+ PropertyTester.TestProperty("FontVariablesIsItalic")
+
+ PropertyTester.TestProperty("FontVariablesIsBold")
+
+ PropertyTester.TestProperty("Formula")
+
+ PropertyTester.TestProperty("IsScaleAllBrackets")
+
+ PropertyTester.TestProperty("IsTextMode")
+
+ PropertyTester.TestProperty("RelativeFontHeightFunctions")
+
+ PropertyTester.TestProperty("RelativeFontHeightIndices")
+
+ PropertyTester.TestProperty("RelativeFontHeightLimits")
+
+ PropertyTester.TestProperty("RelativeFontHeightOperators")
+
+ PropertyTester.TestProperty("RelativeFontHeightText")
+
+ PropertyTester.TestProperty("RelativeBracketDistance")
+
+ PropertyTester.TestProperty("RelativeBracketExcessSize")
+
+ PropertyTester.TestProperty("RelativeFractionBarExcessLength")
+
+ PropertyTester.TestProperty("RelativeFractionBarLineWeight")
+
+ PropertyTester.TestProperty("RelativeFractionDenominatorDepth")
+
+ PropertyTester.TestProperty("RelativeFractionNumeratorHeight")
+
+ PropertyTester.TestProperty("RelativeIndexSubscript")
+
+ PropertyTester.TestProperty("RelativeIndexSuperscript")
+
+ PropertyTester.TestProperty("RelativeLineSpacing")
+
+ PropertyTester.TestProperty("RelativeLowerLimitDistance")
+
+ PropertyTester.TestProperty("RelativeMatrixColumnSpacing")
+
+ PropertyTester.TestProperty("RelativeMatrixLineSpacing")
+
+ PropertyTester.TestProperty("RelativeOperatorExcessSize")
+
+ PropertyTester.TestProperty("RelativeOperatorSpacing")
+
+ PropertyTester.TestProperty("RelativeRootSpacing")
+
+ PropertyTester.TestProperty("RelativeScaleBracketExcessSize")
+
+ PropertyTester.TestProperty("RelativeSpacing")
+
+ PropertyTester.TestProperty("RelativeSymbolMinimumHeight")
+
+ PropertyTester.TestProperty("RelativeSymbolPrimaryHeight")
+
+ PropertyTester.TestProperty("RelativeUpperLimitDistance")
+
+ PropertyTester.TestProperty("TopMargin")
+
+ PropertyTester.TestProperty("BottomMargin")
+
+ PropertyTester.TestProperty("LeftMargin")
+
+ PropertyTester.TestProperty("RightMargin")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/formula/FormulaProperties/script.xlb b/qadevOOo/tests/basic/ifc/formula/FormulaProperties/script.xlb
new file mode 100644
index 000000000000..5046056bdcd1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/formula/FormulaProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="formula_FormulaProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="formula_FormulaProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/Frame/frame_Frame.xba b/qadevOOo/tests/basic/ifc/frame/Frame/frame_Frame.xba
new file mode 100644
index 000000000000..8c7a29c93f72
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/Frame/frame_Frame.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_Frame" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.Frame
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+'
+ PropertyTester.TestProperty("Title")
+
+ PropertyTester.TestProperty("RecorderSupplier")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/Frame/script.xlb b/qadevOOo/tests/basic/ifc/frame/Frame/script.xlb
new file mode 100644
index 000000000000..cdac70151a1c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/Frame/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_Frame" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="frame_Frame"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XComponentLoader/frame_XComponentLoader.xba b/qadevOOo/tests/basic/ifc/frame/XComponentLoader/frame_XComponentLoader.xba
new file mode 100644
index 000000000000..d731c3e1a766
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XComponentLoader/frame_XComponentLoader.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XComponentLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XComponentLoader
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim frameName As String
+ Dim doc As Object
+
+ Test.StartMethod("loadComponentFromURL()")
+ bOK = true
+ frameName = "_blank"
+
+ Dim szArgs(0) As new com.sun.star.beans.PropertyValue
+ szArgs(0).Name = "OpenFlags"
+ szArgs(0).Value = "S"
+ szArgs(0).Handle = -1
+ szArgs(0).State = com.sun.star.beans.PropertyState.DEFAULT_VALUE
+
+ Out.log("load a blank impress doc")
+ doc = oObj.loadComponentFromURL("private:factory/simpress", frameName, 0, szArgs())
+ bOK = Not isNull(doc)
+ Out.log("disposing impress doc")
+ doc.dispose()
+
+ Dim szEmptyArgs()
+
+ Out.log("load a blank writer doc")
+ doc = oObj.loadComponentFromURL("private:factory/swriter", frameName, 0, szEmptyArgs())
+ bOK = bOK and Not isNull(doc)
+ Out.log("disposing writer doc")
+ doc.dispose()
+
+ Out.log("load a blank calc doc")
+ doc = oObj.loadComponentFromURL("private:factory/scalc", frameName, 0, szEmptyArgs())
+ bOK = bOK and Not isNull(doc)
+ Out.log("disposing calc doc")
+ doc.dispose()
+
+ Out.log("load a blank draw doc")
+ doc = oObj.loadComponentFromURL("private:factory/sdraw", frameName, 0, szEmptyArgs())
+ bOK = bOK and Not isNull(doc)
+ Out.log("disposing draw doc")
+ doc.dispose()
+
+ Out.log("load a blank math doc")
+ oDoc = oObj.loadComponentFromURL("private:factory/smath", frameName, 0, szEmptyArgs())
+ bOK = bOK and Not isNull(doc)
+ Out.log("disposing math doc")
+ doc.dispose()
+
+ Out.log("load a blank chart doc")
+ oDoc = oObj.loadComponentFromURL("private:factory/schart", frameName, 0, szEmptyArgs())
+ bOK = bOK and Not isNull(doc)
+ Out.log("disposing schart doc")
+ doc.dispose()
+
+ Test.MethodTested("loadComponentFromURL()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XComponentLoader/script.xlb b/qadevOOo/tests/basic/ifc/frame/XComponentLoader/script.xlb
new file mode 100644
index 000000000000..47e576eca7ca
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XComponentLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XComponentLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XComponentLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XController/frame_XController.xba b/qadevOOo/tests/basic/ifc/frame/XController/frame_XController.xba
new file mode 100644
index 000000000000..31c2e434ca73
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XController/frame_XController.xba
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XController" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oFrameToAttach As Object
+' - Global oModelToAttach As Object
+' - Global bHasNoViewData As Boolean
+' - Global oObjToSuspend As Object
+' - Global bHasNoModel As Boolean
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XController
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getViewData()")
+ bOK = true
+ if (bHasNoViewData) then
+ Out.Log("This object has no ViewData - nothing to test")
+ else
+ oViewData = oObj.getViewData()
+ bOK = bOK AND NOT isNULL(oViewData)
+ end if
+ Test.MethodTested("getViewData()", bOK)
+
+ Test.StartMethod("restoreViewData()")
+ bOK = true
+ if (bHasNoViewData) then
+ Out.Log("This object has no ViewData - nothing to test")
+ else
+ oObj.restoreViewData(oViewData)
+ end if
+ Test.MethodTested("restoreViewData()", bOK)
+
+ Test.StartMethod("getFrame()")
+ bOK = true
+ oFrame = oObj.getFrame()
+ bOK = bOK AND hasUnoInterfaces(oFrame, "com.sun.star.frame.XFrame")
+ Test.MethodTested("getFrame()", bOK)
+
+ Test.StartMethod("getModel()")
+ bOK = true
+ oModel = oObj.getModel()
+ if (bHasNoModel) then
+ bOK = bOK AND isNull(oModel)
+ Out.Log("The object has no Model. Retunrned value must be NULL")
+ else
+ bOK = bOK AND NOT isNull(oModel) AND hasUnoInterfaces(oModel, "com.sun.star.frame.XModel")
+ end if
+ Test.MethodTested("getModel()", bOK)
+
+ Test.StartMethod("attachFrame()")
+ bOK = true
+ Dim attachedFrame As Object
+ attachedFrame = oObj.getFrame()
+ oFrameToAttach.Name = "XController"
+ oObj.attachFrame(oFrameToAttach)
+ bOK = bOK AND oObj.getFrame.Name = oFrameToAttach.Name
+ ' return previous frame.
+ oObj.attachFrame(attachedFrame)
+ Test.MethodTested("attachFrame()", bOK)
+
+ Test.StartMethod("attachModel()")
+ bOK = true
+ if bHasNoModel then
+ Out.Log("The object has no Model. Nothing to test.")
+ else
+ oObj.attachModel(oModelToAttach)
+ if isNull(oObj.getModel()) then
+ Out.Log("The model is NULL after setModel() call")
+ bOK = false
+ else
+ bOK = bOK AND oModelToAttach.location = oObj.getModel.location
+ end if
+ end if
+ Test.MethodTested("attachModel()", bOK)
+
+ Test.StartMethod("suspend()")
+ bOK = true
+ bOK = bOK AND oObjToSuspend.suspend(true)
+ Test.MethodTested("suspend()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XController/script.xlb b/qadevOOo/tests/basic/ifc/frame/XController/script.xlb
new file mode 100644
index 000000000000..3f34e466dd72
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XController/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XController" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XController"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDesktop/frame_XDesktop.xba b/qadevOOo/tests/basic/ifc/frame/XDesktop/frame_XDesktop.xba
new file mode 100644
index 000000000000..35e5201add01
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDesktop/frame_XDesktop.xba
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDesktop" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XDesktop
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Test.StartMethod("getComponents()")
+ bOK = true
+ Dim components As Object
+ components = oObj.getComponents()
+ if (Not isNull(components)) then
+ Dim enum As Object
+ enum = components.createEnumeration()
+ while(enum.hasMoreElements())
+ enum.nextElement()
+ wend
+ bOK = true
+ else
+ bOK = false
+ end if
+ Test.MethodTested("getComponents()", bOK)
+
+ Test.StartMethod("terminate()")
+ bOK = true
+ Test.MethodTested("terminate()", bOK)
+
+ Test.StartMethod("addTerminateListener()")
+ bOK = true
+ Test.MethodTested("addTerminateListener()", bOK)
+
+ Test.StartMethod("removeTerminateListener()")
+ bOK = true
+ Test.MethodTested("removeTerminateListener()", bOK)
+
+ Test.StartMethod("getCurrentComponent()")
+ bOK = true
+ Dim curComp As Object
+ curComp = oObj.getCurrentComponent()
+ bOK = Not isNull(curComp)
+ Test.MethodTested("getCurrentComponent()", bOK)
+
+ Test.StartMethod("getCurrentFrame()")
+ bOK = true
+ Dim curFrame As Object
+ curFrame = oObj.getCurrentFrame()
+ bOK = Not isNull(curFrame)
+ Test.MethodTested("getCurrentFrame()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDesktop/script.xlb b/qadevOOo/tests/basic/ifc/frame/XDesktop/script.xlb
new file mode 100644
index 000000000000..8fc67d07830b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDesktop/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XDesktop" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XDesktop"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatch/frame_XDispatch.xba b/qadevOOo/tests/basic/ifc/frame/XDispatch/frame_XDispatch.xba
new file mode 100644
index 000000000000..d373311716b8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatch/frame_XDispatch.xba
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDispatch" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global dispatchURL As String
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XDispatch
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim listener1 As Object, listener2 As Object
+ Dim URL As New com.sun.star.util.URL
+
+ URL.Complete = dispatchURL
+
+ Out.Log("Dispatch URL is '" + dispatchURL + "'")
+ if isNull(oObj) then Out.Log("Component is NULL !!!!")
+
+ Test.StartMethod("addStatusListener()")
+ listener1 = createUnoListener("SL1_", "com.sun.star.frame.XStatusListener")
+ listener2 = createUnoListener("SL2_", "com.sun.star.frame.XStatusListener")
+
+ if NOT(isNull(listener1) OR isNull(listener2)) then
+ Out.Log("Listeners were created")
+ else
+ Out.Log("Listeners were NOT created !!!")
+ EndIf
+
+ oObj.addStatusListener(listener1, URL)
+ oObj.addStatusListener(listener2, URL)
+ Out.Log("Listeners were added")
+
+ Test.StartMethod("removeStatusListener()")
+ oObj.removeStatusListener(listener1, URL)
+
+ Test.StartMethod("dispatch()")
+
+ SL1Called = false
+ SL2Called = false
+
+ Out.Log("Dispatching ...")
+ oObj.dispatch(URL, DimArray())
+ wait(500)
+ Out.Log("Dispatched.")
+ Test.MethodTested("dispatch()", true)
+
+ bOK = SL2Called
+ Test.MethodTested("addStatusListener()", bOK)
+ bOK = bOK AND NOT SL1Called
+ Test.MethodTested("removeStatusListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim SL1Called As Boolean
+Dim SL2Called As Boolean
+
+Sub SL1_StatusChanged(ev As Variant)
+ SL1Called = true
+ Out.Log("SL1_StatusChanged() called.")
+End Sub
+
+Sub SL2_StatusChanged(ev As Variant)
+ SL2Called = true
+ Out.Log("SL2_StatusChanged() called.")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatch/script.xlb b/qadevOOo/tests/basic/ifc/frame/XDispatch/script.xlb
new file mode 100644
index 000000000000..ef87a042701b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatch/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XDispatch" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XDispatch"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchProvider/frame_XDispatchProvider.xba b/qadevOOo/tests/basic/ifc/frame/XDispatchProvider/frame_XDispatchProvider.xba
new file mode 100644
index 000000000000..75cdafc27a6d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchProvider/frame_XDispatchProvider.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDispatchProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global dispatchUrl As String
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XDispatchProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim url As new com.sun.star.util.URL
+ Dim dispatcher As Object
+ Dim descriptors(1) As new com.sun.star.frame.DispatchDescriptor
+ Dim dispatchers As Variant
+
+ Out.Log("Using Url for dispatch : " + dispatchUrl)
+
+ url.Complete = dispatchUrl
+
+ Dim oURLTransformer As Object
+ oURLTransformer = createUnoService("com.sun.star.util.URLTransformer")
+ Dim aUrl As Variant
+ aUrl = Array(url)
+ oURLTransformer.parseStrict(aUrl)
+
+ Test.StartMethod("queryDispatch()")
+ dispatcher = oObj.queryDispatch(aUrl(0), "frame", _
+ com.sun.star.frame.FrameSearchFlag.ALL)
+ bOK = NOT isNull(dispatcher)
+ Out.Log("Dispatch is null : " + isNull(dispatcher))
+ bOK = bOK AND hasUnoInterfaces(dispatcher, "com.sun.star.frame.XDispatch")
+ Test.MethodTested("queryDispatch()", bOK)
+
+ Test.StartMethod("queryDispatches()")
+ bOK = true
+ descriptors(0).FeatureURL = url
+ descriptors(0).FrameName = "Frame1"
+ descriptors(0).SearchFlags = com.sun.star.frame.FrameSearchFlag.ALL
+ descriptors(1).FeatureURL = url
+ descriptors(1).FrameName = "Frame2"
+ descriptors(1).SearchFlags = com.sun.star.frame.FrameSearchFlag.ALL
+ dispatchers = oObj.queryDispatches(descriptors())
+ if isArray(dispatchers) then
+ if ubound(descriptors()) &lt;&gt; ubound(dispatchers()) then
+ bOK = false
+ Out.Log("Number of returned dispatchers : " + _
+ ubound(dispatchers()) + " - FAILED")
+ endIf
+ else
+ bOK = false
+ Out.Log("Returned value is not Array")
+ EndIf
+
+ Test.MethodTested("queryDispatches()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchProvider/script.xlb b/qadevOOo/tests/basic/ifc/frame/XDispatchProvider/script.xlb
new file mode 100644
index 000000000000..a9c846861c62
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XDispatchProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XDispatchProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/frame_XDispatchProviderInterception.xba b/qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/frame_XDispatchProviderInterception.xba
new file mode 100644
index 000000000000..cd394226a759
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/frame_XDispatchProviderInterception.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDispatchProviderInterception" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XDispatchProviderInterception
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim ceptor As Object
+
+
+ Test.StartMethod("registerDispatchProviderInterceptor()")
+ bOK = true
+ ceptor = createUnoService("basichelper.DispatchProviderInterceptor")
+ oObj.registerDispatchProviderInterceptor(ceptor)
+ bOK = bOK AND NOT isNull(ceptor.getMasterDispatchProvider())
+ Test.MethodTested("registerDispatchProviderInterceptor()", bOK)
+
+ Test.StartMethod("releaseDispatchProviderInterceptor()")
+ bOK = true
+ oObj.releaseDispatchProviderInterceptor(ceptor)
+ bOK = bOK AND isNull(ceptor.getMasterDispatchProvider())
+ Test.MethodTested("releaseDispatchProviderInterceptor()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/script.xlb b/qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/script.xlb
new file mode 100644
index 000000000000..7a88a6895533
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchProviderInterception/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XDispatchProviderInterception" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XDispatchProviderInterception"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba
new file mode 100644
index 000000000000..4839ec766dae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDispatchRecorder" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global dispRecFrame As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XDispatchRecorder
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("startRecording()")
+ bOK = true
+ oObj.startRecording(dispRecFrame)
+ Test.MethodTested("startRecording()", bOK)
+
+ Test.StartMethod("endRecording()")
+ bOK = true
+ Dim dispURL As com.sun.star.util.URL
+ dispURL = parseURL(".uno:InsertText")
+ Dim dispArgs(0) As new com.sun.star.beans.PropertyValue
+ dispArgs(0).Name = "Text"
+ dispArgs(0).Value = "XDispatchRecorder.endRecording()"
+ Out.log("Dispatching event for frame ...")
+ Dim disp As Object
+ disp = dispRecFrame.queryDispatch(dispURL, "", 0)
+ disp.dispatch(dispURL, dispArgs())
+ wait(2000)
+ Out.log("Ending record ...")
+ oObj.endRecording()
+ Out.log("Getting macro ... :")
+ Dim macro As String
+ macro = oObj.getRecordedMacro()
+ Out.log("'" + macro + "'")
+ if (len(macro) &lt;&gt; 0) then
+ bOK = instr(macro, dispURL.Complete) &gt; -1 and _
+ instr(macro, dispArgs(0).Value) &gt; -1
+ if (Not bOK) then
+ Out.log("Dispatch URL '" + dispURL.Complete _
+ + "' or its argument '" + dispArgs(0).Value _
+ + "' was not found in macro returned - FAILED")
+ end if
+ else
+ bOK = false
+ end if
+ Test.MethodTested("endRecording()", bOK)
+
+ Test.StartMethod("recordDispatch()")
+ bOK = true
+ Out.log("Recording dispatch ...")
+ oObj.recordDispatch(dispURL, dispArgs())
+ Out.log("Getting macro ... :")
+ macro = oObj.getRecordedMacro()
+ Out.log("'" + macro + "'")
+ if (len(macro) &lt;&gt; 0) then
+ bOK = instr(macro, dispURL.Complete) &gt; -1 and _
+ instr(macro, dispArgs(0).Value) &gt; -1
+ if (Not bOK) then
+ Out.log("Dispatch URL '" + dispURL.Complete _
+ + "' or its argument '" + dispArgs(0).Value _
+ + "' was not found in macro returned - FAILED")
+ end if
+ else
+ bOK = false
+ end if
+ Test.MethodTested("recordDispatch()", bOK)
+
+ Test.StartMethod("recordDispatchAsComment()")
+ bOK = true
+ Out.log("Recording dispatch ...")
+ oObj.recordDispatchAsComment(dispURL, dispArgs())
+ Out.log("Getting macro ... :")
+ macro = oObj.getRecordedMacro()
+ Out.log("'" + macro + "'")
+ if (len(macro) &lt;&gt; 0) then
+ bOK = instr(macro, dispURL.Complete) &gt; -1 and _
+ instr(macro, dispArgs(0).Value) &gt; -1
+ if (Not bOK) then
+ Out.log("Dispatch URL '" + dispURL.Complete _
+ + "' or its argument '" + dispArgs(0).Value _
+ + "' was not found in macro returned - FAILED")
+ end if
+ else
+ bOK = false
+ end if
+ Test.MethodTested("recordDispatchAsComment()", bOK)
+
+ Test.StartMethod("getRecordedMacro()")
+ bOK = true
+ Test.MethodTested("getRecordedMacro()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function parseURL(complURL As String) As com.sun.star.util.URL
+ Dim url As new com.sun.star.util.URL
+ url.Complete = complURL
+ Dim urlTrans As Object
+ urlTrans = createUnoService("com.sun.star.util.URLTransformer")
+ urlTrans.parseStrict(url)
+ parseURL = url
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/script.xlb b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/script.xlb
new file mode 100644
index 000000000000..e88e65a85b50
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XDispatchRecorder" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XDispatchRecorder"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba
new file mode 100644
index 000000000000..e41cd4b49018
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDispatchRecorderSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XDispatchRecorderSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldRecorder As Object
+
+ Test.StartMethod("getDispatchRecorder()")
+ oldRecorder = oObj.getDispatchRecorder()
+
+ Test.StartMethod("setDispatchRecorder()")
+ Dim newRecorder As Object
+ newRecorder = createUnoService("com.sun.star.comp.framework.DispatchRecorder")
+ oObj.setDispatchRecorder(newRecorder)
+
+ Test.StartMethod("dispatchAndRecord()")
+ bOK = true
+ oDoc = createDocument("swriter", cObjectName)
+ Dim desktop As Object
+ desktop = createUnoService("com.sun.star.frame.Desktop")
+ Dim curFrame As Object
+ curFrame = desktop.getCurrentFrame()
+ Dim dispURL As com.sun.star.util.URL
+ dispURL = parseURL(".uno:InsertText")
+ Dim disp As Object
+ disp = curFrame.queryDispatch(dispURL, "", 0)
+ Dim dispArgs(0) As new com.sun.star.beans.PropertyValue
+ dispArgs(0).Name = "Text"
+ dispArgs(0).Value = "XDispatchRecorderSupplier"
+ Out.log("Dispatching and recording ...")
+ oObj.dispatchAndRecord(dispURL, dispArgs(), disp)
+
+ Dim macro As String
+ macro = newRecorder.getRecordedMacro()
+ Out.log("Recorder macro :" + chr(10) + macro)
+ if (len(macro) &lt;&gt; 0) then
+ bOK = instr(macro, dispURL.Complete) &gt; -1 and _
+ instr(macro, dispArgs(0).Value) &gt; -1
+ end if
+ Test.MethodTested("dispatchAndRecord()", bOK)
+
+ bOK = true
+ if (isNull(oldRecorder)) then
+ bOK = true
+ else
+ Dim oldMacro As String
+ oldMacro = oldRecorder.getRecordedMacro()
+ Out.log("RecordedMacro of previous dispatch recorder: " + chr(10) + oldMacro)
+ bOK = oldMacro = macro
+ endif
+ Test.MethodTested("getDispatchRecorder()", bOK)
+ Test.MethodTested("setDispatchRecorder()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function parseURL(complURL As String) As com.sun.star.util.URL
+ Dim url As new com.sun.star.util.URL
+ url.Complete = complURL
+ Dim urlTrans As Object
+ urlTrans = createUnoService("com.sun.star.util.URLTransformer")
+ urlTrans.parseStrict(url)
+ parseURL = url
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/script.xlb b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/script.xlb
new file mode 100644
index 000000000000..a50e5693014c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XDispatchRecorderSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XDispatchRecorderSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/frame_XDocumentTemplates.xba b/qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/frame_XDocumentTemplates.xba
new file mode 100644
index 000000000000..639af5868d02
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/frame_XDocumentTemplates.xba
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDocumentTemplates" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oStore As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XDocumentTemplates
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim content As Object, groupContent As Object
+ Dim result as Object, statRes As Object
+ Dim res As Boolean
+
+ Test.StartMethod("getContent()")
+ bOK = true
+ content = oObj.getContent()
+ Out.Log("Content list :")
+ Out.Log(getContentList(content))
+
+ bOK = bOK AND NOT isNull(content)
+ Test.MethodTested("getContent()", bOK)
+
+ Test.StartMethod("addGroup()")
+ bOK = true
+ res = oObj.addGroup("XDocumentTemplatesTemp")
+ Out.Log("Method returned: " + res)
+ bOK = bOK AND res AND NOT isNull(getSubContent(content, "XDocumentTemplatesTemp"))
+ Test.MethodTested("addGroup()", bOK)
+
+ Test.StartMethod("renameGroup()")
+ bOK = true
+ res = oObj.renameGroup("XDocumentTemplatesTemp", "XDocumentTemplates")
+ Out.Log("Method returned: " + res)
+ groupContent = getSubContent(content, "XDocumentTemplates")
+ bOK = bOK AND res AND isNull(getSubContent(content, "XDocumentTemplatesTemp")) _
+ AND NOT isNull(groupContent)
+ Test.MethodTested("renameGroup()", bOK)
+
+ Test.StartMethod("addTemplate()")
+ Dim testDoc As String
+ testDoc = utils.Path2URL(cTestDocsDir) + "report.stw"
+ Out.Log("Adding template from " + testDoc
+
+ bOK = true
+ res = oObj.addTemplate("XDocumentTemplates", "ANewTemplateTemp", testDoc)
+ Out.Log("Method returned: " + res)
+ bOK = bOK AND res AND NOT isNull(getSubContent(groupContent, "ANewTemplateTemp"))
+ Test.MethodTested("addTemplate()", bOK)
+
+ Test.StartMethod("renameTemplate()")
+ bOK = true
+ res = oObj.renameTemplate("XDocumentTemplates", "ANewTemplateTemp", "ANewTemplate")
+ Out.Log("Method returned: " + res)
+ bOK = bOK AND res AND isNull(getSubContent(groupContent, "ANewTemplateTemp")) _
+ AND NOT isNull(getSubContent(groupContent, "ANewTemplate"))
+ Test.MethodTested("renameTemplate()", bOK)
+
+ Test.StartMethod("storeTemplate()")
+ bOK = true
+ res = oObj.storeTemplate("XDocumentTemplates", "NewStoreTemplate", oStore)
+ Out.Log("Method returned: " + res)
+ bOK = bOK AND res AND NOT isNull(getSubContent(groupContent, "NewStoreTemplate"))
+ Test.MethodTested("storeTemplate()", bOK)
+
+ Test.StartMethod("removeTemplate()")
+ bOK = true
+ res = oObj.removeTemplate("XDocumentTemplates", "ANewTemplate")
+ Out.Log("Method returned: " + res)
+ bOK = bOK AND res AND isNull(getSubContent(groupContent, "ANewTemplate")
+ Test.MethodTested("removeTemplate()", bOK)
+
+ Test.StartMethod("removeGroup()")
+ bOK = true
+ res = oObj.removeGroup("XDocumentTemplates")
+ Out.Log("Method returned: " + res)
+ bOK = bOK AND res AND isNull(getSubContent(content, "XDocumentTemplatesTemp")
+ Test.MethodTested("removeGroup()", bOK)
+
+ Test.StartMethod("update()")
+ bOK = true
+ oObj.update()
+ Test.MethodTested("update()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function getDynaResultSet(content As Object) As Object
+ Dim command as new com.sun.star.ucb.Command
+ Dim comArg as new com.sun.star.ucb.OpenCommandArgument2
+ Dim comProps(0) as new com.sun.star.beans.Property
+ Dim result as Object, statRes As Object
+
+ comArg.Mode = com.sun.star.ucb.OpenMode.ALL
+ comProps(0).Name = "Title"
+ comArg.Properties = comProps()
+
+ command.Name = "open"
+ command.Handle = -1
+ command.Argument = comArg
+
+ getDynaResultSet = content.execute(command, 0, NULL_OBJECT)
+End Function
+
+Function getStatResultSet(content As Object) As Object
+ getStatResultSet = getDynaResultSet(content).getStaticResultSet()
+End Function
+
+Function getContentList(content As Object) As String
+ Dim statRes As Object
+ Dim ret As String
+
+ statRes = getStatResultSet(content)
+ statRes.first()
+ ret = ""
+ while NOT statRes.isAfterLast()
+ ret = ret + " " + statRes.getString(1) + chr(13)
+ statRes.next()
+ wend
+ getContentList = ret
+End Function
+
+Function getSubContent(content As Object, subName As String) As Object
+ Dim statRes As Object
+ Dim ret As Object
+
+ statRes = getStatResultSet(content)
+ statRes.first()
+ while NOT statRes.isAfterLast()
+ if subName = statRes.getString(1) then
+ ret = statRes.queryContent()
+ endif
+ statRes.next()
+ wend
+
+ getSubContent = ret
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/script.xlb b/qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/script.xlb
new file mode 100644
index 000000000000..fde55a9f49ec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XDocumentTemplates/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XDocumentTemplates" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XDocumentTemplates"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XFrame/frame_XFrame.xba b/qadevOOo/tests/basic/ifc/frame/XFrame/frame_XFrame.xba
new file mode 100644
index 000000000000..2b6f01fccdef
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XFrame/frame_XFrame.xba
@@ -0,0 +1,347 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XFrame" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global XFrame As Object optional
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XFrame
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getName()")
+ bOK = true
+ Dim oldName As String
+ oldName = oObj.getName()
+ Out.log("getName(): " + oldName)
+ bOK = Not isNull(oldName)
+ Test.MethodTested("getName()", bOK)
+
+ Test.StartMethod("setName()")
+ bOK = true
+ Dim sName As String, gName As String
+ sName = "XFrame"
+ oObj.setName(sName)
+ gName = oObj.getName()
+ bOK = gName = sName
+ Out.log("setName('" + sName + "'), getName() return '" + gName + "'")
+ oObj.setName(oldName)
+ Test.MethodTested("setName()", bOK)
+
+ Test.StartMethod("activate()")
+ bOK = true
+ oObj.activate()
+ Test.MethodTested("activate()", bOK)
+
+ Test.StartMethod("deactivate()")
+ bOK = true
+ oObj.deactivate()
+ Test.MethodTested("deactivate()", bOK)
+
+ Test.StartMethod("isActive()")
+ bOK = true
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("Desktop is always active")
+ bOK = oObj.isActive()
+ else
+ oObj.activate()
+ bOK = oObj.isActive()
+ if (Not bOK) then
+ Out.log("after activate() method call, isActive() returned false")
+ end if
+ oObj.deactivate()
+ bOK = Not oObj.isActive()
+ if (oObj.isActive()) then
+ Out.log("after deactivate() method call, isActive() returned true")
+ end if
+ end if
+ Test.MethodTested("isActive()", bOK)
+
+ Test.StartMethod("getCreator()")
+ bOK = true
+ Dim creator As Object
+ creator = oObj.getCreator()
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("Desktop has no creator")
+ else
+ bOK = Not isNull(creator)
+ end if
+ Test.MethodTested("getCreator()", bOK)
+
+ Test.StartMethod("getComponentWindow()")
+ bOK = true
+ Dim compWin As Object
+ compWin = oObj.getComponentWindow()
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("Desktop has no component window")
+ else
+ bOK = Not isNull(compWin)
+ end if
+ Test.MethodTested("getComponentWindow()", bOK)
+
+ Test.StartMethod("getContainerWindow()")
+ bOK = true
+ Dim contWin As Object
+ contWin = oObj.getContainerWindow()
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("Desktop has no container window")
+ else
+ bOK = Not isNull(contWin)
+ end if
+ Test.MethodTested("getContainerWindow()", bOK)
+
+ Test.StartMethod("getController()")
+ bOK = true
+ Dim controller As Object
+ controller = oObj.getController()
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("Desktop has no controller")
+ else
+ if (isNull(controller)) then
+ Out.log("getController() returns null")
+ bOK = false
+ else
+ Dim frm As Object
+ frm = controller.getFrame()
+ if (frm.getName() &lt;&gt; oObj.getName()) then
+ Out.log("Frame returned by controller not " + _
+ "equals to frame testing")
+ bOK = false
+ end if
+ end if
+ end if
+ Test.MethodTested("getController()", bOK)
+
+ Test.StartMethod("isTop()")
+ bOK = true
+ Out.log("isTop() = " + oObj.isTop())
+ Test.MethodTested("isTop()", bOK)
+
+ Test.StartMethod("findFrame()")
+ bOK = true
+ if (Not isNull(XFrame)) then
+ Out.log("Trying to find a frame with name 'XFrame' ...")
+ Dim aFrame As Object
+ aFrame = oObj.findFrame("XFrame", com.sun.star.frame.FrameSearchFlag.GLOBAL)
+ if (isNull(aFrame)) then
+ Out.log("findFrame('XFrame',com.sun.star.frame.FrameSearchFlag.GLOBAL) returns null")
+ bOK = false
+ elseif (XFrame.getName() &lt;&gt; aFrame.getName()) then
+ Out.log("findFrame('XFrame',com.sun.star.frame.FrameSearchFlag.GLOBAL)" _
+ + " returns frame which is not equal to passed in relation")
+ bOK = false
+ end if
+ end if
+ Out.log("Trying to find a frame with name '_self' ...")
+ Dim frame As Object
+ frame = oObj.findFrame("_self", com.sun.star.frame.FrameSearchFlag.AUTO)
+ if (isNull(frame)) then
+ Out.log("findFrame('_self') returns null")
+ bOK = false
+ elseif (frame.getName() &lt;&gt; oObj.getName()) then
+ Out.log("findFrame('_self') returns frame which is not equal to tested")
+ bOK = false
+ end if
+ Test.MethodTested("findFrame()", bOK)
+
+ Test.StartMethod("setCreator()")
+ bOK = true
+ oObj.setCreator(NULL_OBJECT)
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("Desktop has no creator")
+ else
+ bOK = isNull(oObj.getCreator())
+ oObj.setCreator(creator)
+ end if
+ Test.MethodTested("setCreator()", bOK)
+
+ Test.StartMethod("setComponent()")
+ bOK = true
+ Dim res As Boolean
+ res = oObj.setComponent(NULL_OBJECT, NULL_OBJECT)
+ if (res) then
+ ' component must be changed
+ bOK = isNull(oObj.getComponentWindow())
+ bOK = bOK and isNull(oObj.getController())
+ if (Not bOK) then
+ Out.log("setComponent() returns true, but component is not changed.")
+ end if
+ else
+ Out.log("frame is not allowed to change component")
+ end if
+ oObj.setComponent(compWin, controller)
+ Test.MethodTested("setComponent()", bOK)
+
+ Test.StartMethod("initialize()")
+ bOK = true
+ oObj.initialize(contWin)
+ Test.MethodTested("initialize()", bOK)
+
+ Test.StartMethod("addFrameActionListener()")
+ bOK = true
+ Dim listener1 As Object, listener2 As Object
+ listener1 = createUnoListener("FA1_", "com.sun.star.frame.XFrameActionListener")
+ listener2 = createUnoListener("FA2_", "com.sun.star.frame.XFrameActionListener")
+ initListeners()
+ oObj.activate()
+ oObj.deactivate()
+ oObj.activate()
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("No actions supported by Desktop")
+ else
+ wait(1000)
+ if (Not listener1Called) then
+ bOK = false
+ Out.log("Listener1 wasn't called")
+ end if
+ if (Not listener2Called) then
+ bOK = false
+ Out.log("Listener2 wasn't called")
+ end if
+ if (Not activatedCalled1 or Not activatedCalled2) then
+ bOK = false
+ Out.log("Listener was called, FRAME_ACTIVATED was not")
+ endif
+ if (Not deactivatedCalled1 or Not deactivatedCalled2) then
+ bOK = false
+ Out.log("Listener was called, FRAME_DEACTIVATED was not")
+ endif
+ end if
+ Test.MethodTested("addFrameActionListener()", bOK)
+
+ Test.StartMethod("removeFrameActionListener()")
+ bOK = true
+ Out.log("removes listener2")
+ oObj.removeFrameActionListener(listener2)
+ initListeners()
+ oObj.activate()
+ oObj.deactivate()
+ oObj.activate()
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("No actions supported by Desktop")
+ else
+ wait(1000)
+ if (Not listener1Called) then
+ bOK = false
+ Out.log("Listener1 wasn't called")
+ end if
+ if (listener2Called) then
+ bOK = false
+ Out.log("Listener2 was called, but it was removed")
+ end if
+ end if
+ Test.MethodTested("removeFrameActionListener()", bOK)
+
+ Test.StartMethod("contextChanged()")
+ bOK = true
+ oObj.addFrameActionListener(listener1)
+ initListeners()
+ oObj.contextChanged()
+ if (instr(cObjectName,"Desktop") &gt; -1) then
+ Out.log("Desktop cann't change context")
+ elseif(contextChanged1) then
+ bOK = true
+ elseif(listener1Called) then
+ bOK = false
+ Out.log("listener was called, but Action != CONTEXT_CHANGED")
+ else
+ bOK = false
+ Out.log("listener was not called on contextChanged() call")
+ end if
+ Test.MethodTested("contextChanged()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim listener1Called As Boolean
+Dim listener2Called As Boolean
+Dim activatedCalled1 As Boolean
+Dim deactivatedCalled1 As Boolean
+Dim contextChanged1 As Boolean
+Dim activatedCalled2 As Boolean
+Dim deactivatedCalled2 As Boolean
+
+Sub initListeners()
+ listener1Called = false
+ listener2Called = false
+ contextChanged1 = false
+ activatedCalled1 = false
+ deactivatedCalled1 = false
+ activatedCalled2 = false
+ deactivatedCalled2 = false
+End Sub
+
+Sub FA1_frameAction(event As Object)
+ listener1Called = true
+ Out.Log("Listener1: frameAction: " + event.Action)
+ if (event.Action = com.sun.star.frame.FrameAction.FRAME_ACTIVATED) then
+ activatedCalled1 = true
+ elseif (event.Action = com.sun.star.frame.FrameAction.FRAME_DEACTIVATING) then
+ deactivatedCalled1 = true
+ elseif (event.Action = com.sun.star.frame.FrameAction.CONTEXT_CHANGED) then
+ contextChanged1 = true
+ endif
+End Sub
+
+Sub FA2_frameAction(event As Object)
+ listener2Called = true
+ Out.Log("Listener2: frameAction: " + event.Action)
+ if (event.Action = com.sun.star.frame.FrameAction.FRAME_ACTIVATED) then
+ activatedCalled2 = true
+ elseif (event.Action = com.sun.star.frame.FrameAction.FRAME_DEACTIVATING) then
+ deactivatedCalled2 = true
+ endif
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XFrame/script.xlb b/qadevOOo/tests/basic/ifc/frame/XFrame/script.xlb
new file mode 100644
index 000000000000..6d254d7d6afd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XFrame/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XFrame" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XFrame"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XFrameLoader/frame_XFrameLoader.xba b/qadevOOo/tests/basic/ifc/frame/XFrameLoader/frame_XFrameLoader.xba
new file mode 100644
index 000000000000..713cbbf827dd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XFrameLoader/frame_XFrameLoader.xba
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XFrameLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global FrameLoaderURL As String
+'Global FrameLoaderFrame As Object ' optional
+'Global FrameLoaderArgs As Variant ' optional
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.form.XFrameLoader
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim frame As Object
+ Dim args As Variant
+ Dim listener As Object
+
+ if IsNULL(FrameLoaderFrame) then
+ Out.log("Frame is NULL")
+ Dim oDsk As Object
+ oDsk = createUnoService("com.sun.star.frame.Desktop")
+ frame = oDsk.getCurrentFrame()
+ else
+ frame = FrameLoaderFrame
+ endif
+
+ if IsArray(FrameLoaderArgs) then
+ Out.log("Args isn't array")
+ Dim emptyAr As Variant
+ args = emptyAr
+ else
+ args = FrameLoaderArgs
+ endif
+
+ listener = createUnoListener("L_", "com.sun.star.frame.XLoadEventListener")
+ initListener()
+
+ Test.StartMethod("cancel()")
+
+ oObj.load(frame, FrameLoaderURL, args, listener)
+ oObj.cancel()
+ wait(200)
+
+ bOK = loadCancelled OR loadFinished
+
+ Test.MethodTested("cancel()", bOK)
+
+ Test.StartMethod("load()")
+
+ initListener()
+ oObj.load(frame, FrameLoaderURL, args, listener)
+ wait(200)
+ bOK = loadFinished AND Not loadCancelled
+
+ Test.MethodTested("load()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub initListener()
+ loadFinished = false
+ loadCancelled = false
+End Sub
+
+Dim loadFinished As Boolean
+Dim loadCancelled As Boolean
+
+Sub L_loadFinished()
+ Out.Log("Listener: loadFinished")
+ loadFinished = true
+End Sub
+
+Sub L_loadCancelled()
+ Out.Log("Listener: loadCancelled")
+ loadCancelled = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XFrameLoader/script.xlb b/qadevOOo/tests/basic/ifc/frame/XFrameLoader/script.xlb
new file mode 100644
index 000000000000..ec903f42eeed
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XFrameLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XFrameLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XFrameLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XFramesSupplier/frame_XFramesSupplier.xba b/qadevOOo/tests/basic/ifc/frame/XFramesSupplier/frame_XFramesSupplier.xba
new file mode 100644
index 000000000000..b3217b33fdd4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XFramesSupplier/frame_XFramesSupplier.xba
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XFramesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XFramesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getFrames()")
+ bOK = true
+ Dim frames As Object
+ frames = oObj.getFrames()
+ Dim cnt As Integer
+ if (Not isNull(frames) ) then
+ cnt = frames.getCount()
+ bOK = cnt &lt;&gt; 0
+ Out.log("There are " + cnt + " frames.")
+ else
+ Out.log("getFrames() returned null !!!")
+ bOK = false
+ end if
+ Dim i As Integer
+ for i = 0 to (cnt - 1)
+ Dim fr As Object
+ fr = frames.getByIndex(i)
+ if (isNull(fr)) then
+ Out.log("Frame(" + i + ") == null")
+ bOK = false
+ end if
+ next i
+ Test.MethodTested("getFrames()", bOK)
+
+ Test.StartMethod("getActiveFrame()")
+ bOK = true
+ Dim active As Object
+ active = oObj.getActiveFrame()
+ active.setName("ActiveFrame")
+ Dim hasActiveFrame As Boolean
+ Dim activeIndex As Integer
+ if (isNull(active)) then
+ bOK = false
+ Out.log("getActiveFrame() returned null")
+ else
+ hasActiveFrame = false
+ for i = 0 to (cnt - 1)
+ fr = frames.getByIndex(i)
+ if (fr.getName() = "ActiveFrame") then
+ hasActiveFrame = true
+ activeIndex = i
+ end if
+ next i
+ if (Not hasActiveFrame) then
+ Out.log("getActiveFrame() isn't contained in getFrames() collection")
+ bOK = false
+ end if
+ end if
+ Test.MethodTested("getActiveFrame()", bOK)
+
+ Test.StartMethod("setActiveFrame()")
+ bOK = true
+ Dim sFrame As Object
+ if (cnt &gt; 1) then
+ if (activeIndex &lt;&gt; 0) then
+ sFrame = frames.getByIndex(0)
+ else
+ sFrame = frame.getByIndex(1)
+ end if
+ else
+ sFrame = active
+ end if
+ sFrame.setName("Frame for set")
+ oObj.setActiveFrame(sFrame)
+ Dim gFrame As Object
+ gFrame = oObj.getActiveFrame()
+ if (gFrame.getName() &lt;&gt; "Frame for set") then
+ bOK = false
+ Out.log("Active frame set is not equal frame get: FAILED")
+ end if
+ Test.MethodTested("setActiveFrame()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XFramesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/frame/XFramesSupplier/script.xlb
new file mode 100644
index 000000000000..296097706b89
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XFramesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XFramesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XFramesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XModel/frame_XModel.xba b/qadevOOo/tests/basic/ifc/frame/XModel/frame_XModel.xba
new file mode 100644
index 000000000000..0c13d0c3d710
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XModel/frame_XModel.xba
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oXModelController as Object
+' - Global oXModelSel as Object
+' - Global oXModelToSel as Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oController As Object
+ Dim oSelection As Object
+ Dim aArgs(0 to 0) As Variant
+ Dim oCursor As Object
+ Dim cURL As String
+ Dim i As Integer
+ Dim args1(0) As New com.sun.star.beans.PropertyValue
+
+ Test.StartMethod("attachResource()")
+ args1(0).Name = "XModel"
+ bOK = oObj.attachResource(".component:DB/DataSourceBrowser", args1())
+ Test.MethodTested("attachResource()", bOK)
+
+ Test.StartMethod("getURL()")
+ bOK = true
+ cURL = oObj.getURL()
+ bOK = bOK AND (cURL = ".component:DB/DataSourceBrowser")
+ Test.MethodTested("getURL()", bOK)
+
+ Test.StartMethod("getArgs()")
+ bOK = true
+ aArgs() = oObj.Args
+ bOK = bOK AND NOT isNull(aArgs()) '(0).Name = "XModel"
+ Test.MethodTested("getArgs()", bOK)
+
+ Test.StartMethod("getCurrentController()")
+ bOK = true
+ Dim oCurrCtrl As Object
+ oCurrCtrl = oObj.getCurrentController()
+ bOK = bOK AND isObject(oCurrCtrl)
+ bOK = bOK AND hasUnoInterfaces(oCurrCtrl, "com.sun.star.frame.XController")
+ Test.MethodTested("getCurrentController()", bOK)
+
+ Test.StartMethod("getCurrentSelection()")
+ bOK = true
+ Dim oCurrSelection As Object
+ oXModelSel.select(oXModelToSel)
+ oCurrSelection = oObj.getCurrentSelection()
+ bOK = bOK AND hasUnoInterfaces(oCurrSelection, "com.sun.star.uno.XInterface")
+ Test.MethodTested("getCurrentSelection()", bOK)
+
+ Test.StartMethod("hasControllersLocked()")
+ bOK = true
+ ' there should no controllers be locked
+ bOK = bOK AND NOT oObj.hasControllersLocked()
+ Test.MethodTested("hasControllersLocked()", bOK)
+
+ ' now lock controllers
+ Test.StartMethod("lockControllers()")
+ bOK = true
+ oObj.lockControllers()
+ ' controllers should be locked
+ bOK = bOK AND oObj.hasControllersLocked()
+ Test.MethodTested("lockControllers()", bOK)
+
+ ' unlock controllers and check success
+ Test.StartMethod("unlockControllers()")
+ bOK = true
+ oObj.unlockControllers()
+ bOK = bOK AND NOT oObj.hasControllersLocked()
+ Test.MethodTested("unlockControllers()", bOK)
+
+ Test.StartMethod("connectController()")
+ oObj.connectController(oXModelController)
+ Test.MethodTested("connectController()", bOK)
+
+ Test.StartMethod("disconnectController()")
+ oObj.disconnectController(oXModelController)
+ oObj.connectController(oCurrCtrl)
+ Test.MethodTested("disconnectController()", bOK)
+
+ Test.StartMethod("setCurrentController()")
+ oObj.setCurrentController(oCurrCtrl)
+ Test.MethodTested("setCurrentController()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XModel/script.xlb b/qadevOOo/tests/basic/ifc/frame/XModel/script.xlb
new file mode 100644
index 000000000000..079f98424e95
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XStorable/frame_XStorable.xba b/qadevOOo/tests/basic/ifc/frame/XStorable/frame_XStorable.xba
new file mode 100644
index 000000000000..eb16431b0f7b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XStorable/frame_XStorable.xba
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XStorable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XStorable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cLocation, cLocation1 As String
+ Dim i As Integer
+ Dim oDoc1 As Object
+
+ bOK = true
+ cLocation = utils.getTempFileURL(cObjectName &amp; "." &amp; "XStorable.tmp")
+ if (FileExists(cLocation)) then
+ Kill(cLocation)
+ end if
+
+ if (FileExists(cLocation &amp; ".bak")) then
+ Kill(cLocation &amp; ".bak")
+ end if
+
+ Out.Log("cLocation: "+cLocation)
+
+ Test.StartMethod("storeAsURL()")
+ bOK = true
+ oObj.storeAsURL(cLocation, DimArray())
+ bOK = bOK AND oObj.hasLocation()
+ Test.MethodTested("storeAsURL()", bOK)
+
+ Test.StartMethod("hasLocation()")
+ bOK = true
+ bOK = bOK AND oObj.hasLocation()
+ Test.MethodTested("hasLocation()", bOK)
+
+ Test.StartMethod("isReadonly()")
+ bOK = true
+ bOK = bOK AND NOT oObj.isReadOnly()
+ Test.MethodTested("isReadonly()", bOK)
+
+ Test.StartMethod("getLocation()")
+ bOK = true
+ bOK = bOK AND (oObj.getLocation = cLocation)
+ Out.Log("Location is: " &amp; oObj.getLocation &amp; " It should be: " &amp; cLocation)
+ Test.MethodTested("getLocation()", bOK)
+
+ Test.StartMethod("storeToURL()")
+ bOK = true
+ cLocation1 = cLocation + ".bak"
+ Out.Log("New Location: " + cLocation1)
+ oDoc.getDocumentInfo().setPropertyValue("Title", "frame_XStorable")
+ oObj.storeToURL(cLocation1, DimArray())
+ oDoc1 = StarDesktop.loadComponentFromUrl(cLocation1, "sc.ScModelObj.XStorable.tmp.bak", 40, DimArray() )
+ bOK = bOK AND (oDoc1.getDocumentInfo().getPropertyValue("Title") = "frame_XStorable")
+ if bOK then Out.Log("Document titles are equal")
+ oDoc1.dispose()
+ Test.MethodTested("storeToURL()", bOK)
+
+ Test.StartMethod("store()")
+ bOK = true
+ oObj.storeAsURL(cLocation1, DimArray())
+ oDoc.getDocumentInfo().setPropertyValue("Title", "frame_XStorable12345")
+ oObj.store()
+ oDoc1 = StarDesktop.loadComponentFromUrl(cLocation1, "sc.ScModelObj.XStorable.tmp.bak", 40, DimArray() )
+ bOK = bOK AND (oDoc1.getDocumentInfo().getPropertyValue("Title") = "frame_XStorable12345")
+ if bOK then Out.Log("Document titles are equal")
+ oDoc1.dispose()
+ Test.MethodTested("store()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XStorable/script.xlb b/qadevOOo/tests/basic/ifc/frame/XStorable/script.xlb
new file mode 100644
index 000000000000..f52674f15c6a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XStorable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XStorable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XStorable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/frame_XSynchronousFrameLoader.xba b/qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/frame_XSynchronousFrameLoader.xba
new file mode 100644
index 000000000000..918fafd7d6e9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/frame_XSynchronousFrameLoader.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XSynchronousFrameLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oFrame As Object
+' Global sURL As String
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.frame.XSynchronousFrameLoader
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("load()")
+
+ Dim url As new com.sun.star.util.URL
+ url.Complete = sURL
+ Dim prop(0) As new com.sun.star.beans.PropertyValue
+ prop(0).Name = "URL"
+ prop(0).Value = url
+
+ out.log("Load document with URL: " + sURL)
+ bOK = oObj.load(prop(), oFrame)
+
+ Test.MethodTested("load()", bOK)
+
+ Test.StartMethod("cancel()")
+ oObj.cancel()
+ bOK = True
+ Test.MethodTested("cancel()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/script.xlb b/qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/script.xlb
new file mode 100644
index 000000000000..14ff69fcef13
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/frame/XSynchronousFrameLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="frame_XSynchronousFrameLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="frame_XSynchronousFrameLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XBreakIterator/i18n_XBreakIterator.xba b/qadevOOo/tests/basic/ifc/i18n/XBreakIterator/i18n_XBreakIterator.xba
new file mode 100644
index 000000000000..caea03d8e837
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XBreakIterator/i18n_XBreakIterator.xba
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XBreakIterator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oLocale As Object
+' - Global UnicodeString As String
+' - Global ScriptType(2, 1) As Integer
+
+'*************************************************************************
+
+
+
+
+
+const arrSize = 300
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XBreakIterator
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+ Dim nCharacterIteratorMode As Integer
+ Dim lDone As Long
+ Dim lRes As Long
+ Dim wordType As Integer
+ Dim Boundary As Variant
+ Dim BoundsToTest(arrSize) As new com.sun.star.i18n.Boundary
+ Dim Types(arrSize) As Integer
+ Dim nBoundsToTest As Integer
+ Dim iPos As Integer
+ Dim iType As Integer
+ Dim bFound As Boolean
+ Dim j As Integer
+ Dim NextCharacters(2, 3) As Integer
+ Dim PreviousCharacters(2, 3) As Integer
+
+ Test.StartMethod("nextCharacters()")
+ bOK = true
+ nCharacterIteratorMode = com.sun.star.i18n.CharacterIteratorMode.SKIPCHARACTER
+
+ 'Start from position : Travel ... chars : Actual position after : How many chars traveled
+ NextCharacters(0, 0) = 1 : NextCharacters(0, 1) = 5000 : NextCharacters(0, 2) = len(UnicodeString) : NextCharacters(0, 3) = len(UnicodeString) - 1
+ NextCharacters(1, 0) = 5 : NextCharacters(1, 1) = -5000 : NextCharacters(1, 2) = 0 : NextCharacters(1, 3) = -5
+ NextCharacters(2, 0) = 10 : NextCharacters(2, 1) = 6 : NextCharacters(2, 2) = 16 : NextCharacters(2, 3) = 6
+
+ for i = 0 to 2
+ lRes = oObj.nextCharacters(UnicodeString, NextCharacters(i, 0), _
+ oLocale, nCharacterIteratorMode, NextCharacters(i, 1), lDone)
+ Out.Log("Expected result is: lRes = " + NextCharacters(i, 2) + _
+ "; lDone = " + NextCharacters(i, 3))
+ Out.Log("Actual result is: lRes = " + lRes + "; lDone = " + lDone)
+
+ bOK = bOK AND lRes = NextCharacters(i, 2)
+ bOK = bOK AND lDone = NextCharacters(i, 3)
+ next i
+
+ Test.MethodTested("nextCharacters()", bOK)
+
+ Test.StartMethod("previousCharacters()")
+ bOK = true
+ nCharacterIteratorMode = com.sun.star.i18n.CharacterIteratorMode.SKIPCHARACTER
+
+ 'Start from position : Travel ... chars : Actual position after : How many chars traveled
+ PreviousCharacters(0, 0) = 10 : PreviousCharacters(0, 1) = -5000 : PreviousCharacters(0, 2) = len(UnicodeString) : PreviousCharacters(0, 3) = len(UnicodeString) - 10
+ PreviousCharacters(1, 0) = 5 : PreviousCharacters(1, 1) = 5000 : PreviousCharacters(1, 2) = 0 : PreviousCharacters(1, 3) = 5
+ PreviousCharacters(2, 0) = 10 : PreviousCharacters(2, 1) = 6 : PreviousCharacters(2, 2) = 4 : PreviousCharacters(2, 3) = 6
+
+ for i = 0 to 2
+ lRes = oObj.previousCharacters(UnicodeString, PreviousCharacters(i, 0), _
+ oLocale, nCharacterIteratorMode, PreviousCharacters(i, 1), lDone)
+ Out.Log("Expected result is: lRes = " + PreviousCharacters(i, 2) + _
+ "; lDone = " + PreviousCharacters(i, 3))
+ Out.Log("Actual result is: lRes = " + lRes + "; lDone = " + lDone)
+
+ bOK = bOK AND lRes = PreviousCharacters(i, 2)
+ bOK = bOK AND lDone = PreviousCharacters(i, 3)
+ next i
+
+ Test.MethodTested("previousCharacters()", bOK)
+
+
+ Test.StartMethod("nextWord()")
+ Test.StartMethod("previousWord()")
+ bOK = true
+ wordType = com.sun.star.i18n.WordType.ANYWORD_IGNOREWHITESPACES
+ Dim wordCount1 As Integer
+ Dim wordCount2 As Integer
+ wordCount1 = 0
+ wordCount2 = 0
+ i = 0
+ nBoundsToTest = 0
+
+ while i &lt; len(UnicodeString) - 1
+ Boundary = oObj.nextWord(UnicodeString, i, oLocale, wordType)
+ i = Boundary.endPos - 1
+ wordCount1 = wordCount1 + 1
+ if ((nBoundsToTest &lt; arrSize) AND (Boundary.endPos - Boundary.startPos &gt; 3)) then
+ BoundsToTest(nBoundsToTest).startPos = Boundary.startPos
+ BoundsToTest(nBoundsToTest).endPos = Boundary.endPos ' Here we find out some words and
+ nBoundsToTest = nBoundsToTest + 1 ' get their bounds to test in future
+ end if
+ Out.Log("Word " + wordCount1 + "(" + Boundary.startPos + "," + Boundary.endPos + "): '" + _
+ mid(UnicodeString, Boundary.startPos + 1, Boundary.endPos - Boundary.startPos) + "'")
+ wend
+ Out.Log("In text there are " + wordCount1 + " words, if count from left to right")
+
+ while i &gt; 0
+ Boundary = oObj.previousWord(UnicodeString, i, oLocale, wordType)
+ i = Boundary.startPos
+ wordCount2 = wordCount2 + 1
+ Out.Log("Word " + wordCount2 + "(" + Boundary.startPos + "," + Boundary.endPos + "): '" + _
+ mid(UnicodeString, Boundary.startPos + 1, Boundary.endPos - Boundary.startPos) + "'")
+ wend
+ Out.Log("In text there are " + wordCount2 + " words, if count from right to left")
+
+ bOK = bOK AND wordCount1 = wordCount2
+ Test.MethodTested("previousWord()", bOK)
+ Test.MethodTested("nextWord()", bOK)
+
+ Test.StartMethod("getWordBoundary()")
+ bOK = true
+ if (nBoundsToTest = 0) then
+ Out.Log("Couldn't find words longer than 3 letters.")
+ bOK = false
+ end if
+
+ for i = 0 to nBoundsToTest - 1
+ iPos = (BoundsToTest(i).endPos - BoundsToTest(i).startPos) / 2 + BoundsToTest(i).startPos ' calculate middle of the word
+ Boundary = oObj.getWordBoundary(UnicodeString, iPos, oLocale, wordType, true)
+ Out.Log("Expected result is: startPos = " + BoundsToTest(i).startPos + _
+ "; endPos = " + BoundsToTest(i).endPos)
+ Out.Log("Actual result is: startPos = " + Boundary.startPos + "; endPos = " + Boundary.endPos + _
+ " Word is: '" + mid(UnicodeString, Boundary.startPos + 1, Boundary.endPos - Boundary.startPos) + "'")
+
+ bOK = bOK AND BoundsToTest(i).startPos = Boundary.startPos
+ bOK = bOK AND BoundsToTest(i).endPos = Boundary.endPos
+ next i
+
+ Test.MethodTested("getWordBoundary()", bOK)
+
+ Test.StartMethod("getWordType()")
+ bOK = true
+ for i = 0 to nBoundsToTest - 1
+ iPos = (BoundsToTest(i).endPos - BoundsToTest(i).startPos) / 2 + BoundsToTest(i).startPos ' calculate middle of the word
+ wordType = oObj.getWordType(UnicodeString, iPos, oLocale)
+ bOK = bOK AND wordType &gt;= 0 AND wordType &lt;= 2
+ next i
+ Test.MethodTested("getWordType()", bOK)
+
+ Test.StartMethod("isBeginWord()")
+ bOK = true
+ if (nBoundsToTest = 0) then
+ Out.Log("Couldn't find words longer than 3 letters.")
+ bOK = false
+ end if
+
+ for i = 0 to nBoundsToTest - 1
+ bOK = bOK AND oObj.isBeginWord(UnicodeString, BoundsToTest(i).startPos, oLocale, com.sun.star.i18n.WordType.ANY_WORD)
+ bOK = bOK AND NOT oObj.isBeginWord(UnicodeString, BoundsToTest(i).startPos + 1, oLocale, com.sun.star.i18n.WordType.ANY_WORD)
+ next i
+ Test.MethodTested("isBeginWord()", bOK)
+
+ Test.StartMethod("isEndWord()")
+ bOK = true
+ if (nBoundsToTest = 0) then
+ Out.Log("Couldn't find words longer than 3 letters.")
+ bOK = false
+ end if
+
+ for i = 0 to nBoundsToTest - 1
+ bOK = bOK AND oObj.isEndWord(UnicodeString, BoundsToTest(i).endPos, oLocale, com.sun.star.i18n.WordType.ANY_WORD)
+ bOK = bOK AND NOT oObj.isEndWord(UnicodeString, BoundsToTest(i).endPos - 1, oLocale, com.sun.star.i18n.WordType.ANY_WORD)
+ next i
+ Test.MethodTested("isEndWord()", bOK)
+
+ Test.StartMethod("beginOfSentence()")
+ Test.StartMethod("endOfSentence()")
+ Dim sStart As Integer
+ Dim sEnd As Integer
+
+ bOK = true
+ iPos = 0
+ while (iPos &lt;= len(UnicodeString))' AND bOK)
+ sStart = oObj.beginOfSentence(UnicodeString, iPos, oLocale)
+ sEnd = oObj.endOfSentence(UnicodeString, iPos, oLocale)
+ if (iPos &lt; sStart OR iPos &gt; sEnd) then
+ bOK = false
+ Out.Log("From position " + iPos + " sentence range is [" + sStart + ", " + sEnd + "]")
+ Out.Log("'" + mid(UnicodeString, sStart + 1, sEnd - sStart) + "'")
+ end if
+ iPos = iPos + 1
+ wend
+
+ if (bOK) then
+ bOK = oObj.beginOfSentence(UnicodeString, -10, oLocale) = -1
+ bOK = oObj.endOfSentence(UnicodeString, -10, oLocale) = -1
+ bOK = oObj.beginOfSentence(UnicodeString, len(UnicodeString) + 1, oLocale) = -1
+ bOK = oObj.endOfSentence(UnicodeString, len(UnicodeString) + 1, oLocale) = -1
+ if (NOT bOK) then Out.Log("When invalid position, returned range is NOT [-1, -1]")
+ end if
+
+ Test.MethodTested("beginOfSentence()", bOK)
+ Test.MethodTested("endOfSentence()", bOK)
+
+ Test.StartMethod("getLineBreak()")
+ bOK = true
+ Dim LineBreakResults As Variant
+ Dim _LineBreakHyphenationOptions As new com.sun.star.i18n.LineBreakHyphenationOptions
+ Dim _LineBreakUserOptions As new com.sun.star.i18n.LineBreakUserOptions
+ Dim breakPos As Long, pos As Long
+ _LineBreakUserOptions.applyForbiddenRules = false
+ _LineBreakUserOptions.allowHyphenateEnglish = false
+
+ breakPos = 0 : pos = 0
+
+ while breakPos = 0 AND pos &lt; len(UnicodeString)
+ LineBreakResults = oObj.getLineBreak(UnicodeString, pos, oLocale, 0, _LineBreakHyphenationOptions, _LineBreakUserOptions)
+ breakPos = LineBreakResults.BreakIndex
+ pos = pos + 1
+ wend
+
+ ' finally the position of break must be found in the middle and
+ ' it must be before the break position specified
+ bOK = (breakPos &lt;= pos AND breakPos > 0)
+
+ if (NOT bOK) then
+ Out.Log("The last position was: " + pos + ", and the break position was: " + breakPos)
+ end if
+
+ Test.MethodTested("getLineBreak()", bOK)
+
+
+ Test.StartMethod("beginOfScript()")
+ Test.StartMethod("endOfScript()")
+ bOK = true
+ Out.Log("Searching for scripts...")
+ iPos = 0
+ nBoundsToTest = 0
+
+ while iPos &lt; len(UnicodeString) AND iPos &gt; -1 AND nBoundsToTest &lt; arrSize
+ iType = oObj.getScriptType(UnicodeString, iPos)
+ BoundsToTest(nBoundsToTest).startPos = oObj.beginOfScript(UnicodeString, iPos, iType)
+ BoundsToTest(nBoundsToTest).endPos = oObj.endOfScript(UnicodeString, iPos, iType)
+ Types(nBoundsToTest) = iType
+ iPos = BoundsToTest(nBoundsToTest).endPos
+ Out.Log("Type: " + iType + "; Bounds: [" + BoundsToTest(nBoundsToTest).startPos + "," + BoundsToTest(nBoundsToTest).endPos + "]")
+ nBoundsToTest = nBoundsToTest + 1
+ wend
+ bOK = bOK AND nBoundsToTest &gt; 0
+
+ Test.MethodTested("beginOfScript()", bOK)
+ Test.MethodTested("endOfScript()", bOK)
+
+
+ Test.StartMethod("nextScript()")
+ bOK = true
+ i = 1
+ iPos = -1
+ while i &lt; nBoundsToTest AND bOK
+ iPos = oObj.nextScript(UnicodeString, iPos, Types(i))
+ Out.Log("Expected index for Type " + Types(i) + " for nextScript is " + BoundsToTest(i).startPos)
+ bOK = bOK AND iPos = BoundsToTest(i).startPos
+ Out.Log("NextScript returned " + iPos + ";")
+ i = i + 1
+ wend
+ Test.MethodTested("nextScript()", bOK)
+
+ Test.StartMethod("previousScript()")
+ bOK = true
+ i = nBoundsToTest - 2
+ iPos = len(UnicodeString) + 1
+ while i &gt;= 0 AND bOK
+ iPos = oObj.previousScript(UnicodeString, iPos, Types(i))
+ Out.Log("Expected index for Type " + Types(i) + " for previousScript is " + BoundsToTest(i).startPos)
+ bOK = bOK AND iPos = BoundsToTest(i).startPos
+ Out.Log("PreviousScript returned " + iPos + ";")
+ i = i - 1
+ wend
+ Test.MethodTested("previousScript()", bOK)
+
+ Test.StartMethod("getScriptType()")
+ bOK = true
+ for i = 0 to 2
+ iPos = oObj.getScriptType(UnicodeString, ScriptType(i, 0))
+ Out.Log("Expected result is: ScriptType = " + ScriptType(i, 1))
+ Out.Log("Actual result is: ScriptType = " + iPos)
+ bOK = bOK AND iPos = ScriptType(i, 1)
+ next i
+ Test.MethodTested("getScriptType()", bOK)
+
+ Test.StartMethod("beginOfCharBlock()")
+ Test.StartMethod("endOfCharBlock()")
+ bOK = true
+ Out.Log("getting CharBlocks bounds...")
+ iPos = 0
+ nBoundsToTest = 0
+
+ while iPos &lt; len(UnicodeString) AND iPos &gt; -1 AND nBoundsToTest &lt; arrSize
+ iType = getCharBlockType(iPos)
+ BoundsToTest(nBoundsToTest).startPos = oObj.beginOfCharBlock(UnicodeString, iPos, oLocale, iType)
+ BoundsToTest(nBoundsToTest).endPos = oObj.endOfCharBlock(UnicodeString, iPos, oLocale, iType)
+ iPos = BoundsToTest(nBoundsToTest).endPos
+ Out.Log("" + nBoundsToTest + "). Bounds: [" + BoundsToTest(nBoundsToTest).startPos + "," + BoundsToTest(nBoundsToTest).endPos + "]; Type = " + iType)
+ Types(nBoundsToTest) = iType
+ nBoundsToTest = nBoundsToTest + 1
+ wend
+
+ for i = 0 to nBoundsToTest - 2
+ bOK = bOK AND BoundsToTest(i).endPos = BoundsToTest(i + 1).startPos
+ next
+ Out.Log("Testing for no intersections : " + bOK)
+ bOK = bOK AND BoundsToTest(0).startPos = 0
+ bOK = bOK AND BoundsToTest(nBoundsToTest - 1).endPos = len(UnicodeString)
+ Out.Log("Regions should starts with 0 and ends with " + len(UnicodeString))
+
+ Test.MethodTested("beginOfCharBlock()", bOK)
+ Test.MethodTested("endOfCharBlock()", bOK)
+
+ Test.StartMethod("nextCharBlock()")
+ bOK = true
+ for i = 0 to nBoundsToTest - 1
+ iPos = oObj.nextCharBlock(UnicodeString, BoundsToTest(i).startPos - 1, oLocale, Types(i))
+ if (iPos &lt;&gt; BoundsToTest(i).startPos) then
+ bOK = false
+ Out.Log("nextCharBlock(UnicodeString, " + BoundsToTest(i).startPos - 1 + ", oLocale, " + Types(i) + ") should return " + BoundsToTest(i).startPos)
+ Out.Log("... and actual value is " + iPos)
+ end if
+ next i
+ Test.MethodTested("nextCharBlock()", bOK)
+
+ Test.StartMethod("previousCharBlock()")
+ bOK = true
+ for i = 0 to nBoundsToTest - 1
+ iPos = oObj.previousCharBlock(UnicodeString, BoundsToTest(i).endPos + 1, oLocale, Types(i))
+ if (iPos &lt;&gt; BoundsToTest(i).startPos) then
+ bOK = false
+ Out.Log("previousCharBlock(UnicodeString, " + BoundsToTest(i).startPos - 1 +", oLocale, " + Types(i) + ") should return " + BoundsToTest(i).startPos)
+ Out.Log("... and actual value is " + iPos)
+ end if
+ next i
+ Test.MethodTested("previousCharBlock()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Function getCharBlockType(pos As Integer) As Integer
+ Dim i As Integer
+ Dim cType As Integer
+
+ cType = 0
+ i = 1
+ while (i &lt; 31)
+ if (oObj.beginOfCharBlock(UnicodeString, pos, oLocale, i) &lt;&gt; -1) then
+ cType = i
+ i = 100
+ end if
+ i = i + 1
+ wend
+
+ getCharBlockType = cType
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XBreakIterator/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XBreakIterator/script.xlb
new file mode 100644
index 000000000000..245750532c7b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XBreakIterator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XBreakIterator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XBreakIterator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba b/qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba
new file mode 100644
index 000000000000..c3d7befd4987
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XCalendar" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XCalendar
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oLocaleData As Object
+ Dim oLocale As Object
+ Dim allLocales As Variant
+ Dim allCalendars As Variant
+ Dim uniqueID As String
+ Dim oCalendar As Object
+ Dim dDateTime As Double
+ Dim aValue As Variant
+ Dim oldValue As Variant
+ Dim newValue As Variant
+ Dim i As Integer
+
+ oLocaleData = createUnoService("com.sun.star.i18n.LocaleData")
+ allLocales = oLocaleData.getAllInstalledLocaleNames()
+ Out.Log("Found " + ubound(allLocales) + " Loacales registered in the system")
+ Randomize
+ oLocale = allLocales(rnd * ubound(allLocales))
+ Out.Log("Choose for testing : " + oLocale.Country)
+
+ Test.StartMethod("getAllCalendars()")
+ bOK = true
+ allCalendars = oObj.getAllCalendars(oLocale)
+ Out.Log("There are " + ubound(allCalendars) + 1 + " calendars for this locale.")
+ bOK = bOK AND NOT isNULL(allCalendars)
+ Test.MethodTested("getAllCalendars()", bOK)
+
+ Test.StartMethod("loadDefaultCalendar()")
+ bOK = true
+ oObj.loadDefaultCalendar(oLocale)
+ bOK = bOK AND oObj.getLoadedCalendar().Default
+ Test.MethodTested("loadDefaultCalendar()", bOK)
+
+ Test.StartMethod("getUniqueID()")
+ bOK = true
+ uniqueID = oObj.getUniqueID()
+ Out.Log("UniqueID for loaded calendar is " + uniqueID)
+ bOK = bOK AND (uniqueID = allCalendars(0))
+ Test.MethodTested("getUniqueID()", bOK)
+
+ Test.StartMethod("loadCalendar()")
+ bOK = true
+ oObj.loadCalendar(allCalendars(0), oLocale)
+ bOK = bOK AND NOT isNULL(oObj.getLoadedCalendar())
+ Test.MethodTested("loadCalendar()", bOK)
+
+ Test.StartMethod("getLoadedCalendar()")
+ bOK = true
+ oCalendar = oObj.getLoadedCalendar()
+ Out.Log("Loaded calendar's name is '" + oCalendar.Name + "'")
+ bOK = bOK AND NOT isNULL(oCalendar)
+ Test.MethodTested("getLoadedCalendar()", bOK)
+
+ Test.StartMethod("setDateTime()")
+ Test.StartMethod("getDateTime()")
+ bOK = true
+ oObj.setDateTime(12345.25)
+ dDateTime = oObj.getDateTime()
+ bOK = bOK AND dDateTime = 12345.25
+ Out.Log("Expected: 12345,25; Actual: " + dDateTime)
+ Test.MethodTested("setDateTime()", bOK)
+ Test.MethodTested("getDateTime()", bOK)
+
+ Test.StartMethod("getFirstDayOfWeek()")
+ Test.StartMethod("setFirstDayOfWeek()")
+ bOK = true
+ oObj.setFirstDayOfWeek(com.sun.star.i18n.Weekdays.SATURDAY)
+ Out.Log("Expected: " + com.sun.star.i18n.Weekdays.SATURDAY + ", Actual: " + oObj.getFirstDayOfWeek())
+ bOK = bOK AND oObj.getFirstDayOfWeek() = com.sun.star.i18n.Weekdays.SATURDAY
+ oObj.setFirstDayOfWeek(com.sun.star.i18n.Weekdays.SUNDAY)
+ Out.Log("Expected: " + com.sun.star.i18n.Weekdays.SUNDAY + ", Actual: " + oObj.getFirstDayOfWeek())
+ bOK = bOK AND oObj.getFirstDayOfWeek() = com.sun.star.i18n.Weekdays.SUNDAY
+
+ Test.MethodTested("getFirstDayOfWeek()", bOK)
+ Test.MethodTested("setFirstDayOfWeek()", bOK)
+
+ Test.StartMethod("setValue()")
+ Test.StartMethod("getValue()")
+ bOK = true
+ bOK = bOK AND TestValue(1, com.sun.star.i18n.Months.JANUARY, 2001, com.sun.star.i18n.WeekDays.MONDAY, 1, 1)
+ '1.01.2001 - Monday, 1-st week of month, 1-st week of year
+ bOK = bOK AND TestValue(12, com.sun.star.i18n.Months.JULY, 2001, com.sun.star.i18n.WeekDays.THURSDAY, 2, 28)
+ '12.07.2001 - Thursday, 2-nd week of month, 28-st week of year
+
+ Test.MethodTested("setValue()", bOK)
+ Test.MethodTested("getValue()", bOK)
+
+ Test.StartMethod("addValue()")
+ bOK = true
+
+ bOK = bOK AND TestAddValue("DST_OFFSET", com.sun.star.i18n.CalendarFieldIndex.DST_OFFSET, 1, 0)
+ bOK = bOK AND TestAddValue("DAY_OF_MONTH", com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, 1, 0)
+ bOK = bOK AND TestAddValue("MONTH", com.sun.star.i18n.CalendarFieldIndex.MONTH, 3, 12)
+ bOK = bOK AND TestAddValue("YEAR", com.sun.star.i18n.CalendarFieldIndex.YEAR, -1, 0)
+ bOK = bOK AND TestAddValue("HOUR", com.sun.star.i18n.CalendarFieldIndex.HOUR, 7, 24)
+ bOK = bOK AND TestAddValue("MINUTE", com.sun.star.i18n.CalendarFieldIndex.MINUTE, 31, 60)
+ bOK = bOK AND TestAddValue("SECOND", com.sun.star.i18n.CalendarFieldIndex.SECOND, 13, 60)
+ bOK = bOK AND TestAddValue("MILLISECOND", com.sun.star.i18n.CalendarFieldIndex.MILLISECOND, 67, 1000)
+ bOK = bOK AND TestAddValue("ERA", com.sun.star.i18n.CalendarFieldIndex.ERA, -1, 0)
+
+ Test.MethodTested("addValue()", bOK)
+
+ Test.StartMethod("getNumberOfMonthsInYear()")
+ bOK = true
+ aValue = oObj.getNumberOfMonthsInYear()
+ Out.Log("There are " + aValue + " months in year")
+ bOK = bOK AND aValue = 12
+ Test.MethodTested("getNumberOfMonthsInYear()", bOK)
+
+ Test.StartMethod("getNumberOfDaysInWeek()")
+ bOK = true
+ aValue = oObj.getNumberOfDaysInWeek()
+ Out.Log("There are " + aValue + " days in week")
+ bOK = bOK AND aValue = 7
+ Test.MethodTested("getNumberOfDaysInWeek()", bOK)
+
+ Test.StartMethod("getMinimumNumberOfDaysForFirstWeek()")
+ bOK = true
+ aValue = oObj.getMinimumNumberOfDaysForFirstWeek()
+ Out.Log("MinimumNumberOfDaysForFirstWeek = " + aValue)
+ bOK = bOK AND aValue &gt; 0 AND aValue &lt; 8
+ Test.MethodTested("getMinimumNumberOfDaysForFirstWeek()", bOK)
+
+ Test.StartMethod("setMinimumNumberOfDaysForFirstWeek()")
+ bOK = true
+ oObj.setMinimumNumberOfDaysForFirstWeek(211)
+ aValue = oObj.getMinimumNumberOfDaysForFirstWeek()
+ Out.Log("MinimumNumberOfDaysForFirstWeek = " + aValue)
+ bOK = bOK AND aValue &gt; 0 AND aValue &lt; 8
+ Test.MethodTested("setMinimumNumberOfDaysForFirstWeek()", bOK)
+
+ Test.StartMethod("getMonths()")
+ bOK = true
+ Dim allMonths As Variant
+ Dim cAllMonths As String
+ allMonths = oObj.getMonths()
+ Out.Log("Returned " + ubound(allMonths) + 1 + " months.")
+ bOK = bOK AND ubound(allMonths) + 1= oObj.getNumberOfMonthsInYear()
+ if (bOK) then
+ cAllMonths = ""
+ for i = 0 to ubound(allMonths)
+ cAllMonths = cAllMonths + allMonths(i).FullName + ", "
+ next i
+ Out.Log("Months: " + cAllMonths)
+ end if
+
+ Test.MethodTested("getMonths()", bOK)
+
+ Test.StartMethod("getDays()")
+ bOK = true
+ Dim allDays As Variant
+ Dim cAllDays As String
+ allDays = oObj.getDays()
+ Out.Log("Returned " + ubound(allMonths) + 1 + " days.")
+ bOK = bOK AND ubound(allDays) + 1= oObj.getNumberOfDaysInWeek()
+ if (bOK) then
+ cAllDays = ""
+ for i = 0 to ubound(allDays)
+ cAllDays = cAllDays + allDays(i).FullName + ", "
+ next i
+ Out.Log("Days: " + cAllDays)
+ end if
+ Test.MethodTested("getDays()", bOK)
+
+ Test.StartMethod("getDisplayName()")
+ bOK = true
+ Dim cDisplayName As String
+ cDisplayName = oObj.getDisplayName(com.sun.star.i18n.CalendarDisplayIndex.MONTH, com.sun.star.i18n.Months.JANUARY, 1)
+ Out.Log("Full name for JANUARY is: " + cDisplayName)
+ bOK = bOK AND cDisplayName &lt;&gt; ""
+ Test.MethodTested("getDisplayName()", bOK)
+
+ Test.StartMethod("isValid()")
+ bOK = true
+
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, 30)
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.MONTH, com.sun.star.i18n.Months.FEBURARY)
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.YEAR, 2001)
+ Out.Log("isValid() = " + oObj.isValid())
+ bOK = bOK AND NOT oObj.isValid()
+
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, 27)
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.MONTH, com.sun.star.i18n.Months.FEBURARY)
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.YEAR, 2001)
+ Out.Log("isValid() = " + oObj.isValid())
+ bOK = bOK AND oObj.isValid()
+
+ Test.MethodTested("isValid()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function TestValue(_Day As Integer, _Month As Integer, _Year As Integer, _
+ _Day_of_week As Integer, _Week_of_month As Integer, _Week_of_year As Integer) As Boolean
+
+ Dim bOK As Boolean
+ Dim aDay As Integer, aMonth As Integer, aYear As Integer
+ Dim aDay_of_week As Integer, aWeek_of_Month As Integer, aWeek_of_year As Integer
+
+ bOK = true
+
+ Out.Log("Set date to " + _Day + "." + _Month + "." + _Year + ";")
+
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, _Day)
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.MONTH, _Month)
+ oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.YEAR, _Year)
+
+ aDay = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH)
+ aMonth = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.MONTH)
+ aYear = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.YEAR)
+
+ Out.Log("Now date is " + aDay + "." + aMonth + "." + aYear + ";")
+
+ bOK = (aDay = _Day) AND (aMonth = _Month) AND (aYear = _Year)
+
+ if (bOK) then
+ aDay_of_week = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_WEEK)
+ aWeek_of_month = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.WEEK_OF_MONTH)
+ aWeek_of_year = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.WEEK_OF_YEAR)
+ Out.Log("aDay_of_week: Expected: " + _Day_of_week + ", Actual: " + aDay_of_week)
+ Out.Log("aWeek_of_month: Expected: " + _Week_of_month + ", Actual: " + aWeek_of_month)
+ Out.Log("aWeek_of_year: Expected: " + _Week_of_year + ", Actual: " + aWeek_of_year)
+ bOK = (aDay_of_week = _Day_of_week) AND (aWeek_of_month = _Week_of_month) AND (aWeek_of_year = _Week_of_year)
+ end if
+
+ TestValue() = bOK
+
+Exit Function
+ErrHndl:
+ Test.Exception()
+ TestValue() = false
+End Function
+
+Function TestAddValue(valname As String, Idx As Integer, incValue As Integer, valModule As Integer) As Boolean
+ Dim aValue As Integer
+ Dim newValue As Integer
+ Dim bOK As Boolean
+
+ aValue = oObj.getValue(idx)
+ oObj.addValue(idx, incValue)
+ newValue = oObj.getValue(idx)
+ if (valModule = 0) then
+ bOK = (newValue = (aValue + incValue))
+ Out.Log(valname + ": Expected: " + (aValue + incValue) + ", Actual: " + newValue)
+ else
+ bOK = (newValue = (aValue + incValue) mod valModule)
+ Out.Log(valname + ": Expected: " + (aValue + incValue) mod valModule + ", Actual: " + newValue)
+ end if
+ TestAddValue() = bOK
+Exit Function
+ErrHndl:
+ Test.Exception()
+ TestAddValue() = false
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XCalendar/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XCalendar/script.xlb
new file mode 100644
index 000000000000..2eedd64721be
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XCalendar/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XCalendar" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XCalendar"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/i18n_XCharacterClassification.xba b/qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/i18n_XCharacterClassification.xba
new file mode 100644
index 000000000000..d31b612cab49
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/i18n_XCharacterClassification.xba
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XCharacterClassification" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XCharacterClassification
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sType As Variant
+ Dim cString1 As String, cString2 As String
+ Dim cRes As Variant, sDir As Variant
+
+ Const cString = "TestString1"
+
+ Dim Locale As New com.sun.star.lang.Locale
+
+ Locale.Language = "DE"
+ Locale.Country = "GERMANY"
+ Locale.Variant = ""
+
+ Test.StartMethod("toUpper()")
+ bOK = true
+ cRes = oObj.toUpper(cString, 2, 3, Locale)
+ bOK = bOK AND Comp(cRes, "STS")
+ Test.MethodTested("toUpper()", bOK)
+
+ Test.StartMethod("toLower()")
+ bOK = true
+ cRes = oObj.toLower(cString, 2, 3, Locale)
+ bOK = bOK AND Comp(cRes, "sts")
+ Test.MethodTested("toLower()", bOK)
+
+ Test.StartMethod("toTitle()")
+ bOK = true
+ cRes = oObj.toTitle(cString, 2, 3, Locale)
+ bOK = bOK AND Comp(cRes, "STS")
+ Test.MethodTested("toTitle()", bOK)
+
+ Test.StartMethod("getType()")
+ bOK = true
+ bOK = bOK AND oObj.getType(cString, 0) &lt;&gt; oObj.getType(cString, 2)
+ Test.MethodTested("getType()", bOK)
+
+ Test.StartMethod("getCharacterDirection()")
+ bOK = true
+ sDir = oObj.getCharacterDirection(cString, 1)
+ bOK = bOK AND isNumeric(sDir)
+ Test.MethodTested("getCharacterDirection()", bOK)
+
+ Test.StartMethod("getScript()")
+ bOK = true
+ bOK = bOK AND isNUmeric(oObj.getScript(cString, 0))
+ Test.MethodTested("getScript()", bOK)
+
+ Test.StartMethod("getCharacterType()")
+ bOK = true
+ sType = oObj.getCharacterType(cString, 0, Locale)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.UPPER)
+ bOK = bOK AND NOT (sType AND com.sun.star.i18n.KCharacterType.DIGIT)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.BASE_FORM)
+ sType = oObj.getCharacterType(cString, 1, Locale)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.LOWER)
+ bOK = bOK AND NOT (sType AND com.sun.star.i18n.KCharacterType.DIGIT)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.BASE_FORM)
+ sType = oObj.getCharacterType(cString, 10, Locale)
+ bOK = bOK AND NOT (sType AND com.sun.star.i18n.KCharacterType.UPPER)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.DIGIT)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.BASE_FORM)
+ Test.MethodTested("getCharacterType()", bOK)
+
+ Test.StartMethod("getStringType()")
+ bOK = true
+ sType = oObj.getStringType(cString, 0, 10, Locale)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.UPPER)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.LOWER)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.BASE_FORM)
+ bOK = bOK AND NOT (sType AND com.sun.star.i18n.KCharacterType.DIGIT)
+ sType = oObj.getStringType(cString, 0, 11, Locale)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.UPPER)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.LOWER)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.BASE_FORM)
+ bOK = bOK AND (sType AND com.sun.star.i18n.KCharacterType.DIGIT)
+ Test.MethodTested("getStringType()", bOK)
+
+ Test.StartMethod("parseAnyToken()")
+ bOK = true
+
+ cString1 = "int _ind1 = 1234;"
+ Out.Log ("Parsing string: " + cString1)
+ Dim tTypes(10) As Integer
+ Dim tVals(10) As String
+ Dim nStartChartFlags As Variant, userDefinedCharactersStart As Variant
+ Dim nContCharFlags As Variant, userDefinedCharactersCont As Variant, nTokenType As Variant
+
+ with com.sun.star.i18n.KParseType
+ tTypes(0) = .IDENTNAME: tVals(0) = "int"
+ tTypes(1) = .IDENTNAME: tVals(1) = "_ind1"
+ tTypes(2) = .ONE_SINGLE_CHAR: tVals(2) = "="
+ tTypes(3) = .ANY_NUMBER: tVals(3) = "1234"
+ end with
+
+ with com.sun.star.i18n.KParseTokens
+ nStartChartFlags = .ANY_ALPHA OR .IGNORE_LEADING_WS
+ userDefinedCharactersStart = "_"
+ nContCharFlags = nStartChartFlags OR .ANY_ALNUM
+ userDefinedCharactersCont = ""
+ end with
+
+ Dim nStart As Integer, idx As Integer, nPos As Integer
+ Dim pRes As Variant
+ Dim cActStr As String
+
+ nStart = 1
+ idx = 0
+
+ while nStart &lt; Len(cString1)
+ pRes = oObj.parseAnyToken(cString1, nStart - 1, Locale, nStartChartFlags, userDefinedCharactersStart, _
+ nContCharFlags, userDefinedCharactersCont)
+
+ Out.Log("Type is " + pRes.TokenType)
+ if (pRes.TokenType = 0) then
+ nStart = nStart + 1
+ else
+ Out.Log("Type is as expexted - " + ((pRes.TokenType AND tTypes(idx)) &gt; 0))
+ bOK = bOK AND (pRes.TokenType AND tTypes(idx))
+ cActStr = mid(cString1, (nStart + pRes.LeadingWhiteSpace), pRes.EndPos - (nStart + pRes.LeadingWhiteSpace) + 1)
+ Out.Log("Expected: '" + tVals(idx) + "'; actual is: '" + cActStr + "'")
+ bOK = bOK AND (cActStr = tVals(idx))
+ nStart = pRes.EndPos + 1
+ end if
+ idx = idx + 1
+ wend
+ Test.MethodTested("parseAnyToken()", bOK)
+
+ Test.StartMethod("parsePredefinedToken()")
+ bOK = true
+
+ cString2 = "1a, _a1$5"
+ with com.sun.star.i18n.KParseType
+ nTokenType = .IDENTNAME
+ end with
+ with com.sun.star.i18n.KParseTokens
+ nStartChartFlags = .ANY_ALPHA OR .IGNORE_LEADING_WS
+ userDefinedCharactersStart = "_"
+ nContCharFlags = nStartChartFlags OR .ANY_ALNUM
+ userDefinedCharactersCont = ""
+ end with
+
+ tVals(0) = "a"
+ tVals(1) = "_a1"
+
+ nPos = 1
+ idx = 0
+ while nPos &lt; Len(cString2)
+ pRes = oObj.parsePredefinedToken(nTokenType, cString2, nPos - 1, Locale, nStartChartFlags, userDefinedCharactersStart, _
+ nContCharFlags, userDefinedCharactersCont)
+
+ Out.Log("Type is " + pRes.TokenType)
+ if (pRes.TokenType = 0) then
+ nPos = nPos + 1
+ else
+ bOK = bOK AND (pRes.TokenType AND tTypes(idx))
+ cActStr = mid(cString2, (nPos + pRes.LeadingWhiteSpace), pRes.EndPos - (nPos + pRes.LeadingWhiteSpace) + 1)
+ bOK = bOK AND Comp(cActStr, tVals(idx))
+ nPos = pRes.EndPos + 1
+ idx = idx + 1
+ end if
+ wend
+
+ bOK = bOK AND true
+ Test.MethodTested("parsePredefinedToken()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Function Comp(cS1 As String, cS2 As String) As Boolean
+ Out.Log("Expected : '" + cS2 + "', actual : '" + cS1 + "'")
+ Comp = cS1 = cS2
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/script.xlb
new file mode 100644
index 000000000000..730b504c245b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XCharacterClassification/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XCharacterClassification" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XCharacterClassification"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XCollator/i18n_XCollator.xba b/qadevOOo/tests/basic/ifc/i18n/XCollator/i18n_XCollator.xba
new file mode 100644
index 000000000000..4a4f7cc02bac
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XCollator/i18n_XCollator.xba
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XCollator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oLocal As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XCollator
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim Algorithms As Variant
+ Dim options As Variant
+
+ Test.StartMethod("listCollatorAlgorithms()")
+ bOK = true
+ Algorithms = oObj.listCollatorAlgorithms(oLocale)
+ Out.Log("Found " + (ubound(Algorithms) + 1) + " algorithms.")
+ bOK = bOK AND ubound(Algorithms) &gt;= 0
+ Test.MethodTested("listCollatorAlgorithms()", bOK)
+
+ Test.StartMethod("loadCollatorAlgorithm()")
+ bOK = true
+ options = com.sun.star.i18n.CollatorOptions.CollatorOptions_IGNORE_CASE
+ oObj.loadCollatorAlgorithm(Algorithms(0), oLocale, options)
+ bOK = bOK AND oObj.compareString("A", "a") = 0
+ oObj.loadCollatorAlgorithm(Algorithms(0), oLocale, 0)
+ bOK = bOK AND oObj.compareString("A", "a") &lt;&gt; 0
+ Test.MethodTested("loadCollatorAlgorithm()", bOK)
+
+ Test.StartMethod("loadDefaultCollator()")
+ bOK = true
+ oObj.loadDefaultCollator(oLocale, 0)
+ bOK = bOK AND oObj.compareString("A", "a") &lt;&gt; 0
+ oObj.loadDefaultCollator(oLocale, options)
+ bOK = bOK AND oObj.compareString("A", "a") = 0
+ Test.MethodTested("loadDefaultCollator()", bOK)
+
+ Test.StartMethod("listCollatorOptions()")
+ bOK = true
+ options = oObj.listCollatorOptions(Algorithms(0))
+ Out.Log("Found " + (ubound(options) + 1) + " options.")
+ bOK = bOK AND ubound(options) &gt;= 0
+ Test.MethodTested("listCollatorOptions()", bOK)
+
+ Test.StartMethod("compareSubstring()")
+ bOK = true
+ bOK = bOK AND oObj.compareSubstring("a", 0, 1, "B", 0, 1) = -1
+ bOK = bOK AND oObj.compareSubstring("A", 0, 1, "b", 0, 1) = -1
+ bOK = bOK AND oObj.compareSubstring("A", 0, 1, "a", 0, 1) = 0
+ Test.MethodTested("compareSubstring()", bOK)
+
+ Test.StartMethod("compareString()")
+ bOK = true
+ bOK = bOK AND oObj.compareString("a", "B") = -1
+ bOK = bOK AND oObj.compareString("A", "b") = -1
+ bOK = bOK AND oObj.compareString("A", "a") = 0
+ Test.MethodTested("compareString()", bOK)
+
+ Test.StartMethod("loadCollatorAlgorithmWithEndUserOption()")
+ bOK = true
+ Dim noOptions() As Integer
+ Dim optionsArray(0) As Integer
+ Dim ColAlgorithm As String
+
+ colAlgorithm = "alphanumeric"
+ Out.Log("Used collation algorithm: "+colAlgorithm)
+ optionsArray(0) = com.sun.star.i18n.CollatorOptions.CollatorOptions_IGNORE_CASE
+ oObj.loadCollatorAlgorithmWithEndUserOption(colAlgorithm, oLocale, noOptions())
+ bOK = bOK AND oObj.compareString("A", "a") = 1
+ bOK = bOK AND oObj.compareString("a", "A") = -1
+ bOK = bOK AND oObj.compareString("a", "a") = 0
+ oObj.loadCollatorAlgorithmWithEndUserOption(colAlgorithm, oLocale, optionsArray())
+ bOK = bOK AND oObj.compareString("A", "a") = 0
+ bOK = bOK AND oObj.compareString("a", "A") = 0
+ bOK = bOK AND oObj.compareString("a", "a") = 0
+ Test.MethodTested("loadCollatorAlgorithmWithEndUserOption()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XCollator/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XCollator/script.xlb
new file mode 100644
index 000000000000..0a2236d45ade
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XCollator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XCollator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XCollator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/i18n_XIndexEntrySupplier.xba b/qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/i18n_XIndexEntrySupplier.xba
new file mode 100644
index 000000000000..f1798683fd02
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/i18n_XIndexEntrySupplier.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XIndexEntrySupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oLocale As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XIndexEntrySupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim entry As String, index As String
+
+ Test.StartMethod("getIndexCharacter()")
+ bOK = true
+ entry = "abc"
+ index = oObj.getIndexCharacter("abc", oLocale, "")
+ Out.Log("Index key for entry '" + entry + "' is '" + index + "'")
+ bOK = bOK AND index = "A" OR index = "a"
+ Test.MethodTested("getIndexCharacter()", bOK)
+
+ Test.StartMethod("getIndexFollowPageWord()")
+ bOK = true
+ Out.Log("getIndexFollowPageWord(true, oLocale) returned " + oObj.getIndexFollowPageWord(true, oLocale))
+ bOK = bOK AND oObj.getIndexFollowPageWord(true, oLocale) &lt;&gt; ""
+ Out.Log("getIndexFollowPageWord(false, oLocale) returned " + oObj.getIndexFollowPageWord(false, oLocale))
+ bOK = bOK AND oObj.getIndexFollowPageWord(true, oLocale) &lt;&gt; ""
+ Test.MethodTested("getIndexFollowPageWord()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/script.xlb
new file mode 100644
index 000000000000..33a460d62c30
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XIndexEntrySupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XIndexEntrySupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XIndexEntrySupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XLocaleData/i18n_XLocaleData.xba b/qadevOOo/tests/basic/ifc/i18n/XLocaleData/i18n_XLocaleData.xba
new file mode 100644
index 000000000000..88c9952fb920
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XLocaleData/i18n_XLocaleData.xba
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XLocaleData" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XLocaleData
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim AllNames As Variant, nNamesCount As Integer, i As Integer
+ Dim Locale As Variant, oInfo As Variant, LocItem As Variant
+ Dim AllCalendars As Variant, AllCurrencies As Variant
+ Dim AllFormats As Variant, Implementations As Variant
+ Dim sOpt As Variant, size As Variant
+ Dim rtLit As Variant, fbc As Variant, rw As Variant
+
+ Test.StartMethod("getAllInstalledLocaleNames()")
+ bOK = true
+ AllNames = oObj.getAllInstalledLocaleNames()
+ nNamesCount = ubound(AllNames)
+ Out.Log("Found " + nNamesCount + " Loacales registered in the system")
+
+ for i = 0 to nNamesCount
+ Out.Log("" + i + "). " + AllNames(i).Country + ";" + AllNames(i).Language + ";" + AllNames(i).Variant)
+ next i
+
+ Randomize
+ Locale = AllNames(rnd * nNamesCount)
+ Out.Log("Choose for testing : " + Locale.Country)
+
+ bOK = bOK AND NOT isNULL(Locale)
+ Test.MethodTested("getAllInstalledLocaleNames()", bOK)
+
+ Test.StartMethod("getLanguageCountryInfo()")
+ bOK = true
+ oInfo = oObj.getLanguageCountryInfo(Locale)
+ bOK = bOK AND oInfo.Language = Locale.Language
+ bOK = bOK AND oInfo.Country = Locale.Country
+ Out.Log("Language: " + oInfo.Language + _
+ ", LanguageDefaultName: " + oInfo.LanguageDefaultName + _
+ ", Country: " + oInfo.Country + _
+ ", CountryDefaultName: " + oInfo.CountryDefaultName + _
+ ", Variant: " + oInfo.Variant)
+
+ Test.MethodTested("getLanguageCountryInfo()", bOK)
+
+ Test.StartMethod("getLocaleItem()")
+ bOK = true
+ LocItem = oObj.getLocaleItem(Locale)
+ bOK = bOK AND LocItem.unoID &lt;&gt; ""
+ Out.Log(" unoID: " + LocItem.unoID + _
+ " dateSeparator: " + LocItem.dateSeparator + _
+ " thousandSeparator: " + LocItem.thousandSeparator + _
+ " decimalSeparator: " + LocItem.decimalSeparator + _
+ " timeSeparator: " + LocItem.timeSeparator + _
+ " time100SecSeparator: " + LocItem.time100SecSeparator + _
+ " listSeparator: " + LocItem.listSeparator + _
+ " quotationStart: " + LocItem.quotationStart + _
+ " quotationEnd: " + LocItem.quotationEnd + _
+ " doubleQuotationStart: " + LocItem.doubleQuotationStart + _
+ " doubleQuotationEnd: " + LocItem.doubleQuotationEnd + _
+ " timeAM: " + LocItem.timeAM + _
+ " timePM: " + LocItem.timePM + _
+ " measurementSystem: " + LocItem.measurementSystem + _
+ " LongDateDayOfWeekSeparator: " + LocItem.LongDateDayOfWeekSeparator + _
+ " LongDateDaySeparator: " + LocItem.LongDateDaySeparator + _
+ " LongDateMonthSeparator: " + LocItem.LongDateMonthSeparator + _
+ " LongDateYearSeparator: " + LocItem.LongDateYearSeparator)
+ Test.MethodTested("getLocaleItem()", bOK)
+
+ Test.StartMethod("getAllCalendars()")
+ bOK = true
+ AllCalendars = oObj.getAllCalendars(Locale)
+ bOK = bOK AND NOT isNULL(AllCalendars(0))
+ Out.Log("Found " + ubound(AllCalendars) + 1 + " calendar(s) used in this Locale")
+
+ Dim Days As Variant, Months As Variant, Eras As Variant
+ Dim j As Integer
+ for i = 0 to ubound(AllCalendars)
+
+ Out.Log("Calendar " + i + 1 + ":")
+ Out.Log(" Days:")
+ Days = AllCalendars(i).Days
+ for j = 0 to ubound(Days)
+ Out.Log(" " + j + ") ID: " + Days(j).ID + ", AbbrevName: " + Days(j).AbbrevName + ", FullName: " + Days(j).FullName)
+ next j
+ Out.Log(" Months:")
+ Months = AllCalendars(i).Months
+ for j = 0 to ubound(Months)
+ Out.Log(" " + j + ") ID: " + Months(j).ID + ", AbbrevName: " + Months(j).AbbrevName + ", FullName: " + Months(j).FullName)
+ next j
+ Out.Log(" Eras:")
+ Eras = AllCalendars(i).Eras
+ for j = 0 to ubound(Eras)
+ Out.Log(" " + j + ") ID: " + Eras(j).ID + ", AbbrevName: " + Eras(j).AbbrevName + ", FullName: " + Eras(j).FullName)
+ next j
+ Out.Log(" StartOfWeek: " + AllCalendars(i).StartOfWeek)
+ Out.Log(" MinimumNumberOfDaysForFirstWeek: " + AllCalendars(i).MinimumNumberOfDaysForFirstWeek)
+ Out.Log(" Default: " + AllCalendars(i).Default)
+ Out.Log(" Name: " + AllCalendars(i).Name)
+ next i
+
+ Test.MethodTested("getAllCalendars()", bOK)
+
+ Test.StartMethod("getAllCurrencies()")
+ bOK = true
+ AllCurrencies = oObj.getAllCurrencies(Locale)
+ Out.Log("Found " + ubound(AllCurrencies) + 1 + " Currencies used in this Locale")
+ bOK = bOK AND NOT isNULL(AllCurrencies(0))
+ for i = 0 to ubound(AllCurrencies)
+ Out.Log("Currency " + i + 1 + ":")
+ Out.Log(" ID: " + AllCurrencies(i).ID + _
+ " Symbol: " + AllCurrencies(i).Symbol + _
+ " BankSymbol: " + AllCurrencies(i).BankSymbol + _
+ " Name: " + AllCurrencies(i).Name + _
+ " Default: " + AllCurrencies(i).Default)
+ next i
+
+ Test.MethodTested("getAllCurrencies()", bOK)
+
+ Test.StartMethod("getAllFormats()")
+ bOK = true
+ AllFormats = oObj.getAllFormats(Locale)
+ Out.Log("Found " + ubound(AllFormats) + 1 + " FormatElement(s) used in this Locale")
+ bOK = bOK AND NOT isNULL(AllFormats(0))
+ for i = 0 to ubound(AllFormats)
+ Out.Log("FormatElement " + i + 1 + ":")
+ Out.Log(" formatCode: " + AllFormats(i).formatCode + _
+ " formatName: " + AllFormats(i).formatName + _
+ " formatKey: " + AllFormats(i).formatKey + _
+ " formatType: " + AllFormats(i).formatType + _
+ " formatUsage: " + AllFormats(i).formatUsage + _
+ " formatIndex: " + AllFormats(i).formatIndex + _
+ " isDefault: " + AllFormats(i).isDefault)
+ next i
+ Test.MethodTested("getAllFormats()", bOK)
+
+ Test.StartMethod("getCollatorImplementations()")
+ bOK = true
+ Implementations = oObj.getCollatorImplementations(Locale)
+ Out.Log("Found " + (ubound(Implementations) + 1) + " Implementation(s) used in this Locale")
+ bOK = bOK AND NOT isNULL(Implementations(0))
+ for i = 0 to ubound(Implementations)
+ Out.Log("Implementation " + (i + 1) + ":")
+ Out.Log(" unoID: " + Implementations(i).unoID )
+ Out.Log(" isDefault: " + Implementations(i).isDefault)
+ next i
+ Test.MethodTested("getCollatorImplementations()", bOK)
+
+ Test.StartMethod("getSearchOptions()")
+ bOK = true
+ sOpt = oObj.getSearchOptions(Locale)
+ size = ubound(sOpt)
+ Out.Log("There are : " + (size + 1) + " search options.")
+ for i = 0 to size
+ Out.Log("'" + sOpt(i) + "'")
+ next i
+ bOK = bOK AND isArray(sOpt)
+ Test.MethodTested("getSearchOptions()", bOK)
+
+ Test.StartMethod("getCollationOptions()")
+ bOK = true
+ sOpt = oObj.getCollationOptions(Locale)
+ size = ubound(sOpt)
+ Out.Log("There are : " + (size + 1) + " collation options.")
+ for i = 0 to size
+ Out.Log("'" + sOpt(i) + "'")
+ next i
+ bOK = bOK AND isArray(sOpt)
+ Test.MethodTested("getCollationOptions()", bOK)
+
+ Test.StartMethod("getTransliterations()")
+ bOK = true
+ rtLit = oObj.getTransliterations(Locale)
+ bOK = bOK AND NOT isNULL(rtLit)
+ for i = 0 to ubound(rtLit)
+ Out.Log("" + i + 1 +") " + rtLit(i))
+ next i
+ Test.MethodTested("getTransliterations()", bOK)
+
+ Test.StartMethod("getForbiddenCharacters()")
+ bOK = true
+ fbc = oObj.getForbiddenCharacters(Locale)
+
+ Out.Log(" beginLine: " + fbc.beginLine)
+ Out.Log(" endLine: " + fbc.endLine)
+
+ bOK = bOK AND NOT isNULL(fbc)
+ Test.MethodTested("getForbiddenCharacters()", bOK)
+
+ Test.StartMethod("getReservedWord()")
+ bOK = true
+ rw = oObj.getReservedWord(Locale)
+ bOK = bOK AND NOT isNULL(rw)
+ for i = 0 to ubound(rw)
+ Out.Log("" + i + 1 +") " + rw(i))
+ next i
+ Test.MethodTested("getReservedWord()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XLocaleData/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XLocaleData/script.xlb
new file mode 100644
index 000000000000..fb7472a9c4ab
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XLocaleData/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XLocaleData" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XLocaleData"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/i18n_XNumberFormatCode.xba b/qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/i18n_XNumberFormatCode.xba
new file mode 100644
index 000000000000..752e20ab38ae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/i18n_XNumberFormatCode.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XNumberFormatCode" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XNumberFormatCode
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim vLocale As new com.sun.star.lang.Locale
+ Dim vDefault As Variant
+ Dim vFormatCode As Variant
+
+
+ Test.StartMethod("getDefault()")
+ vDefault = oObj.getDefault(1, 1, vLocale)
+ bOK = isNumeric(vDefault.Type)
+ Test.MethodTested("getDefault()", bOK)
+
+ Test.StartMethod("getFormatCode()")
+ vFormatCode = oObj.getFormatCode(1, vLocale)
+ bOK = isNumeric(vFormatCode.Usage)
+ Test.MethodTested("getFormatCode()", bOK)
+
+ Test.StartMethod("getAllFormatCode()")
+ vGetAllFormatCode = oObj.getAllFormatCode(1, vLocale)
+ bOK = uBound(vGetAllFormatCode)
+ Test.MethodTested("getAllFormatCode()", bOK)
+
+ Test.StartMethod("getAllFormatCodes()")
+ vGetAllFormatCodes = oObj.getAllFormatCodes(vLocale)
+ bOK = uBound(vGetAllFormatCodes)
+ Test.MethodTested("getAllFormatCodes()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/script.xlb
new file mode 100644
index 000000000000..3d354daa63ea
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XNumberFormatCode/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XNumberFormatCode" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XNumberFormatCode"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XTransliteration/i18n_XTransliteration.xba b/qadevOOo/tests/basic/ifc/i18n/XTransliteration/i18n_XTransliteration.xba
new file mode 100644
index 000000000000..faaf0bab69f4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XTransliteration/i18n_XTransliteration.xba
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XTransliteration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oLocale As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.i18n.XTransliteration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim availableModules As Variant
+ Dim _string As String
+ Dim i As Integer
+
+
+ Test.StartMethod("getAvailableModules()")
+ bOK = true
+ availableModules = oObj.getAvailableModules(oLocale, com.sun.star.i18n.TransliterationModules.UPPERCASE_LOWERCASE)
+ _string = ""
+ for i = 0 to ubound(availableModules)
+ _string = _string + availableModules(i) + "; "
+ next i
+ Out.Log("AvailableModules: " + _string)
+ bOK = bOK AND _string &lt;&gt; ""
+ Test.MethodTested("getAvailableModules()", bOK)
+
+ Test.StartMethod("loadModuleByImplName()")
+ bOK = true
+ oObj.loadModuleByImplName("LOWERCASE_UPPERCASE", oLocale)
+ Dim module_name As String
+ module_name = oObj.getName()
+ out.log("getName return: " + module_name)
+ bOK = module_name = "lower_to_upper(generic)"
+ Test.MethodTested("loadModuleByImplName()", bOK)
+
+ Test.StartMethod("getName()")
+ bOK = true
+ Out.Log("Module name is " + oObj.getName())
+ bOK = bOK AND oObj.getName() &lt;&gt; ""
+ Test.MethodTested("getName()", bOK)
+
+ Test.StartMethod("getType()")
+ bOK = true
+ Out.Log("Type is " + oObj.getType())
+ bOK = bOK AND oObj.getType() = 1 ' for UPPERCASE_LOWERCASE it is ONE_TO_ONE
+ Test.MethodTested("getType()", bOK)
+
+ Test.StartMethod("loadModule()")
+ bOK = true
+ oObj.loadModule(com.sun.star.i18n.TransliterationModules.LOWERCASE_UPPERCASE, oLocale)
+ bOK = bOK AND oObj.getType = com.sun.star.i18n.TransliterationType.ONE_TO_ONE
+ Test.MethodTested("loadModule()", bOK)
+
+ Test.StartMethod("loadModulesByImplNames()")
+ bOK = true
+ Dim Names(0) As String
+ Names(0) = "UPPERCASE_LOWERCASE"
+ oObj.loadModulesByImplNames(Names(), oLocale)
+ module_name = oObj.getName()
+ out.log("getName return: " + module_name)
+ bOK = module_name = "upper_to_lower(generic)"
+ Test.MethodTested("loadModulesByImplNames()", bOK)
+
+ Test.StartMethod("loadModuleNew()")
+ bOK = true
+ Dim ModulesNew(0) As Variant
+ ModulesNew(0) = com.sun.star.i18n.TransliterationModulesNew.LOWERCASE_UPPERCASE
+ oObj.loadModuleNew(ModulesNew(), oLocale)
+ bOK = bOK AND oObj.getType = com.sun.star.i18n.TransliterationType.ONE_TO_ONE
+ Test.MethodTested("loadModuleNew()", bOK)
+
+ Test.StartMethod("transliterate()")
+ Dim offset() As Variant
+ bOK = true
+ Out.Log("LOWERCASE_UPPERCASE-transliterate part of string 'AaBbCc'")
+ _string = oObj.transliterate("AaBbCc", 1, 4, offset())
+ Out.Log("Result of transliteration: " + _string)
+ bOK = bOK AND "ABBC" = _string
+ bOK = bOK AND ubound(offset()) = 3
+ for i = 0 to ubound(offset())
+ bOK = bOK AND offset(i) = i + 1
+ next i
+ Test.MethodTested("transliterate()", bOK)
+
+ Test.StartMethod("equals()")
+ bOK = true
+ Dim Match1 As Variant, Match2 As Variant
+ bOK = bOK AND oObj.equals("This is an example string to be transliterate", 2, 20, Match1, _
+ "IS IS AN EXAMPLE STR", 0, 20, Match2)
+ Test.MethodTested("equals()", bOK)
+
+ Test.StartMethod("folding()")
+ bOK = true
+ _string = oObj.folding("AaBbCc", 1, 4, offset())
+ Out.Log("Result of folding: " + _string)
+ bOK = bOK AND "ABBC" = _string
+ bOK = bOK AND ubound(offset()) = 3
+ for i = 0 to ubound(offset())
+ bOK = bOK AND offset(i) = i + 1
+ next i
+ Test.MethodTested("folding()", bOK)
+
+ Test.StartMethod("transliterateRange()")
+ Dim Result As Variant
+ bOK = true
+ oObj.loadModule(com.sun.star.i18n.TransliterationModules.IGNORE_CASE, _Locale)
+ Result = oObj.transliterateRange("a", "c")
+ for i = 0 to ubound(Result)
+ Out.Log(Result(i))
+ next i
+ bOK = bOK AND ubound(Result()) = 3 AND _
+ ((Result(0) = "a" AND Result(1) = "c" AND Result(2) = "A" AND Result(3) = "C" ) OR _
+ (Result(0) = "A" AND Result(1) = "C" AND Result(2) = "a" AND Result(3) = "c" ))
+ Test.MethodTested("transliterateRange()", bOK)
+
+ Test.StartMethod("compareString()")
+ oObj.loadModule(com.sun.star.i18n.TransliterationModules.LOWERCASE_UPPERCASE, _Locale)
+ bOK = true
+ bOK = bOK AND testString("", "", 0)
+ bOK = bOK AND testString("a", "", 1)
+ bOK = bOK AND testString("a", "a", 0)
+ bOK = bOK AND testString("A", "a", 1)
+ bOK = bOK AND testString("b", "a", 1)
+ bOK = bOK AND testString(chr(10), chr(10), 0)
+ bOK = bOK AND testString(chr(10), chr(9), 1)
+ bOK = bOK AND testString("aaa", "aaa", 0)
+ bOK = bOK AND testString("aaA", "aaa", 1)
+ bOK = bOK AND testString("aaa", "aa", 1)
+ bOK = bOK AND testString("ab", "aaa", 1)
+ bOK = bOK AND testString("aba", "aa", 1)
+ bOK = bOK AND testString("aaa" + chr(10) + chr(9) + "a", "aaa" + chr(10) + chr(9) + "a", 0)
+ bOK = bOK AND testString("aaa" + chr(9) + chr(10) + "b", "aaa" + chr(9) + chr(10) + "a", 1)
+ Test.MethodTested("compareString()", bOK)
+
+ Test.StartMethod("compareSubstring()")
+ bOK = true
+ ' substrings below must be equal
+ bOK = bOK AND testSubstring("", 0, 0, "", 0, 0, 0)
+ bOK = bOK AND testSubstring("aa", 1, 0, "", 0, 0, 0)
+ bOK = bOK AND testSubstring("aa", 1, 0, "aa", 2, 0, 0)
+ bOK = bOK AND testSubstring("a", 0, 1, "a", 0, 1, 0)
+ bOK = bOK AND testSubstring("ab", 0, 2, "ab", 0, 2, 0)
+ bOK = bOK AND testSubstring("abc", 1, 2, "abc", 1, 2, 0)
+ bOK = bOK AND testSubstring("abcdef", 0, 3, "123abc", 3, 3, 0)
+ bOK = bOK AND testSubstring("abcdef", 1, 1, "123abc", 4, 1, 0)
+
+ ' substrings below must NOT be equal
+ bOK = bOK AND testSubstring("a", 0, 1, "a", 0, 0, 1)
+ bOK = bOK AND testSubstring("aaa", 1, 1, "", 0, 0, 1)
+ bOK = bOK AND testSubstring("bbb", 2, 1, "aaa", 2, 1, 1)
+ bOK = bOK AND testSubstring("abc", 0, 3, "abc", 0, 2, 1)
+ bOK = bOK AND testSubstring("bbc", 1, 2, "bbc", 0, 2, 1)
+
+ Test.MethodTested("compareSubstring()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function testString(str1 As String, str2 As String, expRes As Integer) As Boolean
+ if expRes = 0 then
+ testString = testStringCommon(str1, str2, expRes, false)
+ else
+ testString = testStringCommon(str1, str2, expRes, true)
+ end if
+End Function
+
+Function testStringCommon(str1 As String, str2 As String, expRes As Integer, testReverse As Boolean) As Boolean
+ Dim res As Integer
+
+ testStringCommon = true
+
+ res = -666
+
+ res = oObj.compareString(str1, str2)
+
+ if res = expRes then
+ Out.Log("Comparing of '" + str1 + "' and '" + str2 + "' OK" )
+ else
+ Out.Log("Comparing of '" + str1 + "' and '" + str2 + _
+ "' FAILED; return: " + res + ", expected: " + expRes)
+ testStringCommon = false
+ end if
+
+ if NOT testReverse then
+ Exit Function
+ end if
+
+ res = -666
+
+ res = oObj.compareString(str2, str1)
+
+ if res = -expRes then
+ Out.Log("Comparing of '" + str2 + "' and '" + str1 + "' OK" )
+ else
+ Out.Log("Comparing of '" + str2 + "' and '" + str1 + _
+ "' FAILED; return: " + res + ", expected: " + -expRes)
+ testStringCommon = false
+ end if
+End Function
+
+Function testSubstring(str1 As String, p1 As Integer, len1 As Integer, _
+ str2 As String, p2 As Integer, len2 As Integer, expRes As Integer) As Boolean
+
+ testSubstring = true
+
+ Dim res As Integer
+ res = -666
+
+ res = oObj.compareSubstring(str1, p1, len1, str2, p2, len2)
+
+ if res &lt;&gt; expRes then
+ Out.Log("Comparing FAILED; return: " + res + ", expected: " + expRes + " ")
+ testSubstring = false
+ else
+ Out.Log("Comparing OK : ")
+ end if
+ Out.Log("('" + str1 + "', " + p1 + ", " + len1 + ", '" + _
+ str2 + "', " + p2 + ", " + len2 + ")")
+
+ res = -666
+
+ res = oObj.compareSubstring(str2, p2, len2, str1, p1, len1)
+
+ if res &lt;&gt; -expRes then
+ Out.Log("Comparing FAILED; return: " + res + ", expected: " + _
+ -expRes + " ")
+ testSubstring = false
+ else
+ Out.Log("Comparing OK :")
+ end if
+ Out.Log("('" + str2 + "', " + p2 + ", " + len2 + ", '" + _
+ str1 + "', " + p1 + ", " + len1 + ")")
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/i18n/XTransliteration/script.xlb b/qadevOOo/tests/basic/ifc/i18n/XTransliteration/script.xlb
new file mode 100644
index 000000000000..ea5ecbba7158
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/i18n/XTransliteration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_XTransliteration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_XTransliteration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XActiveDataControl/io_XActiveDataControl.xba b/qadevOOo/tests/basic/ifc/io/XActiveDataControl/io_XActiveDataControl.xba
new file mode 100644
index 000000000000..b62d12cabbf0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XActiveDataControl/io_XActiveDataControl.xba
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XActiveDataControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oPipe As Object
+' - Global PumpOUTFileName As String
+
+'*************************************************************************
+
+
+
+
+Dim oListener1 As Object
+Dim oListener2 As Object
+Dim CB1Started As Integer
+Dim CB1Closed As Integer
+Dim CB1Terminated As Integer
+Dim CB1Error As Integer
+Dim CB2Started As Integer
+Dim CB2Closed As Integer
+Dim CB2Terminated As Integer
+Dim CB2Error As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XActiveDataControl
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim iSize As Integer
+
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ Dim aBytes(10) As Integer
+ for i = 0 to ubound(aBytes())
+ aBytes(i) = i * 3
+ next i
+
+ Test.StartMethod("start()")
+ Test.StartMethod("terminate()")
+ bOK = true
+
+ Out.Log("Writing some bytes to Pipe")
+
+ oPipe.writeBytes(aBytes())
+
+ Out.Log("The pump was not started yet. So, PumpOUT should be of zero size")
+ Out.Log("Terminating a pipe to have an opportunity to get a file size")
+ oObj.terminate()
+
+ iSize = oFileAcc.getSize(PumpOUTFileName)
+ Out.Log("Size of file is " &amp; iSize)
+ bOK = bOK AND iSize = 0
+ DisposeObj()
+ CreateObj()
+
+ Out.Log("Writing bytes again (because object was destroyed)")
+ oPipe.writeBytes(aBytes())
+ Out.Log("... and starting pump")
+ oObj.start()
+ wait(100)
+ Out.Log("Now PumpOUT should have size " &amp; ubound(aBytes()) + 1)
+ Out.Log("Terminating a pipe to have an opportunity to get a file size")
+ oObj.terminate()
+ iSize = oFileAcc.getSize(PumpOUTFileName)
+ Out.Log("Size of file is " &amp; iSize)
+ bOK = bOK AND iSize = ubound(aBytes()) + 1
+
+ Test.MethodTested("start()", bOK)
+ Test.MethodTested("terminate()", bOK)
+
+ DisposeObj()
+ CreateObj()
+ ResetCounters()
+
+ oListener1 = createUnoListener("CB1_", "com.sun.star.io.XStreamListener")
+ oListener2 = createUnoListener("CB2_", "com.sun.star.io.XStreamListener")
+
+ Test.StartMethod("addListener()")
+ bOK = true
+ Out.Log("adding two listeners")
+ oObj.addListener(oListener1)
+ oObj.addListener(oListener2)
+ oPipe.writeBytes(aBytes())
+ oObj.start()
+ wait(100) ' for listeners to change counters
+ bOK = CB1Started = 1 AND CB2Started = 1
+ Test.MethodTested("addListener()", bOK)
+
+ DisposeObj()
+ CreateObj()
+ ResetCounters()
+
+ Test.StartMethod("removeListener()")
+ bOK = true
+ Out.Log("adding two listeners")
+ oObj.addListener(oListener1)
+ oObj.addListener(oListener2)
+ Out.Log("Removing first listener...")
+ oObj.removeListener(oListener1)
+ oPipe.writeBytes(aBytes())
+ oObj.start()
+ wait(100)
+ bOK = CB1Started = 0 AND CB2Started = 1
+ Test.MethodTested("removeListener()", bOK)
+ DisposeObj()
+ CreateObj()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub ResetCounters()
+ CB1Started = 0
+ CB1Closed = 0
+ CB1Terminated = 0
+ CB1Error = 0
+ CB2Started = 0
+ CB2Closed = 0
+ CB2Terminated = 0
+ CB2Error = 0
+End Sub
+
+Sub CB1_Started()
+ Out.Log("CB1_Started called")
+ CB1Started = CB1Started + 1
+End Sub
+
+Sub CB2_Started()
+ Out.Log("CB2_Started called")
+ CB2Started = CB2Started + 1
+End Sub
+
+Sub CB1_Closed()
+ Out.Log("CB1_Closed called")
+ CB1Closed = CB1Closed + 1
+End Sub
+
+Sub CB2_Closed()
+ Out.Log("CB2_Closed called")
+ CB2Closed = CB2Closed + 1
+End Sub
+
+Sub CB1_Terminated()
+ Out.Log("CB1_Terminated called")
+ CB1Terminated = CB1Terminated + 1
+End Sub
+
+Sub CB2_Terminated()
+ Out.Log("CB2_Terminated called")
+ CB2Terminated = CB2Terminated + 1
+End Sub
+
+Sub CB1_Error(aError As Object)
+ Out.Log("CB1_Error called")
+ CB1Error = CB1Error + 1
+End Sub
+
+Sub CB2_Error(aError As Object)
+ Out.Log("CB2_Error called")
+ CB2Error = CB2Error + 1
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XActiveDataControl/script.xlb b/qadevOOo/tests/basic/ifc/io/XActiveDataControl/script.xlb
new file mode 100644
index 000000000000..8492bc4365c6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XActiveDataControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XActiveDataControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XActiveDataControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba b/qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba
new file mode 100644
index 000000000000..d28d501553cd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XActiveDataSink" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XActiveDataSink
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oIS As Object, oPipe As Object, oGetPipe As Object
+ Dim aData As Variant, aGetData As Variant
+ Dim bytesRead As Variant
+
+ ResetStreams()
+ Test.StartMethod("getInputStream()")
+ bOK = true
+ oIS = oObj.getInputStream()
+ bOK = bOK AND hasUnoInterfaces(oIS, "com.sun.star.io.XInputStream")
+ Test.MethodTested("getInputStream()", bOK)
+
+ Test.StartMethod("setInputStream()")
+ bOK = true
+ oPipe = createUnoService("com.sun.star.io.Pipe")
+ aData = Array(23, 65, 32, 119)
+ oPipe.writeBytes(aData)
+ oObj.setInputStream(oPipe)
+ oGetPipe = oObj.getInputStream()
+ aGetData = dimArray(ubound(aData())
+ bytesRead = oGetPipe.readBytes(aGetData(), ubound(aData()) + 1)
+ Out.Log("Reading bytes: " + bytesRead)
+
+ bOK = bOK AND cmpArrays(aData, aGetData)
+
+ Out.Log("Setting old input stream ...")
+ oObj.setInputStream(oIS)
+
+ Test.MethodTested("setInputStream()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function cmpArrays(arr1 As Variant, arr2 As Variant) As Boolean
+On Error Goto ErrHndl
+ Dim bRet As Boolean
+ Dim i As Integer
+
+ bRet = true
+ if (isNull(arr1) OR isNull(arr2)) then
+ bRet = false
+ Out.Log("One of arrays is null")
+ else
+ if (ubound(arr1()) &lt;&gt; ubound(arr2())) then
+ Out.Log("UBOUND of 1st array is " + ubound(arr1()) + _
+ "UBOUND of 2nd array is " + ubound(arr2()))
+ bRet = false
+ else
+ for i = 0 to ubound(arr1())
+ Out.Log("(" + i + "): " + arr1(i) + "-" + arr2(i))
+ bRet = bRet AND (arr1(i) = arr2(i))
+ next i
+ end if
+ end if
+
+ cmpArrays() = bRet
+exit Function
+ErrHndl:
+ Test.Exception()
+ cmpArrays() = false
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XActiveDataSink/script.xlb b/qadevOOo/tests/basic/ifc/io/XActiveDataSink/script.xlb
new file mode 100644
index 000000000000..b85797766d3e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XActiveDataSink/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XActiveDataSink" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XActiveDataSink"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XActiveDataSource/io_XActiveDataSource.xba b/qadevOOo/tests/basic/ifc/io/XActiveDataSource/io_XActiveDataSource.xba
new file mode 100644
index 000000000000..3bd00f2bd4ad
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XActiveDataSource/io_XActiveDataSource.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XActiveDataSource" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XActiveDataSource
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oOS As Object
+
+ Test.StartMethod("getOutputStream()")
+ bOK = true
+ oOS = oObj.getOutputStream()
+ bOK = bOK AND hasUnoInterfaces(oOS, "com.sun.star.io.XOutputStream")
+ Test.MethodTested("getOutputStream()", bOK)
+
+ Test.StartMethod("setOutputStream()")
+ bOK = true
+ oObj.setOutputStream(oOS)
+ Test.MethodTested("setOutputStream()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XActiveDataSource/script.xlb b/qadevOOo/tests/basic/ifc/io/XActiveDataSource/script.xlb
new file mode 100644
index 000000000000..8dd0873e6226
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XActiveDataSource/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XActiveDataSource" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XActiveDataSource"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XConnectable/io_XConnectable.xba b/qadevOOo/tests/basic/ifc/io/XConnectable/io_XConnectable.xba
new file mode 100644
index 000000000000..a30e570dea38
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XConnectable/io_XConnectable.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XConnectable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XConnectable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("setPredecessor()")
+ bOK = true
+ oObj.setPredecessor(oObj)
+ Test.MethodTested("setPredecessor()", bOK)
+
+ Test.StartMethod("getPredecessor()")
+ bOK = true
+ oPr = oObj.getPredecessor()
+ bOK = bOK AND hasUnoInterfaces(oPr, "com.sun.star.io.XConnectable")
+ Test.MethodTested("getPredecessor()", bOK)
+
+ Test.StartMethod("setSuccessor()")
+ bOK = true
+ oObj.setSuccessor(oObj)
+ Test.MethodTested("setSuccessor()", bOK)
+
+ Test.StartMethod("getSuccessor()")
+ bOK = true
+ oSc = oObj.getSuccessor()
+ bOK = bOK AND hasUnoInterfaces(oSc, "com.sun.star.io.XConnectable")
+ Test.MethodTested("getSuccessor()", bOK)
+
+ ResetStreams()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XConnectable/script.xlb b/qadevOOo/tests/basic/ifc/io/XConnectable/script.xlb
new file mode 100644
index 000000000000..b0feddcc80d4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XConnectable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XConnectable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XConnectable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XDataInputStream/io_XDataInputStream.xba b/qadevOOo/tests/basic/ifc/io/XDataInputStream/io_XDataInputStream.xba
new file mode 100644
index 000000000000..989ceed4875e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XDataInputStream/io_XDataInputStream.xba
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XDataInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XDataInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim DataTypes(10) As String
+ Dim Data(10) As Variant
+ Dim oTypeConvertor As Object
+
+ bOK = true
+
+ oTypeConvertor = createUnoService("com.sun.star.script.Converter")
+
+ DataTypes(0) = "byte"
+ Data(0) = 65
+ DataTypes(1) = "boolean"
+ Data(1) = true
+ DataTypes(2) = "double"
+ Data(2) = 10.567
+ DataTypes(3) = "long"
+ Data(3) = 12345678
+ DataTypes(4) = "char"
+ Data(4) = oTypeConvertor.convertToSimpleType(89, com.sun.star.uno.TypeClass.CHAR)
+ DataTypes(5) = "short"
+ Data(5) = 233
+ DataTypes(6) = "UTF"
+ Data(6) = "UTF String"
+ DataTypes(7) = "float"
+ Data(7) = -233.15
+ DataTypes(8) = "Hyper"
+ Data(8) = 98765432123456
+
+ Out.Log("Writing data first... ")
+
+ oOutStream = getOutStream()
+
+ for i = 0 to ubound(Data())
+ select case DataTypes(i)
+ case "boolean"
+ oOutStream.writeBoolean(Data(i))
+ case "byte"
+ oOutStream.writeByte(Data(i))
+ case "char"
+ oOutStream.writeChar(Data(i))
+ case "short"
+ oOutStream.writeShort(Data(i))
+ case "long"
+ oOutStream.writeLong(Data(i))
+ case "Hyper"
+ oOutStream.writeHyper(Data(i))
+ case "float"
+ oOutStream.writeFloat(Data(i))
+ case "double"
+ oOutStream.writeDouble(Data(i))
+ case "UTF"
+ oOutStream.writeUTF(Data(i))
+ end select
+ next i
+
+ Out.Log("then reading and comparering... ")
+
+ ResetStreams()
+
+ for i = 0 to ubound(Data())
+ select case DataTypes(i)
+ case "boolean"
+ Dim bVar As Boolean
+ bVar = oObj.readBoolean()
+ Out.Log("Expected boolean '" &amp; Data(i) &amp; "', actual is '" &amp; bVar &amp; "'")
+ bOK = bOK AND Data(i) = bVar
+ Test.MethodTested("readBoolean()", bOK)
+ case "byte"
+ Dim iByteVar As Integer
+ iByteVar = oObj.readByte()
+ Out.Log("Expected byte '" &amp; int(Data(i)) &amp; "', actual is '" &amp; int(iByteVar) &amp; "'")
+ bOK = bOK AND Data(i) = iByteVar
+ Test.MethodTested("readByte()", bOK)
+ case "char"
+ Dim cCharVar As Integer
+ cCharVar = oObj.readChar()
+ Out.Log("Expected char '" &amp; chr(Data(i)) &amp; "', actual is '" &amp; chr(cCharVar) &amp; "'")
+ bOK = bOK AND Data(i) = cCharVar
+ Test.MethodTested("readChar()", bOK)
+ case "short"
+ Dim iShortVar As Integer
+ iShortVar = oObj.readShort()
+ Out.Log("Expected short '" &amp; int(Data(i)) &amp; "', actual is '" &amp; int(iShortVar) &amp; "'")
+ bOK = bOK AND Data(i) = iShortVar
+ Test.MethodTested("readShort()", bOK)
+ case "long"
+ Dim iLongVar As Long
+ iLongVar = oObj.readLong()
+ Out.Log("Expected long '" &amp; Data(i) &amp; "', actual is '" &amp; iLongVar &amp; "'")
+ bOK = bOK AND Data(i) = iLongVar
+ Test.MethodTested("readLong()", bOK)
+ case "Hyper"
+ Dim iHyperVar As Variant
+ iHyperVar = oObj.readHyper()
+ Out.Log("Expected hyper '" &amp; Data(i) &amp; "', actual is '" &amp; iHyperVar &amp; "'")
+ bOK = bOK AND Data(i) = iHyperVar
+ Test.MethodTested("readHyper()", bOK)
+ case "float"
+ Dim dFloatVar As Double
+ dFloatVar = oObj.readFloat()
+ Out.Log("Expected float '" &amp; Data(i) &amp; "', actual is '" &amp; dFloatVar &amp; "'")
+ bOK = bOK AND (abs(Data(i) - dFloatVar) &lt; 0.00001)
+ Test.MethodTested("readFloat()", bOK)
+ case "double"
+ Dim dDoubleVar As Double
+ dDoubleVar = oObj.readDouble()
+ Out.Log("Expected double '" &amp; Data(i) &amp; "', actual is '" &amp; dDoubleVar &amp; "'")
+ bOK = bOK AND Data(i) = dDoubleVar
+ Test.MethodTested("readDouble()", bOK)
+ case "UTF"
+ Dim cUTFVar As String
+ cUTFVar = oObj.readUTF()
+ Out.Log("Expected UTF '" &amp; Data(i) &amp; "', actual is '" &amp; cUTFVar &amp; "'")
+ bOK = bOK AND Data(i) = cUTFVar
+ Test.MethodTested("readUTF()", bOK)
+ end select
+ next i
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XDataInputStream/script.xlb b/qadevOOo/tests/basic/ifc/io/XDataInputStream/script.xlb
new file mode 100644
index 000000000000..c3623319e6ed
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XDataInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XDataInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XDataInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XDataOutputStream/io_XDataOutputStream.xba b/qadevOOo/tests/basic/ifc/io/XDataOutputStream/io_XDataOutputStream.xba
new file mode 100644
index 000000000000..6ec09d17c2cd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XDataOutputStream/io_XDataOutputStream.xba
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XDataOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XDataOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim DataTypes(10) As String
+ Dim Data(10) As Variant
+ Dim oTypeConvertor As Object
+ Dim i As Integer
+ Dim oInputStream As Object
+
+ bOK = true
+
+ oTypeConvertor = createUnoService("com.sun.star.script.Converter")
+
+ DataTypes(0) = "byte"
+ Data(0) = 65
+ DataTypes(1) = "boolean"
+ Data(1) = true
+ DataTypes(2) = "double"
+ Data(2) = 10.567
+ DataTypes(3) = "long"
+ Data(3) = 12345678
+ DataTypes(4) = "char"
+ Data(4) = oTypeConvertor.convertToSimpleType(89, com.sun.star.uno.TypeClass.CHAR)
+ DataTypes(5) = "short"
+ Data(5) = 233
+ DataTypes(6) = "UTF"
+ Data(6) = "UTF String"
+ DataTypes(7) = "float"
+ Data(7) = -233.15
+ DataTypes(8) = "Hyper"
+ Data(8) = 98765432123456
+
+ Out.Log("Writing data first... ")
+
+ for i = 0 to ubound(Data())
+ select case DataTypes(i)
+ case "boolean"
+ oObj.writeBoolean(Data(i))
+ case "byte"
+ oObj.writeByte(Data(i))
+ case "char"
+ oObj.writeChar(Data(i))
+ case "short"
+ oObj.writeShort(Data(i))
+ case "long"
+ oObj.writeLong(Data(i))
+ case "Hyper"
+ oObj.writeHyper(Data(i))
+ case "float"
+ oObj.writeFloat(Data(i))
+ case "double"
+ oObj.writeDouble(Data(i))
+ case "UTF"
+ oObj.writeUTF(Data(i))
+ end select
+ next i
+
+ Out.Log("then reading and comparering... ")
+
+ oInputStream = getInStream()
+
+ for i = 0 to ubound(Data())
+ select case DataTypes(i)
+ case "boolean"
+ Dim bVar As Boolean
+ bVar = oInputStream.readBoolean()
+ Out.Log("Expected boolean '" + Data(i) + "', actual is '" + bVar + "'")
+ bOK = bOK AND Data(i) = bVar
+ Test.MethodTested("writeBoolean()", bOK)
+ case "byte"
+ Dim iByteVar As Integer
+ iByteVar = oInputStream.readByte()
+ Out.Log("Expected byte '" + int(Data(i)) + "', actual is '" + int(iByteVar) + "'")
+ bOK = bOK AND Data(i) = iByteVar
+ Test.MethodTested("writeByte()", bOK)
+ case "char"
+ Dim cCharVar As Integer
+ cCharVar = oInputStream.readChar()
+ Out.Log("Expected char '" + chr(Data(i)) + "', actual is '" + chr(cCharVar) + "'")
+ bOK = bOK AND Data(i) = cCharVar
+ Test.MethodTested("writeChar()", bOK)
+ case "short"
+ Dim iShortVar As Integer
+ iShortVar = oInputStream.readShort()
+ Out.Log("Expected short '" + int(Data(i)) + "', actual is '" + int(iShortVar) + "'")
+ bOK = bOK AND Data(i) = iShortVar
+ Test.MethodTested("writeShort()", bOK)
+ case "long"
+ Dim iLongVar As Long
+ iLongVar = oInputStream.readLong()
+ Out.Log("Expected long '" + Data(i) + "', actual is '" + iLongVar + "'")
+ bOK = bOK AND Data(i) = iLongVar
+ Test.MethodTested("writeLong()", bOK)
+ case "Hyper"
+ Dim iHyperVar As Variant
+ iHyperVar = oInputStream.readHyper()
+ Out.Log("Expected hyper '" + Data(i) + "', actual is '" + iHyperVar + "'")
+ bOK = bOK AND Data(i) = iHyperVar
+ Test.MethodTested("writeHyper()", bOK)
+ case "float"
+ Dim dFloatVar As Double
+ dFloatVar = oInputStream.readFloat()
+ Out.Log("Expected float '" + Data(i) + "', actual is '" + dFloatVar + "'")
+ bOK = bOK AND (abs(Data(i) - dFloatVar) &lt; 0.00001)
+ Test.MethodTested("writeFloat()", bOK)
+ case "double"
+ Dim dDoubleVar As Double
+ dDoubleVar = oInputStream.readDouble()
+ Out.Log("Expected double '" + Data(i) + "', actual is '" + dDoubleVar + "'")
+ bOK = bOK AND Data(i) = dDoubleVar
+ Test.MethodTested("writeDouble()", bOK)
+ case "UTF"
+ Dim cUTFVar As Variant
+ cUTFVar = oInputStream.readUTF()
+ Out.Log("Expected UTF '" + Data(i) + "', actual is '" + cUTFVar + "'")
+ bOK = bOK AND Data(i) = cUTFVar
+ Test.MethodTested("writeUTF()", bOK)
+ end select
+ next i
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XDataOutputStream/script.xlb b/qadevOOo/tests/basic/ifc/io/XDataOutputStream/script.xlb
new file mode 100644
index 000000000000..95fc351c043e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XDataOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XDataOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XDataOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XInputStream/io_XInputStream.xba b/qadevOOo/tests/basic/ifc/io/XInputStream/io_XInputStream.xba
new file mode 100644
index 000000000000..f4fae54389ea
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XInputStream/io_XInputStream.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim Bytes(10) As Integer
+ Dim rBytes(10) As Integer
+ Dim oOutputStream As Object
+ Dim i As Integer
+ Dim nRead As Integer
+
+ Out.Log("First writeBytes()...")
+ bOK = true
+
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i
+ next i
+
+ oOutputStream = getOutStream()
+ oOutputStream.writeBytes(Bytes())
+
+ if (cObjectName &lt;&gt; "stm.Pipe") then ResetStreams()
+
+ Test.StartMethod("readBytes()")
+ bOK = true
+ nRead = oObj.readBytes(Bytes(), 5)
+ bOK = bOK AND nRead = 5
+ for i = 0 to 4
+ Out.Log("Expected " &amp; i &amp; ", actual is " &amp; int(Bytes(i)))
+ bOK = bOK AND Bytes(i) = i
+ next i
+ Test.MethodTested("readBytes()", bOK)
+
+ Test.StartMethod("skipBytes()")
+ bOK = true
+ oObj.skipBytes(2)
+ nRead = oObj.readBytes(Bytes(), 2)
+ Out.Log("Expected " &amp; 7 &amp; ", actual is " &amp; int(Bytes(0)))
+ bOK = bOK AND Bytes(0) = 7
+ Test.MethodTested("skipBytes()", bOK)
+
+ Test.StartMethod("available()")
+ bOK = true
+ iAvail = oObj.available()
+ Out.Log("bytes available without blocking: " &amp; iAvail)
+ bOK = bOK AND iAvail &gt;= 0
+ Test.MethodTested("available()", bOK)
+
+ Test.StartMethod("readSomeBytes()")
+ bOK = true
+ nRead = oObj.readSomeBytes(Bytes(), 10)
+ Out.Log("Can read " &amp; nRead &amp; " bytes.")
+ for i = 0 to ubound(Bytes())
+ Out.Log(int(Bytes(i)))
+ next i
+ bOK = bOK AND ubound(Bytes()) = 1
+ bOK = bOK AND nRead = 2
+ bOK = bOK AND Bytes(0) = 9
+ bOK = bOK AND Bytes(1) = 10
+ Test.MethodTested("readSomeBytes()", bOK)
+
+ Test.StartMethod("closeInput()")
+ bOK = true
+ Out.Log("This method is called in main module.")
+ Test.MethodTested("closeInput()", bOK)
+
+ ResetStreams()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XInputStream/script.xlb b/qadevOOo/tests/basic/ifc/io/XInputStream/script.xlb
new file mode 100644
index 000000000000..7154ab2bb35b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XMarkableStream/io_XMarkableStream.xba b/qadevOOo/tests/basic/ifc/io/XMarkableStream/io_XMarkableStream.xba
new file mode 100644
index 000000000000..3062fedbe093
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XMarkableStream/io_XMarkableStream.xba
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XMarkableStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XMarkableStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim Bytes(20) As Integer
+ Dim rBytes(0)
+ Dim lastRByte As Integer
+ Dim i As Integer
+ Dim oOutStream As Object
+ Dim oInStream As Object
+ Dim iMark1 As Integer
+ Dim iMark2 As Integer
+ Dim iByte As Integer
+ Dim iBytes As Integer
+ Dim iByteAfterMark As Integer
+ Dim iByteAfterMark1 As Integer
+ Dim iByteAfterMark2 As Integer
+ Dim iOffset As Integer
+ Dim sFileStr As String
+
+ if (cObjectName = "stm.MarkableInputStream" OR cObjectName = "stm.ObjectInputStream") then
+
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i * 2
+ next i
+
+ Out.Log("First reset streams and write some bytes...")
+ oOutStream = getOutStream()
+ oOutStream.writeBytes(Bytes())
+ ResetStreams()
+
+ Test.StartMethod("createMark()")
+ bOK = true
+ Out.Log("Skip 3 bytes.")
+ oObj.skipBytes(3)
+ iMark1 = oObj.createMark()
+ Out.Log("Mark" + iMark1 + " was created.")
+
+ oObj.readBytes(rBytes(), 1)
+ iByteAfterMark1 = rBytes(0)
+ Out.Log("Byte after Mark" + iMark1 + " is " + int(iByteAfterMark1))
+
+ Out.Log("Skip 5 bytes.")
+ oObj.skipBytes(5)
+ iMark2 = oObj.createMark()
+ Out.Log("Mark" + iMark2 + " was created.")
+
+ oObj.readBytes(rBytes(), 1)
+ iByteAfterMark2 = rBytes(0)
+ Out.Log("Byte after Mark" + iMark2 + " is " + int(iByteAfterMark2))
+
+ Out.Log("Skip 7 bytes.")
+ oObj.skipBytes(7)
+ oObj.readBytes(rBytes(), 1)
+ lastRByte = rBytes(0)
+
+ Out.Log("Jump to Mark" + iMark2)
+ oObj.jumpToMark(iMark2)
+ oObj.readBytes(rBytes(), 1)
+ iByteAfterMark = rBytes(0)
+ Out.Log("Byte after Mark" + iMark2 + " is " + int(iByteAfterMark) + ", expected " + int(iByteAfterMark2))
+ bOK = bOK AND iByteAfterMark = iByteAfterMark2
+
+ Out.Log("Jump to Mark" + iMark1)
+ oObj.jumpToMark(iMark1)
+ oObj.readBytes(rBytes(), 1)
+ iByteAfterMark = rBytes(0)
+ Out.Log("Byte after Mark" + iMark1 + " is " + int(iByteAfterMark) + ", expected " + int(iByteAfterMark1))
+ bOK = bOK AND iByteAfterMark = iByteAfterMark1
+
+ Test.MethodTested("createMark()", bOK)
+ Test.MethodTested("jumpToMark()", bOK)
+
+ Test.StartMethod("offsetToMark()")
+ bOK = true
+ iOffset = oObj.offsetToMark(iMark2)
+ Out.Log("Offset from current position to Mark" + iMark2 + " is " + iOffset)
+ bOK = bOK AND iOffset = -5
+ Test.MethodTested("offsetToMark()", bOK)
+
+ Test.StartMethod("deleteMark()")
+ bOK = true
+ Out.Log("Delete Mark" + iMark1)
+ oObj.deleteMark(iMark1)
+ On Error goto ErrHndl1
+ Out.Log("Trying to jump to deleted mark")
+ oObj.jumpToMark(iMark1)
+ Out.Log("No exception occured. FAILED")
+ bOK = false
+ goto Cont1
+ ErrHndl1:
+ Out.Log("Expected exception: " + error)
+ Cont1:
+ Test.MethodTested("deleteMark()", bOK)
+
+ Test.StartMethod("jumpToFurthest()")
+ bOK = true
+ oObj.readBytes(rBytes(), 1)
+ iByte = rBytes(0)
+ Out.Log("Perform a reading operation from the current position. Byte " + int(iByte) + " was read.")
+ Out.Log("Changing position.")
+ oObj.jumpToMark(iMark2)
+ Out.Log("Changing position with jumpToFurthest()")
+ oObj.jumpToFurthest()
+ oObj.readBytes(rBytes(), 1)
+ Out.Log("From the current position byte " + int(rBytes(0)) + " was read. Expected byte is " + int(lastRByte) + 2)
+ bOK = bOK AND lastRByte + 2 = rBytes(0)
+ Test.MethodTested("jumpToFurthest()", bOK)
+ else
+ bOK = true
+ Out.Log("Write 3 bytes to stream")
+ ReDim Bytes(2) As Integer
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i
+ next i
+ oObj.writeBytes(Bytes())
+ Out.Log("Creating a Mark.")
+ iMark1 = oObj.createMark()
+ Out.Log("Write 4 bytes to stream")
+ ReDim Bytes(3) As Integer
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i + 3
+ next i
+ oObj.writeBytes(Bytes())
+ Out.Log("Creating a Mark.")
+ iMark2 = oObj.createMark()
+
+ iOffset = oObj.offsetToMark(iMark1)
+ Out.Log("Offset from current position to Mark" + iMark1 + " is " + iOffset)
+ bOK = bOK AND iOffset = 4
+ Test.MethodTested("offsetToMark()", bOK)
+
+ Out.Log("Write 5 bytes to stream")
+ ReDim Bytes(4) As Integer
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i + 7
+ next i
+ oObj.writeBytes(Bytes())
+
+ Out.Log("Testing jumpToMark()")
+ Out.Log("Testing deleteMark()")
+ bOK = true
+ Out.Log("Deleting Mark1")
+ oObj.deleteMark(iMark2)
+ On Error goto ErrHndl2
+ Out.Log("Trying to jump to Mark1")
+ oObj.jumpToMark(iMark2)
+ Out.Log("No exception occured - FAILED")
+ bOK = false
+ goto Cont2
+ ErrHndl2:
+ Out.Log("Expected exception: " + error)
+ Cont2:
+
+ Test.MethodTested("deleteMark()", bOK)
+
+ bOK = true
+
+ Out.Log("Jump to Mark0")
+ oObj.jumpToMark(iMark1)
+ Test.MethodTested("jumpToMark()", bOK)
+ Test.MethodTested("createMark()", bOK)
+
+ bOK = true
+ Out.Log("Write 2 bytes to stream")
+ ReDim Bytes(1) As Integer
+
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i + 12
+ next i
+
+ oObj.writeBytes(Bytes())
+ Out.Log("Changing position")
+ oObj.jumpToMark(iMark1)
+ Out.Log("Changing position with jumpToFurthest()")
+ oObj.jumpToFurthest()
+
+ Out.Log("Write 2 bytes to stream")
+ ReDim Bytes(1) As Integer
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i + 14
+ next i
+ oObj.writeBytes(Bytes())
+
+ Out.Log("Comparing file with expected {0, 1, 2, 12, 13, 5, 6, 7, 8, 9, 10, 11, 14, 15}")
+ oInStream = getInStream()
+ iBytes = oInStream.readBytes(rBytes(), 20)
+ Out.Log("There are " + iBytes + " in stream:")
+ sFileStr = "" + int(rBytes(0))
+ for i = 1 to ubound(rBytes())
+ sFileStr = sFileStr + ", " + int(rBytes(i))
+ next i
+ Out.Log("They are {" + sFileStr + "}")
+ bOK = bOK AND sFileStr = "0, 1, 2, 12, 13, 5, 6, 7, 8, 9, 10, 11, 14, 15"
+
+ Test.MethodTested("jumpToFurthest()", bOK)
+ end if
+
+ ResetStreams()
+ DisposeObj()
+ CreateObj()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XMarkableStream/script.xlb b/qadevOOo/tests/basic/ifc/io/XMarkableStream/script.xlb
new file mode 100644
index 000000000000..0cccb2f8f56c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XMarkableStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XMarkableStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XMarkableStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XObjectInputStream/io_XObjectInputStream.xba b/qadevOOo/tests/basic/ifc/io/XObjectInputStream/io_XObjectInputStream.xba
new file mode 100644
index 000000000000..c12c8ce0180e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XObjectInputStream/io_XObjectInputStream.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XObjectInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XObjectInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Dim oObjToWrite As Object
+ oObjToWrite = createUnoService("com.sun.star.awt.UnoControlButtonModel")
+ oObjToWrite.Label = "XObjectInputStream"
+
+ Out.Log("Writing object with label " &amp; oObjToWrite.Label )
+
+ oOutStream = getOutStream()
+ oOutStream.writeObject(oObjToWrite)
+
+ ResetStreams()
+
+ Test.StartMethod("readObject()")
+ bOK = true
+
+ if (bOK) then
+ oReadObj = oObj.readObject()
+
+ Out.Log("Object with label " &amp; oReadObj.Label &amp; " was read")
+ bOK = bOK AND oReadObj.Label = "XObjectInputStream"
+ end if
+
+ Test.MethodTested("readObject()", bOK)
+
+ ResetStreams()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XObjectInputStream/script.xlb b/qadevOOo/tests/basic/ifc/io/XObjectInputStream/script.xlb
new file mode 100644
index 000000000000..08c456872069
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XObjectInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XObjectInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XObjectInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XObjectOutputStream/io_XObjectOutputStream.xba b/qadevOOo/tests/basic/ifc/io/XObjectOutputStream/io_XObjectOutputStream.xba
new file mode 100644
index 000000000000..0f3f1f6bc97c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XObjectOutputStream/io_XObjectOutputStream.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XObjectOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XObjectOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oObjToWrite As Object
+ oObjToWrite = createUnoService("com.sun.star.awt.UnoControlButtonModel")
+ oObjToWrite.Label = "XObjectOutputStream"
+
+ Out.Log("Writing object with label " &amp; oObjToWrite.Label )
+
+ Test.StartMethod("writeObject()")
+ bOK = true
+ oObj.writeObject(oObjToWrite)
+
+ if (bOK) then
+ inStream = getInStream()
+ oReadObj = inStream.readObject()
+
+ Out.Log("Object with label " &amp; oReadObj.Label &amp; " was read")
+ bOK = bOK AND oReadObj.Label = "XObjectOutputStream"
+ end if
+
+ Test.MethodTested("writeObject()", bOK)
+
+ ResetStreams()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XObjectOutputStream/script.xlb b/qadevOOo/tests/basic/ifc/io/XObjectOutputStream/script.xlb
new file mode 100644
index 000000000000..84af6a647208
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XObjectOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XObjectOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XObjectOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XOutputStream/io_XOutputStream.xba b/qadevOOo/tests/basic/ifc/io/XOutputStream/io_XOutputStream.xba
new file mode 100644
index 000000000000..f88bb41866c8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XOutputStream/io_XOutputStream.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim Bytes(10) As Integer
+ Dim rBytes(10) As Integer
+
+ Test.StartMethod("writeBytes()")
+ bOK = true
+
+ for i = 0 to ubound(Bytes())
+ Bytes(i) = i
+ next i
+ oObj.writeBytes(Bytes())
+
+ oInputStream = getInStream()
+ iBytesRead = oInputStream.readBytes(rBytes(), ubound(Bytes()) + 1)
+ Out.Log("" &amp; iBytesRead &amp; " bytes were read")
+ bOK = bOK AND iBytesRead = ubound(Bytes()) + 1
+
+ for i = 0 to ubound(rBytes())
+ Out.Log("Expected " &amp; Bytes(i) &amp; ", actual is " &amp; int(rBytes(i)))
+ bOK = bOK AND Bytes(i) = rBytes(i)
+ next i
+
+ Test.MethodTested("writeBytes()", bOK)
+
+ Test.StartMethod("flush()")
+ bOK = true
+ oObj.flush()
+ Test.MethodTested("flush()", bOK)
+
+ Test.StartMethod("closeOutput()")
+ bOK = true
+ Out.Log("This method is called in main module.")
+ Test.MethodTested("closeOutput()", bOK)
+
+ ResetStreams()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XOutputStream/script.xlb b/qadevOOo/tests/basic/ifc/io/XOutputStream/script.xlb
new file mode 100644
index 000000000000..38a1f413e6d9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba b/qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba
new file mode 100644
index 000000000000..11b00b9e7dce
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XPersistObject" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oPersistInstance As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.io.XPersistObject
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oMarkIn, oMarkOut, oOutStrm, oInStrm As Object
+ Dim oDummy, oCopy, oPipe As Object
+ Dim uuidString As String
+ Dim UUID(), UUIDnew() As Variant
+ Dim i As Integer
+
+ if isNull(oPersistInstance) Then
+ Out.Log("oPersistInstance is Empty! No oPersistInstance in main created?")
+ Exit Sub
+ end if
+
+ Test.StartMethod("getServiceName()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getServiceName()) = 8)
+ Test.MethodTested("getServiceName()", bOK)
+
+ if (hasUnoInterfaces(oObj,"com.sun.star.lang.XTypeProvider")) then
+ 'get ImplementationID
+ Out.Log("Before writing object, rememeber it's implementation ID.")
+ uuidString = ""
+ UUID = oObj.getImplementationId()
+ for i = 0 to ubound(UUID())
+ uuidString = uuidString &amp; UUID(i) &amp; "; "
+ next i
+ Out.Log("ImplementationID: " &amp; uuidString)
+ endif
+
+ oDummy = oPersistInstance
+ oPipe = createUNOService("com.sun.star.io.Pipe")
+ oMarkOut = createUNOService("com.sun.star.io.MarkableOutputStream")
+ oMarkIn = createUNOService("com.sun.star.io.MarkableInputStream")
+ oOutStrm = createUNOService("com.sun.star.io.ObjectOutputStream")
+ oInStrm = createUNOService("com.sun.star.io.ObjectInputStream")
+
+ 'made chain
+ oOutStrm.setOutputStream(oMarkOut)
+ oMarkOut.setOutputStream(oPipe)
+ oMarkIn.setInputStream(oPipe)
+ oInStrm.setInputStream(oMarkIn)
+
+ Test.StartMethod("write()")
+ Test.StartMethod("read()")
+ bOK = true
+ 'write dummy
+ oOutStrm.writeObject(oDummy)
+ oObj.write(oOutStrm)
+ 'read copy
+ oCopy = oInStrm.readObject()
+ oObj.read(oInStrm)
+
+ if (hasUnoInterfaces(oObj,"com.sun.star.lang.XTypeProvider")) then
+ Out.Log("After reading object, get it's implementation ID.")
+ uuidString = ""
+ UUIDnew = oObj.getImplementationId()
+ for i = 0 to ubound(UUID())
+ bOK = bOK AND (UUID(i) = UUIDnew(i))
+ uuidString = uuidString &amp; UUIDnew(i) &amp; "; "
+ next i
+ Out.Log("ImplementationID: " &amp; uuidString)
+ endif
+
+ Test.MethodTested("write()", bOK)
+ Test.MethodTested("read()", bOK)
+
+ ReCreateObj()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/io/XPersistObject/script.xlb b/qadevOOo/tests/basic/ifc/io/XPersistObject/script.xlb
new file mode 100644
index 000000000000..baaea2bba562
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/io/XPersistObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="io_XPersistObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="io_XPersistObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/java/XJavaVM/javajava_XJavaVM.xba b/qadevOOo/tests/basic/ifc/java/XJavaVM/javajava_XJavaVM.xba
new file mode 100644
index 000000000000..1b8c1336be60
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/java/XJavaVM/javajava_XJavaVM.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="javajava_XJavaVM" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.java.XJavaVM
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getJavaVM()")
+ bOK = true
+ Out.Log("First, registering thread...")
+ oObj.registerThread()
+
+ JVMAddress = oObj.getJavaVM(noargs())
+ Out.Log("Returned address is " &amp; JVMAddress)
+ bOK = bOK AND JVMAddress &lt;&gt; 0
+
+ Test.MethodTested("getJavaVM()", bOK)
+
+ Test.StartMethod("isVMStarted()")
+ bOK = true
+ Dim isStarted As Boolean
+ isStarted = oObj.isVMStarted()
+ Out.Log("isVMStarted() returned " &amp; isStarted)
+ Test.MethodTested("isVMStarted()", bOK)
+
+ Test.StartMethod("isVMEnabled()")
+ bOK = true
+ Dim bEnabled As Boolean
+ bEnabled = oObj.isVMEnabled()
+ Out.Log("isVMEnabled() returned " &amp; bEnabled)
+ Test.MethodTested("isVMEnabled()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/java/XJavaVM/script.xlb b/qadevOOo/tests/basic/ifc/java/XJavaVM/script.xlb
new file mode 100644
index 000000000000..7536d1f4bde1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/java/XJavaVM/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="javajava_XJavaVM" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="javajava_XJavaVM"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/ServiceManager/lang_ServiceManager.xba b/qadevOOo/tests/basic/ifc/lang/ServiceManager/lang_ServiceManager.xba
new file mode 100644
index 000000000000..39894b9ea349
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/ServiceManager/lang_ServiceManager.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_ServiceManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.lang.ServiceManager
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("DefaultContext")
+
+ 'test the RTL function getDefaultcontext()
+ Test.MethodTested("DefaultContext", isObject(getDefaultContext()))
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/ServiceManager/script.xlb b/qadevOOo/tests/basic/ifc/lang/ServiceManager/script.xlb
new file mode 100644
index 000000000000..7f4958ace7ec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/ServiceManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_ServiceManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_ServiceManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba b/qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba
new file mode 100644
index 000000000000..6d429bed4c7b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XComponent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oComponentInstance As Object it will be disposed
+
+'*************************************************************************
+
+
+Dim bCB1 As Boolean, bCB2 As Boolean
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XEventListener
+
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1 as Object, oListener2 As Object
+
+ If isNull(oComponentInstance) Then Out.Log("oComponentInstance is not initialized")
+
+ bCB1 = false
+ bCB2 = false
+
+ Out.Log("create two listeners")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.lang.XEventListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.lang.XEventListener")
+
+ ' add listeners to object if initialized
+ if NOT(isNull(oListener2)) then
+ oComponentInstance.addEventListener(oListener2)
+ end if
+ if NOT(isNull(oListener1)) then
+ oComponentInstance.addEventListener(oListener1)
+ end if
+
+ Out.Log("remove Listener2")
+ oComponentInstance.removeEventListener(oListener2)
+
+ ' dispose object and check the count
+ Test.StartMethod("dispose()")
+ bOK = true
+ oComponentInstance.dispose()
+ bOK = bCB1 AND NOT bCB2
+ Test.MethodTested("dispose()", bOK)
+
+ ' check if only one eventlistener-callback was executed
+ Test.StartMethod("addEventListener()")
+ bOK = bCB1 AND NOT bCB2
+ Test.MethodTested("addEventListener()", bOK)
+
+ ' check if there was only one of the listener callbacks executed
+ Test.StartMethod("removeEventListener()")
+ bOK = bCB1 AND NOT bCB2
+ Test.MethodTested("removeEventListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Sub CB1_disposing
+ Out.Log("CallBack for Listener1 disposing was called.")
+ bCB1 = true
+End Sub
+Sub CB2_disposing
+ Out.Log("CallBack for Listener2 disposing was called.")
+ bCB2 = true
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XComponent/script.xlb b/qadevOOo/tests/basic/ifc/lang/XComponent/script.xlb
new file mode 100644
index 000000000000..6868484b6179
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XComponent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XComponent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XComponent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XEventListener/lang_XEventListener.xba b/qadevOOo/tests/basic/ifc/lang/XEventListener/lang_XEventListener.xba
new file mode 100644
index 000000000000..bc98741e7b98
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XEventListener/lang_XEventListener.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XEventListener" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XEventListener
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("disposing()")
+ bOK = true
+ Out.Log("The method 'disposing'")
+ Out.Log("gets called when the broadcaster is about to be disposed.")
+ Out.Log("All listeners and all other objects which reference the broadcaster should release the references.")
+ Out.Log("So there is nothing to test here")
+ Test.MethodTested("disposing()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XEventListener/script.xlb b/qadevOOo/tests/basic/ifc/lang/XEventListener/script.xlb
new file mode 100644
index 000000000000..41dd6886e66c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XEventListener/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XEventListener" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XEventListener"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XInitialization/lang_XInitialization.xba b/qadevOOo/tests/basic/ifc/lang/XInitialization/lang_XInitialization.xba
new file mode 100644
index 000000000000..bd57e0d44942
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XInitialization/lang_XInitialization.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XInitialization" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global aInitArgs() As Variant
+' Global aNoInit() As Variant [optional]
+' if the variable defined as Array the method initialize() isnt called.
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XInitialization
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bInit As Boolean
+
+ bInit = true
+
+ Test.StartMethod("initialize()")
+ bOK = true
+
+ if NOT isArray(aNoInit) then
+ if NOT isArray(aInitArgs) then
+ Out.Log("aInitArgs is NULL ... trying with no arguments")
+ oObj.initialize(DimArray())
+ else
+ oObj.initialize(aInitArgs())
+ end if
+ else
+ Out.Log("The object already initialized ... OK")
+ end if
+
+ Test.MethodTested("initialize()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XInitialization/script.xlb b/qadevOOo/tests/basic/ifc/lang/XInitialization/script.xlb
new file mode 100644
index 000000000000..25601d809973
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XInitialization/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XInitialization" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XInitialization"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/lang_XMultiComponentFactory.xba b/qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/lang_XMultiComponentFactory.xba
new file mode 100644
index 000000000000..2d56d6f2184d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/lang_XMultiComponentFactory.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XMultiComponentFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cServiceName As String ie. 'com.sun.star.drawing.RectangleShape'
+' - Global aContext() As Variant
+' - Global aArguments() As Variant
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XMultiComponentFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oInstance1 As Object
+ Dim oInstance2 As Object
+
+ Test.StartMethod("getAvailableServiceNames()")
+ bOK = true
+ Names = oObj.getAvailableServiceNames()
+ Dim bFound As Boolean
+ bFound = false
+ for i = 0 to ubound(Names)
+ if Names(i) = cServiceName then bFound = true
+ next i
+ if (NOT bFound) then Out.Log("Can't find '" &amp; cServiceName &amp; "' in returned array.")
+ bOK = bOK AND bFound
+ Test.MethodTested("getAvailableServiceNames()", bOK)
+
+ Test.StartMethod("createInstanceWithContext()")
+ bOK = true
+ oInstance1 = oObj.createInstanceWithContext(cServiceName, aContext())
+ bOK = bOK AND NOT isNULL(oInstance1)
+ Test.MethodTested("createInstanceWithContext()", bOK)
+
+ Test.StartMethod("createInstanceWithArgumentsAndContext()")
+ bOK = true
+ oInstance2 = oObj.createInstanceWithArgumentsAndContext(cServiceName, aArguments(), aContext())
+ bOK = bOK AND NOT isNULL(oInstance2)
+ Test.MethodTested("createInstanceWithArgumentsAndContext()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/script.xlb b/qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/script.xlb
new file mode 100644
index 000000000000..3ed4be77bbe1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XMultiComponentFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XMultiComponentFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XMultiComponentFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/lang_XMultiServiceFactory.xba b/qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/lang_XMultiServiceFactory.xba
new file mode 100644
index 000000000000..e7ee9543a28e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/lang_XMultiServiceFactory.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XMultiServiceFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cServiceName As String ie. "com.sun.star.drawing.RectangleShape"
+' - Global bCreateInstanceWithoutArguments As Boolean
+' - Global aArguments() As Variant
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XMultiServiceFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oInstance1, oInstance2 As Object
+ Dim Names
+
+ Test.StartMethod("getAvailableServiceNames()")
+ bOK = true
+ Names = oObj.getAvailableServiceNames()
+ Dim bFound As Boolean
+ bFound = false
+ for i = 0 to ubound(Names)
+ if Names(i) = cServiceName then bFound = true
+ next i
+ if (NOT bFound) then Out.Log("Can't find '" &amp; cServiceName &amp; "' in returned array.")
+ bOK = bOK AND bFound
+ Test.MethodTested("getAvailableServiceNames()", bOK)
+
+ Test.StartMethod("createInstance()")
+ bOK = true
+ if bCreateInstanceWithoutArguments then
+ oInstance1 = oObj.createInstance(cServiceName)
+ bOK = bOK AND NOT isNull(oInstance1)
+ else
+ Out.Log("createInstance() skipped for this object.")
+ end if
+ Test.MethodTested("createInstance()", bOK)
+
+ Test.StartMethod("createInstanceWithArguments()")
+ bOK = true
+ if (cObjectName = "sd.SdXImpressDocument") then
+ Out.Log("Object SdXImpressDocument doesn't suppotr createInstanceWithArguments().")
+ else
+ oInstance2 = oObj.createInstanceWithArguments(cServiceName, aArguments())
+ bOK = bOK AND NOT isNULL(oInstance2)
+ end if
+ Test.MethodTested("createInstanceWithArguments()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/script.xlb b/qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/script.xlb
new file mode 100644
index 000000000000..ebca38bedb29
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XMultiServiceFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XMultiServiceFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XMultiServiceFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/lang_XServiceDisplayName.xba b/qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/lang_XServiceDisplayName.xba
new file mode 100644
index 000000000000..2d79fd5e6fcc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/lang_XServiceDisplayName.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XServiceDisplayName" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XServiceDisplayName
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim vLocale As new com.sun.star.lang.Locale
+ Dim cName As String
+
+ vLocale.Language = "en"
+ vLocale.Country = "US"
+
+ Test.StartMethod("getServiceDisplayName()")
+ bOK = true
+ cName = oObj.getServiceDisplayName(vLocale)
+ bOK = bOK AND (cName &lt;&gt; "")
+ Test.MethodTested("getServiceDisplayName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/script.xlb b/qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/script.xlb
new file mode 100644
index 000000000000..d133ba6703cd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XServiceDisplayName/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XServiceDisplayName" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XServiceDisplayName"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XServiceInfo/lang_XServiceInfo.xba b/qadevOOo/tests/basic/ifc/lang/XServiceInfo/lang_XServiceInfo.xba
new file mode 100644
index 000000000000..90691ddbedfe
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XServiceInfo/lang_XServiceInfo.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XServiceInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XServiceInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getImplementationName()")
+ bOK = VarType(oObj.getImplementationName()) = 8
+ Test.MethodTested("getImplementationName()", bOK)
+
+ Test.StartMethod("supportsService()")
+ bOK = true
+ vServices = oObj.getSupportedServiceNames()
+ bOK = bOK AND uBound(vServices()) &gt;= 0
+ Test.MethodTested("supportsService()", bOK)
+
+ Test.StartMethod("getSupportedServiceNames()")
+ bOK = oObj.supportsService(vServices(0))
+ Test.MethodTested("getSupportedServiceNames()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XServiceInfo/script.xlb b/qadevOOo/tests/basic/ifc/lang/XServiceInfo/script.xlb
new file mode 100644
index 000000000000..1fb4bfa6401a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XServiceInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XServiceInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XServiceInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba b/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba
new file mode 100644
index 000000000000..77ad0a8c79b1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XSingleServiceFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global aArguments As Variant [optional]
+' Array of arguments for createInstanceWithArguments()
+' Global aMustSupportInterface As Variant [optional]
+' Array of Strings with names of interfaces which must be supported by created instance.
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XSingleServiceFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aArgs()
+ Dim inst As Object
+ Dim i As Integer
+
+ Test.StartMethod("createInstance()")
+ bOK = true
+ if (cObjectName = "inv.Invocation") then
+ Out.Log("createInstance() not available in " + cObjectName + " - SKIPPED")
+ else
+ bOK = bOK AND isObject(oObj.createInstance())
+ end if
+ Test.MethodTested("createInstance()", bOK)
+
+ Test.StartMethod("createInstanceWithArguments()")
+ bOK = true
+ if isArray(aArguments) then
+ inst = oObj.createInstanceWithArguments(aArguments())
+ else
+ inst = oObj.createInstanceWithArguments(aArgs())
+ end if
+
+ if NOT isObject(inst) then
+ bOK = false
+ Out.Log("The returned instance is not object : FAILED.")
+ end if
+
+ if isArray(aMustSupportInterface) AND bOK then
+ Out.Log("Checking supported interfaces ...")
+ for i = 0 to ubound(aMustSupportInterface())
+ if NOT hasUnoInterfaces(inst, aMustSupportInterface(i)) then
+ Out.Log("The created instance doesn't support '" + aMustSupportInterface(i) + "'")
+ bOK = false
+ end if
+ next i
+ end if
+
+ Test.MethodTested("createInstanceWithArguments()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/script.xlb b/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/script.xlb
new file mode 100644
index 000000000000..acff5b4a09b2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XSingleServiceFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XSingleServiceFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/lang/XTypeProvider/lang_XTypeProvider.xba b/qadevOOo/tests/basic/ifc/lang/XTypeProvider/lang_XTypeProvider.xba
new file mode 100644
index 000000000000..8422f4574e0e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XTypeProvider/lang_XTypeProvider.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XTypeProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XTypeProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim n As Integer
+ Dim vTypes As Variant
+ Dim IDs1(15) As Integer
+ Dim IDs2(15) As Integer
+
+ Test.StartMethod("getTypes()")
+ bOK = false
+ vTypes = oObj.getTypes()
+ For n = lBound(vTypes()) to UBound(vTypes())
+ If vTypes(n).Name = cIfcLongName Then
+ Out.Log("Type of Object " &amp; n &amp; " is " &amp; vTypes(n).Name &amp; ". Same as Interface =&gt; ok!"
+ bOK = true
+ Else
+ Out.Log("Type of Object " &amp; n &amp; " is " &amp; vTypes(n).Name
+ End If
+ Next n
+ Test.MethodTested("getTypes()", bOK)
+
+ Test.StartMethod("getImplementationId()")
+ bOK = true
+ IDs1() = oObj.getImplementationId()
+ IDs2() = oObj.getImplementationId()
+
+ bOK = bOK AND ubound(IDs1()) = ubound(IDs2())
+ bOK = bOK AND ubound(IDs1()) = 15
+ if (bOK) then
+ for n = lBound(IDs1()) to lBound(IDs2())
+ bOK = bOK AND IDs1(n) = IDs2(n)
+ Next n
+ end if
+
+ if (NOT bOK) then
+ Out.Log("Returned IDs are NOT identical!")
+ end if
+ Test.MethodTested("getImplementationId()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/lang/XTypeProvider/script.xlb b/qadevOOo/tests/basic/ifc/lang/XTypeProvider/script.xlb
new file mode 100644
index 000000000000..ef09fbba13a2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XTypeProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lang_XTypeProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lang_XTypeProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/linguistic2_LinguProperties.xba b/qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/linguistic2_LinguProperties.xba
new file mode 100644
index 000000000000..c0de8cb85a49
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/linguistic2_LinguProperties.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_LinguProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.linguistic2.LinguProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("IsGermanPreReform")
+
+ PropertyTester.TestProperty("IsUseDictionaryList")
+
+ PropertyTester.TestProperty("IsIgnoreControlCharacters")
+
+ PropertyTester.TestProperty("IsSpellUpperCase")
+
+ PropertyTester.TestProperty("IsSpellWithDigits")
+
+ PropertyTester.TestProperty("IsSpellCapitalization")
+
+ PropertyTester.TestProperty("HyphMinLeading")
+
+ PropertyTester.TestProperty("HyphMinTrailing")
+
+ PropertyTester.TestProperty("HyphMinWordLength")
+
+ PropertyTester.TestProperty("DefaultLocale")
+
+ PropertyTester.TestProperty("IsHyphAuto")
+
+ PropertyTester.TestProperty("IsHyphSpecial")
+
+ PropertyTester.TestProperty("IsSpellAuto")
+
+ PropertyTester.TestProperty("IsSpellHide")
+
+ PropertyTester.TestProperty("IsSpellInAllLanguages")
+
+ PropertyTester.TestProperty("IsSpellSpecial")
+
+ PropertyTester.TestProperty("IsWrapReverse")
+
+ PropertyTester.TestProperty("DefaultLocale_CJK")
+
+ PropertyTester.TestProperty("DefaultLocale_CTL")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/script.xlb
new file mode 100644
index 000000000000..a16e649510ad
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/LinguProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_LinguProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_LinguProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/linguistic2_XDictionaryList.xba b/qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/linguistic2_XDictionaryList.xba
new file mode 100644
index 000000000000..41c5f4c9509a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/linguistic2_XDictionaryList.xba
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XDictionaryList" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Dim bCB1 As Long, bCB2 As Long
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XDictionaryList
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim vGetDics As Variant
+ Dim oNegative As Object
+ Dim vLocale As new com.sun.star.lang.Locale
+ Dim nPrevious As Integer
+ Dim oAddDic As Object
+ Dim oNewDic As Object
+ Dim oListenDic1 As Object
+ Dim oListenDic As Object
+ Dim oListener1 As Object
+ Dim oListener2 As Object
+
+ oListener1 = createUNOListener("CB1_", "com.sun.star.linguistic2.XDictionaryListEventListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.linguistic2.XDictionaryListEventListener")
+ bCB1 = 0
+ bCB2 = 0
+ vLocale.Language = "en"
+ vLocale.Country = "US"
+ vLocale.Variant = "WIN"
+
+ Test.StartMethod("getCount()")
+ bOK = true
+ Out.Log("getCouint retunrs " + oObj.getCount())
+ bOK = bOK AND (oObj.getCount() &gt; 0)
+ Test.MethodTested("getCount()", bOK)
+
+ Test.StartMethod("getDictionaries()")
+ bOK = true
+ vGetDics = oObj.getDictionaries()
+ Out.Log("oObj.getDictionaries returned " + (uBound(vGetDics) + 1) + " elements")
+ bOK = bOK AND ((uBound(vGetDics) + 1) = oObj.getCount())
+ Test.MethodTested("getDictionaries()", bOK)
+
+ Test.StartMethod("getDictionaryByName()")
+ bOK = true
+ Out.Log("Try to get 'NegativDic' which should created in ObjCreation()"
+ oNegative = oObj.getDictionaryByName("NegativDic")
+ bOK = bOK AND hasUnoInterfaces(oNegative, "com.sun.star.linguistic2.XDictionary")
+ Test.MethodTested("getDictionaryByName()", bOK)
+
+ Test.StartMethod("createDictionary()")
+ bOK = true
+ oAddDic = oObj.createDictionary("AddedDicBasic", vLocale,_
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"")
+ bOK = bOK AND hasUnoInterfaces(oAddDic, "com.sun.star.linguistic2.XDictionary")
+ Test.MethodTested("createDictionary()", bOK)
+
+ Test.StartMethod("addDictionary()")
+ bOK = true
+ nPrevious = oObj.getCount()
+ oObj.addDictionary(oAddDic)
+ Out.Log("Dictionaries before: " + nPrevious + ", after: " + oObj.getCount())
+ bOK = bOK AND ((nPrevious + 1) = oObj.getCount())
+ Test.MethodTested("addDictionary()", bOK)
+
+ Test.StartMethod("removeDictionary()")
+ bOK = true
+ oObj.removeDictionary(oAddDic)
+ bOK = bOK AND (nPrevious = oObj.getCount())
+ Test.MethodTested("removeDictionary()", bOK)
+
+ Test.StartMethod("addDictionaryListEventListener()")
+ Dim bListOK As Boolean
+
+ bOK = true
+ bCB1 = false
+ bCB2 = false
+ oListenDic = oObj.createDictionary("ListenDicBasic", vLocale,_
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"")
+ bListOK = oObj.addDictionaryListEventListener(oListener1, false)
+ Out.Log("First listener was added: " + bListOK)
+ bListOK = oObj.addDictionaryListEventListener(oListener2, false)
+ Out.Log("Second listener was added: " + bListOK)
+
+ Test.StartMethod("flushEvents()")
+
+ Out.Log("The level of buffer returned by flushEvents() is " + oObj.flushEvents())
+
+ oObj.addDictionary(oListenDic)
+ oListenDic.setActive(true)
+' oListenDic.add("AWord", false, "")
+
+ Out.Log("The level of buffer returned by flushEvents() is " + oObj.flushEvents())
+
+ bOK = bOK AND bCB1 AND bCB2
+ oObj.removeDictionary(oListenDic)
+
+ Test.MethodTested("addDictionaryListEventListener()", bOK)
+ Test.MethodTested("flushEvents()", bOK)
+
+ Test.StartMethod("removeDictionaryListEventListener()")
+ bOK = true
+ bCB1 = 0
+ bCB2 = 0
+ oObj.removeDictionaryListEventListener(oListener2)
+ oListenDic1 = oObj.createDictionary("ListenDicBasic1", vLocale,_
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"")
+ oObj.flushEvents()
+ oObj.addDictionary(oListenDic)
+ oListenDic.setActive(true)
+ oObj.flushEvents()
+ oObj.removeDictionary(oListenDic)
+ bOK = bOK AND bCB1 AND NOT bCB2
+ Test.MethodTested("removeDictionaryListEventListener()", bOK)
+
+ Test.StartMethod("beginCollectEvents()")
+ bOK = true
+ Dim bufSize1 As Integer, bufSize2 As Integer
+
+ bufSize1 = oObj.beginCollectEvents()
+ bufSize2 = oObj.beginCollectEvents()
+
+ bOK = bOK AND (bufSize2 = bufSize1 + 1)
+ Test.MethodTested("beginCollectEvents()", bOK)
+
+ Test.StartMethod("endCollectEvents()")
+ bufSize1 = oObj.endCollectEvents()
+
+ bOK = bOK AND (bufSize2 = bufSize1 + 1)
+ Test.MethodTested("endCollectEvents()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Sub CB1_processDictionaryListEvent
+ Out.Log("CallBack for Listener1 was called.")
+ bCB1 = bCB1 + 1
+End Sub
+Sub CB1_disposing
+End Sub
+
+Sub CB2_processDictionaryListEvent
+ Out.Log("CallBack for Listener2 was called.")
+ bCB2 = bCB2 + 1
+End Sub
+Sub CB2_disposing
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/script.xlb
new file mode 100644
index 000000000000..8f31954d31d9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XDictionaryList/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XDictionaryList" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XDictionaryList"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/linguistic2_XHyphenator.xba b/qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/linguistic2_XHyphenator.xba
new file mode 100644
index 000000000000..356b2e9b8c6a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/linguistic2_XHyphenator.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XHyphenator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XHyphenator
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim vProp As new com.sun.star.beans.PropertyValue
+ Dim vPops(0) As Variant
+ Dim vLocale As new com.sun.star.lang.Locale
+ Dim oHyphenate As Object
+ Dim oAlternative As Object
+ Dim oPossible As Object
+
+ vProps(0) = vProp
+
+ vLocale.Language = "de"
+ vLocale.Country = "DE"
+ vLocale.Variant = ""
+
+
+ Test.StartMethod("hyphenate()")
+ bOK = true
+ oHyphenate = oObj.hyphenate("wacker", vLocale, 3, vProps())
+ bOK = bOK AND hasUnoInterfaces(oHyphenate, "com.sun.star.linguistic2.XHyphenatedWord")
+ Test.MethodTested("hyphenate()", bOK)
+
+ Test.StartMethod("queryAlternativeSpelling()")
+ bOK = true
+ oAlternative = oObj.queryAlternativeSpelling("wacker", vLocale, 2, vProps())
+ bOK = bOK AND hasUnoInterfaces(oHyphenate, "com.sun.star.linguistic2.XHyphenatedWord")
+ Test.MethodTested("queryAlternativeSpelling()", bOK)
+
+ Test.StartMethod("createPossibleHyphens()")
+ bOK = true
+ oPossible = oObj.createPossibleHyphens("wacker", vLocale, vProps())
+ bOK = bOK AND hasUnoInterfaces(oPossible, "com.sun.star.linguistic2.XPossibleHyphens")
+ Test.MethodTested("createPossibleHyphens()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/script.xlb
new file mode 100644
index 000000000000..71eda6f3347e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XHyphenator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XHyphenator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XHyphenator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/linguistic2_XLinguServiceEventBroadcaster.xba b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/linguistic2_XLinguServiceEventBroadcaster.xba
new file mode 100644
index 000000000000..46010b0a055d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/linguistic2_XLinguServiceEventBroadcaster.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XLinguServiceEventBroadcaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XLinguServiceEventBroadcaster
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Out.Log("create two listeners")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.linguistic2.XLinguServiceEventListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.linguistic2.XLinguServiceEventListener")
+
+ Test.StartMethod("addLinguServiceEventListener()")
+ bOK = true
+ bOK = bOK AND oObj.addLinguServiceEventListener(oListener1)
+ bOK = bOK AND oObj.addLinguServiceEventListener(oListener2)
+ Test.MethodTested("addLinguServiceEventListener()", bOK)
+
+ Test.StartMethod("removeLinguServiceEventListener()")
+ bOK = true
+ bOK = bOK AND oObj.removeLinguServiceEventListener(oListener2)
+ Test.MethodTested("removeLinguServiceEventListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Sub CB1_processLinguServiceEvent
+ Out.Log("CallBack for Listener1 processLinguServiceEvent was called.")
+ bCB1 = true
+End Sub
+
+Sub CB2_processLinguServiceEvent
+ Out.Log("CallBack for Listener2 processLinguServiceEvent was called.")
+ bCB2 = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/script.xlb
new file mode 100644
index 000000000000..8b50d4cd343c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceEventBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XLinguServiceEventBroadcaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XLinguServiceEventBroadcaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/linguistic2_XLinguServiceManager.xba b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/linguistic2_XLinguServiceManager.xba
new file mode 100644
index 000000000000..c83c9c54fbf3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/linguistic2_XLinguServiceManager.xba
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XLinguServiceManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+Dim nCB1Val As Long, nCB2Val As Long
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XLinguServiceManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oListener1 As Object
+ Dim oListener2 As Object
+ Dim vLocale As new com.sun.star.lang.Locale
+ Dim aServices As Variant
+ Dim vGetServices As Variant
+
+ vLocale.Language = "en"
+ vLocale.Country = "US"
+ vLocale.Variant = ""
+
+ oListener1 = createUNOListener("CB1_", "com.sun.star.linguistic2.XLinguServiceEventListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.linguistic2.XLinguServiceEventListener")
+ nCB1Val = 0
+ nCB2Val = 0
+
+ Test.StartMethod("getSpellChecker()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getSpellChecker(), "com.sun.star.linguistic2.XSpellChecker")
+ Test.MethodTested("getSpellChecker()", bOK)
+
+ Test.StartMethod("getHyphenator()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getHyphenator(), "com.sun.star.linguistic2.XHyphenator")
+ Test.MethodTested("getHyphenator()", bOK)
+
+ Test.StartMethod("getThesaurus()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getThesaurus(), "com.sun.star.linguistic2.XThesaurus")
+ Test.MethodTested("getThesaurus()", bOK)
+
+ Test.StartMethod("addLinguServiceManagerListener()")
+ bOK = true
+ bOK = bOK AND oObj.addLinguServiceManagerListener(oListener1)
+ bOK = bOK AND oObj.addLinguServiceManagerListener(oListener2)
+ Out.Log("oListener1 and oListener2 added =&gt; " + bOK )
+ Test.MethodTested("addLinguServiceManagerListener()", bOK)
+
+ Test.StartMethod("removeLinguServiceManagerListener()")
+ bOK = true
+ bOK = bOK AND oObj.removeLinguServiceManagerListener(oListener2)
+ Out.Log("oListener2 removed =&gt; " +bOK)
+ Test.MethodTested("removeLinguServiceManagerListener()", bOK)
+
+ Test.StartMethod("getAvailableServices()")
+ bOK = true
+ aServices = oObj.getAvailableServices("com.sun.star.linguistic2.Thesaurus", vLocale)
+ bOK = bOK AND (uBound(aServices()) &gt; -1)
+ Test.MethodTested("getAvailableServices()", bOK)
+
+ Test.StartMethod("getConfiguredServices()")
+ bOK = true
+ vGetServices = oObj.getConfiguredServices("com.sun.star.linguistic2.Thesaurus", vLocale)
+ bOK = bOK AND (uBound(vGetServices()) &gt; -1)
+ Test.MethodTested("getConfiguredServices()", bOK)
+
+ Test.StartMethod("setConfiguredServices()")
+ Dim vSetServices(0) As String
+ Dim vSetGetServices As Variant
+ bOK = true
+ oObj.setConfiguredServices("com.sun.star.linguistic2.Hyphenator", vLocale, vSetServices())
+ vSetGetServices = oObj.getConfiguredServices("com.sun.star.linguistic2.Hyphenator", vLocale)
+ bOK = bOK AND (uBound(vSetGetServices()) = -1)
+ oObj.setConfiguredServices("com.sun.star.linguistic2.Hyphenator", vLocale, vGetServices())
+ Test.MethodTested("setConfiguredServices()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Sub CB1_processLinguServiceEvent
+ Out.Log("CallBack for Listener1 processLinguServiceEvent was called.")
+ nCB1Val = nCB1Val + 1
+End Sub
+
+Sub CB2_processLinguServiceEvent
+ Out.Log("CallBack for Listener2 processLinguServiceEvent was called.")
+ nCB2Val = nCB2Val + 1
+End Sub
+Sub CB1_
+ Out.Log("CallBack for Listener1 disposing was called.")
+ nCB1Val = nCB1Val + 1
+End Sub
+
+Sub CB2_disposing
+ Out.Log("CallBack for Listener2 disposing was called.")
+ nCB2Val = nCB2Val + 1
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/script.xlb
new file mode 100644
index 000000000000..3584b2494b87
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XLinguServiceManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XLinguServiceManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XLinguServiceManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/linguistic2_XSearchableDictionaryList.xba b/qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/linguistic2_XSearchableDictionaryList.xba
new file mode 100644
index 000000000000..7ad9eb041457
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/linguistic2_XSearchableDictionaryList.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XSearchableDictionaryList" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XSearchableDictionaryList
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim vLocale As new com.sun.star.lang.Locale
+
+ vLocale.Language = "en"
+ vLocale.Country = "US"
+ vLocale.Variant = "WIN"
+
+ Test.StartMethod("queryDictionaryEntry()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.queryDictionaryEntry("Negative", vLocale, false, false),_
+ "com.sun.star.linguistic2.XDictionaryEntry")
+ bOK = bOK AND hasUnoInterfaces(oObj.queryDictionaryEntry("Positive", vLocale, true, true),_
+ "com.sun.star.linguistic2.XDictionaryEntry")
+ Test.MethodTested("queryDictionaryEntry()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/script.xlb
new file mode 100644
index 000000000000..782bf1beef0d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XSearchableDictionaryList/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XSearchableDictionaryList" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XSearchableDictionaryList"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/linguistic2_XSpellChecker.xba b/qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/linguistic2_XSpellChecker.xba
new file mode 100644
index 000000000000..cb208d107450
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/linguistic2_XSpellChecker.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XSpellChecker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XSpellChecker
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim vLocale As new com.sun.star.lang.Locale
+ Dim Prop As new com.sun.star.beans.PropertyValue
+ Dim Props(0 to 0) As Variant
+
+ Props(0) = Prop
+
+ vLocale.Language = "en"
+ vLocale.Country = "US"
+
+
+ Test.StartMethod("isValid()")
+ bOK = true
+ bOK = bOK AND oObj.isValid("Sun", vLocale, Props())
+ bOK = bOK AND NOT oObj.isValid("Summersun", vLocale, Props())
+ Test.MethodTested("isValid()", bOK)
+
+ Dim vAlt As Variant
+ Dim cAlternative As Variant
+ Test.StartMethod("spell()")
+ bOK = true
+ vAlt = oObj.spell("Summersun", vLocale, Props())
+ cAlternative = vAlt.getAlternatives()
+ bOK = bOK AND (cAlternative(0) &lt;&gt; "")
+ Test.MethodTested("spell()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/script.xlb
new file mode 100644
index 000000000000..530343cb3c4e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XSpellChecker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XSpellChecker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XSpellChecker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/linguistic2_XSupportedLocales.xba b/qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/linguistic2_XSupportedLocales.xba
new file mode 100644
index 000000000000..6127924df421
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/linguistic2_XSupportedLocales.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XSupportedLocales" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XSupportedLocales
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim vLocales As Variant
+
+ Test.StartMethod("getLocales()")
+ bOK = true
+ vLocales = oObj.getLocales()
+ bOK = bOK AND (uBound(vLocales()) &gt; 0)
+ Test.MethodTested("getLocales()", bOK)
+
+ Test.StartMethod("hasLocale()")
+ bOK = true
+ Out.Log("first check all available locales")
+ for i=0 to uBound(vLocales())
+ bOK = bOK AND oObj.hasLocale(vLocales(i))
+ next i
+ Out.Log("all available locales result: " + bOK)
+
+ Out.Log(" now create a invalid locale")
+ Dim vLocale As new com.sun.star.lang.Locale
+ vLocale.Language = "myLanguage"
+ vLocale.Country = "myCountry"
+ vLocale.Variant = "dummy"
+ bOK = bOK AND Not oObj.hasLocale(vLocale)
+
+ Test.MethodTested("hasLocale()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/script.xlb
new file mode 100644
index 000000000000..904ac803b61a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XSupportedLocales/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XSupportedLocales" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XSupportedLocales"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/linguistic2_XThesaurus.xba b/qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/linguistic2_XThesaurus.xba
new file mode 100644
index 000000000000..4919533c477b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/linguistic2_XThesaurus.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="linguistic2_XThesaurus" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.linguistic2.XThesaurus
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim cMeanings As Variant
+ Dim vProp As new com.sun.star.beans.PropertyValue
+ Dim vPops(0) As Variant
+ Dim vLocale As new com.sun.star.lang.Locale
+
+ vProps(0) = vProp
+ vLocale.Language = "en"
+ vLocale.Country = "US"
+ vLocale.Variant = ""
+
+ Test.StartMethod("queryMeanings()")
+ bOK = true
+ XMeanings = oObj.queryMeanings("joke", vLocale, vProps())
+ bOK = bOK AND hasUnoInterfaces(XMeanings(0), "com.sun.star.linguistic2.XMeaning")
+ Test.MethodTested("queryMeanings()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/script.xlb b/qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/script.xlb
new file mode 100644
index 000000000000..3caf514a4c66
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/linguistic2/XThesaurus/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="linguistic2_XThesaurus" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="linguistic2_XThesaurus"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/loader/XImplementationLoader/loader_XImplementationLoader.xba b/qadevOOo/tests/basic/ifc/loader/XImplementationLoader/loader_XImplementationLoader.xba
new file mode 100644
index 000000000000..2be27a887c2b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/loader/XImplementationLoader/loader_XImplementationLoader.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="loader_XImplementationLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global cImpLoader As String
+' Global cImpURL As String
+' Global cImpName As String
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.loader.XImplementationLoader
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bRes As Boolean
+ Dim xIfc As Object
+ Dim xReg As Object
+ Dim regKey As Object
+
+ xReg = createUNOService("com.sun.star.registry.SimpleRegistry")
+ xReg.Open(utils.getTempFileURL("XImpLoader.reg"), false, true)
+ regKey = xReg.getRootKey
+
+ Test.StartMethod("writeRegistryInfo()")
+ bOK = true
+ bRes = oObj.writeRegistryInfo(regKey, cImpLoader, cImpURL)
+ Out.Log("writeRegistryInfo() returned " &amp; bRes)
+ bOK = bOK AND bRes
+ Test.MethodTested("writeRegistryInfo()", bOK)
+
+ Test.StartMethod("activate()")
+ bOK = true
+ Out.Log("Activating implementation for " + cImpName)
+ xIfc = oObj.activate(cImpName, cImpLoader, cImpURL, regKey)
+ Out.Log("Returned object supports XServiceInfo : " + _
+ hasUnoInterfaces(xIfc, "com.sun.star.lang.XServiceInfo"))
+ Out.Log("Returned object's implementation name is " + xIfc.getImplementationName())
+
+ bOK = bOK AND xIfc.getImplementationName() = cImpName
+ Test.MethodTested("activate()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/loader/XImplementationLoader/script.xlb b/qadevOOo/tests/basic/ifc/loader/XImplementationLoader/script.xlb
new file mode 100644
index 000000000000..327a1f78b6e7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/loader/XImplementationLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="loader_XImplementationLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="loader_XImplementationLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/presentation/OutlineView/presentation_OutlineView.xba b/qadevOOo/tests/basic/ifc/presentation/OutlineView/presentation_OutlineView.xba
new file mode 100644
index 000000000000..f0b5382ecbd5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/OutlineView/presentation_OutlineView.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="presentation_OutlineView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.presentation.OutlineView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ bOK = True
+
+ PropertyTester.TestProperty("VisibleArea")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/presentation/OutlineView/script.xlb b/qadevOOo/tests/basic/ifc/presentation/OutlineView/script.xlb
new file mode 100644
index 000000000000..433038dafcef
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/OutlineView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="presentation_OutlineView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="presentation_OutlineView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/presentation/Presentation/presentation_Presentation.xba b/qadevOOo/tests/basic/ifc/presentation/Presentation/presentation_Presentation.xba
new file mode 100644
index 000000000000..2cb4950e4f0e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/Presentation/presentation_Presentation.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="presentation_Presentation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.presentation.Presentation
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("AllowAnimations")
+
+ Dim aShows(1) As String
+ aShows(0) = "FirstPresentation"
+ aShows(1) = "SecondPresentation"
+ PropertyTester.TestProperty("CustomShow", aShows())
+
+ PropertyTester.TestProperty("FirstPage")
+
+ PropertyTester.TestProperty("IsAlwaysOnTop")
+
+ PropertyTester.TestProperty("IsAutomatic")
+
+ PropertyTester.TestProperty("IsEndless")
+
+ PropertyTester.TestProperty("IsFullScreen")
+
+ ' This property can be changed ONLY during presentation is running.
+ ' So, starting the presentation
+ oObj.start()
+ PropertyTester.TestProperty("IsLivePresentation")
+ oObj.end()
+
+ PropertyTester.TestProperty("IsMouseVisible")
+
+ PropertyTester.TestProperty("Pause")
+
+ PropertyTester.TestProperty("StartWithNavigator")
+
+ PropertyTester.TestProperty("UsePen")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/presentation/Presentation/script.xlb b/qadevOOo/tests/basic/ifc/presentation/Presentation/script.xlb
new file mode 100644
index 000000000000..bd617066a402
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/Presentation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="presentation_Presentation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="presentation_Presentation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/presentation/PresentationView/presentation_PresentationView.xba b/qadevOOo/tests/basic/ifc/presentation/PresentationView/presentation_PresentationView.xba
new file mode 100644
index 000000000000..24f706db0e97
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/PresentationView/presentation_PresentationView.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="presentation_PresentationView" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.presentation.PresentationView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+'
+ PropertyTester.TestProperty("CurrentPage")
+
+ PropertyTester.TestProperty("VisibleArea")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/presentation/PresentationView/script.xlb b/qadevOOo/tests/basic/ifc/presentation/PresentationView/script.xlb
new file mode 100644
index 000000000000..936a2ba9ceb3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/PresentationView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="presentation_PresentationView" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="presentation_PresentationView"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/presentation/PreviewView/presentation_PreviewView.xba b/qadevOOo/tests/basic/ifc/presentation/PreviewView/presentation_PreviewView.xba
new file mode 100644
index 000000000000..9b060b548f34
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/PreviewView/presentation_PreviewView.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="presentation_PreviewView" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' NONE
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.presentation.PreviewView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+'
+ PropertyTester.TestProperty("CurrentPage")
+
+ PropertyTester.TestProperty("VisibleArea")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/presentation/PreviewView/script.xlb b/qadevOOo/tests/basic/ifc/presentation/PreviewView/script.xlb
new file mode 100644
index 000000000000..ecfdd26cb45c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/PreviewView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="presentation_PreviewView" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="presentation_PreviewView"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/presentation_XCustomPresentationSupplier.xba b/qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/presentation_XCustomPresentationSupplier.xba
new file mode 100644
index 000000000000..3f999c6caef8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/presentation_XCustomPresentationSupplier.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="presentation_XCustomPresentationSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.presentation.XCustomPresentationSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCustPres As Object
+
+ Test.StartMethod("getCustomPresentations()")
+ bOK = true
+ oCustPres = oObj.getCustomPresentations()
+ bOK = bOK AND NOT isNull(oCustPres)
+ bOK = bOK AND hasUnoInterfaces(oCustPres, "com.sun.star.container.XNameContainer")
+ Test.MethodTested("getCustomPresentations()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/script.xlb b/qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/script.xlb
new file mode 100644
index 000000000000..a47543309bc2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/XCustomPresentationSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="presentation_XCustomPresentationSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="presentation_XCustomPresentationSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/presentation/XPresentation/presentation_XPresentation.xba b/qadevOOo/tests/basic/ifc/presentation/XPresentation/presentation_XPresentation.xba
new file mode 100644
index 000000000000..8b31c1dda6dd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/XPresentation/presentation_XPresentation.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="presentation_XPresentation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.presentation.XPresentation
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("start()")
+ bOK = true
+ oObj.start()
+ Test.MethodTested("start()", bOK)
+
+ Test.StartMethod("rehearseTimings()")
+ bOK = true
+ oObj.rehearseTimings()
+ Test.MethodTested("rehearseTimings()", bOK)
+
+ Test.StartMethod("end()")
+ bOK = true
+ oObj.end()
+ Test.MethodTested("end()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/presentation/XPresentation/script.xlb b/qadevOOo/tests/basic/ifc/presentation/XPresentation/script.xlb
new file mode 100644
index 000000000000..1983239dd174
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/XPresentation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="presentation_XPresentation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="presentation_XPresentation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/presentation_XPresentationSupplier.xba b/qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/presentation_XPresentationSupplier.xba
new file mode 100644
index 000000000000..d5902e2375e9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/presentation_XPresentationSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="presentation_XPresentationSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.presentation.XPresentationSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oPresentation As Object
+
+ Test.StartMethod("getPresentation()")
+ bOK = true
+ oPresentation = oObj.getPresentation()
+ bOK = bOK AND NOT isNull(oPresentation)
+ bOK = bOK AND hasUnoInterfaces(oPresentation, "com.sun.star.presentation.XPresentation")
+ Test.MethodTested("getPresentation()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/script.xlb b/qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/script.xlb
new file mode 100644
index 000000000000..c118d9ff34d4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/presentation/XPresentationSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="presentation_XPresentationSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="presentation_XPresentationSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/reflection/XIdlReflection/reflection_XIdlReflection.xba b/qadevOOo/tests/basic/ifc/reflection/XIdlReflection/reflection_XIdlReflection.xba
new file mode 100644
index 000000000000..65335dd20403
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/reflection/XIdlReflection/reflection_XIdlReflection.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="reflection_XIdlReflection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.reflection.XIdlReflection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oIdlClass As Object
+ Dim oIdlClassType As Object
+
+ Test.StartMethod("forName()")
+ bOK = true
+ oIdlClass = oObj.forName("com.sun.star.drawing.LineStyle")
+ bOK = bOK AND oIdlClass.Name = "com.sun.star.drawing.LineStyle"
+ Test.MethodTested("forName()", bOK)
+
+ Test.StartMethod("getType()")
+ bOK = true
+ oIdlClassType = oObj.getType(oIdlClass)
+ bOK = bOK AND hasUnoInterfaces(oIdlClass, "com.sun.star.reflection.XIdlClass")
+ bOK = bOK AND oIdlClassType.Name = "com.sun.star.reflection.XIdlClass"
+ Test.MethodTested("getType()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/reflection/XIdlReflection/script.xlb b/qadevOOo/tests/basic/ifc/reflection/XIdlReflection/script.xlb
new file mode 100644
index 000000000000..7d0e642cb4e7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/reflection/XIdlReflection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="reflection_XIdlReflection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="reflection_XIdlReflection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/reflection/XProxyFactory/reflection_XProxyFactory.xba b/qadevOOo/tests/basic/ifc/reflection/XProxyFactory/reflection_XProxyFactory.xba
new file mode 100644
index 000000000000..b7a26af0e045
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/reflection/XProxyFactory/reflection_XProxyFactory.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="reflection_XProxyFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.reflection.XProxyFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createProxy()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.createProxy(StarDesktop), "com.sun.star.uno.XAggregation")
+ Test.MethodTested("createProxy()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/reflection/XProxyFactory/script.xlb b/qadevOOo/tests/basic/ifc/reflection/XProxyFactory/script.xlb
new file mode 100644
index 000000000000..3784677d8aaa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/reflection/XProxyFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="reflection_XProxyFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="reflection_XProxyFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba
new file mode 100644
index 000000000000..2915d317d47a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="registry_XImplementationRegistration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.registry.XImplementationRegistration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aImplementationLoader As String
+ Dim aImplementations As Variant
+ Dim aMissingServices As Variant
+ Dim aLocation As String
+ Dim i As Integer
+ Dim k As Integer
+ Dim xReg As Object
+ Dim regKey As Object
+ Dim keyNames As Variant
+ Dim bNeedTest As Boolean
+
+ xReg = createUNOService("com.sun.star.registry.SimpleRegistry")
+ xReg.Open(utils.Path2URL(cTestDocsDir &amp; "XImpReg.reg"), false, true)
+ aImplementationLoader = "com.sun.star.loader.Java2"
+ aLocation = utils.Path2URL(cTestDocsDir &amp; "qadevlibs/MyPersistObjectImpl.jar")
+
+ Test.StartMethod("getImplementations()")
+ bOK = true
+ aImplementations = oObj.getImplementations(aImplementationLoader, aLocation)
+ bOK = bOK AND i &gt;= 0
+ for i = 0 to ubound(aImplementations)
+ Out.Log "" &amp; i + 1 &amp; ") " &amp; aImplementations(i)
+ next i
+ Test.MethodTested("getImplementations()", bOK)
+
+ Test.StartMethod("registerImplementation()")
+ Out.Log("Registering implementation from " &amp; aLocation)
+ bOK = true
+ oObj.registerImplementation(aImplementationLoader, aLocation, xReg)
+
+ bOK = bOK AND xReg.isValid()
+
+ regKey = xReg.getRootKey.openKey("IMPLEMENTATIONS")
+ keyNames = regKey.getKeyNames()
+ Out.Log("In registry found " &amp; ubound(keyNames) + 1 &amp; " implementations.")
+ Dim aFlags(ubound(aImplementations())) As Boolean
+ for i = 0 to ubound(aFlags())
+ aFlags(i) = false
+ next i
+
+ for i = 0 to ubound(keyNames())
+ Out.Log("Found key: " &amp; keyNames(i))
+ for k = 0 to ubound(aImplementations)
+ if (inStr(1, keyNames(i), aImplementations(k)) &gt; 0 ) then
+ aFlags(k) = true
+ end if
+ next k
+ next i
+
+ for i = 0 to ubound(aFlags())
+ if (NOT aFlags(i)) then
+ Out.Log("Can't find information about " &amp; aImplementations(i) &amp; " in regestry")
+ bOK = false
+ end if
+ next i
+
+ Test.MethodTested("registerImplementation()", bOK)
+
+ Test.StartMethod("checkInstantiation()")
+ bOK = true
+ Out.Log("Looking for missing services to create " &amp; aImplementations(0))
+ aMissingServices = oObj.checkInstantiation(aImplementations(0))
+ Out.Log("" &amp; ubound(aMissingServices) + 1 &amp; " missing services were found")
+ for i = 0 to ubound(aMissingServices)
+ Out.Log "" &amp; i &amp; ") " &amp; aMissingServices(i)
+ next i
+ Test.MethodTested("checkInstantiation()", bOK)
+
+ Test.StartMethod("revokeImplementation()")
+ bOK = true
+ bNeedTest = false
+
+ oObj.revokeImplementation(aLocation, xReg)
+
+ bOK = bOK AND xReg.isValid()
+ regKey = xReg.getRootKey
+ keyNames = regKey.getKeyNames()
+ for i = 0 to ubound(keyNames())
+ if (inStr(1, keyNames(i), "IMPLEMENTATIONS") &gt; 0) then
+ bNeedTest = true
+ end if
+ next i
+ if (NOT bNeedTest) then
+ Out.Log("No implementation was found.")
+ end if
+
+ if (bOK AND bNeedTest) then
+ regKey = xReg.getRootKey.openKey("IMPLEMENTATIONS")
+ Out.Log("In registry found " &amp; ubound(keyNames) + 1 &amp; " implementations.")
+
+ for i = 0 to ubound(aFlags())
+ aFlags(i) = false
+ next i
+
+ for i = 0 to ubound(keyNames())
+ Out.Log("Found key: " &amp; keyNames(i))
+ for k = 0 to ubound(aImplementations)
+ if (inStr(1, keyNames(i), aImplementations(k)) &gt; 0 ) then
+ aFlags(k) = true
+ end if
+ next k
+ next i
+
+ for i = 0 to ubound(aFlags())
+ if (aFlags(i)) then
+ Out.Log("Information about " &amp; aImplementations(i) &amp; " is still in regestry")
+ bOK = false
+ end if
+ next i
+ end if
+ Test.MethodTested("revokeImplementation()", bOK)
+
+ xReg.Close()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb
new file mode 100644
index 000000000000..ba6078351ce9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="registry_XImplementationRegistration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="registry_XImplementationRegistration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba
new file mode 100644
index 000000000000..fb9649252959
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="registry_XSimpleRegistry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.registry.XSimpleRegistry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cURL As String
+ Dim cTempURL As String
+ Dim oTempReg As Object
+ Dim oRoot As Object
+ Dim oKey As Object
+ Dim oKey2 As Object
+
+ cURL = utils.getTempFileURL("BASReg.rdb", true)
+
+ Test.StartMethod("open()")
+ bOK = true
+ if (cObjectName &lt;&gt; "defreg.NestedRegistry") then
+ oObj.open(cURL, false, true)
+ bOK = bOK AND FileExists(cURL)
+ end if
+ Test.MethodTested("open()", bOK)
+
+ Test.StartMethod("isValid()")
+ bOK = true
+ bOK = bOK AND oObj.isValid()
+ Test.MethodTested("isValid()", bOK)
+
+ Test.StartMethod("getRootKey()")
+ bOK = true
+ oKey = oObj.getRootKey()
+ bOK = bOK AND hasUnoInterfaces(oKey, "com.sun.star.registry.XRegistryKey")
+ Test.MethodTested("getRootKey()", bOK)
+
+ Test.StartMethod("isReadOnly()")
+ bOK = true
+ bOK = bOK AND NOT oObj.isReadOnly()
+ Test.MethodTested("isReadOnly()", bOK)
+
+ Test.StartMethod("mergeKey()")
+ bOK = true
+
+ oKey.createKey("Key1").setStringValue("Value of Key1")
+
+ cTempURL = utils.getTempFileURL("BASRegTemp.rdb", true)
+ oTempReg = createUnoService("com.sun.star.registry.SimpleRegistry")
+ oTempReg.open(cTempURL, false, true)
+ oKey2 = oTempReg.getRootKey()
+ oKey2.createKey("Key2").setStringValue("Value of Key2")
+
+ oObj.mergeKey("/", cTempURL)
+
+ oRoot = oObj.RootKey
+ oKey = oRoot.openKey("Key1")
+ bOK = bOK AND oKey.getStringValue = "Value of Key1"
+ oKey = oRoot.openKey("Key2")
+ bOK = bOK AND oKey.getStringValue = "Value of Key2"
+ oTempReg.close()
+
+ Test.MethodTested("mergeKey()", bOK)
+
+ Test.StartMethod("getURL()")
+ bOK = true
+ Out.Log("Returned URL is " &amp; oObj.URL)
+ bOK = bOK AND inStr(1, oObj.URL, ".rdb") &gt; 0
+ Test.MethodTested("getURL()", bOK)
+
+ Test.StartMethod("destroy()")
+ bOK = true
+ if (cObjectName &lt;&gt; "defreg.NestedRegistry") then
+ oObj.open(cURL, false, true)
+ oObj.destroy()
+ end if
+ Test.MethodTested("destroy()", bOK)
+
+ Test.StartMethod("close()")
+ bOK = true
+ if (cObjectName &lt;&gt; "defreg.NestedRegistry") then
+ oObj.open(cURL, false, true)
+ oObj.close()
+ end if
+ Test.MethodTested("close()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb
new file mode 100644
index 000000000000..a4234ec9ee79
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="registry_XSimpleRegistry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="registry_XSimpleRegistry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script.xlb b/qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script.xlb
new file mode 100644
index 000000000000..915cdd0d4160
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="script_XEventAttacherManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="script_XEventAttacherManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script_XEventAttacherManager.xba b/qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script_XEventAttacherManager.xba
new file mode 100644
index 000000000000..8aa6a798ccaf
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XEventAttacherManager/script_XEventAttacherManager.xba
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="script_XEventAttacherManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.script.XEventAttacherManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ oObj.insertEntry(0)
+
+ Test.StartMethod("addScriptListener()")
+ bOK = true
+ Dim oListener1 As Object
+ Dim oListener2 As Object
+
+ oListener = createUnoListener("CB1_", "com.sun.star.script.XScriptListener")
+
+ oObj.addScriptListener(oListener)
+
+ Test.MethodTested("addScriptListener()", bOK)
+
+
+ Test.StartMethod("registerScriptEvent()")
+ bOK = true
+
+ Dim aScriptEvent1 As New com.sun.star.script.ScriptEventDescriptor
+ aScriptEvent1.ListenerType = "ScriptListener"
+ aScriptEvent1.EventMethod = "Test"
+ aScriptEvent1.AddListenerParam = ""
+ aScriptEvent1.ScriptType = "Basic"
+ aScriptEvent1.ScriptCode = "MsgBox ""Script1"""
+ oObj.registerScriptEvent(0, aScriptEvent1)
+
+ Test.MethodTested("registerScriptEvent()", bOK)
+
+ Test.StartMethod("registerScriptEvents()")
+ bOK = true
+ Dim aScriptEvent2 As New com.sun.star.script.ScriptEventDescriptor
+ aScriptEvent2.ListenerType = "ScriptListener"
+ aScriptEvent2.EventMethod = "Test"
+ aScriptEvent2.AddListenerParam = ""
+ aScriptEvent2.ScriptType = "Basic"
+ aScriptEvent2.ScriptCode = "MsgBox ""Script2"""
+ Dim aScriptEvent3 As New com.sun.star.script.ScriptEventDescriptor
+ aScriptEvent3.ListenerType = "ScriptListener"
+ aScriptEvent3.EventMethod = "Test"
+ aScriptEvent3.AddListenerParam = ""
+ aScriptEvent3.ScriptType = "Basic"
+ aScriptEvent3.ScriptCode = "MsgBox ""Script3"""
+
+ Dim aScripts(1)
+ aScripts(0) = aScriptEvent2
+ aScripts(1) = aScriptEvent3
+
+ oObj.registerScriptEvents(0, aScripts())
+
+ Test.MethodTested("registerScriptEvents()", bOK)
+
+ Test.StartMethod("getScriptEvents()")
+ bOK = true
+ allScripts = oObj.getScriptEvents(0)
+ bOK = bOK AND ubound(allScripts) = 2
+ bOK = bOK AND allScripts(0).ScriptCode = "MsgBox ""Script1"""
+ bOK = bOK AND allScripts(1).ScriptCode = "MsgBox ""Script2"""
+ bOK = bOK AND allScripts(2).ScriptCode = "MsgBox ""Script3"""
+ Test.MethodTested("getScriptEvents()", bOK)
+
+ Test.StartMethod("insertEntry()")
+ bOK = true
+ oObj.insertEntry(0)
+ allScripts = oObj.getScriptEvents(0)
+ bOK = bOK AND ubound(allScripts) = -1
+ allScripts = oObj.getScriptEvents(1)
+ bOK = bOK AND ubound(allScripts) = 2
+ Test.MethodTested("insertEntry()", bOK)
+
+ Test.StartMethod("removeEntry()")
+ bOK = true
+ oObj.removeEntry(0)
+ allScripts = oObj.getScriptEvents(1)
+ bOK = bOK AND ubound(allScripts) = -1
+ allScripts = oObj.getScriptEvents(0)
+ bOK = bOK AND ubound(allScripts) = 2
+ Test.MethodTested("removeEntry()", bOK)
+
+ Test.StartMethod("attach()")
+ bOK = true
+ oObj.attach(0, oObj, "")
+ Test.MethodTested("attach()", bOK)
+
+ Test.StartMethod("detach()")
+ bOK = true
+ oObj.detach(0, oObj)
+ Test.MethodTested("detach()", bOK)
+
+
+ Test.StartMethod("revokeScriptEvent()")
+ bOK = true
+ oObj.revokeScriptEvent(0, "ScriptListener", "Test", "")
+ allScripts = oObj.getScriptEvents(0)
+ bOK = bOK AND ubound(allScripts) = 1
+ Test.MethodTested("revokeScriptEvent()", bOK)
+
+ Test.StartMethod("revokeScriptEvents()")
+ bOK = true
+ oObj.revokeScriptEvents(0)
+ allScripts = oObj.getScriptEvents(0)
+ bOK = bOK AND ubound(allScripts) = -1
+ Test.MethodTested("revokeScriptEvents()", bOK)
+
+ Test.StartMethod("removeScriptListener()")
+ bOK = true
+ oObj.removeScriptListener(oListener)
+ Test.MethodTested("removeScriptListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script.xlb b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script.xlb
new file mode 100644
index 000000000000..6478659303e1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="script_XInvocationAdapterFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="script_XInvocationAdapterFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script_XInvocationAdapterFactory.xba b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script_XInvocationAdapterFactory.xba
new file mode 100644
index 000000000000..34f1d2a7fc9d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory/script_XInvocationAdapterFactory.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="script_XInvocationAdapterFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.script.XInvocationAdapterFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim pipe As Object, invFac As Object, inv As Object
+ Dim adp As Object
+ Dim tIS As Variant
+
+ Out.Log("Preparing arguments for method call ...")
+ pipe = createUnoService("com.sun.star.io.Pipe")
+ invFac = createUnoService("com.sun.star.script.Invocation")
+ inv = invFac.createInstanceWithArguments(Array(pipe))
+
+ Test.StartMethod("createAdapter()")
+ bOK = true
+ tIS = oCoreRefl.forName("com.sun.star.io.XInputStream")
+ Out.Log("Creating adapter for '" + tIS.Name + "' interface")
+ adp = oObj.createAdapter(inv, tIS)
+ if NOT isNull(adp) then
+ if NOT hasUnoInterfaces(adp, "com.sun.star.io.XInputStream") then
+ bOK = false
+ Out.Log("Returned object doesn't support XInputStream")
+ endif
+ else
+ bOK = false
+ Out.Log("NULL was returned.")
+ endif
+
+ Test.MethodTested("createAdapter()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script.xlb b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script.xlb
new file mode 100644
index 000000000000..f182c69bf6b1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="script_XInvocationAdapterFactory2" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="script_XInvocationAdapterFactory2"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script_XInvocationAdapterFactory2.xba b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script_XInvocationAdapterFactory2.xba
new file mode 100644
index 000000000000..49dad6ec208d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XInvocationAdapterFactory2/script_XInvocationAdapterFactory2.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="script_XInvocationAdapterFactory2" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.script.XInvocationAdapterFactory2
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim pipe As Object, invFac As Object, inv As Object
+ Dim adp As Object
+ Dim types As Variant
+
+ Out.Log("Preparing arguments for method call ...")
+ pipe = createUnoService("com.sun.star.io.Pipe")
+ invFac = createUnoService("com.sun.star.script.Invocation")
+ inv = invFac.createInstanceWithArguments(Array(pipe))
+
+ Test.StartMethod("createAdapter()")
+ bOK = true
+ types = Array( oCoreRefl.forName("com.sun.star.io.XInputStream") )
+ adp = oObj.createAdapter(inv, tIS)
+ if NOT isNull(adp) then
+ if NOT hasUnoInterfaces(adp, "com.sun.star.io.XInputStream") then
+ bOK = false
+ Out.Log("Returned object doesn't support XInputStream")
+ endif
+ else
+ bOK = false
+ Out.Log("NULL was returned.")
+ endif
+
+ Test.MethodTested("createAdapter()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/script/XTypeConverter/script.xlb b/qadevOOo/tests/basic/ifc/script/XTypeConverter/script.xlb
new file mode 100644
index 000000000000..2168d231f1d8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XTypeConverter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="script_XTypeConverter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="script_XTypeConverter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/script/XTypeConverter/script_XTypeConverter.xba b/qadevOOo/tests/basic/ifc/script/XTypeConverter/script_XTypeConverter.xba
new file mode 100644
index 000000000000..26d613cbef4c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/script/XTypeConverter/script_XTypeConverter.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="script_XTypeConverter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.script.XTypeConverter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCoreRefl As Object
+
+ oCoreRefl = createUNOService("com.sun.star.reflection.CoreReflection")
+
+ Test.StartMethod("convertTo()")
+ bOK = true
+ Dim tXInterface As Variant
+ Dim tXInterfaceObject As Variant
+ Dim cObjTypeName As String
+ Dim oObjToConv As Object
+
+ Out.Log("Creating a Type object for XInterface")
+ tXInterface = oCoreRefl.forName("com.sun.star.io.XInputStream")
+ Out.Log("Created " + tXInterface.Name)
+
+ oObjToConv = createUnoService("com.sun.star.io.Pipe")
+ Out.Log("Converting object of type " + oCoreRefl.getType(oObjToConv).Name + " to " + tXInterface.Name)
+ tXInterfaceObject = oObj.convertTo(oObjToConv, tXInterface)
+
+ if (isNULL(tXInterfaceObject)) then
+ Out.Log("Returned object is NULL!!!")
+ bOK = false
+ elseif (isEmpty(tXInterfaceObject)) then
+ cObjTypeName = "Empty"
+ else
+ cObjTypeName = oCoreRefl.getType(tXInterfaceObject).Name
+ end if
+
+ Out.Log("New object is of type " + cObjTypeName + ".")
+
+ bOK = bOK AND NOT isNULL(tXInterfaceObject)
+ bOK = bOK AND inStr(1, cObjTypeName, "XInterface")
+ Test.MethodTested("convertTo()", bOK)
+
+
+ Test.StartMethod("convertToSimpleType()")
+ Dim oldType As String
+ Dim newType As String
+ Dim oldVal As Integer
+ Dim newVal
+
+ bOK = true
+
+ oldVal = 65
+ oldType = oCoreRefl.getType(oldVal).Name
+ newVal = oObj.convertToSimpleType(oldVal, com.sun.star.uno.TypeClass.STRING)
+ newType = oCoreRefl.getType(newVal).Name
+
+ bOK = bOK AND newType &lt;&gt; oldType
+ bOK = bOK AND inStr(1, newVal, "65")
+ Out.Log("Old value is " + oldVal + " of type " + oldType + ", new value is " + _
+ newVal + " of type " + newType + ".")
+ Test.MethodTested("convertToSimpleType()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/script.xlb
new file mode 100644
index 000000000000..cd1568bef490
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_DataAccessDescriptor" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="sdb_DataAccessDescriptor"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/sdb_DataAccessDescriptor.xba b/qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/sdb_DataAccessDescriptor.xba
new file mode 100644
index 000000000000..9f00da7b7379
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/DataAccessDescriptor/sdb_DataAccessDescriptor.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_DataAccessDescriptor" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' NONE
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdb.DataAccessDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("DataSourceName")
+
+ PropertyTester.TestProperty("ActiveConnection")
+
+ PropertyTester.TestProperty("Command")
+
+ PropertyTester.TestProperty("CommandType")
+
+ PropertyTester.TestProperty("Filter")
+
+ PropertyTester.TestProperty("EscapeProcessing")
+
+ PropertyTester.TestProperty("ResultSet")
+
+ PropertyTester.TestProperty("Selection", Array(Array(2,4), Array(1,3)))
+
+ PropertyTester.TestProperty("BookmarkSelection")
+
+ PropertyTester.TestProperty("ColumnName")
+
+ PropertyTester.TestProperty("Column")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/DataSource/script.xlb b/qadevOOo/tests/basic/ifc/sdb/DataSource/script.xlb
new file mode 100644
index 000000000000..2e4c15e4a7b8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/DataSource/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_DataSource" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_DataSource"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/DataSource/sdb_DataSource.xba b/qadevOOo/tests/basic/ifc/sdb/DataSource/sdb_DataSource.xba
new file mode 100644
index 000000000000..58894d625364
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/DataSource/sdb_DataSource.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_DataSource" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - SuppressVersionColumns
+' - IsReadOnly
+' - NumberFormatsSupplier
+' - TableFilter
+' - TableTypeFilter
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdb.DataSource
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim infoUsr as new com.sun.star.beans.PropertyValue
+ Dim infoPass as new com.sun.star.beans.PropertyValue
+ Dim bOk as Boolean
+
+ PropertyTester.TestProperty("Name")
+
+ PropertyTester.TestProperty("URL")
+
+ Test.StartMethod("Info")
+ props() = oObj.Info
+
+ infoUsr.Name = "user"
+ if ubound(props()) > -1 then
+ infoUsr.Value = "New" + props(0).Value
+ else
+ infoUsr.Value = "DataSourceUser"
+ endif
+
+ infoPass.Name = "password"
+ infoPass.Value = "DataSourcePasswd"
+
+ newProps = Array(infoUsr, infoPass)
+ oObj.Info = newProps
+ getProps() = oObj.Info
+ Out.Log("ubound = " + ubound(getProps()))
+
+ bOk = PropertyTester.equals(newProps, getProps)
+
+ Test.MethodTested("Info", bOk)
+
+ PropertyTester.TestProperty("User")
+
+ PropertyTester.TestProperty("Password")
+
+ PropertyTester.TestProperty("IsPasswordRequired")
+
+ PropertyTester.TestProperty("SuppressVersionColumns")
+
+ PropertyTester.TestProperty("IsReadOnly")
+
+ PropertyTester.TestProperty("NumberFormatsSupplier")
+
+ PropertyTester.TestProperty("TableFilter")
+
+ PropertyTester.TestProperty("TableTypeFilter")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/script.xlb b/qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/script.xlb
new file mode 100644
index 000000000000..dd1009b2297b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_DatasourceAdministrationDialog" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_DatasourceAdministrationDialog"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/sdb_DatasourceAdministrationDialog.xba b/qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/sdb_DatasourceAdministrationDialog.xba
new file mode 100644
index 000000000000..db42fb893ad7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/DatasourceAdministrationDialog/sdb_DatasourceAdministrationDialog.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_DatasourceAdministrationDialog" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdb.DatasourceAdministrationDialog
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("Title")
+
+ PropertyTester.TestProperty("ParentWindow")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/script.xlb b/qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/script.xlb
new file mode 100644
index 000000000000..9a2d6ef472df
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_ErrorMessageDialog" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_ErrorMessageDialog"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/sdb_ErrorMessageDialog.xba b/qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/sdb_ErrorMessageDialog.xba
new file mode 100644
index 000000000000..734a5d250ac3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/ErrorMessageDialog/sdb_ErrorMessageDialog.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_ErrorMessageDialog" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdb.ErrorMessageDialog
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim excep As Variant
+ Dim bOK As Boolean
+ Dim msg As String
+
+ PropertyTester.TestProperty("Title")
+
+ PropertyTester.TestProperty("ParentWindow")
+
+ Test.StartMethod("SQLException")
+ bOk = true
+ excep = oObj.SQLException
+ if isNull(excep) OR isEmpty(excep) then
+ Out.Log("Property is null and cann't be changed")
+ else
+ oObj.SQLException = NULL_OBJECT
+ excep = oObj.SQLException
+ bOk = bOK AND (isNull(excep) OR isEmpty(excep))
+ endIf
+ Test.MethodTested("SQLException", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/QueryDefinition/script.xlb b/qadevOOo/tests/basic/ifc/sdb/QueryDefinition/script.xlb
new file mode 100644
index 000000000000..be39aab5d1a8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/QueryDefinition/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_QueryDefinition" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_QueryDefinition"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/QueryDefinition/sdb_QueryDefinition.xba b/qadevOOo/tests/basic/ifc/sdb/QueryDefinition/sdb_QueryDefinition.xba
new file mode 100644
index 000000000000..86723d3d00f8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/QueryDefinition/sdb_QueryDefinition.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_QueryDefinition" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdb.QueryDefinition
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Name")
+
+ PropertyTester.TestProperty("Command")
+
+ PropertyTester.TestProperty("EscapeProcessing")
+
+ PropertyTester.TestProperty("UpdateTableName")
+
+ PropertyTester.TestProperty("UpdateCatalogName")
+
+ PropertyTester.TestProperty("UpdateSchemaName")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/RowSet/script.xlb b/qadevOOo/tests/basic/ifc/sdb/RowSet/script.xlb
new file mode 100644
index 000000000000..e739bd7198ea
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/RowSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_RowSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_RowSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/RowSet/sdb_RowSet.xba b/qadevOOo/tests/basic/ifc/sdb/RowSet/sdb_RowSet.xba
new file mode 100644
index 000000000000..cc52b46be8fc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/RowSet/sdb_RowSet.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_RowSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdb.RowSet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("ActiveConnection")
+
+ PropertyTester.TestProperty("DataSourceName")
+
+ PropertyTester.TestProperty("Command")
+
+ Test.StartMethod("CommandType")
+ bOK = true
+ oldVal = oObj.CommandType
+ Out.Log("value before: "+oldVal)
+ if (oldVal &lt;&gt; 9999) then
+ oObj.CommandType = 9999
+ else
+ oObj.CommandType = 10000
+ endif
+ newVal = oObj.CommandType
+ Out.Log("value after: "+newVal)
+ bOK = bOK AND (newVal &lt;&gt; oldVal)
+ Test.MethodTested("CommandType",bOK)
+
+ PropertyTester.TestProperty("ActiveCommand")
+
+ PropertyTester.TestProperty("IgnoreResult")
+
+ PropertyTester.TestProperty("Filter")
+
+ PropertyTester.TestProperty("ApplyFilter")
+
+ PropertyTester.TestProperty("Order")
+
+ PropertyTester.TestProperty("Privileges")
+
+ PropertyTester.TestProperty("IsModified")
+
+ PropertyTester.TestProperty("IsNew")
+
+ PropertyTester.TestProperty("RowCount")
+
+ PropertyTester.TestProperty("IsRowCountFinal")
+
+ PropertyTester.TestProperty("UpdateTableName")
+
+ PropertyTester.TestProperty("UpdateCatalogName")
+
+ PropertyTester.TestProperty("UpdateSchemaName")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/script.xlb
new file mode 100644
index 000000000000..150ca7de9f49
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_XBookmarksSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_XBookmarksSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/sdb_XBookmarksSupplier.xba b/qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/sdb_XBookmarksSupplier.xba
new file mode 100644
index 000000000000..691dbc25aaca
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XBookmarksSupplier/sdb_XBookmarksSupplier.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_XBookmarksSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdb.XBookmarksSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bkMrks as Variant
+
+
+ Test.StartMethod("getBookmarks()")
+ bOK = true
+ bkMrks = oObj.getBookmarks()
+ bOK = bOK AND (NOT isNull(bkMrks))
+ if NOT bOK then Out.Log("The method returned NULL")
+ bOK = bOK AND hasUNOInterfaces(bkMrks, "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getBookmarks()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/script.xlb b/qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/script.xlb
new file mode 100644
index 000000000000..2ee70813f92a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_XCompletedConnection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_XCompletedConnection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/sdb_XCompletedConnection.xba b/qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/sdb_XCompletedConnection.xba
new file mode 100644
index 000000000000..b8254ddb5e2a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XCompletedConnection/sdb_XCompletedConnection.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_XCompletedConnection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdb.XCompletedConnection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ ReCreateObj()
+
+ Test.StartMethod("connectWithCompletion()")
+ bOK = true
+ Dim oIH As Object
+ Dim oConnection As Object
+ oIH = createUnoService("com.sun.star.sdb.InteractionHandler")
+ oConnection = oObj.connectWithCompletion(oIH)
+ bOK = bOK AND hasUnoInterfaces(oConnection, "com.sun.star.sdbc.XConnection")
+ Test.MethodTested("connectWithCompletion()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/script.xlb
new file mode 100644
index 000000000000..30016fad8059
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_XQueryDefinitionsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_XQueryDefinitionsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/sdb_XQueryDefinitionsSupplier.xba b/qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/sdb_XQueryDefinitionsSupplier.xba
new file mode 100644
index 000000000000..1d3a69bffea1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XQueryDefinitionsSupplier/sdb_XQueryDefinitionsSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_XQueryDefinitionsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdb.XQueryDefinitionsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getQueryDefinitions()")
+ bOK = true
+ Dim oQD As Object
+ oQD = oObj.getQueryDefinitions()
+ bOK = bOK AND hasUnoInterfaces(oQD, "com.sun.star.container.XNameAccess"
+ Test.MethodTested("getQueryDefinitions()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/script.xlb b/qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/script.xlb
new file mode 100644
index 000000000000..2f4becc94f61
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_XResultSetAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_XResultSetAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/sdb_XResultSetAccess.xba b/qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/sdb_XResultSetAccess.xba
new file mode 100644
index 000000000000..cbbb70f067d1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XResultSetAccess/sdb_XResultSetAccess.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_XResultSetAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdb.XResultSetAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createResultSet()")
+ bOK = true
+ oResultSet = oObj.createResultSet()
+ bOK = bOK AND hasUnoInterfaces(oResultSet, "com.sun.star.sdbc.XResultSet")
+ Test.MethodTested("createResultSet()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/script.xlb
new file mode 100644
index 000000000000..d5f0289de9ce
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdb_XRowSetApproveBroadcaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdb_XRowSetApproveBroadcaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/sdb_XRowSetApproveBroadcaster.xba b/qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/sdb_XRowSetApproveBroadcaster.xba
new file mode 100644
index 000000000000..ba32a84bb2b3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdb/XRowSetApproveBroadcaster/sdb_XRowSetApproveBroadcaster.xba
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdb_XRowSetApproveBroadcaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+Dim iApproveCursorMove1 As Integer
+Dim iApproveCursorMove2 As Integer
+Dim iApproveRowChange1 As Integer
+Dim iApproveRowChange2 As Integer
+Dim iApproveRowSetChange1 As Integer
+Dim iApproveRowSetChange2 As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdb.XRowSetApproveBroadcaster
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oListener1 As Object
+ Dim oListener2 As Object
+ Dim cOrigStr As String
+ Dim cPrevStr As String
+
+ oObj.first()
+ cOrigStr = oObj.getString(1)
+
+ Out.Log("Creating two XRowSetApproveListeners")
+ oListener1 = createUnoListener("CB1_", "com.sun.star.sdb.XRowSetApproveListener")
+ oListener2 = createUnoListener("CB2_", "com.sun.star.sdb.XRowSetApproveListener")
+
+ ResetCounters()
+
+ Test.StartMethod("addRowSetApproveListener()")
+ bOK = true
+ oObj.addRowSetApproveListener(oListener1)
+ oObj.addRowSetApproveListener(oListener2)
+
+ bOK = bOK AND Expected(0, 0, 0, 0, 0, 0)
+
+ Out.Log("Call oObj.execute() - change RowSet")
+ oObj.execute()
+ bOK = bOK AND Expected(0, 0, 0, 0, 1, 1)
+
+ ResetCounters()
+ Out.Log("Call oObj.next() - move cursor")
+ oObj.next()
+ bOK = bOK AND Expected(1, 1, 0, 0, 0, 0)
+
+ Out.Log("Call oObj.updateString() - updating RowSet")
+ oObj.first()
+ ResetCounters()
+ cPrevStr = oObj.getString(1)
+ Out.Log(cPrevStr)
+ oObj.updateString(1, cPrevStr + "+")
+ oObj.updateRow()
+ Out.Log(oObj.getString(1))
+ bOK = bOK AND Expected(0, 0, 1, 1, 0, 0)
+ bOK = bOK AND oObj.getString(1) = cPrevStr + "+"
+
+ Test.MethodTested("addRowSetApproveListener()", bOK)
+
+ ResetCounters()
+
+ Test.StartMethod("removeRowSetApproveListener()")
+ bOK = true
+ Out.Log("Removing only first listener")
+ oObj.removeRowSetApproveListener(oListener1)
+
+ bOK = bOK AND Expected(0, 0, 0, 0, 0, 0)
+
+ Out.Log("Call oObj.execute() - change RowSet")
+ oObj.execute()
+ bOK = bOK AND Expected(0, 0, 0, 0, 0, 1)
+
+ ResetCounters()
+ Out.Log("Call oObj.next() - move cursor")
+ oObj.next()
+ bOK = bOK AND Expected(0, 1, 0, 0, 0, 0)
+
+ ResetCounters()
+ Out.Log("Call oObj.updateString() - updating RowSet")
+ oObj.first()
+ cPrevStr = oObj.getString(1)
+ Out.Log(cPrevStr)
+ oObj.updateString(1, cPrevStr + "+")
+ oObj.updateRow()
+ Out.Log(oObj.getString(1))
+ bOK = bOK AND Expected(0, 0, 0, 1, 0, 0)
+ bOK = bOK AND oObj.getString(1) = cPrevStr + "+"
+
+ Test.MethodTested("removeRowSetApproveListener()", bOK)
+
+ Out.Log("Removing last listener")
+ oObj.removeRowSetApproveListener(oListener2)
+
+ Out.Log("Returning first row back...")
+ oObj.first()
+ oObj.updateString(1, cOrigStr)
+ oObj.updateRow()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Function CB1_approveCursorMove(oEvent As Object) As Boolean
+ Out.Log("callback function approveCursorMove() for Listener1 was called!")
+ iApproveCursorMove1 = iApproveCursorMove1 + 1
+ CB1_approveCursorMove() = true
+End Function
+
+Function CB2_approveCursorMove(oEvent As Object) As Boolean
+ Out.Log("callback function approveCursorMove() for Listener2 was called!")
+ iApproveCursorMove2 = iApproveCursorMove2 + 1
+ CB2_approveCursorMove() = true
+End Function
+
+Function CB1_approveRowChange(oEvent As Object) As Boolean
+ Out.Log("callback function approveRowChange() for Listener1 was called!")
+ iApproveRowChange1 = iApproveRowChange1 + 1
+ CB1_approveRowChange() = true
+End Function
+
+Function CB2_approveRowChange(oEvent As Object) As Boolean
+ Out.Log("callback function approveRowChange() for Listener2 was called!")
+ iApproveRowChange2 = iApproveRowChange2 + 1
+ CB2_approveRowChange() = true
+End Function
+
+Function CB1_approveRowSetChange(oEvent As Object) As Boolean
+ Out.Log("callback function approveRowSetChange() for Listener1 was called!")
+ iApproveRowSetChange1 = iApproveRowSetChange1 + 1
+ CB1_approveRowSetChange() = true
+End Function
+
+Function CB2_approveRowSetChange(oEvent As Object) As Boolean
+ Out.Log("callback function approveRowSetChange() for Listener2 was called!")
+ iApproveRowSetChange2 = iApproveRowSetChange2 + 1
+ CB2_approveRowSetChange() = true
+End Function
+
+Sub ResetCounters()
+ Out.Log("Reset counters...")
+ iApproveCursorMove1 = 0
+ iApproveCursorMove2 = 0
+ iApproveRowChange1 = 0
+ iApproveRowChange2 = 0
+ iApproveRowSetChange1 = 0
+ iApproveRowSetChange2 = 0
+End Sub
+
+Function Expected(iApprCursorMove1 As Integer, iApprCursorMove2 As Integer, _
+ iApprRowChange1 As Integer, iApprRowChange2 As Integer, _
+ iApprRowSetChange1 As Integer, iApprRowSetChange2 As Integer) As Boolean
+Dim bOK As Boolean
+ bOK = true
+
+ bOK = bOK AND Expected1("approveCursorMove()", 1, iApproveCursorMove1, iApprCursorMove1)
+ bOK = bOK AND Expected1("approveCursorMove()", 2, iApproveCursorMove2, iApprCursorMove2)
+ bOK = bOK AND Expected1("approveRowChange()", 1, iApproveRowChange1, iApprRowChange1)
+ bOK = bOK AND Expected1("approveRowChange()", 2, iApproveRowChange2, iApprRowChange2)
+ bOK = bOK AND Expected1("apprRowSetChange()", 1, iApproveRowSetChange1, iApprRowSetChange1)
+ bOK = bOK AND Expected1("apprRowSetChange()", 2, iApproveRowSetChange2, iApprRowSetChange2)
+ Expected() = bOK
+End Function
+
+Function Expected1(fname As String, ln As Integer, val1 As Integer, val2 As Integer) As Boolean
+ Dim bOK As Integer
+
+ bOK = true
+ if (val1 &lt;&gt; val2) then
+ Out.Log(fname + " of Listener" + ln + " was called " + val1 + " time(s), "_
+ + "but it should be called " + val2 + " time(s).")
+ bOK = false
+ end if
+ Expected1() = bOK
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/ResultSet/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/ResultSet/script.xlb
new file mode 100644
index 000000000000..32a0dc881d96
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/ResultSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_ResultSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_ResultSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/ResultSet/sdbc_ResultSet.xba b/qadevOOo/tests/basic/ifc/sdbc/ResultSet/sdbc_ResultSet.xba
new file mode 100644
index 000000000000..8c4be7b77bd1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/ResultSet/sdbc_ResultSet.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_ResultSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdbc.ResultSet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("CursorName")
+
+ PropertyTester.TestProperty("ResultSetConcurrency")
+
+ PropertyTester.TestProperty("ResultSetType")
+
+ PropertyTester.TestProperty("FetchDirection")
+
+ PropertyTester.TestProperty("FetchSize")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/RowSet/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/RowSet/script.xlb
new file mode 100644
index 000000000000..b29bd1235b71
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/RowSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_RowSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_RowSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/RowSet/sdbc_RowSet.xba b/qadevOOo/tests/basic/ifc/sdbc/RowSet/sdbc_RowSet.xba
new file mode 100644
index 000000000000..dccad879e23f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/RowSet/sdbc_RowSet.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_RowSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdbc.RowSet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("DataSourceName")
+
+ PropertyTester.TestProperty("URL")
+
+ PropertyTester.TestProperty("Command")
+
+ PropertyTester.TestProperty("TransactionIsolation")
+
+ PropertyTester.TestProperty("TypeMap")
+
+ PropertyTester.TestProperty("EscapeProcessing")
+
+ PropertyTester.TestProperty("QueryTimeOut")
+
+ PropertyTester.TestProperty("MaxFieldSize")
+
+ PropertyTester.TestProperty("MaxRows")
+
+ PropertyTester.TestProperty("User")
+
+ PropertyTester.TestProperty("Password")
+
+ PropertyTester.TestProperty("ResultSetType")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XCloseable/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XCloseable/script.xlb
new file mode 100644
index 000000000000..52cb7f319887
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XCloseable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XCloseable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XCloseable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XCloseable/sdbc_XCloseable.xba b/qadevOOo/tests/basic/ifc/sdbc/XCloseable/sdbc_XCloseable.xba
new file mode 100644
index 000000000000..19240d37a292
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XCloseable/sdbc_XCloseable.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XCloseable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XCloseable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("close()")
+ bOK = true
+
+ Out.Log("Checking if the object is valid before closing ...")
+ oObj.first()
+
+ oObj.close()
+
+ Dim bEx As Boolean
+ bEx = false
+ On Error Goto ExpectErr
+ Out.Log("Checking if the row set was closed ...")
+ oObj.first()
+ On Error Goto ErrHndl
+
+ bOK = bEx
+
+ Test.MethodTested("close()", bOK)
+
+ ReCreateObj()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+
+ExpectErr:
+ Out.Log("Proper exception occured")
+ bEx = true
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/script.xlb
new file mode 100644
index 000000000000..735924c27e5c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XColumnLocate" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XColumnLocate"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/sdbc_XColumnLocate.xba b/qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/sdbc_XColumnLocate.xba
new file mode 100644
index 000000000000..b2570fa5238c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XColumnLocate/sdbc_XColumnLocate.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XColumnLocate" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cExistantColumnName As String
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XColumnLocate
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("findColumn()")
+ bOK = true
+ iColumn = oObj.findColumn(cExistantColumnName)
+
+ bOK = bOK AND iColumn &lt;&gt; 0
+ Test.MethodTested("findColumn()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XDataSource/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XDataSource/script.xlb
new file mode 100644
index 000000000000..e5ffc7e4109a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XDataSource/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XDataSource" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XDataSource"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XDataSource/sdbc_XDataSource.xba b/qadevOOo/tests/basic/ifc/sdbc/XDataSource/sdbc_XDataSource.xba
new file mode 100644
index 000000000000..6596f68fc20f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XDataSource/sdbc_XDataSource.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XDataSource" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XDataSource
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getConnection()")
+ Dim connection As Object
+ connection = oObj.getConnection("", "")
+ bOK = Not IsNull(connection)
+ Test.MethodTested("getConnection()", bOK)
+
+ Test.StartMethod("getLoginTimeout()")
+ Dim timeout As Integer
+ timeout = oObj.getLoginTimeout()
+ bOK = timeout = 0
+ Test.MethodTested("getLoginTimeout()", bOK)
+
+ Test.StartMethod("setLoginTimeout()")
+ oObj.setLoginTimeout(111)
+ timeout = oObj.getLoginTimeout()
+ bOK = timeout = 111
+ Test.MethodTested("setLoginTimeout()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XDriver/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XDriver/script.xlb
new file mode 100644
index 000000000000..e4f39f7430d6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XDriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XDriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XDriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XDriver/sdbc_XDriver.xba b/qadevOOo/tests/basic/ifc/sdbc/XDriver/sdbc_XDriver.xba
new file mode 100644
index 000000000000..5e6a37c70e2e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XDriver/sdbc_XDriver.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XDriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global URL as String
+' Global info As Variant
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XDriver
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("acceptsURL()")
+ bOK = oObj.acceptsURL(URL)
+ Out.log("acceptsURL('" + URL + "')? " + bOK)
+ Test.MethodTested("acceptsURL()", bOK)
+
+ Test.StartMethod("connect()")
+ Out.log("connecting to '" + URL + "'")
+ Dim connection As Object
+ connection = oObj.connect(URL, info)
+ bOK = Not IsNull(connection)
+ Test.MethodTested("connect()", bOK)
+
+ Test.StartMethod("getPropertyInfo()")
+ Dim dpi As Variant
+ dpi = oObj.getPropertyInfo(URL, info)
+ bOK = Not IsNull(dpi)
+ if bOK then
+ Dim i As Integer
+ for i = 0 to ubound(dpi)
+ Out.log(dpi(i).Name + ": " + dpi(i).Value)
+ next i
+ endif
+ Test.MethodTested("getPropertyInfo()", bOK)
+
+ Test.StartMethod("getMajorVersion()")
+ bOK = true
+ Dim majVer As Integer
+ majVer = oObj.getMajorVersion()
+ Out.log("Major version: " + majVer)
+ Test.MethodTested("getMajorVersion()", bOK)
+
+ Test.StartMethod("getMinorVersion()")
+ bOK = true
+ Dim minVer As Integer
+ minVer = oObj.getMinorVersion()
+ Out.log("Minor version: " + minVer)
+ Test.MethodTested("getMinorVersion()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XDriverManager/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XDriverManager/script.xlb
new file mode 100644
index 000000000000..e2b90a2b7f85
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XDriverManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XDriverManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XDriverManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XDriverManager/sdbc_XDriverManager.xba b/qadevOOo/tests/basic/ifc/sdbc/XDriverManager/sdbc_XDriverManager.xba
new file mode 100644
index 000000000000..8adf6fd5828a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XDriverManager/sdbc_XDriverManager.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XDriverManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XDriverManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getConnection()")
+ Dim connection As Object
+ connection = oObj.getConnection(dbaseUrl)
+ Out.log("getConnection('" + dbaseUrl + "')")
+ bOK = Not IsNull(connection)
+ Test.MethodTested("getConnection()", bOK)
+
+ Test.StartMethod("getConnectionWithInfo()")
+ Dim info(2) As new com.sun.star.beans.PropertyValue
+ info(0).Name = "user" : info(0).Value = jdbcUser
+ info(1).Name = "password" : info(1).Value = jdbcPassword
+ info(2).Name = "JavaDriverClass" : info(2).Value = "org.gjt.mm.mysql.Driver"
+ connection = oObj.getConnectionWithInfo(jdbcUrl, info())
+ Out.log("getConnectionWithInfo('" + jdbcUrl + "')")
+ bOK = Not IsNull(connection)
+ Test.MethodTested("getConnectionWithInfo()", bOK)
+
+ Test.StartMethod("getLoginTimeout()")
+ Dim timeout As Integer
+ timeout = oObj.getLoginTimeout()
+ Out.log("getLoginTimeout(): " + timeout)
+ bOK = true
+ Test.MethodTested("getLoginTimeout()", bOK)
+
+ Test.StartMethod("setLoginTimeout()")
+ oObj.setLoginTimeout(111)
+ Out.log("setLoginTimeout(): 111")
+ timeout = oObj.getLoginTimeout()
+ bOK = timeout = 111
+ Test.MethodTested("setLoginTimeout()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/script.xlb
new file mode 100644
index 000000000000..93b938880d5a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XIsolatedConnection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XIsolatedConnection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/sdbc_XIsolatedConnection.xba b/qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/sdbc_XIsolatedConnection.xba
new file mode 100644
index 000000000000..f491c1d99085
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XIsolatedConnection/sdbc_XIsolatedConnection.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XIsolatedConnection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global handler As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XIsolatedConnection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getIsolatedConnectionWithCompletion()")
+ Dim connection As Object
+ connection = oObj.getIsolatedConnectionWithCompletion(handler)
+ bOK = Not IsNull(connection)
+ Test.MethodTested("getIsolatedConnectionWithCompletion()", bOK)
+
+ Test.StartMethod("getIsolatedConnection()")
+ connection = oObj.getIsolatedConnection(handler)
+ bOK = Not IsNull(connection)
+ Test.MethodTested("getIsolatedConnection()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XParameters/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XParameters/script.xlb
new file mode 100644
index 000000000000..c2367a3e7172
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XParameters/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XParameters" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XParameters"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XParameters/sdbc_XParameters.xba b/qadevOOo/tests/basic/ifc/sdbc/XParameters/sdbc_XParameters.xba
new file mode 100644
index 000000000000..6140ade242c1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XParameters/sdbc_XParameters.xba
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XParameters" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global paramTypes As Variant
+' Array of Strings which describes the types of the query parameters
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XParameters
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+
+ for i = 0 to ubound(paramTypes())
+ if (paramTypes(i) = "boolean") OR (paramTypes(i) = "byte") OR (paramTypes(i) = "short") OR _
+ (paramTypes(i) = "int") OR (paramTypes(i) = "long") OR (paramTypes(i) = "float") OR _
+ (paramTypes(i) = "double") OR (paramTypes(i) = "string") OR (paramTypes(i) = "bytes") OR _
+ (paramTypes(i) = "date") OR (paramTypes(i) = "time") OR (paramTypes(i) = "timestamp") OR _
+ (paramTypes(i) = "binarystream") OR (paramTypes(i) = "characterstream") then
+
+ bOK = true
+ oObj.setNull(i + 1, paramTypes(i))
+ Test.MethodTested("setNull()", bOK)
+ elseif paramTypes(i) = "ref" then
+ Out.Log("Don't know how to test this :(")
+' bOK = true
+' oObj.setObjectNull(i)
+' Test.MethodTested("setNull()", bOK)
+ end if
+
+
+ if paramTypes(i) = "boolean" then
+ Test.StartMethod("setBoolean()")
+ bOK = true
+ oObj.setBoolean(i + 1, true)
+ Test.MethodTested("setBoolean()", bOK)
+ elseif paramTypes(i) = "byte" then
+ Test.StartMethod("setByte()")
+ bOK = true
+ oObj.setByte(i + 1, 5)
+ Test.MethodTested("setByte()", bOK)
+ elseif paramTypes(i) = "short" then
+ Test.StartMethod("setShort()")
+ bOK = true
+ oObj.setShort(i + 1, 6)
+ Test.MethodTested("setShort()", bOK)
+ elseif paramTypes(i) = "int" then
+ Test.StartMethod("setInt()")
+ bOK = true
+ oObj.setInt(i + 1, 234)
+ Test.MethodTested("setInt()", bOK)
+ elseif paramTypes(i) = "long" then
+ Test.StartMethod("setLong()")
+ bOK = true
+ oObj.setLong(i + 1, 34656)
+ Test.MethodTested("setLong()", bOK)
+ elseif paramTypes(i) = "float" then
+ Test.StartMethod("setFloat()")
+ bOK = true
+ oObj.setFloat(i + 1, 98.765)
+ Test.MethodTested("setFloat()", bOK)
+ elseif paramTypes(i) = "double" then
+ Test.StartMethod("setDouble()")
+ bOK = true
+ oObj.setDouble(i + 1, 54.432)
+ Test.MethodTested("setDouble()", bOK)
+ elseif paramTypes(i) = "string" then
+ Test.StartMethod("setString()")
+ bOK = true
+ oObj.setString(i + 1, "XParameters")
+ Test.MethodTested("setString()", bOK)
+ elseif paramTypes(i) = "bytes" then
+ Test.StartMethod("setBytes()")
+ bOK = true
+ oObj.setBytes(i + 1, Array(1,2,3))
+ Test.MethodTested("setBytes()", bOK)
+ elseif paramTypes(i) = "date" then
+ Dim dat As new com.sun.star.util.Date
+
+ Test.StartMethod("setDate()")
+ bOK = true
+ oObj.setDate(i + 1, dat)
+ Test.MethodTested("setDate()", bOK)
+ elseif paramTypes(i) = "time" then
+ Dim tim As new com.sun.star.util.Time
+
+ Test.StartMethod("setTime()")
+ bOK = true
+ oObj.setTime(i + 1, tim)
+ Test.MethodTested("setTime()", bOK)
+ elseif paramTypes(i) = "timestamp" then
+ Dim timstmp As new com.sun.star.util.DateTime
+
+ Test.StartMethod("setTimestamp()")
+ bOK = true
+ oObj.setTimestamp(i + 1, timstmp)
+ Test.MethodTested("setTimestamp()", bOK)
+ elseif paramTypes(i) = "binarystream" then
+ Test.StartMethod("setBinaryStream()")
+ bOK = true
+ oObj.setBinaryStream(i + 1, ceateUnoService("com.sun.star.io.Pipe"))
+ Test.MethodTested("setBinaryStream()", bOK)
+ elseif paramTypes(i) = "characterstream" then
+ Test.StartMethod("setCharacterStream()")
+ bOK = true
+ oObj.setCharacterStream(i + 1, ceateUnoService("com.sun.star.io.Pipe"))
+ Test.MethodTested("setCharacterStream()", bOK)
+ elseif paramTypes(i) = "object" then
+ Test.StartMethod("setObject()")
+ bOK = true
+ oObj.setObject(i + 1, ceateUnoService("com.sun.star.io.Pipe"))
+ Test.MethodTested("setObject()", bOK)
+ elseif paramTypes(i) = "objectwithinfo" then
+ Out.Log("Don't know how to test this type :(")
+' Test.StartMethod("setObjectWithInfo()")
+' bOK = true
+' oObj.setObjectWithInfo()
+' bOK = bOK AND false
+' Test.MethodTested("setObjectWithInfo()", bOK)
+ elseif paramTypes(i) = "ref" then
+ Out.Log("Don't know how to test this type :(")
+' Test.StartMethod("setRef()")
+' bOK = true
+' oObj.setRef()
+' bOK = bOK AND false
+' Test.MethodTested("setRef()", bOK)
+ elseif paramTypes(i) = "blob" then
+ Out.Log("Don't know how to test this type :(")
+' Test.StartMethod("setBlob()")
+' bOK = true
+' oObj.setBlob()
+' bOK = bOK AND false
+' Test.MethodTested("setBlob()", bOK)
+ elseif paramTypes(i) = "clob" then
+ Out.Log("Don't know how to test this type :(")
+' Test.StartMethod("setClob()")
+' bOK = true
+' oObj.setClob()
+' bOK = bOK AND false
+' Test.MethodTested("setClob()", bOK)
+ elseif paramTypes(i) = "array" then
+ Out.Log("Don't know how to test this type :(")
+' Test.StartMethod("setArray()")
+' bOK = true
+' oObj.setArray()
+' bOK = bOK AND false
+' Test.MethodTested("setArray()", bOK)
+ end if
+ next i
+
+ Test.StartMethod("clearParameters()")
+ bOK = true
+ oObj.clearParameters()
+ Test.MethodTested("clearParameters()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XResultSet/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XResultSet/script.xlb
new file mode 100644
index 000000000000..8f24ba399ef1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XResultSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XResultSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XResultSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XResultSet/sdbc_XResultSet.xba b/qadevOOo/tests/basic/ifc/sdbc/XResultSet/sdbc_XResultSet.xba
new file mode 100644
index 000000000000..2d694bdc3669
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XResultSet/sdbc_XResultSet.xba
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XResultSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cXResultSetFirstRecord as String
+' Global cXResultSetLastRecord as String
+' Global cXResultSetRecord1 as String
+' Global cXResultSetRecord2 as String
+' Global cXResultSet2BeforeLastRecord as String
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XResultSet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Out.Log("ReCreating Object, to be shure that it is in initial state.")
+
+ Test.StartMethod("beforeFirst()")
+ Test.StartMethod("isBeforeFirst()")
+ Test.StartMethod("isFirst()")
+ Test.StartMethod("first()")
+ Test.StartMethod("next()")
+
+ Test.StartMethod("afterLast()")
+ Test.StartMethod("isAfterLast()")
+ Test.StartMethod("isLast()")
+ Test.StartMethod("last()")
+ Test.StartMethod("previous()")
+
+ Test.StartMethod("getRow()")
+
+ Dim bBeforeFirst As Boolean
+ Dim bIsBeforeFirst As Boolean
+ Dim bIsBeforeFirstLoop As Boolean
+ Dim bIsFirst As Boolean
+ Dim bFirst As Boolean
+ Dim bNext As Boolean
+ Dim bAfterLast As Boolean
+ Dim bIsAfterLast As Boolean
+ Dim bIsAfterLastLoop As Boolean
+ Dim bIsLast As Boolean
+ Dim bLast As Boolean
+ Dim bPrevious As Boolean
+ Dim bGetRow As Boolean
+ Dim bLoopError as Boolean
+
+ bLoopError = false
+ bBeforeFirst = true
+ bIsBeforeFirst = true
+ bIsFirst = true
+ bFirst = true
+ bNext = true
+ bAfterLast = true
+ bIsAfterLast = true
+ bIsLast = true
+ bLast = true
+ bPrevious = true
+ bGetRow = true
+
+ oObj.beforeFirst()
+
+ Out.Log("Initially the cursor should be before first record.")
+ Out.Log("getRow(): expected : 0, actual: " + oObj.getRow())
+ if (oObj.getRow() = 0) then
+ Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
+ bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
+ end if
+
+ Out.Log("Go to not first record...")
+ oObj.next
+ oObj.next
+ Out.Log("isBeforeFirst(): expected: 'false', actual '" + oObj.isBeforeFirst() + "'")
+ bIsBeforeFirst = bIsBeforeFirst AND NOT oObj.isBeforeFirst()
+
+ Out.Log("Go to before first record...")
+ oObj.beforeFirst()
+ Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
+ bBeforeFirst = bBeforeFirst AND oObj.isBeforeFirst()
+ bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
+
+ Out.Log("Go to previous position")
+ oObj.previous()
+ Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
+ bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
+ bPrevious = bPrevious AND oObj.isBeforeFirst()
+
+ Out.Log("Go to first record...")
+ oObj.first()
+ Out.Log("isBeforeFirst(): expected: 'false', actual '" + oObj.isBeforeFirst() + "'")
+ bIsBeforeFirst = bIsBeforeFirst AND NOT oObj.isBeforeFirst()
+ Out.Log("isFirst(): expected: 'true', actual '" + oObj.isFirst() + "'")
+ bIsFirst = bIsFirst AND oObj.isFirst()
+ Out.Log("getRow(): expected : 1, actual: " + oObj.getRow())
+ bIsFirst = bIsFirst AND oObj.getRow() = 1
+ Out.Log("RowDsc should contain " + cXResultSetFirstRecord)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ bFirst = bFirst AND inStr(1, oObj.getString(1), cXResultSetFirstRecord)
+
+ Out.Log("Go to previous position")
+ oObj.previous()
+ Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
+ bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
+ bPrevious = bPrevious AND oObj.isBeforeFirst()
+ Out.Log("isFirst(): expected: 'false', actual '" + oObj.isFirst() + "'")
+ bIsFirst = bIsFirst AND NOT oObj.isFirst()
+
+ Out.Log("Go to beforeFirst()")
+ oObj.beforeFirst()
+ Out.Log("Iterate through all records form first to last")
+ Dim n As Integer
+ n = 0
+ bLoopError = false
+ bIsAfterLastLoop = oObj.isAfterLast()
+ while (n &lt; 1000 AND NOT bIsAfterLastLoop)
+ oObj.next()
+ n = n + 1
+ bIsAfterLastLoop = oObj.isAfterLast()
+ if bLoopError then
+ bLoopError = false
+ n = 1000
+ end if
+ wend
+
+ Out.Log("IsAfterLast(): expected: 'true', actual '" + oObj.IsAfterLast() + "'")
+ bIsAfterLast = bIsAfterLast AND oObj.isAfterLast()
+ Out.Log("IsLast(): expected: 'false', actual '" + oObj.IsLast() + "'")
+ bIsLast = bIsLast AND NOT oObj.isLast()
+ Out.Log("Amount of records is " + n)
+ Out.Log("Trying to go to next record")
+ oObj.next()
+ Out.Log("IsAfterLast(): expected: 'true', actual '" + oObj.IsAfterLast() + "'")
+ bIsAfterLast = bIsAfterLast AND oObj.isAfterLast()
+
+ Out.Log("Go to previous position.")
+ oObj.previous()
+ Out.Log("IsLast(): expected: 'true', actual '" + oObj.IsLast() + "'")
+ bIsLast = bIsLast AND oObj.isLast()
+ Out.Log("RowDsc should contain " + cXResultSetLastRecord)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ bIsLast = bIsLast AND inStr(1, oObj.getString(1), cXResultSetLastRecord)
+
+ Out.Log("Iterate through all records form last to first")
+ bLoopError = false
+ bIsBeforeFirstLoop = oObj.isBeforeFirst()
+ while (n &gt; 0 AND NOT bIsBeforeFirstLoop)
+ oObj.previous()
+ n = n - 1
+ bIsBeforeFirstLoop = oObj.isBeforeFirst()
+ if bLoopError then
+ bLoopError = false
+ n = 0
+ end if
+ wend
+
+ Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
+ bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
+
+ Out.Log("Trying to go to previous record")
+ oObj.previous()
+ Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
+ bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
+
+
+ Test.MethodTested("beforeFirst()", bBeforeFirst)
+ Test.MethodTested("isBeforeFirst()", bIsBeforeFirst)
+ Test.MethodTested("isFirst()", bIsFirst)
+ Test.MethodTested("first()", bFirst)
+ Test.MethodTested("next()", bNext)
+
+ Test.MethodTested("afterLast()", bAfterLast)
+ Test.MethodTested("isAfterLast()", bIsAfterLast)
+ Test.MethodTested("isLast()", bIsLast)
+ Test.MethodTested("last()", bLast)
+ Test.MethodTested("previous()", bPrevious)
+
+ Test.MethodTested("getRow()", bGetRow)
+
+
+ Test.StartMethod("absolute()")
+ bOK = true
+ Out.Log("Go to second record")
+ oObj.absolute(2)
+ Out.Log("RowDsc should contain " + cXResultSetRecord2)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord2)
+ Out.Log("Go to record -1")
+ oObj.absolute(-1)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ Out.Log("IsLast(): expected: 'true', actual '" + oObj.IsLast() + "'")
+ bOK = bOK AND oObj.isLast()
+ Out.Log("Go to record -2")
+ oObj.absolute(-2)
+ Out.Log("IsLast(): expected: 'false', actual '" + oObj.IsLast() + "'")
+ bOK = bOK AND NOT oObj.isLast()
+ Out.Log("RowDsc should contain " + cXResultSet2BeforeLastRecord)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ bOK = bOK AND inStr(1, oObj.getString(1), cXResultSet2BeforeLastRecord)
+ Test.MethodTested("absolute()", bOK)
+
+ Test.StartMethod("relative()")
+ bOK = true
+ Out.Log("Go to before first record")
+ oObj.beforeFirst()
+ on error goto RelativeErrHndl
+ oObj.relative(1)
+ Out.Log("Exception expected!")
+ bOK = false
+ goto ContRelative
+ RelativeErrHndl:
+ Out.Log("Expected exception.")
+
+ ContRelative:
+ On Error Goto NewErrHndl
+ Out.Log("Go to first record and relative(1)")
+ oObj.next()
+ oObj.relative(1)
+ Out.Log("RowDsc should contain " + cXResultSetRecord2)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord2)
+ Out.Log("Go to relative(-1)")
+ oObj.relative(-1)
+ Out.Log("RowDsc should contain " + cXResultSetRecord1)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord1)
+ Out.Log("RowDsc is '" + oObj.getString(1) + "'")
+ Test.MethodTested("relative()", bOK)
+
+ Test.StartMethod("refreshRow()")
+ bOK = true
+ oObj.refreshRow()
+ Test.MethodTested("refreshRow()", bOK)
+
+ Test.StartMethod("rowUpdated()")
+ bOK = true
+ Out.Log("rowUpdated() is " + oObj.rowUpdated())
+ bOK = bOK AND NOT oObj.rowUpdated()
+ Test.MethodTested("rowUpdated()", bOK)
+
+ Test.StartMethod("rowInserted()")
+ bOK = true
+ Out.Log("rowInserted() is " + oObj.rowInserted())
+ bOK = bOK AND NOT oObj.rowInserted()
+ Test.MethodTested("rowInserted()", bOK)
+
+ Test.StartMethod("rowDeleted()")
+ bOK = true
+ Out.Log("rowDeleted() is " + oObj.rowDeleted())
+ bOK = bOK AND NOT oObj.rowDeleted()
+ Test.MethodTested("rowDeleted()", bOK)
+
+ Test.StartMethod("getStatement()")
+ bOK = true
+ oStatement = oObj.getStatement()
+ bOK = bOK AND NOT isNULL(oStatement)
+ Test.MethodTested("getStatement()", bOK)
+
+Exit Sub
+NewErrHndl:
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ bLoopError = true
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/script.xlb
new file mode 100644
index 000000000000..6e3f9179b493
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XResultSetMetaDataSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XResultSetMetaDataSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/sdbc_XResultSetMetaDataSupplier.xba b/qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/sdbc_XResultSetMetaDataSupplier.xba
new file mode 100644
index 000000000000..53301bf52e90
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XResultSetMetaDataSupplier/sdbc_XResultSetMetaDataSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XResultSetMetaDataSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XResultSetMetaDataSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oMetaData As Object
+
+
+ Test.StartMethod("getMetaData()")
+ bOK = true
+ oMetaData = oObj.getMetaData()
+ bOK = bOK AND hasUnoInterfaces(oMetaData, "com.sun.star.sdbc.XResultSetMetaData")
+ Test.MethodTested("getMetaData()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/script.xlb
new file mode 100644
index 000000000000..139cb18cc2f4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XResultSetUpdate" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XResultSetUpdate"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/sdbc_XResultSetUpdate.xba b/qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/sdbc_XResultSetUpdate.xba
new file mode 100644
index 000000000000..95b3788ed51a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XResultSetUpdate/sdbc_XResultSetUpdate.xba
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XResultSetUpdate" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global textColumn As String
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XResultSetUpdate
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim iCount As Integer
+ Dim cString As String
+ Dim colIdx As Integer
+
+ colIdx = oObj.findColumn(textColumn)
+
+ Test.StartMethod("insertRow()")
+ bOK = true
+ iCount = countRows()
+ Out.Log("Initially " + countRows() + " records")
+ oObj.moveToInsertRow()
+ oObj.updateString(colIdx, "New string")
+ oObj.insertRow()
+ Out.Log("After inserting " + countRows() + " records")
+ oObj.last()
+ bOK = bOK AND oObj.getString(colIdx) = "New string"
+ bOK = bOK AND iCount = countRows() - 1
+ Test.MethodTested("insertRow()", bOK)
+
+ Test.StartMethod("cancelRowUpdates()")
+ bOK = true
+ oObj.last()
+ oObj.updateString(colIdx, "Changed string")
+ oObj.cancelRowUpdates()
+ bOK = bOK AND oObj.getString(colIdx) = "New string"
+ bOK = bOK AND iCount = countRows() - 1
+ Test.MethodTested("cancelRowUpdates()", bOK)
+
+ Test.StartMethod("updateRow()")
+ bOK = true
+ oObj.last()
+ oObj.updateString(colIdx, "Changed string")
+ oObj.updateRow()
+ bOK = bOK AND oObj.getString(colIdx) = "Changed string"
+ bOK = bOK AND iCount = countRows() - 1
+ Test.MethodTested("updateRow()", bOK)
+
+ Test.StartMethod("deleteRow()")
+ Dim rowsBefore As Integer, rowsAfter As Integer
+ bOK = true
+ rowsBefore = countRows()
+ oObj.Last()
+ oObj.deleteRow()
+ rowsAfter = countRows()
+ Out.Log("Rows before: " + rowsBefore + ", rows after: " + rowsAfter)
+ bOK = bOK AND iCount = rowsAfter
+ oObj.Last()
+ Out.Log(oObj.getString(colIdx))
+ Test.MethodTested("deleteRow()", bOK)
+
+ Test.StartMethod("moveToInsertRow()")
+ bOK = true
+ oObj.moveToInsertRow()
+ bOK = bOK AND oObj.getString(colIdx) = ""
+ Test.MethodTested("moveToInsertRow()", bOK)
+
+ Test.StartMethod("moveToCurrentRow()")
+ bOK = true
+ oObj.first()
+ oObj.next()
+ cString = oObj.getString(colIdx)
+ oObj.moveToInsertRow()
+ oObj.moveToCurrentRow()
+ bOK = bOK AND oObj.getString(colIdx) = cString
+ Test.MethodTested("moveToCurrentRow()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Function countRows() As Integer
+ Dim iCount As Integer
+ iCount = 0
+ oObj.first()
+ while NOT oObj.isAfterLast()
+ iCount = iCount + 1
+ oObj.next()
+ wend
+ countRows() = iCount
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XRow/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XRow/script.xlb
new file mode 100644
index 000000000000..0cda44d376bf
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XRow/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XRow" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XRow"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XRow/sdbc_XRow.xba b/qadevOOo/tests/basic/ifc/sdbc/XRow/sdbc_XRow.xba
new file mode 100644
index 000000000000..bfac0743d4b8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XRow/sdbc_XRow.xba
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XRow" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global rowTypes As Variant
+' Array of Strings with description of column types
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XRow
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+ Dim colType As String
+
+ Test.StartMethod("getBoolean()")
+ bOK = true
+ colType = "boolean"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getBoolean(i)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getBoolean()", bOK)
+
+ Test.StartMethod("getByte()")
+ bOK = true
+ colType = "byte"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getByte(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getByte()", bOK)
+
+ Test.StartMethod("getShort()")
+ bOK = true
+ colType = "short"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getShort(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getShort()", bOK)
+
+ Test.StartMethod("getInt()")
+ bOK = true
+ colType = "int"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getInt(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getInt()", bOK)
+
+ Test.StartMethod("getLong()")
+ bOK = true
+ colType = "long"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getLong(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getLong()", bOK)
+
+ Test.StartMethod("getFloat()")
+ bOK = true
+ colType = "float"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getFloat(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getFloat()", bOK)
+
+ Test.StartMethod("getDouble()")
+ bOK = true
+ colType = "double"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getDouble(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getDouble()", bOK)
+
+ Test.StartMethod("getString()")
+ bOK = true
+ colType = "string"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getString(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getString()", bOK)
+
+ Test.StartMethod("getBytes()")
+ bOK = true
+ colType = "bytes"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getBytes(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getBytes()", bOK)
+
+ Test.StartMethod("getDate()")
+ bOK = true
+ colType = "date"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getDate(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getDate()", bOK)
+
+ Test.StartMethod("getTime()")
+ bOK = true
+ colType = "time"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getTime(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getTime()", bOK)
+
+ Test.StartMethod("getTimestamp()")
+ bOK = true
+ colType = "timestamp"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getTimestamp(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getTimestamp()", bOK)
+
+ Test.StartMethod("getBinaryStream()")
+ bOK = true
+ colType = "binarystream"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getBinaryStream(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getBinaryStream()", bOK)
+
+ Test.StartMethod("getCharacterStream()")
+ bOK = true
+ colType = "characterstream"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getCharacterStream(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getCharacterStream()", bOK)
+
+ Test.StartMethod("getObject()")
+ bOK = true
+ colType = "object"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getObject(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getObject()", bOK)
+
+ Test.StartMethod("getRef()")
+ bOK = true
+ colType = "ref"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getRef(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getRef()", bOK)
+
+ Test.StartMethod("getBlob()")
+ bOK = true
+ colType = "blob"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getBlob(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getBlob()", bOK)
+
+ Test.StartMethod("getClob()")
+ bOK = true
+ colType = "clob"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getClob(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getClob()", bOK)
+
+ Test.StartMethod("getArray()")
+ bOK = true
+ colType = "array"
+ i = findColumn(colType)
+ if i >= 0 then
+ oObj.getArray(i + 1)
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ end if
+ Test.MethodTested("getArray()", bOK)
+
+
+ Test.StartMethod("wasNull()")
+ bOK = true
+ oObj.wasNull()
+ Test.MethodTested("wasNull()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function findColumn(cType As String) As Integer
+ Dim i As Integer
+
+ for i = lbound(rowTypes()) to ubound(rowTypes())
+ if rowTypes(i) = cType then
+ findColumn() = rowTypesCol(i)
+ exit function
+ end if
+ next i
+
+ findColumn() = -1
+End function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XRowSet/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XRowSet/script.xlb
new file mode 100644
index 000000000000..099e40a905dc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XRowSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XRowSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XRowSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XRowSet/sdbc_XRowSet.xba b/qadevOOo/tests/basic/ifc/sdbc/XRowSet/sdbc_XRowSet.xba
new file mode 100644
index 000000000000..5c7f4725cf3e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XRowSet/sdbc_XRowSet.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XRowSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XRowSet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim list1 As Object, list2 As Object
+
+ bOK = true
+ Test.StartMethod("addRowSetListener()")
+
+ list1 = createUnoListener("L1_", "com.sun.star.sdbc.XRowSetListener")
+ list2 = createUnoListener("L2_", "com.sun.star.sdbc.XRowSetListener")
+ oObj.addRowSetListener(list1)
+ oObj.addRowSetListener(list2)
+
+ Test.StartMethod("removeRowSetListener()")
+ oObj.removeRowSetListener(list1)
+
+ Test.StartMethod("execute()")
+
+ l1Called = false
+ l2Called = false
+
+ oObj.execute()
+ bOK = bOK AND l2Called
+ Test.MethodTested("execute()", bOK)
+ Test.MethodTested("addRowSetListener()", bOK)
+
+ bOK = bOK AND NOT l1Called
+ Test.MethodTested("removeRowSetListener()", bOK)
+
+ oObj.removeRowSetListener(list2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim l1Called As Boolean, l2Called As Boolean
+
+Sub L1_cursorMoved()
+End Sub
+Sub L1_rowChanged()
+End Sub
+Sub L1_disposing()
+End Sub
+Sub L1_rowSetChanged()
+ l1Called = true
+ Out.Log("Listener 1 called")
+End Sub
+
+Sub L2_cursorMoved()
+End Sub
+Sub L2_rowChanged()
+End Sub
+Sub L2_disposing()
+End Sub
+Sub L2_rowSetChanged()
+ l2Called = true
+ Out.Log("Listener 2 called")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/script.xlb
new file mode 100644
index 000000000000..7d8d5fb30e23
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XRowUpdate" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XRowUpdate"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/sdbc_XRowUpdate.xba b/qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/sdbc_XRowUpdate.xba
new file mode 100644
index 000000000000..03dab0a3ccbf
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XRowUpdate/sdbc_XRowUpdate.xba
@@ -0,0 +1,514 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XRowUpdate" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global rowTypes As Variant
+' must be an array of Strings with description of column types
+' - Global rowTypesCol As Variant
+' corresponding column numbers
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XRowUpdate
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean, bNullOK As Boolean
+ Dim i As Integer
+ Dim getV As Variant, newV As Variant, resV As Variant
+ Dim colType As String
+
+ if NOT hasUnoInterfaces(oObj, "com.sun.star.sdbc.XRow") then
+ Out.Log("The interface com.sun.star.sdbc.XRow isn't supported by the component.")
+ Out.Log("The test must be upgraded !!!")
+ exit Sub
+ end if
+
+ Test.RecreateObj()
+
+ bNullOK = true
+
+ Test.StartMethod("updateBoolean()")
+ colType = "boolean"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getBoolean(i+1)
+ newV = NOT getV
+ oObj.updateBoolean(i+1, newV)
+ resV = oObj.getBoolean(i+1)
+ Out.Log("Was: " + getv + ", New: " + newV + ", Res: " + resV)
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateBoolean()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getBoolean(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateBoolean()", true)
+ end if
+
+ Test.StartMethod("updateByte()")
+ colType = "byte"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getByte(i+1)
+ newV = getV + 1
+ oObj.updateByte(i+1, newV)
+ resV = oObj.getByte(i+1)
+ Out.Log("Was: " + getv + ", New: " + newV + ", Res: " + resV)
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateByte()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getByte(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateByte()", true)
+ end if
+
+ Test.StartMethod("updateShort()")
+ colType = "short"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getShort(i+1)
+ newV = getV + 1
+ oObj.updateShort(i+1, newV)
+ resV = oObj.getShort(i+1)
+ Out.Log("Was: " + getv + ", New: " + newV + ", Res: " + resV)
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateShort()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getShort(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateShort()", true)
+ end if
+
+ Test.StartMethod("updateInt()")
+ colType = "int"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getInt(i+1)
+ newV = getV + 1
+ oObj.updateInt(i+1, newV)
+ resV = oObj.getInt(i+1)
+ Out.Log("Was: " + getv + ", New: " + newV + ", Res: " + resV)
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateInt()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getInt(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateInt()", true)
+ end if
+
+ Test.StartMethod("updateLong()")
+ colType = "long"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getLong(i+1)
+ newV = getV + 1
+ oObj.updateLong(i+1, newV)
+ resV = oObj.getLong(i+1)
+ Out.Log("Was: " + getv + ", New: " + newV + ", Res: " + resV)
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateLong()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getLong(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateLong()", true)
+ end if
+
+ Test.StartMethod("updateFloat()")
+ colType = "float"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getFloat(i+1)
+ newV = getV + 1.3
+ oObj.updateFloat(i+1, newV)
+ resV = oObj.getFloat(i+1)
+ Out.Log("Was: " + getv + ", New: " + newV + ", Res: " + resV)
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateFloat()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getFloat(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateFloat()", true)
+ end if
+
+ Test.StartMethod("updateDouble()")
+ colType = "double"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getDouble(i+1)
+ newV = getV + 1.5
+ oObj.updateDouble(i+1, newV)
+ resV = oObj.getDouble(i+1)
+ Out.Log("Was: " + getv + ", New: " + newV + ", Res: " + resV)
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateDouble()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getDouble(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateDouble()", true)
+ end if
+
+ Test.StartMethod("updateString()")
+ colType = "string"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getString(i+1)
+ newV = "_" + getV
+ oObj.updateString(i+1, newV)
+ resV = oObj.getString(i+1)
+ Out.Log("Was: '" + getv + "', New: '" + newV + "', Res: '" + resV + "'")
+ bOK = bOK AND (resV = newV)
+ Test.MethodTested("updateString()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getString(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateString()", true)
+ end if
+
+ Test.StartMethod("updateBytes()")
+ colType = "bytes"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getBytes(i+1)
+
+ if (oObj.wasNull() OR ubound(getV()) &lt; 0) then
+ newV = Array(1,2,3)
+ else
+ newV = getV
+ newV(0) = newV(0) + 1
+ end if
+
+ oObj.updateBytes(i+1, newV)
+ resV = oObj.getBytes(i+1)
+
+ Out.Log("Was: " + getv(0) + ", New: " + newV(0) + ", Res: " + resV(0))
+ bOK = bOK AND (resV(0) = newV(0))
+ Test.MethodTested("updateBytes()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getBytes(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateBytes()", true)
+ end if
+
+
+ Dim dat As com.sun.star.util.Date
+ Test.StartMethod("updateDate()")
+ colType = "date"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getDate(i+1)
+ if (oObj.wasNull() OR isNull(getV)) then
+ newV = dat
+ else
+ newV = getV
+ newV.Year = newV.Year + 1
+ end if
+
+ oObj.updateDate(i+1, newV)
+ resV = oObj.getDate(i+1)
+ Out.Log("Was: '" + getv.Year + "', New: '" + newV.Year + "', Res: '" + resV.Year + "'")
+ bOK = bOK AND (resV.Year = newV.Year)
+ Test.MethodTested("updateDate()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getDate(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateDate()", true)
+ end if
+
+ Dim tim As com.sun.star.util.Time
+ Test.StartMethod("updateTime()")
+ colType = "time"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getTime(i+1)
+ if (oObj.wasNull() OR isNull(getV)) then
+ newV = tim
+ else
+ newV = getV
+ newV.Seconds = newV.Seconds + 1
+ end if
+
+ oObj.updateTime(i+1, newV)
+ resV = oObj.getTime(i+1)
+ Out.Log("Was: '" + getv.Seconds + "', New: '" + newV.Seconds + "', Res: '" + resV.Seconds + "'")
+ bOK = bOK AND (resV.Seconds = newV.Seconds)
+ Test.MethodTested("updateTime()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getTime(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateTime()", true)
+ end if
+
+ Dim dattm As com.sun.star.util.DateTime
+ Test.StartMethod("updateTimestamp()")
+ colType = "timestamp"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getTimestamp(i+1)
+ if (oObj.wasNull() OR isNull(getV)) then
+ newV = dattm
+ else
+ newV = getV
+ newV.Year = newV.Year + 1
+ end if
+
+ oObj.updateTimestamp(i+1, newV)
+ resV = oObj.getTimestamp(i+1)
+ Out.Log("Was: '" + getv.Year + "', New: '" + newV.Year + "', Res: '" + resV.Year + "'")
+ bOK = bOK AND (resV.Year = newV.Year)
+ Test.MethodTested("updateTimestamp()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getTimestamp(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateTimestamp()", true)
+ end if
+
+ Dim bytes As Variant, nBytes As Long
+ Test.StartMethod("updateCharacterStream()")
+ colType = "characterstream"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ newV = createUnoService("com.sun.star.io.Pipe")
+ newV.writeBytes(Array(123, 234))
+ oObj.updateCharacterStream(i+1, newV)
+ resV = oObj.getCharacterStream(i+1)
+ 'Out.Log("Was: '" + getv + "', New: '" + newV + "', Res: '" + resV + "'")
+ bOK = bOK AND NOT oObj.wasNull() AND NOT isNull(resV)
+
+ if bOK then
+ Out.Log("Testing further ...")
+ nBytes = resV.readBytes(bytes, 2)
+ bOK = bOK AND (nBytes = 2) AND (bytes(0) = 123) AND (bytes(1) = 234)
+ end if
+
+ Test.MethodTested("updateCharacterStream()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getCharacterStream(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateCharacterStream()", true)
+ end if
+
+ Test.StartMethod("updateBinaryStream()")
+ colType = "binarystream"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ newV = createUnoService("com.sun.star.io.Pipe")
+ newV.writeBytes(Array(123, 234))
+ oObj.updateBinaryStream(i+1, newV)
+ resV = oObj.getBinaryStream(i+1)
+ 'Out.Log("Was: '" + getv + "', New: '" + newV + "', Res: '" + resV + "'")
+ bOK = bOK AND NOT oObj.wasNull() AND NOT isNull(resV)
+
+ if bOK then
+ Out.Log("Testing further ...")
+ nBytes = resV.readBytes(bytes, 2)
+ bOK = bOK AND (nBytes = 2) AND (bytes(0) = 123) AND (bytes(1) = 234)
+ end if
+
+ Test.MethodTested("updateBinaryStream()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getBinaryStream(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateBinaryStream()", true)
+ end if
+
+ Test.StartMethod("updateObject()")
+ colType = "object"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getObject(i+1)
+ if (NOT hasUnoInterfaces(getV, "com.sun.star.io.XInputStream")) then
+ newV = createUnoService("com.sun.star.io.DataInputStream")
+ else
+ newV = createUnoService("com.sun.star.io.DataOutputStream")
+ end if
+
+ oObj.updateObject(i+1, newV)
+ resV = oObj.getObject(i+1)
+
+ bOK = bOK AND (hasUnoInterfaces(newV, "com.sun.star.io.XInputStream") = _
+ hasUnoInterfaces(resV, "com.sun.star.io.XInputStream")) AND _
+ (hasUnoInterfaces(newV, "com.sun.star.io.XOutputStream") = _
+ hasUnoInterfaces(resV, "com.sun.star.io.XOutputStream"))
+
+ Test.MethodTested("updateObject()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getObject(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateObject()", true)
+ end if
+
+ Test.StartMethod("updateNumericObject()")
+ colType = "numericobject"
+ i = findColumn(colType)
+ if i >= 0 then
+ bOK = true
+ getV = oObj.getNumericObject(i+1)
+ if (NOT hasUnoInterfaces(getV, "com.sun.star.io.XInputStream")) then
+ newV = createUnoService("com.sun.star.io.DataInputStream")
+ else
+ newV = createUnoService("com.sun.star.io.DataOutputStream")
+ end if
+
+ oObj.updateNumericObject(i+1, newV, 0)
+ resV = oObj.getNumericObject(i+1)
+
+ bOK = bOK AND (hasUnoInterfaces(newV, "com.sun.star.io.XInputStream") = _
+ hasUnoInterfaces(resV, "com.sun.star.io.XInputStream")) AND _
+ (hasUnoInterfaces(newV, "com.sun.star.io.XOutputStream") = _
+ hasUnoInterfaces(resV, "com.sun.star.io.XOutputStream"))
+
+ Test.MethodTested("updateNumericObject()", bOK)
+
+ oObj.updateNull(i+1)
+ oObj.getNumericObject(i+1)
+ bNullOK = bNullOK AND oObj.wasNull()
+ else
+ Out.Log("!!! Column of type '" + colType + "' is not found. No test performed.")
+ Out.Log("Nevertheless status is OK")
+ Test.MethodTested("updateNumericObject()", true)
+ end if
+
+ Test.StartMethod("updateNull()")
+ Test.MethodTested("updateNull()", bNullOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function findColumn(cType As String) As Integer
+ Dim i As Integer
+
+ for i = lbound(rowTypes()) to ubound(rowTypes())
+ if rowTypes(i) = cType then
+ findColumn() = rowTypesCol(i) - 1
+ exit function
+ end if
+ next i
+
+ findColumn() = -1
+End function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/script.xlb
new file mode 100644
index 000000000000..20435089b7f1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbc_XWarningsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbc_XWarningsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/sdbc_XWarningsSupplier.xba b/qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/sdbc_XWarningsSupplier.xba
new file mode 100644
index 000000000000..39ac1729e41d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbc/XWarningsSupplier/sdbc_XWarningsSupplier.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XWarningsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbc.XWarningsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("clearWarnings()")
+ bOK = true
+ oObj.clearWarnings()
+ Test.MethodTested("clearWarnings()", bOK)
+
+
+ Test.StartMethod("getWarnings()")
+ bOK = true
+ bOK = bOK AND isEmpty(oObj.getWarnings())
+ Test.MethodTested("getWarnings()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/ResultSet/script.xlb b/qadevOOo/tests/basic/ifc/sdbcx/ResultSet/script.xlb
new file mode 100644
index 000000000000..a9e55834fd82
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/ResultSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbcx_ResultSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbcx_ResultSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/ResultSet/sdbcx_ResultSet.xba b/qadevOOo/tests/basic/ifc/sdbcx/ResultSet/sdbcx_ResultSet.xba
new file mode 100644
index 000000000000..c2374f8b30fe
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/ResultSet/sdbcx_ResultSet.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbcx_ResultSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sdbcx.ResultSet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("IsBookmarkable")
+
+ PropertyTester.TestProperty("CanUpdateInsertedRows")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/script.xlb
new file mode 100644
index 000000000000..0d8eeef2548c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbcx_XColumnsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbcx_XColumnsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/sdbcx_XColumnsSupplier.xba b/qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/sdbcx_XColumnsSupplier.xba
new file mode 100644
index 000000000000..1dae513a0754
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XColumnsSupplier/sdbcx_XColumnsSupplier.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbcx_XColumnsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbcx.XColumnsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getColumns()")
+ bOK = true
+ oCols = oObj.getColumns()
+ bOK = bOK AND hasUnoInterfaces(oCols, "com.sun.star.container.XNameAccess")
+ if (bOK) then
+ cNames = oCols.getElementNames()
+ Out.Log("Following columns were found:")
+ for i = 0 to ubound(cNames)
+ Out.Log("'" &amp; cNames(i) &amp; "'")
+ next i
+ end if
+ Test.MethodTested("getColumns()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/script.xlb
new file mode 100644
index 000000000000..39e76d8ad1fd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbcx_XDataDefinitionSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbcx_XDataDefinitionSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/sdbcx_XDataDefinitionSupplier.xba b/qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/sdbcx_XDataDefinitionSupplier.xba
new file mode 100644
index 000000000000..37aae87150f8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XDataDefinitionSupplier/sdbcx_XDataDefinitionSupplier.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbcx_XDataDefinitionSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global URL as String
+' Global info As Variant
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbcx.XDataDefinitionSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim tableSupl As Object
+ Dim oConnection As Object
+ oConnection = oObj.connect(URL, info())
+
+ Test.StartMethod("getDataDefinitionByConnection()")
+ tableSupl = oObj.getDataDefinitionByConnection(oConnection)
+ Test.MethodTested("getDataDefinitionByConnection()", Not isNull(tableSupl))
+
+ Test.StartMethod("getDataDefinitionByURL()")
+ tableSupl = oObj.getDataDefinitionByURL(URL, info())
+ Test.MethodTested("getDataDefinitionByURL()", Not isNull(tableSupl))
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/script.xlb b/qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/script.xlb
new file mode 100644
index 000000000000..aa38554c685f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbcx_XDeleteRows" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbcx_XDeleteRows"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/sdbcx_XDeleteRows.xba b/qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/sdbcx_XDeleteRows.xba
new file mode 100644
index 000000000000..deafb4e55ad2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XDeleteRows/sdbcx_XDeleteRows.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbcx_XDeleteRows" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbcx.XDeleteRows
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bkmrk As Variant
+ Dim rowsBefore As Variant, rowsAfter As Variant
+
+
+ if NOT (hasUnoInterfaces(oObj, "com.sun.star.sdbcx.XRowLocate") AND _
+ hasUnoInterfaces(oObj, "com.sun.star.sdbc.XResultSet")) then
+
+ Out.Log("The component doesn't support one of the required interfaces.")
+ Out.Log("The test must be modified according to component testcase.")
+ Exit Sub
+ end if
+
+ Test.StartMethod("deleteRows()")
+ bOK = true
+
+ oObj.last()
+ rowsBefore = oObj.getRow()
+ oObj.first()
+ bkmrk = oObj.getBookmark()
+
+ oObj.deleteRows(Array(bkmrk))
+
+ oObj.last()
+ rowsAfter = oObj.getRow()
+
+ Out.Log("Rows before: " + rowsBefore + ", after: " + rowsAfter)
+ bOK = bOK AND (rowsBefore - 1 = rowsAfter)
+ Test.MethodTested("deleteRows()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/script.xlb b/qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/script.xlb
new file mode 100644
index 000000000000..519516b9ec25
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sdbcx_XRowLocate" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sdbcx_XRowLocate"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/sdbcx_XRowLocate.xba b/qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/sdbcx_XRowLocate.xba
new file mode 100644
index 000000000000..2c25b4400324
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sdbcx/XRowLocate/sdbcx_XRowLocate.xba
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbcx_XRowLocate" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sdbcx.XRowLocate
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oBM1 As Variant
+ Dim oBM2 As Variant
+ Dim oBM3 As Variant
+ Dim oBM4 As Variant
+ Dim cDscr1 As String
+ Dim cDscr2 As String
+
+ ReCreateObj()
+
+ oObj.first()
+
+ Test.StartMethod("getBookmark()")
+ bOK = true
+ oBM1 = oObj.getBookmark()
+ cDscr1 = oObj.getString(1)
+ Out.Log("Set bookmark to row " + cDscr1)
+ bOK = bOK AND NOT isNULL(oBM1)
+ Test.MethodTested("getBookmark()", bOK)
+
+ Test.StartMethod("moveToBookmark()")
+ bOK = true
+ oObj.next()
+ cDscr2 = oObj.getString(1)
+ Out.Log("Now on " + cDscr2)
+ oObj.moveToBookmark(oBM1)
+ Out.Log("After movment on " + oObj.getString(1))
+ bOK = bOK AND oObj.getString(1) = cDscr1
+ Test.MethodTested("moveToBookmark()", bOK)
+
+ Test.StartMethod("moveRelativeToBookmark()")
+ bOK = true
+ oObj.moveRelativeToBookmark(oBM1, 1)
+ Out.Log("After movment on " + oObj.getString(1))
+ bOK = bOK AND oObj.getString(1) = cDscr2
+ Test.MethodTested("moveRelativeToBookmark()", bOK)
+
+ oBM2 = oObj.getBookmark()
+
+ Test.StartMethod("compareBookmarks()")
+ bOK = true
+ ' if database driver supports ordered marks then
+ ' compareBookmarks should return values CompareBookmark::LESS or
+ ' CompareBookmark::GREATER in case when bookmarks are not equal
+ ' otherwise this method returnes only CompareBookmark::NOT_EQUAL
+
+ if (oObj.hasOrderedBookmarks()) then
+ bOK = bOK AND oObj.compareBookmarks(oBM1, oBM1) = com.sun.star.sdbcx.CompareBookmark.EQUAL
+ bOK = bOK AND oObj.compareBookmarks(oBM1, oBM2) = com.sun.star.sdbcx.CompareBookmark.LESS
+ bOK = bOK AND oObj.compareBookmarks(oBM2, oBM1) = com.sun.star.sdbcx.CompareBookmark.GREATER
+ else
+ bOK = bOK AND oObj.compareBookmarks(oBM1, oBM1) = com.sun.star.sdbcx.CompareBookmark.EQUAL
+ bOK = bOK AND oObj.compareBookmarks(oBM1, oBM2) = com.sun.star.sdbcx.CompareBookmark.NOT_EQUAL
+ bOK = bOK AND oObj.compareBookmarks(oBM2, oBM1) = com.sun.star.sdbcx.CompareBookmark.NOT_EQUAL
+ end if
+ Test.MethodTested("compareBookmarks()", bOK)
+
+ Test.StartMethod("hasOrderedBookmarks()")
+ bOK = true
+ bOK = bOK AND oObj.hasOrderedBookmarks()
+ Test.MethodTested("hasOrderedBookmarks()", bOK)
+
+ Test.StartMethod("hashBookmark()")
+ bOK = true
+
+ oObj.last()
+ oBM3 = oObj.getBookmark()
+ oObj.first()
+ oBM4 = oObj.getBookmark()
+
+ bOK = bOK AND oObj.hashBookmark(oBM1) &lt;&gt; oObj.hashBookmark(oBM2)
+ bOK = bOK AND oObj.hashBookmark(oBM1) &lt;&gt; oObj.hashBookmark(oBM3)
+ bOK = bOK AND oObj.hashBookmark(oBM3) &lt;&gt; oObj.hashBookmark(oBM2)
+ bOK = bOK AND oObj.hashBookmark(oBM1) = oObj.hashBookmark(oBM4)
+ Test.MethodTested("hashBookmark()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/CellAreaLink/script.xlb b/qadevOOo/tests/basic/ifc/sheet/CellAreaLink/script.xlb
new file mode 100644
index 000000000000..c731910c87be
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/CellAreaLink/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_CellAreaLink" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_CellAreaLink"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/CellAreaLink/sheet_CellAreaLink.xba b/qadevOOo/tests/basic/ifc/sheet/CellAreaLink/sheet_CellAreaLink.xba
new file mode 100644
index 000000000000..71b64f1f89f1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/CellAreaLink/sheet_CellAreaLink.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_CellAreaLink" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.CellAreaLink
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim aURLs(1) As String
+ aURLs(0) = utils.Path2URL(cTestDocsDir)
+ aURLs(1) = utils.Path2URL(cTestDocsDir &amp; "/temp.txt")
+ PropertyTester.TestProperty("Url", aURLs())
+
+ PropertyTester.TestProperty("Filter")
+
+ PropertyTester.TestProperty("FilterOptions")
+
+ PropertyTester.TestProperty("RefreshDelay")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/DataPilotField/script.xlb b/qadevOOo/tests/basic/ifc/sheet/DataPilotField/script.xlb
new file mode 100644
index 000000000000..ff63efd2cb23
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/DataPilotField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_DataPilotField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_DataPilotField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/DataPilotField/sheet_DataPilotField.xba b/qadevOOo/tests/basic/ifc/sheet/DataPilotField/sheet_DataPilotField.xba
new file mode 100644
index 000000000000..5ce59de61b8e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/DataPilotField/sheet_DataPilotField.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_DataPilotField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.DataPilotField
+'*************************************************************************
+On Error Goto ErrHndl
+ PropertyTester.TestProperty("Orientation")
+
+ oObj.setPropertyValue("Orientation", com.sun.star.sheet.DataPilotFieldOrientation.COLUMN)
+ PropertyTester.TestProperty("Function")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/DatabaseRange/script.xlb b/qadevOOo/tests/basic/ifc/sheet/DatabaseRange/script.xlb
new file mode 100644
index 000000000000..74e74df5975c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/DatabaseRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_DatabaseRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_DatabaseRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/DatabaseRange/sheet_DatabaseRange.xba b/qadevOOo/tests/basic/ifc/sheet/DatabaseRange/sheet_DatabaseRange.xba
new file mode 100644
index 000000000000..956ce9af08b6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/DatabaseRange/sheet_DatabaseRange.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_DatabaseRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.DatabaseRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("MoveCells")
+
+ PropertyTester.TestProperty("KeepFormats")
+
+ PropertyTester.TestProperty("StripData")
+
+ PropertyTester.TestProperty("AutoFilter")
+
+ PropertyTester.TestProperty("UseFilterCriteriaSource")
+
+ PropertyTester.TestProperty("FilterCriteriaSource")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/script.xlb b/qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/script.xlb
new file mode 100644
index 000000000000..2b471754b704
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_GlobalSheetSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_GlobalSheetSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/sheet_GlobalSheetSettings.xba b/qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/sheet_GlobalSheetSettings.xba
new file mode 100644
index 000000000000..db041b57b210
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/GlobalSheetSettings/sheet_GlobalSheetSettings.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_GlobalSheetSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.GlobalSheetSettings
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("MoveSelection")
+
+ PropertyTester.TestProperty("MoveDirection")
+
+ PropertyTester.TestProperty("EnterEdit")
+
+ PropertyTester.TestProperty("ExtendFormat")
+
+ PropertyTester.TestProperty("RangeFinder")
+
+ PropertyTester.TestProperty("ExpandReferences")
+
+ PropertyTester.TestProperty("MarkHeader")
+
+ PropertyTester.TestProperty("UseTabCol")
+
+ PropertyTester.TestProperty("Metric")
+
+ PropertyTester.TestProperty("Scale")
+
+ PropertyTester.TestProperty("DoAutoComplete")
+
+ PropertyTester.TestProperty("StatusBarFunction")
+
+ PropertyTester.TestProperty("UserLists")
+
+ PropertyTester.TestProperty("LinkUpdateMode")
+
+ PropertyTester.TestProperty("PrintAllSheets")
+
+ PropertyTester.TestProperty("PrintEmptyPages")
+
+ PropertyTester.TestProperty("UsePrinterMetrics")
+
+ PropertyTester.TestProperty("ReplaceCellsWarning")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetCell/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SheetCell/script.xlb
new file mode 100644
index 000000000000..e5ddf6444cc6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SheetCell" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="sheet_SheetCell"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetCell/sheet_SheetCell.xba b/qadevOOo/tests/basic/ifc/sheet/SheetCell/sheet_SheetCell.xba
new file mode 100644
index 000000000000..605351a25d57
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetCell/sheet_SheetCell.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SheetCell" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.SheetCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("Position")
+
+ PropertyTester.TestProperty("Size")
+
+ PropertyTester.TestProperty("FormulaLocal")
+
+ PropertyTester.TestProperty("FormulaResultType")
+
+ PropertyTester.TestProperty("ConditionalFormat")
+
+ PropertyTester.TestProperty("ConditionalFormatLocal")
+
+ PropertyTester.TestProperty("Validation")
+
+ PropertyTester.TestProperty("ValidationLocal")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetCellRange/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SheetCellRange/script.xlb
new file mode 100644
index 000000000000..cccdd3d6113c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetCellRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SheetCellRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_SheetCellRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetCellRange/sheet_SheetCellRange.xba b/qadevOOo/tests/basic/ifc/sheet/SheetCellRange/sheet_SheetCellRange.xba
new file mode 100644
index 000000000000..bd5acf56ce60
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetCellRange/sheet_SheetCellRange.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SheetCellRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.SheetCellRange
+'*************************************************************************
+On Error Goto ErrHndl
+ PropertyTester.TestProperty("Position")
+ PropertyTester.TestProperty("Size")
+
+ PropertyTester.TestProperty("Validation")
+
+ PropertyTester.TestProperty("ValidationLocal")
+
+ PropertyTester.TestProperty("ConditionalFormat")
+
+ PropertyTester.TestProperty("ConditionalFormatLocal")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/script.xlb
new file mode 100644
index 000000000000..2c9622791cf5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SheetCellRanges" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="sheet_SheetCellRanges"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/sheet_SheetCellRanges.xba b/qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/sheet_SheetCellRanges.xba
new file mode 100644
index 000000000000..dc51f0fae055
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetCellRanges/sheet_SheetCellRanges.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SheetCellRanges" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.SheetCellRanges
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("ConditionalFormat")
+
+ PropertyTester.TestProperty("ConditionalFormatLocal")
+
+ PropertyTester.TestProperty("Validation")
+
+ PropertyTester.TestProperty("ValidationLocal")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/script.xlb
new file mode 100644
index 000000000000..e82850021381
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SheetFilterDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_SheetFilterDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/sheet_SheetFilterDescriptor.xba b/qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/sheet_SheetFilterDescriptor.xba
new file mode 100644
index 000000000000..3d865a931836
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetFilterDescriptor/sheet_SheetFilterDescriptor.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SheetFilterDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.SheetFilterDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("IsCaseSensitive")
+
+ PropertyTester.TestProperty("SkipDuplicates")
+
+ PropertyTester.TestProperty("UseRegularExpressions")
+
+ PropertyTester.TestProperty("SaveOutputPosition")
+
+ PropertyTester.TestProperty("Orientation")
+
+ PropertyTester.TestProperty("ContainsHeader")
+
+ PropertyTester.TestProperty("CopyOutputData")
+
+ PropertyTester.TestProperty("OutputPosition")
+
+ PropertyTester.TestProperty("MaxFieldCount")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetLink/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SheetLink/script.xlb
new file mode 100644
index 000000000000..30fbc310593b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetLink/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SheetLink" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_SheetLink"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SheetLink/sheet_SheetLink.xba b/qadevOOo/tests/basic/ifc/sheet/SheetLink/sheet_SheetLink.xba
new file mode 100644
index 000000000000..48ac50f08318
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SheetLink/sheet_SheetLink.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SheetLink" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.SheetLink
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim aURLs(1) As String
+ aURLs(0) = utils.Path2URL(cTestDocsDir)
+ aURLs(1) = utils.Path2URL(cTestDocsDir &amp; "/temp.txt")
+
+ PropertyTester.TestProperty("Url", aURLs())
+
+ Dim aFilters(1) As String
+ aFilters(0) = "StarCalc 4.0"
+ aFilters(1) = "StarCalc 5.0"
+
+ PropertyTester.TestProperty("Filter", aFilters())
+
+ PropertyTester.TestProperty("FilterOptions")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/Spreadsheet/script.xlb b/qadevOOo/tests/basic/ifc/sheet/Spreadsheet/script.xlb
new file mode 100644
index 000000000000..54d523870d7e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/Spreadsheet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_Spreadsheet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_Spreadsheet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/Spreadsheet/sheet_Spreadsheet.xba b/qadevOOo/tests/basic/ifc/sheet/Spreadsheet/sheet_Spreadsheet.xba
new file mode 100644
index 000000000000..98435657a745
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/Spreadsheet/sheet_Spreadsheet.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_Spreadsheet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global sStyleName As String
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.Spreadsheet
+'*************************************************************************
+On Error Goto ErrHndl
+ PropertyTester.TestProperty("IsVisible")
+ Dim aStyles(1) As String
+ aStyles(0) = sStyleName
+ aStyles(1) = "Default"
+ PropertyTester.TestProperty("PageStyle", aStyles())
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/script.xlb
new file mode 100644
index 000000000000..870d40c0204f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SpreadsheetDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_SpreadsheetDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/sheet_SpreadsheetDocument.xba b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/sheet_SpreadsheetDocument.xba
new file mode 100644
index 000000000000..6706c1f00d49
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocument/sheet_SpreadsheetDocument.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SpreadsheetDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.SpreadsheetDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("NamedRanges")
+
+ PropertyTester.TestProperty("DatabaseRanges")
+
+ PropertyTester.TestProperty("ColumnLabelRanges")
+
+ PropertyTester.TestProperty("RowLabelRanges")
+
+ PropertyTester.TestProperty("SheetLinks")
+
+ PropertyTester.TestProperty("AreaLinks")
+
+ PropertyTester.TestProperty("DDELinks")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/script.xlb
new file mode 100644
index 000000000000..351347139143
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SpreadsheetDocumentSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_SpreadsheetDocumentSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/sheet_SpreadsheetDocumentSettings.xba b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/sheet_SpreadsheetDocumentSettings.xba
new file mode 100644
index 000000000000..e0a761901887
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetDocumentSettings/sheet_SpreadsheetDocumentSettings.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SpreadsheetDocumentSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.SpreadsheetDocumentSettings
+'*************************************************************************
+On Error Goto ErrHndl
+ PropertyTester.TestProperty("IsIterationEnabled")
+ PropertyTester.TestProperty("IterationCount")
+ PropertyTester.TestProperty("IterationEpsilon")
+ PropertyTester.TestProperty("StandardDecimals")
+ PropertyTester.TestProperty("NullDate")
+ PropertyTester.TestProperty("DefaultTabStop")
+ PropertyTester.TestProperty("IgnoreCase")
+ PropertyTester.TestProperty("CalcAsShown")
+ PropertyTester.TestProperty("MatchWholeCell")
+ PropertyTester.TestProperty("SpellOnline")
+ PropertyTester.TestProperty("LookUpLabels")
+ PropertyTester.TestProperty("RegularExpressions")
+ PropertyTester.TestProperty("ForbiddenCharacters")
+ PropertyTester.TestProperty("HasDrawPages")
+
+'
+ PropertyTester.TestProperty("CharLocale")
+
+ PropertyTester.TestProperty("CharLocaleAsian")
+
+ PropertyTester.TestProperty("CharLocaleComplex")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/script.xlb
new file mode 100644
index 000000000000..d9f23cd17d45
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SpreadsheetViewSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_SpreadsheetViewSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/sheet_SpreadsheetViewSettings.xba b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/sheet_SpreadsheetViewSettings.xba
new file mode 100644
index 000000000000..c448552f7e29
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SpreadsheetViewSettings/sheet_SpreadsheetViewSettings.xba
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SpreadsheetViewSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.SpreadsheetViewSettings
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("ShowFormulas")
+
+ PropertyTester.TestProperty("ShowZeroValues")
+
+ PropertyTester.TestProperty("IsValueHighlightingEnabled")
+
+ PropertyTester.TestProperty("ShowNotes")
+
+ PropertyTester.TestProperty("HasVerticalScrollBar")
+
+ PropertyTester.TestProperty("HasHorizontalScrollBar")
+
+ PropertyTester.TestProperty("HasSheetTabs")
+
+ PropertyTester.TestProperty("IsOutlineSymbolsSet")
+
+ PropertyTester.TestProperty("HasColumnRowHeaders")
+
+ PropertyTester.TestProperty("ShowGrid")
+
+ PropertyTester.TestProperty("GridColor")
+
+ PropertyTester.TestProperty("ShowHelpLines")
+
+ PropertyTester.TestProperty("ShowAnchor")
+
+ PropertyTester.TestProperty("ShowPageBreaks")
+
+ PropertyTester.TestProperty("SolidHandles")
+
+ PropertyTester.TestProperty("ShowObjects")
+
+ PropertyTester.TestProperty("ShowCharts")
+
+ PropertyTester.TestProperty("ShowDrawing")
+
+ PropertyTester.TestProperty("HideSpellMarks")
+
+ PropertyTester.TestProperty("ZoomType")
+
+ PropertyTester.TestProperty("ZoomValue")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/script.xlb
new file mode 100644
index 000000000000..ec784755fab0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_SubTotalDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_SubTotalDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/sheet_SubTotalDescriptor.xba b/qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/sheet_SubTotalDescriptor.xba
new file mode 100644
index 000000000000..bb9810addb02
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/SubTotalDescriptor/sheet_SubTotalDescriptor.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_SubTotalDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.SubTotalDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("InsertPageBreaks")
+
+ PropertyTester.TestProperty("IsCaseSensitive")
+
+ PropertyTester.TestProperty("EnableUserSortList")
+
+ PropertyTester.TestProperty("UserSortListIndex")
+
+ PropertyTester.TestProperty("BindFormatsToContent")
+
+ PropertyTester.TestProperty("SortAscending")
+
+ PropertyTester.TestProperty("MaxFieldCount")
+
+ PropertyTester.TestProperty("EnableSort")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/script.xlb b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/script.xlb
new file mode 100644
index 000000000000..43d45faccf0d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_TableAutoFormat" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_TableAutoFormat"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/sheet_TableAutoFormat.xba b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/sheet_TableAutoFormat.xba
new file mode 100644
index 000000000000..9c1fe4e521ec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormat/sheet_TableAutoFormat.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_TableAutoFormat" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.TableAutoFormat
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("IncludeFont")
+
+ PropertyTester.TestProperty("IncludeJustify")
+
+ PropertyTester.TestProperty("IncludeBorder")
+
+ PropertyTester.TestProperty("IncludeBackground")
+
+ PropertyTester.TestProperty("IncludeNumberFormat")
+
+ PropertyTester.TestProperty("IncludeWidthAndHeight")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/script.xlb b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/script.xlb
new file mode 100644
index 000000000000..a82bd1a1a653
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_TableAutoFormatField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_TableAutoFormatField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/sheet_TableAutoFormatField.xba b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/sheet_TableAutoFormatField.xba
new file mode 100644
index 000000000000..f66727fb5da4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/TableAutoFormatField/sheet_TableAutoFormatField.xba
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_TableAutoFormatField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.TableAutoFormatField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("CharFontName")
+
+ Dim aHeightArray(3) As Double
+ aHeightArray(0) = 10
+ aHeightArray(1) = 20.1
+ aHeightArray(2) = 25.2
+ aHeightArray(3) = 30.3
+ PropertyTester.TestProperty("CharHeight",aHeightArray())
+
+ Dim aWeightArray(9) As Integer
+ with com.sun.star.awt.FontWeight
+ aWeightArray(0) = .DONTKNOW
+ aWeightArray(1) = .THIN
+ aWeightArray(2) = .ULTRALIGHT
+ aWeightArray(3) = .LIGHT
+ aWeightArray(4) = .SEMILIGHT
+ aWeightArray(5) = .NORMAL
+ aWeightArray(6) = .SEMIBOLD
+ aWeightArray(7) = .BOLD
+ aWeightArray(8) = .ULTRABOLD
+ aWeightArray(9) = .BLACK
+ end with
+ PropertyTester.TestProperty("CharWeight", aWeightArray())
+
+ PropertyTester.TestProperty("CharPosture")
+
+ PropertyTester.TestProperty("CharUnderline")
+
+ PropertyTester.TestProperty("CharCrossedOut")
+
+ PropertyTester.TestProperty("CharContoured")
+
+ PropertyTester.TestProperty("CharShadowed")
+
+ PropertyTester.TestProperty("CharColor")
+
+' ### The following property was not found in correspond IDL file! ###
+ PropertyTester.TestProperty("CharLocale")
+
+ PropertyTester.TestProperty("CellBackColor")
+
+ PropertyTester.TestProperty("IsCellBackgroundTransparent")
+
+ PropertyTester.TestProperty("ShadowFormat")
+
+ PropertyTester.TestProperty("ParaRightMargin")
+
+ PropertyTester.TestProperty("ParaLeftMargin")
+
+ PropertyTester.TestProperty("ParaBottomMargin")
+
+ PropertyTester.TestProperty("ParaTopMargin")
+
+ PropertyTester.TestProperty("RotateReference")
+
+ PropertyTester.TestProperty("RotateAngle")
+
+ PropertyTester.TestProperty("Orientation")
+
+ PropertyTester.TestProperty("IsTextWrapped")
+
+ PropertyTester.TestProperty("VertJustify")
+
+ PropertyTester.TestProperty("HoriJustify")
+
+ PropertyTester.TestProperty("CharPostureComplex")
+
+ PropertyTester.TestProperty("CharPostureAsian")
+
+ PropertyTester.TestProperty("CharWeightComplex", aWeightArray())
+
+ PropertyTester.TestProperty("CharWeightAsian", aWeightArray())
+
+ PropertyTester.TestProperty("CharHeightComplex", aHeightArray())
+
+ PropertyTester.TestProperty("CharHeightAsian", aHeightArray())
+
+ PropertyTester.TestProperty("CharFontPitchComplex")
+
+ PropertyTester.TestProperty("CharFontPitchAsian")
+
+ PropertyTester.TestProperty("CharFontPitch")
+
+ PropertyTester.TestProperty("CharFontFamilyComplex")
+
+ PropertyTester.TestProperty("CharFontFamilyAsian")
+
+ PropertyTester.TestProperty("CharFontFamily")
+
+ PropertyTester.TestProperty("CharFontCharSetComplex")
+
+ PropertyTester.TestProperty("CharFontCharSetAsian")
+
+ PropertyTester.TestProperty("CharFontCharSet")
+
+ PropertyTester.TestProperty("CharFontStyleNameComplex")
+
+ PropertyTester.TestProperty("CharFontStyleNameAsian")
+
+ PropertyTester.TestProperty("CharFontStyleName")
+
+ PropertyTester.TestProperty("CharFontNameComplex")
+
+ PropertyTester.TestProperty("CharFontNameAsian")
+
+
+'
+ PropertyTester.TestProperty("TableBorder")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/TableValidation/script.xlb b/qadevOOo/tests/basic/ifc/sheet/TableValidation/script.xlb
new file mode 100644
index 000000000000..b5a1217ee934
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/TableValidation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_TableValidation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_TableValidation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/TableValidation/sheet_TableValidation.xba b/qadevOOo/tests/basic/ifc/sheet/TableValidation/sheet_TableValidation.xba
new file mode 100644
index 000000000000..100c51fa0397
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/TableValidation/sheet_TableValidation.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_TableValidation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.sheet.TableValidation
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("Type")
+
+ PropertyTester.TestProperty("ShowInputMessage")
+
+ PropertyTester.TestProperty("InputTitle")
+
+ PropertyTester.TestProperty("InputMessage")
+
+ PropertyTester.TestProperty("ShowErrorMessage")
+
+ PropertyTester.TestProperty("ErrorTitle")
+
+ PropertyTester.TestProperty("ErrorMessage")
+
+ PropertyTester.TestProperty("IgnoreBlankCells")
+
+ PropertyTester.TestProperty("ErrorAlertStyle")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XAreaLink/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XAreaLink/script.xlb
new file mode 100644
index 000000000000..47d6b97b9722
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XAreaLink/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XAreaLink" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XAreaLink"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XAreaLink/sheet_XAreaLink.xba b/qadevOOo/tests/basic/ifc/sheet/XAreaLink/sheet_XAreaLink.xba
new file mode 100644
index 000000000000..6f3315327c25
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XAreaLink/sheet_XAreaLink.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XAreaLink" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XAreaLink
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getSourceArea()")
+ bOK = true
+ Dim cArea As String
+ cArea = oObj.getSourceArea()
+ bOK = bOK AND NOT isNULL(cArea)
+ Test.MethodTested("getSourceArea()", bOK)
+
+
+ Test.StartMethod("setSourceArea()")
+ bOK = true
+ Dim oldArea As String
+ Dim newArea As String
+ oldArea = oObj.getSourceArea()
+ newArea = "Sheet0.I6:G8"
+ Out.Log("Set SourceArea to '" &amp; newArea &amp; "'")
+ oObj.setSourceArea(newArea)
+ newArea = oObj.getSourceArea()
+ Out.Log("SourceArea is '" &amp; newArea &amp; "'")
+ bOK = bOK AND oldArea &lt;&gt; newArea
+ oObj.setSourceArea(oldArea)
+ Test.MethodTested("setSourceArea()", bOK)
+
+ Test.StartMethod("getDestArea()")
+ Dim oArea As Object
+ bOK = true
+ oArea = oObj.getDestArea()
+ bOK = bOK AND NOT isNULL(oArea)
+ Test.MethodTested("getDestArea()", bOK)
+
+ Test.StartMethod("setDestArea()")
+ Dim sNewArea As New com.sun.star.table.CellRangeAddress
+ Dim sOldArea As Object
+
+ bOK = true
+ sOldArea = oObj.getDestArea()
+
+ sNewArea.Sheet = sOldArea.Sheet
+ sNewArea.StartRow = sOldArea.StartRow + 1
+ sNewArea.StartColumn = sOldArea.StartColumn + 1
+ sNewArea.EndRow = sOldArea.EndRow + 1
+ sNewArea.EndColumn = sOldArea.EndColumn + 1
+
+ oObj.setDestArea(sNewArea)
+
+ bOK = bOK AND NOT isNULL(oObj.getDestArea())
+ if (bOK) then
+ bOK = bOK AND (sOldArea.Sheet = oObj.getDestArea.Sheet)
+ bOK = bOK AND (sOldArea.StartRow = oObj.getDestArea.StartRow - 1)
+ bOK = bOK AND (sOldArea.StartColumn = oObj.getDestArea.StartColumn - 1)
+ bOK = bOK AND (sOldArea.EndRow = oObj.getDestArea.EndRow - 1)
+ bOK = bOK AND (sOldArea.EndColumn = oObj.getDestArea.EndColumn - 1)
+ end if
+
+ oObj.setDestArea(sOldArea)
+
+ Test.MethodTested("setDestArea()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XAreaLinks/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XAreaLinks/script.xlb
new file mode 100644
index 000000000000..430bf9a3a93e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XAreaLinks/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XAreaLinks" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XAreaLinks"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XAreaLinks/sheet_XAreaLinks.xba b/qadevOOo/tests/basic/ifc/sheet/XAreaLinks/sheet_XAreaLinks.xba
new file mode 100644
index 000000000000..3e8d9d11354a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XAreaLinks/sheet_XAreaLinks.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XAreaLinks" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XAreaLinks
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("insertAtPosition()")
+ bOK = true
+ 'remembering amount of elements
+ Dim m_startAmount as Integer
+ m_startAmount = oObj.Count()
+
+ Dim addr As New com.sun.star.table.CellAddress
+ addr.Sheet = 0
+ addr.Row = 0
+ addr.Column = 2
+
+ Dim mSrcFileName as String
+ mSrcFileName = utils.Path2URL(cTestDocsDir + "/" + "calcshapes.sxc")
+ Dim amdstAddresss as String
+ mdstAddress = "a2:b4"
+ Dim asmFilter as String
+ mFilter = ""
+ Dim mFilterOpts as String
+ mFilterOpts = ""
+ oObj.insertAtPosition(addr, mSrcFileName, mdstAddress, mFilter, mFilterOpts)
+
+ bOK = bOK AND (m_startAmount + 1 = oObj.Count)
+ Test.MethodTested("insertAtPosition()", bOK)
+
+
+ Test.StartMethod("removeByIndex()")
+ bOK = true
+ oObj.removeByIndex(0)
+ bOK = bOK AND (oObj.Count = m_startAmount)
+ Test.MethodTested("removeByIndex()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/script.xlb
new file mode 100644
index 000000000000..301683569797
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XArrayFormulaRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XArrayFormulaRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/sheet_XArrayFormulaRange.xba b/qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/sheet_XArrayFormulaRange.xba
new file mode 100644
index 000000000000..120aa4b65033
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XArrayFormulaRange/sheet_XArrayFormulaRange.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XArrayFormulaRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XArrayFormulaRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bExpectedException As Boolean
+
+ Test.StartMethod("setArrayFormula()")
+ Test.StartMethod("getArrayFormula()")
+ bOK = true
+
+ if (cObjectName = "sc.ScTableSheetObj") then
+ bExpectedException = true
+ oObj.setArrayFormula("=1+2")
+ wait(1) ' additional operator should exists here to avoid
+ ' resuming on 'else' after exception handling
+ else
+ oObj.setArrayFormula("=1+2")
+ bOK = bOK AND (oObj.getArrayFormula() = "{=1+2}")
+ Out.Log("2")
+ end if
+
+ ' Setting of _empty_ formula should work for all objects.
+ bExpectedException = false
+ oObj.setArrayFormula("")
+ bOK = bOK AND (oObj.getArrayFormula() = "")
+
+ Test.MethodTested("getArrayFormula()", bOK)
+ Test.MethodTested("setArrayFormula()", bOK)
+
+Exit Sub
+ErrHndl:
+ if (bExpectedException) then
+ Out.Log("It doesn't make sense to set formula over whole page.")
+ Out.Log("Expected exception: " &amp; error)
+ else
+ Test.Exception()
+ bOK = false
+ end if
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellAddressable/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XCellAddressable/script.xlb
new file mode 100644
index 000000000000..892840f8d8e2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellAddressable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XCellAddressable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XCellAddressable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellAddressable/sheet_XCellAddressable.xba b/qadevOOo/tests/basic/ifc/sheet/XCellAddressable/sheet_XCellAddressable.xba
new file mode 100644
index 000000000000..7f00430ae466
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellAddressable/sheet_XCellAddressable.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XCellAddressable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XCellAddressable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim vCellAddress As Variant
+
+ Test.StartMethod("getCellAddress()")
+ bOK = true
+ vCellAddress = oObj.getCellAddress()
+ bOK = bOK AND isNumeric(vCellAddress.Row)
+ Test.MethodTested("getCellAddress()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/script.xlb
new file mode 100644
index 000000000000..e72e1f1f4a52
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XCellRangeAddressable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XCellRangeAddressable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/sheet_XCellRangeAddressable.xba b/qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/sheet_XCellRangeAddressable.xba
new file mode 100644
index 000000000000..d5f063b3c7e4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeAddressable/sheet_XCellRangeAddressable.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XCellRangeAddressable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XCellRangeAddressable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oAddress As Variant
+
+ Test.StartMethod("getRangeAddress()")
+ bOK = true
+ oAddress = oObj.getRangeAddress()
+ bOK = bOK AND isNumeric(oAddress.Sheet)
+ bOK = bOK AND isNumeric(oAddress.StartColumn)
+ bOK = bOK AND isNumeric(oAddress.EndColumn)
+ bOK = bOK AND isNumeric(oAddress.StartRow)
+ bOK = bOK AND isNumeric(oAddress.EndRow)
+ Test.MethodTested("getRangeAddress()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeData/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XCellRangeData/script.xlb
new file mode 100644
index 000000000000..9112c7c9b7f2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeData/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XCellRangeData" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XCellRangeData"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeData/sheet_XCellRangeData.xba b/qadevOOo/tests/basic/ifc/sheet/XCellRangeData/sheet_XCellRangeData.xba
new file mode 100644
index 000000000000..f6114d09437a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeData/sheet_XCellRangeData.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XCellRangeData" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+'Global newData As Variant
+
+'*************************************************************************
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XCellRangeData
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim data As Variant
+ Dim myNewData as Variant
+
+ Test.StartMethod("getDataArray()")
+ data = oObj.getDataArray()
+ bOK = Not IsEmpty(data) AND ubound(data) > 0
+ Test.MethodTested("getDataArray()", bOK)
+
+ Test.StartMethod("setDataArray()")
+ oObj.setDataArray(createUnoValue("[][]any",newData))
+ data = oObj.getDataArray()
+ bOK = equals(data, newData)
+ Test.MethodTested("setDataArray()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/script.xlb
new file mode 100644
index 000000000000..ae74228d9729
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XCellRangeMovement" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XCellRangeMovement"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/sheet_XCellRangeMovement.xba b/qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/sheet_XCellRangeMovement.xba
new file mode 100644
index 000000000000..8d420350ce38
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeMovement/sheet_XCellRangeMovement.xba
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XCellRangeMovement" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XCellRangeMovement
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Out.Log("Prepearing test...")
+ for i = 0 to 5
+ for j = 0 to 5
+ oObj.getCellByPosition(j, i).Value = i * 6 + j
+ next j
+ next i
+
+ Test.StartMethod("insertCells()")
+ bOK = true
+ Dim newCellAddress As New com.sun.star.table.CellRangeAddress
+ newCellAddress.Sheet = 0
+ newCellAddress.StartColumn = 1
+ newCellAddress.StartRow = 1
+ newCellAddress.EndColumn = 1
+ newCellAddress.EndRow = 1
+ oObj.insertCells(newCellAddress, com.sun.star.sheet.CellInsertMode.DOWN)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(2, 2).Value = 14
+ bOK = bOK AND oObj.getCellByPosition(1, 2).Value = 7
+ bOK = bOK AND oObj.getCellByPosition(0, 2).Value = 12
+
+ oObj.insertCells(newCellAddress, com.sun.star.sheet.CellInsertMode.RIGHT)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(3, 0).Value = 3
+ bOK = bOK AND oObj.getCellByPosition(3, 1).Value = 8
+ bOK = bOK AND oObj.getCellByPosition(3, 2).Value = 15
+
+ oObj.insertCells(newCellAddress, com.sun.star.sheet.CellInsertMode.ROWS)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(4, 0).Value = 4
+ bOK = bOK AND oObj.getCellByPosition(4, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(4, 2).Value = 9
+
+ oObj.insertCells(newCellAddress, com.sun.star.sheet.CellInsertMode.COLUMNS)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(0, 5).Value = 24
+ bOK = bOK AND oObj.getCellByPosition(1, 5).String = ""
+ bOK = bOK AND oObj.getCellByPosition(2, 5).Value = 19
+
+ Test.MethodTested("insertCells()", bOK)
+
+ Test.StartMethod("removeRange()")
+ bOK = true
+ oObj.removeRange(newCellAddress, com.sun.star.sheet.CellDeleteMode.ROWS)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(4, 0).Value = 3
+ bOK = bOK AND oObj.getCellByPosition(4, 1).Value = 8
+ bOK = bOK AND oObj.getCellByPosition(4, 2).Value = 15
+
+ oObj.removeRange(newCellAddress, com.sun.star.sheet.CellDeleteMode.COLUMNS)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(4, 0).Value = 4
+ bOK = bOK AND oObj.getCellByPosition(4, 1).Value = 9
+ bOK = bOK AND oObj.getCellByPosition(4, 2).Value = 16
+
+ oObj.removeRange(newCellAddress, com.sun.star.sheet.CellDeleteMode.UP)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).Value = 7
+ bOK = bOK AND oObj.getCellByPosition(1, 2).Value = 13
+ bOK = bOK AND oObj.getCellByPosition(1, 3).Value = 19
+ bOK = bOK AND oObj.getCellByPosition(0, 3).Value = 18
+
+ oObj.removeRange(newCellAddress, com.sun.star.sheet.CellDeleteMode.LEFT)
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(0, 1).Value = 6
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(2, 1).Value = 8
+
+ Test.MethodTested("removeRange()", bOK)
+
+ Test.StartMethod("moveRange()")
+ bOK = true
+ newCellAddress.Sheet = 0
+ newCellAddress.StartColumn = 0
+ newCellAddress.StartRow = 0
+ newCellAddress.EndColumn = 1
+ newCellAddress.EndRow = 1
+ Dim sCell As New com.sun.star.table.CellAddress
+ sCell.Sheet = 0
+ sCell.Column = 3
+ sCell.Row = 3
+ oObj.moveRange(sCell, newCellAddress)
+
+ bOK = bOK AND oObj.getCellByPosition(0, 0).String = ""
+ bOK = bOK AND oObj.getCellByPosition(1, 0).String = ""
+ bOK = bOK AND oObj.getCellByPosition(0, 1).String = ""
+ bOK = bOK AND oObj.getCellByPosition(1, 1).String = ""
+
+ bOK = bOK AND oObj.getCellByPosition(3, 3).Value = 0
+ bOK = bOK AND oObj.getCellByPosition(3, 4).Value = 6
+ bOK = bOK AND oObj.getCellByPosition(4, 3).Value = 1
+ bOK = bOK AND oObj.getCellByPosition(4, 4).String = ""
+
+ Test.MethodTested("moveRange()", bOK)
+
+ Test.StartMethod("copyRange()")
+ bOK = true
+ newCellAddress.Sheet = 0
+ newCellAddress.StartColumn = 2
+ newCellAddress.StartRow = 2
+ newCellAddress.EndColumn = 3
+ newCellAddress.EndRow = 3
+ sCell.Sheet = 0
+ sCell.Column = 0
+ sCell.Row = 0
+
+ oObj.copyRange(sCell, newCellAddress)
+
+ bOK = bOK AND oObj.getCellByPosition(0, 0).Value = oObj.getCellByPosition(2, 2).Value
+ bOK = bOK AND oObj.getCellByPosition(0, 1).Value = oObj.getCellByPosition(2, 3).Value
+ bOK = bOK AND oObj.getCellByPosition(1, 0).Value = oObj.getCellByPosition(3, 2).Value
+ bOK = bOK AND oObj.getCellByPosition(1, 1).Value = oObj.getCellByPosition(3, 3).Value
+
+ Test.MethodTested("copyRange()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/script.xlb
new file mode 100644
index 000000000000..579888e295a3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XCellRangeReferrer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XCellRangeReferrer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/sheet_XCellRangeReferrer.xba b/qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/sheet_XCellRangeReferrer.xba
new file mode 100644
index 000000000000..7a41e77309c5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellRangeReferrer/sheet_XCellRangeReferrer.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XCellRangeReferrer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oReferredCells As New com.sun.star.table.CellRangeAddress
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XCellRangeReferrer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim refCells As Object
+
+ Test.StartMethod("getReferredCells()")
+ bOK = true
+ refCells = oObj.ReferredCells.getRangeAddress()
+ bOK = NOT isNULL(refCells)
+ bOK = bOK AND refCells.Sheet = oReferredCells.Sheet
+ bOK = bOK AND refCells.StartRow = oReferredCells.StartRow
+ bOK = bOK AND refCells.EndRow = oReferredCells.EndRow
+ bOK = bOK AND refCells.StartColumn = oReferredCells.StartColumn
+ bOK = bOK AND refCells.EndColumn = oReferredCells.EndColumn
+
+ if NOT(bOK) then
+ Out.Log("Global oReferredCells var is: (" &amp; oReferredCells.Sheet &amp; "," _
+ &amp; oReferredCells.StartRow &amp; "," _
+ &amp; oReferredCells.StartColumn &amp; "," _
+ &amp; oReferredCells.EndRow &amp; "," _
+ &amp; oReferredCells.EndColumn &amp; ")")
+ Out.Log("Local var is: (" &amp; refCells.Sheet &amp; "," _
+ &amp; refCells.StartRow &amp; "," _
+ &amp; refCells.StartColumn &amp; "," _
+ &amp; refCells.EndRow &amp; "," _
+ &amp; refCells.EndColumn &amp; ")")
+ end if
+ Test.MethodTested("getReferredCells()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellSeries/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XCellSeries/script.xlb
new file mode 100644
index 000000000000..b75c980df466
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellSeries/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XCellSeries" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="sheet_XCellSeries"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XCellSeries/sheet_XCellSeries.xba b/qadevOOo/tests/basic/ifc/sheet/XCellSeries/sheet_XCellSeries.xba
new file mode 100644
index 000000000000..7005d9886b6f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XCellSeries/sheet_XCellSeries.xba
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XCellSeries" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global aCellSeries(1) As Integer
+' aCellSeries(0) = amount of rows of range
+' aCellSeries(1) = amount of columns of range
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XCellSeries
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim startValue as Integer
+ Dim nStep as Integer
+ Dim shouldValue as Integer
+ Dim filledValue as Integer
+ Dim endCell(2) as Integer
+ Dim n as Integer, m as Integer
+
+ startValue = 5
+ nStep = 2
+
+ ' if 'nStep' is not a divisor of 'aCellSeries' it must be calculated
+ ' the last filled cell
+ for n = 0 to 1
+ if (aCellSeries(n) mod nStep) &lt;&gt; 0 then
+ endCell(n) = aCellSeries(n) - (nStep-1)
+ else
+ endCell(n) = aCellSeries(n)
+ end if
+ next n
+ 'make clean cells
+ for n = 0 to endCell(0)
+ for m = 0 to endCell(1)
+ oObj.getCellByPosition(n,m).setString("")
+ next
+ next
+ 'set defined start value
+ oObj.getCellByPosition(0,0).setValue(startValue)
+ Test.StartMethod("fillAuto()")
+ bOK = TRUE
+ oObj.fillAuto(com.sun.star.sheet.FillDirection.TO_BOTTOM, nStep)
+ shouldValue = endCell(0) / nStep + startValue
+ filledValue = oObj.getCellByPosition(0,endCell(0)).getValue()
+ bOK = bOK AND ( shouldValue = filledValue )
+ out.log("" + shouldValue + ":" + filledValue)
+ Test.MethodTested("fillAuto()", bOK)
+
+
+ Test.StartMethod("fillSeries()")
+ bOK = TRUE
+ out.log("fillSeries() 1/3")
+ oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_BOTTOM, _
+ com.sun.star.sheet.FillMode.LINEAR, _
+ com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, nStep, 20000000)
+ shouldValue = endCell(0) * nStep + startValue
+ filledValue = oObj.getCellByPosition(0,endCell(0)).getValue()
+ bOK = bOK and (shouldValue = filledValue)
+
+ out.log("fillSeries() 2/3")
+ oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_RIGHT, _
+ com.sun.star.sheet.FillMode.LINEAR, _
+ com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, nStep, 20000000)
+ shouldValue = endCell(1) * nStep + startValue
+ filledValue = oObj.getCellByPosition(endCell(1),0).getValue()
+ bOK = bOK and (shouldValue = filledValue)
+
+
+ out.log("fillSeries() 3/3")
+ oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_BOTTOM, _
+ com.sun.star.sheet.FillMode.GROWTH, _
+ com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, nStep, 20000000)
+ shouldValue = startValue * nStep ^ endCell(0)
+ filledValue = oObj.getCellByPosition(0,endCell(0)).getValue()
+ bOK = bOK and (shouldValue = filledValue)
+
+ Test.MethodTested("fillSeries()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/script.xlb
new file mode 100644
index 000000000000..c5f0520146ca
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XConsolidationDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XConsolidationDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/sheet_XConsolidationDescriptor.xba b/qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/sheet_XConsolidationDescriptor.xba
new file mode 100644
index 000000000000..426050dedc32
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XConsolidationDescriptor/sheet_XConsolidationDescriptor.xba
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XConsolidationDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XConsolidationDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim mStartPos, objpos As Variant
+ Dim bUseCols, bUseRows, bUsed, bLinks As Boolean
+ Dim src(0) As New com.sun.star.table.CellRangeAddress
+ Dim outpos As New com.sun.star.table.CellAddress
+ Dim objSrc() As Variant
+
+ Test.StartMethod("getFunction()")
+ bOK = true
+ bOK = bOK AND NOT IsNULL(oObj.Function)
+ Test.MethodTested("getFunction()", bOK)
+
+ Test.StartMethod("getSources()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getSources())
+ Test.MethodTested("getSources()", bOK)
+
+ Test.StartMethod("getStartOutputPosition()")
+ bOK = true
+ mStartPos = oObj.getStartOutputPosition()
+ bOK = mStartPos.Row &gt;= 0 ' Checking that returned type is correct
+ ' (if Object has such field)
+ Test.MethodTested("getStartOutputPosition()", bOK)
+
+ Test.StartMethod("getUseRowHeaders()")
+ Test.StartMethod("setUseRowHeaders()")
+ bOK = true
+ bUsed = oObj.getUseRowHeaders
+ oObj.setUseRowHeaders(NOT bUsed)
+ bOK = bOK AND (oObj.getUseRowHeaders &lt;&gt; bUsed)
+ Test.MethodTested("getUseRowHeaders()", bOK)
+ Test.MethodTested("setUseRowHeaders()", bOK)
+
+ Test.StartMethod("setFunction()")
+ bOK = true
+ oObj.setFunction(com.sun.star.sheet.GeneralFunction.MAX)
+ bOK = bOK AND (oObj.getFunction = com.sun.star.sheet.GeneralFunction.MAX)
+ Test.MethodTested("setFunction()", bOK)
+
+ Test.StartMethod("getInsertLinks()")
+ Test.StartMethod("setInsertLinks()")
+ bOK = true
+ bLinks = oObj.getInsertLinks
+ oObj.setInsertLinks(NOT bLinks)
+ bOK = bOK AND (oObj.getInsertLinks &lt;&gt; bLinks)
+ Test.MethodTested("getInsertLinks()", bOK)
+ Test.MethodTested("setInsertLinks()", bOK)
+
+ Test.StartMethod("setSources()")
+ bOK = true
+ src(0).Sheet = 0
+ src(0).StartRow = 5
+ src(0).StartColumn = 5
+ src(0).EndRow = 10
+ src(0).EndColumn = 10
+ oObj.setSources(src())
+ objSrc() = oObj.getSources
+ bOK = bOK AND ((objSrc(0).Sheet = src(0).Sheet) AND _
+ (objSrc(0).StartRow = src(0).StartRow) AND _
+ (objSrc(0).EndRow = src(0).EndRow) AND _
+ (objSrc(0).StartColumn = src(0).StartColumn) AND _
+ (objSrc(0).EndColumn = src(0).EndColumn))
+ Test.MethodTested("setSources()", bOK)
+
+ Test.StartMethod("setStartOutputPosition()")
+ bOK = true
+ outpos.Sheet = 0
+ outpos.Row = 2
+ outpos.Column = 2
+ oObj.setStartOutputPosition(outpos)
+ objpos = oObj.getStartOutputPosition
+ bOK = bOK AND ((objpos(0).Sheet = outpos(0).Sheet) AND _
+ (objpos(0).Row = outpos(0).Row) AND _
+ (objpos(0).Column = outpos(0).Column))
+ Test.MethodTested("setStartOutputPosition()", bOK)
+
+ Test.StartMethod("getUseColumnHeaders()")
+ bOK = true
+ bUseCols = oObj.getUseColumnHeaders()
+ oObj.setUseColumnHeaders(NOT bUseCols)
+ bOK = bOK AND (oObj.getUseColumnHeaders() &lt;&gt; bUseCols)
+ Test.MethodTested("getUseColumnHeaders()", bOK)
+
+ Test.StartMethod("setUseColumnHeaders()")
+ bOK = true
+ bUseRows = oObj.getUseRowHeaders
+ oObj.setUseRowHeaders(NOT bUseRows)
+ bOK = bOK AND (oObj.getUseRowHeaders &lt;&gt; bUseRows)
+ Test.MethodTested("setUseColumnHeaders()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDDELink/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XDDELink/script.xlb
new file mode 100644
index 000000000000..b045e20e2e69
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDDELink/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XDDELink" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XDDELink"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDDELink/sheet_XDDELink.xba b/qadevOOo/tests/basic/ifc/sheet/XDDELink/sheet_XDDELink.xba
new file mode 100644
index 000000000000..9b0f8e94fa82
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDDELink/sheet_XDDELink.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XDDELink" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global DDETopic As String
+' - Global DDEApplication As String
+' - Global DDEItem As String
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XDDELink
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getApplication()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getApplication) AND (oObj.getApplication = DDEApplication)
+ Test.MethodTested("getApplication()", bOK)
+
+ Test.StartMethod("getTopic()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getTopic) AND (oObj.getTopic = DDETopic)
+ Test.MethodTested("getTopic()", bOK)
+
+ Test.StartMethod("getItem()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getItem) AND (oObj.getItem = DDEItem)
+ Test.MethodTested("getItem()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/script.xlb
new file mode 100644
index 000000000000..303178ad2b29
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XDataPilotDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XDataPilotDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/sheet_XDataPilotDescriptor.xba b/qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/sheet_XDataPilotDescriptor.xba
new file mode 100644
index 000000000000..97fecf3af2e4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotDescriptor/sheet_XDataPilotDescriptor.xba
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XDataPilotDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XDataPilotDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK, bOK1 As Boolean
+ Dim Tag, oldTag As String
+ Dim oldRange, newRange, FD As Object
+ Dim Range As New com.sun.star.table.CellRangeAddress
+ Dim Fields() As Object
+
+ Test.StartMethod("getTag()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getTag())
+ Test.MethodTested("getTag()", bOK)
+
+ Test.StartMethod("setTag()")
+ bOK = true
+ Tag = cIfcShortName
+ oldTag = oObj.getTag()
+ oObj.SetTag(Tag)
+ bOK = bOK AND (oldTag &lt;&gt; oObj.getTag())
+ oObj.setTag(oldTag)
+ Test.MethodTested("setTag()", bOK)
+
+ Test.StartMethod("getSourceRange()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getSourceRange())
+ Test.MethodTested("getSourceRange()", bOK)
+
+ Test.StartMethod("setSourceRange()")
+ bOK = true
+ Range.Sheet = 0
+ Range.StartColumn = 1
+ Range.StartRow = 1
+ Range.EndColumn = 4
+ Range.EndRow = 4
+
+ oldRange = oObj.getSourceRange
+ oObj.setSourceRange(Range)
+ newRange = oObj.getSourceRange
+ bOK1 = false
+ bOK1 = bOK1 OR newRange.Sheet &lt;&gt; oldRange.Sheet
+ bOK1 = bOK1 OR newRange.StartColumn &lt;&gt; oldRange.StartColumn
+ bOK1 = bOK1 OR newRange.EndColumn &lt;&gt; oldRange.EndColumn
+ bOK1 = bOK1 OR newRange.StartRow &lt;&gt; oldRange.StartRow
+ bOK1 = bOK1 OR newRange.EndRow &lt;&gt; oldRange.EndRow
+ bOK = bOK AND bOK1
+
+ oObj.setSourceRange(oldRange)
+ Test.MethodTested("setSourceRange()", bOK)
+
+ Test.StartMethod("getFilterDescriptor()")
+ bOK = true
+ FD = oObj.getFilterDescriptor
+ bOK = (NOT isNULL(FD)) AND (ubound(FD.getFilterFields) &gt; 0)
+ Test.MethodTested("getFilterDescriptor()", bOK)
+
+ Test.StartMethod("getDataPilotFields()")
+ bOK = true
+ Fields = oObj.getDataPilotFields
+ bOK = NOT isNULL(Fields)
+ Test.MethodTested("getDataPilotFields()", bOK)
+
+ Test.StartMethod("getColumnFields()")
+ bOK = true
+ Fields = oObj.getColumnFields
+ bOK = NOT isNULL(Fields)
+ Test.MethodTested("getColumnFields()", bOK)
+
+ Test.StartMethod("getRowFields()")
+ bOK = true
+ Fields = oObj.getRowFields
+ bOK = NOT isNULL(Fields)
+ Test.MethodTested("getRowFields()", bOK)
+
+ Test.StartMethod("getPageFields()")
+ bOK = true
+ Fields = oObj.getPageFields()
+ bOK = NOT isNULL(Fields)
+ Test.MethodTested("getPageFields()", bOK)
+
+ Test.StartMethod("getDataFields()")
+ bOK = true
+ Fields = oObj.getDataFields
+ bOK = bOK AND NOT isNULL(Fields)
+ Test.MethodTested("getDataFields()", bOK)
+
+ Test.StartMethod("getHiddenFields()")
+ bOK = true
+ Fields = oObj.getHiddenFields()
+ bOK = NOT isNULL(Fields)
+ Test.MethodTested("getHiddenFields()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/script.xlb
new file mode 100644
index 000000000000..5edf552cd579
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XDataPilotTable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XDataPilotTable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/sheet_XDataPilotTable.xba b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/sheet_XDataPilotTable.xba
new file mode 100644
index 000000000000..e2d7d1c517eb
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTable/sheet_XDataPilotTable.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XDataPilotTable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oOutputRange As New com.sun.star.table.CellAddress
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XDataPilotTable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim Range, oSheet As Object
+ Dim oldData, newData, CellRow, CellCol As Integer
+
+ Test.StartMethod("getOutputRange()")
+ bOK = true
+ Range = oObj.getOutputRange()
+ bOK = bOK AND NOT isNULL(Range)
+ if (bOK) then
+ bOK = bOK AND Range.Sheet = oOutputRange.Sheet
+ bOK = bOK AND Range.StartRow = oOutputRange.Row
+ bOK = bOK AND Range.StartColumn = oOutputRange.Column
+ end if
+ Test.MethodTested("getOutputRange()", bOK)
+
+ Test.StartMethod("refresh()")
+ bOK = true
+ CellRow = oObj.getSourceRange.EndRow
+ CellCol = oObj.getSourceRange.EndColumn
+ oSheet = oDoc.Sheets.getByIndex(0)
+ oSheet.getCellByPosition(CellCol, CellRow).Value = 5
+ oldData = oSheet.getCellByPosition(oOutputRange.Column, oOutputRange.Row+3).Value
+ oObj.refresh()
+ newData = oSheet.getCellByPosition(oOutputRange.Column, oOutputRange.Row+3).Value
+ bOK = bOK AND (oldData &lt;&gt; newData)
+ Test.MethodTested("refresh()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/script.xlb
new file mode 100644
index 000000000000..2e5439e882be
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XDataPilotTables" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XDataPilotTables"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/sheet_XDataPilotTables.xba b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/sheet_XDataPilotTables.xba
new file mode 100644
index 000000000000..fb343083c4fe
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTables/sheet_XDataPilotTables.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XDataPilotTables" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XDataPilotTables
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim DSC As Object
+ Dim DSCcreated As Boolean
+ Dim count As Long
+
+ Test.StartMethod("createDataPilotDescriptor()")
+ bOK = true
+ DSC = oObj.createDataPilotDescriptor()
+ bOK = bOK AND not isNull(DSC)
+ DSCcreated = bOK
+ Test.MethodTested("createDataPilotDescriptor()", bOK)
+
+ Test.StartMethod("insertNewByName()")
+ bOK = true
+ if (DSCcreated) then
+ count = oObj.Count
+ Dim Address As New com.sun.star.table.CellAddress
+ Address.Sheet = 0
+ Address.Column = 10
+ Address.Row = 10
+ oObj.insertNewByName(cIfcShortName &amp; "insertNewByName", Address, DSC)
+ bOK = bOK AND oObj.Count = count + 1
+ end if
+ Test.MethodTested("insertNewByName()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ if (DSCcreated) then
+ count = oObj.Count
+ oObj.removeByName(cIfcShortName &amp; "insertNewByName")
+ bOK = oObj.Count = count - 1
+ end if
+ Test.MethodTested("removeByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/script.xlb
new file mode 100644
index 000000000000..9bc02996a2a8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XDataPilotTablesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XDataPilotTablesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/sheet_XDataPilotTablesSupplier.xba b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/sheet_XDataPilotTablesSupplier.xba
new file mode 100644
index 000000000000..fd7bb7476312
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDataPilotTablesSupplier/sheet_XDataPilotTablesSupplier.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XDataPilotTablesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XDataPilotTablesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getDataPilotTables()")
+ bOK = true
+ oDPT = oObj.getDataPilotTables()
+ bOK = bOK AND hasUnoInterfaces(oDPT, "com.sun.star.sheet.XDataPilotTables")
+ Test.MethodTested("getDataPilotTables()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/script.xlb
new file mode 100644
index 000000000000..0211247cd414
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XDatabaseRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XDatabaseRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/sheet_XDatabaseRange.xba b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/sheet_XDatabaseRange.xba
new file mode 100644
index 000000000000..be1d5b906306
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRange/sheet_XDatabaseRange.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XDatabaseRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XDatabaseRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldDA, oSD, oFD, oID, oSTD As Object
+ Dim newDA As New com.sun.star.table.CellRangeAddress
+
+ Test.StartMethod("getDataArea()")
+ Test.StartMethod("setDataArea()")
+ bOK = true
+ oldDA = oObj.getDataArea()
+ newDA.Sheet = 0
+ newDA.StartColumn = 5
+ newDA.StartRow = 6
+ newDA.EndColumn = 10
+ newDA.EndRow = 8
+ oObj.setDataArea(newDA)
+ bOK = bOK AND oObj.getDataArea().Sheet = newDA.Sheet
+ bOK = bOK AND oObj.getDataArea().StartColumn = newDA.StartColumn
+ bOK = bOK AND oObj.getDataArea().StartRow = newDA.StartRow
+ bOK = bOK AND oObj.getDataArea().EndColumn = newDA.EndColumn
+ bOK = bOK AND oObj.getDataArea().EndRow = newDA.EndRow
+ oObj.setDataArea(oldDA)
+ Test.MethodTested("getDataArea()", bOK)
+ Test.MethodTested("setDataArea()", bOK)
+
+ Test.StartMethod("getSortDescriptor()")
+ bOK = true
+ oSD = oObj.getSortDescriptor()
+ bOK = bOK AND isArray(oSD)
+ Test.MethodTested("getSortDescriptor()", bOK)
+
+ Test.StartMethod("getFilterDescriptor()")
+ bOK = true
+ oFD = oObj.getFilterDescriptor()
+ bOK = bOK AND hasUnoInterfaces(oFD, "com.sun.star.sheet.XSheetFilterDescriptor")
+ Test.MethodTested("getFilterDescriptor()", bOK)
+
+ Test.StartMethod("getSubTotalDescriptor()")
+ bOK = true
+ oSTD = oObj.getSubTotalDescriptor()
+ bOK = bOK AND hasUnoInterfaces(oSTD, "com.sun.star.sheet.XSubTotalDescriptor")
+ Test.MethodTested("getSubTotalDescriptor()", bOK)
+
+ Test.StartMethod("getImportDescriptor()")
+ bOK = true
+ oID = oObj.getImportDescriptor()
+ bOK = bOK AND isArray(oID)
+ Test.MethodTested("getImportDescriptor()", bOK)
+
+ Test.StartMethod("refresh()")
+ bOK = true
+ oObj.refresh()
+ Test.MethodTested("refresh()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/script.xlb
new file mode 100644
index 000000000000..19f153f7d2f3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XDatabaseRanges" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XDatabaseRanges"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/sheet_XDatabaseRanges.xba b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/sheet_XDatabaseRanges.xba
new file mode 100644
index 000000000000..c3d645b8f486
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XDatabaseRanges/sheet_XDatabaseRanges.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XDatabaseRanges" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XDatabaseRanges
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCount As Integer
+ Dim aRange As New com.sun.star.table.CellRangeAddress
+
+ Test.StartMethod("addNewByName()")
+ bOK = true
+ nCount = oObj.Count
+ aRange.Sheet = 0
+ aRange.StartRow = 3
+ aRange.StartColumn = 4
+ aRange.EndRow = 10
+ aRange.EndColumn = 7
+ oObj.addNewByName(cIfcShortName, aRange)
+ bOK = bOK AND oObj.Count = nCount + 1
+ Test.MethodTested("addNewByName()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ oObj.removeByName(cIfcShortName)
+ bOK = bOK AND oObj.Count = nCount
+ Test.MethodTested("removeByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/script.xlb
new file mode 100644
index 000000000000..62b8a0e946bc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XFunctionDescriptions" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XFunctionDescriptions"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/sheet_XFunctionDescriptions.xba b/qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/sheet_XFunctionDescriptions.xba
new file mode 100644
index 000000000000..3499cf8146ef
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XFunctionDescriptions/sheet_XFunctionDescriptions.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XFunctionDescriptions" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XFunctionDescriptions
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim fId,count As Long
+ Dim fName As String
+ Dim funct As Object
+ Dim i,j As Long
+
+ Test.StartMethod("getById()")
+ bOK = true
+ count = oObj.count
+ Dim retfunct() As Variant
+ for i = 0 to count - 1
+ funct = oObj.getByIndex(i)
+ for j = 0 to ubound(funct)
+ if funct(j).Name = "Name" then fName = funct(j).Value
+ if funct(j).Name = "Id" then fId = funct(j).Value
+ next j
+ Out.Log("Function " &amp; i &amp; ") " &amp; fName &amp; " has Id = " &amp; fId)
+ retfunct = oObj.getById(fId)
+ for j = 0 to ubound(retfunct)
+ if retfunct(j).Name = "Name" then bOK = bOK AND retfunct(j).Value = fName
+ next j
+ next i
+ Test.MethodTested("getById()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/script.xlb
new file mode 100644
index 000000000000..f1b385ebbd9b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XHeaderFooterContent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XHeaderFooterContent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/sheet_XHeaderFooterContent.xba b/qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/sheet_XHeaderFooterContent.xba
new file mode 100644
index 000000000000..e280923d62b0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XHeaderFooterContent/sheet_XHeaderFooterContent.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XHeaderFooterContent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cLeftText As String
+' - Global cCenterText As String
+' - Global cRightText As String
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XHeaderFooterContent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oText As Object
+
+ Test.StartMethod("getLeftText()")
+ bOK = true
+ oText = oObj.getLeftText()
+ bOK = bOK AND hasUnoInterfaces(oText, "com.sun.star.text.XText")
+ Out.Log("Text is '" &amp; oText.String &amp; "'")
+ bOK = bOK AND oText.String = cLeftText
+ Test.MethodTested("getLeftText()", bOK)
+
+ Test.StartMethod("getCenterText()")
+ bOK = true
+ oText = oObj.getCenterText()
+ bOK = bOK AND hasUnoInterfaces(oText, "com.sun.star.text.XText")
+ Out.Log("Text is '" &amp; oText.String &amp; "'")
+ bOK = bOK AND oText.String = cCenterText
+ Test.MethodTested("getCenterText()", bOK)
+
+ Test.StartMethod("getRightText()")
+ bOK = true
+ oText = oObj.getRightText()
+ bOK = bOK AND hasUnoInterfaces(oText, "com.sun.star.text.XText")
+ Out.Log("Text is '" &amp; oText.String &amp; "'")
+ bOK = bOK AND oText.String = cRightText
+ Test.MethodTested("getRightText()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XLabelRange/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XLabelRange/script.xlb
new file mode 100644
index 000000000000..8c8d2b1bc8b5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XLabelRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XLabelRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XLabelRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XLabelRange/sheet_XLabelRange.xba b/qadevOOo/tests/basic/ifc/sheet/XLabelRange/sheet_XLabelRange.xba
new file mode 100644
index 000000000000..312cc52aef76
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XLabelRange/sheet_XLabelRange.xba
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XLabelRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XLabelRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK, bAllOK As Boolean
+ Dim oldArea, newArea As Object
+ Dim Area As New com.sun.star.table.CellRangeAddress
+
+ Test.StartMethod("getLabelArea()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getLabelArea())
+ Test.MethodTested("getLabelArea()", bOK)
+
+ bAllOK = bAllOK AND bOK
+
+ Test.StartMethod("setLabelArea()")
+ bOK = true
+
+ Area.Sheet = 0
+ Area.StartColumn = 1
+ Area.StartRow = 1
+ Area.EndColumn = 5
+ Area.EndRow = 5
+
+ oldArea = oObj.getLabelArea()
+ oObj.setLabelArea(Area)
+ newArea = oObj.getLabelArea()
+ bOK = bOK AND NOT isNULL(newArea)
+
+ bOK = bOK AND newArea.Sheet = Area.Sheet
+ bOK = bOK AND newArea.StartColumn = Area.StartColumn
+ bOK = bOK AND newArea.StartRow = Area.StartRow
+ bOK = bOK AND newArea.EndColumn = Area.EndColumn
+ bOK = bOK AND newArea.EndRow = Area.EndRow
+
+ oObj.setLabelArea(oldArea)
+ Test.MethodTested("setLabelArea()", bOK)
+
+ Test.StartMethod("getDataArea()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getDataArea())
+ Test.MethodTested("getDataArea()", bOK)
+
+ Test.StartMethod("setDataArea()")
+ bOK = true
+
+ Area.Sheet = 0
+ Area.StartColumn = 1
+ Area.StartRow = 1
+ Area.EndColumn = 5
+ Area.EndRow = 5
+
+ oldArea = oObj.getDataArea()
+ oObj.setDataArea(Area)
+ newArea = oObj.getDataArea()
+ bOK = bOK AND NOT isNULL(newArea)
+
+ bOK = bOK AND newArea.Sheet = Area.Sheet
+ bOK = bOK AND newArea.StartColumn = Area.StartColumn
+ bOK = bOK AND newArea.StartRow = Area.StartRow
+ bOK = bOK AND newArea.EndColumn = Area.EndColumn
+ bOK = bOK AND newArea.EndRow = Area.EndRow
+
+ oObj.setDataArea(oldArea)
+ Test.MethodTested("setDataArea()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XLabelRanges/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XLabelRanges/script.xlb
new file mode 100644
index 000000000000..d465b388bf8e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XLabelRanges/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XLabelRanges" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XLabelRanges"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XLabelRanges/sheet_XLabelRanges.xba b/qadevOOo/tests/basic/ifc/sheet/XLabelRanges/sheet_XLabelRanges.xba
new file mode 100644
index 000000000000..bd8b9b817ece
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XLabelRanges/sheet_XLabelRanges.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XLabelRanges" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XLabelRanges
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim count As Integer
+ Dim RangeAddress1 As New com.sun.star.table.CellRangeAddress
+ Dim RangeAddress2 As New com.sun.star.table.CellRangeAddress
+
+ Test.StartMethod("addNew()")
+ bOK = true
+
+ count = oObj.count
+ RangeAddress1.Sheet = 0
+ RangeAddress1.StartColumn = 2
+ RangeAddress1.StartRow = 3
+ RangeAddress1.EndColumn = 4
+ RangeAddress1.EndRow = 5
+
+ RangeAddress2.Sheet = 0
+ RangeAddress2.StartColumn = 6
+ RangeAddress2.StartRow = 7
+ RangeAddress2.EndColumn = 8
+ RangeAddress2.EndRow = 9
+ oObj.AddNew(RangeAddress1, RangeAddress2)
+
+ bOK = bOK AND count = oObj.count - 1
+ Test.MethodTested("addNew()", bOK)
+
+ Test.StartMethod("removeByIndex()")
+ bOK = true
+
+ count = oObj.count
+ oObj.removeByIndex(count - 1)
+
+ bOK = bOK AND (count = oObj.count + 1)
+ Test.MethodTested("removeByIndex()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XNamedRange/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XNamedRange/script.xlb
new file mode 100644
index 000000000000..85dfce8cddf2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XNamedRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XNamedRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XNamedRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XNamedRange/sheet_XNamedRange.xba b/qadevOOo/tests/basic/ifc/sheet/XNamedRange/sheet_XNamedRange.xba
new file mode 100644
index 000000000000..69ef24c93c5c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XNamedRange/sheet_XNamedRange.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XNamedRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XNamedRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldContent, newContent As String
+ Dim position, oldPosition As Object
+ Dim newPosition As New com.sun.star.table.CellAddress
+ Dim oldType, newType As Long
+
+ Test.StartMethod("getContent()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getContent())
+ Test.MethodTested("getContent()", bOK)
+
+ Test.StartMethod("setContent()")
+ bOK = true
+ oldContent = oObj.getContent
+ newContent = cIfcShortName
+ oObj.setContent(newContent)
+ bOK = bOK AND (oldContent &lt;&gt; oObj.getContent)
+ oObj.setContent(oldContent)
+ Test.MethodTested("setContent()", bOK)
+
+ Test.StartMethod("getReferencePosition()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getReferencePosition())
+ Test.MethodTested("getReferencePosition()", bOK)
+
+ Test.StartMethod("setReferencePosition()")
+ bOK = true
+ oldPosition = oObj.getReferencePosition()
+
+ newPosition.sheet = oldPosition.sheet
+ newPosition.row = oldPosition.row + 1
+ newPosition.column = oldPosition.column + 1
+ oObj.setReferencePosition(newPosition)
+ position = oObj.getReferencePosition()
+
+ bOK = bOK AND NOT isNULL(position)
+ bOK = bOK AND position.Row &lt;&gt; oldPosition.row
+ bOK = bOK AND position.Column &lt;&gt; oldPosition.Column
+
+ oObj.setReferencePosition(oldPosition)
+ Test.MethodTested("setReferencePosition()", bOK)
+
+ Test.StartMethod("getType()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getType)
+ Test.MethodTested("getType()", bOK)
+
+ Test.StartMethod("setType()")
+ bOK = true
+ oldType = oObj.getType()
+ newType = oldType XOR com.sun.star.sheet.NamedRangeFlag.PRINT_AREA
+ oObj.setType(newType)
+ bOK = bOK AND (oldType &lt;&gt; oObj.getType())
+ oObj.setType(oldType)
+ Test.MethodTested("setType()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XNamedRanges/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XNamedRanges/script.xlb
new file mode 100644
index 000000000000..fc871518b603
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XNamedRanges/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XNamedRanges" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XNamedRanges"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XNamedRanges/sheet_XNamedRanges.xba b/qadevOOo/tests/basic/ifc/sheet/XNamedRanges/sheet_XNamedRanges.xba
new file mode 100644
index 000000000000..e7da70d5be52
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XNamedRanges/sheet_XNamedRanges.xba
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XNamedRanges" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XNamedRanges
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim count As Integer
+ Dim outRange As New com.sun.star.table.CellAddress
+ Dim range As New com.sun.star.table.CellRangeAddress
+ Dim i As Integer
+
+ Test.StartMethod("addNewByName()")
+ bOK = true
+ outRange.Sheet = 0
+ outRange.Row = 1
+ outRange.Column = 1
+ count = oObj.Count
+ oObj.addNewByName(cIfcShortName, "T4:Y7", outRange, 0)
+ bOK = bOK AND oObj.count = count + 1
+ bOK = bOK AND oObj.hasByName(cIfcShortName)
+ Test.MethodTested("addNewByName()", bOK)
+
+ Test.StartMethod("addNewFromTitles()")
+ bOK = true
+ count = oObj.count
+
+ range.Sheet = 0
+ range.StartRow = 1
+ range.StartColumn = 2
+ range.EndRow = 3
+ range.EndColumn = 4
+
+ for i = 1 to 5
+ oDoc.Sheets(0).getCellByPosition(i, 1).String = "Col" &amp; i
+ next i
+
+ oObj.addNewFromTitles(range, com.sun.star.sheet.Border.TOP)
+
+ bOK = bOK AND (oObj.count = count + 3)
+
+ bOK = bOK AND NOT oObj.hasByName("Col1")
+ bOK = bOK AND oObj.hasByName("Col2")
+ bOK = bOK AND oObj.hasByName("Col3")
+ bOK = bOK AND oObj.hasByName("Col4")
+ bOK = bOK AND NOT oObj.hasByName("Col5")
+ Test.MethodTested("addNewFromTitles()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ count = oObj.Count
+ oObj.removeByName(cIfcShortName)
+ bOK = bOK AND (count = oObj.count + 1)
+ bOK = bOK AND NOT oObj.hasByName(cIfcShortName)
+ Test.MethodTested("removeByName()", bOK)
+
+ Test.StartMethod("outputList()")
+ bOK = true
+ outRange.Sheet = 0
+ outRange.Row = 5
+ outRange.Column = 5
+
+ count = oObj.count
+ for i = 4 to 5 + count
+ oDoc.Sheets(0).getCellByPosition(5, i).String = "a"
+ oDoc.Sheets(0).getCellByPosition(6, i).String = "b"
+ next i
+
+ oObj.outputList(outRange)
+
+ bOK = bOK AND oDoc.Sheets(0).getCellByPosition(5, 4).String = "a"
+ bOK = bOK AND oDoc.Sheets(0).getCellByPosition(6, 4).String = "b"
+ bOK = bOK AND oDoc.Sheets(0).getCellByPosition(5, 5 + count).String = "a"
+ bOK = bOK AND oDoc.Sheets(0).getCellByPosition(6, 5 + count).String = "b"
+
+ for i = 5 to 4 + count
+ bOK = bOK AND oDoc.Sheets(0).getCellByPosition(5, i).String &lt;&gt; "a"
+ bOK = bOK AND oDoc.Sheets(0).getCellByPosition(6, i).String &lt;&gt; "b"
+ bOK = bOK AND oObj.hasByName(oDoc.Sheets(0).getCellByPosition(5, i).String)
+ next i
+
+ Test.MethodTested("outputList()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/script.xlb
new file mode 100644
index 000000000000..3ae59e9d0b50
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XRecentFunctions" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XRecentFunctions"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/sheet_XRecentFunctions.xba b/qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/sheet_XRecentFunctions.xba
new file mode 100644
index 000000000000..dbc114a848e4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XRecentFunctions/sheet_XRecentFunctions.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XRecentFunctions" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global AllFunctions As Variant
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XRecentFunctions
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim recentFunctions As Variant
+ Dim i, j As Integer
+ Dim props As Variant
+
+
+ Test.StartMethod("getRecentFunctionIds()")
+ bOK = true
+ recentFunctions = oObj.getRecentFunctionIds()
+ bOK = bOK AND NOT isNULL(recentFunctions)
+ bOK = bOK AND ubound(recentFunctions) &lt;= oObj.getMaxRecentFunctions
+ for i = 0 to ubound(recentFunctions) - 1
+ for j = i + 1 to ubound(recentFunctions)
+ if recentFunctions(i) = recentFunctions(j) then bOK = false
+ next j
+ next i
+ Test.MethodTested("getRecentFunctionIds()", bOK)
+
+ Test.StartMethod("setRecentFunctionIds()")
+ bOK = true
+ Dim Max As Integer
+ Max = oObj.getMaxRecentFunctions
+ Dim newList(Max) As Integer
+
+ for i = 0 to ubound(newList())
+ props = AllFunctions.getByIndex(i)
+ for j = 0 to ubound(props())
+ if props(j).Name = "Id" then
+ newList(i) = props(j).Value
+ exit for
+ end if
+ next j
+ next i
+
+ oObj.setRecentFunctionIds(newList())
+ bOK = bOK AND (Max = oObj.getMaxRecentFunctions)
+ Test.MethodTested("setRecentFunctionIds()", bOK)
+
+ Test.StartMethod("getMaxRecentFunctions()")
+ bOK = true
+ Max = oObj.getMaxRecentFunctions
+ Out.Log("MaxRecentFunctions = " &amp; Max)
+ bOK = bOK AND Max &gt; 0
+ Test.MethodTested("getMaxRecentFunctions()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XScenarios/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XScenarios/script.xlb
new file mode 100644
index 000000000000..27edd15fbc85
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XScenarios/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XScenarios" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XScenarios"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XScenarios/sheet_XScenarios.xba b/qadevOOo/tests/basic/ifc/sheet/XScenarios/sheet_XScenarios.xba
new file mode 100644
index 000000000000..f700d2c2bf7c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XScenarios/sheet_XScenarios.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XScenarios" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XScenarios
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCount As Integer
+ Dim aCRA(1) As New com.sun.star.table.CellRangeAddress
+
+ aCRA(0).Sheet = 0 : aCRA(1).Sheet = 0
+ aCRA(0).StartColumn = 3 : aCRA(1).StartColumn = 13
+ aCRA(0).StartRow = 4 : aCRA(1).StartRow = 14
+ aCRA(0).EndColumn = 8 : aCRA(1).EndColumn = 18
+ aCRA(0).EndRow = 9 : aCRA(1).EndRow = 19
+
+ Test.StartMethod("addNewByName()")
+ bOK = true
+ nCount = oObj.getCount()
+ Out.Log("Initialy there are " &amp; nCount &amp; " scenarios.")
+ oObj.addNewByName("NewScenario", aCRA(), "New comment")
+ Out.Log("After inserting there are " &amp; oObj.getCount() &amp; " scenarios.")
+ bOK = bOK AND oObj.getCount() = nCount + 1
+ Test.MethodTested("addNewByName()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ oObj.removeByName("NewScenario")
+ Out.Log("After removing there are " &amp; oObj.getCount() &amp; " scenarios.")
+ bOK = bOK AND oObj.getCount() = nCount
+ Test.MethodTested("removeByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/script.xlb
new file mode 100644
index 000000000000..51fbaf29311e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XScenariosSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XScenariosSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/sheet_XScenariosSupplier.xba b/qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/sheet_XScenariosSupplier.xba
new file mode 100644
index 000000000000..678b06532a20
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XScenariosSupplier/sheet_XScenariosSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XScenariosSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XScenariosSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getScenarios()")
+ bOK = true
+ oScen = oObj.getScenarios()
+ bOK = bOK AND NOT isNULL(oScen)
+ bOK = bOK AND hasUnoInterfaces(oScen, "com.sun.star.sheet.XScenarios")
+ Test.MethodTested("getScenarios()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/script.xlb
new file mode 100644
index 000000000000..a00e77a3e5c5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetAnnotation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetAnnotation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/sheet_XSheetAnnotation.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/sheet_XSheetAnnotation.xba
new file mode 100644
index 000000000000..2278f4bb7d0d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotation/sheet_XSheetAnnotation.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetAnnotation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetAnnotation
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldVal, newVal, valToSet As Boolean
+ Dim vPos As Variant
+
+ Test.StartMethod("getAuthor()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getAuthor()) = 8)
+ Test.MethodTested("getAuthor()", bOK)
+
+ Test.StartMethod("getDate()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getDate()) = 8)
+ Test.MethodTested("getDate()", bOK)
+
+ Test.StartMethod("getIsVisible()")
+ Test.StartMethod("setIsVisible()")
+ bOK = true
+ oldVal = oObj.getIsVisible()
+ Out.Log("value before: " + oldVal)
+ if oldVal then
+ valToSet = false
+ else
+ valToSet = true
+ endif
+ Out.Log("setting value: " + valToSet)
+ oObj.setIsVisible(valToSet)
+ newVal = oObj.getIsVisible()
+ Out.Log("value after: " + newVal)
+ bOK = bOK AND (oObj.getIsVisible() = valToSet)
+ Test.MethodTested("getIsVisible()", bOK)
+ Test.MethodTested("setIsVisible()", bOK)
+
+ Test.StartMethod("getPosition()")
+ bOK = true
+ vPos = oObj.getPosition()
+ bOK = bOK AND isNumeric(vPos.Column)
+ Test.MethodTested("getPosition()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/script.xlb
new file mode 100644
index 000000000000..6625ff875cc8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetAnnotations" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetAnnotations"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/sheet_XSheetAnnotations.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/sheet_XSheetAnnotations.xba
new file mode 100644
index 000000000000..8c2a3a05eeec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotations/sheet_XSheetAnnotations.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetAnnotations" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetAnnotations
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aPos As New com.sun.star.table.CellAddress
+ Dim nCount As Integer
+
+ Test.StartMethod("insertNew()")
+ bOK = true
+ nCount = oObj.Count
+ aPos.Sheet = 1
+ aPos.Row = 2
+ aPos.Column = 3
+ oObj.insertNew(aPos, cIfcShortName)
+ bOK = bOK AND (oObj.Count = nCount + 1)
+ Test.MethodTested("insertNew()", bOK)
+
+ Test.StartMethod("removeByIndex()")
+ bOK = true
+ oObj.removeByIndex(0)
+ bOK = bOK AND (oObj.Count = nCount)
+ Test.MethodTested("removeByIndex()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/script.xlb
new file mode 100644
index 000000000000..405fe71bf16a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetAnnotationsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetAnnotationsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/sheet_XSheetAnnotationsSupplier.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/sheet_XSheetAnnotationsSupplier.xba
new file mode 100644
index 000000000000..226b12b238ec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetAnnotationsSupplier/sheet_XSheetAnnotationsSupplier.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetAnnotationsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetAnnotationsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getAnnotations()")
+ bOK = true
+ oAnno = oObj.getAnnotations()
+ bOK = bOK AND hasUnoInterfaces(oAnno, "com.sun.star.sheet.XSheetAnnotations")
+ Test.MethodTested("getAnnotations()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/script.xlb
new file mode 100644
index 000000000000..9d3c2f6875fd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetCellCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetCellCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/sheet_XSheetCellCursor.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/sheet_XSheetCellCursor.xba
new file mode 100644
index 000000000000..436e88fc983b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellCursor/sheet_XSheetCellCursor.xba
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetCellCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetCellCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCols As Integer, nRows As Long
+ Dim ResetCols As Integer, ResetRows As Long
+ Dim oRange As Variant
+
+ ResetCols = oObj.getColumns().getCount()
+ ResetRows = oObj.getRows().getCount()
+
+ Test.StartMethod("collapseToCurrentRegion()")
+ bOK = true
+ oObj.collapseToCurrentRegion()
+ nCols = oObj.getColumns().getCount()
+ nRows = oObj.getRows().getCount()
+ bOK = bOK AND (nCols &gt; 0) AND (nRows &gt; 0)
+ Out.Log("collapseToCurrentRegion(): nCols = " &amp; nCols &amp; "(&gt;0) nRows = " &amp; nRows &amp; "(&gt;0)")
+ Test.MethodTested("collapseToCurrentRegion()", bOK)
+
+ 'collapseToMergedArea goes into the area. But you must be insite
+ ' of one cell of these area
+ Test.StartMethod("collapseToMergedArea()")
+ bOK = true
+ oObj.collapseToSize(5,6)
+ oRange = oObj.getCellRangeByPosition(0,0,2,2)
+ oRange.merge(true)
+ oObj.gotoStart()
+ oObj.collapseToMergedArea()
+ nCols = oObj.getColumns().getCount()
+ nRows = oObj.getRows().getCount()
+ bOK = bOK AND (nCols = 3) AND (nRows = 3)
+ Out.Log("collapseToMergedArea(): nCols = " &amp; nCols &amp; "(3) nRows = " &amp; nRows &amp; "(3)")
+ Test.MethodTested("collapseToMergedArea()", bOK)
+ oRange.merge(false)
+
+
+ Test.StartMethod("collapseToSize()")
+ bOK = true
+ oObj.collapseToSize(5,6)
+ nCols = oObj.getColumns().getCount()
+ nRows = oObj.getRows().getCount()
+ bOK = bOK AND (nCols = 5 ) AND (nRows = 6)
+ Out.Log("collapseToSize(): nCols = " &amp; nCols &amp; "(5) nRows = " &amp; nRows &amp; "(6)")
+ Test.MethodTested("collapseToSize()", bOK)
+
+ Test.StartMethod("collapseToCurrentArray()")
+ oObj.collapseToSize(5,6)
+ oRange = oObj.getCellRangeByPosition(0,0,2,3)
+ oRange.setArrayFormula("A1:A3")
+ bOK = true
+ oObj.collapseToCurrentArray()
+ nCols = oObj.getColumns().getCount()
+ nRows = oObj.getRows().getCount()
+ bOK = bOK AND (nCols = 3) AND (nRows = 4)
+ Out.Log("collapseToCurrentArray(): nCols = " &amp; nCols &amp; "(3) nRows = " &amp; nRows &amp; "(4)")
+ Test.MethodTested("collapseToCurrentArray()", bOK)
+ oRange.setArrayFormula("")
+
+
+ Test.StartMethod("expandToEntireColumns()")
+ bOK = true
+ oObj.collapseToSize(1,1)
+ oObj.expandToEntireColumns()
+ nCols = oObj.getColumns().getCount()
+ nRows = oObj.getRows().getCount()
+ bOK = bOK AND (nCols = 1) AND (nRows &gt;= 32000)
+ Out.Log("expandToEntireColumns(): nCols = " &amp; nCols &amp; "(1) nRows = " &amp; nRows &amp; "(&gt;=32000)")
+ Test.MethodTested("expandToEntireColumns()", bOK)
+
+ Test.StartMethod("expandToEntireRows()")
+ bOK = true
+ oObj.collapseToSize(1,1)
+ oObj.expandToEntireRows()
+ nCols = oObj.getColumns().getCount()
+ nRows = oObj.getRows().getCount()
+ bOK = bOK AND (nCols &gt;= 256) AND (nRows = 1)
+ Out.Log("expandToEntireRows(): nCols = " &amp; nCols &amp; "(&gt;=256) nRows = " &amp; nRows &amp; "(1)")
+ Test.MethodTested("expandToEntireRows()", bOK)
+
+
+ Out.Log("Reset to old range: " &amp; ResetCols &amp; "," &amp; ResetRows)
+ oObj.collapseToSize(ResetCols, ResetRows)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/script.xlb
new file mode 100644
index 000000000000..c161cc4a0128
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetCellRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetCellRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/sheet_XSheetCellRange.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/sheet_XSheetCellRange.xba
new file mode 100644
index 000000000000..abfb9155ad5b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRange/sheet_XSheetCellRange.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetCellRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetCellRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet As Object
+
+ Test.StartMethod("getSpreadsheet()")
+ bOK = true
+ oSheet = oObj.getSpreadsheet()
+ bOK = bOK AND hasUnoInterfaces(oSheet, "com.sun.star.sheet.XSpreadsheet")
+ Test.MethodTested("getSpreadsheet()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/script.xlb
new file mode 100644
index 000000000000..77b18f7f6f93
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetCellRangeContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetCellRangeContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/sheet_XSheetCellRangeContainer.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/sheet_XSheetCellRangeContainer.xba
new file mode 100644
index 000000000000..18def92467cd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRangeContainer/sheet_XSheetCellRangeContainer.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetCellRangeContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetCellRangeContainer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim newAddress As New com.sun.star.table.CellRangeAddress
+ Dim newAddress1 As New com.sun.star.table.CellRangeAddress
+ Dim newAddresses(1) As Variant
+ Dim nCount As Integer
+
+ Test.StartMethod("addRangeAddress()")
+ Test.StartMethod("removeRangeAddress()")
+ bOK = true
+ nCount = oObj.getCount()
+ newAddress.Sheet = 0
+ newAddress.StartColumn = 15 : newAddress.EndColumn = 18
+ newAddress.StartRow = 15 : newAddress.EndRow = 16
+ oObj.addRangeAddress(newAddress, false)
+ bOK = bOK AND oObj.getCount() = nCount + 1
+ oObj.removeRangeAddress(newAddress)
+ bOK = bOK AND oObj.getCount() = nCount
+ Test.MethodTested("addRangeAddress()", bOK)
+ Test.MethodTested("removeRangeAddress()", bOK)
+
+
+ Test.StartMethod("addRangeAddresses()")
+ Test.StartMethod("removeRangeAddresses()")
+ bOK = true
+ newAddress1.Sheet = 0
+ newAddress1.StartColumn = 20 : newAddress1.EndColumn = 30
+ newAddress1.StartRow = 20 : newAddress1.EndRow = 20
+ newAddresses(0) = newAddress
+ newAddresses(1) = newAddress1
+ oObj.addRangeAddresses(newAddresses(), false)
+ bOK = bOK AND oObj.getCount() = nCount + 2
+ oObj.removeRangeAddresses(newAddresses())
+ bOK = bOK AND oObj.getCount() = nCount
+ Test.MethodTested("removeRangeAddresses()", bOK)
+ Test.MethodTested("addRangeAddresses()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/script.xlb
new file mode 100644
index 000000000000..46814879c917
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetCellRanges" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetCellRanges"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/sheet_XSheetCellRanges.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/sheet_XSheetCellRanges.xba
new file mode 100644
index 000000000000..2f1b076933ed
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCellRanges/sheet_XSheetCellRanges.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetCellRanges" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetCellRanges
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCells, oRanges As Variant
+ Dim cRanges As String
+
+ Test.StartMethod("getCells()")
+ bOK = true
+ oCells = oObj.getCells()
+ bOK = bOK AND hasUnoInterfaces(oCells, "com.sun.star.container.XEnumerationAccess")
+ Test.MethodTested("getCells()", bOK)
+
+ Test.StartMethod("getRangeAddressesAsString()")
+ bOK = true
+ cRanges = oObj.getRangeAddressesAsString()
+ Out.Log("Returned ranges are : '" &amp; cRanges &amp; "'")
+ bOK = bOK AND inStr(1, cRanges, "Sheet")
+ Test.MethodTested("getRangeAddressesAsString()", bOK)
+
+ Test.StartMethod("getRangeAddresses()")
+ bOK = true
+ oRanges = oObj.getRangeAddresses()
+ bOK = bOK AND (oRanges(ubound(oRanges)).StartColumn &lt;&gt; 0 OR _
+ oRanges(ubound(oRanges)).StartRow &lt;&gt; 0 OR _
+ oRanges(ubound(oRanges)).EndRow &lt;&gt; 0 OR _
+ oRanges(ubound(oRanges)).EndColumn &lt;&gt; 0 OR _
+ oRanges(ubound(oRanges)).Sheet &lt;&gt; 0)
+ Test.MethodTested("getRangeAddresses()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCondition/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetCondition/script.xlb
new file mode 100644
index 000000000000..9d983d5cf384
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCondition/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetCondition" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetCondition"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetCondition/sheet_XSheetCondition.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetCondition/sheet_XSheetCondition.xba
new file mode 100644
index 000000000000..9215c1e80c1e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetCondition/sheet_XSheetCondition.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetCondition" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetCondition
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldOperator As Variant
+ Dim oldFormula As String
+ Dim oPos As com.sun.star.table.CellAddress
+ Dim newPos As New com.sun.star.table.CellAddress
+
+ Test.StartMethod("setOperator()")
+ Test.StartMethod("getOperator()")
+ bOK = true
+ oldOperator = oObj.getOperator()
+ oObj.setOperator(com.sun.star.sheet.ConditionOperator.LESS)
+ bOK = bOK AND oObj.getOperator() &lt;&gt; oldOperator
+ oObj.setOperator(oldOperator)
+ Test.MethodTested("getOperator()", bOK)
+ Test.MethodTested("setOperator()", bOK)
+
+ Test.StartMethod("getFormula1()")
+ Test.StartMethod("setFormula1()")
+ bOK = true
+ oldFormula = oObj.getFormula1()
+ oObj.setFormula1("1")
+ bOK = bOK AND oObj.getFormula1() = "1"
+ oObj.setFormula1(oldFormula)
+ Test.MethodTested("getFormula1()", bOK)
+ Test.MethodTested("setFormula1()", bOK)
+
+ Test.StartMethod("getFormula2()")
+ Test.StartMethod("setFormula2()")
+ bOK = true
+ oldFormula = oObj.getFormula2()
+ oObj.setFormula2("2")
+ bOK = bOK AND oObj.getFormula2() = "2"
+ oObj.setFormula2(oldFormula)
+ Test.MethodTested("getFormula2()", bOK)
+ Test.MethodTested("setFormula2()", bOK)
+
+ Test.StartMethod("getSourcePosition()")
+ Test.StartMethod("setSourcePosition()")
+ bOK = true
+ oPos = oObj.getSourcePosition()
+ bOK = bOK AND oPos.Column &gt;= 0
+ newPos.Sheet = oPos.Sheet
+ newPos.Column = oPos.Column + 1
+ newPos.Row = oPos.Row + 1
+ oObj.setSourcePosition(newPos)
+ bOK = bOK AND oObj.getSourcePosition().Column = oPos.Column + 1
+ Test.MethodTested("getSourcePosition()", bOK)
+ Test.MethodTested("setSourcePosition()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/script.xlb
new file mode 100644
index 000000000000..098e6c0ffc95
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetConditionalEntries" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetConditionalEntries"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/sheet_XSheetConditionalEntries.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/sheet_XSheetConditionalEntries.xba
new file mode 100644
index 000000000000..88be1a8e4d6f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntries/sheet_XSheetConditionalEntries.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetConditionalEntries" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetConditionalEntries
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nNum As Integer
+ Dim aConditionalEntry(0) As New com.sun.star.beans.PropertyValue
+
+ Test.StartMethod("addNew()")
+ bOK = true
+ nNum = oObj.Count
+ oObj.addNew(aConditionalEntry())
+ bOK = bOK AND nNum = oObj.Count - 1
+ Test.MethodTested("addNew()", bOK)
+
+ Test.StartMethod("removeByIndex()")
+ bOK = true
+ oObj.removeByIndex(0)
+ bOK = bOK AND nNum = oObj.Count
+ Test.MethodTested("removeByIndex()", bOK)
+
+ Test.StartMethod("clear()")
+ bOK = true
+ oObj.clear()
+ bOK = bOK AND oObj.Count = 0
+ Test.MethodTested("clear()", bOK)
+
+ ReCreateObj()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/script.xlb
new file mode 100644
index 000000000000..b4e0c725f364
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetConditionalEntry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetConditionalEntry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/sheet_XSheetConditionalEntry.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/sheet_XSheetConditionalEntry.xba
new file mode 100644
index 000000000000..334657127ec1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetConditionalEntry/sheet_XSheetConditionalEntry.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetConditionalEntry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetConditionalEntry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cName, cName1 As String
+
+ Test.StartMethod("getStyleName()")
+ Test.StartMethod("setStyleName()")
+ bOK = true
+ cName = oObj.getStyleName()
+ Out.Log("Style name is '" &amp; cName &amp; "'")
+ oObj.setStyleName(cIfcShortName)
+ cName1 = oObj.getStyleName()
+ Out.Log("Style name is '" &amp; cName1 &amp; "'")
+ bOK = bOK AND cName1 &lt;&gt; cName
+ oObj.setStyleName(cName)
+ Test.MethodTested("getStyleName()", bOK)
+ Test.MethodTested("setStyleName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/script.xlb
new file mode 100644
index 000000000000..c3f3a5da4331
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetFilterDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetFilterDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/sheet_XSheetFilterDescriptor.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/sheet_XSheetFilterDescriptor.xba
new file mode 100644
index 000000000000..6b2824138913
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetFilterDescriptor/sheet_XSheetFilterDescriptor.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetFilterDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetFilterDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldVal, objVal As Object
+ Dim newVal(0) As New com.sun.star.sheet.TableFilterField
+
+
+ Test.StartMethod("getFilterFields()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getFilterFields())
+ Test.MethodTested("getFilterFields()", bOK)
+
+ Test.StartMethod("setFilterFields()")
+ bOK = true
+ oldVal = oObj.getFilterFields()
+ newVal(0).Field = 0
+ newVal(0).isNumeric = true
+ newVal(0).Operator = com.sun.star.sheet.FilterOperator.GREATER_EQUAL
+ newVal(0).NumericValue = 99
+ newVal(0).Connection = com.sun.star.sheet.FilterConnection.AND
+ oObj.setFilterFields(newVal())
+ objVal = oObj.getFilterFields()
+ bOK = bOK AND (ubound(objVal) = 0) AND (objVal(0).NumericValue = 99)
+ Test.MethodTested("setFilterFields()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetOperation/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetOperation/script.xlb
new file mode 100644
index 000000000000..aa560324cc77
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetOperation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetOperation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetOperation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetOperation/sheet_XSheetOperation.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetOperation/sheet_XSheetOperation.xba
new file mode 100644
index 000000000000..65df94719702
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetOperation/sheet_XSheetOperation.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetOperation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetOperation
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCompute As Long
+
+ Test.StartMethod("computeFunction()")
+ bOK = true
+ nCompute = oObj.computeFunction(com.sun.star.sheet.GeneralFunction.COUNT)
+ bOK = bOK AND (nCompute &gt;= 0)
+ Test.MethodTested("computeFunction()", bOK)
+
+ Test.StartMethod("clearContents()")
+ bOK = true
+ oObj.clearContents(com.sun.star.sheet.CellFlags.VALUE)
+ nCompute= oObj.computeFunction(com.sun.star.sheet.GeneralFunction.COUNT)
+ bOK = bOK AND (nCompute = 0)
+ Test.MethodTested("clearContents()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/script.xlb
new file mode 100644
index 000000000000..4894c78c3242
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSheetPageBreak" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSheetPageBreak"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/sheet_XSheetPageBreak.xba b/qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/sheet_XSheetPageBreak.xba
new file mode 100644
index 000000000000..493557926c14
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSheetPageBreak/sheet_XSheetPageBreak.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSheetPageBreak" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSheetPageBreak
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nColsBreaks As Integer
+ Dim nRowsBreaks As Integer
+ Dim oColumn As Object
+ Dim oRow As Object
+ Dim oPBs As Variant
+ Dim iRowsBefore As Integer
+ Dim iColsBefore As Integer
+
+ iColsBefore = ubound(oObj.getColumnPageBreaks()) - 1
+ iRowsBefore = ubound(oObj.getRowPageBreaks()) - 1
+
+ Out.Log("Before test: colBreaks: " &amp; iColsBefore &amp; _
+ " rowBreaks: " &amp; iRowsBefore)
+
+ Out.Log("Inserting new PageBreaks.")
+ oColumn = oObj.Columns.getByIndex(5)
+ oColumn.SetPropertyValue("IsStartOfNewPage", true)
+ oRow = oObj.Rows.getByIndex(15)
+ oRow.SetPropertyValue("IsStartOfNewPage", true)
+
+ Test.StartMethod("getColumnPageBreaks()")
+ bOK = true
+ oPBs = oObj.getColumnPageBreaks()
+ nColsBreaks = uBound(oPBs)
+ Out.Log("There are " &amp; nColsBreaks &amp; " column breaks.")
+ bOK = bOK AND nColsBreaks &gt; 0
+ bOK = bOK AND oPBs(0).Position &gt;= 0
+ Test.MethodTested("getColumnPageBreaks()", bOK)
+
+ Test.StartMethod("getRowPageBreaks()")
+ bOK = true
+ oPBs = oObj.getRowPageBreaks()
+ nRowsBreaks = uBound(oPBs)
+ Out.Log("There are " &amp; nRowsBreaks &amp; " row breaks.")
+ bOK = bOK AND nRowsBreaks &gt; 0
+ bOK = bOK AND oPBs(0).Position &gt;= 0
+ Test.MethodTested("getRowPageBreaks()", bOK)
+
+ Test.StartMethod("removeAllManualPageBreaks()")
+ bOK = true
+ oObj.removeAllManualPageBreaks()
+ Out.Log("After test: colBreaks: " &amp; ubound(oObj.getColumnPageBreaks()) - 1 &amp; _
+ " rowBreaks: " &amp; ubound(oObj.getRowPageBreaks()) - 1)
+
+ bOK = bOK AND ubound(oObj.getRowPageBreaks()) - 1 = iRowsBefore
+ bOK = bOK AND ubound(oObj.getColumnPageBreaks()) - 1= iColsBefore
+ Test.MethodTested("removeAllManualPageBreaks()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/script.xlb
new file mode 100644
index 000000000000..629d421c08c1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSpreadsheet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSpreadsheet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/sheet_XSpreadsheet.xba b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/sheet_XSpreadsheet.xba
new file mode 100644
index 000000000000..2ada541ca50e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheet/sheet_XSpreadsheet.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSpreadsheet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSpreadsheet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createCursor()")
+ bOK = true
+ oCur = oObj.createCursor()
+ bOK = bOK AND hasUnoInterfaces(oCur, "com.sun.star.sheet.XSheetCellCursor")
+ Test.MethodTested("createCursor()", bOK)
+
+ Test.StartMethod("createCursorByRange()")
+ bOK = true
+ oCur = oObj.createCursorByRange(oObj)
+ bOK = bOK AND hasUnoInterfaces(oCur, "com.sun.star.sheet.XSheetCellCursor")
+ Test.MethodTested("createCursorByRange()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/script.xlb
new file mode 100644
index 000000000000..7a9f4d13b24e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSpreadsheetDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSpreadsheetDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/sheet_XSpreadsheetDocument.xba b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/sheet_XSpreadsheetDocument.xba
new file mode 100644
index 000000000000..1624ad932211
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetDocument/sheet_XSpreadsheetDocument.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSpreadsheetDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSpreadsheetDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheets As Object
+
+ Test.StartMethod("getSheets()")
+ bOK = true
+ oSheets = oObj.getSheets
+ bOK = bOK AND ((NOT isNULL(oSheets)) AND (oSheets.count &gt; 0))
+ Test.MethodTested("getSheets()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/script.xlb
new file mode 100644
index 000000000000..57b477800e29
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSpreadsheetView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSpreadsheetView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/sheet_XSpreadsheetView.xba b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/sheet_XSpreadsheetView.xba
new file mode 100644
index 000000000000..55dac404bf79
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheetView/sheet_XSpreadsheetView.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSpreadsheetView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oActivableSheet As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSpreadsheetView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oActiveSheet, oNewSheet, oNewActiveSheet As Object
+ Dim cString As String
+
+ Test.StartMethod("getActiveSheet()")
+ bOK = true
+ oActiveSheet = oObj.getActiveSheet()
+ bOK = bOK AND NOT isNULL(oActiveSheet)
+ Test.MethodTested("getActiveSheet()", bOK)
+
+ Test.StartMethod("setActiveSheet()")
+ bOK = true
+ oNewSheet = oDoc.createInstance("com.sun.star.sheet.Spreadsheet")
+ oDoc.Sheets.insertByName("ActiveSheet", oNewSheet)
+
+ oActiveSheet = oObj.getActiveSheet()
+
+ cString = oActiveSheet.getCellByPosition(1, 1).String &amp; " on New Sheet"
+ oNewSheet.getCellByPosition(1, 1).String = cString
+ oObj.setActiveSheet(oNewSheet)
+
+ oNewActiveSheet = oObj.getActiveSheet()
+
+ bOK = bOK AND oNewActiveSheet.Name = "ActiveSheet"
+ bOK = bOK AND oNewActiveSheet.getCellByPosition(1, 1).String = cString
+
+ oDoc.Sheets.removeByName("ActiveSheet")
+
+ Test.MethodTested("setActiveSheet()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/script.xlb
new file mode 100644
index 000000000000..c51159812739
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSpreadsheets" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSpreadsheets"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/sheet_XSpreadsheets.xba b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/sheet_XSpreadsheets.xba
new file mode 100644
index 000000000000..2391c87df0c1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSpreadsheets/sheet_XSpreadsheets.xba
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSpreadsheets" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global nGlobalLong As Long the number of sheets
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSpreadsheets
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim l As Integer
+ Dim sname As String
+ Dim oSheet1, oSheet2 As Object
+
+
+ Test.StartMethod("insertNewByName()")
+ bOK = true
+ for l = 1 to nGlobalLong
+ sname = cIfcShortName &amp; CStr(l)
+ oObj.insertNewByName(sname, l)
+ oSheet1 = oObj.getByName(sname)
+ oSheet2 = oObj.getByIndex(l)
+ bOK = bOK AND NOT isNull(oSheet1)
+ bOK = bOK AND NOT isNull(oSheet2)
+ if (bOK) then
+ bOK = bOK and oSheet1.name = oSheet2.name
+ end if
+ next l
+ Test.MethodTested("insertNewByName()", bOK)
+
+ Test.StartMethod("copyByName()")
+ bOK = true
+ l = 1
+ sname = cIfcShortName &amp; "COPY"
+ oObj.copyByName(cIfcShortName &amp; CStr(l), sname, l )
+ oSheet1 = oObj.getByName(sname)
+ oSheet2 = oObj.getByIndex(l)
+ bOK = bOK AND NOT isNull(oSheet1)
+ bOK = bOK AND NOT isNull(oSheet2)
+ if (bOK) then
+ bOK = bOK AND oSheet1.name = oSheet2.name
+ end if
+ Test.MethodTested("copyByName()", bOK)
+
+ Test.StartMethod("moveByName()")
+ bOK = true
+ l = 1
+ sname = cIfcShortName &amp; "2"
+ oObj.moveByName(sname, l)
+ oSheet1 = oObj.getByName(sname)
+ oSheet2 = oObj.getByIndex(l)
+ bOK = bOK AND NOT isNull(oSheet1)
+ bOK = bOK AND NOT isNull(oSheet2)
+ if (bOK) then
+ bOK = bOK AND oSheet1.name = oSheet2.name
+ end if
+ Out.Log(cIfcShortName &amp; ":" &amp; "#1 - " &amp; bOK)
+
+ sname = cIfcShortName &amp; "COPY"
+ l = nGlobalLong + 1
+ oObj.moveByName(sname, l)
+ l = l - 1
+ oSheet1 = oObj.getByName(sname)
+ oSheet2 = oObj.getByIndex(l)
+ bOK = bOK AND NOT isNull(oSheet1)
+ bOK = bOK AND NOT isNull(oSheet2)
+ if (bOK) then
+ bOK = bOK and oSheet1.name =oSheet2.name
+ end if
+ Test.MethodTested("moveByName()", bOK)
+
+ nGlobalLong = nGlobalLong * 2 + 1 ' nGlobalLong : 3 default sheets where already there
+ ' nGlobalLong have been inserted
+ ' + 1 has been created by Copy
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/script.xlb
new file mode 100644
index 000000000000..537bf6eddab9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSubTotalDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSubTotalDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/sheet_XSubTotalDescriptor.xba b/qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/sheet_XSubTotalDescriptor.xba
new file mode 100644
index 000000000000..907b6299de86
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSubTotalDescriptor/sheet_XSubTotalDescriptor.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSubTotalDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSubTotalDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim count As Integer
+
+ Test.StartMethod("addNew()")
+ bOK = true
+ count = oObj.Count
+
+ Out.Log("Before addNew() there are " &amp; count &amp; " elements")
+
+ Dim SubTotalCol(0) As New com.sun.star.sheet.SubTotalColumn
+ SubTotalCol(0).Column = 7
+ SubTotalCol(0).Function = com.sun.star.sheet.GeneralFunction.SUM
+
+ oObj.addNew(SubTotalCol(), 1)
+
+ bOK = bOK AND oObj.count = count + 1
+ Out.Log("After addNew() there are " &amp; oObj.Count &amp; " elements")
+ Test.MethodTested("addNew()", bOK)
+
+ Test.StartMethod("clear()")
+ bOK = true
+ oObj.clear()
+ bOK = bOK AND oObj.Count = 0
+ Test.MethodTested("clear()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSubTotalField/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XSubTotalField/script.xlb
new file mode 100644
index 000000000000..b938a580a566
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSubTotalField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XSubTotalField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XSubTotalField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XSubTotalField/sheet_XSubTotalField.xba b/qadevOOo/tests/basic/ifc/sheet/XSubTotalField/sheet_XSubTotalField.xba
new file mode 100644
index 000000000000..9e5c0324dfee
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XSubTotalField/sheet_XSubTotalField.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSubTotalField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XSubTotalField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldCol, newCol As Integer
+ Dim SubTotalCol(1) As New com.sun.star.sheet.SubTotalColumn
+
+ Test.StartMethod("getGroupColumn()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getGroupColumn())
+ Test.MethodTested("getGroupColumn()", bOK)
+
+ Test.StartMethod("setGroupColumn()")
+ bOK = true
+ oldCol = oObj.getGroupColumn()
+ newCol = oldCol + 1
+ oObj.setGroupColumn(newCol)
+ bOK = bOK AND (oldCol &lt;&gt; oObj.getGroupColumn())
+ oObj.setGroupColumn(oldCol)
+ Test.MethodTested("setGroupColumn()", bOK)
+
+ Test.StartMethod("getSubTotalColumns()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getSubTotalColumns())
+ Test.MethodTested("getSubTotalColumns()", bOK)
+
+ Test.StartMethod("setSubTotalColumns()")
+ bOK = true
+ SubTotalCol(0).Column = 1
+ SubTotalCol(0).Function = com.sun.star.sheet.GeneralFunction.AVERAGE
+ SubTotalCol(1).Column = 2
+ SubTotalCol(1).Function = com.sun.star.sheet.GeneralFunction.SUM
+ oObj.setSubTotalColumns(SubTotalCol())
+ bOK = bOK AND ubound(oObj.getSubTotalColumns()) = 1
+ Test.MethodTested("setSubTotalColumns()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/script.xlb
new file mode 100644
index 000000000000..b2e8ad029c89
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XUsedAreaCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XUsedAreaCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/sheet_XUsedAreaCursor.xba b/qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/sheet_XUsedAreaCursor.xba
new file mode 100644
index 000000000000..4ac4e48941f6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XUsedAreaCursor/sheet_XUsedAreaCursor.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XUsedAreaCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XUsedAreaCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nStartSCol, nStartECol As Integer
+ Dim nStartSRow, nStartERow As Long
+ Dim nEndSCol, nEndECol As Integer
+ Dim nEndSRow, nEndERow As Long
+ Dim oAddress As Object
+
+ Test.StartMethod("gotoStartOfUsedArea()")
+ bOK = true
+ oObj.gotoStartOfUsedArea(true)
+ oAddress = oObj.getRangeAddress()
+ nStartSCol = oAddress.StartColumn
+ nStartECol = oAddress.EndColumn
+ nStartSRow = oAddress.StartRow
+ nStartERow = oAddress.EndRow
+
+ Test.StartMethod("gotoEndOfUsedArea()")
+ bOK = true
+ oObj.gotoEndOfUsedArea(true)
+ oAddress = oObj.getRangeAddress()
+ nEndSCol = oAddress.StartColumn
+ nEndECol = oAddress.EndColumn
+ nEndSRow = oAddress.StartRow
+ nEndERow = oAddress.EndRow
+
+ 'get the results
+ bOK = bOK AND ((nStartSCol &lt;&gt; nEndSCol) OR (nStartECol &lt;&gt; nEndECol) OR _
+ (nStartSRow &lt;&gt; nEndSRow) OR (nStartERow &lt;&gt; nEndERow))
+
+ Test.MethodTested("gotoStartOfUsedArea()", bOK)
+ Test.MethodTested("gotoEndOfUsedArea()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XViewFreezable/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XViewFreezable/script.xlb
new file mode 100644
index 000000000000..251284d32141
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XViewFreezable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XViewFreezable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XViewFreezable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XViewFreezable/sheet_XViewFreezable.xba b/qadevOOo/tests/basic/ifc/sheet/XViewFreezable/sheet_XViewFreezable.xba
new file mode 100644
index 000000000000..f1b48399ed44
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XViewFreezable/sheet_XViewFreezable.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XViewFreezable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XViewFreezable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("freezeAtPosition()")
+ bOK = true
+ ' Only one of XViewSplitable::getIsWindowSplit() and
+ ' XViewFreezable::hasFrozenPanes() can be true
+
+ oObj.SplitAtPosition(100, 100)
+ bOK = bOK AND oObj.getIsWindowSplit()
+ oObj.freezeAtPosition(0, 10)
+ bOK = bOK AND NOT oObj.getIsWindowSplit()
+ Test.MethodTested("freezeAtPosition()", bOK)
+
+ Test.StartMethod("hasFrozenPanes()")
+ bOK = true
+ oObj.freezeAtPosition(3, 0)
+ bOK = bOK AND oObj.hasFrozenPanes()
+ oObj.SplitAtPosition(100, 100)
+ bOK = bOK AND NOT oObj.hasFrozenPanes()
+ Test.MethodTested("hasFrozenPanes()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XViewPane/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XViewPane/script.xlb
new file mode 100644
index 000000000000..59b8e6c28258
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XViewPane/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XViewPane" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XViewPane"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XViewPane/sheet_XViewPane.xba b/qadevOOo/tests/basic/ifc/sheet/XViewPane/sheet_XViewPane.xba
new file mode 100644
index 000000000000..86be1f937a3c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XViewPane/sheet_XViewPane.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XViewPane" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XViewPane
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nCol, nRow As Integer
+ Dim oRange As Object
+
+ Test.StartMethod("getFirstVisibleColumn()")
+ Test.StartMethod("setFirstVisibleColumn()")
+ bOK = true
+ nCol = oObj.getFirstVisibleColumn()
+ oObj.setFirstVisibleColumn(nCol + 4)
+ bOK = bOK AND nCol = oObj.getFirstVisibleColumn() - 4
+ Test.MethodTested("getFirstVisibleColumn()", bOK)
+ Test.MethodTested("setFirstVisibleColumn()", bOK)
+
+ Test.StartMethod("getFirstVisibleRow()")
+ Test.StartMethod("setFirstVisibleRow()")
+ bOK = true
+ nRow = oObj.getFirstVisibleRow()
+ oObj.setFirstVisibleRow(nRow + 4)
+ bOK = bOK AND nRow = oObj.getFirstVisibleRow() - 4
+ Test.MethodTested("getFirstVisibleRow()", bOK)
+ Test.MethodTested("setFirstVisibleRow()", bOK)
+
+ Test.StartMethod("getVisibleRange()")
+ bOK = true
+ oRange = oObj.getVisibleRange()
+ bOK = bOK AND NOT isNULL(oRange)
+ bOK = bOK AND oRange.StartColumn = nCol + 4
+ bOK = bOK AND oRange.StartRow = nRow + 4
+ Test.MethodTested("getVisibleRange()", bOK)
+
+ ' We have to re-create object, as it's was referred range was changed here.
+ DisposeObj()
+ CreateObj()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XViewSplitable/script.xlb b/qadevOOo/tests/basic/ifc/sheet/XViewSplitable/script.xlb
new file mode 100644
index 000000000000..62ab086ba658
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XViewSplitable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sheet_XViewSplitable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sheet_XViewSplitable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/sheet/XViewSplitable/sheet_XViewSplitable.xba b/qadevOOo/tests/basic/ifc/sheet/XViewSplitable/sheet_XViewSplitable.xba
new file mode 100644
index 000000000000..b9d25b417916
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/sheet/XViewSplitable/sheet_XViewSplitable.xba
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XViewSplitable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Dim XSplitPos As Long
+Dim YSplitPos As Long
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.sheet.XViewSplitable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("splitAtPosition()")
+ bOK = true
+ ' Only one of XViewSplitable::getIsWindowSplit() and
+ ' XViewFreezable::hasFrozenPanes() can be true
+
+ oObj.freezeAtPosition(10, 10)
+ bOK = bOK AND oObj.hasFrozenPanes()
+ SplitAt(100, 200)
+ bOK = bOK AND NOT oObj.hasFrozenPanes()
+ Test.MethodTested("splitAtPosition()", bOK)
+
+ Test.StartMethod("getIsWindowSplit()")
+ bOK = true
+ SplitAt(0, 0)
+ bOK = bOK AND NOT oObj.getIsWindowSplit()
+ SplitAt(50, 50)
+ bOK = bOK AND oObj.getIsWindowSplit()
+
+ Test.MethodTested("getIsWindowSplit()", bOK)
+
+ Test.StartMethod("getSplitHorizontal()")
+ bOK = true
+ SplitAt(0, 0)
+ bOK = bOK AND oObj.getSplitHorizontal() = XSplitPos
+ SplitAt(0, 100)
+ bOK = bOK AND oObj.getSplitHorizontal() = XSplitPos
+ SplitAt(100, 0)
+ bOK = bOK AND oObj.getSplitHorizontal() = XSplitPos
+ SplitAt(100, 100)
+ bOK = bOK AND oObj.getSplitHorizontal() = XSplitPos
+ Test.MethodTested("getSplitHorizontal()", bOK)
+
+ Test.StartMethod("getSplitVertical()")
+ bOK = true
+ SplitAt(0, 0)
+ bOK = bOK AND oObj.getSplitVertical() = YSplitPos
+ SplitAt(100, 0)
+ bOK = bOK AND oObj.getSplitVertical() = YSplitPos
+ SplitAt(100, 100)
+ bOK = bOK AND oObj.getSplitVertical() = YSplitPos
+ SplitAt(0, 100)
+ bOK = bOK AND oObj.getSplitVertical() = YSplitPos
+ Test.MethodTested("getSplitVertical()", bOK)
+
+ Test.StartMethod("getSplitColumn()")
+ bOK = true
+ SplitAt(0, 0)
+ bOK = bOK AND oObj.getSplitColumn() = 0
+ SplitAt(0, 100)
+ bOK = bOK AND oObj.getSplitColumn() = 0
+ SplitAt(100, 100)
+ bOK = bOK AND oObj.getSplitColumn() &lt;&gt; 0
+ SplitAt(100, 0)
+ bOK = bOK AND oObj.getSplitColumn() &lt;&gt; 0
+ Test.MethodTested("getSplitColumn()", bOK)
+
+ Test.StartMethod("getSplitRow()")
+ bOK = true
+ SplitAt(0, 0)
+ bOK = bOK AND oObj.getSplitRow() = 0
+ SplitAt(100, 0)
+ bOK = bOK AND oObj.getSplitRow() = 0
+ SplitAt(100, 100)
+ bOK = bOK AND oObj.getSplitRow() &lt;&gt; 0
+ SplitAt(0, 100)
+ bOK = bOK AND oObj.getSplitRow() &lt;&gt; 0
+ Test.MethodTested("getSplitRow()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub SplitAt(x As Long, y As Long)
+ Out.Log("Spliting At position (" &amp; x &amp; ", " &amp; y &amp; ")")
+ oObj.SplitAtPosition(x, y)
+ XSplitPos = x
+ YSplitPos = y
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/CharacterProperties/script.xlb b/qadevOOo/tests/basic/ifc/style/CharacterProperties/script.xlb
new file mode 100644
index 000000000000..8fba4931cf47
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/CharacterProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_CharacterProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_CharacterProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/CharacterProperties/style_CharacterProperties.xba b/qadevOOo/tests/basic/ifc/style/CharacterProperties/style_CharacterProperties.xba
new file mode 100644
index 000000000000..48805b3691ed
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/CharacterProperties/style_CharacterProperties.xba
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_CharacterProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.style.CharacterProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oStyleFamilies, oCharStyles As Variant
+
+ PropertyTester.TestProperty("CharFontName")
+
+ PropertyTester.TestProperty("CharFontStyleName")
+
+ Dim aFamilys(6) As Integer
+ with com.sun.star.awt.FontFamily
+ aFamilys(0) = .DONTKNOW
+ aFamilys(1) = .DECORATIVE
+ aFamilys(2) = .MODERN
+ aFamilys(3) = .ROMAN
+ aFamilys(4) = .SCRIPT
+ aFamilys(5) = .SWISS
+ aFamilys(6) = .SYSTEM
+ end with
+ PropertyTester.TestProperty("CharFontFamily",aFamilys())
+
+ Dim aCharSetArray(10) As Integer
+ with com.sun.star.awt.CharSet
+ aCharSetArray(0) = .DONTKNOW
+ aCharSetArray(1) = .ANSI
+ aCharSetArray(2) = .MAC
+ aCharSetArray(3) = .IBMPC_437
+ aCharSetArray(4) = .IBMPC_850
+ aCharSetArray(5) = .IBMPC_860
+ aCharSetArray(6) = .IBMPC_861
+ aCharSetArray(7) = .IBMPC_863
+ aCharSetArray(8) = .IBMPC_865
+ aCharSetArray(9) = .SYSTEM
+ aCharSetArray(10) = .SYMBOL
+ end with
+
+ PropertyTester.TestProperty("CharFontCharSet",aCharSetArray())
+
+ Dim aFontPitchArray(3) As Integer
+ with com.sun.star.awt.FontPitch
+ aFontPitchArray(0) = .DONTKNOW
+ aFontPitchArray(1) = .FIXED
+ aFontPitchArray(2) = .VARIABLE
+ end with
+ PropertyTester.TestProperty("CharFontPitch",aFontPitchArray())
+
+ PropertyTester.TestProperty("CharColor")
+
+ Dim vCharEsc (0 to 4) As Integer
+ vCharEsc(0) = -100
+ vCharEsc(1) = 100
+ vCharEsc(2) = -63
+ vCharEsc(3) = 76
+ vCharEsc(4) = 0
+ PropertyTester.TestProperty("CharEscapement",vCharEsc())
+
+ Dim aHeightArray(3) As Double
+ aHeightArray(0) = 10
+ aHeightArray(1) = 20.1
+ aHeightArray(2) = 25.2
+ aHeightArray(3) = 30.3
+ PropertyTester.TestProperty("CharHeight",aHeightArray())
+
+ Dim aUnderlineArray(18) As Integer
+ with com.sun.star.awt.FontUnderline
+ aUnderlineArray(0) = .NONE
+ aUnderlineArray(1) = .SINGLE
+ aUnderlineArray(2) = .DOUBLE
+ aUnderlineArray(3) = .DOTTED
+ aUnderlineArray(4) = .DONTKNOW
+ aUnderlineArray(5) = .DASH
+ aUnderlineArray(6) = .LONGDASH
+ aUnderlineArray(7) = .DASHDOT
+ aUnderlineArray(8) = .DASHDOTDOT
+ aUnderlineArray(9) = .SMALLWAVE
+ aUnderlineArray(10) = .WAVE
+ aUnderlineArray(11) = .DOUBLEWAVE
+ aUnderlineArray(12) = .BOLD
+ aUnderlineArray(13) = .BOLDDOTTED
+ aUnderlineArray(14) = .BOLDDASH
+ aUnderlineArray(15) = .BOLDLONGDASH
+ aUnderlineArray(16) = .BOLDDASHDOT
+ aUnderlineArray(17) = .BOLDDASHDOTDOT
+ aUnderlineArray(18) = .BOLDWAVE
+ end with
+ PropertyTester.TestProperty("CharUnderline",aUnderlineArray())
+
+ Dim aWeightArray(9) As Integer
+ with com.sun.star.awt.FontWeight
+ aWeightArray(0) = .DONTKNOW
+ aWeightArray(1) = .THIN
+ aWeightArray(2) = .ULTRALIGHT
+ aWeightArray(3) = .LIGHT
+ aWeightArray(4) = .SEMILIGHT
+ aWeightArray(5) = .NORMAL
+ aWeightArray(6) = .SEMIBOLD
+ aWeightArray(7) = .BOLD
+ aWeightArray(8) = .ULTRABOLD
+ aWeightArray(9) = .BLACK
+ end with
+
+ PropertyTester.TestProperty("CharWeight",aWeightArray())
+
+ PropertyTester.TestProperty("CharPosture")
+
+ PropertyTester.TestProperty("CharAutoKerning")
+
+ PropertyTester.TestProperty("CharBackColor")
+
+ PropertyTester.TestProperty("CharBackTransparent")
+
+ Dim aCaseMaps(4) As Integer
+ with com.sun.star.style.CaseMap
+ aCaseMaps(0) = .NONE
+ aCaseMaps(1) = .UPPERCASE
+ aCaseMaps(2) = .LOWERCASE
+ aCaseMaps(3) = .TITLE
+ aCaseMaps(4) = .SMALLCAPS
+ end with
+ PropertyTester.TestProperty("CharCaseMap",aCaseMaps())
+
+ PropertyTester.TestProperty("CharCrossedOut")
+
+ PropertyTester.TestProperty("CharFlash")
+
+ Dim aStrikeoutArray(6) As Integer
+ with com.sun.star.awt.FontStrikeout
+ aStrikeoutArray(0) = .NONE
+ aStrikeoutArray(1) = .SINGLE
+ aStrikeoutArray(2) = .DOUBLE
+ aStrikeoutArray(3) = .DONTKNOW
+ aStrikeoutArray(4) = .BOLD
+ aStrikeoutArray(5) = .SLASH
+ aStrikeoutArray(6) = .X
+ end with
+ PropertyTester.TestProperty("CharStrikeout",aStrikeoutArray())
+
+ PropertyTester.TestProperty("CharWordMode")
+
+ PropertyTester.TestProperty("CharKerning")
+
+ PropertyTester.TestProperty("CharLocale")
+
+ PropertyTester.TestProperty("CharKeepTogether")
+
+ PropertyTester.TestProperty("CharNoLineBreak")
+
+ PropertyTester.TestProperty("CharShadowed")
+
+ PropertyTester.TestProperty("CharFontType")
+
+ PropertyTester.TestProperty("CharContoured")
+
+ PropertyTester.TestProperty("CharCombineIsOn")
+
+ oObj.setPropertyValue("CharCombineIsOn", true)
+ Dim aPrifixes(1) As String
+ aPrifixes(0) = "("
+ aPrifixes(1) = "["
+ PropertyTester.TestProperty("CharCombinePrefix", aPrifixes())
+
+ Dim aSuffixes(1) As String
+ aSuffixes(0) = ")"
+ aSuffixes(1) = "]"
+ PropertyTester.TestProperty("CharCombineSuffix", aSuffixes())
+
+ Dim aCharEmphasizeArr(8) As Integer
+ with com.sun.star.text.FontEmphasis
+ aCharEmphasizeArr(0) = .NONE
+ aCharEmphasizeArr(1) = .DOT_ABOVE
+ aCharEmphasizeArr(2) = .CIRCLE_ABOVE
+ aCharEmphasizeArr(3) = .DISK_ABOVE
+ aCharEmphasizeArr(4) = .ACCENT_ABOVE
+ aCharEmphasizeArr(5) = .DOT_BELOW
+ aCharEmphasizeArr(6) = .CIRCLE_BELOW
+ aCharEmphasizeArr(7) = .DISK_BELOW
+ aCharEmphasizeArr(8) = .ACCENT_BELOW
+ end with
+ PropertyTester.TestProperty("CharEmphasize",aCharEmphasizeArr())
+
+ Dim aReliefs(2) As Integer
+ with com.sun.star.text.FontRelief
+ aReliefs(0) = .NONE
+ aReliefs(1) = .EMBOSSED
+ aReliefs(2) = .ENGRAVED
+ end with
+ PropertyTester.TestProperty("CharRelief",aReliefs())
+
+ PropertyTester.TestProperty("CharRotationIsFitToLine")
+
+ PropertyTester.TestProperty("CharScaleWidth")
+
+ Dim aRotat(2) As Integer
+ aRotat(0) = 900
+ aRotat(1) = 2700
+ aRotat(2) = 0
+ PropertyTester.TestProperty("CharRotation",aRotat())
+
+ PropertyTester.TestProperty("RubyText")
+
+ PropertyTester.TestProperty("RubyIsAbove")
+
+ Dim aAdjusts(5) As Integer
+ aAdjusts(0) = com.sun.star.text.RubyAdjust.LEFT
+ aAdjusts(1) = com.sun.star.text.RubyAdjust.CENTER
+ aAdjusts(2) = com.sun.star.text.RubyAdjust.RIGHT
+ aAdjusts(3) = com.sun.star.text.RubyAdjust.LEFT
+ aAdjusts(4) = com.sun.star.text.RubyAdjust.BLOCK
+ aAdjusts(5) = com.sun.star.text.RubyAdjust.INDENT_BLOCK
+ PropertyTester.TestProperty("RubyAdjust", aAdjusts())
+
+ Dim aCharStyleNames() As String
+ oStyleFamilies = oDoc.StyleFamilies
+ oCharStyles = oStyleFamilies.getByIndex(0)
+ aCharStyleNames() = oCharStyles.Elementnames()
+ aCharStyleNames(0) = aCharStyleNames(2) ' "Standard" the same as "", exclude it...
+
+ PropertyTester.TestProperty("RubyCharStyleName",aCharStyleNames())
+
+ PropertyTester.TestProperty("CharStyleName",aCharStyleNames())
+
+ PropertyTester.TestProperty("CharRotationIsFitToLine")
+ PropertyTester.TestProperty("CharScaleWidth")
+ PropertyTester.TestProperty("HyperLinkURL")
+ PropertyTester.TestProperty("HyperLinkTarget")
+ PropertyTester.TestProperty("HyperLinkName")
+
+ Dim nHeight(0 to 2) as Integer
+ nHeight(0)=1
+ nHeight(1)=33
+ nHeight(2)=100
+ PropertyTester.TestProperty("CharEscapementHeight", nHeight())
+
+ PropertyTester.TestProperty("CharNoHyphenation")
+ PropertyTester.TestProperty("CharUnderlineHasColor")
+ oObj.CharUnderlineHasColor = TRUE
+ PropertyTester.TestProperty("CharUnderlineColor")
+
+ ReCreateObj()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/script.xlb b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/script.xlb
new file mode 100644
index 000000000000..55654ebf43b4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_CharacterPropertiesAsian" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_CharacterPropertiesAsian"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/style_CharacterPropertiesAsian.xba b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/style_CharacterPropertiesAsian.xba
new file mode 100644
index 000000000000..956cfe025e24
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesAsian/style_CharacterPropertiesAsian.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_CharacterPropertiesAsian" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.style.CharacterPropertiesAsian
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim charHeightAsian(3) As Double
+ charHeightAsian(0) = 12.3
+ charHeightAsian(1) = 16.2
+ charHeightAsian(2) = 26.6
+ charHeightAsian(3) = 42.8
+
+ Dim charWeightAsian(9) As Integer
+ with com.sun.star.awt.FontWeight
+ charWeightAsian(0) = .DONTKNOW
+ charWeightAsian(1) = .THIN
+ charWeightAsian(2) = .ULTRALIGHT
+ charWeightAsian(3) = .LIGHT
+ charWeightAsian(4) = .SEMILIGHT
+ charWeightAsian(5) = .NORMAL
+ charWeightAsian(6) = .SEMIBOLD
+ charWeightAsian(7) = .BOLD
+ charWeightAsian(8) = .ULTRABOLD
+ charWeightAsian(9) = .BLACK
+ end with
+
+ PropertyTester.TestProperty("CharHeightAsian",charHeightAsian())
+
+ PropertyTester.TestProperty("CharWeightAsian",charWeightAsian())
+
+ PropertyTester.TestProperty("CharFontNameAsian")
+
+ PropertyTester.TestProperty("CharFontStyleNameAsian")
+
+ PropertyTester.TestProperty("CharFontFamilyAsian")
+
+ PropertyTester.TestProperty("CharFontCharSetAsian")
+
+ PropertyTester.TestProperty("CharFontPitchAsian")
+
+ PropertyTester.TestProperty("CharPostureAsian")
+
+ PropertyTester.TestProperty("CharLocaleAsian")
+
+ PropertyTester.TestProperty("ParaIsCharacterDistance")
+
+ PropertyTester.TestProperty("ParaIsForbiddenRules")
+
+ PropertyTester.TestProperty("ParaIsHangingPunctuation")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/script.xlb b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/script.xlb
new file mode 100644
index 000000000000..47d057ab617b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_CharacterPropertiesComplex" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_CharacterPropertiesComplex"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/style_CharacterPropertiesComplex.xba b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/style_CharacterPropertiesComplex.xba
new file mode 100644
index 000000000000..6ff647853299
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/CharacterPropertiesComplex/style_CharacterPropertiesComplex.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_CharacterPropertiesComplex" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.style.CharacterPropertiesComplex
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim charHeightComplex(3) As Double
+ charHeightComplex(0) = 12.3
+ charHeightComplex(1) = 16.2
+ charHeightComplex(2) = 26.6
+ charHeightComplex(3) = 42.8
+
+ Dim charWeightComplex(9) As Integer
+ with com.sun.star.awt.FontWeight
+ charWeightComplex(0) = .DONTKNOW
+ charWeightComplex(1) = .THIN
+ charWeightComplex(2) = .ULTRALIGHT
+ charWeightComplex(3) = .LIGHT
+ charWeightComplex(4) = .SEMILIGHT
+ charWeightComplex(5) = .NORMAL
+ charWeightComplex(6) = .SEMIBOLD
+ charWeightComplex(7) = .BOLD
+ charWeightComplex(8) = .ULTRABOLD
+ charWeightComplex(9) = .BLACK
+ end with
+
+ PropertyTester.TestProperty("CharHeightComplex",charHeightComplex())
+
+ PropertyTester.TestProperty("CharWeightComplex",charWeightComplex())
+
+ PropertyTester.TestProperty("CharFontNameComplex")
+
+ PropertyTester.TestProperty("CharFontStyleNameComplex")
+
+ PropertyTester.TestProperty("CharFontFamilyComplex")
+
+ PropertyTester.TestProperty("CharFontCharSetComplex")
+
+ PropertyTester.TestProperty("CharFontPitchComplex")
+
+ PropertyTester.TestProperty("CharPostureComplex")
+
+ PropertyTester.TestProperty("CharLocaleComplex")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/ParagraphProperties/script.xlb b/qadevOOo/tests/basic/ifc/style/ParagraphProperties/script.xlb
new file mode 100644
index 000000000000..9a6f2064f777
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/ParagraphProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_ParagraphProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_ParagraphProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/ParagraphProperties/style_ParagraphProperties.xba b/qadevOOo/tests/basic/ifc/style/ParagraphProperties/style_ParagraphProperties.xba
new file mode 100644
index 000000000000..922c6fcec0a9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/ParagraphProperties/style_ParagraphProperties.xba
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_ParagraphProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.style.ParagraphProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ if hasUnoInterfaces(oObj, "com.sun.star.text.XTextRange") then
+ oObj.String = "This is an example string from ParagraphProperties..."
+ end if
+
+ Dim nParaAdjust(3) As Integer
+ nParaAdjust(0) = com.sun.star.style.ParagraphAdjust.LEFT
+ nParaAdjust(1) = com.sun.star.style.ParagraphAdjust.RIGHT
+ nParaAdjust(2) = com.sun.star.style.ParagraphAdjust.BLOCK
+ nParaAdjust(3) = com.sun.star.style.ParagraphAdjust.CENTER
+ ' STRETCH????
+
+ Dim nLastLineAdjust(2) As Integer
+ nLastLineAdjust(0) = com.sun.star.style.ParagraphAdjust.LEFT
+ nLastLineAdjust(1) = com.sun.star.style.ParagraphAdjust.BLOCK
+ nLastLineAdjust(2) = com.sun.star.style.ParagraphAdjust.CENTER
+ ' STRETCH????
+
+ Out.Log("Starting ...")
+
+ PropertyTester.TestProperty("ParaAdjust",nParaAdjust())
+
+ PropertyTester.TestProperty("ParaLineSpacing")
+
+ PropertyTester.TestProperty("ParaBackColor")
+
+ PropertyTester.TestProperty("ParaBackTransparent")
+
+ PropertyTester.TestProperty("ParaBackGraphicURL")
+
+ PropertyTester.TestProperty("ParaBackGraphicFilter")
+
+ PropertyTester.TestProperty("ParaBackGraphicLocation")
+
+ Out.Log("set ParaAdjust to com.sun.star.style.ParagraphAdjust.BLOCK")
+ oObj.ParaAdjust = com.sun.star.style.ParagraphAdjust.BLOCK
+ PropertyTester.TestProperty("ParaLastLineAdjust",nLastLineAdjust())
+ oObj.ParaAdjust = com.sun.star.style.ParagraphAdjust.LEFT
+
+ PropertyTester.TestProperty("ParaExpandSingleWord")
+
+ Dim margins(2) As Integer
+ margins(0) = 0
+ margins(1) = 50
+ margins(2) = 100
+
+ PropertyTester.TestProperty("ParaLeftMargin",margins())
+
+ PropertyTester.TestProperty("ParaRightMargin",margins())
+
+ PropertyTester.TestProperty("ParaTopMargin",margins())
+
+ PropertyTester.TestProperty("ParaBottomMargin",margins())
+
+ PropertyTester.TestProperty("ParaLineNumberCount")
+
+ PropertyTester.TestProperty("ParaLineNumberStartValue")
+
+ Dim cPageDescName(0 To 1) As String
+ cPageDescName(0) = "HTML"
+ cPageDescName(1) = "Standard"
+ PropertyTester.TestProperty("PageDescName",cPageDescName())
+
+ PropertyTester.TestProperty("PageNumberOffset")
+
+ PropertyTester.TestProperty("ParaRegisterModeActive")
+
+ PropertyTester.TestProperty("ParaTabStops")
+
+ Dim cParaStyleName(0 to 3) As String
+ cParaStyleName(0) = "Heading 1"
+ cParaStyleName(1) = "First line indent"
+ cParaStyleName(2) = "Text body"
+ cParaStyleName(3) = "Standard"
+ PropertyTester.TestProperty("ParaStyleName",cParaStyleName())
+
+ PropertyTester.TestProperty("DropCapFormat")
+
+ PropertyTester.TestProperty("DropCapWholeWord")
+
+ PropertyTester.TestProperty("ParaKeepTogether")
+
+ PropertyTester.TestProperty("ParaSplit")
+
+ Dim nLevel(0 to 1) As Integer
+ nLevel(0) = 3
+ nLevel(1) = 0
+ Out.Log("Set NumberingStyleName to 'List 2' "
+ if PropertyTester.isAvailable("NumberingStyleName") then
+ oObj.NumberingStyleName = "List 2"
+ end if
+ PropertyTester.TestProperty("NumberingLevel",nLevel())
+
+ PropertyTester.TestProperty("NumberingRules")
+
+ PropertyTester.TestProperty("NumberingStartValue")
+
+ PropertyTester.TestProperty("ParaIsNumberingRestart")
+
+ Dim cStyleName(0 to 1) As String
+ cStyleName(0) = "List 1"
+ cStyleName(1) = "Numbering 2"
+ PropertyTester.TestProperty("NumberingStyleName",cStyleName())
+
+ PropertyTester.TestProperty("ParaOrphans")
+
+ PropertyTester.TestProperty("ParaWidows")
+
+ PropertyTester.TestProperty("ParaShadowFormat")
+
+ PropertyTester.TestProperty("LeftBorder")
+
+ PropertyTester.TestProperty("RightBorder")
+
+ PropertyTester.TestProperty("TopBorder")
+
+ PropertyTester.TestProperty("BottomBorder")
+
+ PropertyTester.TestProperty("BorderDistance")
+
+ PropertyTester.TestProperty("LeftBorderDistance")
+
+ PropertyTester.TestProperty("RightBorderDistance")
+
+ PropertyTester.TestProperty("TopBorderDistance")
+
+ PropertyTester.TestProperty("BottomBorderDistance")
+
+ PropertyTester.TestProperty("BreakType")
+
+ Dim cCharStyles(1) as String
+ cCharStyles(0) = "Emphasis"
+ CCharStyles(1) = "Teletype"
+
+ PropertyTester.TestProperty("DropCapCharStyleName",cCharStyles())
+
+ PropertyTester.TestProperty("ParaFirstLineIndent")
+
+ PropertyTester.TestProperty("ParaIsAutoFirstLineIndent")
+
+ PropertyTester.TestProperty("ParaHyphenationMaxHyphens")
+
+ PropertyTester.TestProperty("ParaHyphenationMaxLeadingChars")
+
+ PropertyTester.TestProperty("ParaHyphenationMaxTrailingChars")
+
+ Dim VertAlign(0 to 4) as Integer
+ Dim nCount as Integer
+ for nCount = 0 to uBound(VertAlign())
+ VertAlign(nCount) = nCount
+ next nCount
+ PropertyTester.TestProperty("ParaVertAlignment", VertAlign())
+
+ PropertyTester.TestProperty("ParaUserDefinedAttributes")
+
+ PropertyTester.TestProperty("ParaIsHyphenation")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/script.xlb b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/script.xlb
new file mode 100644
index 000000000000..38149c374b1f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_ParagraphPropertiesAsian" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="style_ParagraphPropertiesAsian"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/style_ParagraphPropertiesAsian.xba b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/style_ParagraphPropertiesAsian.xba
new file mode 100644
index 000000000000..887375db02b2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesAsian/style_ParagraphPropertiesAsian.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_ParagraphPropertiesAsian" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.style.ParagraphPropertiesAsian
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+'
+ PropertyTester.TestProperty("ParaIsHangingPunctuation")
+
+ PropertyTester.TestProperty("ParaIsCharacterDistance")
+
+ PropertyTester.TestProperty("ParaIsForbiddenRules")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/script.xlb b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/script.xlb
new file mode 100644
index 000000000000..e9f33ed0a38e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_ParagraphPropertiesComplex" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_ParagraphPropertiesComplex"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/style_ParagraphPropertiesComplex.xba b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/style_ParagraphPropertiesComplex.xba
new file mode 100644
index 000000000000..45c0e719955b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/ParagraphPropertiesComplex/style_ParagraphPropertiesComplex.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_ParagraphPropertiesComplex" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.style.ParagraphPropertiesComplex
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim newVals As Variant
+ newVals = Array(0, 1, 2, 3, 4)
+ PropertyTester.TestProperty("WritingMode", newVals())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/Style/script.xlb b/qadevOOo/tests/basic/ifc/style/Style/script.xlb
new file mode 100644
index 000000000000..e38e0da873aa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/Style/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_Style" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_Style"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/Style/style_Style.xba b/qadevOOo/tests/basic/ifc/style/Style/style_Style.xba
new file mode 100644
index 000000000000..e1e8f67685d9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/Style/style_Style.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_Style" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.style.Style
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("IsPhysical")
+
+ PropertyTester.TestProperty("FollowStyle")
+
+ PropertyTester.TestProperty("DisplayName")
+
+ PropertyTester.TestProperty("IsAutoUpdate")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/XStyle/script.xlb b/qadevOOo/tests/basic/ifc/style/XStyle/script.xlb
new file mode 100644
index 000000000000..359a7b3efb62
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/XStyle/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_XStyle" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_XStyle"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/XStyle/style_XStyle.xba b/qadevOOo/tests/basic/ifc/style/XStyle/style_XStyle.xba
new file mode 100644
index 000000000000..0e8b9c872be8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/XStyle/style_XStyle.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_XStyle" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oStandartStyle As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.style.XStyle
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cName, cObjName As String
+
+ Test.StartMethod("isUserDefined()")
+ bOK = true
+ bOK = bOK AND oObj.isUserDefined() AND NOT oStandartStyle.isUserDefined()
+ Test.MethodTested("isUserDefined()", bOK)
+
+ Test.StartMethod("isInUse()")
+ bOK = true
+ bOK = bOK AND oObj.isInUse()
+ Test.MethodTested("isInUse()", bOK)
+
+ Test.StartMethod("setParentStyle()")
+ Test.StartMethod("getParentStyle()")
+ bOK = true
+ cName = oStandartStyle.Name
+ Out.Log("setting name to '" &amp; cName &amp; "'")
+ oObj.setParentStyle(cName)
+ cObjName = oObj.getParentStyle()
+ Out.Log("name is '" &amp; cObjName &amp; "'")
+ bOK = bOK AND cObjName = cName
+ Test.MethodTested("getParentStyle()", bOK)
+ Test.MethodTested("setParentStyle()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/script.xlb
new file mode 100644
index 000000000000..3f55b2fa6d90
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="style_XStyleFamiliesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="style_XStyleFamiliesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/style_XStyleFamiliesSupplier.xba b/qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/style_XStyleFamiliesSupplier.xba
new file mode 100644
index 000000000000..27ea60e95a47
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/style/XStyleFamiliesSupplier/style_XStyleFamiliesSupplier.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="style_XStyleFamiliesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.style.XStyleFamiliesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oFam As Object
+
+
+ Test.StartMethod("getStyleFamilies()")
+ bOK = true
+ oFam = oObj.getStyleFamilies()
+ bOK = NOT isNULL(oFam)
+ bOK = bOK AND hasUnoInterfaces(oFam, "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getStyleFamilies()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/system/XProxySettings/script.xlb b/qadevOOo/tests/basic/ifc/system/XProxySettings/script.xlb
new file mode 100644
index 000000000000..8163d6b3f6db
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/system/XProxySettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="system_XProxySettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="system_XProxySettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/system/XProxySettings/system_XProxySettings.xba b/qadevOOo/tests/basic/ifc/system/XProxySettings/system_XProxySettings.xba
new file mode 100644
index 000000000000..eef8f15c67de
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/system/XProxySettings/system_XProxySettings.xba
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="system_XProxySettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.system.XProxySettings
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getFtpProxyAddress()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getFtpProxyAddress()) = 8)
+ Test.MethodTested("getFtpProxyAddress()", bOK)
+
+ Test.StartMethod("getFtpProxyPort()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getFtpProxyAddress()) = 8)
+ Test.MethodTested("getFtpProxyPort()", bOK)
+
+ Test.StartMethod("getGopherProxyAddress()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getGopherProxyAddress()) = 8)
+ Test.MethodTested("getGopherProxyAddress()", bOK)
+
+ Test.StartMethod("getGopherProxyPort()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getGopherProxyPort()) = 8)
+ Test.MethodTested("getGopherProxyPort()", bOK)
+
+ Test.StartMethod("getHttpProxyAddress()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getHttpProxyAddress()) = 8)
+ Test.MethodTested("getHttpProxyAddress()", bOK)
+
+ Test.StartMethod("getHttpProxyPort()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getHttpProxyPort()) = 8)
+ Test.MethodTested("getHttpProxyPort()", bOK)
+
+ Test.StartMethod("getHttpsProxyAddress()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getHttpsProxyAddress()) = 8)
+ Test.MethodTested("getHttpsProxyAddress()", bOK)
+
+ Test.StartMethod("getHttpsProxyPort()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getHttpsProxyPort()) = 8)
+ Test.MethodTested("getHttpsProxyPort()", bOK)
+
+ Test.StartMethod("getSocksProxyAddress()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getSocksProxyAddress()) = 8)
+ Test.MethodTested("getSocksProxyAddress()", bOK)
+
+ Test.StartMethod("getSocksProxyPort()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getSocksProxyPort()) = 8)
+ Test.MethodTested("getSocksProxyPort()", bOK)
+
+ Test.StartMethod("getProxyBypassAddress()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.getProxyBypassAddress()) = 8)
+ Test.MethodTested("getProxyBypassAddress()", bOK)
+
+ Test.StartMethod("isProxyEnabled()")
+ bOK = true
+ bOK = bOK AND (VarType(oObj.isProxyEnabled()) = 11)
+ Test.MethodTested("isProxyEnabled()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/script.xlb b/qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/script.xlb
new file mode 100644
index 000000000000..f8c67fe40fa3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="system_XSimpleMailClientSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="system_XSimpleMailClientSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/system_XSimpleMailClientSupplier.xba b/qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/system_XSimpleMailClientSupplier.xba
new file mode 100644
index 000000000000..4a0c280b014d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/system/XSimpleMailClientSupplier/system_XSimpleMailClientSupplier.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="system_XSimpleMailClientSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.system.XSimpleMailClientSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oClient As Object
+
+ Test.StartMethod("querySimpleMailClient()")
+ if (GetGuiType() = GUI_TYPE_WINDOWS) then
+ Out.Log("OS is Win : trying to query mail client ...")
+ bOK = isObject(oObj.querySimpleMailClient())
+ else
+ Out.Log("OS is not Win : service is not available.")
+ bOK = true
+ endif
+ Test.MethodTested("querySimpleMailClient()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/system/XSystemShellExecute/script.xlb b/qadevOOo/tests/basic/ifc/system/XSystemShellExecute/script.xlb
new file mode 100644
index 000000000000..92aa06663c82
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/system/XSystemShellExecute/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="system_XSystemShellExecute" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="system_XSystemShellExecute"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/system/XSystemShellExecute/system_XSystemShellExecute.xba b/qadevOOo/tests/basic/ifc/system/XSystemShellExecute/system_XSystemShellExecute.xba
new file mode 100644
index 000000000000..28ebd069b35a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/system/XSystemShellExecute/system_XSystemShellExecute.xba
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="system_XSystemShellExecute" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - java existing in PATH system var and
+' SystemShellExecute.class file in docs dir
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.system.XSystemShellExecute
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cResFile As String, cResURL As String, cClassPath As String
+ Dim oFacc As Object
+ Dim bExist As Boolean, i As Integer
+ Dim cArgs As String
+
+ Test.StartMethod("execute()")
+ cClassPath = utils.URL2Path(utils.Path2URL(cTestDocsDir))
+ cResURL = utils.getTempFileURL("SystemShellExecute.txt", true)
+ cResFile = utils.URL2Path(cResURL)
+ bOK = true
+
+ cArgs = "-classpath " + cClassPath + " SystemShellExecute " + cResFile
+ Out.Log("Executing : 'java " + cArgs + "'")
+ oObj.execute("java", cArgs, 1)
+
+ oFacc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ if bOK then
+ Out.Log("Waiting while the file will be created or timeout reached ...")
+ bExist = false
+ i = 0
+ while i &lt; 20 AND NOT bExist
+ bExist = oFacc.exists(cResURL)
+ wait(1000)
+ i = i + 1
+ wend
+
+ if bExist then
+ Out.Log("The command was executed and file created in " + i + " sec.")
+ else
+ Out.Log("File was not created.")
+ endif
+
+ bOK = bOK AND bExist
+ endif
+
+ Test.MethodTested("execute()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/CellProperties/script.xlb b/qadevOOo/tests/basic/ifc/table/CellProperties/script.xlb
new file mode 100644
index 000000000000..f6d079817389
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/CellProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_CellProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_CellProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/CellProperties/table_CellProperties.xba b/qadevOOo/tests/basic/ifc/table/CellProperties/table_CellProperties.xba
new file mode 100644
index 000000000000..74d2e9706f3b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/CellProperties/table_CellProperties.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_CellProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim bOK As Boolean
+Dim oTB As Variant, oldVal As Variant
+Dim newVal As Variant, valToSet As Variant
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.table.CellProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim aCellStyles(1) As String
+
+ aCellStyles(0) = "Result"
+ aCellStyles(1) = "Default"
+ PropertyTester.TestProperty("CellStyle", aCellStyles())
+
+ PropertyTester.TestProperty("CellBackColor")
+
+ PropertyTester.TestProperty("IsCellBackgroundTransparent")
+
+ Dim aNumberFormats(1) As Integer
+ aNumberFormats(0) = 2
+ aNumberFormats(1) = 1
+ PropertyTester.TestProperty("NumberFormat", aNumberFormats())
+
+ PropertyTester.TestProperty("ShadowFormat")
+
+ PropertyTester.TestProperty("HoriJustify")
+
+ PropertyTester.TestProperty("VertJustify")
+
+ PropertyTester.TestProperty("Orientation")
+
+ PropertyTester.TestProperty("CellProtection")
+
+ Test.StartMethod("TableBorder")
+
+ Dim oTBNew As New com.sun.star.table.TableBorder
+ bOK = true
+ oldVal = oObj.TableBorder.Distance
+ Out.Log("value of 'TableBorder.Distance' before: "+oldVal)
+ oTBNew = oObj.TableBorder
+ Out.Log("setting value: "+ (oldVal + 20))
+ oTBNew.Distance = oldVal + 20
+ oObj.setPropertyValue("TableBorder", oTBNew)
+ newVal = oObj.TableBorder.Distance
+ Out.Log("value of 'TableBorder.Distance' after: "+newVal)
+ bOK = bOK AND (newVal = oTBNew.Distance)
+ Test.MethodTested("TableBorder", bOK)
+
+ PropertyTester.TestProperty("IsTextWrapped")
+
+ Dim nRotate(1) As Integer
+ nRotate(0) = 30999
+ nRotate(1) = 4500
+ PropertyTester.TestProperty("RotateAngle",nRotate())
+
+ PropertyTester.TestProperty("RotateReference")
+
+ PropertyTester.TestProperty("AsianVerticalMode")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/TableColumn/script.xlb b/qadevOOo/tests/basic/ifc/table/TableColumn/script.xlb
new file mode 100644
index 000000000000..6e6455ba0f2f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/TableColumn/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_TableColumn" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_TableColumn"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/TableColumn/table_TableColumn.xba b/qadevOOo/tests/basic/ifc/table/TableColumn/table_TableColumn.xba
new file mode 100644
index 000000000000..cf052ca74719
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/TableColumn/table_TableColumn.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_TableColumn" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.table.TableColumn
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("Width")
+
+ PropertyTester.TestProperty("OptimalWidth")
+
+ PropertyTester.TestProperty("IsVisible")
+
+ PropertyTester.TestProperty("IsStartOfNewPage")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/TableRow/script.xlb b/qadevOOo/tests/basic/ifc/table/TableRow/script.xlb
new file mode 100644
index 000000000000..a60eabb39d69
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/TableRow/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_TableRow" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_TableRow"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/TableRow/table_TableRow.xba b/qadevOOo/tests/basic/ifc/table/TableRow/table_TableRow.xba
new file mode 100644
index 000000000000..f46e5f1e7e09
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/TableRow/table_TableRow.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_TableRow" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.table.TableRow
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("Height")
+
+ PropertyTester.TestProperty("OptimalHeight")
+
+ PropertyTester.TestProperty("IsVisible")
+
+ PropertyTester.TestProperty("IsStartOfNewPage")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XAutoFormattable/script.xlb b/qadevOOo/tests/basic/ifc/table/XAutoFormattable/script.xlb
new file mode 100644
index 000000000000..88458e208447
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XAutoFormattable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XAutoFormattable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XAutoFormattable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XAutoFormattable/table_XAutoFormattable.xba b/qadevOOo/tests/basic/ifc/table/XAutoFormattable/table_XAutoFormattable.xba
new file mode 100644
index 000000000000..d67b346a9203
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XAutoFormattable/table_XAutoFormattable.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XAutoFormattable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XAutoFormattable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim iBg1 As Variant, iBg2 As Variant
+
+ Test.StartMethod("autoFormat()")
+ bOK = true
+ oObj.getCellByPosition(0, 0).setPropertyValue("BackColor", 0)
+ oObj.getCellByPosition(1, 1).setPropertyValue("BackColor", 0)
+ oObj.autoFormat("Default")
+ iBg1 = oObj.getCellByPosition(0, 0).getPropertyValue("BackColor")
+ iBg2 = oObj.getCellByPosition(1, 1).getPropertyValue("BackColor")
+ bOK = bOK AND iBg1 &lt;&gt; iBg2
+ Test.MethodTested("autoFormat()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XCell/script.xlb b/qadevOOo/tests/basic/ifc/table/XCell/script.xlb
new file mode 100644
index 000000000000..837a8f5c67f9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XCell/table_XCell.xba b/qadevOOo/tests/basic/ifc/table/XCell/table_XCell.xba
new file mode 100644
index 000000000000..6bb675e5088c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XCell/table_XCell.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aFormula As String
+ Dim aValue As Integer
+ Dim aType As Variant
+
+ Test.StartMethod("setFormula()")
+ bOK = true
+ Out.Log("setFormula(""=2+2"")")
+ oObj.setFormula("=2+2")
+ Test.MethodTested("setFormula()", bOK)
+
+ Test.StartMethod("getFormula()")
+ bOK = true
+ aFormula = oObj.getFormula()
+ Out.Log("getFormula() returned '" &amp; aFormula &amp; "'")
+ bOK = bOK AND inStr(1, aFormula, "2+2")
+ Test.MethodTested("getFormula()", bOK)
+
+ Test.StartMethod("getValue()")
+ bOK = true
+ aValue = oObj.getValue()
+ bOK = bOK AND aValue = 4
+ Test.MethodTested("getValue()", bOK)
+
+ Test.StartMethod("setValue()")
+ bOK = true
+ oObj.setValue(10)
+ bOK = bOK AND oObj.getValue = 10
+ Test.MethodTested("setValue()", bOK)
+
+ Test.StartMethod("getType()")
+ bOK = true
+ aType = oObj.getType()
+ bOK = bOK AND (aType = com.sun.star.table.CellContentType.EMPTY OR _
+ aType = com.sun.star.table.CellContentType.VALUE OR _
+ aType = com.sun.star.table.CellContentType.TEXT OR _
+ aType = com.sun.star.table.CellContentType.FORMULA)
+ Test.MethodTested("getType()", bOK)
+
+ Test.StartMethod("getError()")
+ bOK = true
+ bOK = bOK AND (oObj.getError() = 0)
+ oObj.setFormula("=sqrt(-2)")
+ bOK = bOK AND (oObj.getError() &lt;&gt; 0)
+ Test.MethodTested("getError()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XCellCursor/script.xlb b/qadevOOo/tests/basic/ifc/table/XCellCursor/script.xlb
new file mode 100644
index 000000000000..beb85284488f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XCellCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XCellCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XCellCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba b/qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba
new file mode 100644
index 000000000000..b681dfa1a334
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XCellCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+'XCellCursor walks in a range of data. That
+' means: If you have the range (A1:B10) filled
+' with data gotoStart() goes to (A1), gotoEnd()
+' goes to (B10). But: you must insite this range.
+' If you are in (C3) you will nerver go to (A1).
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XCellCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bSupport As Boolean
+ Dim ResetCols As Integer, ResetRows As Long
+ Dim nStartSCol, nStartECol As Integer
+ Dim nStartSRow, nStartERow As Long
+ Dim nNextECol As Integer, nNextERow As Long
+ Dim nEndECol As Integer, nEndERow As Long
+ Dim nPrevECol As Integer, nPrevERow As Long
+ Dim nOffECol As Integer, nOffERow As Long
+ Dim oAddress As Object
+
+ if hasUnoInterfaces(oObj, "com.sun.star.sheet.XSheetCellCursor") then
+ bSupport = true
+ ResetCols = oObj.getColumns().getCount()
+ ResetRows = oObj.getRows().getCount()
+ else
+ bSupport = false
+ end if
+
+ Test.StartMethod("gotoStart()")
+ bOK = true
+ oObj.gotoStart()
+ oAddress = oObj.getRangeAddress()
+ nStartSCol = oAddress.StartColumn
+ nStartECol = oAddress.EndColumn
+ nStartSRow = oAddress.StartRow
+ nStartERow = oAddress.EndRow
+ bOK = bOK AND (nStartSCol = nStartECol) AND (nStartSRow = nStartERow)
+ Out.Log("nStartSCol = " &amp; nStartSCol &amp; " nStartECol = " &amp; nStartECol &amp;_
+ " nStartSRow = " &amp; nStartSRow &amp; " nStartERow = " &amp; nStartERow)
+ Test.MethodTested("gotoStart()", bOK)
+
+ Test.StartMethod("gotoNext()")
+ bOK = true
+ oObj.gotoNext()
+ oAddress = oObj.getRangeAddress()
+ nNextECol = oAddress.EndColumn
+ nNextERow = oAddress.EndRow
+ bOK = bOK AND ((nNextECol = nStartSCol + 1) OR (nNextERow = nStartSRow + 1))
+ Out.Log("nNextECol = " &amp; nNextECol &amp; " nNextERow = " &amp; nNextERow)
+ Test.MethodTested("gotoNext()", bOK)
+
+ Test.StartMethod("gotoEnd()")
+ bOK = true
+ oObj.gotoEnd()
+ oAddress = oObj.getRangeAddress()
+ nEndECol = oAddress.EndColumn
+ nEndERow = oAddress.EndRow
+ bOK = bOK AND ((nEndECol &gt; nStartECol) OR (nEndERow &gt; nStartERow))
+ Out.Log("nEndSCol = " &amp; nEndECol &amp; " nEndERow = " &amp; nEndERow)
+ Test.MethodTested("gotoEnd()", bOK)
+
+ Test.StartMethod("gotoPrevious()")
+ bOK = true
+ oObj.gotoPrevious()
+ oAddress = oObj.getRangeAddress()
+ nPrevECol = oAddress.EndColumn
+ nPrevERow = oAddress.EndRow
+ bOK = bOK AND ((nPrevECol &lt; nEndECol) OR (nPrevERow &lt; nEndERow))
+ Out.Log("nPrevECol = " &amp; nPrevECol &amp; " nPrevERow = " &amp; nPrevERow)
+ Test.MethodTested("gotoPrevious()", bOK)
+
+ Test.StartMethod("gotoOffset()")
+ bOK = true
+ oObj.gotoStart()
+ oObj.gotoOffset(1,1)
+ oAddress = oObj.getRangeAddress()
+ nOffECol = oAddress.EndColumn
+ nOffERow = oAddress.EndRow
+ bOK = bOK AND (nOffECol = nStartSCol + 1) AND (nOffERow = nStartSRow + 1)
+ Out.Log("nOffECol = " &amp; nOffECol &amp; " nOffERow = " &amp; nOffERow)
+ Test.MethodTested("gotoOffset()", bOK)
+
+ if bSupport then
+ Out.Log("Reset to old range: " &amp; ResetCols &amp; "," &amp; ResetRows)
+ oObj.collapseToSize(ResetCols, ResetRows)
+ end if
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XCellRange/script.xlb b/qadevOOo/tests/basic/ifc/table/XCellRange/script.xlb
new file mode 100644
index 000000000000..432c2e2fd845
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XCellRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XCellRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XCellRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XCellRange/table_XCellRange.xba b/qadevOOo/tests/basic/ifc/table/XCellRange/table_XCellRange.xba
new file mode 100644
index 000000000000..84588e716650
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XCellRange/table_XCellRange.xba
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XCellRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' You can only get ranges within your
+' object-range. That means is your object-range
+' is (A1:C3) you can get only a range within
+' (A1:C3).
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XCellRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oCell As Object
+ Dim oCellRange As Object
+ Dim oCellRange1 As Object
+ Dim bSupport As Boolean
+ Dim oAddress As Object
+ Dim nSCol As Long, nECol As Long
+ Dim nSRow As Long, nERow As Long
+ Dim nCol As Long, nRow As Long
+ Dim cSCol As String, cECol As String
+
+ bOK = true
+ 'does the object support this service? If yes, the object is a range itself.
+ 'So we must look for the range address to be get a valid range
+ if hasUnoInterfaces( oObj, "com.sun.star.sheet.XCellRangeAddressable" ) then
+ Out.Log("Object supports com.sun.star.sheet.XCellRangeAddressable")
+ bSupport = true
+ oAddress = oObj.getRangeAddress()
+ nSCol = oAddress.StartColumn
+ nECol = oAddress.EndColumn
+ nSRow = oAddress.StartRow
+ nERow = oAddress.EndRow
+ nCol = nECol - nSCol
+ nRow = nERow - nSRow
+ else
+ bSupport = false
+ nCol = 1
+ nRow = 1
+ end if
+
+ Test.StartMethod("getCellByPosition()")
+ bOK = true
+ Out.Log("try to getCellByPosition(" + nCol + "," + nRow + ")")
+ oCell = oObj.getCellByPosition(nCol, nRow)
+ bOK = bOK AND hasUnoInterfaces( oCell, "com.sun.star.table.XCell" )
+ Test.MethodTested("getCellByPosition()", bOK)
+
+ Test.StartMethod("getCellRangeByPosition()")
+ bOK = true
+ Out.Log("try to getCellRangeByPosition(0,0," + nCol + "," + nRow + ")")
+ oCellRange = oObj.getCellRangeByPosition(0, 0, nCol, nRow)
+ bOK = bOK AND hasUnoInterfaces( oCellRange, "com.sun.star.table.XCellRange" )
+ Test.MethodTested("getCellRangeByPosition()", bOK)
+
+ Test.StartMethod("getCellRangeByName()")
+ bOK = true
+ if bSupport then
+ oAddress = oObj.getRangeAddress()
+ nSCol = oAddress.StartColumn
+ nECol = oAddress.EndColumn
+ nSRow = oAddress.StartRow
+ nERow = oAddress.EndRow
+ cSCol = getCharacter(nSCol)
+ cECol = getCharacter(nECol)
+ else
+ nSRow = 0
+ nERow = 2
+ cSCol = "A"
+ cECol = "C"
+ end if
+ Out.Log("Try to getCellRangeByName(""" + cSCol + (nSRow + 1) + ":" + cECol + (nERow + 1) + """)")
+ oCellRange1 = oObj.getCellRangeByName("" + cSCol + (nSRow + 1) + ":" + cECol + (nERow + 1))
+ bOK = bOK AND hasUnoInterfaces( oCellRange1, "com.sun.star.table.XCellRange" )
+ Test.MethodTested("getCellRangeByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Function getCharacter( nCol as Integer) as String
+ Dim Char As String
+ Dim nNum As Integer
+ nNum = nCol
+ Char = ""
+ if (nNum - 26) &gt; 0 Then
+ Char = Chr((nNum mod 26)+65)
+ nNum = Int((nNum - 26)/ 26)
+ end if
+ Char = Chr(nNum + 65) + Char
+ getCharacter = Char
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XColumnRowRange/script.xlb b/qadevOOo/tests/basic/ifc/table/XColumnRowRange/script.xlb
new file mode 100644
index 000000000000..7dc9dec2d4c2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XColumnRowRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XColumnRowRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XColumnRowRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XColumnRowRange/table_XColumnRowRange.xba b/qadevOOo/tests/basic/ifc/table/XColumnRowRange/table_XColumnRowRange.xba
new file mode 100644
index 000000000000..8b22ff74500e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XColumnRowRange/table_XColumnRowRange.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XColumnRowRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XColumnRowRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oColumns As Variant
+ Dim oRows As Variant
+
+ Test.StartMethod("getColumns()")
+ bOK = true
+ oColumns = oObj.getColumns()
+ bOK = bOK AND hasUnoInterfaces( oColumns, "com.sun.star.table.XTableColumns" )
+ Test.MethodTested("getColumns()", bOK)
+
+ Test.StartMethod("getRows()")
+ bOK = true
+ oRows = oObj.getRows()
+ bOK = bOK AND hasUnoInterfaces( oRows, "com.sun.star.table.XTableRows" )
+ Test.MethodTested("getRows()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableChart/script.xlb b/qadevOOo/tests/basic/ifc/table/XTableChart/script.xlb
new file mode 100644
index 000000000000..7a8bc8b28a2e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableChart/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XTableChart" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XTableChart"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableChart/table_XTableChart.xba b/qadevOOo/tests/basic/ifc/table/XTableChart/table_XTableChart.xba
new file mode 100644
index 000000000000..8d5caa7f9faa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableChart/table_XTableChart.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XTableChart" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XTableChart
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim tAddr(0) As New com.sun.star.table.CellRangeAddress
+ Dim objAddr As Object
+
+ Test.StartMethod("getHasColumnHeaders()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getHasColumnHeaders())
+ Test.MethodTested("getHasColumnHeaders()", bOK)
+
+ Test.StartMethod("setHasColumnHeaders()")
+ bOK = true
+ oObj.setHasColumnHeaders(true)
+ bOK = bOK AND oObj.getHasColumnHeaders() = true
+ oObj.setHasColumnHeaders(false)
+ bOK = bOK AND oObj.getHasColumnHeaders() = false
+ Test.MethodTested("setHasColumnHeaders()", bOK)
+
+ Test.StartMethod("getHasRowHeaders()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getHasRowHeaders())
+ Test.MethodTested("getHasRowHeaders()", bOK)
+
+ Test.StartMethod("setHasRowHeaders()")
+ bOK = true
+ oObj.setHasRowHeaders(true)
+ bOK = bOK AND oObj.getHasRowHeaders()
+ oObj.setHasRowHeaders(false)
+ bOK = bOK AND oObj.getHasRowHeaders() = false
+ Test.MethodTested("setHasRowHeaders()", bOK)
+
+ Test.StartMethod("getRanges()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getRanges())
+ Test.MethodTested("getRanges()", bOK)
+
+ Test.StartMethod("setRanges()")
+ bOK = true
+ tAddr(0).Sheet = 0
+ tAddr(0).StartRow = 0
+ tAddr(0).StartColumn = 0
+ tAddr(0).EndRow = 3
+ tAddr(0).EndColumn = 3
+
+ oObj.setRanges(tAddr())
+ objAddr = oObj.getRanges()
+ bOK = bOK AND NOT isNULL(objAddr)
+ if bOK then
+ Out.Log("oChart.getRanges() returned array of " &amp; ubound(objAddr) + 1 &amp; " element(s)")
+ bOK = bOK AND (ubound(objAddr) &lt;&gt; -1)
+ end if
+ Test.MethodTested("setRanges()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableCharts/script.xlb b/qadevOOo/tests/basic/ifc/table/XTableCharts/script.xlb
new file mode 100644
index 000000000000..e02edbd313f5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableCharts/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XTableCharts" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XTableCharts"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableCharts/table_XTableCharts.xba b/qadevOOo/tests/basic/ifc/table/XTableCharts/table_XTableCharts.xba
new file mode 100644
index 000000000000..b9a76250e533
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableCharts/table_XTableCharts.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XTableCharts" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cChartDataAddress As New com.sun.star.table.CellRangeAddress
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XTableCharts
+'*************************************************************************
+On Error Goto ErrHndl
+On Error goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim cCount As Integer
+ cCount = oObj.count()
+
+ Dim tRect As New com.sun.star.awt.Rectangle
+ tRect.X = 100
+ tRect.Y = 100
+ tRect.Width = 5000
+ tRect.Height = 2000
+
+ Test.StartMethod("addNewByName()")
+ bOK = true
+
+ Dim oRanges(0) As New com.sun.star.table.CellRangeAddress
+ oRanges(0).Sheet = cChartDataAddress.Sheet
+ oRanges(0).StartRow = cChartDataAddress.StartRow
+ oRanges(0).EndRow = cChartDataAddress.EndRow
+ oRanges(0).StartColumn = cChartDataAddress.StartColumn
+ oRanges(0).EndColumn = cChartDataAddress.EndColumn
+
+ oObj.addNewByName("XTableCharts", tRect, oRanges(), true, true)
+ bOK = bOK AND oObj.Count = cCount + 1
+ Out.Log("Inserting chart " &amp; bOK)
+ oInst = oObj.getByName("XTableCharts")
+ bOK = bOK AND NOT isNULL(oInst)
+ Test.MethodTested("addNewByName()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ oObj.removeByName("XTableCharts")
+ bOK = bOK AND (oObj.Count = cCount)
+ Test.MethodTested("removeByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/script.xlb
new file mode 100644
index 000000000000..4103c5404308
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XTableChartsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XTableChartsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/table_XTableChartsSupplier.xba b/qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/table_XTableChartsSupplier.xba
new file mode 100644
index 000000000000..19fa85f4f01d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableChartsSupplier/table_XTableChartsSupplier.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XTableChartsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XTableChartsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getCharts()")
+ bOK = true
+ oCharts = oObj.getCharts()
+ bOK = bOK AND hasUnoInterfaces(oCharts, "com.sun.star.table.XTableCharts")
+ Test.MethodTested("getCharts()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableColumns/script.xlb b/qadevOOo/tests/basic/ifc/table/XTableColumns/script.xlb
new file mode 100644
index 000000000000..efeba31d43bd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableColumns/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XTableColumns" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XTableColumns"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableColumns/table_XTableColumns.xba b/qadevOOo/tests/basic/ifc/table/XTableColumns/table_XTableColumns.xba
new file mode 100644
index 000000000000..40aafed887c0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableColumns/table_XTableColumns.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XTableColumns" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oTable As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XTableColumns
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Out.Log("Filling three cells.")
+ oTable.getCellByPosition(0, 0).String = cObjectName &amp; " 1"
+ oTable.getCellByPosition(1, 0).String = cObjectName &amp; " 2"
+ oTable.getCellByPosition(2, 0).String = ""
+
+ Test.StartMethod("insertByIndex()")
+ bOK = true
+ oObj.insertByIndex(1, 1)
+ bOK = bOK AND oTable.getCellByPosition(0, 0).String = cObjectName &amp; " 1"
+ bOK = bOK AND oTable.getCellByPosition(1, 0).String = ""
+ bOK = bOK AND oTable.getCellByPosition(2, 0).String = cObjectName &amp; " 2"
+ Test.MethodTested("insertByIndex()", bOK)
+
+ Test.StartMethod("removeByIndex()")
+ bOK = true
+ oObj.removeByIndex(1, 1)
+ bOK = bOK AND oTable.getCellByPosition(0, 0).String = cObjectName &amp; " 1"
+ bOK = bOK AND oTable.getCellByPosition(1, 0).String = cObjectName &amp; " 2"
+ bOK = bOK AND oTable.getCellByPosition(2, 0).String = ""
+ Test.MethodTested("removeByIndex()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableRows/script.xlb b/qadevOOo/tests/basic/ifc/table/XTableRows/script.xlb
new file mode 100644
index 000000000000..83ad19104b27
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableRows/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="table_XTableRows" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="table_XTableRows"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/table/XTableRows/table_XTableRows.xba b/qadevOOo/tests/basic/ifc/table/XTableRows/table_XTableRows.xba
new file mode 100644
index 000000000000..e86e922ba644
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XTableRows/table_XTableRows.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="table_XTableRows" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oTable As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XTableRows
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Out.Log("Filling three cells.")
+ oTable.getCellByPosition(0, 0).String = cObjectName &amp; " 1"
+ oTable.getCellByPosition(0, 1).String = cObjectName &amp; " 2"
+ oTable.getCellByPosition(0, 2).String = ""
+
+ Test.StartMethod("insertByIndex()")
+ bOK = true
+ Out.Log("Insert Row between first ones")
+ oObj.insertByIndex(1, 1)
+ bOK = bOK AND oTable.getCellByPosition(0, 0).String = cObjectName &amp; " 1"
+ bOK = bOK AND oTable.getCellByPosition(0, 1).String = ""
+ bOK = bOK AND oTable.getCellByPosition(0, 2).String = cObjectName &amp; " 2"
+ Test.MethodTested("insertByIndex()", bOK)
+
+ Test.StartMethod("removeByIndex()")
+ bOK = true
+ oObj.removeByIndex(1, 1)
+ bOK = bOK AND oTable.getCellByPosition(0, 0).String = cObjectName &amp; " 1"
+ bOK = bOK AND oTable.getCellByPosition(0, 1).String = cObjectName &amp; " 2"
+ bOK = bOK AND oTable.getCellByPosition(0, 2).String = ""
+ Test.MethodTested("removeByIndex()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/task/XInteractionHandler/script.xlb b/qadevOOo/tests/basic/ifc/task/XInteractionHandler/script.xlb
new file mode 100644
index 000000000000..0e5931a99ef8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/task/XInteractionHandler/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="task_XInteractionHandler" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="task_XInteractionHandler"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/task/XInteractionHandler/task_XInteractionHandler.xba b/qadevOOo/tests/basic/ifc/task/XInteractionHandler/task_XInteractionHandler.xba
new file mode 100644
index 000000000000..2caad798f534
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/task/XInteractionHandler/task_XInteractionHandler.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="task_XInteractionHandler" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.task.XInteractionHandler
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bExExpected As Boolean
+
+ Test.StartMethod("handle()")
+ bOK = true
+
+ ' This method needs an com::sun::star::task::XInteractionRequest
+ ' as a parameter. In BASIC we can't create own services.
+ ' So we can't create an instance that supports XInteractionRequest.
+ ' All that can be tested here is that there is no exception when
+ ' calling this method with NULL and that there IS an exception,
+ ' when calling method with wrong parameter.
+
+ bExExpected = false
+ oObj.handle(NULL)
+
+ bExExpected = true
+ oObj.handle(oObj)
+
+ Test.MethodTested("handle()", bOK)
+
+Exit Sub
+ErrHndl:
+ if (bExExpected) then
+ Out.Log("EXPECTED EXCEPTION. " &amp; error)
+ else
+ Test.Exception()
+ bOK = false
+ end if
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/task/XJob/script.xlb b/qadevOOo/tests/basic/ifc/task/XJob/script.xlb
new file mode 100644
index 000000000000..2d25220b6ee4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/task/XJob/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="task_XJob" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="task_XJob"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/task/XJob/task_XJob.xba b/qadevOOo/tests/basic/ifc/task/XJob/task_XJob.xba
new file mode 100644
index 000000000000..8461cbeb6bdc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/task/XJob/task_XJob.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="task_XJob" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global vXJobArgs(0 to n) as Variant
+' Example:
+' Dim vXJobArg0(0 to 0) as new com.sun.star.beans.NamedValue
+' Dim vXJobArg1(0 to 0) as new com.sun.star.beans.NamedValue
+' vXJobArgs0(0).Name = "MyProperty": vXJobArg0(0).Vaue = "MyValue"
+' vXJobArgs1(0).Name = "MyProperty": vXJobArg0(0).Vaue = "My2ndValue"
+' vXJobArgs(0) = vXJobArg0()
+' vXJobArgs(1) = vXJobArg1()
+
+
+'*************************************************************************
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.task.XJob
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bRun as Boolean
+ Dim n as Integer
+
+ out.dbg("Start tests of com.sun.star.task.XJob #########")
+ ReCreateObj()
+
+ Test.StartMethod("execute()")
+
+ bOK = TRUE
+ for n = 0 to uBound(vXJobArgs())
+ bRun = FALSE
+ out.dbg("running vXJobArgs(" + n + ")")
+ bRun = oObj.execute(vXJobArgs(n))
+ bOK = bOK AND bRun
+ out.dbg("Result: " + bRun)
+ next n
+ Test.MethodTested("execute()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/script.xlb b/qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/script.xlb
new file mode 100644
index 000000000000..782ede80daa4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="task_XStatusIndicatorFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="task_XStatusIndicatorFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/task_XStatusIndicatorFactory.xba b/qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/task_XStatusIndicatorFactory.xba
new file mode 100644
index 000000000000..b9094a0e9f10
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/task/XStatusIndicatorFactory/task_XStatusIndicatorFactory.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="task_XStatusIndicatorFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.task.XStatusIndicatorFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("createStatusIndicator()")
+ bOK = true
+ Dim SI1 As Object, SI2 As Object
+ SI1 = oObj.createStatusIndicator()
+ SI2 = oObj.createStatusIndicator()
+ 'Start all Indicators
+ SI1.start("Status1", 100)
+ SI2.start("Status2", 100)
+
+ 'change SI2
+ SI2.setText("A new name for the status")
+ SI2.setValue(45)
+ SI2.reset()
+ SI2.end()
+
+ 'Now SI1 is active
+ SI1.end()
+
+ bOK = Not isNull(SI1)
+ Test.MethodTested("createStatusIndicator()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseFrame/script.xlb b/qadevOOo/tests/basic/ifc/text/BaseFrame/script.xlb
new file mode 100644
index 000000000000..27ce09a2bb2c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseFrame/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_BaseFrame" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_BaseFrame"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseFrame/text_BaseFrame.xba b/qadevOOo/tests/basic/ifc/text/BaseFrame/text_BaseFrame.xba
new file mode 100644
index 000000000000..30f616fe44e1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseFrame/text_BaseFrame.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_BaseFrame" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.BaseFrame
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim FrameStyles(6) as String
+ FrameStyles(0) = "Formula"
+ FrameStyles(1) = "Graphics"
+ FrameStyles(2) = "Marginalia"
+ FrameStyles(3) = "OLE"
+ FrameStyles(4) = "Labels"
+ FrameStyles(5) = "Watermark"
+ FrameStyles(6) = "Frame"
+ PropertyTester.TestProperty("FrameStyleName", FrameStyles())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseFrameProperties/script.xlb b/qadevOOo/tests/basic/ifc/text/BaseFrameProperties/script.xlb
new file mode 100644
index 000000000000..d19bf601e574
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseFrameProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_BaseFrameProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_BaseFrameProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseFrameProperties/text_BaseFrameProperties.xba b/qadevOOo/tests/basic/ifc/text/BaseFrameProperties/text_BaseFrameProperties.xba
new file mode 100644
index 000000000000..979432e5a5f1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseFrameProperties/text_BaseFrameProperties.xba
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_BaseFrameProperties" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.BaseFrameProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ oObj.SizeProtected = false
+
+ PropertyTester.TestProperty("ShadowFormat")
+
+ Dim nPages(0 to 2) As Integer
+ nPages(0) = 1
+ nPages(1) = 3
+ nPages(2) = 1
+ PropertyTester.TestProperty("AnchorPageNo",nPages())
+
+ PropertyTester.TestProperty("BackColor")
+
+ PropertyTester.TestProperty("BackGraphicURL")
+
+ PropertyTester.TestProperty("BackGraphicFilter")
+
+ PropertyTester.TestProperty("BackGraphicLocation")
+
+ PropertyTester.TestProperty("LeftBorder")
+
+ PropertyTester.TestProperty("RightBorder")
+
+ PropertyTester.TestProperty("TopBorder")
+
+ PropertyTester.TestProperty("BottomBorder")
+
+ PropertyTester.TestProperty("BorderDistance")
+
+ PropertyTester.TestProperty("LeftBorderDistance")
+
+ PropertyTester.TestProperty("RightBorderDistance")
+
+ PropertyTester.TestProperty("TopBorderDistance")
+
+ PropertyTester.TestProperty("BottomBorderDistance")
+
+ PropertyTester.TestProperty("BackTransparent")
+
+ PropertyTester.TestProperty("ContentProtected")
+
+ PropertyTester.TestProperty("LeftMargin")
+
+ PropertyTester.TestProperty("RightMargin")
+
+ PropertyTester.TestProperty("TopMargin")
+
+ PropertyTester.TestProperty("BottomMargin")
+
+ Dim aRelative(2) As Integer
+ aRelative(0) = 10
+ aRelative(1) = 20
+ aRelative(2) = 0
+ PropertyTester.TestProperty("RelativeHeight", aRelative())
+
+ PropertyTester.TestProperty("RelativeWidth", aRelative())
+
+ PropertyTester.TestProperty("Height")
+
+ PropertyTester.TestProperty("Width")
+
+ PropertyTester.TestProperty("IsSyncWidthToHeight")
+
+ PropertyTester.TestProperty("IsSyncHeightToWidth")
+
+ Dim aHoriOrient(3) As Integer
+ aHoriOrient(0) = com.sun.star.text.HoriOrientation.RIGHT
+ aHoriOrient(1) = com.sun.star.text.HoriOrientation.CENTER
+ aHoriOrient(2) = com.sun.star.text.HoriOrientation.LEFT
+ aHoriOrient(3) = com.sun.star.text.HoriOrientation.NONE
+ PropertyTester.TestProperty("HoriOrient", aHoriOrient())
+
+ PropertyTester.TestProperty("HoriOrientPosition")
+
+ Dim aHoriRelations(3) As Integer
+ aHoriRelations(0) = com.sun.star.text.RelOrientation.FRAME
+ aHoriRelations(1) = com.sun.star.text.RelOrientation.CHAR
+ aHoriRelations(2) = com.sun.star.text.RelOrientation.PAGE_LEFT
+ aHoriRelations(3) = com.sun.star.text.RelOrientation.PAGE_RIGHT
+
+ PropertyTester.TestProperty("HoriOrientRelation", aHoriRelations())
+
+ Dim aVertOrient(3) As Integer
+ aVertOrient(0) = com.sun.star.text.VertOrientation.TOP
+ aVertOrient(1) = com.sun.star.text.VertOrientation.CENTER
+ aVertOrient(2) = com.sun.star.text.VertOrientation.BOTTOM
+ aVertOrient(3) = com.sun.star.text.VertOrientation.NONE
+ PropertyTester.TestProperty("VertOrient", aVertOrient())
+
+ PropertyTester.TestProperty("VertOrientPosition", aVertOrient())
+
+ Dim aVertRelations(3) As Integer
+ aVertRelations(0) = com.sun.star.text.RelOrientation.FRAME
+ aVertRelations(1) = com.sun.star.text.RelOrientation.CHAR
+ aVertRelations(2) = com.sun.star.text.RelOrientation.PAGE_LEFT
+ aVertRelations(3) = com.sun.star.text.RelOrientation.PAGE_RIGHT
+ PropertyTester.TestProperty("VertOrientRelation", aVertRelations())
+
+ PropertyTester.TestProperty("HyperLinkURL")
+
+ PropertyTester.TestProperty("HyperLinkTarget")
+
+ PropertyTester.TestProperty("HyperLinkName")
+
+ PropertyTester.TestProperty("Opaque")
+
+ PropertyTester.TestProperty("PageToggle")
+
+ PropertyTester.TestProperty("PositionProtected")
+
+ PropertyTester.TestProperty("Print")
+
+ PropertyTester.TestProperty("ServerMap")
+
+ oObj.SizeProtected = false
+ PropertyTester.TestProperty("Size")
+
+ PropertyTester.TestProperty("SizeProtected")
+
+ oObj.SizeProtected = false
+
+ PropertyTester.TestProperty("Surround")
+
+ PropertyTester.TestProperty("SurroundAnchorOnly")
+
+ PropertyTester.TestProperty("AnchorFrame")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseIndex/script.xlb b/qadevOOo/tests/basic/ifc/text/BaseIndex/script.xlb
new file mode 100644
index 000000000000..d3f4a6b1a23f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseIndex/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_BaseIndex" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_BaseIndex"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseIndex/text_BaseIndex.xba b/qadevOOo/tests/basic/ifc/text/BaseIndex/text_BaseIndex.xba
new file mode 100644
index 000000000000..92a93336bdb7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseIndex/text_BaseIndex.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_BaseIndex" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.BaseIndex
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Title")
+
+ PropertyTester.TestProperty("IsProtected")
+
+ PropertyTester.TestProperty("ParaStyleHeading")
+
+ PropertyTester.TestProperty("ParaStyleLevel1")
+
+ PropertyTester.TestProperty("ParaStyleLevel2")
+
+ PropertyTester.TestProperty("ParaStyleLevel3")
+
+ PropertyTester.TestProperty("ParaStyleLevel4")
+
+ PropertyTester.TestProperty("ParaStyleLevel5")
+
+ PropertyTester.TestProperty("ParaStyleLevel6")
+
+ PropertyTester.TestProperty("ParaStyleLevel7")
+
+ PropertyTester.TestProperty("ParaStyleLevel8")
+
+ PropertyTester.TestProperty("ParaStyleLevel9")
+
+ PropertyTester.TestProperty("ParaStyleLevel10")
+
+ PropertyTester.TestProperty("ParaStyleSeparator")
+
+ PropertyTester.TestProperty("TextColumns")
+
+ PropertyTester.TestProperty("BackGraphicURL")
+
+ PropertyTester.TestProperty("BackGraphicFilter")
+
+ PropertyTester.TestProperty("BackGraphicLocation")
+
+ PropertyTester.TestProperty("BackTransparent")
+
+ PropertyTester.TestProperty("LevelFormat")
+
+ PropertyTester.TestProperty("CreateFromChapter")
+
+ PropertyTester.TestProperty("HeaderSection")
+
+ PropertyTester.TestProperty("ContentSection")
+
+ PropertyTester.TestProperty("BackColor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseIndexMark/script.xlb b/qadevOOo/tests/basic/ifc/text/BaseIndexMark/script.xlb
new file mode 100644
index 000000000000..dc54b5b8fdfb
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseIndexMark/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_BaseIndexMark" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_BaseIndexMark"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/BaseIndexMark/text_BaseIndexMark.xba b/qadevOOo/tests/basic/ifc/text/BaseIndexMark/text_BaseIndexMark.xba
new file mode 100644
index 000000000000..da934f4f49cc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/BaseIndexMark/text_BaseIndexMark.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_BaseIndexMark" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.BaseIndexMark
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("AlternativeText")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/CellProperties/script.xlb b/qadevOOo/tests/basic/ifc/text/CellProperties/script.xlb
new file mode 100644
index 000000000000..5fd5c45f6573
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/CellProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_CellProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_CellProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/CellProperties/text_CellProperties.xba b/qadevOOo/tests/basic/ifc/text/CellProperties/text_CellProperties.xba
new file mode 100644
index 000000000000..8d05e4b56b24
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/CellProperties/text_CellProperties.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_CellProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.CellProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("BackColor")
+
+ PropertyTester.TestProperty("BackGraphicURL")
+
+ PropertyTester.TestProperty("BackGraphicFilter")
+
+ PropertyTester.TestProperty("BackGraphicLocation")
+
+ PropertyTester.TestProperty("NumberFormat")
+
+ PropertyTester.TestProperty("BackTransparent")
+
+ PropertyTester.TestProperty("LeftBorder")
+
+ PropertyTester.TestProperty("RightBorder")
+
+ PropertyTester.TestProperty("TopBorder")
+
+ PropertyTester.TestProperty("BottomBorder")
+
+ PropertyTester.TestProperty("LeftBorderDistance")
+
+ PropertyTester.TestProperty("RightBorderDistance")
+
+ PropertyTester.TestProperty("TopBorderDistance")
+
+ PropertyTester.TestProperty("BottomBorderDistance")
+
+ PropertyTester.TestProperty("UserDefinedAttributes")
+
+ PropertyTester.TestProperty("TextSection")
+
+ Dim myParams(2) As Boolean
+ myParams(0) = true
+ myParams(1) = false
+ myParams(1) = false
+ PropertyTester.TestProperty("IsProtected", myParams())
+
+ PropertyTester.TestProperty("CellName")
+
+
+ Dim orient(9) as Integer
+ orient(0) = com.sun.star.text.VertOrientation.NONE
+ orient(1) = com.sun.star.text.VertOrientation.TOP
+ orient(2) = com.sun.star.text.VertOrientation.CENTER
+ orient(3) = com.sun.star.text.VertOrientation.BOTTOM
+ orient(4) = com.sun.star.text.VertOrientation.CHAR_TOP
+ orient(5) = com.sun.star.text.VertOrientation.CHAR_CENTER
+ orient(6) = com.sun.star.text.VertOrientation.CHAR_BOTTOM
+ orient(7) = com.sun.star.text.VertOrientation.LINE_TOP
+ orient(8) = com.sun.star.text.VertOrientation.LINE_CENTER
+ orient(9) = com.sun.star.text.VertOrientation.LINE_BOTTOM
+
+ PropertyTester.TestProperty("VertOrient", orient())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/CellRange/script.xlb b/qadevOOo/tests/basic/ifc/text/CellRange/script.xlb
new file mode 100644
index 000000000000..59e6c295861d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/CellRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_CellRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_CellRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/CellRange/text_CellRange.xba b/qadevOOo/tests/basic/ifc/text/CellRange/text_CellRange.xba
new file mode 100644
index 000000000000..63a3e78e1975
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/CellRange/text_CellRange.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_CellRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.CellRange
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("BackColor")
+
+ PropertyTester.TestProperty("BackGraphicFilter")
+
+ PropertyTester.TestProperty("BackGraphicLocation")
+
+ PropertyTester.TestProperty("BackGraphicURL")
+
+ PropertyTester.TestProperty("BackTransparent")
+
+ PropertyTester.TestProperty("ChartColumnAsLabel")
+
+ PropertyTester.TestProperty("ChartRowAsLabel")
+
+ PropertyTester.TestProperty("NumberFormat")
+
+ PropertyTester.TestProperty("TopMargin")
+
+ PropertyTester.TestProperty("BottomMargin")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/Defaults/script.xlb b/qadevOOo/tests/basic/ifc/text/Defaults/script.xlb
new file mode 100644
index 000000000000..6b41f6d1336a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/Defaults/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_Defaults" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_Defaults"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/Defaults/text_Defaults.xba b/qadevOOo/tests/basic/ifc/text/Defaults/text_Defaults.xba
new file mode 100644
index 000000000000..0c7bcf3c2c82
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/Defaults/text_Defaults.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_Defaults" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.Defaults
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("TabStopDistance")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/DocumentIndex/script.xlb b/qadevOOo/tests/basic/ifc/text/DocumentIndex/script.xlb
new file mode 100644
index 000000000000..387227462568
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/DocumentIndex/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_DocumentIndex" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_DocumentIndex"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/DocumentIndex/text_DocumentIndex.xba b/qadevOOo/tests/basic/ifc/text/DocumentIndex/text_DocumentIndex.xba
new file mode 100644
index 000000000000..e0578779377d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/DocumentIndex/text_DocumentIndex.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_DocumentIndex" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.DocumentIndex
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("UseAlphabeticalSeparators")
+ PropertyTester.TestProperty("UseKeyAsEntry")
+ PropertyTester.TestProperty("UseCombinedEntries")
+ PropertyTester.TestProperty("IsCaseSensitive")
+ PropertyTester.TestProperty("UsePP")
+ PropertyTester.TestProperty("UseDash")
+ PropertyTester.TestProperty("UseUpperCase")
+ PropertyTester.TestProperty("MainEntryCharacterStyleName")
+ PropertyTester.TestProperty("DocumentIndexMarks")
+ PropertyTester.TestProperty("Locale")
+ PropertyTester.TestProperty("SortAlgorithm")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/DocumentIndexMark/script.xlb b/qadevOOo/tests/basic/ifc/text/DocumentIndexMark/script.xlb
new file mode 100644
index 000000000000..46a08a71d963
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/DocumentIndexMark/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_DocumentIndexMark" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_DocumentIndexMark"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/DocumentIndexMark/text_DocumentIndexMark.xba b/qadevOOo/tests/basic/ifc/text/DocumentIndexMark/text_DocumentIndexMark.xba
new file mode 100644
index 000000000000..db7e459465dd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/DocumentIndexMark/text_DocumentIndexMark.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_DocumentIndexMark" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.DocumentIndexMark
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("PrimaryKey")
+
+ PropertyTester.TestProperty("SecondaryKey")
+
+ PropertyTester.TestProperty("IsMainEntry")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/Footnote/script.xlb b/qadevOOo/tests/basic/ifc/text/Footnote/script.xlb
new file mode 100644
index 000000000000..d0a6ba452943
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/Footnote/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_Footnote" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_Footnote"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/Footnote/text_Footnote.xba b/qadevOOo/tests/basic/ifc/text/Footnote/text_Footnote.xba
new file mode 100644
index 000000000000..12dd74714f6e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/Footnote/text_Footnote.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_Footnote" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.Footnote
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("ReferenceId")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/FootnoteSettings/script.xlb b/qadevOOo/tests/basic/ifc/text/FootnoteSettings/script.xlb
new file mode 100644
index 000000000000..552949b4a5ff
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/FootnoteSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_FootnoteSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_FootnoteSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/FootnoteSettings/text_FootnoteSettings.xba b/qadevOOo/tests/basic/ifc/text/FootnoteSettings/text_FootnoteSettings.xba
new file mode 100644
index 000000000000..2645f19b2808
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/FootnoteSettings/text_FootnoteSettings.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_FootnoteSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.FootnoteSettings
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Dim aSymbolArr(1) As String
+ aSymbolArr(0) = "Footnote Symbol"
+ aSymbolArr(1) = "Endnote Symbol"
+ PropertyTester.TestProperty("CharStyleName",aSymbolArr())
+
+ PropertyTester.TestProperty("NumberingType")
+
+ Dim aPageStyles(0 to 2) As String
+ aPageStyles(0) = "HTML"
+ aPageStyles(1) = "Index"
+ aPageStyles(2) = "Endnote"
+ PropertyTester.TestProperty("PageStyleName",aPageStyles())
+
+ Dim aParaStyles(0 to 2) As String
+ aParaStyles(0) = "Heading"
+ aParaStyles(1) = "Signature"
+ aParaStyles(2) = "Standard"
+ PropertyTester.TestProperty("ParaStyleName",aParaStyles())
+
+ PropertyTester.TestProperty("Prefix")
+
+ PropertyTester.TestProperty("StartAt")
+
+ PropertyTester.TestProperty("Suffix")
+
+ PropertyTester.TestProperty("BeginNotice")
+
+ PropertyTester.TestProperty("EndNotice")
+
+ Dim aCounting(0 to 1) As Integer
+ aCounting(0) = 1
+ aCounting(1) = 2
+ PropertyTester.TestProperty("FootnoteCounting",aCounting())
+
+ PropertyTester.TestProperty("PositionEndOfDoc")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/LineNumberingProperties/script.xlb b/qadevOOo/tests/basic/ifc/text/LineNumberingProperties/script.xlb
new file mode 100644
index 000000000000..23e31fcc63f6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/LineNumberingProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_LineNumberingProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_LineNumberingProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/LineNumberingProperties/text_LineNumberingProperties.xba b/qadevOOo/tests/basic/ifc/text/LineNumberingProperties/text_LineNumberingProperties.xba
new file mode 100644
index 000000000000..14e1bca8b5cf
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/LineNumberingProperties/text_LineNumberingProperties.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_LineNumberingProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.LineNumberingProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("IsOn")
+
+ Dim aNames(1) As String
+ aNames(0) = "Endnote anchor"
+ aNames(1) = "Endnote Symbol"
+ PropertyTester.TestProperty("CharStyleName", aNames())
+
+ PropertyTester.TestProperty("CountEmptyLines")
+
+ PropertyTester.TestProperty("CountLinesInFrames")
+
+ PropertyTester.TestProperty("Distance")
+
+ PropertyTester.TestProperty("Interval")
+
+ PropertyTester.TestProperty("SeparatorText")
+
+ PropertyTester.TestProperty("SeparatorInterval")
+
+ Dim aPositions(1) As Integer
+ aPositions(0) = 1
+ aPositions(1) = 0
+ PropertyTester.TestProperty("NumberPosition", aPositions())
+
+ PropertyTester.TestProperty("NumberingType")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/MailMerge/script.xlb b/qadevOOo/tests/basic/ifc/text/MailMerge/script.xlb
new file mode 100644
index 000000000000..8ea1d96356a7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/MailMerge/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_MailMerge" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="text_MailMerge"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/MailMerge/text_MailMerge.xba b/qadevOOo/tests/basic/ifc/text/MailMerge/text_MailMerge.xba
new file mode 100644
index 000000000000..aa267aa9ff37
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/MailMerge/text_MailMerge.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_MailMerge" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global cMailMerge_DocumentURL as String
+' cMailMerge_DocumentURL must be a valid Document URL
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.MailMerge
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("DataSourceName")
+
+ Dim DataCommandTypes(2) as Integer
+ DataCommandTypes(0) = com.sun.star.sdb.CommandType.TABLE
+ DataCommandTypes(1) = com.sun.star.sdb.CommandType.QUERY
+ DataCommandTypes(2) = com.sun.star.sdb.CommandType.COMMAND
+ PropertyTester.TestProperty("CommandType", DataCommandTypes())
+
+ PropertyTester.TestProperty("Command")
+
+ PropertyTester.TestProperty("ResultSet")
+
+ PropertyTester.TestProperty("ActiveConnection")
+
+ PropertyTester.TestProperty("Selection", Array(Array(2,4), Array(1,3)))
+
+ PropertyTester.TestProperty("EscapeProcessing", )
+
+ PropertyTester.TestProperty("Filter")
+
+ PropertyTester.TestProperty("DocumentURL", Array(cMailMerge_DocumentURL))
+
+ PropertyTester.TestProperty("Model")
+
+ PropertyTester.TestProperty("OutputType")
+
+ PropertyTester.TestProperty("SinglePrintJobs")
+
+ PropertyTester.TestProperty("OutputURL", Array(ConvertToURL(utils.getUserPath())))
+
+ PropertyTester.TestProperty("FileNameFromColumn")
+
+ PropertyTester.TestProperty("FileNamePrefix")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/NumberingRules/script.xlb b/qadevOOo/tests/basic/ifc/text/NumberingRules/script.xlb
new file mode 100644
index 000000000000..fdd8280545eb
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/NumberingRules/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_NumberingRules" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_NumberingRules"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/NumberingRules/text_NumberingRules.xba b/qadevOOo/tests/basic/ifc/text/NumberingRules/text_NumberingRules.xba
new file mode 100644
index 000000000000..d46f53eb6c1c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/NumberingRules/text_NumberingRules.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_NumberingRules" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.NumberingRules
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("IsAbsoluteMargins")
+
+ PropertyTester.TestProperty("IsAutomatic")
+
+ PropertyTester.TestProperty("IsContinuousNumbering")
+
+ PropertyTester.TestProperty("Name")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/PrintSettings/script.xlb b/qadevOOo/tests/basic/ifc/text/PrintSettings/script.xlb
new file mode 100644
index 000000000000..9e9b673d4c3e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/PrintSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_PrintSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_PrintSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/PrintSettings/text_PrintSettings.xba b/qadevOOo/tests/basic/ifc/text/PrintSettings/text_PrintSettings.xba
new file mode 100644
index 000000000000..e1519cee1e19
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/PrintSettings/text_PrintSettings.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_PrintSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.PrintSettings
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("PrintGraphics")
+
+ PropertyTester.TestProperty("PrintTables")
+
+ PropertyTester.TestProperty("PrintDrawings")
+
+ PropertyTester.TestProperty("PrintLeftPages")
+
+ PropertyTester.TestProperty("PrintRightPages")
+
+ PropertyTester.TestProperty("PrintControls")
+
+ PropertyTester.TestProperty("PrintReversed")
+
+ PropertyTester.TestProperty("PrintPaperFromSetup")
+
+ PropertyTester.TestProperty("PrintFaxName")
+
+ PropertyTester.TestProperty("PrintAnnotationMode", Array( _
+ com.sun.star.text.NotePrintMode.NOT, _
+ com.sun.star.text.NotePrintMode.ONLY, _
+ com.sun.star.text.NotePrintMode.DOC_END, _
+ com.sun.star.text.NotePrintMode.PAGE_END))
+
+ PropertyTester.TestProperty("PrintProspect")
+
+ PropertyTester.TestProperty("PrintPageBackground")
+
+ PropertyTester.TestProperty("PrintBlackFonts")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/Text/script.xlb b/qadevOOo/tests/basic/ifc/text/Text/script.xlb
new file mode 100644
index 000000000000..e86fce1e13bd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/Text/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_Text" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_Text"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/Text/text_Text.xba b/qadevOOo/tests/basic/ifc/text/Text/text_Text.xba
new file mode 100644
index 000000000000..68ab507293ae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/Text/text_Text.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_Text" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.Text
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("StartRedline")
+
+ PropertyTester.TestProperty("EndRedline")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextColumns/script.xlb b/qadevOOo/tests/basic/ifc/text/TextColumns/script.xlb
new file mode 100644
index 000000000000..c8aeed8326d5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextColumns/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextColumns" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextColumns"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextColumns/text_TextColumns.xba b/qadevOOo/tests/basic/ifc/text/TextColumns/text_TextColumns.xba
new file mode 100644
index 000000000000..e3545193e66e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextColumns/text_TextColumns.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextColumns" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextColumns
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ PropertyTester.TestProperty("IsAutomatic")
+
+ Test.StartMethod("AutomaticDistance")
+ bOK = true
+ if (oObj.IsAutomatic) then
+ bOK = PropertyTester.TestProperty("AutomaticDistance")
+ else
+ Out.Log("AutomaticDistance is available ONLY if IsAutomatic is TRUE. " &amp; _
+ "But it is FALSE.")
+ end if
+
+ Test.MethodTested("AutomaticDistance", bOK)
+
+ PropertyTester.TestProperty("SeparatorLineWidth")
+ PropertyTester.TestProperty("SeparatorLineColor")
+
+ Dim aHeights(1) As Integer
+ aHeights(0) = 10
+ aHeights(1) = 50
+ PropertyTester.TestProperty("SeparatorLineRelativeHeight", aHeights())
+ PropertyTester.TestProperty("SeparatorLineVerticalAlignment")
+ PropertyTester.TestProperty("SeparatorLineIsOn")
+
+Exit Sub
+ErrHndl:
+ bOK = false
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextContent/script.xlb b/qadevOOo/tests/basic/ifc/text/TextContent/script.xlb
new file mode 100644
index 000000000000..a28ef0745bf4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextContent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextContent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextContent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextContent/text_TextContent.xba b/qadevOOo/tests/basic/ifc/text/TextContent/text_TextContent.xba
new file mode 100644
index 000000000000..624a61579033
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextContent/text_TextContent.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextContent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextContent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim noElems()
+ Dim count,i,j As Integer
+
+ j = 0
+ if (oObj.getPropertySetInfo.hasPropertyByName("AnchorTypes")) then
+ count = ubound(oObj.AnchorTypes())
+ if (count &lt;&gt; 0) then
+ Dim aTypes(count-1) As Variant
+ for i = 0 to (count)
+ if oObj.AnchorTypes(i) &lt;&gt; _
+ com.sun.star.text.TextContentAnchorType.AT_FRAME then
+ aTypes(j) = oObj.AnchorTypes(i)
+ j = j + 1
+ endif
+ next i
+ PropertyTester.TestProperty("AnchorType",aTypes())
+ else
+ PropertyTester.TestProperty("AnchorType")
+ endif
+ else
+ PropertyTester.TestProperty("AnchorType")
+ endif
+
+ PropertyTester.TestProperty("AnchorTypes", noElems())
+ PropertyTester.TestProperty("TextWrap")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextDocument/script.xlb b/qadevOOo/tests/basic/ifc/text/TextDocument/script.xlb
new file mode 100644
index 000000000000..852fc6355d18
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextDocument/text_TextDocument.xba b/qadevOOo/tests/basic/ifc/text/TextDocument/text_TextDocument.xba
new file mode 100644
index 000000000000..3a6afbc69419
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextDocument/text_TextDocument.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("CharLocale")
+
+ PropertyTester.TestProperty("CharacterCount")
+
+ PropertyTester.TestProperty("ParagraphCount")
+
+ PropertyTester.TestProperty("WordCount")
+
+ PropertyTester.TestProperty("WordSeparator")
+
+ PropertyTester.TestProperty("IndexAutoMarkFileURL")
+
+ PropertyTester.TestProperty("RecordChanges")
+
+ PropertyTester.TestProperty("TwoDigitYear")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextFieldMaster/script.xlb b/qadevOOo/tests/basic/ifc/text/TextFieldMaster/script.xlb
new file mode 100644
index 000000000000..a9998b0a93f9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextFieldMaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextFieldMaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextFieldMaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextFieldMaster/text_TextFieldMaster.xba b/qadevOOo/tests/basic/ifc/text/TextFieldMaster/text_TextFieldMaster.xba
new file mode 100644
index 000000000000..8355f71faa2a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextFieldMaster/text_TextFieldMaster.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextFieldMaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextFieldMaster
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("Name")
+
+ PropertyTester.TestProperty("DependentTextFields")
+
+ PropertyTester.TestProperty("InstanceName")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextFrame/script.xlb b/qadevOOo/tests/basic/ifc/text/TextFrame/script.xlb
new file mode 100644
index 000000000000..658d59486b38
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextFrame/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextFrame" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextFrame"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextFrame/text_TextFrame.xba b/qadevOOo/tests/basic/ifc/text/TextFrame/text_TextFrame.xba
new file mode 100644
index 000000000000..c634160d7905
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextFrame/text_TextFrame.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextFrame" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextFrame
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj.SizeType = com.sun.star.text.SizeType.VARIABLE
+ PropertyTester.TestProperty("FrameHeightAbsolute")
+
+ PropertyTester.TestProperty("FrameWidthAbsolute")
+
+ Dim aPercents(2) As Integer
+ aPercents(0) = 25
+ aPercents(1) = 50
+ aPercents(2) = 100
+ PropertyTester.TestProperty("FrameWidthPercent", aPercents())
+ PropertyTester.TestProperty("FrameHeightPercent", aPercents())
+
+ PropertyTester.TestProperty("FrameIsAutomaticHeight")
+
+ Dim SizeTypes(2) As Integer
+ SizeTypes(0) = com.sun.star.text.SizeType.VARIABLE
+ SizeTypes(1) = com.sun.star.text.SizeType.FIX
+ SizeTypes(2) = com.sun.star.text.SizeType.MIN
+ PropertyTester.TestProperty("SizeType",SizeTypes())
+
+ PropertyTester.TestProperty("WritingMode", Array(3))
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextGraphicObject/script.xlb b/qadevOOo/tests/basic/ifc/text/TextGraphicObject/script.xlb
new file mode 100644
index 000000000000..0c52b82b2a91
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextGraphicObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextGraphicObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextGraphicObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextGraphicObject/text_TextGraphicObject.xba b/qadevOOo/tests/basic/ifc/text/TextGraphicObject/text_TextGraphicObject.xba
new file mode 100644
index 000000000000..5dec209a0251
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextGraphicObject/text_TextGraphicObject.xba
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextGraphicObject" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextGraphicObject
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("ContentProtected")
+
+ PropertyTester.TestProperty("SurroundContour")
+
+ PropertyTester.TestProperty("ContourOutside")
+
+ Test.StartMethod("ContourPolyPolygon")
+ ' Because in additional parameters we must to
+ ' pass an array of values, we need such array.
+ Dim aPParr1(1) As Variant
+ Dim aPol1(3) As new com.sun.star.awt.Point
+ Dim gArr As Variant
+
+ bOK = true
+ aPol1(0).x = 0 : aPol1(0).y = 0
+ aPol1(1).x = 101 : aPol1(1).y = 0
+ aPol1(2).x = 101 : aPol1(2).y = 101
+ aPol1(3).x = 0 : aPol1(3).y = 101
+ Dim aPol2(3) As new com.sun.star.awt.Point
+ aPol2(0).x = 11 : aPol2(0).y = 11
+ aPol2(1).x = 90 : aPol2(1).y = 11
+ aPol2(2).x = 90 : aPol2(2).y = 90
+ aPol2(3).x = 11 : aPol2(3).y = 90
+ aPParr1(0) = aPol1() : aPParr1(1) = aPol2()
+ oObj.setPropertyValue("ContourPolyPolygon", aPParr1())
+ gArr = oObj.getPropertyValue("ContourPolyPolygon")
+
+ if isArray(gArr) AND ubound(gArr) &gt;= 1 then
+ Dim aP1 As Variant, aP2 As Variant
+
+ aP1 = gArr(0)
+ aP2 = gArr(1)
+ bOK = bOK AND comparePointArrays(aPol1(), aP1, 0, 0, 4)
+ bOK = bOK AND comparePointArrays(aPol2(), aP2, 0, 0, 4)
+
+ ' One more point must be added to close the polygon
+ bOK = bOK AND comparePointArrays(aPol1(), aP1, 0, 4, 1)
+ bOK = bOK AND comparePointArrays(aPol2(), aP2, 0, 4, 1)
+ else
+ Out.Log("Returned value is invalid")
+ Out.Log = false
+ endif
+
+ Test.MethodTested("ContourPolyPolygon", bOK)
+
+' PropertyTester.TestProperty("ContourPolyPolygon",testArr())
+
+ Dim aCropArr(1) As Variant
+ Dim Crop1 As Object
+ Dim Crop2 As Object
+
+ Crop1 = createUnoStruct("com.sun.star.text.GraphicCrop")
+ Crop2 = createUnoStruct("com.sun.star.text.GraphicCrop")
+
+ Crop1.Top = 11 : Crop1.Bottom = 11 : Crop1.Left = 11 : Crop1.Right = 11
+ Crop2.Top = -11 : Crop2.Bottom = 11 : Crop2.Left = -11 : Crop2.Right = 11
+
+ aCropArr(0) = Crop1 : aCropArr(1) = Crop2
+ PropertyTester.TestProperty("GraphicCrop",aCropArr())
+
+ PropertyTester.TestProperty("HoriMirroredOnEvenPages")
+
+ PropertyTester.TestProperty("HoriMirroredOnOddPages")
+
+ PropertyTester.TestProperty("VertMirrored")
+
+ PropertyTester.TestProperty("GraphicURL")
+
+ PropertyTester.TestProperty("GraphicFilter")
+
+ PropertyTester.TestProperty("ActualSize")
+
+ Dim oAdjustArr(4) As Integer
+ oAdjustArr(0) = -100
+ oAdjustArr(1) = -50
+ oAdjustArr(2) = 0
+ oAdjustArr(3) = 50
+ oAdjustArr(4) = 100
+
+ PropertyTester.TestProperty("AdjustLuminance",oAdjustArr())
+
+ PropertyTester.TestProperty("AdjustContrast",oAdjustArr())
+
+ PropertyTester.TestProperty("AdjustRed",oAdjustArr())
+
+ PropertyTester.TestProperty("AdjustGreen",oAdjustArr())
+
+ PropertyTester.TestProperty("AdjustBlue",oAdjustArr())
+
+ PropertyTester.TestProperty("Gamma",oAdjustArr())
+
+ PropertyTester.TestProperty("GraphicIsInverted")
+
+ PropertyTester.TestProperty("Transparency",oAdjustArr())
+
+ PropertyTester.TestProperty("GraphicColorMode")
+
+ PropertyTester.TestProperty("ImageMap")
+
+ PropertyTester.TestProperty("ActualSize")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function comparePointArrays(arr1 As Variant, arr2 As Variant, fromIdx1 As Integer, fromIdx2 As Integer, count As Integer) As Boolean
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+
+ if NOT isArray(arr1) then
+ Out.Log("First parameter is not Array.")
+ comparePointArrays() = false
+ exit Function
+ endif
+
+ if NOT isArray(arr2) then
+ Out.Log("Second parameter is not Array.")
+ comparePointArrays() = false
+ exit Function
+ endif
+
+ if (lbound(arr1) &gt; fromIdx1 OR ubound(arr1) &lt; (fromIdx1 + count - 1)) then
+ Out.Log("Invalid bounds of the first array")
+ comparePointArrays() = false
+ exit Function
+ endif
+ if (lbound(arr2) &gt; fromIdx2 OR ubound(arr2) &lt; (fromIdx2 + count - 1)) then
+ Out.Log("Invalid bounds of the second array")
+ comparePointArrays() = false
+ exit Function
+ endif
+
+ bOK = true
+ for i = 0 to count - 1
+ if arr1(fromIdx1 + i).x &lt;&gt; arr2(fromIdx2 + i).x OR _
+ arr1(fromIdx1 + i).y &lt;&gt; arr2(fromIdx2 + i).y then
+
+ Out.Log("Points #" + i + " are different : (" + _
+ arr1(fromIdx1 + i).x + "," + arr1(fromIdx1 + i).y + "), (" + _
+ arr2(fromIdx2 + i).x + "," + arr2(fromIdx2 + i).y + ")."
+
+ bOK = false
+ end if
+ next i
+
+ comparePointArrays() = bOK
+
+ exit Function
+ErrHndl:
+ Test.Exception()
+ comparePointArrays() = false
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextPortion/script.xlb b/qadevOOo/tests/basic/ifc/text/TextPortion/script.xlb
new file mode 100644
index 000000000000..0aefd8463cfc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextPortion/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextPortion" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextPortion"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextPortion/text_TextPortion.xba b/qadevOOo/tests/basic/ifc/text/TextPortion/text_TextPortion.xba
new file mode 100644
index 000000000000..a88541f59c4c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextPortion/text_TextPortion.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextPortion" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextPortion
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("TextPortionType")
+
+ PropertyTester.TestProperty("ControlCharacter")
+
+
+'
+ PropertyTester.TestProperty("Bookmark")
+
+ PropertyTester.TestProperty("IsCollapsed")
+
+ PropertyTester.TestProperty("IsStart")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextSection/script.xlb b/qadevOOo/tests/basic/ifc/text/TextSection/script.xlb
new file mode 100644
index 000000000000..649b8eee5e98
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextSection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextSection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextSection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextSection/text_TextSection.xba b/qadevOOo/tests/basic/ifc/text/TextSection/text_TextSection.xba
new file mode 100644
index 000000000000..bd7f21d3de53
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextSection/text_TextSection.xba
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextSection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextSection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("Condition")
+
+ PropertyTester.TestProperty("IsVisible")
+
+ PropertyTester.TestProperty("IsProtected")
+
+ Dim link As New com.sun.star.text.SectionFileLink
+ link.FileURL = utils.Path2URL(cTestDocsDir + "Iterator.sxw")
+
+ PropertyTester.TestProperty("FileLink", Array(link))
+
+ PropertyTester.TestProperty("LinkRegion")
+
+ PropertyTester.TestProperty("DDECommandType")
+
+ PropertyTester.TestProperty("DDECommandFile")
+
+ PropertyTester.TestProperty("DDECommandElement")
+
+ PropertyTester.TestProperty("BackGraphicURL")
+
+ PropertyTester.TestProperty("BackGraphicFilter")
+
+ PropertyTester.TestProperty("BackGraphicLocation")
+
+ PropertyTester.TestProperty("FootnoteIsCollectAtTextEnd")
+
+ PropertyTester.TestProperty("FootnoteIsRestartNumbering")
+
+ PropertyTester.TestProperty("FootnoteRestartNumberingAt")
+
+ PropertyTester.TestProperty("FootnoteIsOwnNumbering")
+
+ oObj.FootnoteIsOwnNumbering = true
+ oObj.FootnoteNumberingType = 1
+ PropertyTester.TestProperty("FootnoteNumberingType", Array(com.sun.star.style.NumberingType.ARABIC))
+
+ PropertyTester.TestProperty("FootnoteNumberingPrefix")
+
+ PropertyTester.TestProperty("FootnoteNumberingSuffix")
+
+ PropertyTester.TestProperty("EndnoteIsCollectAtTextEnd")
+
+ PropertyTester.TestProperty("EndnoteIsRestartNumbering")
+
+ PropertyTester.TestProperty("EndnoteRestartNumberingAt")
+
+ PropertyTester.TestProperty("EndnoteIsOwnNumbering")
+
+ oObj.EndnoteIsOwnNumbering = true
+ oObj.EndnoteNumberingType = 1
+ PropertyTester.TestProperty("EndnoteNumberingType", Array(com.sun.star.style.NumberingType.ARABIC))
+
+ PropertyTester.TestProperty("EndnoteNumberingPrefix")
+
+ PropertyTester.TestProperty("EndnoteNumberingSuffix")
+
+ PropertyTester.TestProperty("IsAutomaticUpdate")
+
+ Test.StartMethod("TextColumns")
+ Dim oTC As Variant
+ Dim oldVal, newVal, val2set As Integer
+ oTC = oDoc.createInstance("com.sun.star.text.TextColumns")
+ oldVal = oObj.TextColumns.ColumnCount
+ Out.Log("COLUMNS BEFORE: "+oldVal)
+ if (oldVal &lt; 100) then
+ val2set = oldVal + 20
+ else
+ val2set = oldVal - 20
+ Endif
+ Out.Log("COLUMNS TO SET: "+val2set)
+ oTC.ColumnCount = val2set
+ oObj.TextColumns = oTC
+ newVal = oObj.TextColumns.ColumnCount
+ Out.Log("COLUMNS AFTER: "+newVal)
+ bOK = oldVal &lt;&gt; newVal
+ Test.MethodTested("TextColumns", bOK)
+
+ PropertyTester.TestProperty("SectionLeftMargin")
+
+ PropertyTester.TestProperty("SectionRightMargin")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextTable/script.xlb b/qadevOOo/tests/basic/ifc/text/TextTable/script.xlb
new file mode 100644
index 000000000000..e7e7a0ab6ce4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextTable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextTable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextTable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextTable/text_TextTable.xba b/qadevOOo/tests/basic/ifc/text/TextTable/text_TextTable.xba
new file mode 100644
index 000000000000..96432c262f90
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextTable/text_TextTable.xba
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextTable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextTable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim border As Variant
+ Dim oldVal As Variant, newVal As Variant, getVal As Variant
+
+
+ PropertyTester.TestProperty("BreakType")
+
+ PropertyTester.TestProperty("LeftMargin")
+
+ PropertyTester.TestProperty("RightMargin")
+
+ PropertyTester.TestProperty("HoriOrient", Array( _
+ com.sun.star.text.HoriOrientation.NONE, _
+ com.sun.star.text.HoriOrientation.RIGHT, _
+ com.sun.star.text.HoriOrientation.CENTER, _
+ com.sun.star.text.HoriOrientation.LEFT, _
+ com.sun.star.text.HoriOrientation.INSIDE, _
+ com.sun.star.text.HoriOrientation.OUTSIDE, _
+ com.sun.star.text.HoriOrientation.FULL, _
+ com.sun.star.text.HoriOrientation.LEFT_AND_WIDTH))
+
+ PropertyTester.TestProperty("KeepTogether")
+
+ PropertyTester.TestProperty("Split")
+
+ PropertyTester.TestProperty("PageNumberOffset", Array(1, 2))
+
+ PropertyTester.TestProperty("PageDescName", Array("First Page"))
+
+ PropertyTester.TestProperty("RelativeWidth", Array(50, 100))
+
+ PropertyTester.TestProperty("RepeatHeadline")
+
+ PropertyTester.TestProperty("ShadowFormat")
+
+ PropertyTester.TestProperty("TopMargin")
+
+ PropertyTester.TestProperty("BottomMargin")
+
+ PropertyTester.TestProperty("BackTransparent")
+
+ PropertyTester.TestProperty("Width")
+
+ oldVal = oObj.ChartRowAsLabel
+ PropertyTester.TestProperty("ChartRowAsLabel")
+ oObj.ChartRowAsLabel = oldVal
+
+ oldVal = oObj.ChartColumnAsLabel
+ PropertyTester.TestProperty("ChartColumnAsLabel")
+ oObj.ChartColumnAsLabel = oldVal
+
+ border = oObj.TableBorder
+ oldVal = border.Distance
+ newVal = oldVal + 200
+ border.Distance = newVal
+
+ PropertyTester.TestProperty("TableBorder", Array(border))
+
+ PropertyTester.TestProperty("TableColumnSeparators")
+
+ PropertyTester.TestProperty("TableColumnRelativeSum")
+
+ PropertyTester.TestProperty("BackColor")
+
+ PropertyTester.TestProperty("BackGraphicURL")
+
+ PropertyTester.TestProperty("BackGraphicFilter")
+
+ PropertyTester.TestProperty("BackGraphicLocation")
+
+ oObj.HoriOrient = com.sun.star.text.HoriOrientation.CENTER
+ oObj.RelativeWidth = 50
+ PropertyTester.TestProperty("IsWidthRelative", Array(FALSE))
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/TextTableRow/script.xlb b/qadevOOo/tests/basic/ifc/text/TextTableRow/script.xlb
new file mode 100644
index 000000000000..43be1c5b512f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextTableRow/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_TextTableRow" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_TextTableRow"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/TextTableRow/text_TextTableRow.xba b/qadevOOo/tests/basic/ifc/text/TextTableRow/text_TextTableRow.xba
new file mode 100644
index 000000000000..d4f39be2bd8e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/TextTableRow/text_TextTableRow.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_TextTableRow" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.TextTableRow
+'*************************************************************************
+On Error Goto ErrHndl
+ PropertyTester.TestProperty("BackColor")
+ PropertyTester.TestProperty("BackTransparent")
+ PropertyTester.TestProperty("BackGraphicURL")
+ PropertyTester.TestProperty("BackGraphicFilter")
+
+ Dim locations As Variant
+ locations = Array(_
+ com.sun.star.style.GraphicLocation.LEFT_TOP,_
+ com.sun.star.style.GraphicLocation.MIDDLE_TOP,_
+ com.sun.star.style.GraphicLocation.RIGHT_TOP,_
+ com.sun.star.style.GraphicLocation.LEFT_MIDDLE,_
+ com.sun.star.style.GraphicLocation.MIDDLE_MIDDLE,_
+ com.sun.star.style.GraphicLocation.RIGHT_MIDDLE,_
+ com.sun.star.style.GraphicLocation.LEFT_BOTTOM,_
+ com.sun.star.style.GraphicLocation.MIDDLE_BOTTOM,_
+ com.sun.star.style.GraphicLocation.RIGHT_BOTTOM,_
+ com.sun.star.style.GraphicLocation.AREA,_
+ com.sun.star.style.GraphicLocation.TILED )
+ PropertyTester.TestProperty("BackGraphicLocation", locations)
+ PropertyTester.TestProperty("TableColumnSeparators")
+ PropertyTester.TestProperty("Height")
+ PropertyTester.TestProperty("IsAutoHeight")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/ViewSettings/script.xlb b/qadevOOo/tests/basic/ifc/text/ViewSettings/script.xlb
new file mode 100644
index 000000000000..8827ee26ea5e
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/ViewSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_ViewSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_ViewSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/ViewSettings/text_ViewSettings.xba b/qadevOOo/tests/basic/ifc/text/ViewSettings/text_ViewSettings.xba
new file mode 100644
index 000000000000..2cb84a4ad92f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/ViewSettings/text_ViewSettings.xba
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_ViewSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.text.ViewSettings
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ PropertyTester.TestProperty("ShowAnnotations")
+
+ PropertyTester.TestProperty("ShowBreaks")
+
+ PropertyTester.TestProperty("ShowDrawings")
+
+ PropertyTester.TestProperty("ShowFieldCommands")
+
+ PropertyTester.TestProperty("ShowFootnoteBackground")
+
+ PropertyTester.TestProperty("ShowGraphics")
+
+ PropertyTester.TestProperty("ShowHiddenParagraphs")
+
+ PropertyTester.TestProperty("ShowHiddenText")
+
+ PropertyTester.TestProperty("ShowHoriRuler")
+
+ PropertyTester.TestProperty("ShowHoriScrollBar")
+
+ PropertyTester.TestProperty("ShowIndexMarkBackground")
+
+ PropertyTester.TestProperty("ShowOnlineLayout")
+
+ PropertyTester.TestProperty("ShowParaBreaks")
+
+ PropertyTester.TestProperty("ShowProtectedSpaces")
+
+ PropertyTester.TestProperty("ShowRulers")
+
+ PropertyTester.TestProperty("ShowSoftHyphens")
+
+ PropertyTester.TestProperty("ShowSpaces")
+
+ PropertyTester.TestProperty("ShowTableBoundaries")
+
+ PropertyTester.TestProperty("ShowTables")
+
+ PropertyTester.TestProperty("ShowTabstops")
+
+ PropertyTester.TestProperty("ShowTextBoundaries")
+
+ PropertyTester.TestProperty("ShowTextFieldBackground")
+
+ PropertyTester.TestProperty("ShowVertRuler")
+
+ PropertyTester.TestProperty("ShowVertScrollBar")
+
+ PropertyTester.TestProperty("SmoothScrolling")
+
+ PropertyTester.TestProperty("SolidMarkHandles")
+
+ PropertyTester.TestProperty("IsVertRulerRightAligned")
+
+ Dim zoomTypes As Variant
+ zoomTypes = Array(0, 1, 2, 3)
+ PropertyTester.TestProperty("ZoomType", zoomTypes())
+
+ PropertyTester.TestProperty("ZoomValue")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XAutoTextContainer/script.xlb b/qadevOOo/tests/basic/ifc/text/XAutoTextContainer/script.xlb
new file mode 100644
index 000000000000..3eebfbeaeb1b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XAutoTextContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XAutoTextContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XAutoTextContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XAutoTextContainer/text_XAutoTextContainer.xba b/qadevOOo/tests/basic/ifc/text/XAutoTextContainer/text_XAutoTextContainer.xba
new file mode 100644
index 000000000000..18ba7b0b7da6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XAutoTextContainer/text_XAutoTextContainer.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XAutoTextContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global nGlobalLong As Long
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XAutoTextContainer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oAutoText As Object
+ Dim aElementNames() As Variant
+ Dim i As Integer
+ Dim nCount As Integer
+
+ Out.Log("Remove element with name '" &amp; cIfcShortName &amp; "' if exists")
+ aElementNames() = oObj.ElementNames
+
+ for i = 0 to uBound(aElementNames())
+ if aElementNames(i) = cIfcShortName then
+ oObj.removeByName(cIfcShortName)
+ nGlobalLong = oObj.Count
+ end if
+ next i
+
+ Test.StartMethod("insertNewByName()")
+ bOK = true
+ oAutoText = oObj.insertNewByName(cIfcShortName)
+ nCount = oObj.Count
+ bOK = bOK AND (oObj.Count = nGlobalLong + 1)
+ Test.MethodTested("insertNewByName()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ oObj.removeByName(cIfcShortName)
+
+ nCount = oObj.Count
+ bOK = bOK AND (oObj.Count = nGlobalLong)
+ Test.MethodTested("removeByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XAutoTextEntry/script.xlb b/qadevOOo/tests/basic/ifc/text/XAutoTextEntry/script.xlb
new file mode 100644
index 000000000000..a35dec04f5bd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XAutoTextEntry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XAutoTextEntry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XAutoTextEntry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XAutoTextEntry/text_XAutoTextEntry.xba b/qadevOOo/tests/basic/ifc/text/XAutoTextEntry/text_XAutoTextEntry.xba
new file mode 100644
index 000000000000..99070d58b2e0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XAutoTextEntry/text_XAutoTextEntry.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XAutoTextEntry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XAutoTextEntry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldText As String, newText As String
+
+ Test.StartMethod("applyTo()")
+ bOK = true
+ oldText = oDoc.Text.getString()
+ oObj.ApplyTo(oDoc.Text.createTextCursor())
+ newText = oDoc.Text.getString()
+ bOK = bOK AND (newText &lt;&gt; oldText)
+
+ Test.MethodTested("applyTo()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XAutoTextGroup/script.xlb b/qadevOOo/tests/basic/ifc/text/XAutoTextGroup/script.xlb
new file mode 100644
index 000000000000..11ef1cbd6ba5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XAutoTextGroup/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XAutoTextGroup" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XAutoTextGroup"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XAutoTextGroup/text_XAutoTextGroup.xba b/qadevOOo/tests/basic/ifc/text/XAutoTextGroup/text_XAutoTextGroup.xba
new file mode 100644
index 000000000000..75d6866993af
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XAutoTextGroup/text_XAutoTextGroup.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XAutoTextGroup" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global nGlobalLong as Long
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XAutoTextGroup
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim aTitles() As Variant
+ Dim aElements() As Variant
+ Dim oCursor As Object
+
+
+ bOK = true
+
+ oCursor = oDoc.Text.createTextCursor()
+ oCursor.gotoEnd(true)
+
+ Test.StartMethod("getTitles()")
+ bOK = true
+ aTitles() = oObj.Titles
+ bOK = bOK AND NOT (uBound(aTitles()) = -1)
+ Test.MethodTested("getTitles()", bOK)
+
+ Test.StartMethod("insertNewByName()")
+ bOK = true
+ oObj.insertNewByName(cIfcShortName, cIfcShortName, oCursor)
+ bOK = bOK AND (oObj.Count &gt; nGlobalLong)
+ Test.MethodTested("insertNewByName()", bOK)
+
+ Test.StartMethod("renameByName()")
+ bOK = true
+ cName = mid(cIfcShortName,1,2)
+ oObj.renameByName(cIfcShortName,cName, cName &amp; cIfcShortName )
+ aElements() = oObj.getElementNames()
+ bOk = bOK AND (cName = aElements(uBound(aElements())))
+ Test.MethodTested("renameByName()", bOK)
+
+ Test.StartMethod("removeByName()")
+ bOK = true
+ oObj.removeByName(cName)
+ aElements() = oObj.getElementNames()
+ bOk = bOK AND (cName &lt;&gt; aElements(uBound(aElements())))
+ Test.MethodTested("removeByName()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/script.xlb
new file mode 100644
index 000000000000..5ba4d5a9a0d7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XChapterNumberingSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XChapterNumberingSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/text_XChapterNumberingSupplier.xba b/qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/text_XChapterNumberingSupplier.xba
new file mode 100644
index 000000000000..5f07b99b1a98
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XChapterNumberingSupplier/text_XChapterNumberingSupplier.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XChapterNumberingSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XChapterNumberingSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getChapterNumberingRules()")
+ bOK = true
+
+ bOK = bOK AND hasUnoInterfaces(oObj.getChapterNumberingRules(), "com.sun.star.container.XIndexReplace")
+ Test.MethodTested("getChapterNumberingRules()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/script.xlb b/qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/script.xlb
new file mode 100644
index 000000000000..f216aeaf0c5f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XDefaultNumberingProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XDefaultNumberingProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/text_XDefaultNumberingProvider.xba b/qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/text_XDefaultNumberingProvider.xba
new file mode 100644
index 000000000000..9fc53a91753f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XDefaultNumberingProvider/text_XDefaultNumberingProvider.xba
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XDefaultNumberingProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XDefaultNumberingProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oLocale As New com.sun.star.lang.Locale
+ Dim aIndAcc As Object
+ Dim aPropVals As Object
+ Dim cr As Object
+
+ oLocale.Country = "US"
+ oLocale.Language = "en"
+
+ Test.StartMethod("getDefaultOutlineNumberings()")
+ bOK = true
+ aIndAcc = oObj.getDefaultOutlineNumberings(oLocale)
+ if (ubound(aIndAcc) &gt;= 0) then
+ Out.Log("Returned sequence has " &amp; ubound(aIndAcc) + 1 &amp; " elements.")
+ bOK = bOK AND hasUNOInterfaces(aIndAcc(0), "com.sun.star.container.XIndexAccess")
+ else
+ Out.Log("Returned sequence is EMPTY.")
+ bOK = false
+ end if
+ Test.MethodTested("getDefaultOutlineNumberings()", bOK)
+
+ Test.StartMethod("getDefaultContinuousNumberingLevels()")
+ bOK = true
+ aPropVals = oObj.getDefaultContinuousNumberingLevels(oLocale)
+ if (ubound(aPropVals) &gt;= 0) then
+ Out.Log("Returned sequence has " &amp; ubound(aPropVals) + 1 &amp; " elements.")
+ cr = createUNOService("com.sun.star.reflection.CoreReflection")
+ bOK = bOK AND (cr.getType(aPropVals(0)).Name = "[]com.sun.star.beans.PropertyValue")
+' OutDefaultContinuousNumberingLevels(aPropVals)
+ else
+ Out.Log("Returned sequence is EMPTY.")
+ bOK = false
+ end if
+ Test.MethodTested("getDefaultContinuousNumberingLevels()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Sub OutDefaultOutlineNumberings(aIndAcc As Variant)
+ Dim i As Integer
+ Dim k As Integer
+ Dim l As Integer
+ Dim ia As Object
+ Dim props As Variant
+
+ for k = 0 to ubound(aIndAcc)
+ Out.Log("" &amp; k &amp; ")")
+ ia = aIndAcc(k)
+ for l = 0 to ia.Count() - 1
+ Out.Log(" " &amp; l &amp; ":")
+ props = ia.getByIndex(l)
+ for i = 0 to ubound(props)
+ Out.Log(" - " &amp; props(i).Name &amp; " = " &amp; props(i).Value)
+ next i
+ next l
+ next k
+End Sub
+
+Sub OutDefaultContinuousNumberingLevels(aPropVals As Variant)
+ Dim i As Integer
+ Dim k As Integer
+ Dim props As Variant
+
+ for i = 0 to ubound(aPropVals)
+ Out.Log("" &amp; i &amp; ")")
+ props = aPropVals(i)
+ for k = 0 to ubound(props)
+ Out.Log(" - " &amp; props(k).Name &amp; " = " &amp; props(k).Value)
+ next k
+ next i
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XDocumentIndex/script.xlb b/qadevOOo/tests/basic/ifc/text/XDocumentIndex/script.xlb
new file mode 100644
index 000000000000..fc20ebb211a8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XDocumentIndex/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XDocumentIndex" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XDocumentIndex"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XDocumentIndex/text_XDocumentIndex.xba b/qadevOOo/tests/basic/ifc/text/XDocumentIndex/text_XDocumentIndex.xba
new file mode 100644
index 000000000000..021093468be5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XDocumentIndex/text_XDocumentIndex.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XDocumentIndex" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XDocumentIndex
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getServiceName()")
+ bOK = true
+ cName = oObj.getServiceName()
+ Out.Log("Service name is '" &amp; cName &amp; "'")
+ Test.MethodTested("getServiceName()", bOK)
+
+ Test.StartMethod("update()")
+ bOK = true
+ oObj.update()
+ Test.MethodTested("update()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/script.xlb
new file mode 100644
index 000000000000..bcd7bbe8ed05
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XEndnotesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XEndnotesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/text_XEndnotesSupplier.xba b/qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/text_XEndnotesSupplier.xba
new file mode 100644
index 000000000000..c85b42f63945
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XEndnotesSupplier/text_XEndnotesSupplier.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XEndnotesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XEndnotesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getEndnotes()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getEndnotes(), "com.sun.star.container.XIndexAccess")
+ Test.MethodTested("getEndnotes()", bOK)
+
+ Test.StartMethod("getEndnoteSettings()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getEndnoteSettings(), "com.sun.star.beans.XPropertySet")
+ Test.MethodTested("getEndnoteSettings()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XFootnote/script.xlb b/qadevOOo/tests/basic/ifc/text/XFootnote/script.xlb
new file mode 100644
index 000000000000..38bb5ec7b924
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XFootnote/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XFootnote" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XFootnote"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XFootnote/text_XFootnote.xba b/qadevOOo/tests/basic/ifc/text/XFootnote/text_XFootnote.xba
new file mode 100644
index 000000000000..8b8e11c61215
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XFootnote/text_XFootnote.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XFootnote" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XFootnote
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim cLabel As String
+
+
+ Test.StartMethod("getLabel()")
+ bOK = true
+ cLabel = oObj.Label
+ bOK = bOK AND (cLabel = (cGlobalString &amp; nGlobalLong))
+ Test.MethodTested("getLabel()", bOK)
+
+ Test.StartMethod("setLabel()")
+ bOK = true
+ oObj.Label = cIfcShortName
+ bOK = bOK AND (oObj.Label &lt;&gt; cLabel)
+ Test.MethodTested("setLabel()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/script.xlb
new file mode 100644
index 000000000000..8b7a7ab94be3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XFootnotesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XFootnotesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/text_XFootnotesSupplier.xba b/qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/text_XFootnotesSupplier.xba
new file mode 100644
index 000000000000..009d7b8f7e3d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XFootnotesSupplier/text_XFootnotesSupplier.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XFootnotesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XFootnotesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getFootnotes()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getFootnotes(), "com.sun.star.container.XIndexAccess")
+ Test.MethodTested("getFootnotes()", bOK)
+
+ Test.StartMethod("getFootnoteSettings()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getFootnoteSettings(), "com.sun.star.beans.XPropertySet")
+ Test.MethodTested("getFootnoteSettings()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/script.xlb
new file mode 100644
index 000000000000..4bc46cc25d13
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XLineNumberingSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XLineNumberingSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/text_XLineNumberingSupplier.xba b/qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/text_XLineNumberingSupplier.xba
new file mode 100644
index 000000000000..64844888e720
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XLineNumberingSupplier/text_XLineNumberingSupplier.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XLineNumberingSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XLineNumberingSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim Rules As Variant
+
+
+ Test.StartMethod("getLineNumberingRules()")
+ bOK = true
+ Rules = oObj.getLineNumberingRules()
+ Out.Log("ubound(Rules) = " &amp; ubound(Rules))
+ bOK = bOK AND NOT isNULL(Rules)
+ Test.MethodTested("getLineNumberingRules()", bOK)
+
+ Test.StartMethod("setLineNumberingRules()")
+ bOK = true
+ oObj.setLineNumberingRules(Rules)
+ Test.MethodTested("setLineNumberingRules()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/script.xlb
new file mode 100644
index 000000000000..92cdc97078fe
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XMailMergeBroadcaster" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="text_XMailMergeBroadcaster"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/text_XMailMergeBroadcaster.xba b/qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/text_XMailMergeBroadcaster.xba
new file mode 100644
index 000000000000..43edb935143d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XMailMergeBroadcaster/text_XMailMergeBroadcaster.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XMailMergeBroadcaster" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global FUNCTION XMailMergeEvent()
+' This function fires an event which causes a listner call
+
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+ Dim bCB1 as Boolean
+ Dim bCB2 as Boolean
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XMailMergeBroadcaster
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1 as Object
+ Dim oListener2 as Object
+
+ Out.Log("create two listeners")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.text.XMailMergeListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.text.XMailMergeListener")
+
+ Test.StartMethod("addMailMergeEventListener()")
+ bCB1 = FALSE
+ bCB2 = FALSE
+ bOK = TRUE
+ oObj.addMailMergeEventListener(oListener1)
+ oObj.addMailMergeEventListener(oListener2)
+ XMailMergeEvent()
+ out.dbg("call oObj.execute()")
+ out.dbg("Listener1: " + bCB1 + " ; Listener2: " + bCB2)
+ bOK = bOK AND bCB1 AND bCB2
+ Test.MethodTested("addMailMergeEventListener()", bOK)
+
+ Test.StartMethod("removeMailMergeEventListener()")
+ bCB1 = FALSE
+ bCB2 = FALSE
+ bOK = TRUE
+ out.dbg("remove Listener1")
+ oObj.removeMailMergeEventListener(oListener1)
+ out.dbg("call oObj.execute()")
+ XMailMergeEvent()
+ out.dbg("Listener1: " + bCB1 + " ; Listener2: " + bCB2)
+ bOK = bOK AND NOT bCB1 AND bCB2
+ Test.MethodTested("removeMailMergeEventListener()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub CB1_notifyMailMergeEvent()
+ out.dbg("CB1_notifyMailMergeEvent() was clled.")
+ bCB1 = TRUE
+end Sub
+
+Sub CB2_notifyMailMergeEvent()
+ out.dbg("CB2_notifyMailMergeEvent() was clled.")
+ bCB2 = TRUE
+end Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XPageCursor/script.xlb b/qadevOOo/tests/basic/ifc/text/XPageCursor/script.xlb
new file mode 100644
index 000000000000..45ceef1da261
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XPageCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XPageCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XPageCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XPageCursor/text_XPageCursor.xba b/qadevOOo/tests/basic/ifc/text/XPageCursor/text_XPageCursor.xba
new file mode 100644
index 000000000000..6f4c28469a0d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XPageCursor/text_XPageCursor.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XPageCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - PageCursor must be created from document XPageCursor.sdw
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XPageCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ RecreateObj()
+
+ Test.StartMethod("jumpToFirstPage()")
+ bOK = true
+ bOK = bOK AND oObj.jumpToFirstPage()
+ oObj.goRight(12, true)
+ bOK = bOK AND oObj.String = "StartOfPage1"
+ Test.MethodTested("jumpToFirstPage()", bOK)
+
+ Test.StartMethod("jumpToLastPage()")
+ bOK = true
+ bOK = bOK AND oObj.jumpToLastPage()
+ oObj.goRight(12, true)
+ bOK = bOK AND oObj.String = "StartOfPage2"
+ Test.MethodTested("jumpToLastPage()", bOK)
+
+ Test.StartMethod("jumpToPage()")
+ bOK = true
+ bOK = bOK AND oObj.jumpToPage(1)
+ oObj.goRight(12, true)
+ bOK = bOK AND oObj.String = "StartOfPage1"
+ Test.MethodTested("jumpToPage()", bOK)
+
+ Test.StartMethod("getPage()")
+ bOK = true
+ bOK = bOK AND oObj.getPage() = 1
+ Test.MethodTested("getPage()", bOK)
+
+ Test.StartMethod("jumpToNextPage()")
+ bOK = true
+ bOK = bOK AND oObj.jumpToNextPage()
+ oObj.goRight(12, true)
+ bOK = bOK AND oObj.String = "StartOfPage2"
+ Test.MethodTested("jumpToNextPage()", bOK)
+
+ Test.StartMethod("jumpToPreviousPage()")
+ bOK = true
+ bOK = bOK AND oObj.jumpToPreviousPage()
+ oObj.goLeft(12, true)
+ bOK = bOK AND oObj.String = "EndOfPage 1"
+ Test.MethodTested("jumpToPreviousPage()", bOK)
+
+ Test.StartMethod("jumpToEndOfPage()")
+ bOK = true
+ bOK = bOK AND oObj.jumpToEndOfPage()
+ oObj.goLeft(12, true)
+ bOK = bOK AND oObj.String = "EndOfPage 1"
+ Test.MethodTested("jumpToEndOfPage()", bOK)
+
+ Test.StartMethod("jumpToStartOfPage()")
+ bOK = true
+ bOK = bOK AND oObj.jumpToStartOfPage()
+ oObj.goRight(12, true)
+ bOK = bOK AND oObj.String = "StartOfPage1"
+ Test.MethodTested("jumpToStartOfPage()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XPagePrintable/script.xlb b/qadevOOo/tests/basic/ifc/text/XPagePrintable/script.xlb
new file mode 100644
index 000000000000..9e126a20a50b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XPagePrintable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XPagePrintable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XPagePrintable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XPagePrintable/text_XPagePrintable.xba b/qadevOOo/tests/basic/ifc/text/XPagePrintable/text_XPagePrintable.xba
new file mode 100644
index 000000000000..80d9a93cef65
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XPagePrintable/text_XPagePrintable.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XPagePrintable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XPagePrintable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aPrintSettings As Variant
+ Dim aNewSettings As Variant
+
+ Test.StartMethod("getPagePrintSettings()")
+ bOK = true
+ aPrintSettings = oObj.getPagePrintSettings()
+ Out.Log("PrintSettings have " &amp; (ubound(aPrintSettings) + 1) &amp; " elements")
+ bOK = bOK AND (ubound(aPrintSettings) &gt; 0)
+ Test.MethodTested("getPagePrintSettings()", bOK)
+
+ Test.StartMethod("setPagePrintSettings()")
+ bOK = true
+ Dim bOldLandscape As Boolean
+ ' Changing Landscape property...
+ bOldLandscape = aPrintSettings(8).Value
+ aPrintSettings(8).Value = NOT bOldLandscape
+
+ oObj.setPagePrintSettings(aPrintSettings())
+ aNewSettings = oObj.getPagePrintSettings()
+ bOK = bOK AND (aNewSettings(8).Value = NOT bOldLandscape)
+
+ Test.MethodTested("setPagePrintSettings()", bOK)
+
+ Test.StartMethod("printPages()")
+ bOK = true
+ Dim aPrintingOptions(0) As New com.sun.star.beans.PropertyValue
+ Dim sFileName As String
+ sFileName = utils.Path2URL(cTestDocsDir &amp; "/temp/XPagePrintable.prt")
+
+ if (FileExists(sFileName)) then
+ kill(sFileName)
+ end if
+
+ aPrintingOptions(0).Name = "FileName"
+ aPrintingOptions(0).Value = sFileName
+ aPrintingOptions(0).State = com.sun.star.beans.PropertyState.DEFAULT_VALUE
+
+ Out.Log("Printing to " &amp; sFileName)
+ oObj.printPages(aPrintingOptions())
+
+ bOK = bOK AND FileExists(sFileName)
+ Test.MethodTested("printPages()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XParagraphCursor/script.xlb b/qadevOOo/tests/basic/ifc/text/XParagraphCursor/script.xlb
new file mode 100644
index 000000000000..0b33ec3d310c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XParagraphCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XParagraphCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XParagraphCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XParagraphCursor/text_XParagraphCursor.xba b/qadevOOo/tests/basic/ifc/text/XParagraphCursor/text_XParagraphCursor.xba
new file mode 100644
index 000000000000..072cb69dbb41
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XParagraphCursor/text_XParagraphCursor.xba
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XParagraphCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oText As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XParagraphCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+
+ for i = 0 to 2
+ oText.insertString(oObj, "" + i +"Start of paragraph.", false)
+ oText.insertString(oObj, Chr(10) + cObjectName + " " + cIfcShortName + Chr(10), false)
+ oText.insertString(oObj, "Paragraph's end." + i, false)
+ oText.insertControlCharacter(oObj, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ next i
+
+ oObj.gotoStart(false)
+
+ Test.StartMethod("gotoStartOfParagraph()")
+ bOK = true
+ oObj.gotoStartOfParagraph(false)
+ oText.insertString(oObj, "1", false)
+ bOK = bOK AND inStr(1, oText.String, "10Start") &lt;&gt; 0
+ Test.MethodTested("gotoStartOfParagraph()", bOK)
+
+ Test.StartMethod("gotoEndOfParagraph()")
+ bOK = true
+ oObj.gotoEndOfParagraph(false)
+ oText.insertString(oObj, "2", false)
+ bOK = bOK AND inStr(1, oText.String, "end.02") &lt;&gt; 0
+ Test.MethodTested("gotoEndOfParagraph()", bOK)
+
+ Test.StartMethod("gotoNextParagraph()")
+ bOK = true
+ oObj.gotoNextParagraph(false)
+ oObj.gotoNextParagraph(false)
+ oObj.gotoEndOfParagraph(false)
+ oText.insertString(oObj, "3", false)
+ bOK = bOK AND inStr(1, oText.String, "end.23") &lt;&gt; 0
+ Test.MethodTested("gotoNextParagraph()", bOK)
+
+ Test.StartMethod("gotoPreviousParagraph()")
+ bOK = true
+ oObj.gotoPreviousParagraph(false)
+ oObj.gotoEndOfParagraph(false)
+ oText.insertString(oObj, "4", false)
+ bOK = bOK AND inStr(1, oText.String, "end.14") &lt;&gt; 0
+ Test.MethodTested("gotoPreviousParagraph()", bOK)
+
+ Test.StartMethod("isStartOfParagraph()")
+ bOK = true
+ oObj.gotoStartOfParagraph(false)
+ bOK = bOK AND oObj.isStartOfParagraph()
+ bOK = bOK AND NOT oObj.isEndOfParagraph()
+ Test.MethodTested("isStartOfParagraph()", bOK)
+
+ Test.StartMethod("isEndOfParagraph()")
+ bOK = true
+ oObj.gotoEndOfParagraph(false)
+ bOK = bOK AND oObj.isEndOfParagraph()
+ bOK = bOK AND NOT oObj.isStartOfParagraph()
+ Test.MethodTested("isEndOfParagraph()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/script.xlb
new file mode 100644
index 000000000000..e66d625ea72a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XReferenceMarksSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XReferenceMarksSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/text_XReferenceMarksSupplier.xba b/qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/text_XReferenceMarksSupplier.xba
new file mode 100644
index 000000000000..ee2f4b025d33
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XReferenceMarksSupplier/text_XReferenceMarksSupplier.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XReferenceMarksSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XReferenceMarksSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getReferenceMarks()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getReferenceMarks(), "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getReferenceMarks()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/script.xlb b/qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/script.xlb
new file mode 100644
index 000000000000..45220fcf0ae9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XRelativeTextContentInsert" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XRelativeTextContentInsert"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/text_XRelativeTextContentInsert.xba b/qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/text_XRelativeTextContentInsert.xba
new file mode 100644
index 000000000000..63d93c63593c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XRelativeTextContentInsert/text_XRelativeTextContentInsert.xba
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XRelativeTextContentInsert" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XRelativeTextContentInsert
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oEnum As Object
+ Dim oCursor As Object
+ Dim oContent1 As Object
+ Dim oContent2 As Object
+ Dim bFound As Boolean
+ Dim oEl As Object
+
+ Test.StartMethod("insertTextContentBefore()")
+ bOK = true
+ oCursor = oObj.createTextCursor()
+ if (isNULL(oCursor)) then Out.Log("Can't create text cursor!")
+
+ Out.Log("First, mark all existant entries with 0")
+
+ oEnum = oObj.createEnumeration()
+ while (oEnum.hasMoreElements())
+ oEl = oEnum.NextElement()
+ if (oEl.supportsService("com.sun.star.text.Paragraph")) then
+ oEl.String = "0"
+ end if
+ wend
+
+ Out.Log("Inserting TextSection...")
+ oContent1 = oDoc.createInstance("com.sun.star.text.TextSection")
+ oObj.insertTextContent(oCursor, oContent1, false)
+
+ oEnum = oObj.createEnumeration()
+ while (oEnum.hasMoreElements())
+ oEl = oEnum.NextElement()
+ if (oEl.supportsService("com.sun.star.text.Paragraph")) then
+ if (oEl.String = "") then oEl.String = "1"
+ end if
+ wend
+
+ Out.Log("Mark new entry with 1")
+
+ oContent2 = oDoc.createInstance("com.sun.star.text.Paragraph")
+ oObj.insertTextContentBefore(oContent2, oContent1)
+
+ oEnum = oObj.createEnumeration()
+ while (oEnum.hasMoreElements())
+ oEl = oEnum.NextElement()
+ if (oEl.supportsService("com.sun.star.text.Paragraph")) then
+ if (oEl.String = "") then oEl.String = "2"
+ end if
+ wend
+
+ Out.Log("Mark new entry with 2")
+
+ Out.Log("Testing that content was inserted BEFORE. I.e. Label 2 before label 1")
+
+ oEnum = oObj.createEnumeration()
+ bFound = false
+ while (oEnum.hasMoreElements() AND NOT bFound)
+ oEl = oEnum.NextElement()
+ if (oEl.supportsService("com.sun.star.text.Paragraph")) then
+ bFound = oEl.String = "2"
+ end if
+ wend
+
+ oEl = oEnum.NextElement()
+ bOK = bOK AND oEl.String = "1"
+
+ Test.MethodTested("insertTextContentBefore()", bOK)
+
+
+ Test.StartMethod("insertTextContentAfter()")
+ bOK = true
+
+ Out.Log("Inserting TextSection...")
+ oContent1 = oDoc.createInstance("com.sun.star.text.TextSection")
+ oObj.insertTextContent(oCursor, oContent1, false)
+
+ oEnum = oObj.createEnumeration()
+ while (oEnum.hasMoreElements())
+ oEl = oEnum.NextElement()
+ if (oEl.supportsService("com.sun.star.text.Paragraph")) then
+ if (oEl.String = "") then oEl.String = "3"
+ end if
+ wend
+
+ Out.Log("Mark new entry with 3")
+
+ oContent2 = oDoc.createInstance("com.sun.star.text.Paragraph")
+ oObj.insertTextContentAfter(oContent2, oContent1)
+
+ oEnum = oObj.createEnumeration()
+ while (oEnum.hasMoreElements())
+ oEl = oEnum.NextElement()
+ if (oEl.supportsService("com.sun.star.text.Paragraph")) then
+ if (oEl.String = "") then oEl.String = "4"
+ end if
+ wend
+
+ Out.Log("Mark new entry with 4")
+
+ Out.Log("Testing that content was inserted AFTRER. I.e. Label 4 after label 3")
+
+ oEnum = oObj.createEnumeration()
+ bFound = false
+ while (oEnum.hasMoreElements() AND NOT bFound)
+ oEl = oEnum.NextElement()
+ if (oEl.supportsService("com.sun.star.text.Paragraph")) then
+ bFound = oEl.String = "3"
+ end if
+ wend
+
+ oEl = oEnum.NextElement()
+ bOK = bOK AND oEl.String = "4"
+
+ Test.MethodTested("insertTextContentAfter()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XSentenceCursor/script.xlb b/qadevOOo/tests/basic/ifc/text/XSentenceCursor/script.xlb
new file mode 100644
index 000000000000..a27aa634f031
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XSentenceCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XSentenceCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XSentenceCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XSentenceCursor/text_XSentenceCursor.xba b/qadevOOo/tests/basic/ifc/text/XSentenceCursor/text_XSentenceCursor.xba
new file mode 100644
index 000000000000..09cd1870b19d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XSentenceCursor/text_XSentenceCursor.xba
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XSentenceCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XSentenceCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ oObj.Text.String = "Sentence two. Sentence three."
+
+ oObj.gotoEnd(false)
+
+ Test.StartMethod("gotoStartOfSentence()")
+ bOK = true
+ oObj.gotoStartOfSentence(false)
+ oObj.String = "1"
+ Out.Log("Current text: '" + oObj.Text.String + "'")
+ bOK = bOK AND inStr(1, oObj.Text.String, "1Sentence three.") &lt;&gt; 0
+ Test.MethodTested("gotoStartOfSentence()", bOK)
+
+ Test.StartMethod("isStartOfSentence()")
+ Test.StartMethod("isEndOfSentence()")
+ bOK = true
+ oObj.gotoStartOfSentence(false)
+ bOK = bOK AND oObj.isStartOfSentence()
+ bOK = bOK AND NOT oObj.isEndOfSentence()
+ oObj.gotoEndOfSentence(false)
+ bOK = bOK AND NOT oObj.isStartOfSentence()
+ bOK = bOK AND oObj.isEndOfSentence()
+ Test.MethodTested("isStartOfSentence()", bOK)
+ Test.MethodTested("isEndOfSentence()", bOK)
+
+
+ Test.StartMethod("gotoEndOfSentence()")
+ bOK = true
+ oObj.gotoEndOfSentence(false)
+ oObj.String = "2"
+ Out.Log("Current text: '" + oObj.Text.String + "'")
+ bOK = bOK AND inStr(1, oObj.Text.String, "three.2") &lt;&gt; 0
+ Test.MethodTested("gotoEndOfSentence()", bOK)
+
+ Test.StartMethod("gotoPreviousSentence()")
+ bOK = true
+ oObj.gotoPreviousSentence(false)
+ oObj.String = "3"
+ Out.Log("Current text: '" + oObj.Text.String + "'")
+ bOK = bOK AND inStr(1, oObj.Text.String, "3Sentence two.") &lt;&gt; 0
+ Test.MethodTested("gotoPreviousSentence()", bOK)
+
+ Test.StartMethod("gotoNextSentence()")
+ bOK = true
+ oObj.gotoNextSentence(false)
+ oObj.String = "4"
+ Out.Log("Current text: '" + oObj.Text.String + "'")
+ bOK = bOK AND inStr(1, oObj.Text.String, "41") &lt;&gt; 0
+ Test.MethodTested("gotoNextSentence()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XSimpleText/script.xlb b/qadevOOo/tests/basic/ifc/text/XSimpleText/script.xlb
new file mode 100644
index 000000000000..d15cb9a51d44
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XSimpleText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XSimpleText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XSimpleText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XSimpleText/text_XSimpleText.xba b/qadevOOo/tests/basic/ifc/text/XSimpleText/text_XSimpleText.xba
new file mode 100644
index 000000000000..ee73a6e7f3b7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XSimpleText/text_XSimpleText.xba
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XSimpleText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XSimpleText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim oPosCursor As Variant
+ Dim cIfcShortName As String
+ Dim bOK As Boolean
+ Dim oldString, newString As String
+
+ cIfcShortName = "XSimpleText"
+
+ Test.StartMethod("createTextCursor()")
+ bOK = true
+ oCursor = oObj.createTextCursor()
+ bOK = bOK AND NOT (isNull(oCursor))
+ bOK = bOK AND hasUnoInterfaces(oCursor, "com.sun.star.text.XTextCursor")
+ Test.MethodTested("createTextCursor()", bOK)
+
+ Test.StartMethod("createTextCursorByRange()")
+ bOK = true
+ oPosCursor = oObj.createTextCursorbyRange(oCursor)
+ bOK = bOK AND NOT isNull(oPosCursor)
+ bOK = bOK AND hasUnoInterfaces(oPosCursor, "com.sun.star.text.XTextCursor")
+ Test.MethodTested("createTextCursorByRange()", bOK)
+
+ Test.StartMethod("insertString()")
+ bOK = true
+ oldString = oObj.String
+ Out.Log("String before inserting:'" + oldString + "'")
+ oCursor.gotoStart(false)
+ oObj.insertString(oCursor, cIfcShortName, false)
+ Dim newStr As String
+ newStr = oObj.String
+ Out.Log("String content after inserting:'" + newStr + "'")
+ Dim expectedStr As String
+ expectedStr = cIfcShortName + oldString
+ Out.Log("Expected string:'" + expectedStr + "'")
+ bOK = bOK AND (expectedStr = newStr)
+ oObj.setString(oldString)
+ Test.MethodTested("insertString()", bOK)
+
+ ' some cursor navigation to verify if controlcharacters have benn inserted:)
+ Test.StartMethod("insertControlCharacter()")
+ bOK = true
+ oldString = oObj.getString()
+ newString = "XSimpleText"
+ Out.Log("Set string to '" + newString + "'")
+ oObj.setString(newString)
+ Out.Log("Current string content of object: '" + oObj.getString() + "'")
+ oCursor.gotoStart(false)
+ Out.Log("Insert control characters...")
+' oObj.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oObj.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.LINE_BREAK, false)
+ Out.Log("Now string content of object: '" + oObj.getString() + "'")
+ Dim breakPos As Integer
+ breakPos = inStr(oObj.getString(), chr(10))
+ Out.Log("Line break found at " + breakPos)
+ bOK = bOK AND breakPos > 0
+ oObj.String = oldString
+ Out.Log("Return string to old state:'" + oObj.getString() + "'" )
+ Test.MethodTested("insertControlCharacter()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XText/script.xlb b/qadevOOo/tests/basic/ifc/text/XText/script.xlb
new file mode 100644
index 000000000000..af753e01a742
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XText/text_XText.xba b/qadevOOo/tests/basic/ifc/text/XText/text_XText.xba
new file mode 100644
index 000000000000..c0580ba6ea45
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XText/text_XText.xba
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oCollection As Object [optional]
+' if this relation exists then the method "count" is called for check insert/remove
+' - Global oInstance As Object
+' Global aAddons() As Variant [optional]
+' if this relation exists, then additional methods are called before and after insert/removeTextContent() methods
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim cText As String
+ Dim oCursor As Object
+ Dim i1 As Integer
+ Dim i2 As Integer
+
+ Test.StartMethod("insertTextContent()")
+ bOK = true
+ cText = ". Zeile : test_XText"
+
+ If IsObject(oCollection) and IsObject(oInstance) Then
+ oCursor = oObj.createTextCursor()
+ oCursor.gotoEnd(false)
+ i1 = count(oCollection)
+ Out.Log("Before inserting we have " + i1 + " elements.")
+
+' if isArray(aAddons) then
+' Out.Log("Calling beforeInsertTextContent() ...")
+' beforeInsertTextContent()
+' endif
+
+ oObj.insertTextContent(oCursor, oInstance, false)
+
+' if isArray(aAddons) then
+' Out.Log("Calling afterInsertTextContent() ...")
+' afterInsertTextContent()
+' endif
+
+ i2 = count(oCollection)
+ Out.Log("After inserting we have " + i2 + " elements.")
+ bOK = bOK AND i1 = i2 - 1
+ Test.MethodTested("insertTextContent()", bOK)
+
+ Test.StartMethod("removeTextContent()")
+ bOK = true
+ i1 = count(oCollection)
+ Out.Log("Before removing we have " + i1 + " elements.")
+
+' if (isArray(aAddons)) then
+' Out.Log("Calling beforeRemoveTextContent() ...")
+' beforeRemoveTextContent()
+' endif
+
+ oObj.removeTextContent(oInstance)
+
+' if (isArray(aAddons)) then
+' Out.Log("Calling afterRemoveTextContent() ...")
+' afterRemoveTextContent()
+' endif
+
+ i2 = count(oCollection)
+ Out.Log("After removing we have " + i2 + " elements.")
+ bOK = bOK AND i1 = i2 + 1
+ Test.MethodTested("removeTextContent()", bOK)
+ Else
+ oCursor = oObj.createTextCursor()
+ oCursor.gotoEnd(false)
+ oObj.insertTextContent(oCursor, oInstance, false)
+ Test.MethodTested("insertTextContent()", True)
+ Test.StartMethod("removeTextContent()")
+ oObj.removeTextContent(oInstance)
+ Test.MethodTested("removeTextContent()", True)
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Function count(container As Variant) As Integer
+ Dim iAmount As Integer
+ Dim oEnumeration As Object
+
+ if hasUnoInterfaces(container, "com.sun.star.container.XIndexAccess") then
+ iAmount = container.getCount()
+ elseif hasUnoInterfaces(container, "com.sun.star.container.XNameAccess") then
+ iAmount = ubound(container.getElementNames()) + 1
+ elseif hasUnoInterfaces(container, "com.sun.star.container.XEnumerationAccess") then
+ oEnumeration = container.createEnumeration()
+ iAmount = 0
+ while oEnumeration.hasMoreElements()
+ iAmount = iAmount + 1
+ oEnumeration.nextElement()
+ wend
+ end if
+
+ count() = iAmount
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextColumns/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextColumns/script.xlb
new file mode 100644
index 000000000000..de7dd8e808c0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextColumns/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextColumns" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextColumns"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextColumns/text_XTextColumns.xba b/qadevOOo/tests/basic/ifc/text/XTextColumns/text_XTextColumns.xba
new file mode 100644
index 000000000000..bc9c2c048c8f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextColumns/text_XTextColumns.xba
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextColumns" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oPageStyle As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextColumns
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim nCount As Integer
+ Dim aColumns As Variant
+ Dim RightCol As Variant
+ Dim LeftCol As Variant
+ Dim nRefValue As Long
+
+ nCount = 2
+
+ Test.StartMethod("setColumnCount()")
+ bOK = true
+ oObj.setColumnCount(nCount)
+ Test.MethodTested("setColumnCount()", bOK)
+
+ Test.StartMethod("getColumns()")
+ bOK = true
+ aColumns = oObj.Columns
+ bOK = bOK AND NOT isNull(aColumns)
+ Test.MethodTested("getColumns()", bOK)
+
+ LeftCol = aColumns(0)
+ RightCol = aColumns(1)
+ RightCol.Width = 10000 : RightCol.RightMargin = 2000
+ LeftCol.Width = 15000 : LeftCol.LeftMargin = 5000
+
+ aColumns(0) = LeftCol
+ aColumns(1) = RightCol
+
+ oObj.setColumns(aColumns())
+
+ ' initialize the pagestyle with the new values
+ oPageStyle.TextColumns = oObj
+
+ ' check if ColumnsCount was set successfull
+ Test.StartMethod("getColumnCount()")
+ bOK = true
+ bOK = bOK AND (nCount = oPageStyle.TextColumns.ColumnCount)
+ Test.MethodTested("getColumnCount()", bOK)
+
+ Test.StartMethod("getReferenceValue()")
+ bOK = true
+ nRefValue = oObj.getReferenceValue()
+ bOK = bOK AND (nRefValue = 25000)
+ Test.MethodTested("getReferenceValue()", bOK)
+
+ Test.StartMethod("setColumns()")
+ bOK = true
+ RightCol.Width = 15000
+ aColumns(1) = RightCol
+ oObj.setColumns(aColumns())
+ oPageStyle.TextColumns = oObj
+ bOK = bOK AND (oPageStyle.TextColumns.ReferenceValue = 30000)
+ Test.MethodTested("setColumns()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextContent/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextContent/script.xlb
new file mode 100644
index 000000000000..b15fd5993ee6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextContent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextContent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextContent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextContent/text_XTextContent.xba b/qadevOOo/tests/basic/ifc/text/XTextContent/text_XTextContent.xba
new file mode 100644
index 000000000000..acfb85d5edc4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextContent/text_XTextContent.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextContent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextContent
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bImpossible as Boolean
+
+ bImpossible = FALSE
+ Test.StartMethod("getAnchor()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getAnchor(), "com.sun.star.text.XTextRange")
+ Test.MethodTested("getAnchor()", bOK)
+
+On Error Goto ImpossibleErr
+ If bXTextContentImpossible then
+ bImpossible = TRUE
+ End If
+
+On Error Goto ErrHndl
+
+ Test.StartMethod("attach()")
+ bOK = true
+ oXTextContent.attach(oXTextContentRange)
+ If bImpossible then
+ bOK = True
+ Out.Log("bXTextContnetImpossible = TRUE: Object is not " + _
+ "able to attach() to something => TRUE")
+ end If
+ Test.MethodTested("attach()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+
+ImpossibleErr:
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextCursor/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextCursor/script.xlb
new file mode 100644
index 000000000000..ff8b4c2ee551
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextCursor/text_XTextCursor.xba b/qadevOOo/tests/basic/ifc/text/XTextCursor/text_XTextCursor.xba
new file mode 100644
index 000000000000..fa542d02515b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextCursor/text_XTextCursor.xba
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oCursor As Object
+' One more cursor
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oRange As Object
+
+ oObj.Text.String = "abcdefg"
+
+ Test.StartMethod("gotoEnd()")
+ bOK = true
+ oObj.gotoEnd(false)
+ oObj.String = "1"
+ bOK = bOK AND inStr(1, oObj.Text.String, "g1")
+ Test.MethodTested("gotoEnd()", bOK)
+
+ Test.StartMethod("gotoStart()")
+ bOK = true
+ oObj.gotoStart(false)
+ oObj.String = "2"
+ bOK = bOK AND inStr(1, oObj.Text.String, "2a")
+ Test.MethodTested("gotoStart()", bOK)
+
+ Test.StartMethod("goRight()")
+ bOK = true
+ oObj.gotoStart(false)
+ oObj.goRight(2, false)
+ oObj.String = "3"
+ bOK = bOK AND inStr(1, oObj.Text.String, "2a3")
+ Test.MethodTested("goRight()", bOK)
+
+ Test.StartMethod("goLeft()")
+ bOK = true
+ oObj.gotoEnd(false)
+ oObj.goLeft(2, false)
+ oObj.String = "4"
+ bOK = bOK AND inStr(1, oObj.Text.String, "4g1")
+ Test.MethodTested("goLeft()", bOK)
+
+ Test.StartMethod("gotoRange()")
+ bOK = true
+ oCursor.gotoEnd(false)
+ oCursor.goLeft(1, false)
+ oCursor.goLeft(2, true)
+ oObj.gotoStart(false)
+ oObj.gotoRange(oCursor, false)
+ bOK = bOK AND oObj.String = "4g"
+ Test.MethodTested("gotoRange()", bOK)
+
+ Test.StartMethod("collapseToStart()")
+ bOK = true
+ cTp = oObj.String
+ oObj.collapseToStart()
+ oObj.String = "5"
+ bOK = bOK AND inStr(1, oObj.Text.String, "5" &amp; cTp)
+ Test.MethodTested("collapseToStart()", bOK)
+
+ Test.StartMethod("collapseToEnd()")
+ bOK = true
+ oObj.gotoEnd(false)
+ oObj.goLeft(3, true)
+ cTp = oObj.String
+ oObj.collapseToEnd()
+ oObj.String = "6"
+ bOK = bOK AND inStr(1, oObj.Text.String, cTp &amp; "6")
+ Test.MethodTested("collapseToEnd()", bOK)
+
+ Test.StartMethod("isCollapsed()")
+ bOK = true
+ oObj.collapseToStart()
+ bOK = bOK AND oObj.isCollapsed()
+ oObj.gotoEnd(false)
+ oObj.goLeft(3, true)
+ bOK = bOK AND NOT oObj.isCollapsed()
+ Test.MethodTested("isCollapsed()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextDocument/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextDocument/script.xlb
new file mode 100644
index 000000000000..3d21d9548231
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextDocument/text_XTextDocument.xba b/qadevOOo/tests/basic/ifc/text/XTextDocument/text_XTextDocument.xba
new file mode 100644
index 000000000000..a8a63b753495
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextDocument/text_XTextDocument.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getText()")
+ bOK = true
+ oText = oObj.getText()
+ bOK = bOK AND hasUnoInterfaces(oText, "com.sun.star.text.XText")
+ Test.MethodTested("getText()", bOK)
+
+ Test.StartMethod("reformat()")
+ bOK = true
+ oObj.reformat()
+ Test.MethodTested("reformat()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/script.xlb
new file mode 100644
index 000000000000..6c31a1aadd14
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextEmbeddedObjectsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextEmbeddedObjectsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/text_XTextEmbeddedObjectsSupplier.xba b/qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/text_XTextEmbeddedObjectsSupplier.xba
new file mode 100644
index 000000000000..53ae423f5175
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextEmbeddedObjectsSupplier/text_XTextEmbeddedObjectsSupplier.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextEmbeddedObjectsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextEmbeddedObjectsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getEmbeddedObjects()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getEmbeddedObjects(), "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getEmbeddedObjects()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextField/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextField/script.xlb
new file mode 100644
index 000000000000..5520ad3eb242
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextField/text_XTextField.xba b/qadevOOo/tests/basic/ifc/text/XTextField/text_XTextField.xba
new file mode 100644
index 000000000000..183707c95a45
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextField/text_XTextField.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getPresentation()")
+ bOK = true
+ Out.Log("getting presentetion with bShowCommand flag...")
+ bOK = bOK AND (VarType(oObj.getPresentation(true)) = 8 )
+ Out.Log("Result: " &amp; bOK)
+ Out.Log("getting presentetion without bShowCommand flag...")
+ bOK = bOK AND (VarType(oObj.getPresentation(false)) = 8 )
+ Out.Log("Result: " &amp; bOK)
+
+ Test.MethodTested("getPresentation()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextFrame/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextFrame/script.xlb
new file mode 100644
index 000000000000..5da11ee8e3a7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextFrame/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextFrame" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextFrame"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextFrame/text_XTextFrame.xba b/qadevOOo/tests/basic/ifc/text/XTextFrame/text_XTextFrame.xba
new file mode 100644
index 000000000000..c2649b234521
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextFrame/text_XTextFrame.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextFrame" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextFrame
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oCursor As Object
+
+
+ Test.StartMethod("getText()")
+ bOK = true
+ oText = oObj.Text
+ bOK = bOK AND NOT isNull(oText)
+
+ oCursor = oObj.Text.createTextCursor()
+ oBookmark = oDoc.Bookmarks.getByIndex(0)
+
+ oCursor.gotoRange(oBookmark.Anchor, true)
+
+ ' ... and check if text is what it should be
+ bOK = bOK AND (mid(oCursor.String, 1, Len(cFrameName)) = cFrameName)
+ Test.MethodTested("getText()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/script.xlb
new file mode 100644
index 000000000000..1c98d19d8c83
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextGraphicObjectsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextGraphicObjectsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/text_XTextGraphicObjectsSupplier.xba b/qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/text_XTextGraphicObjectsSupplier.xba
new file mode 100644
index 000000000000..1b6b7ba6f1c9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextGraphicObjectsSupplier/text_XTextGraphicObjectsSupplier.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextGraphicObjectsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextGraphicObjectsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getGraphicObjects()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getGraphicObjects(), "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getGraphicObjects()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextRange/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextRange/script.xlb
new file mode 100644
index 000000000000..98eb1adc767b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextRange/text_XTextRange.xba b/qadevOOo/tests/basic/ifc/text/XTextRange/text_XTextRange.xba
new file mode 100644
index 000000000000..14d417924c27
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextRange/text_XTextRange.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oStartOfTextRange As Object
+ Dim oEndOfTextRange As Object
+ Dim oText As Object
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("setString()")
+ Test.StartMethod("getString()")
+ bOK = true
+ oObj.setString("Middle")
+ bOK = bOK AND (oObj.getString() = "Middle")
+ Test.MethodTested("setString()", bOK)
+ Test.MethodTested("getString()", bOK)
+
+ Test.StartMethod("getEnd()")
+ oEndOfTextRange = oObj.getEnd()
+ oEndOfTextRange.String = "End"
+
+ Test.StartMethod("getStart()")
+ bOK = true
+ oStartOfTextRange = oObj.getStart()
+ oStartOfTextRange.String = "Start"
+
+ Test.StartMethod("getText()")
+ bOK = true
+ oText = oObj.getText()
+ Out.Log("Result string is '" + oText.getString() + "'")
+ bOK = bOK AND instr(oText.getString(), "StartMiddleEnd") &gt; 0
+ Test.MethodTested("getEnd()", bOK)
+ Test.MethodTested("getStart()", bOK)
+ Test.MethodTested("getText()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextRangeCompare/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextRangeCompare/script.xlb
new file mode 100644
index 000000000000..08a067879bf7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextRangeCompare/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextRangeCompare" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextRangeCompare"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextRangeCompare/text_XTextRangeCompare.xba b/qadevOOo/tests/basic/ifc/text/XTextRangeCompare/text_XTextRangeCompare.xba
new file mode 100644
index 000000000000..4e750a4a47ee
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextRangeCompare/text_XTextRangeCompare.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextRangeCompare" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextRangeCompare
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oCursor1 As Object
+ Dim oCursor2 As Object
+ Dim nResult As Integer
+ Dim bEnd As Boolean
+ Dim bStart As Boolean
+ Dim cIfcShortName As String
+
+ cIfcShortName = "XTextRangeCompare"
+
+ nResult = 10
+
+ Test.StartMethod("compareRegionEnds()")
+ Test.StartMethod("compareRegionStarts()")
+
+ oCursor1 = oObj.createTextCursor()
+ oCursor2 = oObj.createTextCursor()
+
+ nResult = oObj.compareRegionEnds(oCursor1, oCursor2)
+ bEnd = (nResult = 0)
+ nResult = oObj.compareRegionStarts(oCursor1, oCursor2)
+ bStart = (nResult = 0)
+
+ oObj.insertString(oCursor1, cIfcShortName, false)
+ oObj.insertControlCharacter(oCursor1, 0, false)
+ oCursor2 = oObj.createTextCursor()
+
+ oObj.insertString(oCursor2, cIfcShortName + cIfcShortName, false)
+ oObj.insertControlCharacter(oCursor2, 0, false)
+
+ nResult = oObj.compareRegionEnds(oCursor1, oCursor2)
+ bEnd = bEnd AND (nResult = -1)
+ nResult = oObj.compareRegionEnds(oCursor2, oCursor1)
+ bEnd = bEnd AND (nResult = 1)
+
+ nResult = oObj.compareRegionStarts(oCursor1, oCursor2)
+ bStart = (nResult = -1)
+ nResult = oObj.compareRegionStarts(oCursor2, oCursor1)
+ bStart = (nResult = 1)
+
+ Test.MethodTested("compareRegionEnds()", bEnd)
+ Test.MethodTested("compareRegionStarts()", bStart)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextRangeMover/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextRangeMover/script.xlb
new file mode 100644
index 000000000000..25b529a589f0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextRangeMover/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextRangeMover" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextRangeMover"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextRangeMover/text_XTextRangeMover.xba b/qadevOOo/tests/basic/ifc/text/XTextRangeMover/text_XTextRangeMover.xba
new file mode 100644
index 000000000000..4922f14464e1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextRangeMover/text_XTextRangeMover.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextRangeMover" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oTextRangeToMove As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextRangeMover
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("moveTextRange()")
+ bOK = true
+ oObj.moveTextRange(oTextRangeToMove, 1)
+ Test.MethodTested("moveTextRange()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextSection/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextSection/script.xlb
new file mode 100644
index 000000000000..0335ea7bbf13
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextSection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextSection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextSection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextSection/text_XTextSection.xba b/qadevOOo/tests/basic/ifc/text/XTextSection/text_XTextSection.xba
new file mode 100644
index 000000000000..92d4fab6cd7a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextSection/text_XTextSection.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextSection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextSection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oPS As Variant, oCS As Variant
+ Dim i As Integer
+ Dim bChild As Boolean
+
+ Test.StartMethod("getParentSection()")
+ bOK = true
+ oPS = oObj.getParentSection()
+ if (NOT isNULL(oPS)) then
+ bOK = bOK AND hasUnoInterfaces(oPS, "com.sun.star.text.XTextSection")
+ if bOK then
+ Out.Log("Checking the names of parent's children ...")
+ oCS = oPS.getChildSections()
+ bChild = false
+ for i = 0 to ubound(oCS)
+ if oCS(i).Name = oObj.Name then bChild = true
+ next i
+ if NOT bChild then
+ Out.Log("The tested section was not found among its parent's child sections.")
+ bOK = false
+ endif
+ else
+ Out.Log("Wrong object returned.")
+ bOK = false
+ endif
+ else
+ Out.Log("!!! Not really tested. Parent not found !!!")
+ end if
+ Test.MethodTested("getParentSection()", bOK)
+
+ Test.StartMethod("getChildSections()")
+ bOK = true
+ oCS = oObj.getChildSections()
+ bOK = bOK AND isArray(oCS)
+ if (ubound(oCS) &gt;= 0) then
+ bOK = bOK AND hasUnoInterfaces(oCS(0), "com.sun.star.text.XTextSection")
+ if bOK then
+ Out.Log("Checking the name of child's parent ...")
+ oPS = oCS(0).getParentSection()
+ bOK = bOK AND oPS.Name = oObj.Name
+ if NOT bOK then
+ Out.Log("Child's parent name isn't match to the object name: '" + oPS.Name + "', '" + oObj.Name + "'")
+ endif
+ else
+ Out.Log("Wrong object returned.")
+ endif
+ else
+ Out.Log("!!! Not really tested. There are no section's children !!!")
+ bOK = false
+ end if
+ Test.MethodTested("getChildSections()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextTable/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextTable/script.xlb
new file mode 100644
index 000000000000..292086fbe8a5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextTable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextTable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextTable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextTable/text_XTextTable.xba b/qadevOOo/tests/basic/ifc/text/XTextTable/text_XTextTable.xba
new file mode 100644
index 000000000000..32009e626418
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextTable/text_XTextTable.xba
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextTable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global nTableW As Integer
+' - Global nTableH As Integer
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextTable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer, j As Integer
+ Dim oRows As Object, oColumns As Object
+ Dim oCursor As Object, oCell As Object
+ Dim aNames As Variant
+ Dim nDscColumns As Integer, nDscRows As Integer
+
+ Test.StartMethod("initialize()")
+ bOK = true
+ ' Object is already was initialized, when it was created... So, assume that this is OK.
+
+ For i = 0 to nTableW - 1
+ For j = 0 to nTableH - 1
+ oObj.getCellByPosition(i, j).Value = i + j * nTableW
+ Next j
+ Next i
+
+ nDscColumns = ubound(oObj.getColumnDescriptions()) + 1
+ nDscRows = ubound(oObj.getRowDescriptions()) + 1
+
+ bOK = bOK AND nDscRows = nTableH AND nDscColumns = nTableW
+ if NOT bOK then
+ Out.Log("The table must have size (" + nTableW + "," + nTableH + _
+ "), but descriptions returned for size (" + nDscColumns + "," + nDscRows + ")")
+ endif
+ Test.MethodTested("initialize()", bOK)
+
+ Test.StartMethod("getRows()")
+ bOK = true
+
+ oRows = oObj.getRows()
+
+ bOK = bOK AND hasUnoInterfaces(oRows, "com.sun.star.table.XTableRows")
+ bOK = bOK AND oRows.getCount() = nTableH
+ Test.MethodTested("getRows()", bOK)
+
+ Test.StartMethod("getColumns()")
+ bOK = true
+
+ oColumns = oObj.getColumns()
+
+ bOK = bOK AND hasUnoInterfaces(oColumns, "com.sun.star.table.XTableColumns")
+ bOK = bOK AND oColumns.getCount() = nTableW
+ Test.MethodTested("getColumns()", bOK)
+
+
+ Test.StartMethod("createCursorByCellName()")
+ bOK = true
+ oCursor = oObj.createCursorByCellName("B2")
+ bOK = bOK AND hasUnoInterfaces(oCursor, "com.sun.star.text.XTextTableCursor")
+ bOK = bOK AND oCursor.getRangeName() = "B2"
+ Test.MethodTested("createCursorByCellName()", bOK)
+
+ oCursor.splitRange(1, true)
+ oCursor.splitRange(1, false)
+
+ Test.StartMethod("getCellNames()")
+ bOK = true
+ aNames = oObj.getCellNames()
+ bOK = bOK AND ubound(aNames) = nTableW * nTableH + 1 ' = nTableW * nTableH - 1 + 2(after splitting)
+ Test.MethodTested("getCellNames()", bOK)
+
+ Test.StartMethod("getCellByName()")
+ bOK = true
+ oCell = oObj.getCellByPosition(0,0)
+ oCell.String = "A1"
+ oCell = oObj.getCellByName("A1")
+ bOK = bOK AND oCell.String = "A1"
+
+ oCell = oObj.getCellByName("B2.2.1")
+ bOK = bOK AND hasUnoInterfaces(oCell, "com.sun.star.table.XCell")
+
+ Test.MethodTested("getCellByName()", bOK)
+
+ ReCreateObj()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextTableCursor/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextTableCursor/script.xlb
new file mode 100644
index 000000000000..6a67335e4ea2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextTableCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextTableCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextTableCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextTableCursor/text_XTextTableCursor.xba b/qadevOOo/tests/basic/ifc/text/XTextTableCursor/text_XTextTableCursor.xba
new file mode 100644
index 000000000000..989a1537b3aa
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextTableCursor/text_XTextTableCursor.xba
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextTableCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextTableCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("gotoStart()")
+ bOK = true
+ oObj.gotoStart(false)
+ bOK = bOK AND Expected("A1")
+ Test.MethodTested("gotoStart()", bOK)
+
+ Test.StartMethod("getRangeName()")
+ bOK = true
+ cName = oObj.getRangeName()
+ bOK = bOK AND NOT isNULL(cName)
+ Test.MethodTested("getRangeName()", bOK)
+
+ Test.StartMethod("gotoCellByName()")
+ bOK = true
+ bOK = bOK AND oObj.gotoCellByName("B2", true)
+ bOK = bOK AND Expected("A1:B2")
+ Test.MethodTested("gotoCellByName()", bOK)
+
+ Test.StartMethod("goLeft()")
+ bOK = true
+ bOK = bOK AND oObj.goLeft(1, false)
+ bOK = bOK AND Expected("A2")
+ Test.MethodTested("goLeft()", bOK)
+
+ Test.StartMethod("goRight()")
+ bOK = true
+ bOK = bOK AND oObj.goRight(3, true)
+ bOK = bOK AND Expected("A2:D2")
+ Test.MethodTested("goRight()", bOK)
+
+ Test.StartMethod("goUp()")
+ bOK = true
+ bOK = bOK AND oObj.goUp(1, true)
+ bOK = bOK AND Expected("A2:D1")
+ Test.MethodTested("goUp()", bOK)
+
+ Test.StartMethod("goDown()")
+ bOK = true
+ bOK = bOK AND oObj.goDown(3, false)
+ bOK = bOK AND Expected("D4")
+ Test.MethodTested("goDown()", bOK)
+
+ Test.StartMethod("gotoEnd()")
+ bOK = true
+ oObj.gotoEnd(true)
+ bOK = bOK AND Expected("D4:E5")
+ Test.MethodTested("gotoEnd()", bOK)
+
+ Test.StartMethod("mergeRange()")
+ bOK = true
+ oObj.gotoStart(false)
+ oObj.gotoEnd(true)
+ bOK = bOK AND oObj.mergeRange()
+ bOK = bOK AND Expected("A1")
+ Test.MethodTested("mergeRange()", bOK)
+
+ Test.StartMethod("splitRange()")
+ bOK = true
+ bOK = bOK AND oObj.splitRange(3, true)
+ oObj.gotoEnd(true)
+ bOK = bOK AND Expected("A1.1.1:A1.1.4")
+ oObj.gotoStart(false)
+ bOK = bOK AND oObj.splitRange(2, false)
+ oObj.goRight(2, true)
+ bOK = bOK AND Expected("A1.1.1:A1.3.1")
+ Test.MethodTested("splitRange()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Function Expected(cName As String) As Boolean
+ Dim bOK As Boolean
+ Dim cRangeName As String
+ Dim cAltName As String
+ Dim dPos As Integer
+
+ cRangeName = oObj.getRangeName()
+
+ dPos = inStr(1, cName, ":")
+ if (dPos &gt; 0) then
+ cAltName = Mid(cName, dPos + 1) &amp; ":" &amp; Left(cName, dPos - 1)
+ bOK = (cRangeName = cName) OR (cAltName = cRangeName)
+ else
+ bOK = cRangeName = cName
+ end if
+
+ if (NOT bOK) then
+ Out.Log("Expected RangeName is '" &amp; cName &amp; "' and actual is '" &amp; cRangeName &amp; "'")
+ end if
+
+ Expected() = bOK
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/script.xlb
new file mode 100644
index 000000000000..8357f15eee37
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextTablesSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextTablesSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/text_XTextTablesSupplier.xba b/qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/text_XTextTablesSupplier.xba
new file mode 100644
index 000000000000..ce3b1700ed74
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextTablesSupplier/text_XTextTablesSupplier.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextTablesSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextTablesSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getTextTables()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getTextTables(), "com.sun.star.container.XNameAccess")
+ Test.MethodTested("getTextTables()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/script.xlb b/qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/script.xlb
new file mode 100644
index 000000000000..82f35ff951ae
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XTextViewCursorSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XTextViewCursorSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/text_XTextViewCursorSupplier.xba b/qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/text_XTextViewCursorSupplier.xba
new file mode 100644
index 000000000000..626fd75dbf08
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XTextViewCursorSupplier/text_XTextViewCursorSupplier.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XTextViewCursorSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XTextViewCursorSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getViewCursor()")
+ bOK = true
+ oCursor = oObj.getViewCursor()
+ bOK = bOK AND NOT isNULL(oCursor)
+ bOK = bOK AND oCursor.implementationName = "SwXTextViewCursor"
+ Test.MethodTested("getViewCursor()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/text/XWordCursor/script.xlb b/qadevOOo/tests/basic/ifc/text/XWordCursor/script.xlb
new file mode 100644
index 000000000000..0bf6c008e8e8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XWordCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_XWordCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_XWordCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/text/XWordCursor/text_XWordCursor.xba b/qadevOOo/tests/basic/ifc/text/XWordCursor/text_XWordCursor.xba
new file mode 100644
index 000000000000..c1e2936b3241
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/text/XWordCursor/text_XWordCursor.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XWordCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.text.XWordCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ oObj.Text.string = "1Word1: 2Word2, 3Word3."
+ oObj.gotoStart(false)
+
+ Test.StartMethod("gotoStartOfWord()")
+ bOK = true
+ oObj.gotoStartOfWord(false)
+ oObj.String = "1"
+ bOK = bOK AND inStr(1, oObj.Text.String, "11W") &lt;&gt; 0
+ Test.MethodTested("gotoStartOfWord()", bOK)
+
+ Test.StartMethod("gotoEndOfWord()")
+ bOK = true
+ oObj.gotoEndOfWord(false)
+ oObj.String = "2"
+ bOK = bOK AND inStr(1, oObj.Text.String, "d12") &lt;&gt; 0
+ Test.MethodTested("gotoEndOfWord()", bOK)
+
+ Test.StartMethod("gotoNextWord()")
+ bOK = true
+ oObj.gotoNextWord(false)
+ oObj.gotoNextWord(false)
+ oObj.gotoEndOfWord(false)
+ oObj.String = "3"
+ bOK = bOK AND inStr(1, oObj.Text.String, "d33") &lt;&gt; 0
+ Test.MethodTested("gotoNextWord()", bOK)
+
+ Test.StartMethod("gotoPreviousWord()")
+ bOK = true
+ oObj.gotoPreviousWord(false)
+ oObj.gotoStartOfWord(false)
+ oObj.String = "4"
+ bOK = bOK AND inStr(1, oObj.Text.String, "42W") &lt;&gt; 0
+ Test.MethodTested("gotoPreviousWord()", bOK)
+
+ Test.StartMethod("isStartOfWord()")
+ bOK = true
+ oObj.gotoStartOfWord(false)
+ bOK = bOK AND oObj.isStartOfWord()
+ Test.MethodTested("isStartOfWord()", bOK)
+
+ Test.StartMethod("isEndOfWord()")
+ bOK = true
+ oObj.gotoEndOfWord(false)
+ bOK = bOK AND oObj.isEndOfWord()
+ Test.MethodTested("isEndOfWord()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/script.xlb
new file mode 100644
index 000000000000..ac4ee4bfe229
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XCachedContentResultSetFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XCachedContentResultSetFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/ucb_XCachedContentResultSetFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/ucb_XCachedContentResultSetFactory.xba
new file mode 100644
index 000000000000..646757fbaa21
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetFactory/ucb_XCachedContentResultSetFactory.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XCachedContentResultSetFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oCachedContentResultSetStub As Object
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XCachedContentResultSetFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createCachedContentResultSet()")
+ bOK = true
+
+ Dim oResSet As Object
+ oResSet = oObj.createCachedContentResultSet(oCachedContentResultSetStub, NULL_OBJECT)
+
+ If IsNull(oResSet) Then
+ bOK = False
+ out.log("Method returned NULL")
+ Else
+ Dim stubRowNum, setRowNum As Integer
+ oCachedContentResultSetStub.last()
+ stubRowNum = oCachedContentResultSetStub.getRow()
+
+ oResSet.last()
+ setRowNum = oResSet.getRow()
+
+ bOK = (stubRowNum = setRowNum) and (setRowNum &gt; 0)
+ out.log("Number of rows : stub=" + stubRowNum + " set=" + setRowNum)
+ EndIf
+
+ Test.MethodTested("createCachedContentResultSet()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/script.xlb
new file mode 100644
index 000000000000..35e8bdf341f0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XCachedContentResultSetStubFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XCachedContentResultSetStubFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/ucb_XCachedContentResultSetStubFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/ucb_XCachedContentResultSetStubFactory.xba
new file mode 100644
index 000000000000..a8a4516757e7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedContentResultSetStubFactory/ucb_XCachedContentResultSetStubFactory.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XCachedContentResultSetStubFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oContentResultSet As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XCachedContentResultSetStubFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createCachedContentResultSetStub()")
+ bOK = true
+
+ Dim oResSetStub As Object
+ oResSetStub = oObj.createCachedContentResultSetStub(oContentResultSet)
+
+ If IsNull(oResSetStub) Then
+ bOk = False
+ out.log("Method returned NULL")
+ Else
+ Dim stubRowNum, setRowNum As Integer
+
+ oResSetStub.last()
+ stubRowNum = oResSetStub.getRow()
+
+ oContentResultSet.last()
+ setRowNum = oContentResultSet.getRow()
+
+ bOk = (stubRowNum = setRowNum) and (setRowNum &gt; 0)
+ out.log("Number of rows : set=" + setRowNum + "stub=" + stubRowNum)
+ EndIf
+
+ Test.MethodTested("createCachedContentResultSetStub()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/script.xlb
new file mode 100644
index 000000000000..355cb7dd01b2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XCachedDynamicResultSetFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XCachedDynamicResultSetFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/ucb_XCachedDynamicResultSetFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/ucb_XCachedDynamicResultSetFactory.xba
new file mode 100644
index 000000000000..292af7567947
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetFactory/ucb_XCachedDynamicResultSetFactory.xba
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XCachedDynamicResultSetFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+'Global oResSetStub As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE :
+' com.sun.star.ucb.XCachedDynamicResultSetFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("createCachedDynamicResultSet()")
+ bOK = true
+
+ Dim oResSet As Object
+ oResSet = oObj.createCachedDynamicResultSet(oResSetStub, NULL_OBJECT)
+
+ If IsNull(oResSet) Then
+ bOk = False
+ out.log("Method returned NULL")
+ Else
+ Dim oResultSetS As Object, oResultSetStubS As Object
+
+ oResultSetS = oResSet.getStaticResultSet()
+
+ oResultSetStubS = oResSetStub.getStaticResultSet()
+
+ Dim stubRowNum As Integer, setRowNum As Integer
+
+ oResultSetStubS.last()
+ stubRowNum = oResultSetStubS.getRow()
+
+ oResultSetS.last()
+ setRowNum = oResultSetS.getRow()
+
+ bOK = (stubRowNum = setRowNum) and (setRowNum &gt; 0)
+
+ out.log("Number of rows : stub=" + stubRowNum + " set=" + setRowNum)
+ EndIf
+
+ Test.MethodTested("createCachedDynamicResultSet()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/script.xlb
new file mode 100644
index 000000000000..8e6110e4c280
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XCachedDynamicResultSetStubFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XCachedDynamicResultSetStubFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/ucb_XCachedDynamicResultSetStubFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/ucb_XCachedDynamicResultSetStubFactory.xba
new file mode 100644
index 000000000000..8f323d227d5b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCachedDynamicResultSetStubFactory/ucb_XCachedDynamicResultSetStubFactory.xba
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XCachedDynamicResultSetStubFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oResSet As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XCachedDynamicResultSetStubFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createCachedDynamicResultSetStub()")
+ bOK = true
+
+ Dim oResSetStub As Object
+ oResSetStub = oObj.createCachedDynamicResultSetStub(oResSet)
+
+ If IsNull(oResSetStub) Then
+ bOK = False
+ out.log("Method returned NULL")
+ Else
+ Dim oResSetS, oResSetStubS As Object
+
+ oResSetS = oResSet.getStaticResultSet()
+ oResSetStubS = oResSetStub.getStaticResultSet()
+
+ Dim stubRowNum, setRowNum As Integer
+
+ oResSetStubS.last()
+ stubRowNum = oResSetStubS.getRow()
+
+ oResSetS.last()
+ setRowNum = oResSetS.getRow()
+
+ bOK = (stubRowNum = setRowNum) and (setRowNum &gt; 0)
+
+ out.log("Number of rows : stub=" + stubRowNum + " set=" + setRowNum)
+ EndIf
+
+ Test.MethodTested("createCachedDynamicResultSetStub()", bOK)
+
+ Test.StartMethod("connectToCache()")
+ bOK = true
+
+ Dim oFac As Object
+ oFac = createUnoService("com.sun.star.ucb.CachedDynamicResultSetFactory")
+
+ Dim oDynResSet As Object
+ oDynResSet = oFac.createCachedDynamicResultSet(NULL_OBJECT, NULL_OBJECT)
+
+ oObj.connectToCache(oResSet, oDynResSet, NULL_OBJECT, NULL_OBJECT)
+
+ out.log("checking connection to the source...")
+
+ oResSetS = oResSet.getStaticResultSet()
+ oResSetStubS = oDynResSet.getStaticResultSet()
+
+ oResSetStubS.last()
+ stubRowNum = oResSetStubS.getRow()
+
+ oResSetS.last()
+ setRowNum = oResSetS.getRow()
+
+ bOK = (stubRowNum = setRowNum) and (setRowNum &gt; 0)
+
+ out.log("Number of rows : stub=" + stubRowNum + " set=" + setRowNum)
+
+ Test.MethodTested("connectToCache()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/script.xlb
new file mode 100644
index 000000000000..5b0eb48543ee
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XCommandProcessor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XCommandProcessor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/ucb_XCommandProcessor.xba b/qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/ucb_XCommandProcessor.xba
new file mode 100644
index 000000000000..3281500c4b1d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XCommandProcessor/ucb_XCommandProcessor.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XCommandProcessor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XCommandProcessor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim CommandId As Long
+ Dim oCommand As New com.sun.star.ucb.Command
+ Dim Environment As Object
+ Dim Res As Variant
+ Dim Commands As Variant
+
+ Test.StartMethod("createCommandIdentifier()")
+ bOK = true
+ CommandId = oObj.createCommandIdentifier()
+ bOK = bOK AND CommandId &lt;&gt; 0
+ Test.MethodTested("createCommandIdentifier()", bOK)
+
+ Test.StartMethod("execute()")
+ bOK = true
+ oCommand.Name = "getCommandInfo"
+ oCommand.Handle = -1
+ oCommand.Argument = "arg"
+
+ Res = oObj.execute(oCommand, CommandId, Environment)
+ Out.Log("getCommandInfo returned: ")
+ Commands = Res.getCommands()
+ for i = 0 to ubound(commands)
+ Out.Log " " &amp; commands(i).Name
+ next i
+
+ Test.MethodTested("execute()", bOK)
+
+ Test.StartMethod("abort()")
+ bOK = true
+ oObj.abort(CommandId)
+ Test.MethodTested("abort()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/script.xlb
new file mode 100644
index 000000000000..52e741f78ce3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XContentIdentifierFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XContentIdentifierFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/ucb_XContentIdentifierFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/ucb_XContentIdentifierFactory.xba
new file mode 100644
index 000000000000..32e2149f0c88
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentIdentifierFactory/ucb_XContentIdentifierFactory.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XContentIdentifierFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global sContentID As String
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XContentIdentifierFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim ContentID As Object
+
+ if (sContentID = "") then
+ Out.Log("sContentID NOT initialized!")
+ Exit Sub
+ end if
+
+ Test.StartMethod("createContentIdentifier()")
+ bOK = true
+ ContentID = oObj.createContentIdentifier(sContentID)
+ bOK = bOK AND hasUNOInterfaces(ContentID, "com.sun.star.ucb.XContentIdentifier")
+ Test.MethodTested("createContentIdentifier()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentProvider/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XContentProvider/script.xlb
new file mode 100644
index 000000000000..8f76e1207192
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XContentProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XContentProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentProvider/ucb_XContentProvider.xba b/qadevOOo/tests/basic/ifc/ucb/XContentProvider/ucb_XContentProvider.xba
new file mode 100644
index 000000000000..437c6e543bfd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentProvider/ucb_XContentProvider.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XContentProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global ContentID1 As Object
+' - Global ContentID2 As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XContentProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim compRes As Integer
+ Dim Content As Object
+
+ if (NOT hasUNOInterfaces(ContentID1, "com.sun.star.ucb.XContentIdentifier") OR _
+ NOT hasUNOInterfaces(ContentID2, "com.sun.star.ucb.XContentIdentifier")) then
+ Out.Log("ContentID1 or/and ContentID2 not initialized.")
+ Exit Sub
+ end if
+
+ Test.StartMethod("queryContent()")
+ bOK = true
+ Out.Log("Try to query content for '" &amp; ContentID1.getContentIdentifier() &amp; "'")
+ Content = oObj.queryContent(ContentID1)
+ bOK = bOK AND hasUnoInterfaces(Content, "com.sun.star.ucb.XContent")
+ Out.Log("Content is XContent - " &amp; bOK)
+ if (bOK) then
+ Out.Log("Returned identifier is " &amp; Content.getIdentifier.getContentIdentifier())
+ bOK = bOK AND (Content.getIdentifier.getContentIdentifier() = ContentID1.getContentIdentifier())
+ end if
+ Test.MethodTested("queryContent()", bOK)
+
+ Test.StartMethod("compareContentIds()")
+ bOK = true
+ compRes = oObj.compareContentIds(ContentID1, ContentID2)
+ bOK = bOK AND compRes &lt;&gt; 0
+ compRes = oObj.compareContentIds(ContentID2, ContentID2)
+ bOK = bOK AND compRes = 0
+ Test.MethodTested("compareContentIds()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/script.xlb
new file mode 100644
index 000000000000..d4230fd9c2e4
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XContentProviderFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XContentProviderFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/ucb_XContentProviderFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/ucb_XContentProviderFactory.xba
new file mode 100644
index 000000000000..b667fa59c743
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentProviderFactory/ucb_XContentProviderFactory.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XContentProviderFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XContentProviderFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createContentProvider()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.createContentProvider(_
+ "com.sun.star.ucb.ContentProviderFactory"),_
+ "com.sun.star.ucb.XContentProvider")
+ Test.MethodTested("createContentProvider()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/script.xlb
new file mode 100644
index 000000000000..020d1bbd6498
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XContentProviderManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XContentProviderManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/ucb_XContentProviderManager.xba b/qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/ucb_XContentProviderManager.xba
new file mode 100644
index 000000000000..478485d31a4a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XContentProviderManager/ucb_XContentProviderManager.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XContentProviderManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XContentProviderManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim Provider As Object
+ Dim Scheme As String
+ Dim ReplaceExisting As Boolean
+ Dim ContentProvider As Object
+ Dim queryInfo As Variant
+ Dim bFound As Boolean
+
+ Test.StartMethod("queryContentProviders()")
+ bOK = true
+ queryInfo = oObj.queryContentProviders()
+ Out.Log("queryContentProviders() returned " &amp; ubound(queryInfo) &amp; " elements.")
+ for i = 0 to ubound(queryInfo)
+ Out.Log(queryInfo(i).Scheme)
+ next i
+ Test.MethodTested("queryContentProviders()", bOK)
+
+ Test.StartMethod("registerContentProvider()")
+ bOK = true
+ ReplaceExisting = true
+ Scheme = "XContentProviderManager"
+ Provider = createUNOService("com.sun.star.ucb.FileContentProvider")
+ Out.Log("Registering Scheme = '" &amp; Scheme &amp; "'")
+ ContentProvider = oObj.registerContentProvider(Provider, Scheme, ReplaceExisting)
+ bOK = bOK AND hasUnoInterfaces(ContentProvider, "com.sun.star.ucb.XContentProvider")
+ Out.Log("ContentProvider is XContentProvider - " &amp; bOK)
+ if bOK then
+ bFound = false
+ queryInfo = oObj.queryContentProviders()
+ for i = 0 to ubound(queryInfo)
+ bFound = bFound OR queryInfo(i).Scheme = Scheme
+ next i
+ if NOT bFound then
+ Out.Log("Can't find registered ContentProvider in query!")
+ bOK = false
+ end if
+ end if
+ Test.MethodTested("registerContentProvider()", bOK)
+
+ Test.StartMethod("deregisterContentProvider()")
+ if bOK then
+ oObj.deregisterContentProvider(ContentProvider, Scheme)
+ bFound = false
+ queryInfo = oObj.queryContentProviders()
+ for i = 0 to ubound(queryInfo)
+ bFound = bFound OR queryInfo(i).Scheme = Scheme
+ next i
+ if bFound then
+ Out.Log("ContentProvider was found in query! It was not DeRegistered!")
+ bOK = false
+ end if
+ else
+ Out.Log("Can't deregister ContentProvider without registering!")
+ end if
+
+ Test.MethodTested("deregisterContentProvider()", bOK)
+
+ Test.StartMethod("queryContentProvider()")
+ bOK = true
+ ContentProvider = oObj.queryContentProvider(queryInfo(0).Scheme)
+ bOK = bOK AND hasUnoInterfaces(ContentProvider, "com.sun.star.ucb.XContentProvider")
+ Test.MethodTested("queryContentProvider()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XDataContainer/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XDataContainer/script.xlb
new file mode 100644
index 000000000000..c5b36f463e24
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XDataContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XDataContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XDataContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XDataContainer/ucb_XDataContainer.xba b/qadevOOo/tests/basic/ifc/ucb/XDataContainer/ucb_XDataContainer.xba
new file mode 100644
index 000000000000..362684c3853d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XDataContainer/ucb_XDataContainer.xba
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XDataContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XDataContainer
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+
+
+ Test.StartMethod("setContentType()")
+ Test.StartMethod("getContentType()")
+
+ Dim aContType As String
+ Dim objContType As String
+ Dim newContType As String
+
+ bOK = true
+ aContType = oObj.getContentType()
+ Out.Log("Current content type is: '" + aContType + "'")
+ newContType = "text/html"
+
+ if (newContType = aContType) then
+ newContType = "text/plain"
+ end if
+
+ Out.Log("Trying to change type to " + newContType)
+ oObj.setContentType(newContType)
+
+ objContType = oObj.getContentType()
+ Out.Log("Actual content type is: '" + objContType + "'")
+ bOK = bOK AND objContType = newContType
+ Out.Log("Change type back to original...")
+ oObj.setContentType(aContType)
+
+ Test.MethodTested("getContentType()", bOK)
+ Test.MethodTested("setContentType()", bOK)
+
+
+ Test.StartMethod("getData()")
+ bOK = true
+
+ Dim Data As Variant
+
+ Data = oObj.getData()
+ Out.Log("getData returned array with ubound = " + ubound(Data))
+ bOK = bOK AND ubound(Data) &gt;= -1
+ for i = 0 to ubound(Data)
+ Out.Log("" + Data(i) + " " + chr(Data(i)))
+ next i
+ Test.MethodTested("getData()", bOK)
+
+ Test.StartMethod("setData()")
+ bOK = true
+
+ Dim DataToSet As Variant
+ DataToSet = DimArray(ubound(Data()))
+
+ for i = 0 to ubound(DataToSet())
+ DataToSet(i) = Data(i) + 1
+ next i
+
+ oObj.setData(DataToSet)
+ Data = oObj.getData()
+ Out.Log("after setData() call: getData returned array with ubound = " + ubound(Data))
+ bOK = bOK AND (ubound(Data) = ubound(DataToSet))
+ if (bOK) then
+ for i = 0 to ubound(Data)
+ Out.Log("" + Data(i) + " " + chr(Data(i)))
+ bOK = bOK AND (DataToSet(i) = Data(i))
+ next i
+ end if
+
+ Test.MethodTested("setData()", bOK)
+
+ Test.StartMethod("getDataURL()")
+ Test.StartMethod("setDataURL()")
+
+
+ Dim aDataURL As String
+ Dim objDataURL As String
+ Dim newDataURL As String
+
+ bOK = true
+ aDataURL = oObj.getDataURL()
+ Out.Log("Current data URL is: '" + aDataURL + "'")
+ newDataURL = "http://www.sun.com"
+ if (newDataURL = aDataURL) then
+ newDataURL = "http://www.openoffice.org"
+ end if
+
+ Out.Log("Trying to change data URL to " + newDataURL)
+ oObj.setDataURL(newDataURL)
+
+ objDataURL = oObj.getDataURL()
+ Out.Log("Actual data URL is: '" + objDataURL + "'")
+ bOK = bOK AND objDataURL = newDataURL
+ Out.Log("Change data URL back to original...")
+ oObj.setDataURL(aDataURL)
+
+ Out.Log("Methods getDataURL() and setDataURL() are DEPRICATED. The result of test is ALWAYS true!")
+
+ bOK = true
+
+ Test.MethodTested("getDataURL()", bOK)
+ Test.MethodTested("setDataURL()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/script.xlb
new file mode 100644
index 000000000000..81007cb5654c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XFileIdentifierConverter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XFileIdentifierConverter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/ucb_XFileIdentifierConverter.xba b/qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/ucb_XFileIdentifierConverter.xba
new file mode 100644
index 000000000000..8b69b8f6cdc2
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XFileIdentifierConverter/ucb_XFileIdentifierConverter.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XFileIdentifierConverter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XFileIdentifierConverter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim iRes As Integer
+ Dim sRes As String
+
+
+ Test.StartMethod("getFileProviderLocality()")
+ bOK = true
+
+ Out.Log("Test that " &amp; cBaseURL &amp; " is correct")
+ iRes = oObj.getFileProviderLocality(cBaseURL)
+ Out.Log("Returned value is " &amp; iRes)
+ bOK = bOK AND iRes &gt; 0
+
+ Out.Log("Test that wrong URL is NOT correct")
+ iRes = oObj.getFileProviderLocality("++lsjd_!!")
+ Out.Log("Returned value is " &amp; iRes)
+ bOK = bOK AND iRes &lt; 0
+
+ Test.MethodTested("getFileProviderLocality()", bOK)
+
+ Test.StartMethod("getFileURLFromSystemPath()")
+ bOK = true
+ Out.Log("Convert " &amp; cSystemPath)
+ sRes = oObj.getFileURLFromSystemPath(cBaseURL, cSystemPath)
+ Out.Log("Returned value is " &amp; sRes)
+ bOK = bOK AND sRes = Path2URL(cSystemPath)
+ Test.MethodTested("getFileURLFromSystemPath()", bOK)
+
+ Test.StartMethod("getSystemPathFromFileURL()")
+ bOK = true
+ Out.Log("Convert " &amp; cURLPath)
+ sRes = oObj.getSystemPathFromFileURL(cURLPath)
+ Out.Log("Returned value is " &amp; sRes)
+ bOK = bOK AND sRes = URL2Path(cURLPath)
+ Test.MethodTested("getSystemPathFromFileURL()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/script.xlb
new file mode 100644
index 000000000000..a5c8a5a0a01c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XPropertyMatcherFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XPropertyMatcherFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/ucb_XPropertyMatcherFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/ucb_XPropertyMatcherFactory.xba
new file mode 100644
index 000000000000..59cf541e3b34
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XPropertyMatcherFactory/ucb_XPropertyMatcherFactory.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XPropertyMatcherFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XPropertyMatcherFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSearchCriteria(0) As New com.sun.star.ucb.SearchCriterium
+ Dim oTerms(0) As New com.sun.star.ucb.RuleTerm
+ Dim oPropertyMatcher As Object
+
+
+ Test.StartMethod("createPropertyMatcher()")
+ bOK = true
+ oTerms(0).Property = "Name"
+ oTerms(0).Operand = 1
+ oTerms(0).Operator = "="
+ oTerms(0).CaseSensitive = false
+ oTerms(0).RegularExpression = false
+
+ oSearchCriteria(0).Terms = oTerms()
+ oPropertyMatcher = oObj.createPropertyMatcher(oSearchCriteria())
+
+ bOK = bOK AND hasUnoInterfaces(oPropertyMatcher, "com.sun.star.ucb.XPropertyMatcher")
+ Test.MethodTested("createPropertyMatcher()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/script.xlb
new file mode 100644
index 000000000000..e21cccfe01f9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XPropertySetRegistryFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XPropertySetRegistryFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/ucb_XPropertySetRegistryFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/ucb_XPropertySetRegistryFactory.xba
new file mode 100644
index 000000000000..da9574f36b1b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XPropertySetRegistryFactory/ucb_XPropertySetRegistryFactory.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XPropertySetRegistryFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XPropertySetRegistryFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createPropertySetRegistry()")
+ bOK = true
+
+ bOK = bOK AND hasUnoInterfaces(oObj.createPropertySetRegistry(""),_
+ "com.sun.star.ucb.XPropertySetRegistry")
+
+ Test.MethodTested("createPropertySetRegistry()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/script.xlb
new file mode 100644
index 000000000000..ce7b93254b04
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XSimpleFileAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XSimpleFileAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/ucb_XSimpleFileAccess.xba b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/ucb_XSimpleFileAccess.xba
new file mode 100644
index 000000000000..c4c24686f6c6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess/ucb_XSimpleFileAccess.xba
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XSimpleFileAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XSimpleFileAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim testDir As String
+ Dim cSubFolder As String
+ Dim cFile1 As String
+ Dim cFile2 As String
+ Dim cFile3 As String
+ Dim oFC As Variant
+ Dim oDT As Object
+ Dim oOS As Object
+ Dim oIS As Object
+ Dim cFileName As String
+ Dim cCrDate As String
+ Dim cType As String
+ Dim i As Integer
+ Dim k As Integer
+ Dim oIH As Object
+
+ Dim Bytes(5) As Integer
+ for i = 0 to 5
+ Bytes(i) = i
+ next i
+
+ testDir = utils.Path2URL(cTestDocsDir + "XSimpleFileAccessBASIC")
+ Out.Log("Test directory is '" + testDir + "'")
+ cSubFolder = utils.getTempFileURL( + "/SubFolder")
+ cFile1 = utils.Path2URL(testDir + "/File1.txt")
+ cFile2 = utils.Path2URL(testDir + "/File2.txt")
+ cFile3 = utils.Path2URL(cSubFolder + "/File3.txt")
+ if FileExists(cFile3) then kill(cFile3)
+ if (FileExists(cSubFolder)) then rmDir(cSubFolder)
+
+ Out.Log("Test that files are in place...")
+ bOK = true
+ bOK = bOK AND FileExists(cFile1)
+ bOK = bOK AND FileExists(cFile2)
+ if (NOT bOK) then
+ Out.Log("Can't find '" + cFile1 + "' and/or '" + cFile2 + "'")
+ Exit Sub
+ end if
+
+ Test.StartMethod("createFolder()")
+ bOK = true
+ Out.Log("Creating subfolder '" + cSubFolder + "'")
+ oObj.createFolder(cSubFolder)
+ bOK = bOK AND FileExists(cSubFolder)
+ Test.MethodTested("createFolder()", bOK)
+
+ Test.StartMethod("isFolder()")
+ bOK = true
+ bOK = bOK AND oObj.isFolder(cSubFolder)
+ bOK = bOK AND NOT oObj.isFolder(cFile1)
+ Test.MethodTested("isFolder()", bOK)
+
+ Test.StartMethod("getFolderContents()")
+ bOK = true
+ Out.Log("Getting content of folder '" + utils.Path2URL(cTestDocsDir) + "'")
+ oFC = oObj.getFolderContents(utils.Path2URL(cTestDocsDir), False)
+ ' Getting files amount (without folders)
+ cFileName = Dir(utils.Path2URL(cTestDocsDir))
+ i = 0
+ Out.Log("File list :")
+ while (cFileName &lt;&gt; "")
+ Out.Log(" " + cFileName)
+ i = i + 1
+ cFileName = Dir()
+ wend
+
+ bOK = bOK AND ubound(oFC) = i - 1
+ if (bOK) then
+ for k = 0 to i - 1
+ bOK = bOK AND FileExists(oFC(k))
+ next k
+ else
+ Out.Log("Amount of files in list is wrong: " + (ubound(oFC) + 1) + "," + i)
+
+ end if
+
+ Test.MethodTested("getFolderContents()", bOK)
+
+ Test.StartMethod("move()")
+ bOK = true
+ oObj.move(cFile2, cFile3)
+ bOK = bOK AND FileExists(cFile3) AND NOT FileExists(cFile2)
+ Test.MethodTested("move()", bOK)
+
+ Test.StartMethod("copy()")
+ bOK = true
+ oObj.copy(cFile3, cFile2)
+ bOK = bOK AND FileExists(cFile3) AND FileExists(cFile2)
+ Test.MethodTested("copy()", bOK)
+
+ Test.StartMethod("openFileWrite()")
+ bOK = true
+
+ Test.StartMethod("kill()")
+ bOK = true
+ oObj.kill(cFile3)
+ bOK = bOK AND NOT FileExists(cFile3)
+ Test.MethodTested("kill()", bOK)
+
+ Test.StartMethod("exists()")
+ bOK = true
+ bOK = bOK AND oObj.exists(cFile1) = FileExists(cFile1) AND oObj.exists(cFile3) = FileExists(cFile3)
+ Test.MethodTested("exists()", bOK)
+
+ Out.Log("creating a new file '" + cFile3 + "'")
+ oOS = oObj.openFileWrite(cFile3)
+ bOK = bOK AND NOT isNULL(oOS)
+ bOK = bOK AND FileExists(cFile3)
+ if (bOK) then
+ oOS.writeBytes(Bytes())
+ oOS.closeOutput()
+ end if
+ Test.MethodTested("openFileWrite()", bOK)
+
+ Test.StartMethod("getSize()")
+ bOK = true
+ Out.Log("Actual: " + oObj.getSize(cFile3) + " Expected: " + (ubound(Bytes()) + 1))
+ bOK = bOK AND oObj.getSize(cFile3) = (ubound(Bytes()) + 1)
+ Test.MethodTested("getSize()", bOK)
+
+ Test.StartMethod("setReadOnly()")
+ Test.StartMethod("isReadOnly()")
+ bOK = true
+ oObj.setReadOnly(cSubFolder, true)
+ bOK = bOK AND oObj.isReadOnly(cSubFolder)
+ oObj.setReadOnly(cSubFolder, false)
+ bOK = bOK AND NOT oObj.isReadOnly(cSubFolder)
+ Test.MethodTested("isReadOnly()", bOK)
+ Test.MethodTested("setReadOnly()", bOK)
+
+ Test.StartMethod("getContentType()")
+ bOK = true
+ cType = oObj.getContentType(cFile3)
+ Out.Log("Content Type is '" + cType + "'")
+ Test.MethodTested("getContentType()", bOK)
+
+ Test.StartMethod("getDateTimeModified()")
+ bOK = true
+ oDT = oObj.getDateTimeModified(cFile3)
+ cCrDate = Date()
+
+
+ bOK = bOK AND Day(cCrDate) = oDT.Day
+ bOK = bOK AND Month(cCrDate) = oDT.Month
+ bOK = bOK AND Year(cCrDate) = oDT.Year
+
+ if (NOT bOK) then
+ Out.Log("FileDateTime returned '" + cCrDate + "'")
+ Out.Log("getDateTimeModified returned '" + oDT.Day + "/" _
+ + oDT.Month + "/" _
+ + oDT.Year + " " _
+ + oDT.Hours + ":" _
+ + oDT.Minutes + ":" _
+ + oDT.Seconds + "'")
+ end if
+ Test.MethodTested("getDateTimeModified()", bOK)
+
+ Test.StartMethod("openFileRead()")
+ bOK = true
+ oIS = oObj.openFileRead(cFile3)
+ bOK = bOK AND NOT isNULL(oIS)
+ Dim rData(10) As Integer
+ Dim nRb As Integer
+ nRb = oIS.readBytes(rData(), 100)
+ bOK = bOK AND nRb = ubound(Bytes()) + 1
+ if (NOT bOK) then
+ Out.Log("Amount of read files is wrong")
+ else
+ for i = 0 to nRb - 1
+ bOK = bOK AND Bytes(i) = rData(i)
+ next i
+ end if
+ oIS.closeInput()
+ Test.MethodTested("openFileRead()", bOK)
+
+ Test.StartMethod("openFileReadWrite()")
+ bOK = true
+ oIS = oObj.openFileReadWrite(cFile3)
+ bOK = bOK AND hasUnoInterfaces(oIS, "com.sun.star.io.XStream")
+ Test.MethodTested("openFileReadWrite()", bOK)
+
+ Test.StartMethod("setInteractionHandler()")
+ bOK = true
+ oIH = createUNOInterface("com.sun.star.sdb.InteractionHandler")
+ oObj.setInteractionHandler(oIH)
+ Test.MethodTested("setInteractionHandler()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/script.xlb
new file mode 100644
index 000000000000..d7216c83c7f8
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XSimpleFileAccess2" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XSimpleFileAccess2"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/ucb_XSimpleFileAccess2.xba b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/ucb_XSimpleFileAccess2.xba
new file mode 100644
index 000000000000..95933450c149
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XSimpleFileAccess2/ucb_XSimpleFileAccess2.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XSimpleFileAccess2" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XSimpleFileAccess2
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim urlFileForWrite As String
+ Dim urlFileForRead As String
+ Dim oInputStream As Object
+
+ Test.StartMethod("writeFile()")
+
+ urlFileForWrite = utils.getTempFileURL("XSimpleFileAccess_new.txt")
+ urlFileForRead = utils.Path2URL(cTestDocsDir + "\XSimpleFileAccess\XSimpleFileAccess.txt")
+
+ oInputStream = oObj.openFileRead(urlFileForRead)
+
+ if oObj.exists(urlFileForWrite) then
+ oObj.kill(urlFileForWrite)
+ endif
+
+ oObj.writeFile(urlFileForWrite, oInputStream)
+ wait(1000)
+
+ bOK = oObj.exists(urlFileForWrite)
+ oObj.kill(urlFileForWrite)
+
+ Test.MethodTested("writeFile()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/script.xlb b/qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/script.xlb
new file mode 100644
index 000000000000..60ad898df6de
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_XSortedDynamicResultSetFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_XSortedDynamicResultSetFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/ucb_XSortedDynamicResultSetFactory.xba b/qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/ucb_XSortedDynamicResultSetFactory.xba
new file mode 100644
index 000000000000..d32aee8b52d9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ucb/XSortedDynamicResultSetFactory/ucb_XSortedDynamicResultSetFactory.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XSortedDynamicResultSetFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ucb.XSortedDynamicResultSetFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("createSortedDynamicResultSet()")
+
+ Dim oUCB As Object
+ oUCB = createUnoService("com.sun.star.ucb.UniversalContentBroker")
+ Dim args As Variant
+ args = Array("Local", "Office")
+ oUCB.initialize(args())
+
+ Dim sURL, sCntURL As String
+ sURL = utils.Path2URL(cTestDocsDir &amp; "solibrary.jar")
+ sURL = utils.utils.StrReplace(sURL, "/", "%2F")
+ sCntURL = "vnd.sun.star.pkg://" &amp; sURL &amp; "/"
+
+ Dim oCI, oContent As Object
+ oCI = oUCB.createContentIdentifier(sCntUrl)
+ oContent = oUCB.queryContent(oCI)
+
+ Dim props(0) As new com.sun.star.beans.Property
+ Dim cmd As new com.sun.star.ucb.Command
+ Dim ocArg As new com.sun.star.ucb.OpenCommandArgument2
+ Dim sortInfo(0) As new com.sun.star.ucb.NumberedSortingInfo
+ Dim oDynResSet As Object
+
+ props(0).Name = "Title"
+
+ ocArg.Mode = com.sun.star.ucb.OpenMode.ALL
+ ocArg.Priority = 10000
+ ocArg.Properties = props()
+ ocArg.SortingInfo = sortInfo()
+
+ cmd.Name = "open"
+ cmd.Handle = -1
+ cmd.Argument = ocArg
+
+ oDynResSet = oContent.execute(cmd, 0, NULL_OBJECT)
+
+ Dim oSortedSet As Object
+ oSortedSet = oObj.createSortedDynamicResultSet(oDynResSet, sortInfo(), NULL_OBJECT)
+
+ If IsNULL(oSortedSet) Then
+ out.log("returns null")
+ bOK = False
+ Else
+ Dim oSet As Object
+ oSet = oSortedSet.getStaticResultSet()
+ oSet.last()
+ Dim rowCount As Integer
+ rowCount = oSet.getRow()
+ out.log("number of row : " + rowCount)
+ bOK = rowCount > 0
+ EndIf
+
+ Test.MethodTested("createSortedDynamicResultSet()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/script.xlb
new file mode 100644
index 000000000000..97d3bbc7b5e1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_FilePicker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_FilePicker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/ui_dialogs_FilePicker.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/ui_dialogs_FilePicker.xba
new file mode 100644
index 000000000000..e8405adf89ad
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/FilePicker/ui_dialogs_FilePicker.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_FilePicker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.ui.dialogs.FilePicker
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ PropertyTester.TestProperty("HelpURL")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/script.xlb
new file mode 100644
index 000000000000..c0953782f731
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_XExecutableDialog" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_XExecutableDialog"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/ui_dialogs_XExecutableDialog.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/ui_dialogs_XExecutableDialog.xba
new file mode 100644
index 000000000000..95ec3646476b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XExecutableDialog/ui_dialogs_XExecutableDialog.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_XExecutableDialog" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ui.dialogs.XExecutableDialog
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("setTitle()")
+ bOK = true
+ oObj.setTitle("XExecutableDialog")
+ Test.MethodTested("setTitle()", bOK)
+
+ Test.StartMethod("execute()")
+ bOK = true
+' oObj.execute()
+ Out.Log("This method is excluded from automated test since we can't close the dialog")
+ Test.MethodTested("execute()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/script.xlb
new file mode 100644
index 000000000000..36ee0adb752c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_XFilePicker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_XFilePicker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/ui_dialogs_XFilePicker.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/ui_dialogs_XFilePicker.xba
new file mode 100644
index 000000000000..9b3e99ffd411
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePicker/ui_dialogs_XFilePicker.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_XFilePicker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ui.dialogs.XFilePicker
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim fileName As String, getDir As String
+ Dim getFiles As Variant, tempURL As String
+
+ tempURL = utils.Path2URL(cTestDocsDir)
+
+ Test.StartMethod("setMultiSelectionMode()")
+ bOK = true
+ oObj.setMultiSelectionMode(true)
+ oObj.setMultiSelectionMode(false)
+ Test.MethodTested("setMultiSelectionMode()", bOK)
+
+ Test.StartMethod("setDisplayDirectory()")
+ Out.Log("Trying to set dir : '" + tempURL + "'")
+ oObj.setDisplayDirectory(tempURL)
+
+ Test.StartMethod("getDisplayDirectory()")
+ bOK = true
+ getDir = oObj.getDisplayDirectory()
+ Out.Log("Returned directory : '" + getDir + "'")
+ bOK = bOK AND (getDir = tempURL)
+ Test.MethodTested("setDisplayDirectory()", bOK)
+ Test.MethodTested("getDisplayDirectory()", bOK)
+
+ Test.StartMethod("setDefaultName()")
+ bOK = true
+ fileName = "BasicBridge.sxw"
+ oObj.setDefaultName(fileName)
+ Test.MethodTested("setDefaultName()", bOK)
+
+ Test.StartMethod("getFiles()")
+ bOK = true
+ getFiles = oObj.getFiles()
+ Out.Log("Returned files count : " + ubound(getFiles()))
+ Out.Log("To have any files returned the FilePicker dialog must be executed, but this")
+ Out.Log("requires interactivity. Thus the fact that no files are selected is OK")
+ bOK = bOK AND (ubound(getFiles()) = -1)
+ Test.MethodTested("getFiles()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/script.xlb
new file mode 100644
index 000000000000..f51b76b90abc
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_XFilePickerControlAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_XFilePickerControlAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/ui_dialogs_XFilePickerControlAccess.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/ui_dialogs_XFilePickerControlAccess.xba
new file mode 100644
index 000000000000..39e2ab6e8662
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerControlAccess/ui_dialogs_XFilePickerControlAccess.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_XFilePickerControlAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global controlId As Short
+' Global controlInitVal As Variant
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ui.dialogs.XFilePickerControlAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oldVal As Variant, newVal As Variant, resVal As Variant
+ Dim oldLabel As String, newLabel As String, resLabel As String
+
+ Test.StartMethod("setValue()")
+ Test.StartMethod("getValue()")
+ bOK = true
+ newVal = controlInitVal 'PropertyTester.Change(oldVal, oCoreRefl.getType(oldVal).Name)
+ oObj.setValue(controlId, 0, newVal)
+ wait(100)
+ resVal = oObj.getValue(controlId, 0)
+ Out.Log("New: " + newVal + ", Res: " + resVal)
+ bOK = bOK AND PropertyTester.equals(newVal, resVal)
+
+ Test.MethodTested("setValue()", bOK)
+ Test.MethodTested("getValue()", bOK)
+
+ Test.StartMethod("getLabel()")
+ bOK = true
+ oldLabel = oObj.getLabel(controlId)
+ Test.MethodTested("getLabel()", bOK)
+
+ Test.StartMethod("setLabel()")
+ bOK = true
+ newLabel = oldLabel + "_"
+ oObj.setLabel(controlId, newLabel)
+ resLabel = oObj.getLabel(controlId)
+ bOK = bOK AND (resLabel = newLabel)
+ Test.MethodTested("setLabel()", bOK)
+
+ Test.StartMethod("enableControl()")
+ bOK = true
+ oObj.enableControl(controlId, false)
+ oObj.enableControl(controlId, true)
+ Test.MethodTested("enableControl()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/script.xlb
new file mode 100644
index 000000000000..a02e56e88f95
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_XFilePickerNotifier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_XFilePickerNotifier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/ui_dialogs_XFilePickerNotifier.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/ui_dialogs_XFilePickerNotifier.xba
new file mode 100644
index 000000000000..f8f4e4093962
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePickerNotifier/ui_dialogs_XFilePickerNotifier.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_XFilePickerNotifier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ui.dialogs.XFilePickerNotifier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim list1 As Object, list2 As Object
+ Dim dir1 As String, dir2 As String
+
+ dir1 = utils.Path2URL(cTestDocsDir)
+ dir2 = utils.getTempFileURL("")
+
+ Test.StartMethod("addFilePickerListener()")
+
+ list1 = createUnoListener("L1_", "com.sun.star.ui.dialogs.XFilePickerListener")
+ list2 = createUnoListener("L2_", "com.sun.star.ui.dialogs.XFilePickerListener")
+
+ oObj.addFilePickerListener(list1)
+ oObj.addFilePickerListener(list2)
+
+ Test.StartMethod("removeFilePickerListener()")
+ oObj.removeFilePickerListener(list1)
+
+ called1 = false
+ called2 = false
+ oObj.setDisplayDirectory(dir1)
+ oObj.setDisplayDirectory(dir2)
+
+ bOK = called2
+ Test.MethodTested("addFilePickerListener()", bOK)
+
+ bOK = called2 AND NOT called1
+ Test.MethodTested("removeFilePickerListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Dim called1 As Boolean, called2 As Boolean
+
+Sub L1_directoryChanged()
+ called1 = true
+End Sub
+
+Sub L2_directoryChanged()
+ called2 = true
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/script.xlb
new file mode 100644
index 000000000000..14a8801eee69
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_XFilePreview" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_XFilePreview"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/ui_dialogs_XFilePreview.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/ui_dialogs_XFilePreview.xba
new file mode 100644
index 000000000000..88e377aeed4d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilePreview/ui_dialogs_XFilePreview.xba
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_XFilePreview" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ui.dialogs.XFilePreview
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim formats As Variant
+ Dim tmp As Integer
+ Dim state As Boolean, resState As Boolean
+ Dim i As Integer
+
+ Test.StartMethod("getSupportedImageFormats()")
+ bOK = true
+ formats = oObj.getSupportedImageFormats()
+ bOK = bOK AND NOT isNull(formats)
+ Out.Log("Supported image formats :")
+ for i = lbound(formats()) to ubound(formats())
+ Out.Log(" " + formats(i))
+ next i
+ Test.MethodTested("getSupportedImageFormats()", bOK)
+
+ Test.StartMethod("getTargetColorDepth()")
+ bOK = true
+ tmp = oObj.getTargetColorDepth()
+ Out.Log("ColorDepth = " + tmp)
+ Test.MethodTested("getTargetColorDepth()", bOK)
+
+ Test.StartMethod("getAvailableWidth()")
+ bOK = true
+ tmp = oObj.getAvailableWidth()
+ Out.Log("AvailableWidth = " + tmp)
+ Test.MethodTested("getAvailableWidth()", bOK)
+
+ Test.StartMethod("getAvailableHeight()")
+ bOK = true
+ tmp = oObj.getAvailableHeight()
+ Out.Log("AvailableHeight = " + tmp)
+ Test.MethodTested("getAvailableHeight()", bOK)
+
+ Test.StartMethod("setImage()")
+ bOK = true
+ Dim emptyImage As Variant
+ oObj.setImage(com.sun.star.ui.dialogs.FilePreviewImageFormats.BITMAP, emptyImage)
+ Out.Log("No documentation is available for this method !!!!")
+ Test.MethodTested("setImage()", bOK)
+
+ Test.StartMethod("getShowState()")
+ bOK = true
+ state = oObj.getShowState()
+ Out.Log("Was :" + state)
+
+ Dim bRet As Boolean
+ Test.StartMethod("setShowState()")
+ bOK = true
+ Out.Log("Set to :" + (NOT state))
+ bRet = oObj.setShowState(NOT state)
+ Out.Log("The returned value is " + bRet)
+ resState = oObj.getShowState()
+ Out.Log("Get : " + resState)
+ bOK = bOK AND ( NOT bRet OR (resState = NOT state))
+ Test.MethodTested("getShowState()", bOK)
+ Test.MethodTested("setShowState()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/script.xlb
new file mode 100644
index 000000000000..084ccdf864d5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_XFilterManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_XFilterManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/ui_dialogs_XFilterManager.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/ui_dialogs_XFilterManager.xba
new file mode 100644
index 000000000000..41b2e9ffa4ab
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFilterManager/ui_dialogs_XFilterManager.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_XFilterManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ui.dialogs.XFilterManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim gFilter As String
+
+
+ Test.StartMethod("appendFilter()")
+ bOK = true
+ oObj.appendFilter("TestFilter", "txt")
+ Test.MethodTested("appendFilter()", bOK)
+
+ Test.StartMethod("setCurrentFilter()")
+ bOK = true
+ oObj.setCurrentFilter("TestFilter")
+
+ Test.StartMethod("getCurrentFilter()")
+ gFilter = oObj.getCurrentFilter()
+ bOK = bOK AND (gFilter = "TestFilter")
+ Test.MethodTested("setCurrentFilter()", bOK)
+ Test.MethodTested("getCurrentFilter()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/script.xlb b/qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/script.xlb
new file mode 100644
index 000000000000..1f831d352c46
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ui_dialogs_XFolderPicker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ui_dialogs_XFolderPicker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/ui_dialogs_XFolderPicker.xba b/qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/ui_dialogs_XFolderPicker.xba
new file mode 100644
index 000000000000..c2802dbe2e8b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/ui/dialogs/XFolderPicker/ui_dialogs_XFolderPicker.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ui_dialogs_XFolderPicker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.ui.dialogs.XFolderPicker
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sDir As String, gDir As String
+
+ sDir = utils.getTempFileURL("")
+
+ Test.StartMethod("setDisplayDirectory()")
+ bOK = true
+ oObj.setDisplayDirectory(sDir)
+ Test.MethodTested("setDisplayDirectory()", bOK)
+
+ Test.StartMethod("getDisplayDirectory()")
+ bOK = true
+ gDir = oObj.getDisplayDirectory()
+ out.log("Directory returned : " + gDir)
+ bOK = bOK AND (gDir = sDir)
+ Test.MethodTested("getDisplayDirectory()", bOK)
+
+ Test.StartMethod("getDirectory()")
+ bOK = true
+ gDir = oObj.getDirectory()
+ out.log("Directory returned : " + gDir)
+ Test.MethodTested("getDirectory()", bOK)
+
+ Test.StartMethod("setDescription()")
+ bOK = true
+ oObj.setDescription("XFolderPicker")
+ Test.MethodTested("setDescription()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/uno/XNamingService/script.xlb b/qadevOOo/tests/basic/ifc/uno/XNamingService/script.xlb
new file mode 100644
index 000000000000..aa7e55046616
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/uno/XNamingService/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="uno_XNamingService" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="uno_XNamingService"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/uno/XNamingService/uno_XNamingService.xba b/qadevOOo/tests/basic/ifc/uno/XNamingService/uno_XNamingService.xba
new file mode 100644
index 000000000000..8eb5ad5c8606
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/uno/XNamingService/uno_XNamingService.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="uno_XNamingService" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oObjectToRegister As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.uno.XNamingService
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("registerObject()")
+ bOK = true
+ oObj.registerObject(cIfcShortName, oObjectToRegister)
+ Test.MethodTested("registerObject()", bOK)
+
+ Test.StartMethod("getRegisteredObject()")
+ bOK = true
+ objregObj = oObj.getRegisteredObject(cIfcShortName)
+ bOK = bOK AND NOT isNULL(objregObj)
+ bOK = bOK AND objregObj.implementationName = oObjectToRegister.implementationName
+ Test.MethodTested("getRegisteredObject()", bOK)
+
+ Test.StartMethod("revokeObject()")
+ bOK = true
+ oObj.revokeObject(cIfcShortName)
+ Out.Log("Object was revoked")
+ on Error goto GoodExc
+ Out.Log("Trying to getRegistered object ...")
+ objregObj = oObj.getRegisteredObject(cIfcShortName)
+ Out.Log("No exception.")
+ bOK = bOK AND isNULL(objregObj)
+ if (bOK) then Out.Log("But NULL was returned")
+ goto cont
+ GoodExc:
+ Out.Log("Expected exception - OK")
+ cont:
+ Test.MethodTested("revokeObject()", bOK)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/PathSettings/script.xlb b/qadevOOo/tests/basic/ifc/util/PathSettings/script.xlb
new file mode 100644
index 000000000000..07a37da2ed37
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/PathSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_PathSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_PathSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/PathSettings/util_PathSettings.xba b/qadevOOo/tests/basic/ifc/util/PathSettings/util_PathSettings.xba
new file mode 100644
index 000000000000..bd2c5cfe2a45
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/PathSettings/util_PathSettings.xba
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_PathSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.util.PathSettings
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim values(1) As String
+ values(1) = oObj.Addin
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Addin", values())
+
+ values(1) = oObj.AutoCorrect
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("AutoCorrect", values())
+
+ values(1) = oObj.AutoText
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("AutoText", values())
+
+ values(1) = oObj.Backup
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Backup", values())
+
+ values(1) = oObj.Basic
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Basic", values())
+
+ values(1) = oObj.Bitmap
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Bitmap", values())
+
+ values(1) = oObj.Config
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Config", values())
+
+ values(1) = oObj.Dictionary
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Dictionary", values())
+
+ values(1) = oObj.Favorite
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Favorite", values())
+
+ values(1) = oObj.Filter
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Filter", values())
+
+ values(1) = oObj.Gallery
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Gallery", values())
+
+ values(1) = oObj.Graphic
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Graphic", values())
+
+ values(1) = oObj.Help
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Help", values())
+
+ values(1) = oObj.Linguistic
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Linguistic", values())
+
+ values(1) = oObj.Module
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Module", values())
+
+ values(1) = oObj.Palette
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Palette", values())
+
+ values(1) = oObj.Plugin
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Plugin", values())
+
+ values(1) = oObj.Storage
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Storage", values())
+
+ values(1) = oObj.Temp
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Temp", values())
+
+ values(1) = oObj.Template
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Template", values())
+
+ values(1) = oObj.UIConfig
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("UIConfig", values())
+
+ values(1) = oObj.UserConfig
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("UserConfig", values())
+
+ values(1) = oObj.UserDictionary
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("UserDictionary", values())
+
+ values(1) = oObj.Work
+ values(0) = values(1) + "New"
+ PropertyTester.TestProperty("Work", values())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/SearchDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/util/SearchDescriptor/script.xlb
new file mode 100644
index 000000000000..dd9c79134331
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/SearchDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_SearchDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_SearchDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/SearchDescriptor/util_SearchDescriptor.xba b/qadevOOo/tests/basic/ifc/util/SearchDescriptor/util_SearchDescriptor.xba
new file mode 100644
index 000000000000..1a1a355275bd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/SearchDescriptor/util_SearchDescriptor.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_SearchDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' SERVICE:
+' com.sun.star.util.SearchDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+
+ PropertyTester.TestProperty("SearchBackwards")
+
+ PropertyTester.TestProperty("SearchCaseSensitive")
+
+ PropertyTester.TestProperty("SearchWords")
+
+ PropertyTester.TestProperty("SearchRegularExpression")
+
+ PropertyTester.TestProperty("SearchStyles")
+
+ PropertyTester.TestProperty("SearchSimilarity")
+
+ PropertyTester.TestProperty("SearchSimilarityRelax")
+
+ PropertyTester.TestProperty("SearchSimilarityRemove")
+
+ PropertyTester.TestProperty("SearchSimilarityAdd")
+
+ PropertyTester.TestProperty("SearchSimilarityExchange")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XCancellable/script.xlb b/qadevOOo/tests/basic/ifc/util/XCancellable/script.xlb
new file mode 100644
index 000000000000..a65518a13481
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XCancellable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XCancellable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XCancellable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XCancellable/util_XCancellable.xba b/qadevOOo/tests/basic/ifc/util/XCancellable/util_XCancellable.xba
new file mode 100644
index 000000000000..0887a9b674c6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XCancellable/util_XCancellable.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XCancellable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XCancellable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("cancel()")
+ bOK = true
+ oObj.cancel()
+ Test.MethodTested("cancel()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XCloneable/script.xlb b/qadevOOo/tests/basic/ifc/util/XCloneable/script.xlb
new file mode 100644
index 000000000000..08e7c9519719
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XCloneable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XCloneable" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="util_XCloneable"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XCloneable/util_XCloneable.xba b/qadevOOo/tests/basic/ifc/util/XCloneable/util_XCloneable.xba
new file mode 100644
index 000000000000..0cdf04f59fa3
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XCloneable/util_XCloneable.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XCloneable" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' NONE
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XCloneable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oClone as Object
+
+'
+ Test.StartMethod("createClone()")
+ bOK = TRUE
+ oClone = oObj.createClone()
+ bOK = bOK AND hasUnoInterfaces(oClone, "com.sun.star.util.XCloneable")
+ Test.MethodTested("createClone()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XFlushable/script.xlb b/qadevOOo/tests/basic/ifc/util/XFlushable/script.xlb
new file mode 100644
index 000000000000..df08bd96abed
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XFlushable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XFlushable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XFlushable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XFlushable/util_XFlushable.xba b/qadevOOo/tests/basic/ifc/util/XFlushable/util_XFlushable.xba
new file mode 100644
index 000000000000..b57ea89b80fd
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XFlushable/util_XFlushable.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XFlushable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+Dim iCB1_flushed As Integer
+Dim iCB2_flushed As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XFlushable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oListener1 As Object
+ Dim oListener2 As Object
+
+ oListener1 = createUnoListener("CB1_", "com.sun.star.util.XFlushListener")
+ oListener2 = createUnoListener("CB2_", "com.sun.star.util.XFlushListener")
+
+ Test.StartMethod("addFlushListener()")
+ bOK = true
+ iCB1_flushed = 0 : iCB2_flushed = 0
+ Out.Log("Adding two listeners...")
+ oObj.addFlushListener(oListener1)
+ oObj.addFlushListener(oListener2)
+ oObj.flush()
+ bOK = bOK AND iCB1_flushed = 1 AND iCB2_flushed = 1
+ Test.MethodTested("addFlushListener()", bOK)
+
+ Test.StartMethod("flush()")
+ bOK = true
+ oObj.flush()
+ Test.MethodTested("flush()", bOK)
+
+ Test.StartMethod("removeFlushListener()")
+ bOK = true
+ iCB1_flushed = 0 : iCB2_flushed = 0
+ Out.Log("Removing first listener")
+ oObj.removeFlushListener(oListener1)
+ oObj.flush()
+ bOK = bOK AND iCB1_flushed = 0 AND iCB2_flushed = 1
+ Test.MethodTested("removeFlushListener()", bOK)
+
+ Out.Log("Removing second listener")
+ oObj.removeFlushListener(oListener2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Sub CB1_flushed(oEvent As Object)
+ iCB1_flushed = iCB1_flushed + 1
+ Out.Log("CallBack function for the first listener was called.")
+End Sub
+
+Sub CB2_flushed(oEvent As Object)
+ iCB2_flushed = iCB2_flushed + 1
+ Out.Log("CallBack function for the second listener was called.")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XMergeable/script.xlb b/qadevOOo/tests/basic/ifc/util/XMergeable/script.xlb
new file mode 100644
index 000000000000..02a018fc1cec
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XMergeable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XMergeable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XMergeable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XMergeable/util_XMergeable.xba b/qadevOOo/tests/basic/ifc/util/XMergeable/util_XMergeable.xba
new file mode 100644
index 000000000000..40d8e356db8d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XMergeable/util_XMergeable.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XMergeable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XMergeable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bMerged As Boolean
+
+ bMerged = false
+
+ Test.StartMethod("merge()")
+ bOK = true
+ oObj.merge(true)
+ bOk = bOk AND oObj.getIsMerged()
+ oObj.merge(false)
+ bOk = bOk AND NOT oObj.getIsMerged()
+
+ Test.MethodTested("merge()", bOK)
+
+ Test.StartMethod("getIsMerged()")
+ Test.MethodTested("getIsMerged()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XModeSelector/script.xlb b/qadevOOo/tests/basic/ifc/util/XModeSelector/script.xlb
new file mode 100644
index 000000000000..6408972dd437
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XModeSelector/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XModeSelector" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XModeSelector"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XModeSelector/util_XModeSelector.xba b/qadevOOo/tests/basic/ifc/util/XModeSelector/util_XModeSelector.xba
new file mode 100644
index 000000000000..5743050ff6a9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XModeSelector/util_XModeSelector.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XModeSelector" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XModeSelector
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+ Dim modes As Variant
+ Dim oldMode As String, newMode As String, resMode As String
+
+ Test.StartMethod("getSupportedModes()")
+ bOK = true
+ modes = oObj.getSupportedModes()
+ for i = lbound(modes()) to ubound(modes())
+ out.Log(" " + modes(i))
+ next i
+ bOK = bOK AND ubound(modes()) &gt; 0
+ Test.MethodTested("getSupportedModes()", bOK)
+
+ Test.StartMethod("supportsMode()")
+ bOK = true
+ bOK = bOK AND oObj.supportsMode(modes(0))
+ Test.MethodTested("supportsMode()", bOK)
+
+ Test.StartMethod("getMode()")
+ Test.StartMethod("setMode()")
+ bOK = true
+ oldMode = oObj.getMode()
+ if oldMode = modes(0) then newMode = modes(1) else newMode = modes(0)
+ oObj.setMode(newMode)
+ resMode = oObj.getMode()
+ bOK = bOK AND (newMode = resMode)
+ Test.MethodTested("getMode()", bOK)
+ Test.MethodTested("setMode()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/script.xlb b/qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/script.xlb
new file mode 100644
index 000000000000..e65d266ff846
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XModifyBroadcaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XModifyBroadcaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/util_XModifyBroadcaster.xba b/qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/util_XModifyBroadcaster.xba
new file mode 100644
index 000000000000..dbca0d2ed013
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XModifyBroadcaster/util_XModifyBroadcaster.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XModifyBroadcaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+'Result checking is not performed. Modify listeners are called only in case of
+' interaction with UI.
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XModifyBroadcaster
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim listener As Object
+
+ listener = createUnoListener("TestListener_", "com.sun.star.util.XModifyListener")
+
+ Test.StartMethod("addModifyListener()")
+ bOK = true
+ oObj.addModifyListener(listener)
+ Test.MethodTested("addModifyListener()", bOK)
+
+ Test.StartMethod("removeModifyListener()")
+ bOK = true
+ oObj.removeModifyListener(listener)
+ Test.MethodTested("removeModifyListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub TestListener_modified()
+' dummy
+end sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/script.xlb
new file mode 100644
index 000000000000..7142ba2bfb90
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XNumberFormatsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XNumberFormatsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/util_XNumberFormatsSupplier.xba b/qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/util_XNumberFormatsSupplier.xba
new file mode 100644
index 000000000000..ad3a41ead80b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XNumberFormatsSupplier/util_XNumberFormatsSupplier.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XNumberFormatsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XNumberFormatsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oNumberFormatSettings, oNumberFormats As Object
+
+ Test.StartMethod("getNumberFormatSettings()")
+ bOK = true
+ oNumberFormatSettings = oObj.getNumberFormatSettings()
+ bOK = bOK AND NOT isNULL(oNumberFormatSettings)
+ bOK = bOK AND hasUnoInterfaces(oNumberFormatSettings, "com.sun.star.beans.XPropertySet")
+ Test.MethodTested("getNumberFormatSettings()", bOK)
+
+ Test.StartMethod("getNumberFormats()")
+ bOK = true
+ oNumberFormats = oObj.getNumberFormats()
+ bOK = bOK AND NOT isNULL(oNumberFormats)
+ bOK = bOK AND hasUnoInterfaces(oNumberFormats, "com.sun.star.util.XNumberFormats")
+ Test.MethodTested("getNumberFormats()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XRefreshable/script.xlb b/qadevOOo/tests/basic/ifc/util/XRefreshable/script.xlb
new file mode 100644
index 000000000000..3dce23efef3a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XRefreshable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XRefreshable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XRefreshable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XRefreshable/util_XRefreshable.xba b/qadevOOo/tests/basic/ifc/util/XRefreshable/util_XRefreshable.xba
new file mode 100644
index 000000000000..342bfabf3232
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XRefreshable/util_XRefreshable.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XRefreshable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim nCB1Val As Integer
+Dim nCB2Val As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XRefreshable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1, oListener2 As Object
+ Dim nCount As Integer
+
+ bOK = true
+ nCount = 0
+ nCB1Val = 0
+ nCB2Val = 0
+
+ Out.Log("Create two listeners...")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.util.XRefreshListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.util.XRefreshListener")
+
+ Out.Log("Adding two refresh listeners")
+ oObj.addRefreshListener(oListener1)
+ oObj.addRefreshListener(oListener2)
+
+ Test.StartMethod("addRefreshListener()")
+ bOK = true
+ oObj.refresh()
+ bOK = bOK AND (nCB1Val = 1) AND (nCB2Val = 1)
+ Test.MethodTested("addRefreshListener()", bOK)
+
+ Test.StartMethod("removeRefreshListener()")
+ bOK = true
+ Out.Log("Removing second refresh listener")
+ oObj.removeRefreshListener(oListener2)
+ oObj.refresh()
+ bOK = bOK AND (nCB1Val = 2) AND (nCB2Val = 1)
+ Test.MethodTested("removeRefreshListener()", bOK)
+
+ Test.StartMethod("refresh()")
+ bOK = true
+ bOK = bOK AND (nCB1Val = 2) AND (nCB2Val = 1)
+ Test.MethodTested("refresh()", bOK)
+
+ Out.Log("Removing first refresh listener")
+ oObj.removeRefreshListener(oListener1)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub CB1_refreshed()
+ Out.Log("First listener CallBack called")
+ nCB1Val = nCB1Val + 1
+End Sub
+
+Sub CB2_refreshed()
+ Out.Log("Second listener CallBack called")
+ nCB2Val = nCB2Val + 1
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/script.xlb
new file mode 100644
index 000000000000..1f7fa245341a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XReplaceDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XReplaceDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/util_XReplaceDescriptor.xba b/qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/util_XReplaceDescriptor.xba
new file mode 100644
index 000000000000..e34fdb3015b5
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XReplaceDescriptor/util_XReplaceDescriptor.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XReplaceDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XReplaceDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim rStr As String
+
+ Test.StartMethod("setReplaceString()")
+ Test.StartMethod("getReplaceString()")
+ bOK = true
+
+ rStr = oObj.getReplaceString()
+ oObj.setReplaceString(rStr &amp; cIfcShortName)
+
+ bOK = bOK AND (rStr &amp; cIfcShortName = oObj.getReplaceString())
+ Test.MethodTested("getReplaceString()", bOK)
+ Test.MethodTested("setReplaceString()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XReplaceable/script.xlb b/qadevOOo/tests/basic/ifc/util/XReplaceable/script.xlb
new file mode 100644
index 000000000000..63b382a66845
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XReplaceable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XReplaceable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XReplaceable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XReplaceable/util_XReplaceable.xba b/qadevOOo/tests/basic/ifc/util/XReplaceable/util_XReplaceable.xba
new file mode 100644
index 000000000000..4a04437b8119
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XReplaceable/util_XReplaceable.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XReplaceable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cStringToSearch As String
+' should appears more than once
+' - Global nSearchedEntriesAmount As Integer
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XReplaceable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oReplaceDescriptor As Object
+ Dim nReplace As Integer
+
+
+ Test.StartMethod("createReplaceDescriptor()")
+ bOK = true
+ oReplaceDescriptor = oObj.createReplaceDescriptor()
+ bOK = bOK AND hasUnoInterfaces(oReplaceDescriptor, "com.sun.star.util.XReplaceDescriptor")
+ Test.MethodTested("createReplaceDescriptor()", bOK)
+
+ Test.StartMethod("replaceAll()")
+ bOK = true
+ Out.Log("Prepearing descriptor...")
+ oReplaceDescriptor.SearchAll = true
+ oReplaceDescriptor.SearchCaseSensitive = true
+ oReplaceDescriptor.SearchWords = false
+ oReplaceDescriptor.SearchString = cStringToSearch
+ oReplaceDescriptor.ReplaceString = ucase(cStringToSearch)
+
+ nReplace = oObj.replaceAll(oReplaceDescriptor)
+ Out.Log("" &amp; nReplace &amp; " replaces were performed. Expected: " &amp; nSearchedEntriesAmount)
+ bOK = bOK AND nSearchedEntriesAmount = nReplace
+
+ Out.Log("Return to previous state...")
+ oReplaceDescriptor.SearchString = ucase(cStringToSearch)
+ oReplaceDescriptor.ReplaceString = cStringToSearch
+ nReplace = oObj.replaceAll(oReplaceDescriptor)
+ Test.MethodTested("replaceAll()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XSearchDescriptor/script.xlb b/qadevOOo/tests/basic/ifc/util/XSearchDescriptor/script.xlb
new file mode 100644
index 000000000000..774469012875
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XSearchDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XSearchDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XSearchDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XSearchDescriptor/util_XSearchDescriptor.xba b/qadevOOo/tests/basic/ifc/util/XSearchDescriptor/util_XSearchDescriptor.xba
new file mode 100644
index 000000000000..95b66d85774f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XSearchDescriptor/util_XSearchDescriptor.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XSearchDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XSearchDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sStr As String
+
+
+ Test.StartMethod("setSearchString()")
+ bOK = true
+ sStr = oObj.getSearchString()
+ oObj.setSearchString(sStr &amp; cIfcShortName)
+ bOK = bOK AND (sStr &lt;&gt; oObj.getSearchString())
+ Test.MethodTested("setSearchString()", bOK)
+
+ Test.StartMethod("getSearchString()")
+ bOK = true
+ bOK = bOK AND (oObj.getSearchString() = (sStr &amp; cIfcShortName))
+ Test.MethodTested("getSearchString()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XSearchable/script.xlb b/qadevOOo/tests/basic/ifc/util/XSearchable/script.xlb
new file mode 100644
index 000000000000..2e4eb5ac7612
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XSearchable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XSearchable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XSearchable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XSearchable/util_XSearchable.xba b/qadevOOo/tests/basic/ifc/util/XSearchable/util_XSearchable.xba
new file mode 100644
index 000000000000..56b3c7c5601a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XSearchable/util_XSearchable.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XSearchable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global cStringToSearch As String
+' should appears more than once
+' - Global nSearchedEntriesAmount As Integer
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XSearchable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim oMatch As Object
+ Dim oAllMatch As Object
+ Dim oSearchDescriptor As Object
+ Dim nCount As Long
+
+ Test.StartMethod("createSearchDescriptor()")
+ bOK = true
+ oSearchDescriptor = oObj.createSearchDescriptor()
+ bOK = bOK AND NOT isNULL(oSearchDescriptor)
+ bOK = bOK AND hasUnoInterfaces(oSearchDescriptor, "com.sun.star.util.XSearchDescriptor")
+ Test.MethodTested("createSearchDescriptor()", bOK)
+
+ Out.Log("Setting values to search descriptor")
+ oSearchDescriptor.SearchString = cStringToSearch
+ oSearchDescriptor.SearchWords = false
+ oSearchDescriptor.SearchCaseSensitive = true
+
+ Test.StartMethod("findAll()")
+ bOK = true
+ oAllMatch = oObj.findAll(oSearchDescriptor)
+ bOK = bOK AND hasUnoInterfaces(oAllMatch, "com.sun.star.container.XIndexAccess")
+ for i = 0 to oAllMatch.count - 1
+ bOK = bOK AND oAllMatch.getByIndex(i).String = cStringToSearch
+ next i
+ bOK = bOK AND oAllMatch.count = nSearchedEntriesAmount
+ Test.MethodTested("findAll()", bOK)
+
+ Test.StartMethod("findFirst()")
+ bOK = true
+ oMatch = oObj.findFirst(oSearchDescriptor)
+ bOK = bOK AND oMatch.String = cStringToSearch
+ Test.MethodTested("findFirst()", bOK)
+
+ Test.StartMethod("findNext()")
+ bOK = true
+ nCount = 0
+
+ While NOT isNULL(oMatch)
+ nCount = nCount + 1
+ bOK = bOK AND oMatch.String = cStringToSearch
+ oMatch = oObj.findNext(oMatch.end, oSearchDescriptor)
+ wend
+
+ bOK = bOK AND nSearchedEntriesAmount = nCount
+ Test.MethodTested("findNext()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XSortable/script.xlb b/qadevOOo/tests/basic/ifc/util/XSortable/script.xlb
new file mode 100644
index 000000000000..a50e2d2de419
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XSortable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XSortable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XSortable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XSortable/util_XSortable.xba b/qadevOOo/tests/basic/ifc/util/XSortable/util_XSortable.xba
new file mode 100644
index 000000000000..dd998e38baab
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XSortable/util_XSortable.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XSortable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - modifyDescriptor(sortDescr As Variant)
+' checkSort() As Boolean
+
+'*************************************************************************
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XSortable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSortDsc As Object, newDsc As Object
+
+ Test.StartMethod("createSortDescriptor()")
+ bOK = true
+ oSortDsc = oObj.createSortDescriptor()
+ bOK = bOK AND NOT isNULL(oSortDsc)
+ bOK = bOK AND isArray(oSortDsc)
+ Test.MethodTested("createSortDescriptor()", bOK)
+
+ Test.StartMethod("sort()")
+ newDsc = modifyDescriptor(oSortDsc)
+ bOK = true
+ oObj.sort(newDsc)
+ bOK = bOK AND checkSort()
+ Test.MethodTested("sort()", bOK)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XStringEscape/script.xlb b/qadevOOo/tests/basic/ifc/util/XStringEscape/script.xlb
new file mode 100644
index 000000000000..45c2a0056092
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XStringEscape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XStringEscape" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="util_XStringEscape"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XStringEscape/util_XStringEscape.xba b/qadevOOo/tests/basic/ifc/util/XStringEscape/util_XStringEscape.xba
new file mode 100644
index 000000000000..70ca52891aa0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XStringEscape/util_XStringEscape.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="XStringEscape" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XStringEscape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ out.log("The Implementation of this Interface doesn't really do anything")
+ Dim toCheck as String
+ toCheck = ";:&lt;&gt;/*"
+
+ Test.StartMethod("escapeString()")
+ bOK = TRUE
+ Dim eString as String
+ eString = oObj.escapeString(toCheck)
+ bOK = bOK AND (eString = toCheck)
+ Test.MethodTested("escapeString()", bOK)
+
+ Test.StartMethod("unescapeString()")
+ bOK = TRUE
+ Dim ueString as String
+ ueString = oObj.unescapeString(toCheck)
+ bOK = bOK AND (ueString = toCheck)
+ Test.MethodTested("unescapeString()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/util/XTextSearch/script.xlb b/qadevOOo/tests/basic/ifc/util/XTextSearch/script.xlb
new file mode 100644
index 000000000000..923ac8c6cdd1
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XTextSearch/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="util_XTextSearch" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="util_XTextSearch"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/util/XTextSearch/util_XTextSearch.xba b/qadevOOo/tests/basic/ifc/util/XTextSearch/util_XTextSearch.xba
new file mode 100644
index 000000000000..875e1e1d26a0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/util/XTextSearch/util_XTextSearch.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XTextSearch" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.util.XTextSearch
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Dim _Locale As new com.sun.star.lang.Locale
+ _Locale.Country = "US"
+ _Locale.Language = "en"
+
+ Test.StartMethod("setOptions()")
+ bOK = true
+ Dim aSearchOptions As new com.sun.star.util.SearchOptions
+ aSearchOptions.algorithmType = com.sun.star.util.SearchAlgorithms.REGEXP
+ aSearchOptions.searchFlag = com.sun.star.util.SearchFlags.ALL_IGNORE_CASE
+ aSearchOptions.searchString = "h[ae](k|l|j)+o" 'Should work because of ALL_IGNORE_CASE!
+ aSearchOptions.Locale = _Locale
+ oObj.setOptions(aSearchOptions)
+ Test.MethodTested("setOptions()", bOK)
+
+ Test.StartMethod("searchForward()")
+ bOK = true
+ Dim _string As String
+ Dim _result As Variant
+
+ _string = "String with 'Hello' and 'Hallo'."
+ _result = oObj.searchForward(_string, 0, len(_string))
+ if (ubound(_result.startOffset()) &gt;= 0) then
+ bOK = bOK AND _result.startOffset(0) = 13
+ bOK = bOK AND _result.endOffset(0) = 18
+ _result = oObj.searchForward(_string, 18, len(_string))
+ bOK = bOK AND _result.startOffset(0) = 25
+ bOK = bOK AND _result.endOffset(0) = 30
+ else
+ Out.Log("No matches were found!")
+ bOK = false
+ end if
+ Test.MethodTested("searchForward()", bOK)
+
+ Test.StartMethod("searchBackward()")
+ bOK = true
+ _result = oObj.searchBackward(_string, len(_string), 0)
+ if (ubound(_result.startOffset()) &gt;= 0) then
+ bOK = bOK AND _result.startOffset(0) = 30
+ bOK = bOK AND _result.endOffset(0) = 25
+ _result = oObj.searchBackward(_string, _result.endOffset(0), 0)
+ bOK = bOK AND _result.startOffset(0) = 18
+ bOK = bOK AND _result.endOffset(0) = 13
+ else
+ Out.Log("No matches were found!")
+ bOK = false
+ end if
+ Test.MethodTested("searchBackward()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/view/XControlAccess/script.xlb b/qadevOOo/tests/basic/ifc/view/XControlAccess/script.xlb
new file mode 100644
index 000000000000..dd1dbb1dafa9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XControlAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="view_XControlAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="view_XControlAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/view/XControlAccess/view_XControlAccess.xba b/qadevOOo/tests/basic/ifc/view/XControlAccess/view_XControlAccess.xba
new file mode 100644
index 000000000000..f6d19697188f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XControlAccess/view_XControlAccess.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="view_XControlAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global oControlModel As Object
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.view.XControlAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getControl()")
+ bOK = true
+ bOK = bOK AND NOT isNULL(oObj.getControl(oControlModel))
+ Test.MethodTested("getControl()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/script.xlb
new file mode 100644
index 000000000000..47d9d0c85c3d
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="view_XPrintSettingsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="view_XPrintSettingsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/view_XPrintSettingsSupplier.xba b/qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/view_XPrintSettingsSupplier.xba
new file mode 100644
index 000000000000..968976bc314f
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XPrintSettingsSupplier/view_XPrintSettingsSupplier.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="view_XPrintSettingsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.view.XPrintSettingsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+
+ Test.StartMethod("getPrintSettings()")
+ bOK = true
+ bOK = bOK AND hasUnoInterfaces(oObj.getPrintSettings(), "com.sun.star.beans.XPropertySet")
+ Test.MethodTested("getPrintSettings()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/view/XPrintable/script.xlb b/qadevOOo/tests/basic/ifc/view/XPrintable/script.xlb
new file mode 100644
index 000000000000..89ab8a254991
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XPrintable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="view_XPrintable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="view_XPrintable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/view/XPrintable/view_XPrintable.xba b/qadevOOo/tests/basic/ifc/view/XPrintable/view_XPrintable.xba
new file mode 100644
index 000000000000..19d74dacd651
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XPrintable/view_XPrintable.xba
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="view_XPrintable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.view.XPrintable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim sFileName, sFileUrl As String
+ Dim aPrintingOptions(1) As New com.sun.star.beans.PropertyValue
+ Dim aPrinterProps As Variant
+ Dim i As Integer
+
+ Test.StartMethod("getPrinter()")
+ bOK = true
+ aPrinterProps = oObj.getPrinter()
+ bOK = bOK AND (ubound(aPrinterProps) &gt; 0)
+ Test.MethodTested("getPrinter()", bOK)
+
+
+ Test.StartMethod("print()")
+ bOK = true
+
+ sFileUrl = utils.getTempFileURL("/XPrintable.prt", true)
+ sFileName = utils.URL2Path(sFileUrl)
+
+ aPrintingOptions(0).Name = "FileName"
+ aPrintingOptions(0).Value = sFileName
+ aPrintingOptions(0).State = com.sun.star.beans.PropertyState.DEFAULT_VALUE
+
+ aPrintingOptions(1).Name = "Wait"
+ aPrintingOptions(1).Value = true
+ oObj.Print(aPrintingOptions())
+
+ ' without waiting Office can hang on setPrinter() call.
+ wait(500)
+
+ bOK = bOK AND FileExists(sFileName)
+ Test.MethodTested("print()", bOK)
+
+ Test.StartMethod("setPrinter()")
+ bOK = true
+ Dim iPaperFormat As Integer
+ Dim iNewPaperFormat As Integer
+
+ for i = 0 to ubound(aPrinterProps())
+ if (aPrinterProps(i).Name = "PaperFormat") then
+ iPaperFormat = aPrinterProps(i).Value
+ exit for
+ endif
+ next i
+
+ if (iPaperFormat = com.sun.star.view.PaperFormat.A4) then
+ iNewPaperFormat = com.sun.star.view.PaperFormat.LETTER
+ else
+ iNewPaperFormat = com.sun.star.view.PaperFormat.A4
+ endif
+
+ aPrinterProps(i).Value = iNewPaperFormat
+
+ oObj.setPrinter(aPrinterProps())
+
+ aPrinterProps() = oObj.getPrinter()
+
+ for i = 0 to ubound(aPrinterProps())
+ if (aPrinterProps(i).Name = "PaperFormat") then
+ bOK = bOK AND (aPrinterProps(i).Value = iNewPaperFormat)
+ exit for
+ endif
+ next i
+ Test.MethodTested("setPrinter()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/view/XScreenCursor/script.xlb b/qadevOOo/tests/basic/ifc/view/XScreenCursor/script.xlb
new file mode 100644
index 000000000000..59d7873d04ee
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XScreenCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="view_XScreenCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="view_XScreenCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/view/XScreenCursor/view_XScreenCursor.xba b/qadevOOo/tests/basic/ifc/view/XScreenCursor/view_XScreenCursor.xba
new file mode 100644
index 000000000000..801ab47df947
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XScreenCursor/view_XScreenCursor.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="view_XScreenCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.view.XScreenCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("screenDown()")
+ bOK = true
+ bOK = bOK AND oObj.screenDown()
+ Test.MethodTested("screenDown()", bOK)
+
+ Test.StartMethod("screenUp()")
+ bOK = true
+ bOK = bOK AND oObj.screenUp()
+ Test.MethodTested("screenUp()", bOK)
+
+ DisposeObj()
+ CreateObj()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/script.xlb b/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/script.xlb
new file mode 100644
index 000000000000..29b136c54fc0
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="view_XSelectionSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="view_XSelectionSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba b/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba
new file mode 100644
index 000000000000..642eea896b9c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="view_XSelectionSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global SelectableObj1 As Object
+' - Global SelectableObj2 As Object
+
+'*************************************************************************
+
+
+
+
+Dim nCB1Val, nCB2Val As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.view.XSelectionSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK, bSelected As Boolean
+ Dim oListener1, oListener2, oSelection As Object
+
+ Out.Log("creating two Listeners")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.view.XSelectionChangeListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.view.XSelectionChangeListener")
+ bOK = NOT isNULL(oListener1) AND NOT isNULL(oListener2)
+ Out.Log("Listeners creation : " &amp; bOK)
+
+ Test.StartMethod("select()")
+ bOK = true
+ out.log("Trying to select ...")
+ bOK = bOK AND oObj.select(SelectableObj1)
+ Test.MethodTested("select()", bOK)
+
+ Test.StartMethod("getSelection()")
+ bOK = true
+ oSelection = oObj.getSelection()
+ bOK = bOK AND NOT isNULL(oSelection)
+
+ ' The selection is either specified by an object which is contained
+ ' in the component to which the view belongs or it is an interface of a
+ ' collection which contains such objects.
+
+ if bOK then
+ if (cObjectName = "sw.SwXTextView") then
+ bOK = bOK AND oSelection.hasElements()
+ bOK = bOK AND (oSelection.getByIndex(0).String = SelectableObj1.String)
+ elseif (hasUnoInterfaces(oSelection, "com.sun.star.container.XElementAccess")) then
+ bOK = bOK AND oSelection.hasElements()
+ if bOK then bOK = bOK AND (oSelection.getByIndex(0).dbg_methods = SelectableObj1.dbg_methods)
+ else
+ bOK = bOK AND (oSelection.dbg_methods = SelectableObj1.dbg_methods)
+ end if
+ end if
+
+ Test.MethodTested("getSelection()", bOK)
+
+ Test.StartMethod("addSelectionChangeListener()")
+ bOK = true
+ Out.Log("Adding two listeners...")
+ oObj.addSelectionChangeListener(oListener1)
+ oObj.addSelectionChangeListener(oListener2)
+
+ Out.Log("Select item...")
+ ResetCB()
+ bOK = bOK AND oObj.select(SelectableObj2)
+ bOK = bOK AND (nCB1Val &gt; 0) AND (nCB2Val &gt; 0)
+ Test.MethodTested("addSelectionChangeListener()", bOK)
+
+ Test.StartMethod("removeSelectionChangeListener()")
+ bOK = true
+ Out.Log("Remove first listener...")
+ oObj.removeSelectionChangeListener(oListener1)
+
+ Out.Log("Select item...")
+ ResetCB()
+ bOK = bOK AND oObj.select(SelectableObj1)
+ bOK = bOK AND (nCB1Val = 0) AND (nCB2Val &gt; 0)
+ Test.MethodTested("removeSelectionChangeListener()", bOK)
+
+ Out.Log("Remove last listener...")
+ oObj.removeSelectionChangeListener(oListener2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub CB1_selectionChanged
+ Out.Log("Listener 1 was called")
+ nCB1Val = nCB1Val + 1
+end sub
+
+Sub CB2_selectionChanged
+ Out.Log("Listener 2 was called")
+ nCB2Val = nCB2Val + 1
+end sub
+
+Sub ResetCB()
+ nCB1Val = 0
+ nCB2Val = 0
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/script.xlb b/qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/script.xlb
new file mode 100644
index 000000000000..44bb4097f5f6
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="view_XViewSettingsSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="view_XViewSettingsSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/view_XViewSettingsSupplier.xba b/qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/view_XViewSettingsSupplier.xba
new file mode 100644
index 000000000000..a30734c80fe9
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XViewSettingsSupplier/view_XViewSettingsSupplier.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="view_XViewSettingsSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.view.XViewSettingsSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ Test.StartMethod("getViewSettings()")
+ bOK = true
+ oSettings = oObj.getViewSettings()
+ bOK = bOK AND NOT isNULL(oSettings)
+ bOK = bOK AND hasUnoInterfaces(oSettings, "com.sun.star.beans.XPropertySet")
+ Test.MethodTested("getViewSettings()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/script.xlb b/qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/script.xlb
new file mode 100644
index 000000000000..1d1c11a3687a
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="xml_UserDefinedAttributeSupplier" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="xml_UserDefinedAttributeSupplier"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/xml_UserDefinedAttributeSupplier.xba b/qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/xml_UserDefinedAttributeSupplier.xba
new file mode 100644
index 000000000000..e4ab382578be
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/xml/UserDefinedAttributeSupplier/xml_UserDefinedAttributeSupplier.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xml_UserDefinedAttributeSupplier" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.xml.UserDefinedAttributeSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim uda as Object
+ Dim attr as new com.sun.star.xml.AttributeData
+ Dim els as Variant
+
+ bOK = TRUE
+ Test.StartMethod("UserDefinedAttributes")
+ uda = oObj.getPropertyValue("UserDefinedAttributes")
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Chartprop"
+ attr.Type="CDATA"
+ attr.Value="true"
+ uda.insertByName("Chartprop:has-first-alien-attribute",attr)
+ els = uda.getElementNames()
+ oObj.setPropertyValue("UserDefinedAttributes",uda)
+ uda = oObj.getPropertyValue("UserDefinedAttributes")
+ els = uda.getElementNames()
+ uda.getByName("Chartprop:has-first-alien-attribute")
+ Test.MethodTested("UserDefinedAttributes",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/script.xlb b/qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/script.xlb
new file mode 100644
index 000000000000..bd86f9cb1f27
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xml_sax_XDocumentHandler" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xml_sax_XDocumentHandler"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/xml_sax_XDocumentHandler.xba b/qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/xml_sax_XDocumentHandler.xba
new file mode 100644
index 000000000000..010e288d21e7
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/xml/sax/XDocumentHandler/xml_sax_XDocumentHandler.xba
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xml_sax_XDocumentHandler" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' - Global vXMLData As Variant
+
+'*************************************************************************
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.xml.sax.XDocumentHandler
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i As Integer
+
+ Test.StartMethod("startDocument()")
+ bOK = true
+ oObj.startDocument()
+ Test.MethodTested("startDocument()", bOK)
+ out.log("StartDocument")
+
+' Imports the XML-data
+ For i = 0 to ubound(vXMLData)
+ Dim data As Variant
+ data = vXMLData(i)
+ If data(0) = "start" then
+ Dim oAttr As Object
+ oAttr = createUnoService("basichelper.AttributeList")
+
+ Dim upBound as Integer
+ upBound = ubound(data())
+ If upBound > 1 then
+ Dim j As Integer
+ Dim args As Variant
+ args = DimArray(upBound - 2)
+ For j = 0 to ubound(args())
+ args(j) = data(2 + j)
+ Next j
+ oAttr.initialize(args())
+ EndIf
+
+ oObj.startElement(data(1), oAttr)
+ out.log("&lt;" + data(1) + "&gt;")
+ EndIf
+ If data(0) = "end" then
+ oObj.endElement(data(1))
+ out.log("&lt;/" + data(1) + "&gt;")
+ EndIf
+ If data(0) = "chars" then
+ oObj.characters(data(1))
+ out.log(data(1))
+ EndIf
+ Next i
+
+ out.log("EndDocument")
+ Test.StartMethod("endDocument()")
+ oObj.endDocument()
+ bOK = CheckImport()
+ Test.MethodTested("endDocument()", bOK)
+
+ Test.StartMethod("startElement()")
+ bOK = true
+ Test.MethodTested("startElement()", bOK)
+
+ Test.StartMethod("endElement()")
+ bOK = true
+ Test.MethodTested("endElement()", bOK)
+
+
+ Test.StartMethod("characters()")
+ bOK = true
+ Test.MethodTested("characters()", bOK)
+
+ Test.StartMethod("ignorableWhitespace()")
+ bOK = true
+ Test.MethodTested("ignorableWhitespace()", bOK)
+
+ Test.StartMethod("processingInstruction()")
+ bOK = true
+ Test.MethodTested("processingInstruction()", bOK)
+
+ Test.StartMethod("setDocumentLocator()")
+ bOK = true
+ Test.MethodTested("setDocumentLocator()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/acceptor_uno_Acceptor.xba b/qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/acceptor_uno_Acceptor.xba
new file mode 100644
index 000000000000..d3cf577383df
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/acceptor_uno_Acceptor.xba
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="acceptor_uno_Acceptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' acceptor.Acceptor
+'*************************************************************************
+ oObj = createUnoService("com.sun.star.connection.Acceptor")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/script.xlb b/qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/script.xlb
new file mode 100644
index 000000000000..d14418d951e3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/acceptor.uno/Acceptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="acceptor_uno_Acceptor" library:readonly="false" library:passwordprotected="false">
+<library:element library:name="acceptor_uno_Acceptor"/>
+</library:library>
diff --git a/qadevOOo/tests/basic/mod/acceptor/Acceptor/acceptor_Acceptor.xba b/qadevOOo/tests/basic/mod/acceptor/Acceptor/acceptor_Acceptor.xba
new file mode 100644
index 000000000000..53f50f3d014d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/acceptor/Acceptor/acceptor_Acceptor.xba
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="acceptor_Acceptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' acceptor.Acceptor
+'*************************************************************************
+ oObj = createUnoService("com.sun.star.connection.Acceptor")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/acceptor/Acceptor/script.xlb b/qadevOOo/tests/basic/mod/acceptor/Acceptor/script.xlb
new file mode 100644
index 000000000000..2e9396e490ce
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/acceptor/Acceptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="acceptor_Acceptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="acceptor_Acceptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/adabas/ODriver/adabas_ODriver.xba b/qadevOOo/tests/basic/mod/adabas/ODriver/adabas_ODriver.xba
new file mode 100644
index 000000000000..19188b8cf603
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/adabas/ODriver/adabas_ODriver.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="adabas_ODriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' adabas.ODriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbcx.adabas.ODriver")
+
+ URL = adabasUrl
+
+ Dim inf(1) As new com.sun.star.beans.PropertyValue
+ inf(0).Name = "user" : inf(0).Value = adabasUser
+ inf(1).Name = "password" : inf(1).Value = adabasPassword
+
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/adabas/ODriver/script.xlb b/qadevOOo/tests/basic/mod/adabas/ODriver/script.xlb
new file mode 100644
index 000000000000..95a44f640eea
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/adabas/ODriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="adabas_ODriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="adabas_ODriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ado/ODriver/ado_ODriver.xba b/qadevOOo/tests/basic/mod/ado/ODriver/ado_ODriver.xba
new file mode 100644
index 000000000000..414d42b5ba0e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ado/ODriver/ado_ODriver.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ado_ODriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ado.ODriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbc.ado.ODriver")
+
+ URL = adoUrl
+
+ Dim inf(0) As new com.sun.star.beans.PropertyValue
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ado/ODriver/script.xlb b/qadevOOo/tests/basic/mod/ado/ODriver/script.xlb
new file mode 100644
index 000000000000..e4411785825c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ado/ODriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ado_ODriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ado_ODriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/brdgfctr_BridgeFactory.xba b/qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/brdgfctr_BridgeFactory.xba
new file mode 100644
index 000000000000..aaeecf914e7e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/brdgfctr_BridgeFactory.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="brdgfctr_BridgeFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+' Required for com.sun.star.lang.XComponent:
+Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.bridge.XBridgeFactory
+Global sProtocol As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' brdgfctr.BridgeFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.bridge.BridgeFactory")
+
+ ' Required for com.sun.star.lang.XComponent:
+ oComponentInstance = oObj
+
+ ' Required for com.sun.star.bridge.XBridgeFactory
+ sProtocol = "urp"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/script.xlb b/qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/script.xlb
new file mode 100644
index 000000000000..51e25f8a2a15
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/brdgfctr/BridgeFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="brdgfctr_BridgeFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="brdgfctr_BridgeFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/bridgefac_uno_BridgeFactory.xba b/qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/bridgefac_uno_BridgeFactory.xba
new file mode 100644
index 000000000000..99e3550df4bf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/bridgefac_uno_BridgeFactory.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="bridgefac_uno_BridgeFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+' Required for com.sun.star.lang.XComponent:
+Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.bridge.XBridgeFactory
+Global sProtocol As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' brdgfctr.BridgeFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.bridge.BridgeFactory")
+
+ ' Required for com.sun.star.lang.XComponent:
+ oComponentInstance = oObj
+
+ ' Required for com.sun.star.bridge.XBridgeFactory
+ sProtocol = "urp"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/script.xlb b/qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/script.xlb
new file mode 100644
index 000000000000..fc97a359ebcf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/bridgefac.uno/BridgeFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="bridgefac_uno_BridgeFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="bridgefac_uno_BridgeFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/cached_CachedContentResultSetFactory.xba b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/cached_CachedContentResultSetFactory.xba
new file mode 100644
index 000000000000..8104801121f7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/cached_CachedContentResultSetFactory.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cached_CachedContentResultSetFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XCachedContentResultSetFactory
+ Global oCachedContentResultSetStub As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cached.CachedContentResultSetFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oUCB, oCI, oContent As Object
+ Dim args As Variant
+ Dim sURL, sCntURL As String
+
+ oObj = createUnoService("com.sun.star.ucb.CachedContentResultSetFactory")
+
+ args = Array("Local", "Office")
+ oUCB = createUnoService("com.sun.star.ucb.UniversalContentBroker")
+ oUCB.initialize(args())
+
+ sURL = utils.Path2URL(cTestDocsDir &amp; "solibrary.jar")
+ sURL = utils.utils.StrReplace(sURL, "/", "%2F")
+ sCntURL = "vnd.sun.star.pkg://" &amp; sURL &amp; "/"
+
+ oCI = oUCB.createContentIdentifier(sCntUrl)
+ oContent = oUCB.queryContent(oCI)
+
+ Dim props(0) As new com.sun.star.beans.Property
+ Dim cmd As new com.sun.star.ucb.Command
+ Dim ocArg As new com.sun.star.ucb.OpenCommandArgument2
+ Dim sortInfo() As new com.sun.star.ucb.NumberedSortingInfo
+ Dim oResSet, oDynResSet, oStubFactory As Object
+
+ props(0).Name = "Title"
+
+ ocArg.Mode = com.sun.star.ucb.OpenMode.ALL
+ ocArg.Priority = 10000
+ ocArg.Properties = props()
+ ocArg.SortingInfo = sortInfo()
+
+ cmd.Name = "open"
+ cmd.Handle = -1
+ cmd.Argument = ocArg
+
+ oDynResSet = oContent.execute(cmd, 0, NULL_OBJECT)
+ oResSet = oDynResSet.getStaticResultSet()
+
+ oResSet.first()
+ out.log("Is result set OK? " + (oResSet.getString(1) = "com") )
+
+ oStubFactory = createUnoService("com.sun.star.ucb.CachedContentResultSetStubFactory")
+ oCachedContentResultSetStub = oStubFactory.createCachedContentResultSetStub(oResSet)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/script.xlb b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/script.xlb
new file mode 100644
index 000000000000..32d0ebe1aa7d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cached_CachedContentResultSetFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cached_CachedContentResultSetFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/cached_CachedContentResultSetStubFactory.xba b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/cached_CachedContentResultSetStubFactory.xba
new file mode 100644
index 000000000000..01e6bb7c72e3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/cached_CachedContentResultSetStubFactory.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cached_CachedContentResultSetStubFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XCachedContentResultSetStubFactory
+ Global oContentResultSet As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cached.CachedContentResultSetStubFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.ucb.CachedContentResultSetStubFactory")
+
+ Dim args As Variant
+ Dim oUCB As Object
+ args = Array("Local", "Office")
+ oUCB = createUnoService("com.sun.star.ucb.UniversalContentBroker")
+ oUCB.initialize(args())
+
+ Dim sURL, sCntURL As String
+ Dim oCI, oContent As Object
+ sURL = utils.Path2URL(cTestDocsDir &amp; "solibrary.jar")
+ sURL = utils.utils.StrReplace(sURL, "/", "%2F")
+ sCntURL = "vnd.sun.star.pkg://" &amp; sURL &amp; "/"
+
+ oCI = oUCB.createContentIdentifier(sCntUrl)
+ oContent = oUCB.queryContent(oCI)
+
+ Dim props(0) As new com.sun.star.beans.Property
+ Dim cmd As new com.sun.star.ucb.Command
+ Dim ocArg As new com.sun.star.ucb.OpenCommandArgument2
+ Dim sortInfo() As new com.sun.star.ucb.NumberedSortingInfo
+ Dim oDynResSet, oStubFactory As Object
+
+ props(0).Name = "Title"
+
+ ocArg.Mode = com.sun.star.ucb.OpenMode.ALL
+ ocArg.Priority = 10000
+ ocArg.Properties = props()
+ ocArg.SortingInfo = sortInfo()
+
+ cmd.Name = "open"
+ cmd.Handle = -1
+ cmd.Argument = ocArg
+
+ oDynResSet = oContent.execute(cmd, 0, NULL_OBJECT)
+ oContentResultSet = oDynResSet.getStaticResultSet()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/script.xlb b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/script.xlb
new file mode 100644
index 000000000000..dcbc6cd85a94
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedContentResultSetStubFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cached_CachedContentResultSetStubFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cached_CachedContentResultSetStubFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/cached_CachedDynamicResultSetFactory.xba b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/cached_CachedDynamicResultSetFactory.xba
new file mode 100644
index 000000000000..d5ec1571e159
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/cached_CachedDynamicResultSetFactory.xba
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cached_CachedDynamicResultSetFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XCachedDynamicResultSetFactory
+ Global oResSetStub As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cached.CachedDynamicResultSetFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.ucb.CachedDynamicResultSetFactory")
+
+ Dim args As Variant
+ Dim oUCB As Object
+ args = Array("Local", "Office")
+ oUCB = createUnoService("com.sun.star.ucb.UniversalContentBroker")
+ oUCB.initialize(args())
+
+ Dim sURL, sCntURL As String
+ Dim oCI, oContent As Object
+ sURL = utils.Path2URL(cTestDocsDir &amp; "solibrary.jar")
+ sURL = utils.utils.StrReplace(sURL, "/", "%2F")
+ sCntURL = "vnd.sun.star.pkg://" &amp; sURL &amp; "/"
+
+ oCI = oUCB.createContentIdentifier(sCntUrl)
+ oContent = oUCB.queryContent(oCI)
+
+ Dim props(0) As new com.sun.star.beans.Property
+ Dim cmd As new com.sun.star.ucb.Command
+ Dim ocArg As new com.sun.star.ucb.OpenCommandArgument2
+ Dim sortInfo() As new com.sun.star.ucb.NumberedSortingInfo
+ Dim oDynResSet, oStubFactory As Object
+
+ props(0).Name = "Title"
+
+ ocArg.Mode = com.sun.star.ucb.OpenMode.ALL
+ ocArg.Priority = 10000
+ ocArg.Properties = props()
+ ocArg.SortingInfo = sortInfo()
+
+ cmd.Name = "open"
+ cmd.Handle = -1
+ cmd.Argument = ocArg
+
+ oDynResSet = oContent.execute(cmd, 0, NULL_OBJECT)
+
+ oStubFactory = createUnoService("com.sun.star.ucb.CachedDynamicResultSetStubFactory")
+ oResSetStub = oStubFactory.createCachedDynamicResultSetStub(oDynResSet)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/script.xlb b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/script.xlb
new file mode 100644
index 000000000000..cce9bb842251
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cached_CachedDynamicResultSetFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cached_CachedDynamicResultSetFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/cached_CachedDynamicResultSetStubFactory.xba b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/cached_CachedDynamicResultSetStubFactory.xba
new file mode 100644
index 000000000000..d979d506b638
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/cached_CachedDynamicResultSetStubFactory.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cached_CachedDynamicResultSetStubFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XCachedDynamicResultSetStubFactory
+ Global oResSet As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cached.CachedDynamicResultSetStubFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.ucb.CachedDynamicResultSetStubFactory")
+
+ Dim args As Variant
+ Dim oUCB As Object
+ args = Array("Local", "Office")
+ oUCB = createUnoService("com.sun.star.ucb.UniversalContentBroker")
+ oUCB.initialize(args())
+
+ Dim sURL, sCntURL As String
+ Dim oCI, oContent As Object
+ sURL = utils.Path2URL(cTestDocsDir &amp; "solibrary.jar")
+ sURL = utils.utils.StrReplace(sURL, "/", "%2F")
+ sCntURL = "vnd.sun.star.pkg://" &amp; sURL &amp; "/"
+
+ oCI = oUCB.createContentIdentifier(sCntUrl)
+ oContent = oUCB.queryContent(oCI)
+
+ Dim props(0) As new com.sun.star.beans.Property
+ Dim cmd As new com.sun.star.ucb.Command
+ Dim ocArg As new com.sun.star.ucb.OpenCommandArgument2
+ Dim sortInfo() As new com.sun.star.ucb.NumberedSortingInfo
+ Dim oStubFactory As Object
+
+ props(0).Name = "Title"
+
+ ocArg.Mode = com.sun.star.ucb.OpenMode.ALL
+ ocArg.Priority = 10000
+ ocArg.Properties = props()
+ ocArg.SortingInfo = sortInfo()
+
+ cmd.Name = "open"
+ cmd.Handle = -1
+ cmd.Argument = ocArg
+
+ oResSet = oContent.execute(cmd, 0, NULL_OBJECT)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/script.xlb b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/script.xlb
new file mode 100644
index 000000000000..175495d2475a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cached/CachedDynamicResultSetStubFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cached_CachedDynamicResultSetStubFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cached_CachedDynamicResultSetStubFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/cmdmail_SimpleCommandMail.xba b/qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/cmdmail_SimpleCommandMail.xba
new file mode 100644
index 000000000000..76bf3537af96
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/cmdmail_SimpleCommandMail.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cmdmail_SimpleCommandMail" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cmdmail.SimpleCommandMail
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.system.SimpleCommandMail")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/script.xlb b/qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/script.xlb
new file mode 100644
index 000000000000..d95fbd929c1f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cmdmail/SimpleCommandMail/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cmdmail_SimpleCommandMail" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cmdmail_SimpleCommandMail"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/cnt_ChaosContentProvider.xba b/qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/cnt_ChaosContentProvider.xba
new file mode 100644
index 000000000000..d25c14f513b3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/cnt_ChaosContentProvider.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cnt_ChaosContentProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XContentProvider:
+ Global ContentID1 As Object
+ Global ContentID2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cnt.ChaosContentProvider
+'*************************************************************************
+ Dim oUCB As Object
+ oObj = createUNOService("com.sun.star.ucb.ChaosContentProvider")
+ oUCB = createUNOService("com.sun.star.comp.ucb.UniversalContentBroker")
+ ContentID1 = oUCB.createContentIdentifier("ftp://localhost")
+ ContentID2 = oUCB.createContentIdentifier("vnd.sun.star.help://")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/script.xlb b/qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/script.xlb
new file mode 100644
index 000000000000..8f605cbbca17
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cnt/ChaosContentProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cnt_ChaosContentProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cnt_ChaosContentProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/cnt_CntUnoDataContainer.xba b/qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/cnt_CntUnoDataContainer.xba
new file mode 100644
index 000000000000..1d224492b1cc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/cnt_CntUnoDataContainer.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cnt_CntUnoDataContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+' Required for com.sun.star.container.XIndexContainer:
+ Global oInstance As Variant 'for InsertByName
+
+' Required for XIndexReplace
+ Global oIdxReplaceInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cnt.CntUnoDataContainer
+'*************************************************************************
+ Dim oDataContainer1 As Object
+ Dim oDataContainer2 As Object
+ Dim oInputStream As Object
+ Dim cFileName As String
+ Dim oFileAcc As Object
+ Dim hFile As Integer
+
+ oObj = createUNOService("com.sun.star.ucb.DataContainer")
+ oDataContainer1 = createUNOService("com.sun.star.ucb.DataContainer")
+ oDataContainer2 = createUNOService("com.sun.star.ucb.DataContainer")
+ oIdxReplaceInstance = createUNOService("com.sun.star.ucb.DataContainer")
+
+ oInstance = createUNOService("com.sun.star.ucb.DataContainer")
+
+ oObj.Name = "oDataContainer0"
+ oDataContainer1.Name = "oDataContainer1"
+ oDataContainer2.Name = "oDataContainer2"
+ oInstance.Name = "XDataContainer3"
+ oIdxReplaceInstance.Name = "oIdxReplaceInstance"
+
+ oObj.insertByIndex(0, oDataContainer1)
+ oObj.insertByIndex(1, oDataContainer2)
+
+ cFileName = utils.getTempFileURL("CntUnoDataContainer.dat")
+ #hFile = freefile()
+ Open cFileName For Output As #hFile
+ print #hFile "String content from cnt.CntUnoDataContainer"
+ close #hFile
+
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ oInputStream = oFileAcc.openFileRead(cFileName)
+ oObj.setInputStream(oInputStream)
+ oObj.setContentType("text/plain")
+
+End Sub
+
+Sub ResetStreams()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/script.xlb b/qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/script.xlb
new file mode 100644
index 000000000000..d806d1fad5d4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cnt/CntUnoDataContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cnt_CntUnoDataContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cnt_CntUnoDataContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/cnt_PropertyMatcherFactory.xba b/qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/cnt_PropertyMatcherFactory.xba
new file mode 100644
index 000000000000..144c36389578
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/cnt_PropertyMatcherFactory.xba
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cnt_PropertyMatcherFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cnt.PropertyMatcherFactory
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.ucb.PropertyMatcherFactory")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/script.xlb b/qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/script.xlb
new file mode 100644
index 000000000000..090026c261d5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cnt/PropertyMatcherFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cnt_PropertyMatcherFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cnt_PropertyMatcherFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/connector.uno/Connector/connector_uno_Connector.xba b/qadevOOo/tests/basic/mod/connector.uno/Connector/connector_uno_Connector.xba
new file mode 100644
index 000000000000..b7435bab594c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/connector.uno/Connector/connector_uno_Connector.xba
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="connector_uno_Connector" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' connectr.Connector
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.connection.Connector")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/connector.uno/Connector/script.xlb b/qadevOOo/tests/basic/mod/connector.uno/Connector/script.xlb
new file mode 100644
index 000000000000..4ace609e6092
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/connector.uno/Connector/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="connector_uno_onnector" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="connector_uno_Connector"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/connectr/Connector/connectr_Connector.xba b/qadevOOo/tests/basic/mod/connectr/Connector/connectr_Connector.xba
new file mode 100644
index 000000000000..900625d74de4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/connectr/Connector/connectr_Connector.xba
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="connectr_Connector" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' connectr.Connector
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.connection.Connector")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/connectr/Connector/script.xlb b/qadevOOo/tests/basic/mod/connectr/Connector/script.xlb
new file mode 100644
index 000000000000..0639ac0f938c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/connectr/Connector/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="connectr_Connector" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="connectr_Connector"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/corefl/CoreReflection/corefl_CoreReflection.xba b/qadevOOo/tests/basic/mod/corefl/CoreReflection/corefl_CoreReflection.xba
new file mode 100644
index 000000000000..98333ea94bee
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/corefl/CoreReflection/corefl_CoreReflection.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="corefl_CoreReflection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' corefl.CoreReflection
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.reflection.CoreReflection")
+
+ ' Required for com.sun.star.lang.XComponent
+ oComponentInstance = oObj
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/corefl/CoreReflection/script.xlb b/qadevOOo/tests/basic/mod/corefl/CoreReflection/script.xlb
new file mode 100644
index 000000000000..f29c9839c013
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/corefl/CoreReflection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="corefl_CoreReflection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="corefl_CoreReflection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/corereflection_uno_CoreReflection.xba b/qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/corereflection_uno_CoreReflection.xba
new file mode 100644
index 000000000000..ce69bd070877
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/corereflection_uno_CoreReflection.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="corereflection_uno_CoreReflection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' corefl.CoreReflection
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.reflection.CoreReflection")
+
+ ' Required for com.sun.star.lang.XComponent
+ oComponentInstance = oObj
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/script.xlb b/qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/script.xlb
new file mode 100644
index 000000000000..1d7d7a488a49
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/corereflection.uno/CoreReflection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="corereflection_uno_CoreReflection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="corereflection_uno_CoreReflection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/cpld_DLLComponentLoader.xba b/qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/cpld_DLLComponentLoader.xba
new file mode 100644
index 000000000000..9a5544f9f2b0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/cpld_DLLComponentLoader.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="cpld_DLLComponentLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global cImpLoader As String
+Global cImpURL As String
+Global cImpName As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cpld.DLLComponentLoader
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.loader.SharedLibrary")
+
+ cImpLoader = "com.sun.star.loader.SharedLibrary"
+ cImpURL = Path2URL(cTestDocsDir + "XImpReg.dll")
+ cImpName = "com.sun.star.comp.stoc.JavaComponentLoader"
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/script.xlb b/qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/script.xlb
new file mode 100644
index 000000000000..1d673ffb7d71
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/cpld/DLLComponentLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="cpld_DLLComponentLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="cpld_DLLComponentLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/dbaccess_ConnectionLineAccessibility.xba b/qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/dbaccess_ConnectionLineAccessibility.xba
new file mode 100644
index 000000000000..751479fca4ab
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/dbaccess_ConnectionLineAccessibility.xba
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_ConnectionLineAccessibility" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cancelButton As Object
+Global queryWindow As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.ConnectionLineAccessibility
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object
+
+ Dim dbSource As Object
+ dbSource = createUnoService("com.sun.star.sdb.DataSource")
+
+ Dim info(2) As new com.sun.star.beans.PropertyValue
+ info(0).Name = "JavaDriverClass"
+ info(0).Value = "org.gjt.mm.mysql.Driver"
+ info(1).Name = "user"
+ info(1).Value = jdbcUser
+ info(2).Name = "password"
+ info(2).Value = jdbcPassword
+ dbSource.info = info()
+ dbSource.URL = jdbcUrl
+
+ Dim dbContext As Object
+ dbContext = createUnoService("com.sun.star.sdb.DatabaseContext")
+
+ Dim sourceName As String
+ sourceName = "AAADBSource for dbu-accessibility"
+
+ if dbContext.hasByName(sourceName) then
+ dbContext.revokeObject(sourceName)
+ endif
+
+ dbContext.registerObject(sourceName, dbSource)
+
+ Dim connection As Object
+ connection = dbSource.getIsolatedConnection(jdbcUser, jdbcPassword)
+
+ Dim statement As Object
+ statement = connection.createStatement()
+
+ statement.executeUpdate("drop table if exists tst_table1")
+ statement.executeUpdate("drop table if exists tst_table2")
+ statement.executeUpdate("create table tst_table1 (id1 int)")
+ statement.executeUpdate("create table tst_table2 (id2 int)")
+
+ Dim defContainer As Object
+ defContainer = dbSource.getQueryDefinitions()
+
+ Dim newQuery As Object
+ newQuery = createUnoService("com.sun.star.sdb.QueryDefinition")
+ newQuery.Command = "select * from tst_table1, tst_table2 where " + _
+ "tst_table1.id1=tst_table2.id2"
+
+ defContainer.insertByName("Query1", newQuery)
+
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ thRunner.initialize(Array("ExecuteDialog", "com.sun.star.sdb.DatasourceAdministrationDialog"))
+ wait(3000)
+
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ Dim pageTabList As Object
+ pageTabList = utils.at_getAccessibleObjectForRole(xRoot, 31)
+
+ pageTabList.selectAccessibleChild(3)
+ wait(500)
+
+ Dim editQueryButton As Object
+ editQueryButton = utils.at_getAccessibleObjectForRole(xRoot, 35, "Edit Query")
+
+ cancelButton = utils.at_getAccessibleObjectForRole(xRoot, 35, "Cancel")
+
+ editQueryButton.doAccessibleAction(0)
+ wait(1000)
+
+ oWin = tk.getActiveTopWindow()
+ queryWindow = oWin
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, 0, "Relation")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ queryWindow.dispose()
+ if NOT isNull(cancelButton) then
+ cancelButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/script.xlb
new file mode 100644
index 000000000000..66ba217e7f6c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ConnectionLineAccessibility/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_ConnectionLineAccessibility" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_ConnectionLineAccessibility"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/dbaccess_DBContentLoader.xba b/qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/dbaccess_DBContentLoader.xba
new file mode 100644
index 000000000000..5c7722b265bd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/dbaccess_DBContentLoader.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_DBContentLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' For XFrameLoader
+Global FrameLoaderURL As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.DBContentLoader
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sdb.ContentLoader")
+
+ ' For XFrameLoader
+ FrameLoaderURL = ".component:DB/DataSourceBrowser"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/script.xlb
new file mode 100644
index 000000000000..16dc4304c46c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/DBContentLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_DBContentLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_DBContentLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/dbaccess_JoinViewAccessibility.xba b/qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/dbaccess_JoinViewAccessibility.xba
new file mode 100644
index 000000000000..3b2b98a28618
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/dbaccess_JoinViewAccessibility.xba
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_JoinViewAccessibility" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global cancelButton As Object
+Global queryWindow As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.JoinViewAccessibility
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object
+
+ Dim dbSource As Object
+ dbSource = createUnoService("com.sun.star.sdb.DataSource")
+
+ Dim info(2) As new com.sun.star.beans.PropertyValue
+ info(0).Name = "JavaDriverClass"
+ info(0).Value = "org.gjt.mm.mysql.Driver"
+ info(1).Name = "user"
+ info(1).Value = jdbcUser
+ info(2).Name = "password"
+ info(2).Value = jdbcPassword
+ dbSource.info = info()
+ dbSource.URL = jdbcUrl
+
+ Dim dbContext As Object
+ dbContext = createUnoService("com.sun.star.sdb.DatabaseContext")
+
+ Dim sourceName As String
+ sourceName = "AAADBSource for dbu-accessibility"
+
+ if dbContext.hasByName(sourceName) then
+ dbContext.revokeObject(sourceName)
+ endif
+
+ dbContext.registerObject(sourceName, dbSource)
+
+ Dim connection As Object
+ connection = dbSource.getIsolatedConnection(jdbcUser, jdbcPassword)
+
+ Dim statement As Object
+ statement = connection.createStatement()
+
+ statement.executeUpdate("drop table if exists tst_table1")
+ statement.executeUpdate("drop table if exists tst_table2")
+ statement.executeUpdate("create table tst_table1 (id1 int)")
+ statement.executeUpdate("create table tst_table2 (id2 int)")
+
+ Dim defContainer As Object
+ defContainer = dbSource.getQueryDefinitions()
+
+ Dim newQuery As Object
+ newQuery = createUnoService("com.sun.star.sdb.QueryDefinition")
+ newQuery.Command = "select * from tst_table1, tst_table2 where " + _
+ "tst_table1.id1=tst_table2.id2"
+
+ defContainer.insertByName("Query1", newQuery)
+
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ thRunner.initialize(Array("ExecuteDialog", "com.sun.star.sdb.DatasourceAdministrationDialog"))
+ wait(3000)
+
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ Dim pageTabList As Object
+ pageTabList = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PAGE_TAB_LIST)
+
+ pageTabList.selectAccessibleChild(3)
+ wait(500)
+
+ Dim editQueryButton As Object
+ editQueryButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Edit Query")
+
+ cancelButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Cancel")
+
+ editQueryButton.doAccessibleAction(0)
+ wait(1000)
+
+ oWin = tk.getActiveTopWindow()
+ queryWindow = oWin
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.VIEW_PORT)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(queryWindow)
+ if NOT isNull(cancelButton) then
+ cancelButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/script.xlb
new file mode 100644
index 000000000000..8617aa03de8b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/JoinViewAccessibility/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_JoinViewAccessibility" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_JoinViewAccessibility"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/dbaccess_OCommandDefinition.xba b/qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/dbaccess_OCommandDefinition.xba
new file mode 100644
index 000000000000..5635743679e1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/dbaccess_OCommandDefinition.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_OCommandDefinition" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.OCommandDefinition
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sdb.QueryDefinition")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/script.xlb
new file mode 100644
index 000000000000..c4d19d9c021c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/OCommandDefinition/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_OCommandDefinition" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_OCommandDefinition"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/dbaccess_ODatabaseContext.xba b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/dbaccess_ODatabaseContext.xba
new file mode 100644
index 000000000000..c90fc39d63ee
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/dbaccess_ODatabaseContext.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_ODatabaseContext" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.uno.XNamingService:
+ Global oObjectToRegister As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.ODatabaseContext
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.sdb.DatabaseContext")
+ oObjectToRegister = createUNOService("com.sun.star.sdb.DataSource")
+ oObjectToRegister.URL = "sdbc:dbase:" + utils.getTempFileURL("")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/script.xlb
new file mode 100644
index 000000000000..f1a5f0302285
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseContext/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_ODatabaseContext" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_ODatabaseContext"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/dbaccess_ODatabaseSource.xba b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/dbaccess_ODatabaseSource.xba
new file mode 100644
index 000000000000..b3fad24fc39f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/dbaccess_ODatabaseSource.xba
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_ODatabaseSource" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for object disposing (the name of the source)
+Global sourceName as String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.ODatabaseSource
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim tmpDir as String, dbSrc as Object, dbContext as Object
+
+ sourceName = "BasicODatabaseSource"
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ dbContext =createUnoService("com.sun.star.sdb.DatabaseContext")
+ tmpDir = utils.getTempFileURL("")
+
+ Out.Log("Creating datasource in " + tmpDir)
+
+ dbSrc = createUnoService("com.sun.star.sdb.DataSource")
+ dbSrc.URL = "sdbc:dbase:" + tmpDir
+
+ if dbContext.hasByName(sourceName) then
+ dbContext.revokeObject(sourceName)
+ endif
+
+ dbContext.registerObject(sourceName, dbSrc)
+
+ oObj = dbSrc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ Dim dbContext as Object
+
+ dbContext =createUnoService("com.sun.star.sdb.DatabaseContext")
+ if dbContext.hasByName(sourceName) then
+ dbContext.revokeObject(sourceName)
+ endif
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/script.xlb
new file mode 100644
index 000000000000..6e67dd8ee35a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatabaseSource/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_ODatabaseSource" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_ODatabaseSource"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/dbaccess_ODatasourceAdministrationDialog.xba b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/dbaccess_ODatasourceAdministrationDialog.xba
new file mode 100644
index 000000000000..7260d239d673
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/dbaccess_ODatasourceAdministrationDialog.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_ODatasourceAdministrationDialog" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' relation for com.sun.star.lang.XInitialization
+Global aInitArgs As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.ODatasourceAdministrationDialog
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sdb.DatasourceAdministrationDialog")
+
+ ' setting relation for com.sun.star.lang.XInitialization
+ Dim arg As new com.sun.star.beans.PropertyValue
+ arg.Name = "Title"
+ arg.Value = "ODatasourceAdministrationDialog"
+
+ aInitArgs = Array(arg)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/script.xlb
new file mode 100644
index 000000000000..b70e65c3d620
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceAdministrationDialog/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_ODatasourceAdministrationDialog" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_ODatasourceAdministrationDialog"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/dbaccess_ODatasourceBrowser.xba b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/dbaccess_ODatasourceBrowser.xba
new file mode 100644
index 000000000000..db96d88a4c2d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/dbaccess_ODatasourceBrowser.xba
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_ODatasourceBrowser" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' variable for XComponent
+Global oComponentInstance As Object
+
+' variable for XFormController
+Global otherWin As Object
+
+' variable for XDispatchProvider
+Global dispatchUrl As String
+
+' variable for frame.XController
+Global oFrameToAttach As Object
+Global oModelToAttach As Object
+Global bHasNoViewData As Boolean
+Global oObjToSuspend As Object
+Global bHasNoModel As Boolean
+
+' variables for awt.XTabController
+Global oXTabControllerModel as Object
+Global oXTabControllerContainer as Object
+
+' variable for lang.XInitialization
+Global aInitArgs As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.ODatasourceBrowser
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim cntrlr As Object
+ Dim frame1 As Object, frame2 As Object
+ Dim url As new com.sun.star.util.URL
+ Dim dispatcher As Object
+ Dim oShape As Object, oDrawPage As Object, oModel As Object
+ Dim oController As Object, oCtrll As Object
+ Dim params(2) as new com.sun.star.beans.PropertyValue
+ Dim list1 as object, ctrl as object
+
+' oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc = StarDesktop.loadComponentFromUrl("private:factory/swriter", "_blank",0 , args())
+
+ wait(500)
+
+ cntrlr = oDoc.getCurrentController()
+ frame1 = StarDesktop.getCurrentFrame()
+ url.Complete = ".component:DB/DataSourceBrowser"
+ dispatcher = frame1.queryDispatch(url, "_beamer", 12)
+ dispatcher.dispatch(url, DimArray())
+
+ frame2 = frame1.findFrame("_beamer", 4)
+ frame2.setName("ODatasourceBrowser")
+
+ oObj = frame2.getController()
+
+ ' now initialize the browser to make him displaying a table in its gtrid.
+ ' This is required for activating of this control
+ params(0).Name = "DataSourceName"
+ params(0).Value = "Bibliography"
+ params(1).Name = "CommandType"
+ params(1).Value = com.sun.star.sdb.CommandType.TABLE
+ params(2).Name = "Command"
+ params(2).Value = "biblio"
+
+ oObj.initialize(params())
+ ' waiting while data loading ...
+ wait(2000)
+
+'setting variable for XComponent
+ oComponentInstance = oObj
+
+'setting variable for XDispatchProvider
+ dispatchUrl = ".uno:DataSourceBrowser/FormLetter"
+
+'setting variable for XController
+ oFrameToAttach = frame1
+ oModelToAttach = oDoc
+ bHasNoViewData = true
+ oObjToSuspend = oObj
+ bHasNoModel = true
+
+'setting variables for awt.XTabController and for XFormController
+ oShape = toolkittools.createUNOControlShape("CommandButton", "UnoControlButton")
+ toolkittools.addShape(oShape)
+ oDrawPage = oDoc.getDrawPage()
+
+ oModel = oShape.getControl()
+ oController = oDoc.getCurrentController()
+ otherWin = oController.getControl(oModel)
+ oXTabControllerContainer = otherWin.getContext()
+ oXTabControllerModel = oDrawPage.getForms().getByIndex(0)
+
+' setting variable for lang.XInitialization
+ aInitArgs = params()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/script.xlb
new file mode 100644
index 000000000000..1a70f0bd7f8f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ODatasourceBrowser/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_ODatasourceBrowser" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_ODatasourceBrowser"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/dbaccess_OInteractionHandler.xba b/qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/dbaccess_OInteractionHandler.xba
new file mode 100644
index 000000000000..f9d73c83c5ac
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/dbaccess_OInteractionHandler.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_OInteractionHandler" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.OInteractionHandler
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sdb.InteractionHandler")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/script.xlb
new file mode 100644
index 000000000000..019f9dc617cc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/OInteractionHandler/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_OInteractionHandler" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_OInteractionHandler"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ORowSet/dbaccess_ORowSet.xba b/qadevOOo/tests/basic/mod/dbaccess/ORowSet/dbaccess_ORowSet.xba
new file mode 100644
index 000000000000..60ef6a794bce
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ORowSet/dbaccess_ORowSet.xba
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_ORowSet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.sdbc.XColumnLocate:
+ Global cExistantColumnName As String
+
+' Required for com.sun.star.sdbc.XResultSet
+ Global cXResultSetFirstRecord as String
+ Global cXResultSetLastRecord as String
+ Global cXResultSetRecord1 as String
+ Global cXResultSetRecord2 as String
+ Global cXResultSet2BeforeLastRecord as String
+
+' Required for com.sun.star.sdbc.XParameters
+ Global paramTypes as Variant
+
+' Required for com.sun.star.sdbc.XRow and com.sun.star.sdbc.XRowUpdate
+ Global rowTypes as Variant
+ Global rowTypesCol as Variant
+
+' Required for com.sun.star.sdbc.XResultSetUpdate
+ Global textColumn As String
+
+ Global oConnection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.ORowSet
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oRowSet As Object, facc As Object, dbSource As Object
+ Dim srcFile As String, dstFile As String, dbSrcURL As String
+
+ ' Copying DB file to temp location
+ srcFile = utils.Path2URL(cTestDocsDir) + "TestDB/testDB.dbf"
+ dstFile = utils.getTempFileURL("TestDB.dbf")
+ dbSrcURL = "sdbc:dbase:" + utils.StrReplace(dstFile, "/testDB.dbf", "")
+
+ facc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ if not facc.exists(srcFile) then
+ Out.log("could not find source of testDB.dbf: " + srcFile)
+ end if
+ if (facc.exists(dstFile)) then facc.kill(dstFile)
+ facc.copy(srcFile, dstFile)
+
+ dbtools.RegisterDataSource("DBTest", dbSrcURL)
+
+ oRowSet = createUnoService("com.sun.star.sdb.RowSet")
+
+ oRowSet.DataSourceName = "DBTest"
+ oRowSet.Command = "TestDB"
+ oRowSet.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oRowSet.execute()
+
+ wait(200)
+
+ oConnection = oRowSet.ActiveConnection
+
+ if NOT isObject(oConnection) then
+ Out.Log("oConnection wasn't retrieved properly !!!")
+ end if
+
+ oRowSet.first()
+
+ Out.Log("The first record has: '" + oRowSet.getString(1) + "'")
+
+ oObj = oRowSet
+
+ oComponentInstance = createUnoService("com.sun.star.sdb.RowSet")
+ cExistantColumnName = "_TEXT"
+ cXResultSetFirstRecord = "text1"
+ cXResultSetLastRecord = "text3"
+ cXResultSetRecord1 = "text1"
+ cXResultSetRecord2 = "text2"
+ cXResultSet2BeforeLastRecord = "text2"
+
+ paramTypes = DimArray()
+
+' paramTypes = Array("boolean", "byte", "short", "int", "long", "float", "double", "string", _
+' "bytes", "date", "time", "timestamp", "binarystream", "characterstream", "object", _
+' "ref", "blob", "clob", "array")
+
+
+' Dim dat As new com.sun.star.util.Date
+' Dim tim As new com.sun.star.util.Time
+' Dim datTim As new com.sun.star.util.DateTime
+
+' dat.Year = 2001
+' dat.Month = 1
+' dat.Day = 1
+
+' tim.Hours = 1
+' tim.Minutes = 1
+' tim.Seconds = 1
+
+' paramVal = Array(true, 11, 11, 111, NULL, 1.1, 11.11, "text1", NULL, dat, tim, NULL, NULL, NULL, NULL,
+' NULL, NULL, NULL, NULL)
+
+ ' for XRow and XRowUpdate
+ rowTypes = Array("string", "int", "long", "double", "float", "date", "datetm", "boolean")
+ rowTypesCol = Array(1, 2, 3, 4, 5, 6, 7, 9)
+' rowTypes = Array("boolean", "byte", "short", "int", "long", "float", "double", "string", _
+' "bytes", "date", "time", "timestamp", "binarystream", "characterstream", "object", _
+' "numericobject")
+
+
+
+' Required for com.sun.star.sdbc.XResultSetUpdate
+ textColumn = "_TEXT"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+On Error Goto ErrHndl
+ Out.Log("Closing DB connection ...")
+ oConnection.close()
+
+ Out.Log("Revoking 'DBTest' datasource ...")
+ dbtools.RevokeDB("DBTest")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/ORowSet/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/ORowSet/script.xlb
new file mode 100644
index 000000000000..74871382da1c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/ORowSet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_ORowSet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_ORowSet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/dbaccess_OSQLMessageDialog.xba b/qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/dbaccess_OSQLMessageDialog.xba
new file mode 100644
index 000000000000..6a3b67c51849
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/dbaccess_OSQLMessageDialog.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_OSQLMessageDialog" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.OSQLMessageDialog
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sdb.ErrorMessageDialog")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/script.xlb
new file mode 100644
index 000000000000..d4d9ae335fc4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/OSQLMessageDialog/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_OSQLMessageDialog" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_OSQLMessageDialog"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/dbaccess_SbaXGridControl.xba b/qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/dbaccess_SbaXGridControl.xba
new file mode 100644
index 000000000000..1ba1f7cac92d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/dbaccess_SbaXGridControl.xba
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_SbaXGridControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for view.XSelectionSupplier
+Global SelectableObj1 as Variant
+Global SelectableObj2 as Variant
+
+' Required for awt.XControl
+Global oModel As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+
+' Required for awt.XWindow
+Global oXWindow As Object
+Global oCtrlShape As Variant
+
+' Required for awt.XView
+Global oGraphics As Object
+
+' Required for frame.XDispatch
+Global dispatchURL As String
+
+' Required for XContainer
+Global oElementToInsert As Object
+Global oContainer As Object ' in case if the
+ ' component tested doesn't support XNameContainer
+
+' Required for XComponent
+Global oComponentInstance As Object 'it will be disposed
+
+' Required for form.XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.SbaXGridControl
+'*************************************************************************
+ Dim cntrlShape as Object, grid as Object
+ Dim size as new com.sun.star.awt.Size
+ Dim pos as new com.sun.star.awt.Point
+ Dim drawPage as Object, aForm as Object
+ Dim aColumn1 as Object, aColumn2 as Object
+ Dim theAccess as Object
+ Dim sel1(0) as Long, sel2(0) as Long
+ Dim device as Object
+
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ ' creating ControlShape with GridControl inside it
+ cntrlShape = oDoc.createInstance("com.sun.star.drawing.ControlShape")
+ grid = oDoc.createInstance("com.sun.star.form.component.GridControl")
+ grid.DefaultControl = "com.sun.star.form.control.InteractionGridControl"
+ pos.X = 15000
+ pos.Y = 10000
+ size.Width = 4500
+ size.Height = 3000
+ cntrlShape.setPosition(pos)
+ cntrlShape.setSize(size)
+ cntrlShape.setControl(grid)
+
+ ' adding the shape with grid into the document
+ drawPage = oDoc.getDrawPage()
+ drawPage.add(cntrlShape)
+
+ ' binding the form which contains a grid model to
+ ' the Bibliography database
+ aForm = drawPage.getForms().getByName("Standard")
+ aForm.DataSourceName = "Bibliography"
+ aForm.Command = "biblio"
+ aForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ ' creating and inserting some columns
+ aColumn1 = grid.createColumn("TextField")
+ aColumn1.DataField = "Identifier"
+ aColumn1.Label = "Identifier"
+ grid.insertByName("First", aColumn1)
+ aColumn2 = grid.createColumn("TextField")
+ aColumn2.DataField = "Address"
+ aColumn2.Label = "Address"
+ grid.insertByName("Second", aColumn2)
+
+ ' Getting the controller of the Grid
+ theAccess = oDoc.getCurrentController()
+ oObj = theAccess.getControl(grid)
+
+ ' setting variable for XSelectionSupplier
+ sel1(0) = 2
+ sel2(0) = 5
+ SelectableObj1 = sel1()
+ SelectableObj2 = sel2()
+
+ ' setting variable for XControl
+ oContext = oDoc
+ oModel = grid
+ oWinpeer = oObj.getPeer()
+ oToolkit = oWinpeer.getToolkit()
+
+ ' setting variable for XWindow
+ oXWindow = theAccess.getControl(cntrlShape.getControl())
+ oCtrlShape = cntrlShape
+
+ ' setting variable for XView
+ device = oToolkit.createScreenCompatibleDevice(200, 200)
+ oGraphics = device.createGraphics()
+
+ 'setting variable for XDispatch
+ dispatchURL = ".uno:FormSlots/moveToNext"
+
+ 'setting variables for XContainer
+ oElementToInsert = grid.createColumn("TextField")
+ oElementToInsert.DataField = "Author"
+ oElementToInsert.Label = "Author"
+ oContainer = grid
+
+ 'setting variable for XComponent
+ cntrlShape = oDoc.createInstance("com.sun.star.drawing.ControlShape")
+ grid = oDoc.createInstance("com.sun.star.form.component.GridControl")
+ grid.DefaultControl = "com.sun.star.form.control.InteractionGridControl"
+ cntrlShape.setControl(grid)
+ drawPage.add(cntrlShape)
+
+
+ 'setting variable for XUpdateBroadcaster
+ bCustomUpdate = True
+
+ oComponentInstance = theAccess.getControl(grid)
+
+ ' Switching to non-design mode
+ switchDesignMode(oDoc)
+
+ wait(200)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub UpdateComponent()
+ oObj.commit
+End Sub
+
+Sub switchDesignMode(xDoc as Object)
+On Error Goto ErrHndl
+
+ Dim frame as Variant, disp as Variant, transf as Object
+ Dim URL as new com.sun.star.util.URL
+ Dim noProps()
+ Dim res as Boolean
+
+ frame = xDoc.getCurrentController().getFrame()
+ URL.Complete = ".uno:SwitchControlDesignMode"
+ transf = createUnoService("com.sun.star.util.URLTransformer")
+ res = transf.parseStrict(URL)
+
+ out.log("URL parsed :" + res)
+
+ disp = frame.queryDispatch(URL, "", com.sun.star.frame.FrameSearchFlag.SELF _
+ OR com.sun.star.frame.FrameSearchFlag.CHILDREN)
+
+ out.log("disp get.")
+
+ disp.dispatch(URL, noProps())
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Sub prepareCommit()
+ Out.Log("prepareCommit() called")
+ Out.Log("can be checked only interactively")
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+ checkCommit() = True
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/script.xlb
new file mode 100644
index 000000000000..b4f0a13080d7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/SbaXGridControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_SbaXGridControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_SbaXGridControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/dbaccess_TableWindowAccessibility.xba b/qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/dbaccess_TableWindowAccessibility.xba
new file mode 100644
index 000000000000..b1db74c7a5cf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/dbaccess_TableWindowAccessibility.xba
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_TableWindowAccessibility" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cancelButton As Object
+Global queryWindow As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbaccess.TableWindowAccessibility
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object
+
+ Dim dbSource As Object
+ dbSource = createUnoService("com.sun.star.sdb.DataSource")
+
+ Dim info(2) As new com.sun.star.beans.PropertyValue
+ info(0).Name = "JavaDriverClass"
+ info(0).Value = "org.gjt.mm.mysql.Driver"
+ info(1).Name = "user"
+ info(1).Value = jdbcUser
+ info(2).Name = "password"
+ info(2).Value = jdbcPassword
+ dbSource.info = info()
+ dbSource.URL = jdbcUrl
+
+ Dim dbContext As Object
+ dbContext = createUnoService("com.sun.star.sdb.DatabaseContext")
+
+ Dim sourceName As String
+ sourceName = "AAADBSource for dbu-accessibility"
+
+ if dbContext.hasByName(sourceName) then
+ dbContext.revokeObject(sourceName)
+ endif
+
+ dbContext.registerObject(sourceName, dbSource)
+
+ Dim connection As Object
+ connection = dbSource.getIsolatedConnection(jdbcUser, jdbcPassword)
+
+ Dim statement As Object
+ statement = connection.createStatement()
+
+ statement.executeUpdate("drop table if exists tst_table1")
+ statement.executeUpdate("drop table if exists tst_table2")
+ statement.executeUpdate("create table tst_table1 (id1 int)")
+ statement.executeUpdate("create table tst_table2 (id2 int)")
+
+ Dim defContainer As Object
+ defContainer = dbSource.getQueryDefinitions()
+
+ Dim newQuery As Object
+ newQuery = createUnoService("com.sun.star.sdb.QueryDefinition")
+ newQuery.Command = "select * from tst_table1, tst_table2 where " + _
+ "tst_table1.id1=tst_table2.id2"
+
+ defContainer.insertByName("Query1", newQuery)
+
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ thRunner.initialize(Array("ExecuteDialog", "com.sun.star.sdb.DatasourceAdministrationDialog"))
+ wait(3000)
+
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ Dim pageTabList As Object
+ pageTabList = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PAGE_TAB_LIST)
+
+ pageTabList.selectAccessibleChild(3)
+ wait(500)
+
+ Dim editQueryButton As Object
+ editQueryButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Edit Query")
+
+ cancelButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Cancel")
+
+ editQueryButton.doAccessibleAction(0)
+ wait(1000)
+
+ oWin = tk.getActiveTopWindow()
+ queryWindow = oWin
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(queryWindow)
+ if NOT isNull(cancelButton) then
+ cancelButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/script.xlb b/qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/script.xlb
new file mode 100644
index 000000000000..cb2d0914c866
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbaccess/TableWindowAccessibility/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbaccess_TableWindowAccessibility" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbaccess_TableWindowAccessibility"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dbpool/OConnectionPool/dbpool_OConnectionPool.xba b/qadevOOo/tests/basic/mod/dbpool/OConnectionPool/dbpool_OConnectionPool.xba
new file mode 100644
index 000000000000..c50dfb3c9db8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbpool/OConnectionPool/dbpool_OConnectionPool.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbpool_OConnectionPool" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dbpool.OConnectionPool
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sdbc.ConnectionPool")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dbpool/OConnectionPool/script.xlb b/qadevOOo/tests/basic/mod/dbpool/OConnectionPool/script.xlb
new file mode 100644
index 000000000000..e13dd569d793
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dbpool/OConnectionPool/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dbpool_OConnectionPool" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dbpool_OConnectionPool"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/defreg/NestedRegistry/defreg_NestedRegistry.xba b/qadevOOo/tests/basic/mod/defreg/NestedRegistry/defreg_NestedRegistry.xba
new file mode 100644
index 000000000000..dfc9864cc068
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/defreg/NestedRegistry/defreg_NestedRegistry.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="defreg_NestedRegistry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XInitialization
+Global aInitArgs As Variant
+
+Global oReg1 As Object
+Global oReg2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' defreg.NestedRegistry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim cURL1 As String
+ Dim cURL2 As String
+
+ oObj = createUnoService("com.sun.star.registry.NestedRegistry")
+
+ oReg1 = createUnoService("com.sun.star.registry.SimpleRegistry")
+ oReg2 = createUnoService("com.sun.star.registry.SimpleRegistry")
+ cURL1 = utils.getTempFileURL("BAS_forNestedRegistry1.rdb")
+ cURL2 = utils.getTempFileURL("BAS_forNestedRegistry2.rdb")
+
+ if FileExists(cURL1) then
+ kill(cURL1)
+ end if
+
+ if FileExists(cURL2) then
+ kill(cURL2)
+ end if
+
+ oReg1.open(cURL1, true, true)
+ oReg2.open(cURL2, false, true)
+
+ Dim aArgs(1) As Object
+ aArgs(0) = oReg1
+ aArgs(1) = oReg2
+
+ aInitArgs = aArgs()
+
+ oObj.initialize(aInitArgs())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oReg1.close()
+ oReg2.close()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/defreg/NestedRegistry/script.xlb b/qadevOOo/tests/basic/mod/defreg/NestedRegistry/script.xlb
new file mode 100644
index 000000000000..de1c9e0f9cfb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/defreg/NestedRegistry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="defreg_NestedRegistry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="defreg_NestedRegistry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dtrans/generic/dtrans_generic.xba b/qadevOOo/tests/basic/mod/dtrans/generic/dtrans_generic.xba
new file mode 100644
index 000000000000..48d73cc7a8fa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dtrans/generic/dtrans_generic.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dtrans_generic" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dtrans.generic
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.datatransfer.clipboard.GenericClipboard")
+ if ( NOT hasUnoInterfaces(oObj,"com.sun.star.uno.XInterface")) then
+ Out.log("[ERROR!] System type is *nix, unable to create object...")
+ endif
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dtrans/generic/script.xlb b/qadevOOo/tests/basic/mod/dtrans/generic/script.xlb
new file mode 100644
index 000000000000..d843008a52d5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dtrans/generic/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dtrans_generic" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dtrans_generic"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/dynamicloader_uno_Dynamic.xba b/qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/dynamicloader_uno_Dynamic.xba
new file mode 100644
index 000000000000..6e442178a2e4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/dynamicloader_uno_Dynamic.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dynamicloader_uno_Dynamic" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+'!!! Doesnt currently work as service can't be instantiated.
+
+'*************************************************************************
+
+
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dynamicloader.Dynamic
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.loader.Dynamic")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/script.xlb b/qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/script.xlb
new file mode 100644
index 000000000000..f5273b902284
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dynamicloader.uno/Dynamic/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dynamicloader_uno_Dynamic" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dynamicloader_uno_Dynamic"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/dynamicloader/Dynamic/dynamicloader_Dynamic.xba b/qadevOOo/tests/basic/mod/dynamicloader/Dynamic/dynamicloader_Dynamic.xba
new file mode 100644
index 000000000000..077d98e6dfc9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dynamicloader/Dynamic/dynamicloader_Dynamic.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dynamicloader_Dynamic" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+'!!! Doesnt currently work as service can't be instantiated.
+
+'*************************************************************************
+
+
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' dynamicloader.Dynamic
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.loader.Dynamic")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/dynamicloader/Dynamic/script.xlb b/qadevOOo/tests/basic/mod/dynamicloader/Dynamic/script.xlb
new file mode 100644
index 000000000000..2543c346ec17
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/dynamicloader/Dynamic/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="dynamicloader_Dynamic" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="dynamicloader_Dynamic"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/file/calc/ODriver/file_calc_ODriver.xba b/qadevOOo/tests/basic/mod/file/calc/ODriver/file_calc_ODriver.xba
new file mode 100644
index 000000000000..8f291cf47a0f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/file/calc/ODriver/file_calc_ODriver.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="file_calc_ODriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' file.calc.ODriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbc.calc.ODriver")
+
+ URL = calcUrl
+
+ Dim inf(0) As new com.sun.star.beans.PropertyValue
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/file/calc/ODriver/script.xlb b/qadevOOo/tests/basic/mod/file/calc/ODriver/script.xlb
new file mode 100644
index 000000000000..0afe2c82b6d1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/file/calc/ODriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="file_calc_ODriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="file_calc_ODriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/file/dbase/ODriver/file_dbase_ODriver.xba b/qadevOOo/tests/basic/mod/file/dbase/ODriver/file_dbase_ODriver.xba
new file mode 100644
index 000000000000..466c820fabe4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/file/dbase/ODriver/file_dbase_ODriver.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="file_dbase_ODriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' file.dbase.ODriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbc.dbase.ODriver")
+
+ URL = dbaseUrl
+
+ Dim inf(0) As new com.sun.star.beans.PropertyValue
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/file/dbase/ODriver/script.xlb b/qadevOOo/tests/basic/mod/file/dbase/ODriver/script.xlb
new file mode 100644
index 000000000000..19753bcaac05
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/file/dbase/ODriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="file_dbase_ODriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="file_dbase_ODriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/file/flat/ODriver/file_flat_ODriver.xba b/qadevOOo/tests/basic/mod/file/flat/ODriver/file_flat_ODriver.xba
new file mode 100644
index 000000000000..e055e9024316
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/file/flat/ODriver/file_flat_ODriver.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="file_flat_ODriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' file.flat.ODriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbc.flat.ODriver")
+
+ URL = flatUrl
+
+ Dim inf(0) As new com.sun.star.beans.PropertyValue
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/file/flat/ODriver/script.xlb b/qadevOOo/tests/basic/mod/file/flat/ODriver/script.xlb
new file mode 100644
index 000000000000..5022f4ac0e9e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/file/flat/ODriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="file_flat_ODriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="file_flat_ODriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/fileacc_SimpleFileAccess.xba b/qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/fileacc_SimpleFileAccess.xba
new file mode 100644
index 000000000000..fe9a7855fd36
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/fileacc_SimpleFileAccess.xba
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fileacc_SimpleFileAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fileacc.SimpleFileAccess
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.ucb.SimpleFileAccess")
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/script.xlb b/qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/script.xlb
new file mode 100644
index 000000000000..09d867dc9f66
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fileacc/SimpleFileAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fileacc_SimpleFileAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fileacc_SimpleFileAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fop/FolderPicker/fop_FolderPicker.xba b/qadevOOo/tests/basic/mod/fop/FolderPicker/fop_FolderPicker.xba
new file mode 100644
index 000000000000..41a08c3c44a8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fop/FolderPicker/fop_FolderPicker.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fop_FolderPicker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fop.FolderPicker
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.ui.dialogs.FolderPicker")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fop/FolderPicker/script.xlb b/qadevOOo/tests/basic/mod/fop/FolderPicker/script.xlb
new file mode 100644
index 000000000000..d8eceef973c1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fop/FolderPicker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fop_FolderPicker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fop_FolderPicker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OButtonControl/forms_OButtonControl.xba b/qadevOOo/tests/basic/mod/forms/OButtonControl/forms_OButtonControl.xba
new file mode 100644
index 000000000000..b571308e576e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OButtonControl/forms_OButtonControl.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OButtonControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OButtonControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Out.Log("try to insert some shapes...")
+ oShape1 = toolkittools.addControlToDefaultForm("CommandButton", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("CommandButton", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+'Sub DisposeObj()
+' 'Re-open this document to close it successfully
+' oDoc2 = utils.createDocument("swriter", cObjectName + "2")
+' oDoc2.Dispose()
+'End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OButtonControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OButtonControl/script.xlb
new file mode 100644
index 000000000000..c0f46b692949
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OButtonControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OButtonControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OButtonControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OButtonModel/forms_OButtonModel.xba b/qadevOOo/tests/basic/mod/forms/OButtonModel/forms_OButtonModel.xba
new file mode 100644
index 000000000000..89a96c9e2467
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OButtonModel/forms_OButtonModel.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OButtonModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oComponentInstance As Object
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OButtonModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim ctrlShape As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ ctrlShape = toolkittools.addControlToDefaultForm("CommandButton", 1000, 1000, 2000, 1000)
+ oObj = ctrlShape.getControl()
+ ctrlShape = toolkittools.addControlToDefaultForm("CommandButton", 1000, 3000, 2000, 1000)
+ oComponentInstance = ctrlShape.getControl()
+ ctrlShape = toolkittools.addControlToDefaultForm("CommandButton", 1000, 5000, 2000, 1000)
+ oPersistInstance = ctrlShape.getControl()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OButtonModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OButtonModel/script.xlb
new file mode 100644
index 000000000000..1e6a3faf31f0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OButtonModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OButtonModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OButtonModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OCheckBoxControl/forms_OCheckBoxControl.xba b/qadevOOo/tests/basic/mod/forms/OCheckBoxControl/forms_OCheckBoxControl.xba
new file mode 100644
index 000000000000..9bb51ee2f615
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCheckBoxControl/forms_OCheckBoxControl.xba
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OCheckBoxControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+' Required for awt.XItemListener
+ Global bIL_itemStateChanged As Boolean
+ Global oEventItemListener As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OCheckBoxControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+ Dim oIListener As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+' oDoc2 = utils.createDocument("swriter", cObjectName + "2")
+
+ oShape1 = toolkittools.addControlToDefaultForm("CheckBox", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("CheckBox", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+ oIListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
+ oObj.addItemListener(oIListener)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub IL_itemStateChanged(rEvent As Object)
+ bIL_itemStateChanged = True
+ Out.Log("CallBack for ItemListener itemStateChanged was called.")
+ oEventItemListener = rEvent
+End Sub
+
+
+'Sub DisposeObj()
+' 'Re-open this document to close it successfully
+' oDoc2 = utils.createDocument("swriter", cObjectName + "2")
+' oDoc2.Dispose()
+'End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OCheckBoxControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OCheckBoxControl/script.xlb
new file mode 100644
index 000000000000..bd422e9fb66e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCheckBoxControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OCheckBoxControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OCheckBoxControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OCheckBoxModel/forms_OCheckBoxModel.xba b/qadevOOo/tests/basic/mod/forms/OCheckBoxModel/forms_OCheckBoxModel.xba
new file mode 100644
index 000000000000..85c12933d4bb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCheckBoxModel/forms_OCheckBoxModel.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OCheckBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oComponentInstance As Object
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OCheckBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oDrawPage as Object
+ Dim oCntrlShape as Object
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oCntrlShape = toolkittools.addControlToDefaultForm("CheckBox", 1000, 1000, 2000, 1000)
+ oObj = oCntrlShape.getControl()
+ oCntrlShape = toolkittools.addControlToDefaultForm("CheckBox", 1000, 3000, 2000, 1000)
+ oComponentInstance = oCntrlShape.getControl()
+ oCntrlShape = toolkittools.addControlToDefaultForm("CheckBox", 1000, 5000, 2000, 1000)
+ oPersistInstance = oCntrlShape.getControl()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OCheckBoxModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OCheckBoxModel/script.xlb
new file mode 100644
index 000000000000..b81cae2daec5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCheckBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OCheckBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OCheckBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OComboBoxControl/forms_OComboBoxControl.xba b/qadevOOo/tests/basic/mod/forms/OComboBoxControl/forms_OComboBoxControl.xba
new file mode 100644
index 000000000000..bd3436e0c3d7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OComboBoxControl/forms_OComboBoxControl.xba
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OComboBoxControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OComboBoxControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+' oDoc2 = utils.createDocument("swriter", cObjectName + "2")
+
+ oShape1 = toolkittools.addControlToDefaultForm("ComboBox", 1000, 1000, 3000, 1500)
+ oShape2 = toolkittools.addControlToDefaultForm("ComboBox", 1000, 3000, 3000, 1500)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 3000, 1500)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OComboBoxControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OComboBoxControl/script.xlb
new file mode 100644
index 000000000000..10d3c4651c86
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OComboBoxControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OComboBoxControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OComboBoxControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OComboBoxModel/forms_OComboBoxModel.xba b/qadevOOo/tests/basic/mod/forms/OComboBoxModel/forms_OComboBoxModel.xba
new file mode 100644
index 000000000000..973aa92f5e73
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OComboBoxModel/forms_OComboBoxModel.xba
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OComboBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+' for relation function checkCommit
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OComboBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCntrlShape As Object, oDrawPage As Object
+
+ bOK = true
+ ' --- create a document if needed
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oCntrlShape = toolkittools.addControlToDefaultForm("ComboBox", 1000, 1000, 2000, 1000)
+ oObj = oCntrlShape.getControl()
+ oCntrlShape = toolkittools.addControlToDefaultForm("ComboBox", 1000, 3000, 2000, 1000)
+ oComponentInstance = oCntrlShape.getControl()
+ oCntrlShape = toolkittools.addControlToDefaultForm("ComboBox", 1000, 5000, 2000, 1000)
+ oPersistInstance = oCntrlShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Author"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global sChangedText As String
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Out.Log("prepareCommit() called.")
+ sChangedText = "_" + oObj.Text
+ oObj.Text = sChangedText
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowText As Variant
+
+ rowText = oForm.getString(oForm.findColumn("Author"))
+ checkCommit() = (rowText = sChangedText)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.Text = "_" + oObj.Text
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OComboBoxModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OComboBoxModel/script.xlb
new file mode 100644
index 000000000000..8f59ecd5288a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OComboBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OComboBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OComboBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OCurrencyControl/forms_OCurrencyControl.xba b/qadevOOo/tests/basic/mod/forms/OCurrencyControl/forms_OCurrencyControl.xba
new file mode 100644
index 000000000000..c0594708a070
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCurrencyControl/forms_OCurrencyControl.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OCurrencyControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OCurrencyControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("CurrencyField", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("CurrencyField", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OCurrencyControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OCurrencyControl/script.xlb
new file mode 100644
index 000000000000..a06c264fc157
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCurrencyControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OCurrencyControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OCurrencyControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OCurrencyModel/forms_OCurrencyModel.xba b/qadevOOo/tests/basic/mod/forms/OCurrencyModel/forms_OCurrencyModel.xba
new file mode 100644
index 000000000000..e4c47dbcbcd2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCurrencyModel/forms_OCurrencyModel.xba
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OCurrencyModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OCurrencyModel
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+' --- create a document if needed
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("CurrencyField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("CurrencyField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("CurrencyField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Pages"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global aChangedValue As Double
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Out.Log("prepareCommit() called.")
+ if NOT (isNull(oObj.Value) OR isEmpty(oObj.Value)) then
+ aChangedValue = oObj.Value + 1
+ else
+ aChangedValue = 1
+ end if
+ oObj.Value = aChangedValue
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowValue As Variant
+
+ rowValue = oForm.getDouble(oForm.findColumn("Pages"))
+ Out.Log("Value was set to " + aChangedValue )
+ Out.Log("the value in current row is " + rowValue)
+ checkCommit() = (rowValue = aChangedValue)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.Value = oObj.Value + 1
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OCurrencyModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OCurrencyModel/script.xlb
new file mode 100644
index 000000000000..2ad36c4a5a60
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OCurrencyModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OCurrencyModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OCurrencyModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/ODatabaseForm/forms_ODatabaseForm.xba b/qadevOOo/tests/basic/mod/forms/ODatabaseForm/forms_ODatabaseForm.xba
new file mode 100644
index 000000000000..c1f2102b06f5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ODatabaseForm/forms_ODatabaseForm.xba
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_ODatabaseForm" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XPersistObject
+ Global oPersistInstance As Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+ ' Requiered for com.sun.star.container.XNameContainer
+ Global oInstance As Object 'instance to insert
+
+ ' Required for com.sun.star.sdbc.XResultSet
+ Global cXResultSetFirstRecord as String
+ Global cXResultSetLastRecord as String
+ Global cXResultSetRecord1 as String
+ Global cXResultSetRecord2 as String
+ Global cXResultSet2BeforeLastRecord as String
+
+' Required for com.sun.star.sdbc.XColumnLocate:
+ Global cExistantColumnName As String
+
+ ' Requiered for com.sun.star.container.XNameReplace
+ Global cNameToReplace As String 'name of instance to be replased
+ Global oReplaceInstance As Object 'instance, that will be inserted
+ 'instead old one
+
+ Global oIdxReplaceInstance As Object
+
+' Required for com.sun.star.sdbc.XParameters
+ Global paramTypes as Variant
+
+' Required for com.sun.star.sdbc.XRow and com.sun.star.sdbc.XRowUpdate
+ Global rowTypes as Variant
+ Global rowTypesCol as Variant
+
+' Required for com.sun.star.sdbc.XResultSetUpdate
+ Global textColumn As String
+
+' Required for com.sun.star.awt.XTabControllerModel
+ Global XTabControlModel1 As Object
+ Global XTabControlModel2 As Object
+
+ Global oConnection As Object
+
+' Required for com.sun.star.container.XContainer
+ Global oElementToInsert As Object
+ Global oContainer As Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.ODatabaseForm
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oRowSet As Object, facc As Object, dbSource As Object
+ Dim srcFile As String, dstFile As String, dbSrcURL As String
+ Dim oDrawPage As Object, oForms As Object, oForm As Object
+ Dim oShape1 As Object, oShape2 As Object
+
+ bOK = true
+
+ ' Copying DB file to temp location
+ srcFile = utils.Path2URL(cTestDocsDir) + "TestDB/testDB.dbf"
+ dstFile = utils.getTempFileURL("TestDB.dbf")
+ dbSrcURL = "sdbc:dbase:" + utils.StrReplace(dstFile, "/testDB.dbf", "")
+
+ Out.Log("Copying file '" + srcFile + "' to '" + dstFile + "'")
+ facc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ if (facc.exists(dstFile)) then facc.kill(dstFile)
+ facc.copy(srcFile, dstFile)
+
+ dbtools.RegisterDataSource("DBTest", dbSrcURL)
+
+ ' Creating a form
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("ComboBox", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("TextField", 1000, 1000, 2000, 1000)
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForms = oDrawPage.getForms()
+
+ oForm = oForms.getByName("Standard")
+
+ oForms.insertByName("Instance1", oDoc.createInstance("com.sun.star.form.component.Form"))
+ oForms.insertByName("Instance2", oDoc.createInstance("com.sun.star.form.component.Form"))
+
+ oObj = oForm
+
+ 'connect to a database
+ oForm.DataSourceName = "DBTest"
+ oForm.Command = "TestDB"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+ oForm.Load()
+
+ oConnection = oForm.ActiveConnection
+ Dim list as Object
+' list = createUnoListener("C_", "com.sun.star.lang.XEventListener")
+' oConnection.addEventListener(list)
+
+ 'for XComponent
+ Out.Log("" + oForms.hasByName("Instance1") + "," + oForms.hasByName("Instance2"))
+ oComponentInstance = oForms.getByName("Instance1")
+ oPersistInstance = oForms.getByName("Instance2")
+
+ 'for XNameContainer, XIndexContainer
+ oInstance = oDoc.createInstance("com.sun.star.form.component.ComboBox")
+
+ 'for XContainer
+ oElementToInsert = oDoc.createInstance("com.sun.star.form.component.ComboBox")
+
+ 'for XNameReplace
+ oReplaceInstance = oDoc.createInstance("com.sun.star.form.component.ComboBox")
+ oObj.insertByName(cObjectName + "Replace", oDoc.createInstance("com.sun.star.form.component.ComboBox"))
+ cNameToReplace = cObjectName + "Replace"
+
+ 'for XIndexReplace
+ oIdxReplaceInstance = oDoc.createInstance("com.sun.star.form.component.ComboBox")
+
+ cExistantColumnName = "_TEXT"
+ cXResultSetFirstRecord = "text1"
+ cXResultSetLastRecord = "text3"
+ cXResultSetRecord1 = "text1"
+ cXResultSetRecord2 = "text2"
+ cXResultSet2BeforeLastRecord = "text2"
+
+ ' for XParameters
+ paramTypes = DimArray()
+' paramTypes = Array("boolean", "byte", "short", "int", "long", "float", "double", "string", _
+' "bytes", "date", "time", "timestamp", "binarystream", "characterstream", "object", "objectwithinfo", _
+' "ref", "blob", "clob", "array")
+
+ ' for XRow and XRowUpdate
+ rowTypes = Array("string", "int", "long", "double", "float", "date", "datetm", "boolean")
+ rowTypesCol = Array(1, 2, 3, 4, 5, 6, 7, 9)
+' rowTypes = Array("boolean", "byte", "short", "int", "long", "float", "double", "string", _
+' "bytes", "date", "time", "timestamp", "binarystream", "characterstream", "object", "objectwithinfo", _
+' "ref", "blob", "clob", "array")
+
+' Required for com.sun.star.sdbc.XResultSetUpdate
+ textColumn = "_TEXT"
+
+' Required for com.sun.star.awt.XTabControllerModel
+ XTabControlModel1 = oShape1.getControl()
+ XTabControlModel2 = oShape2.getControl()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+On Error Goto ErrHndl
+'msgbox "Disposing ODatabaseForm"
+ Out.Log("Closing DB connection ...")
+ oConnection.close()
+
+ Out.Log("Revoking 'DBTest' datasource ...")
+ dbtools.RevokeDB("DBTest")
+'msgbox "ODatabaseForm disposed."
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub C_disposing()
+ Out.Log("!!! Connection disposed !!!")
+' oConnection.close()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/ODatabaseForm/script.xlb b/qadevOOo/tests/basic/mod/forms/ODatabaseForm/script.xlb
new file mode 100644
index 000000000000..558bb6821d40
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ODatabaseForm/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_ODatabaseForm" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_ODatabaseForm"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/ODateControl/forms_ODateControl.xba b/qadevOOo/tests/basic/mod/forms/ODateControl/forms_ODateControl.xba
new file mode 100644
index 000000000000..0a72fa971137
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ODateControl/forms_ODateControl.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_ODateControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.ODateControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("DateField", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("DateField", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/ODateControl/script.xlb b/qadevOOo/tests/basic/mod/forms/ODateControl/script.xlb
new file mode 100644
index 000000000000..39760a22b6dc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ODateControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_ODateControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_ODateControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/ODateModel/forms_ODateModel.xba b/qadevOOo/tests/basic/mod/forms/ODateModel/forms_ODateModel.xba
new file mode 100644
index 000000000000..c038d6f2bef9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ODateModel/forms_ODateModel.xba
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_ODateModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.ODateModel
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+ ' --- create a document if needed
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("DateField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("DateField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("DateField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Custom1"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global aChangedValue As Variant
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Dim dat As New com.sun.star.util.Date
+
+ Out.Log("prepareCommit() called.")
+ if NOT (isNull(oObj.Date) OR isEmpty(oObj.Date)) then
+ aChangedValue = oObj.Date + 1
+ else
+ aChangedValue = 1
+ end if
+ oObj.Date = aChangedValue
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowValue As Variant
+
+ oForm.updateRow()
+ oForm.reload()
+ rowValue = oObj.Date
+ Out.Log("Value was set to " + aChangedValue )
+ Out.Log("the value in current row is " + rowValue)
+ checkCommit() = (rowValue = aChangedValue)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.Date = oObj.Date + 1
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/ODateModel/script.xlb b/qadevOOo/tests/basic/mod/forms/ODateModel/script.xlb
new file mode 100644
index 000000000000..52fb8db2a879
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ODateModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_ODateModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_ODateModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OEditControl/forms_OEditControl.xba b/qadevOOo/tests/basic/mod/forms/OEditControl/forms_OEditControl.xba
new file mode 100644
index 000000000000..30881b177270
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OEditControl/forms_OEditControl.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OEditControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OEditControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("TextField", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("TextField", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OEditControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OEditControl/script.xlb
new file mode 100644
index 000000000000..764079c52396
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OEditControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OEditControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OEditControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OEditModel/forms_OEditModel.xba b/qadevOOo/tests/basic/mod/forms/OEditModel/forms_OEditModel.xba
new file mode 100644
index 000000000000..d1aaab2517a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OEditModel/forms_OEditModel.xba
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OEditModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OEditModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("TextField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TextField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Author"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global sChangedText As String
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Out.Log("prepareCommit() called.")
+ sChangedText = "_" + oObj.Text
+ oObj.Text = sChangedText
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowText As Variant
+
+ rowText = oForm.getString(oForm.findColumn("Author"))
+ checkCommit() = (rowText = sChangedText)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.Text = "_" + oObj.Text
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OEditModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OEditModel/script.xlb
new file mode 100644
index 000000000000..96715b5ae2e1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OEditModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OEditModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OEditModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OFileControlModel/forms_OFileControlModel.xba b/qadevOOo/tests/basic/mod/forms/OFileControlModel/forms_OFileControlModel.xba
new file mode 100644
index 000000000000..50ddc2c0e558
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFileControlModel/forms_OFileControlModel.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OFileControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OFileControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("FileControl", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("FileControl", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("FileControl", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OFileControlModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OFileControlModel/script.xlb
new file mode 100644
index 000000000000..79c36ddf2a22
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFileControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OFileControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OFileControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OFixedTextModel/forms_OFixedTextModel.xba b/qadevOOo/tests/basic/mod/forms/OFixedTextModel/forms_OFixedTextModel.xba
new file mode 100644
index 000000000000..1f4d518652e5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFixedTextModel/forms_OFixedTextModel.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OFixedTextModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OFixedTextModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("FixedText", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("FixedText", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("FixedText", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OFixedTextModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OFixedTextModel/script.xlb
new file mode 100644
index 000000000000..2181f2d0a32b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFixedTextModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OFixedTextModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OFixedTextModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OFormattedControl/forms_OFormattedControl.xba b/qadevOOo/tests/basic/mod/forms/OFormattedControl/forms_OFormattedControl.xba
new file mode 100644
index 000000000000..31ec92e4cc10
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFormattedControl/forms_OFormattedControl.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OFormattedControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OFormattedControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("FormattedField", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("FormattedField", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OFormattedControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OFormattedControl/script.xlb
new file mode 100644
index 000000000000..f77a899327c0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFormattedControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OFormattedControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OFormattedControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/forms_OFormattedFieldWrapper.xba b/qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/forms_OFormattedFieldWrapper.xba
new file mode 100644
index 000000000000..d76b0bdbfe00
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/forms_OFormattedFieldWrapper.xba
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OFormattedFieldWrapper" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.io.XPersistObject
+ Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OFormattedFieldWrapper
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("DatabaseFormattedField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("DatabaseFormattedField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("DatabaseFormattedField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Custom2"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+ ' Switching to non-design mode
+ switchDesignMode(oDoc)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub switchDesignMode(xDoc as Object)
+On Error Goto ErrHndl
+
+ Dim frame as Variant, disp as Variant, transf as Object
+ Dim URL as new com.sun.star.util.URL
+ Dim noProps()
+ Dim res as Boolean
+
+ frame = xDoc.getCurrentController().getFrame()
+ URL.Complete = ".uno:SwitchControlDesignMode"
+ transf = createUnoService("com.sun.star.util.URLTransformer")
+ res = transf.parseStrict(URL)
+
+ out.log("URL parsed :" + res)
+
+ disp = frame.queryDispatch(URL, "", com.sun.star.frame.FrameSearchFlag.SELF _
+ OR com.sun.star.frame.FrameSearchFlag.CHILDREN)
+
+ out.log("disp get.")
+
+ disp.dispatch(URL, noProps())
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global sChangedText As String
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Out.Log("prepareCommit() called.")
+
+ if isNull(oObj.EffectiveValue) OR isEmpty(oObj.EffectiveValue) then
+ oObj.EffectiveValue = "12"
+ endif
+ sChangedText = "9" + oObj.EffectiveValue
+
+ Out.Log("Text was: '" + oObj.EffectiveValue + "', set to '" + sChangedText + "'")
+
+ oObj.EffectiveValue = sChangedText
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowText As Variant
+
+ rowText = oForm.getString(oForm.findColumn("Custom2"))
+
+ Out.Log("Result test: '" + rowText + "'")
+ checkCommit() = (rowText = sChangedText)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.EffectiveValue = "_" + oObj.EffectiveValue
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/script.xlb b/qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/script.xlb
new file mode 100644
index 000000000000..3ec914585ae1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFormattedFieldWrapper/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OFormattedFieldWrapper" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OFormattedFieldWrapper"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OFormsCollection/forms_OFormsCollection.xba b/qadevOOo/tests/basic/mod/forms/OFormsCollection/forms_OFormsCollection.xba
new file mode 100644
index 000000000000..4ecc02ce80cf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFormsCollection/forms_OFormsCollection.xba
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OFormsCollection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.container.XNameContainer:
+Global oInstance As Object
+
+' Required for com.sun.star.container.XNameReplace:
+Global cNameToReplace As String
+Global oReplaceInstance As Object
+
+' Required for com.sun.star.container.XIndexReplace
+Global oIdxReplaceInstance As Object
+
+' Required for com.sun.star.io.XPersistObject
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OFormsCollection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oDrawPage As Object, oForms As Object, oForm As Object
+
+ bOK = true
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oDrawPage = oDoc.DrawPage
+ oForms = oDrawPage.Forms
+
+ oForm = oDoc.createInstance("com.sun.star.form.component.Form")
+ oForm.Name = "first form"
+ oForms.insertByIndex(0, oForm)
+
+ oForm = oDoc.createInstance("com.sun.star.form.component.Form")
+ oForm.Name = "second form"
+ oForms.insertByIndex(1, oForm)
+
+ oInstance = oDoc.createInstance("com.sun.star.form.component.Form")
+ oInstance.Name = "instance form"
+
+ oReplaceInstance = oDoc.createInstance("com.sun.star.form.component.Form")
+ oReplaceInstance.Name = "replace form"
+
+ oIdxReplaceInstance = oDoc.createInstance("com.sun.star.form.component.Form")
+ oIdxReplaceInstance.Name = "index replace form"
+
+ cNameToReplace = "second form"
+
+ oObj = oForms
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OFormsCollection/script.xlb b/qadevOOo/tests/basic/mod/forms/OFormsCollection/script.xlb
new file mode 100644
index 000000000000..d2d253b60998
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OFormsCollection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OFormsCollection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OFormsCollection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OGridControlModel/forms_OGridControlModel.xba b/qadevOOo/tests/basic/mod/forms/OGridControlModel/forms_OGridControlModel.xba
new file mode 100644
index 000000000000..2631dd931902
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OGridControlModel/forms_OGridControlModel.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OGridControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for XPersistObject
+Global oPersistInstance As Object
+
+' Required for XComponent
+Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.container.XNameContainer
+ Global oInstance As Object 'instance to insert
+
+' Requiered for com.sun.star.view.XSelectionSupplier
+ Global SelectableObj1 As Variant
+ Global SelectableObj2 As Variant
+
+' Requiered for com.sun.star.container.XNameReplace
+ Global cNameToReplace As String 'name of instance to be replased
+ Global oReplaceInstance As Object 'instance, that will be inserted
+ 'instead old one
+
+' Requiered for com.sun.star.container.XIndexReplace
+ Global oIdxReplaceInstance As Object
+
+' Requiered for XContainer
+ Global oElementToInsert As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OGridControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean, i As Integer
+ Dim oShape As Object, oGridColumn As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("GridControl", 1000, 1000, 3000, 3000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("GridControl", 1000, 5000, 500, 500)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("GridControl", 1000, 9000, 500, 500)
+ oPersistInstance = oShape.getControl()
+
+ 'insert Columns into Grid
+ for i = 0 to 10
+ oGridColumn = oObj.createColumn("TextField")
+ oGridColumn.Label = "Label" + Str(i)
+ oGridColumn.DataField = "Data" + Str(i)
+ oObj.insertByName("Field" + i , oGridColumn)
+
+ next i
+
+ SelectableObj1 = oObj.getByName("Field" + 7)
+ SelectableObj2 = oObj.getByName("Field" + 5)
+
+ 'for XNameContainer
+ oInstance = oObj.createColumn("TextField")
+ oInstance.Label = "LabelInstance"
+ oInstance.DataField = "DataInstance"
+
+ oElementToInsert = oObj.createColumn("TextField")
+ oElementToInsert.Label = "LabelInstance"
+ oElementToInsert.DataField = "DataInstance"
+
+ 'for XNameReplace
+ cNameToReplace = "Field2"
+ oReplaceInstance = oObj.createColumn("TextField")
+ oReplaceInstance.Label = "LabelReplace"
+ oReplaceInstance.DataField = "LabelReplace"
+
+ 'for XIndexReplace
+ oIdxReplaceInstance = oObj.createColumn("TextField")
+ oIdxReplaceInstance.Label = "LabelIndexReplace"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OGridControlModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OGridControlModel/script.xlb
new file mode 100644
index 000000000000..c525093365aa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OGridControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OGridControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OGridControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OGroupBoxControl/forms_OGroupBoxControl.xba b/qadevOOo/tests/basic/mod/forms/OGroupBoxControl/forms_OGroupBoxControl.xba
new file mode 100644
index 000000000000..39ab1062b729
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OGroupBoxControl/forms_OGroupBoxControl.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OGroupBoxControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OGroupBoxControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("GroupBox", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("GroupBox", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OGroupBoxControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OGroupBoxControl/script.xlb
new file mode 100644
index 000000000000..35becbb255d5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OGroupBoxControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OGroupBoxControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OGroupBoxControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OGroupBoxModel/forms_OGroupBoxModel.xba b/qadevOOo/tests/basic/mod/forms/OGroupBoxModel/forms_OGroupBoxModel.xba
new file mode 100644
index 000000000000..101d322ab147
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OGroupBoxModel/forms_OGroupBoxModel.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OGroupBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OGroupBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oShape = toolkittools.addControlToDefaultForm("GroupBox", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("GroupBox", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("GroupBox", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OGroupBoxModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OGroupBoxModel/script.xlb
new file mode 100644
index 000000000000..e2797e9989d0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OGroupBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OGroupBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OGroupBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OHiddenModel/forms_OHiddenModel.xba b/qadevOOo/tests/basic/mod/forms/OHiddenModel/forms_OHiddenModel.xba
new file mode 100644
index 000000000000..809c8eef80aa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OHiddenModel/forms_OHiddenModel.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OHiddenModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OHiddenModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oDrawPage As Object, oForm As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ addHiddenControl()
+ addHiddenControl()
+ addHiddenControl()
+ addHiddenControl()
+ addHiddenControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByIndex(0)
+ 'for xComponent
+ oComponentInstance = oForm.getByIndex(1)
+ oPersistInstance = oForm.getByIndex(2)
+
+ oObj = oForm.getByIndex(oForm.count - 1)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub addHiddenControl()
+ Dim oDrawPage as Object
+ Dim oForm as Object, oForms as Object
+ Dim oControl as Object, oControlShape as Object
+
+ oDrawPage = oDoc.DrawPage
+ oControlShape = oDoc.createInstance("com.sun.star.drawing.ControlShape")
+ oControl = oDoc.createInstance("com.sun.star.form.component.HiddenControl")
+ oForm = oDoc.createInstance("com.sun.star.form.component.Form")
+ oforms = oDrawPage.Forms
+ if oForms.count = 0 then
+ oForm.Name = "Form1"
+ oForms.insertbyindex(0,oForm)
+ endif
+ oForm = oForms.getByIndex(0)
+ oForm.insertByIndex(oForm.count,oControl)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OHiddenModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OHiddenModel/script.xlb
new file mode 100644
index 000000000000..84d3638e9666
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OHiddenModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OHiddenModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OHiddenModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageButtonControl/forms_OImageButtonControl.xba b/qadevOOo/tests/basic/mod/forms/OImageButtonControl/forms_OImageButtonControl.xba
new file mode 100644
index 000000000000..6eb28793b0da
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageButtonControl/forms_OImageButtonControl.xba
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OImageButtonControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OImageButtonControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("ImageButton", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("ImageButton", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageButtonControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OImageButtonControl/script.xlb
new file mode 100644
index 000000000000..c528e95c2999
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageButtonControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OImageButtonControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OImageButtonControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageButtonModel/forms_OImageButtonModel.xba b/qadevOOo/tests/basic/mod/forms/OImageButtonModel/forms_OImageButtonModel.xba
new file mode 100644
index 000000000000..5a5592638500
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageButtonModel/forms_OImageButtonModel.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OImageButtonModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OImageButtonModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("ImageButton", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("ImageButton", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("ImageButton", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageButtonModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OImageButtonModel/script.xlb
new file mode 100644
index 000000000000..52b34ca1effc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageButtonModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OImageButtonModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OImageButtonModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageControlControl/forms_OImageControlControl.xba b/qadevOOo/tests/basic/mod/forms/OImageControlControl/forms_OImageControlControl.xba
new file mode 100644
index 000000000000..6280f3c8f471
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageControlControl/forms_OImageControlControl.xba
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OImageControlControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OImageControlControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.createControlShapeWithDefaultControl("DatabaseImageControl")
+ oShape2 = toolkittools.createControlShapeWithDefaultControl("DatabaseImageControl")
+ oShape3 = toolkittools.createControlShapeWithDefaultControl("TextField")
+ toolkittools.addShape(oShape1)
+ toolkittools.addShape(oShape2)
+ toolkittools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageControlControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OImageControlControl/script.xlb
new file mode 100644
index 000000000000..5aaa204440bd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageControlControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OImageControlControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OImageControlControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageControlModel/forms_OImageControlModel.xba b/qadevOOo/tests/basic/mod/forms/OImageControlModel/forms_OImageControlModel.xba
new file mode 100644
index 000000000000..0f4d43f38c3d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageControlModel/forms_OImageControlModel.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OImageControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OImageControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("DatabaseImageControl", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("DatabaseImageControl", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("DatabaseImageControl", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OImageControlModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OImageControlModel/script.xlb
new file mode 100644
index 000000000000..7c723d3c110d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OImageControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OImageControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OImageControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OListBoxControl/forms_OListBoxControl.xba b/qadevOOo/tests/basic/mod/forms/OListBoxControl/forms_OListBoxControl.xba
new file mode 100644
index 000000000000..e5b2c3456baa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OListBoxControl/forms_OListBoxControl.xba
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OListBoxControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+' Required for awt.XItemListener
+ Global bIL_itemStateChanged As Boolean
+ Global oEventItemListener As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OListBoxControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oIListener As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("ListBox", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("ListBox", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 1000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+ oIListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
+ oObj.addItemListener(oIListener)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub IL_itemStateChanged(rEvent As Object)
+ bIL_itemStateChanged = True
+ Out.Log("CallBack for ItemListener itemStateChanged was called.")
+ oEventItemListener = rEvent
+End Sub
+
+Sub IL_disposing
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OListBoxControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OListBoxControl/script.xlb
new file mode 100644
index 000000000000..04dc4fa3b92e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OListBoxControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OListBoxControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OListBoxControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OListBoxModel/forms_OListBoxModel.xba b/qadevOOo/tests/basic/mod/forms/OListBoxModel/forms_OListBoxModel.xba
new file mode 100644
index 000000000000..769466b6758b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OListBoxModel/forms_OListBoxModel.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OListBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+Global aList(1) As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OListBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aSelection(0 to 0) As Variant
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("ListBox", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("ListBox", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("ListBox", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'for UnoControlListBoxModel::SelectedItems
+ aList(0) = "Hello"
+ aList(1) = "World"
+ aSelection(0) = 1
+ oObj.DefaultSelection = aSelection()
+ oObj.ListSource = aList()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Author"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global sChangedText As String
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Dim items As Variant
+ Dim item As Variant
+
+ Out.Log("prepareCommit() called.")
+ items = oObj.SelectedItems
+ if ubound(items()) &lt; 0 then
+ item = 0
+ else
+ if items(0) = 0 then item = 1 else item = 0
+ endif
+
+ sChangedText = aList(item)
+ oObj.SelectedItems = Array(item)
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowText As Variant
+
+ rowText = oForm.getString(oForm.findColumn("Author"))
+ checkCommit() = (rowText = sChangedText)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ Out.Log("UpdateComponent() called.")
+
+ Dim items As Variant
+ Dim item As Variant
+ items = oObj.SelectedItems
+ if ubound(items()) &lt; 0 then
+ item = 0
+ else
+ if items(0) = 0 then item = 1 else item = 0
+ endif
+ oObj.SelectedItems = Array(item)
+
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OListBoxModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OListBoxModel/script.xlb
new file mode 100644
index 000000000000..0c9c727d99e7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OListBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OListBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OListBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/ONumericControl/forms_ONumericControl.xba b/qadevOOo/tests/basic/mod/forms/ONumericControl/forms_ONumericControl.xba
new file mode 100644
index 000000000000..949c1b52187b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ONumericControl/forms_ONumericControl.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_ONumericControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.ONumericControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("NumericField", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("NumericField", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/ONumericControl/script.xlb b/qadevOOo/tests/basic/mod/forms/ONumericControl/script.xlb
new file mode 100644
index 000000000000..4dae412199e0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ONumericControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_ONumericControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_ONumericControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/ONumericModel/forms_ONumericModel.xba b/qadevOOo/tests/basic/mod/forms/ONumericModel/forms_ONumericModel.xba
new file mode 100644
index 000000000000..117ba7bd2b7e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ONumericModel/forms_ONumericModel.xba
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_ONumericModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.ONumericModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("NumericField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("NumericField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Pages"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global nChangedVal As Variant
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Out.Log("prepareCommit() called.")
+ nChangedVal = oObj.Value + 1
+ oObj.Value = nChangedVal
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowVal As Variant
+
+ rowVal = oForm.getInt(oForm.findColumn("Pages"))
+ checkCommit() = (rowVal = nChangedVal)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.Value = oObj.Value + 1
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/ONumericModel/script.xlb b/qadevOOo/tests/basic/mod/forms/ONumericModel/script.xlb
new file mode 100644
index 000000000000..d44de2b54e64
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ONumericModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_ONumericModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_ONumericModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OPatternControl/forms_OPatternControl.xba b/qadevOOo/tests/basic/mod/forms/OPatternControl/forms_OPatternControl.xba
new file mode 100644
index 000000000000..65c1cc774822
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OPatternControl/forms_OPatternControl.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OPatternControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OPatternControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("PatternField", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("PatternField", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape2.getControl())
+ oCtrlShape = oShape1
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OPatternControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OPatternControl/script.xlb
new file mode 100644
index 000000000000..1d7fd0303f27
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OPatternControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OPatternControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OPatternControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OPatternModel/forms_OPatternModel.xba b/qadevOOo/tests/basic/mod/forms/OPatternModel/forms_OPatternModel.xba
new file mode 100644
index 000000000000..65ef760eed29
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OPatternModel/forms_OPatternModel.xba
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OPatternModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OPatternModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("PatternField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("PatternField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Author"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global sChangedText As String
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Out.Log("prepareCommit() called.")
+ sChangedText = "_" + oObj.Text
+ oObj.Text = sChangedText
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowText As Variant
+
+ rowText = oForm.getString(oForm.findColumn("Author"))
+ checkCommit() = (rowText = sChangedText)
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.Text = "_" + oObj.Text
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OPatternModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OPatternModel/script.xlb
new file mode 100644
index 000000000000..c8b4f8d4b089
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OPatternModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OPatternModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OPatternModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/ORadioButtonControl/forms_ORadioButtonControl.xba b/qadevOOo/tests/basic/mod/forms/ORadioButtonControl/forms_ORadioButtonControl.xba
new file mode 100644
index 000000000000..d614220e637d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ORadioButtonControl/forms_ORadioButtonControl.xba
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_ORadioButtonControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.ORadioButtonControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("RadioButton", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("RadioButton", 1000, 3000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape2.getControl())
+ oCtrlShape = oShape1
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/ORadioButtonControl/script.xlb b/qadevOOo/tests/basic/mod/forms/ORadioButtonControl/script.xlb
new file mode 100644
index 000000000000..0c79cbf8481c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ORadioButtonControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_ORadioButtonControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_ORadioButtonControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/ORadioButtonModel/forms_ORadioButtonModel.xba b/qadevOOo/tests/basic/mod/forms/ORadioButtonModel/forms_ORadioButtonModel.xba
new file mode 100644
index 000000000000..64379f607c50
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ORadioButtonModel/forms_ORadioButtonModel.xba
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_ORadioButtonModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.ORadioButtonModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("RadioButton", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("RadioButton", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("RadioButton", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ oForm.DataSourceName = "Bibliography"
+ oForm.Command = "biblio"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "Custom3"
+
+ oForm.load()
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global aChangedVal As String
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+ Out.Log("prepareCommit() called.")
+ aChangedVal = 1 - oObj.State
+ oObj.State = aChangedVal
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowVal As Variant
+
+ rowVal = oForm.getBoolean(oForm.findColumn("Custom3"))
+ if rowVal = true then
+ checkCommit() = (aChangedVal = 1)
+ else
+ checkCommit() = (aChangedVal = 0)
+ end if
+
+ exit function
+ErrHndl:
+ Test.Exception()
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ oObj.State = 1 - oObj.State
+ oObj.commit()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/ORadioButtonModel/script.xlb b/qadevOOo/tests/basic/mod/forms/ORadioButtonModel/script.xlb
new file mode 100644
index 000000000000..a364a4442441
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/ORadioButtonModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_ORadioButtonModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_ORadioButtonModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OTimeControl/forms_OTimeControl.xba b/qadevOOo/tests/basic/mod/forms/OTimeControl/forms_OTimeControl.xba
new file mode 100644
index 000000000000..d960cf290bc0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OTimeControl/forms_OTimeControl.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OTimeControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics as Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OTimeControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = toolkittools.addControlToDefaultForm("TimeField", 1000, 1000, 2000, 1000)
+ oShape2 = toolkittools.addControlToDefaultForm("TimeField", 1000, 1000, 2000, 1000)
+ oShape3 = toolkittools.addControlToDefaultForm("TextField", 1000, 1000, 2000, 1000)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oCurrCtrl.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oCurrCtrl.getControl(oShape3.getControl())
+ oCtrlShape = oShape1
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OTimeControl/script.xlb b/qadevOOo/tests/basic/mod/forms/OTimeControl/script.xlb
new file mode 100644
index 000000000000..5ffb92c7d3e5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OTimeControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OTimeControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OTimeControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba b/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba
new file mode 100644
index 000000000000..003dd7d1f30f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OTimeModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+Global oConnection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OTimeModel
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+ ' --- create a document if needed
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ Dim oRowSet As Object, facc As Object, dbSource As Object
+ Dim srcFile As String, dstFile As String, dbSrcURL As String
+
+ ' Copying DB file to temp location
+ srcFile = utils.Path2URL(cTestDocsDir) + "TestDB/testDB.dbf"
+ dstFile = utils.getTempFileURL("OTimeModelDB.dbf")
+ dbSrcURL = "sdbc:dbase:" + utils.StrReplace(dstFile, "/OTimeModelDB.dbf", "")
+
+ facc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ if (facc.exists(dstFile)) then facc.kill(dstFile)
+ facc.copy(srcFile, dstFile)
+
+ dbtools.RegisterDataSource("DBTest", dbSrcURL)
+
+ oForm.DataSourceName = "DBTest"
+ oForm.Command = "OTimeModelDB"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "_DOUBLE"
+
+ oForm.load()
+
+ oConnection = oForm.ActiveConnection
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global aChangedValue As Variant
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+
+ Out.Log("prepareCommit() called.")
+ if NOT (isNull(oObj.Time) OR isEmpty(oObj.Time)) then
+ Out.Log("The old value was: " + oObj.Time)
+ aChangedValue = oObj.Time + 150000 ' adding 15 minutes
+ else
+ aChangedValue = 150000 ' setting to 0:15
+ end if
+ oObj.Time = aChangedValue
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowValue As Variant
+
+ oForm.updateRow()
+ oForm.reload()
+ rowValue = oObj.Time
+ Out.Log("Value was set to " + aChangedValue )
+ Out.Log("the value in current row is " + rowValue)
+ checkCommit() = abs(rowValue - aChangedValue) &lt; 100
+
+ exit function
+ErrHndl:
+ Test.Exception()
+ checkCommit() = false
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ Out.Log("UpdateComponent() called.")
+ if NOT (isNull(oObj.Time) OR isEmpty(oObj.Time)) then
+ oObj.Time = oObj.Time + 150000
+ else
+ oObj.Time = 150000
+ end if
+ oObj.commit()
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+On Error Goto ErrHndl
+ Out.Log("Closing DB connection ...")
+ oConnection.close()
+
+ Out.Log("Revoking 'DBTest' datasource ...")
+ dbtools.RevokeDB("DBTest")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/forms/OTimeModel/script.xlb b/qadevOOo/tests/basic/mod/forms/OTimeModel/script.xlb
new file mode 100644
index 000000000000..bff6755c7966
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OTimeModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="forms_OTimeModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="forms_OTimeModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fps/FilePicker/fps_FilePicker.xba b/qadevOOo/tests/basic/mod/fps/FilePicker/fps_FilePicker.xba
new file mode 100644
index 000000000000..bb80f58a4b2d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fps/FilePicker/fps_FilePicker.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fps_FilePicker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' variable for XInitialization
+Global aInitArgs As Variant
+
+' variable for XFilePickerControlAccess
+Global controlId As Variant
+Global controlInitVal As Variant
+
+'variable for XComponent
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fps.FilePicker
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.ui.dialogs.FilePicker")
+
+' setting variable for XInitialization
+ aInitArgs = Array(com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE)
+
+' setting variable for XFilePickerControlAccess
+ controlId = com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_LINK
+ controlInitVal = true
+
+ oObj.initialize(aInitArgs)
+ 'oObj.setValue(com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_READONLY, 0, false)
+
+' setting variable for XComponent
+ oComponentInstance = createUnoService("com.sun.star.ui.dialogs.FilePicker")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fps/FilePicker/script.xlb b/qadevOOo/tests/basic/mod/fps/FilePicker/script.xlb
new file mode 100644
index 000000000000..fa0a9ddc26f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fps/FilePicker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fps_FilePicker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fps_FilePicker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/ftransl_DataFormatTranslator.xba b/qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/ftransl_DataFormatTranslator.xba
new file mode 100644
index 000000000000..9f00c440b26b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/ftransl_DataFormatTranslator.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ftransl_DataFormatTranslator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ftransl.DataFormatTranslator
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.datatransfer.DataFormatTranslator")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/script.xlb b/qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/script.xlb
new file mode 100644
index 000000000000..bf5657a4d179
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ftransl/DataFormatTranslator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ftransl_DataFormatTranslator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ftransl_DataFormatTranslator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwk/Desktop/fwk_Desktop.xba b/qadevOOo/tests/basic/mod/fwk/Desktop/fwk_Desktop.xba
new file mode 100644
index 000000000000..388bdd03d1d0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/Desktop/fwk_Desktop.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwk_Desktop" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for frame.XDispatchProvider
+Global dispatchUrl As String
+
+' Required for lang.XComponent
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwk.Desktop
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.framework.Desktop")
+
+ dispatchUrl = ".uno:Open"
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwk/Desktop/script.xlb b/qadevOOo/tests/basic/mod/fwk/Desktop/script.xlb
new file mode 100644
index 000000000000..e2589c5e447f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/Desktop/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwk_Desktop" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwk_Desktop"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwk/DispatchRecorder/fwk_DispatchRecorder.xba b/qadevOOo/tests/basic/mod/fwk/DispatchRecorder/fwk_DispatchRecorder.xba
new file mode 100644
index 000000000000..5c7c6db078ec
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/DispatchRecorder/fwk_DispatchRecorder.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwk_DispatchRecorder" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for frame.XDispatchRecorder
+Global dispRecFrame As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwk.DispatchRecorder
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ wait(1000)
+ Dim frame As Object
+ frame = createUnoService("com.sun.star.frame.Desktop").getCurrentFrame()
+ Dim dispRecSup As Object
+ dispRecSup = frame.getPropertyValue("DispatchRecorderSupplier")
+ if (isNull(dispRecSup)) then
+ dispRecSup = createUnoService("com.sun.star.comp.framework.DispatchRecorderSupplier")
+ end if
+
+ oObj = dispRecSup.getDispatchRecorder()
+
+ if (isNull(oObj)) then
+ oObj = createUnoService("com.sun.star.comp.framework.DispatchRecorder")
+ dispRecSup.setDispatchRecorder(oObj)
+ end if
+
+ dispRecFrame = frame
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwk/DispatchRecorder/script.xlb b/qadevOOo/tests/basic/mod/fwk/DispatchRecorder/script.xlb
new file mode 100644
index 000000000000..7139de0f6773
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/DispatchRecorder/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwk_DispatchRecorder" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwk_DispatchRecorder"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/fwk_DispatchRecorderSupplier.xba b/qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/fwk_DispatchRecorderSupplier.xba
new file mode 100644
index 000000000000..d33203ea01d4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/fwk_DispatchRecorderSupplier.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwk_DispatchRecorderSupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwk.DispatchRecorderSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.comp.framework.DispatchRecorderSupplier")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/script.xlb b/qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/script.xlb
new file mode 100644
index 000000000000..fdcaffe4c80f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/DispatchRecorderSupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwk_DispatchRecorderSupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwk_DispatchRecorderSupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwk/DocumentProperties/fwk_DocumentProperties.xba b/qadevOOo/tests/basic/mod/fwk/DocumentProperties/fwk_DocumentProperties.xba
new file mode 100644
index 000000000000..a5736e5c8f51
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/DocumentProperties/fwk_DocumentProperties.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwk_DocumentProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for lang.XComponent
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwk.DocumentProperties
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = createDocument("swriter", cObjectName)
+ oObj = oDoc.DocumentInfo
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwk/DocumentProperties/script.xlb b/qadevOOo/tests/basic/mod/fwk/DocumentProperties/script.xlb
new file mode 100644
index 000000000000..78ea70b266be
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/DocumentProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwk_DocumentProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwk_DocumentProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwk/Frame/fwk_Frame.xba b/qadevOOo/tests/basic/mod/fwk/Frame/fwk_Frame.xba
new file mode 100644
index 000000000000..87fb7b4b8d50
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/Frame/fwk_Frame.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwk_Frame" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for frame.XDispatchProvider
+Global dispatchUrl As String
+
+'Required for lang.XComponent
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwk.Frame
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = createDocument("swriter", cObjectName)
+ oObj = oDoc.getCurrentController().getFrame()
+ dispatchUrl = ".uno:SwitchControlDesignMode"
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwk/Frame/script.xlb b/qadevOOo/tests/basic/mod/fwk/Frame/script.xlb
new file mode 100644
index 000000000000..d7113b845558
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/Frame/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwk_Frame" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwk_Frame"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwk/JobHandler/fwk_JobHandler.xba b/qadevOOo/tests/basic/mod/fwk/JobHandler/fwk_JobHandler.xba
new file mode 100644
index 000000000000..99b09c289a0b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/JobHandler/fwk_JobHandler.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwk_JobHandler" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for frame.XDispatchProvider
+Global dispatchUrl As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwk.JobHandler
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.comp.framework.JobHandler")
+ dispatchUrl = "vnd.sun.star.job:event=onMyEvent,alias=AddressBookSourcePilot,service=css.Service"
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwk/JobHandler/script.xlb b/qadevOOo/tests/basic/mod/fwk/JobHandler/script.xlb
new file mode 100644
index 000000000000..f1ec1b0141c9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwk/JobHandler/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwk_JobHandler" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwk_JobHandler"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwl/FilterFactory/fwl_FilterFactory.xba b/qadevOOo/tests/basic/mod/fwl/FilterFactory/fwl_FilterFactory.xba
new file mode 100644
index 000000000000..ff2632fb4e87
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/FilterFactory/fwl_FilterFactory.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwl_FilterFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for lang.XMultiServiceFactory
+Global cServiceName As String
+Global bCreateInstanceWithoutArguments As Boolean
+Global aArguments() As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwl.FilterFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.framework.FilterFactory")
+
+ Dim filterNames() As Variant
+ filterNames = oObj.getElementNames()
+
+ Dim i As Integer
+ Dim filterType As String
+ Dim filterProps As Object
+ Dim filterImpl As String
+ Dim filName As String
+ for i = 0 to ubound(filterNames)
+ filterProps = oObj.getByName(filterNames(i))
+ filterImpl = getPropertyValue(filterProps, "FilterService")
+ if Not isNULL(filterImpl) and len(filterImpl) > 0 then
+ filterType = getPropertyValue(filterProps, "Type")
+ Out.log("Found filter '" + filterNames(i) + "', type: " + _
+ filterType + ", service name: '" + filterImpl + "'")
+ cServiceName = filterType
+ bCreateInstanceWithoutArguments = false
+ Dim args(0) As new com.sun.star.beans.PropertyValue
+ args(0).Name = "FilterName"
+ args(0).Value = filterNames(i)
+ endif
+ next i
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getPropertyValue(byVal props As Variant, propName As String) As String
+ Dim i As Integer
+ for i = 0 to ubound(props)
+ if props(i).Name = propName then
+ getPropertyValue = props(i).Value
+ exit function
+ endif
+ next i
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwl/FilterFactory/script.xlb b/qadevOOo/tests/basic/mod/fwl/FilterFactory/script.xlb
new file mode 100644
index 000000000000..c217a3af39c3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/FilterFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwl_FilterFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwl_FilterFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/fwl_FrameLoaderFactory.xba b/qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/fwl_FrameLoaderFactory.xba
new file mode 100644
index 000000000000..4ad75cd75e54
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/fwl_FrameLoaderFactory.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwl_FrameLoaderFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for lang.XMultiServiceFactory
+Global cServiceName As String
+Global bCreateInstanceWithoutArguments As Boolean
+Global aArguments() As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwl.FrameLoaderFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.frame.FrameLoaderFactory")
+ Dim names As Variant
+ names = oObj.getElementNames()
+ bCreateInstanceWithoutArguments = true
+ cServiceName = names(0)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/script.xlb b/qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/script.xlb
new file mode 100644
index 000000000000..104c95ef3f4e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/FrameLoaderFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwl_FrameLoaderFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwl_FrameLoaderFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwl/PathSettings/fwl_PathSettings.xba b/qadevOOo/tests/basic/mod/fwl/PathSettings/fwl_PathSettings.xba
new file mode 100644
index 000000000000..fc72372c21e7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/PathSettings/fwl_PathSettings.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwl_PathSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwl.PathSettings
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.framework.PathSettings")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwl/PathSettings/script.xlb b/qadevOOo/tests/basic/mod/fwl/PathSettings/script.xlb
new file mode 100644
index 000000000000..b6a40766d988
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/PathSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwl_PathSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwl_PathSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/fwl/TypeDetection/fwl_TypeDetection.xba b/qadevOOo/tests/basic/mod/fwl/TypeDetection/fwl_TypeDetection.xba
new file mode 100644
index 000000000000..e8d3765fe108
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/TypeDetection/fwl_TypeDetection.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="fwl_TypeDetection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' fwl.TypeDetection
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.document.TypeDetection")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/fwl/TypeDetection/script.xlb b/qadevOOo/tests/basic/mod/fwl/TypeDetection/script.xlb
new file mode 100644
index 000000000000..c2278d2ce37a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/fwl/TypeDetection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="fwl_TypeDetection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="fwl_TypeDetection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/BreakIterator/i18n_BreakIterator.xba b/qadevOOo/tests/basic/mod/i18n/BreakIterator/i18n_BreakIterator.xba
new file mode 100644
index 000000000000..b312c8f0eb64
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/BreakIterator/i18n_BreakIterator.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_BreakIterator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.i18n.XBreakIterator:
+Global oLocale As Object
+Global UnicodeString As String
+Global ScriptType(2, 1) As Integer
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.BreakIterator
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim _Locale As new com.sun.star.lang.Locale
+ _Locale.Country = "US"
+ _Locale.Language = "en"
+ oLocale = _Locale
+
+ oDoc = utils.loadTestDocument("Iterator.sxw")
+ UnicodeString = oDoc.Text.String
+
+ ScriptType(0, 0) = 1 : ScriptType(0, 1) = com.sun.star.i18n.ScriptType.LATIN
+ ScriptType(1, 0) = 12 : ScriptType(1, 1) = com.sun.star.i18n.ScriptType.LATIN
+ ScriptType(2, 0) = 50 : ScriptType(2, 1) = com.sun.star.i18n.ScriptType.LATIN
+
+ oObj = createUnoService("com.sun.star.i18n.BreakIterator")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/BreakIterator/script.xlb b/qadevOOo/tests/basic/mod/i18n/BreakIterator/script.xlb
new file mode 100644
index 000000000000..33ec5c154b27
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/BreakIterator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_BreakIterator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_BreakIterator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/CalendarImpl/i18n_CalendarImpl.xba b/qadevOOo/tests/basic/mod/i18n/CalendarImpl/i18n_CalendarImpl.xba
new file mode 100644
index 000000000000..6cd29daedb96
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/CalendarImpl/i18n_CalendarImpl.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_CalendarImpl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.CalendarImpl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.i18n.LocaleCalendar")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/CalendarImpl/script.xlb b/qadevOOo/tests/basic/mod/i18n/CalendarImpl/script.xlb
new file mode 100644
index 000000000000..1b18e9675b43
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/CalendarImpl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_CalendarImpl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_CalendarImpl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/ChapterCollator/i18n_ChapterCollator.xba b/qadevOOo/tests/basic/mod/i18n/ChapterCollator/i18n_ChapterCollator.xba
new file mode 100644
index 000000000000..1116a9a08a2c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/ChapterCollator/i18n_ChapterCollator.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_ChapterCollator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.i18n.XCollator:
+ Global oLocal As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.ChapterCollator
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oLocaleData As Object
+ Dim allLocales As Object
+
+ bOK = true
+
+ oLocaleData = createUnoService("com.sun.star.i18n.LocaleData")
+ allLocales = oLocaleData.getAllInstalledLocaleNames()
+ Out.Log("Found " &amp; ubound(allLocales) &amp; " Locales registered in the system")
+ Randomize
+ oLocale = allLocales(rnd * ubound(allLocales))
+ Out.Log("Choose for testing : " &amp; oLocale.Country)
+
+ oObj = createUnoService("com.sun.star.i18n.ChapterCollator")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/ChapterCollator/script.xlb b/qadevOOo/tests/basic/mod/i18n/ChapterCollator/script.xlb
new file mode 100644
index 000000000000..506e3a58b291
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/ChapterCollator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_ChapterCollator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_ChapterCollator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/CharacterClassification/i18n_CharacterClassification.xba b/qadevOOo/tests/basic/mod/i18n/CharacterClassification/i18n_CharacterClassification.xba
new file mode 100644
index 000000000000..88a31605c2ff
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/CharacterClassification/i18n_CharacterClassification.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_CharacterClassification" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.CharacterClassification
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oObj = createUnoService("com.sun.star.i18n.CharacterClassification")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/CharacterClassification/script.xlb b/qadevOOo/tests/basic/mod/i18n/CharacterClassification/script.xlb
new file mode 100644
index 000000000000..2f1ed0d41f20
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/CharacterClassification/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_CharacterClassification" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_CharacterClassification"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/Collator/i18n_Collator.xba b/qadevOOo/tests/basic/mod/i18n/Collator/i18n_Collator.xba
new file mode 100644
index 000000000000..63510e3802a6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/Collator/i18n_Collator.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_Collator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.i18n.XCollator:
+ Global oLocal As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.Collator
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oLocaleData As Object
+ Dim allLocales As Object
+
+ bOK = true
+
+ oLocaleData = createUnoService("com.sun.star.i18n.LocaleData")
+ allLocales = oLocaleData.getAllInstalledLocaleNames()
+ Out.Log("Found " &amp; ubound(allLocales) &amp; " Loacales registered in the system")
+ Randomize
+ oLocale = allLocales(rnd * ubound(allLocales))
+ Out.Log("Choose for testing : " &amp; oLocale.Country)
+
+ oObj = createUnoService("com.sun.star.i18n.Collator")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/Collator/script.xlb b/qadevOOo/tests/basic/mod/i18n/Collator/script.xlb
new file mode 100644
index 000000000000..8bb3b3f5b951
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/Collator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_Collator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_Collator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/i18n_IndexEntrySupplier.xba b/qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/i18n_IndexEntrySupplier.xba
new file mode 100644
index 000000000000..f8d50fe85ee8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/i18n_IndexEntrySupplier.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_IndexEntrySupplier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.i18n.XIndexEntrySupplier:
+ Global oLocale As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.IndexEntrySupplier
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oLocaleData As Object
+ Dim allLocales As Variant
+
+ bOK = true
+
+ oObj = createUnoService("com.sun.star.i18n.IndexEntrySupplier")
+
+ oLocaleData = createUnoService("com.sun.star.i18n.LocaleData")
+ allLocales = oLocaleData.getAllInstalledLocaleNames()
+ Out.Log("Found " &amp; ubound(allLocales) &amp; " Loacales registered in the system")
+ Randomize
+ oLocale = allLocales(rnd * ubound(allLocales))
+ Out.Log("Choose for testing : " &amp; oLocale.Country)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/script.xlb b/qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/script.xlb
new file mode 100644
index 000000000000..91614bb9cc38
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/IndexEntrySupplier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_IndexEntrySupplier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_IndexEntrySupplier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/LocaleData/i18n_LocaleData.xba b/qadevOOo/tests/basic/mod/i18n/LocaleData/i18n_LocaleData.xba
new file mode 100644
index 000000000000..621f091a4c35
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/LocaleData/i18n_LocaleData.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_LocaleData" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.LocaleData
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oObj = createUnoService("com.sun.star.i18n.LocaleData")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/LocaleData/script.xlb b/qadevOOo/tests/basic/mod/i18n/LocaleData/script.xlb
new file mode 100644
index 000000000000..770adbff147c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/LocaleData/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_LocaleData" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_LocaleData"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/i18n_NumberFormatCodeMapper.xba b/qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/i18n_NumberFormatCodeMapper.xba
new file mode 100644
index 000000000000..724ec8bc4392
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/i18n_NumberFormatCodeMapper.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_NumberFormatCodeMapper" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.NumberFormatCodeMapper
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+
+ oObj = createUNOService("com.sun.star.i18n.NumberFormatCodeMapper")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/script.xlb b/qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/script.xlb
new file mode 100644
index 000000000000..8e45fd58ec26
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/NumberFormatCodeMapper/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_NumberFormatCodeMapper" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_NumberFormatCodeMapper"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/TextSearch/i18n_TextSearch.xba b/qadevOOo/tests/basic/mod/i18n/TextSearch/i18n_TextSearch.xba
new file mode 100644
index 000000000000..38f377430352
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/TextSearch/i18n_TextSearch.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_TextSearch" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.TextSearch
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oLocaleData As Object
+ Dim allLocales As Variant
+
+ bOK = true
+
+ oObj = createUnoService("com.sun.star.util.TextSearch")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/TextSearch/script.xlb b/qadevOOo/tests/basic/mod/i18n/TextSearch/script.xlb
new file mode 100644
index 000000000000..3b1681a015e4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/TextSearch/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_TextSearch" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_TextSearch"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/i18n/Transliteration/i18n_Transliteration.xba b/qadevOOo/tests/basic/mod/i18n/Transliteration/i18n_Transliteration.xba
new file mode 100644
index 000000000000..e956662887ba
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/Transliteration/i18n_Transliteration.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_Transliteration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.i18n.XTransliteration:
+ Global oLocale As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' i18n.Transliteration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oLocaleData As Object
+ Dim allLocales As Variant
+
+ bOK = true
+
+ oObj = createUnoService("com.sun.star.i18n.Transliteration")
+
+ oLocaleData = createUnoService("com.sun.star.i18n.LocaleData")
+ allLocales = oLocaleData.getAllInstalledLocaleNames()
+ Out.Log("Found " &amp; ubound(allLocales) &amp; " Loacales registered in the system")
+ Randomize
+ oLocale = allLocales(rnd * ubound(allLocales))
+ Out.Log("Choose for testing : " &amp; oLocale.Country)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/i18n/Transliteration/script.xlb b/qadevOOo/tests/basic/mod/i18n/Transliteration/script.xlb
new file mode 100644
index 000000000000..0eba236b2239
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/i18n/Transliteration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="i18n_Transliteration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="i18n_Transliteration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/implreg_uno_ImplementationRegistration.xba b/qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/implreg_uno_ImplementationRegistration.xba
new file mode 100644
index 000000000000..9b563413b4ac
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/implreg_uno_ImplementationRegistration.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="implreg_uno_ImplementationRegistration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' impreg.ImplementationRegistration
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.registry.ImplementationRegistration")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/script.xlb b/qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/script.xlb
new file mode 100644
index 000000000000..d784018576be
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/implreg.uno/ImplementationRegistration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="implreg_uno_ImplementationRegistration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="implreg_uno_ImplementationRegistration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/impreg_ImplementationRegistration.xba b/qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/impreg_ImplementationRegistration.xba
new file mode 100644
index 000000000000..85f0af96a2ec
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/impreg_ImplementationRegistration.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="impreg_ImplementationRegistration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' impreg.ImplementationRegistration
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.registry.ImplementationRegistration")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/script.xlb b/qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/script.xlb
new file mode 100644
index 000000000000..041877695463
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/impreg/ImplementationRegistration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="impreg_ImplementationRegistration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="impreg_ImplementationRegistration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/insp/Introspection/insp_Introspection.xba b/qadevOOo/tests/basic/mod/insp/Introspection/insp_Introspection.xba
new file mode 100644
index 000000000000..f638f5970e89
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/insp/Introspection/insp_Introspection.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="insp_Introspection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' insp.Introspection
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOservice("com.sun.star.beans.Introspection")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/insp/Introspection/script.xlb b/qadevOOo/tests/basic/mod/insp/Introspection/script.xlb
new file mode 100644
index 000000000000..b8e2293cb2ff
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/insp/Introspection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="insp_Introspection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="insp_Introspection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/introspection.uno/Introspection/introspection_uno_Introspection.xba b/qadevOOo/tests/basic/mod/introspection.uno/Introspection/introspection_uno_Introspection.xba
new file mode 100644
index 000000000000..828dc00fd3aa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/introspection.uno/Introspection/introspection_uno_Introspection.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="introspection_uno_Introspection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' insp.Introspection
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOservice("com.sun.star.beans.Introspection")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/introspection.uno/Introspection/script.xlb b/qadevOOo/tests/basic/mod/introspection.uno/Introspection/script.xlb
new file mode 100644
index 000000000000..4ab217cb167d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/introspection.uno/Introspection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="introspection_uno_Introspection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="introspection_uno_Introspection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/inv/Invocation/inv_Invocation.xba b/qadevOOo/tests/basic/mod/inv/Invocation/inv_Invocation.xba
new file mode 100644
index 000000000000..2c09dc234e10
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/inv/Invocation/inv_Invocation.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="inv_Invocation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for lang.XSingleServiceFactory
+Global aArguments As Variant
+' Array of arguments for createInstanceWithArguments()
+
+Global aMustSupportInterface As Variant
+' Array of Strings with names of interfaces which
+' must be supported by created instance.
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' inv.Invocation
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.comp.stoc.Invocation")
+
+ aArguments = Array(createUnoService("com.sun.star.io.Pipe"))
+ aMustSupportInterface = Array("com.sun.star.script.XInvocation")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/inv/Invocation/script.xlb b/qadevOOo/tests/basic/mod/inv/Invocation/script.xlb
new file mode 100644
index 000000000000..2e4c535b3d39
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/inv/Invocation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="inv_Invocation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="inv_Invocation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/invadp_InvocationAdapterFactory.xba b/qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/invadp_InvocationAdapterFactory.xba
new file mode 100644
index 000000000000..9c06686f88a5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/invadp_InvocationAdapterFactory.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="invadp_InvocationAdapterFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' invadp.InvocationAdapterFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.script.InvocationAdapterFactory")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/script.xlb b/qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/script.xlb
new file mode 100644
index 000000000000..63c430d94c45
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/invadp/InvocationAdapterFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="invadp_InvocationAdapterFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="invadp_InvocationAdapterFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/invocadapt_uno_InvocationAdapterFactory.xba b/qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/invocadapt_uno_InvocationAdapterFactory.xba
new file mode 100644
index 000000000000..d370b7fc71bd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/invocadapt_uno_InvocationAdapterFactory.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="invocadapt_uno_InvocationAdapterFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' invadp.InvocationAdapterFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.script.InvocationAdapterFactory")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/script.xlb b/qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/script.xlb
new file mode 100644
index 000000000000..19b4c1f42cd9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/invocadapt.uno/InvocationAdapterFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="invocadapt_uno_InvocationAdapterFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="invocadapt_uno_InvocationAdapterFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/invocation.uno/Invocation/invocation_uno_Invocation.xba b/qadevOOo/tests/basic/mod/invocation.uno/Invocation/invocation_uno_Invocation.xba
new file mode 100644
index 000000000000..4fa55415d165
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/invocation.uno/Invocation/invocation_uno_Invocation.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="invocation_uno_Invocation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for lang.XSingleServiceFactory
+Global aArguments As Variant
+' Array of arguments for createInstanceWithArguments()
+
+Global aMustSupportInterface As Variant
+' Array of Strings with names of interfaces which
+' must be supported by created instance.
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' inv.Invocation
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.comp.stoc.Invocation")
+
+ aArguments = Array(createUnoService("com.sun.star.io.Pipe"))
+ aMustSupportInterface = Array("com.sun.star.script.XInvocation")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/invocation.uno/Invocation/script.xlb b/qadevOOo/tests/basic/mod/invocation.uno/Invocation/script.xlb
new file mode 100644
index 000000000000..4f2e7692c27d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/invocation.uno/Invocation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="invocation_uno_Invocation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="invocation_uno_Invocation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/javaloader_uno_JavaComponentLoader.xba b/qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/javaloader_uno_JavaComponentLoader.xba
new file mode 100644
index 000000000000..c806734d4964
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/javaloader_uno_JavaComponentLoader.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="javaloader_uno_JavaComponentLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global cImpLoader As String
+Global cImpURL As String
+Global cImpName As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' javaloader.JavaComponentLoader
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.comp.stoc.JavaComponentLoader")
+
+ cImpLoader = "com.sun.star.loader.JavaComponentLoader"
+ cImpURL = Path2URL(cTestDocsDir + "qadevlibs/MyPersistObjectImpl.jar")
+ cImpName = "com.sun.star.cmp.MyPersistObject"
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/script.xlb b/qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/script.xlb
new file mode 100644
index 000000000000..e0b833c7e263
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/javaloader.uno/JavaComponentLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="javaloader_uno_JavaComponentLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="javaloader_uno_JavaComponentLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/javaloader_JavaComponentLoader.xba b/qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/javaloader_JavaComponentLoader.xba
new file mode 100644
index 000000000000..c14d2698ba7c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/javaloader_JavaComponentLoader.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="javaloader_JavaComponentLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global cImpLoader As String
+Global cImpURL As String
+Global cImpName As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' javaloader.JavaComponentLoader
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.comp.stoc.JavaComponentLoader")
+
+ cImpLoader = "com.sun.star.loader.JavaComponentLoader"
+ cImpURL = Path2URL(cTestDocsDir + "qadevlibs/MyPersistObjectImpl.jar")
+ cImpName = "com.sun.star.cmp.MyPersistObject"
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/script.xlb b/qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/script.xlb
new file mode 100644
index 000000000000..db572f55727b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/javaloader/JavaComponentLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="javaloader_JavaComponentLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="javaloader_JavaComponentLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/javavm_uno_JavaVirtualMachine.xba b/qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/javavm_uno_JavaVirtualMachine.xba
new file mode 100644
index 000000000000..2c0279d2ecc6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/javavm_uno_JavaVirtualMachine.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="javavm_uno_JavaVirtualMachine" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' To test this object we have to run JVM first
+
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' jen.JavaVirtualMachine
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.comp.stoc.JavaVirtualMachine")
+
+ if NOT oObj.isVMEnabled() then
+ Out.Log("JavaVirtualMaschine is NOT Enabled!!!")
+ Exit Sub
+ end if
+
+ if NOT oObj.isVMStarted() then
+ Out.Log("JVM not started. Try to start it first...")
+ createUNOService("com.sun.star.loader.Java2")
+ Out.Log("JVM was started - " &amp; oObj.isVMStarted())
+ end if
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/script.xlb b/qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/script.xlb
new file mode 100644
index 000000000000..48b0f6f52c5d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/javavm.uno/JavaVirtualMachine/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="javavm_uno_JavaVirtualMachine" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="javavm_uno_JavaVirtualMachine"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/jdbc/JDBCDriver/jdbc_JDBCDriver.xba b/qadevOOo/tests/basic/mod/jdbc/JDBCDriver/jdbc_JDBCDriver.xba
new file mode 100644
index 000000000000..d8a031ad9188
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/jdbc/JDBCDriver/jdbc_JDBCDriver.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="jdbc_JDBCDriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' jdbc.JDBCDriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbc.JDBCDriver")
+
+ URL = jdbcUrl
+
+ Dim inf(2) As new com.sun.star.beans.PropertyValue
+ inf(0).Name = "user" : inf(0).Value = jdbcUser
+ inf(1).Name = "password" : inf(1).Value = jdbcPassword
+ inf(2).Name = "JavaDriverClass" : inf(2).Value = "org.gjt.mm.mysql.Driver"
+
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/jdbc/JDBCDriver/script.xlb b/qadevOOo/tests/basic/mod/jdbc/JDBCDriver/script.xlb
new file mode 100644
index 000000000000..9a68866b71da
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/jdbc/JDBCDriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="jdbc_JDBCDriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="jdbc_JDBCDriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/jen_JavaVirtualMachine.xba b/qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/jen_JavaVirtualMachine.xba
new file mode 100644
index 000000000000..47bea5de3c8b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/jen_JavaVirtualMachine.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="jen_JavaVirtualMachine" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' To test this object we have to run JVM first
+
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' jen.JavaVirtualMachine
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.comp.stoc.JavaVirtualMachine")
+
+ if NOT oObj.isVMEnabled() then
+ Out.Log("JavaVirtualMaschine is NOT Enabled!!!")
+ Exit Sub
+ end if
+
+ if NOT oObj.isVMStarted() then
+ Out.Log("JVM not started. Try to start it first...")
+ createUNOService("com.sun.star.loader.Java2")
+ Out.Log("JVM was started - " &amp; oObj.isVMStarted())
+ end if
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/script.xlb b/qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/script.xlb
new file mode 100644
index 000000000000..ccc779c3c845
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/jen/JavaVirtualMachine/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="jen_JavaVirtualMachine" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="jen_JavaVirtualMachine"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/lng/DicList/lng_DicList.xba b/qadevOOo/tests/basic/mod/lng/DicList/lng_DicList.xba
new file mode 100644
index 000000000000..27aeace995b7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lng/DicList/lng_DicList.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lng_DicList" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' lng.DicList
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oDic As Object
+ Dim oDic2 As Object
+ Dim vLocale As New com.sun.star.lang.Locale
+
+ bOK = true
+
+ vLocale.Language = "en"
+ vLocale.Country = "US"
+ vLocale.Variant = "WIN"
+
+ ' Insert object creation code here...
+
+ oObj = createUnoService("com.sun.star.lingu2.DicList")
+
+ ' creating a user defined dictionary for XSearchableDictionaryList
+
+ oObj.removeDictionary(oObj.getDictionaryByName("MyDictionary"))
+ oDic = oObj.createDictionary("NegativDic",vLocale,_
+ com.sun.star.linguistic2.DictionaryType.NEGATIVE, "")
+ oDic2 = oObj.createDictionary("PositiveDic",vLocale,_
+ com.sun.star.linguistic2.DictionaryType.POSITIVE, "")
+ oDic2.add("Positive", false, "")
+ oDic.add("Negative", true, "")
+ oObj.addDictionary(oDic)
+ oObj.addDictionary(oDic2)
+ oDic.setActive(true)
+ oDic2.setActive(true)
+
+ oComponentInstance = oObj
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/lng/DicList/script.xlb b/qadevOOo/tests/basic/mod/lng/DicList/script.xlb
new file mode 100644
index 000000000000..78260ca2ac31
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lng/DicList/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lng_DicList" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lng_DicList"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/lng/LinguProps/lng_LinguProps.xba b/qadevOOo/tests/basic/mod/lng/LinguProps/lng_LinguProps.xba
new file mode 100644
index 000000000000..c7a6ae9a5d94
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lng/LinguProps/lng_LinguProps.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lng_LinguProps" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' lng.LinguProps
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.linguistic2.LinguProperties")
+ oComponentInstance = createUnoService("com.sun.star.linguistic2.LinguProperties")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/lng/LinguProps/script.xlb b/qadevOOo/tests/basic/mod/lng/LinguProps/script.xlb
new file mode 100644
index 000000000000..fd747fc2dde0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lng/LinguProps/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lng_LinguProps" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lng_LinguProps"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/lng/LngSvcMgr/lng_LngSvcMgr.xba b/qadevOOo/tests/basic/mod/lng/LngSvcMgr/lng_LngSvcMgr.xba
new file mode 100644
index 000000000000..70d406def0fc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lng/LngSvcMgr/lng_LngSvcMgr.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lng_LngSvcMgr" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' lng.LngSvcMgr
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.linguistic2.LinguServiceManager")
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/lng/LngSvcMgr/script.xlb b/qadevOOo/tests/basic/mod/lng/LngSvcMgr/script.xlb
new file mode 100644
index 000000000000..94a10ab5f22b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lng/LngSvcMgr/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lng_LngSvcMgr" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lng_LngSvcMgr"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/lnn/Hyphenator/lnn_Hyphenator.xba b/qadevOOo/tests/basic/mod/lnn/Hyphenator/lnn_Hyphenator.xba
new file mode 100644
index 000000000000..b6e6c0be7744
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lnn/Hyphenator/lnn_Hyphenator.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lnn_Hyphenator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' lnn.Hyphenator
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.linguistic2.Hyphenator")
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/lnn/Hyphenator/script.xlb b/qadevOOo/tests/basic/mod/lnn/Hyphenator/script.xlb
new file mode 100644
index 000000000000..ac0d1ff48be1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lnn/Hyphenator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lnn_Hyphenator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lnn_Hyphenator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/lnn/SpellChecker/lnn_SpellChecker.xba b/qadevOOo/tests/basic/mod/lnn/SpellChecker/lnn_SpellChecker.xba
new file mode 100644
index 000000000000..4afb7eb5a0b8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lnn/SpellChecker/lnn_SpellChecker.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lnn_SpellChecker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' lnn.SpellChecker
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.linguistic2.SpellChecker")
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/lnn/SpellChecker/script.xlb b/qadevOOo/tests/basic/mod/lnn/SpellChecker/script.xlb
new file mode 100644
index 000000000000..649d2228e69b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lnn/SpellChecker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lnn_SpellChecker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lnn_SpellChecker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/lnn/Thesaurus/lnn_Thesaurus.xba b/qadevOOo/tests/basic/mod/lnn/Thesaurus/lnn_Thesaurus.xba
new file mode 100644
index 000000000000..624d0a04a1d0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lnn/Thesaurus/lnn_Thesaurus.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lnn_Thesaurus" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' lnn.Thesaurus
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.linguistic2.Thesaurus")
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/lnn/Thesaurus/script.xlb b/qadevOOo/tests/basic/mod/lnn/Thesaurus/script.xlb
new file mode 100644
index 000000000000..73e702b69b8e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/lnn/Thesaurus/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="lnn_Thesaurus" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="lnn_Thesaurus"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/mcnttype_MimeContentTypeFactory.xba b/qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/mcnttype_MimeContentTypeFactory.xba
new file mode 100644
index 000000000000..596831c9b3bc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/mcnttype_MimeContentTypeFactory.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="mcnttype_MimeContentTypeFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' mcnttype.MimeContentTypeFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.datatransfer.MimeContentTypeFactory")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/script.xlb b/qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/script.xlb
new file mode 100644
index 000000000000..bdafdf64beb3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/mcnttype/MimeContentTypeFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="mcnttype_MimeContentTypeFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="mcnttype_MimeContentTypeFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/mozab/MozabDriver/mozab_MozabDriver.xba b/qadevOOo/tests/basic/mod/mozab/MozabDriver/mozab_MozabDriver.xba
new file mode 100644
index 000000000000..f15577a2b910
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/mozab/MozabDriver/mozab_MozabDriver.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="mozab_MozabDriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' mozab.MozabDriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbc.MozabDriver")
+
+ URL = mozabUrl
+
+ Dim inf(0) As new com.sun.star.beans.PropertyValue
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/mozab/MozabDriver/script.xlb b/qadevOOo/tests/basic/mod/mozab/MozabDriver/script.xlb
new file mode 100644
index 000000000000..d69d6176afdd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/mozab/MozabDriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="mozab_MozabDriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="mozab_MozabDriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/namingservice.uno/NamingService/namingservice_uno_NamingService.xba b/qadevOOo/tests/basic/mod/namingservice.uno/NamingService/namingservice_uno_NamingService.xba
new file mode 100644
index 000000000000..bcd63a1ae16d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/namingservice.uno/NamingService/namingservice_uno_NamingService.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="namingservice_uno_NamingService" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XNamingService
+ Global oObjectToRegister As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' namingservice.NamingService
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.uno.NamingService")
+ oObjectToRegister = createUNOService("com.sun.star.lang.ServiceManager")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/namingservice.uno/NamingService/script.xlb b/qadevOOo/tests/basic/mod/namingservice.uno/NamingService/script.xlb
new file mode 100644
index 000000000000..58b5bd8cb372
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/namingservice.uno/NamingService/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="namingservice_uno_NamingService" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="namingservice_uno_NamingService"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/namingservice/NamingService/namingservice_NamingService.xba b/qadevOOo/tests/basic/mod/namingservice/NamingService/namingservice_NamingService.xba
new file mode 100644
index 000000000000..9ff3065b86eb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/namingservice/NamingService/namingservice_NamingService.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="namingservice_NamingService" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XNamingService
+ Global oObjectToRegister As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' namingservice.NamingService
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.uno.NamingService")
+ oObjectToRegister = createUNOService("com.sun.star.lang.ServiceManager")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/namingservice/NamingService/script.xlb b/qadevOOo/tests/basic/mod/namingservice/NamingService/script.xlb
new file mode 100644
index 000000000000..502c319672a2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/namingservice/NamingService/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="namingservice_NamingService" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="namingservice_NamingService"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/nestedreg_uno_NestedRegistry.xba b/qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/nestedreg_uno_NestedRegistry.xba
new file mode 100644
index 000000000000..8ad17d7dfe0c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/nestedreg_uno_NestedRegistry.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="nestedreg_uno_NestedRegistry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XInitialization
+Global aInitArgs As Variant
+
+Global oReg1 As Object
+Global oReg2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' defreg.NestedRegistry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim cURL1 As String
+ Dim cURL2 As String
+
+ oObj = createUnoService("com.sun.star.registry.NestedRegistry")
+
+ oReg1 = createUnoService("com.sun.star.registry.SimpleRegistry")
+ oReg2 = createUnoService("com.sun.star.registry.SimpleRegistry")
+ cURL1 = utils.getTempFileURL("BAS_forNestedRegistry1.rdb")
+ cURL2 = utils.getTempFileURL("BAS_forNestedRegistry2.rdb")
+
+ if FileExists(cURL1) then
+ kill(cURL1)
+ end if
+
+ if FileExists(cURL2) then
+ kill(cURL2)
+ end if
+
+ oReg1.open(cURL1, true, true)
+ oReg2.open(cURL2, false, true)
+
+ Dim aArgs(1) As Object
+ aArgs(0) = oReg1
+ aArgs(1) = oReg2
+
+ aInitArgs = aArgs()
+
+ oObj.initialize(aInitArgs())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oReg1.close()
+ oReg2.close()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/script.xlb b/qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/script.xlb
new file mode 100644
index 000000000000..0364e36368b5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/nestedreg.uno/NestedRegistry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="nestedreg_uno_NestedRegistry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="nestedreg_uno_NestedRegistry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/odbc/ODBCDriver/odbc_ODBCDriver.xba b/qadevOOo/tests/basic/mod/odbc/ODBCDriver/odbc_ODBCDriver.xba
new file mode 100644
index 000000000000..0641b2e47246
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/odbc/ODBCDriver/odbc_ODBCDriver.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="odbc_ODBCDriver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for sdbc.XDriver
+Global URL as String
+Global info As Variant
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' odbc.ODBCDriver
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sdbc.ODBCDriver")
+
+ URL = odbcUrl
+
+ Dim inf(0) As new com.sun.star.beans.PropertyValue
+ info = inf()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/odbc/ODBCDriver/script.xlb b/qadevOOo/tests/basic/mod/odbc/ODBCDriver/script.xlb
new file mode 100644
index 000000000000..079fa0e2e137
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/odbc/ODBCDriver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="odbc_ODBCDriver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="odbc_ODBCDriver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_ProxyFactory.xba b/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_ProxyFactory.xba
new file mode 100644
index 000000000000..504d2f79ed59
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_ProxyFactory.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="proxyfac_ProxyFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' proxyfac.ProxyFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.reflection.ProxyFactory")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_uno_ProxyFactory.xba b/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_uno_ProxyFactory.xba
new file mode 100644
index 000000000000..c5b82d26730b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/proxyfac_uno_ProxyFactory.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="proxyfac_uno_ProxyFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' proxyfac.ProxyFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.reflection.ProxyFactory")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/script.xlb b/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/script.xlb
new file mode 100644
index 000000000000..9347b77b091a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyfac.uno/ProxyFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="proxyfac_uno_ProxyFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="proxyfac_uno_ProxyFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/proxyfac_ProxyFactory.xba b/qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/proxyfac_ProxyFactory.xba
new file mode 100644
index 000000000000..504d2f79ed59
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/proxyfac_ProxyFactory.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="proxyfac_ProxyFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' proxyfac.ProxyFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.reflection.ProxyFactory")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/script.xlb b/qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/script.xlb
new file mode 100644
index 000000000000..6409722182a9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyfac/ProxyFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="proxyfac_ProxyFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="proxyfac_ProxyFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/proxyset_SOffice52ProxySettings.xba b/qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/proxyset_SOffice52ProxySettings.xba
new file mode 100644
index 000000000000..93c228c9e5e0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/proxyset_SOffice52ProxySettings.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="proxyset_SOffice52ProxySettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' proxyset.SOffice52ProxySettings
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.system.SOffice52ProxySettings")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/script.xlb b/qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/script.xlb
new file mode 100644
index 000000000000..dcea633df74f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyset/SOffice52ProxySettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="proxyset_SOffice52ProxySettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="proxyset_SOffice52ProxySettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/proxyset_SystemProxySettings.xba b/qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/proxyset_SystemProxySettings.xba
new file mode 100644
index 000000000000..3a0c9c414bda
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/proxyset_SystemProxySettings.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="proxyset_SystemProxySettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' proxyset.SystemProxySettings
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.system.SystemProxySettings")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/script.xlb b/qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/script.xlb
new file mode 100644
index 000000000000..1d816d0e69d0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/proxyset/SystemProxySettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="proxyset_SystemProxySettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="proxyset_SystemProxySettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/rdbtdp_RegistryTypeDescriptionProvider.xba b/qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/rdbtdp_RegistryTypeDescriptionProvider.xba
new file mode 100644
index 000000000000..046e71f73d02
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/rdbtdp_RegistryTypeDescriptionProvider.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="rdbtdp_RegistryTypeDescriptionProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' rdbtdp.RegistryTypeDescriptionProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim smgr As Object, context As Object, tdmgr As Object
+ Dim tdmgrEnum As Object
+
+ oObj = createUNOService("com.sun.star.comp.stoc.ORegistryServiceManager")
+
+ context = oObj.getPropertyValue("DefaultContext")
+ tdmgr = context.getValueByName("/singletons/com.sun.star.reflection.theTypeDescriptionManager")
+
+ tdmgrEnum = tdmgr.createEnumeration()
+
+ oObj = tdmgrEnum.nextElement()
+
+ oComponentInstance = tdmgrEnum.nextElement()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/script.xlb b/qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/script.xlb
new file mode 100644
index 000000000000..f6b31b98c4f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/rdbtdp/RegistryTypeDescriptionProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="rdbtdp_RegistryTypeDescriptionProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="rdbtdp_RegistryTypeDescriptionProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/regtypeprov_uno_RegistryTypeDescriptionProvider.xba b/qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/regtypeprov_uno_RegistryTypeDescriptionProvider.xba
new file mode 100644
index 000000000000..391e49f5d03c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/regtypeprov_uno_RegistryTypeDescriptionProvider.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="regtypeprov_uno_RegistryTypeDescriptionProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' rdbtdp.RegistryTypeDescriptionProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim smgr As Object, context As Object, tdmgr As Object
+ Dim tdmgrEnum As Object
+
+ oObj = createUNOService("com.sun.star.comp.stoc.ORegistryServiceManager")
+
+ context = oObj.getPropertyValue("DefaultContext")
+ tdmgr = context.getValueByName("/singletons/com.sun.star.reflection.theTypeDescriptionManager")
+
+ tdmgrEnum = tdmgr.createEnumeration()
+
+ oObj = tdmgrEnum.nextElement()
+
+ oComponentInstance = tdmgrEnum.nextElement()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/script.xlb b/qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/script.xlb
new file mode 100644
index 000000000000..00a836dff3e7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/regtypeprov.uno/RegistryTypeDescriptionProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="regtypeprov_uno_RegistryTypeDescriptionProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="regtypeprov_uno_RegistryTypeDescriptionProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/remotebridge.uno/various/remotebridge_uno_various.xba b/qadevOOo/tests/basic/mod/remotebridge.uno/various/remotebridge_uno_various.xba
new file mode 100644
index 000000000000..8533660ce26a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/remotebridge.uno/various/remotebridge_uno_various.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="remotebridge_uno_various" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs(3) As Variant
+ Global aNoInit()
+
+' Required for com.sun.star.bridge.XBridge:
+ Global sBridgeName As String
+ Global sConnectionString As String
+
+Dim xConnection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' remotebridge.various
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim protocol As String
+ Dim iPos1 As Integer
+ Dim iPos2 As Integer
+
+ oObj = createUNOService("com.sun.star.bridge.Bridge")
+ oComponentInstance = createUNOService("com.sun.star.bridge.Bridge")
+
+ sBridgeName = "remotebridge"
+ protocol = "urp"
+ xConnection = createUNOService("com.sun.star.connection.Connector")
+
+ iPos1 = inStr(CNCSTR, "socket")
+ iPos2 = inStr(iPos1, CNCSTR, ";")
+ sConnectionString = mid(CNCSTR, iPos1, iPos2 - iPos1)
+ Out.Log("Creating connection with parameters: " + sConnectionString)
+ xConnection = xConnection.Connect(sConnectionString)
+
+ aInitArgs(0) = sBridgeName
+ aInitArgs(1) = protocol
+ aInitArgs(2) = xConnection
+ aInitArgs(3) = ""
+
+ oObj.initialize(aInitArgs())
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ Out.Log("Disposing object...")
+ utils.closeObject(oObj)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/remotebridge.uno/various/script.xlb b/qadevOOo/tests/basic/mod/remotebridge.uno/various/script.xlb
new file mode 100644
index 000000000000..06f251ba787f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/remotebridge.uno/various/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="remotebridge_uno_various" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="remotebridge_uno_various"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/remotebridge/various/remotebridge_various.xba b/qadevOOo/tests/basic/mod/remotebridge/various/remotebridge_various.xba
new file mode 100644
index 000000000000..97871221fc93
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/remotebridge/various/remotebridge_various.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="remotebridge_various" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs(3) As Variant
+ Global aNoInit()
+
+' Required for com.sun.star.bridge.XBridge:
+ Global sBridgeName As String
+ Global sConnectionString As String
+
+Dim xConnection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' remotebridge.various
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim protocol As String
+ Dim iPos1 As Integer
+ Dim iPos2 As Integer
+
+ oObj = createUNOService("com.sun.star.bridge.Bridge")
+ oComponentInstance = createUNOService("com.sun.star.bridge.Bridge")
+
+ sBridgeName = "remotebridge"
+ protocol = "urp"
+ xConnection = createUNOService("com.sun.star.connection.Connector")
+
+ iPos1 = inStr(CNCSTR, "socket")
+ iPos2 = inStr(iPos1, CNCSTR, ";")
+ sConnectionString = mid(CNCSTR, iPos1, iPos2 - iPos1)
+ Out.Log("Creating connection with parameters: " + sConnectionString)
+ xConnection = xConnection.Connect(sConnectionString)
+
+ aInitArgs(0) = sBridgeName
+ aInitArgs(1) = protocol
+ aInitArgs(2) = xConnection
+ aInitArgs(3) = ""
+
+ oObj.initialize(aInitArgs())
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ Out.Log("Disposing object...")
+ if (NOT isNULL(xConnection)) then
+ xConnection.close()
+ end if
+ oObj.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/remotebridge/various/script.xlb b/qadevOOo/tests/basic/mod/remotebridge/various/script.xlb
new file mode 100644
index 000000000000..bcea53bcdf0b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/remotebridge/various/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="remotebridge_various" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="remotebridge_various"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/sc_AccessibleEditableTextPara_HeaderFooter.xba b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/sc_AccessibleEditableTextPara_HeaderFooter.xba
new file mode 100644
index 000000000000..e2cdce0cb2b5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/sc_AccessibleEditableTextPara_HeaderFooter.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_AccessibleEditableTextPara_HeaderFooter" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' "com::sun::star::accessibility::XAccessibleEditableText#optional"
+ ' needs the following Global variables:
+global hasChangeableAttrs as boolean
+
+' "com::sun::star::accessibility::XAccessibleSelection#optional"
+ ' needs the following Global variables:
+' Global multiSelection As Boolean
+
+' "com::sun::star::accessibility::XAccessibleText"
+ ' needs the following Global variables:
+global accText as String
+Global readOnly as Boolean
+
+Global accButton as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' com.sun.star.sc.AccessibleEditableTextPara_HeaderFooter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ thRunner.initialize(Array("OpenToolkitDialog",".uno:EditHeaderAndFooter",oDoc))
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+' utils.at_printAccessibleTree(xRoot)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PARAGRAPH,"Paragraph 0")
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Cancel")
+ accText = "My AccessibleEditableTextPara_HeaderFooter text"
+ oObj.setText(accText)
+ readOnly = false
+
+ hasChangeableAttrs = false
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim myText as String
+ myText = oObj.getText()
+ oObj.setText(myText + "dummy")
+ wait(1000)
+ oObj.setText(myText)
+ wait(1000)
+ accButton.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/script.xlb b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/script.xlb
new file mode 100644
index 000000000000..3b36862130f2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_HeaderFooter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_AccessibleEditableTextPara_HeaderFooter" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="sc_AccessibleEditableTextPara_HeaderFooter"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/sc_AccessibleEditableTextPara_PreviewCell.xba b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/sc_AccessibleEditableTextPara_PreviewCell.xba
new file mode 100644
index 000000000000..c844bc7a607d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/sc_AccessibleEditableTextPara_PreviewCell.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_AccessibleEditableTextPara_PreviewCell" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' "com::sun::star::accessibility::XAccessibleEventBroadcaster"
+ ' needs the following Global variables:
+
+' "com::sun::star::accessibility::XAccessibleEditableText#optional"
+ ' needs the following Global variables:
+ ' global hasChangeableAttrs as boolean
+
+' "com::sun::star::accessibility::XAccessibleSelection#optional"
+ ' needs the following Global variables:
+ ' Global multiSelection As Boolean
+
+' "com::sun::star::accessibility::XAccessibleText"
+ ' needs the following Global variables:
+Global accText as String
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' com.sun.star.sc.AccessibleEditableTextPara_PreviewCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, xCell As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, oWin As Object
+ Dim noProps()
+
+ accText = "ScAccessibleEditableTextPara_PreviewCell"
+ oDoc = utils.createDocument("scalc",cObjectName)
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(0,0)
+ xCell.setFormula(accText)
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ ' get the first cell
+ xRoot = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TABLE_CELL,"Cell A1")
+ ' the the Paragraph
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PARAGRAPH,"Paragraph 0")
+ utils.at_printAccessibleTree(xRoot)
+ readOnly = true
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ Exit Sub
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+Sub fireEvent()
+ Dim dispatcher as Object
+ dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
+
+ rem ----------------------------------------------------------------------
+ dispatcher.executeDispatch(oDoc.CurrentController.Frame, ".uno:ZoomIn", "", 0, Array())
+ wait(500)
+ rem ----------------------------------------------------------------------
+ dispatcher.executeDispatch(oDoc.CurrentController.Frame, ".uno:ZoomOut", "", 0, Array())
+end Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/script.xlb b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/script.xlb
new file mode 100644
index 000000000000..8c7e38f9c97c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/AccessibleEditableTextPara_PreviewCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_AccessibleEditableTextPara_PreviewCell" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="sc_AccessibleEditableTextPara_PreviewCell"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCell/sc_ScAccessibleCell.xba b/qadevOOo/tests/basic/mod/sc/ScAccessibleCell/sc_ScAccessibleCell.xba
new file mode 100644
index 000000000000..ea0312ef25e3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCell/sc_ScAccessibleCell.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessibleCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global accText As String
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessibleCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object
+ Dim xRoot As Object, xCell As Object
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ accText = "Testing object sc.ScAccessibleCell"
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(1,0)
+ xCell.setFormula(accText)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TABLE_CELL,"B1")
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCell/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessibleCell/script.xlb
new file mode 100644
index 000000000000..bcaaedb7e755
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessibleCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessibleCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/sc_ScAccessibleCsvCell.xba b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/sc_ScAccessibleCsvCell.xba
new file mode 100644
index 000000000000..200bd87b790a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/sc_ScAccessibleCsvCell.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessibleCsvCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global accButton As Object
+Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessibleCsvCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object, oParent As Object
+
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ thRunner.initialize(Array("OpenDialogFromFile","10test.csv"))
+ wait(3000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oParent = utils.at_getAccessibleObjectForRole(xRoot,_
+ com.sun.star.accessibility.AccessibleRole.TABLE)
+ oObj = oParent.getAccessibleChild(3).getAccessibleContext()
+ Out.Log("Child: "+oObj.getAccessibleName())
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accButton = utils.at_getAccessibleObjectForRole(xRoot,_
+ com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Cancel")
+ accText = oObj.getText()
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/script.xlb
new file mode 100644
index 000000000000..a60430d23b5c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessibleCsvCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessibleCsvCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/sc_ScAccessibleCsvGrid.xba b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/sc_ScAccessibleCsvGrid.xba
new file mode 100644
index 000000000000..66dc29ca3dd2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/sc_ScAccessibleCsvGrid.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessibleCsvGrid" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global multiSelection As Boolean
+Global accButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessibleCsvGrid
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object
+
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ thRunner.initialize(Array("OpenDialogFromFile","10test.csv"))
+ wait(3000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TABLE)
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Cancel")
+ multiSelection = false
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/script.xlb
new file mode 100644
index 000000000000..c01906dc9cf7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvGrid/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessibleCsvGrid" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessibleCsvGrid"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/sc_ScAccessibleCsvRuler.xba b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/sc_ScAccessibleCsvRuler.xba
new file mode 100644
index 000000000000..4e3ad1e21c18
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/sc_ScAccessibleCsvRuler.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessibleCsvRuler" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accButton As Object
+Global accText As String
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessibleCsvRuler
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object, accRB As Object
+
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ thRunner.initialize(Array("OpenDialogFromFile","10test.csv"))
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot,_
+ com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Cancel")
+ accRB = utils.at_getAccessibleObjectForRole(xRoot,_
+ com.sun.star.accessibility.AccessibleRole.RADIO_BUTTON,"Fixed")
+ accRB.doAccessibleAction(0)
+ wait(1000)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot,_
+ com.sun.star.accessibility.AccessibleRole.TEXT,"Ruler")
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accText = oObj.getText()
+ Out.Log("Text: "+accText)
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/script.xlb
new file mode 100644
index 000000000000..976e91250eb7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleCsvRuler/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessibleCsvRuler" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessibleCsvRuler"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/sc_ScAccessibleDocument.xba b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/sc_ScAccessibleDocument.xba
new file mode 100644
index 000000000000..743c8ea54c77
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/sc_ScAccessibleDocument.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessibleDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oWin As Object
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessibleDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT)
+ multiSelection = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oWin.setFocus()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/script.xlb
new file mode 100644
index 000000000000..2ac95235aea5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessibleDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessibleDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/sc_ScAccessibleDocumentPagePreview.xba b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/sc_ScAccessibleDocumentPagePreview.xba
new file mode 100644
index 000000000000..782145294bfa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/sc_ScAccessibleDocumentPagePreview.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessibleDocumentPagePreview" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global win As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessibleDocumentPagePreview
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, xCell As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, oWin As Object
+ Dim noProps()
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ xCell = oDoc.getSheets().getByIndex(1).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessibleDocumentPagePreview - Page 2")
+ xCell = oDoc.getSheets().getByIndex(2).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessibleDocumentPagePreview - Page 3")
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessibleDocumentPagePreview - Page 1")
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT)
+ win = oDoc.getCurrentController().getFrame().getComponentWindow()
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim oRect As New com.sun.star.awt.Rectangle
+ oRect = win.getPosSize()
+ win.setPosSize(oRect.X,oRect.Y,oRect.Height-1,oRect.Width-1,15)
+ win.setPosSize(oRect.X,oRect.Y,oRect.Height,oRect.Width,15)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/script.xlb
new file mode 100644
index 000000000000..05863e0ea819
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleDocumentPagePreview/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessibleDocumentPagePreview" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessibleDocumentPagePreview"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/sc_ScAccessiblePageHeader.xba b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/sc_ScAccessiblePageHeader.xba
new file mode 100644
index 000000000000..44b3b4c29039
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/sc_ScAccessiblePageHeader.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessiblePageHeader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cLeft As Object
+Global cRight As Object
+Global cCenter As Object
+Global oStyle As Object
+Global RPHC2 As Object
+Global textIndex As Integer
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessiblePageHeader
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, xCell As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, oWin As Object
+ Dim noProps()
+ Dim RPHC As Variant
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessiblePageHeader")
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.HEADER)
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ Exit Sub
+ End If
+ oStyle = oDoc.getStyleFamilies().getByName("PageStyles").getByName("Default")
+ RPHC = oStyle.getPropertyValue("RightPageHeaderContent")
+ RPHC2 = RPHC
+ cLeft = RPHC2.getLeftText()
+ cRight = RPHC2.getRightText()
+ cCenter = RPHC2.getCenterText()
+ textIndex = 0
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ cLeft.setString("LEFT"+textIndex)
+ cRight.setString("RIGHT"+textIndex)
+ cCenter.setString("CENTER"+textIndex)
+ oStyle.setPropertyValue("RightPageHeaderContent",RPHC2)
+ textIndex = textIndex + 1
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/script.xlb
new file mode 100644
index 000000000000..a89b24f86daa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessiblePageHeader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessiblePageHeader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/sc_ScAccessiblePageHeaderArea.xba b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/sc_ScAccessiblePageHeaderArea.xba
new file mode 100644
index 000000000000..71479b48e379
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/sc_ScAccessiblePageHeaderArea.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessiblePageHeaderArea" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessiblePageHeaderArea
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xCell As Object, xController As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, oWin As Object
+ Dim noProps()
+ Dim stateSet As Object
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessiblePageHeaderArea")
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.HEADER).getAccessibleChild(0)
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ Exit Sub
+ End If
+
+ stateSet = oObj.getAccessibleStateSet()
+ if (stateSet.contains(27)) then
+ Out.Log("Object is transient.")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/script.xlb
new file mode 100644
index 000000000000..c71e58e7d86f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePageHeaderArea/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessiblePageHeaderArea" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessiblePageHeaderArea"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/sc_ScAccessiblePreviewCell.xba b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/sc_ScAccessiblePreviewCell.xba
new file mode 100644
index 000000000000..751e01e71482
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/sc_ScAccessiblePreviewCell.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessiblePreviewCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessiblePreviewCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, xCell As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, oWin As Object
+ Dim noProps()
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessiblePreviewCell")
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TABLE_CELL)
+ multiSelection = true
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ Exit Sub
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/script.xlb
new file mode 100644
index 000000000000..334b9b6d9de2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessiblePreviewCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessiblePreviewCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/sc_ScAccessiblePreviewHeaderCell.xba b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/sc_ScAccessiblePreviewHeaderCell.xba
new file mode 100644
index 000000000000..1c7c54a23160
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/sc_ScAccessiblePreviewHeaderCell.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessiblePreviewHeaderCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessiblePreviewHeaderCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, xCell As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, oWin As Object
+ Dim noProps()
+ Dim oStyle As Object
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessiblePreviewHeaderCell")
+ oStyle = oDoc.getStyleFamilies().getByName("PageStyles").getByName("Default")
+ oStyle.setPropertyValue("PrintHeaders",true)
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TABLE_CELL,"A")
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ multiSelection = true
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ Exit Sub
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/script.xlb
new file mode 100644
index 000000000000..daf4facec606
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewHeaderCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessiblePreviewHeaderCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessiblePreviewHeaderCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/sc_ScAccessiblePreviewTable.xba b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/sc_ScAccessiblePreviewTable.xba
new file mode 100644
index 000000000000..79c406d08113
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/sc_ScAccessiblePreviewTable.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessiblePreviewTable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessiblePreviewTable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, xCell As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, oWin As Object
+ Dim noProps()
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(0,0)
+ xCell.setFormula("ScAccessiblePreviewTable")
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TABLE)
+ multiSelection = true
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ Exit Sub
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/script.xlb
new file mode 100644
index 000000000000..15fe7ccbcc7e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessiblePreviewTable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessiblePreviewTable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessiblePreviewTable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/sc_ScAccessibleSpreadsheet.xba b/qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/sc_ScAccessibleSpreadsheet.xba
new file mode 100644
index 000000000000..26a4030d0eed
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/sc_ScAccessibleSpreadsheet.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAccessibleSpreadsheet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Global xCell As Object
+Global evId As Integer
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAccessibleSpreadsheet
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.createDocument("scalc",cObjectName)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TABLE)
+ xCell = oDoc.getSheets().getByIndex(0).getCellByPosition(2,2)
+ xCell.setFormula("ScAccessibleSpreadsheet")
+ evId = 1
+ multiSelection = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oDoc.dispose()
+End Sub
+
+Sub fireEvent()
+ Dim outStr As String
+ outStr = " "+evId+" event(s) fired"
+ xCell.setFormula(outStr)
+ evId = evId + 1
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/script.xlb
new file mode 100644
index 000000000000..2ba52eec6917
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAccessibleSpreadsheet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAccessibleSpreadsheet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAccessibleSpreadsheet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAnnotationObj/sc_ScAnnotationObj.xba b/qadevOOo/tests/basic/mod/sc/ScAnnotationObj/sc_ScAnnotationObj.xba
new file mode 100644
index 000000000000..4429028264f1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAnnotationObj/sc_ScAnnotationObj.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAnnotationObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAnnotationObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet, oCell As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(1,1)
+ oObj = oCell.Annotation
+ oObj.setString("sheet_XSheetAnnotation")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAnnotationObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAnnotationObj/script.xlb
new file mode 100644
index 000000000000..74cb4fa7e3f9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAnnotationObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAnnotationObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAnnotationObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/sc_ScAnnotationsObj.xba b/qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/sc_ScAnnotationsObj.xba
new file mode 100644
index 000000000000..7543de57f267
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/sc_ScAnnotationsObj.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAnnotationsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAnnotationsObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet as Object, oCell1 as Object, oCell2 as Object
+ Dim oAnno1 as Object, oAnno2 As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ Out.Log("Creating two annotations...")
+
+ oCell1 = oSheet.getCellByPosition(3, 5)
+ oAnno1 = oCell1.Annotation
+ oAnno1.setString("ScAnnotationsObj Anno 1")
+
+ oCell2 = oSheet.getCellByPosition(3, 6)
+ oAnno2 = oCell2.Annotation
+ oAnno2.setString("ScAnnotationsObj Anno 2")
+
+ oObj = oSheet.Annotations
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/script.xlb
new file mode 100644
index 000000000000..3df96db95d8a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAnnotationsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAnnotationsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAnnotationsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/sc_ScAreaLinkObj.xba b/qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/sc_ScAreaLinkObj.xba
new file mode 100644
index 000000000000..3bb8912f9770
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/sc_ScAreaLinkObj.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAreaLinkObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAreaLinkObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oLinks As Variant
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ Dim aSourceArea as String
+ aSourceArea = utils.Path2URL(cTestDocsDir + "/" + "calcshapes.sxc")
+ oLinks = oDoc.AreaLinks
+ oLinks.InsertAtPosition(com.sun.star.table.CellAddress(1, 2, 3), aSourceArea, "a1:b2", "", "")
+
+ oObj = oLinks.getByIndex(0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/script.xlb
new file mode 100644
index 000000000000..26457c41950c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAreaLinkObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAreaLinkObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAreaLinkObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/sc_ScAreaLinksObj.xba b/qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/sc_ScAreaLinksObj.xba
new file mode 100644
index 000000000000..8265b08838bd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/sc_ScAreaLinksObj.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAreaLinksObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAreaLinksObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oLinks As Variant
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ Dim aSourceArea as String
+ aSourceArea = utils.Path2URL(cTestDocsDir + "/" + "calcshapes.sxc")
+ oLinks = oDoc.AreaLinks
+ oLinks.InsertAtPosition(com.sun.star.table.CellAddress(1, 2, 3), aSourceArea, "a1:b2", "", "")
+
+ oObj = oLinks
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/script.xlb
new file mode 100644
index 000000000000..99ec3f15080e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAreaLinksObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAreaLinksObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAreaLinksObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/sc_ScAutoFormatFieldObj.xba b/qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/sc_ScAutoFormatFieldObj.xba
new file mode 100644
index 000000000000..c22a84578d36
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/sc_ScAutoFormatFieldObj.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAutoFormatFieldObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAutoFormatFieldObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oFormats, oFormat, oField As Variant
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oFormats = createUnoService("com.sun.star.sheet.TableAutoFormats")
+ oFormat = oFormats.getByIndex(0)
+ oField = oFormat.getByIndex(0)
+
+ oObj = oField
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/script.xlb
new file mode 100644
index 000000000000..a0824100b00d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAutoFormatFieldObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAutoFormatFieldObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAutoFormatFieldObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/sc_ScAutoFormatObj.xba b/qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/sc_ScAutoFormatObj.xba
new file mode 100644
index 000000000000..fa2f2ee42465
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/sc_ScAutoFormatObj.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAutoFormatObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Global oFormats As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAutoFormatObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oNewFormat As Object
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oFormats = createUnoService("com.sun.star.sheet.TableAutoFormats")
+
+ oNewFormat = oDoc.createInstance("com.sun.star.sheet.TableAutoFormat")
+
+ if oFormats.hasByName(cObjectName) then
+ oFormats.removeByName(cObjectName)
+ end if
+
+ oFormats.insertByName(cObjectName, oNewFormat)
+
+ oObj = oNewFormat
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+On Error Goto ErrHndl
+ oFormats.removeByName(cObjectName)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/script.xlb
new file mode 100644
index 000000000000..0439c64222ed
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAutoFormatObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAutoFormatObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAutoFormatObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/sc_ScAutoFormatsObj.xba b/qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/sc_ScAutoFormatsObj.xba
new file mode 100644
index 000000000000..aa2796fae9ae
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/sc_ScAutoFormatsObj.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScAutoFormatsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+Global oInstance As Object
+Global oReplaceInstance as Object
+Global cNameToReplace as String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScAutoFormatsObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oObj = createUNOService("com.sun.star.sheet.TableAutoFormats")
+ oInstance = oDoc.createInstance("com.sun.star.sheet.TableAutoFormat")
+ oReplaceInstance = oDoc.createInstance("com.sun.star.sheet.TableAutoFormat")
+ cNameToReplace = "XNameReplace Test"
+ If oObj.hasByName(cNameToReplace) Then oObj.removeByName(cNameToReplace)
+ oObj.insertByName(cNameToReplace, oDoc.createInstance("com.sun.star.sheet.TableAutoFormat"))
+
+ If oObj.hasByName(cObjectName &amp; "1") Then oObj.removeByName(cObjectName &amp; "1")
+ oObj.insertByName(cObjectName &amp; "1", oDoc.createInstance("com.sun.star.sheet.TableAutoFormat"))
+ If oObj.hasByName(cObjectName &amp; "2") Then oObj.removeByName(cObjectName &amp; "2")
+ oObj.insertByName(cObjectName &amp; "2", oDoc.createInstance("com.sun.star.sheet.TableAutoFormat"))
+ nGlobalLong = oObj.count
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/script.xlb
new file mode 100644
index 000000000000..f402ede287dc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScAutoFormatsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScAutoFormatsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScAutoFormatsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellCursorObj/sc_ScCellCursorObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellCursorObj/sc_ScCellCursorObj.xba
new file mode 100644
index 000000000000..6caf2e62956f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellCursorObj/sc_ScCellCursorObj.xba
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellCursorObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nCellCursorCol As Long
+Global nCellCursorRow As Long
+
+' Required for com.sun.star.chart.XChartData
+Global oCellToChange As Object
+
+'com.sun.star.sheet.XCellSeries
+Global aCellSeries(2) as Integer
+
+' com.sun.star.sheet.XCellRangeData
+Global newData As Variant
+
+Global oSheet as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellCursorObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheetCursor as Object, oRange As Object
+ Dim n as Integer, m As Integer
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets(0)
+ oCellToChange = oSheet.getCellByPosition(2, 3)
+ oRange = oSheet.getCellRangeByName("$A$1:$D$4")
+ oSheetCursor = oSheet.createCursorByRange(oRange)
+
+ For m = 1 to 2
+ For n = 10 to 15
+ oSheet.getCellByPosition(m,n).setValue(n)
+ Next n
+ Next m
+
+ 'XSheetCellCursor::colapseToCurrentRegion() :
+ nCellCursorRow = 12
+ nCellCursorCol 2
+
+ aCellSeries(0) = 3
+ aCellSeries(1) = 3
+
+ 'Required for XCellRangeData
+ newData = Array(_
+ Array(2.5, 5.0, 2.5, 5.0),_
+ Array(4.0, 9.0, 2.5, 5.0),_
+ Array(2.5, 5.0, 2.5, 5.0),_
+ Array(4.0, 9.0, 2.5, 5.0))_
+
+ oObj = oSheetCursor
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function modifyDescriptor(descr As Variant) As Variant
+On Error Goto ErrHndl
+ Dim i As Integer, n as Integer
+ Dim oCell As Object
+ Dim vFields(0) as new com.sun.star.table.TableSortField
+
+ for i = 0 to aCellSeries(0) - 1
+ oCell = oSheet.getCellByPosition(0, i)
+ oCell.String = "" + (aCellSeries(0) - i)
+ oCell.setFormula(aCellSeries(0) - i)
+ next i
+ 'ShowNameValuePair(descr)
+ vFields(0).IsCaseSensitive = false
+ vFields(0).IsAscending = true
+ vFields(0).FieldType = com.sun.star.table.TableSortFieldType.ALPHANUMERIC
+ for i = 0 to ubound(descr)
+ if descr(i).Name = "IsSortColumns" then descr(i).Value = false
+ if descr(i).Name = "SortFields" then descr(i).Value = vFields()
+ next i
+
+ modifyDescriptor() = descr
+Exit Function
+ErrHndl:
+ Out.Log("Exception in ScCellCursorObj.modifyDescriptor() :")
+ Test.Exception()
+end Function
+
+Function checkSort() As Boolean
+On Error Goto ErrHndl
+ Dim i As Integer, oCell As Object
+ Dim bOK As Boolean
+
+ bOK = true
+ for i = 0 to aCellSeries(0) - 1
+ oCell = oSheet.getCellByPosition(0,i)
+ bOK = bOK AND oCell.String = "" + (i + 1)
+ out.dbg(oCell.String + ":" + (i+1))
+ next i
+
+ checkSort() = bOK
+Exit Function
+ErrHndl:
+ Out.Log("Exception in ScCellCursorObj.checkSort() :")
+ Test.Exception()
+end Function
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellCursorObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellCursorObj/script.xlb
new file mode 100644
index 000000000000..b25b0c373308
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellCursorObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellCursorObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellCursorObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFieldObj/sc_ScCellFieldObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellFieldObj/sc_ScCellFieldObj.xba
new file mode 100644
index 000000000000..a47cbd050e70
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFieldObj/sc_ScCellFieldObj.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellFieldObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance as Object
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellFieldObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet, oCell As Object
+ Dim oTextField, oTextField1 As Object
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oTextField = oDoc.createInstance("com.sun.star.text.TextField.URL")
+
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(5, 5)
+ oCell.insertTextContent(oCell.createTextCursor, oTextField, true)
+
+ oObj = oTextField
+
+ 'again for XComponent
+ oTextField1 = oDoc.createInstance("com.sun.star.text.TextField.URL")
+
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(4, 5)
+ oCell.insertTextContent(oCell.createTextCursor, oTextField1, true)
+
+ oComponentInstance = oTextField1
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextField.URL")
+ oXTextContentRange = oCell.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFieldObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellFieldObj/script.xlb
new file mode 100644
index 000000000000..90360104790f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFieldObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellFieldObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellFieldObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/sc_ScCellFieldsObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/sc_ScCellFieldsObj.xba
new file mode 100644
index 000000000000..eeaecf843968
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/sc_ScCellFieldsObj.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellFieldsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance as Object
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellFieldsObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet, oCell As Object
+ Dim oTextField, oTextField1 As Object
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oTextField = oDoc.createInstance("com.sun.star.text.TextField.URL")
+
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(5, 5)
+ oCell.insertTextContent(oCell.createTextCursor, oTextField, true)
+
+ oObj = oCell.getTextFields()
+
+ 'again for XComponent
+ oTextField1 = oDoc.createInstance("com.sun.star.text.TextField.URL")
+
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(4, 5)
+ oCell.insertTextContent(oCell.createTextCursor, oTextField1, true)
+
+ oComponentInstance = oTextField1
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextField.URL")
+ oXTextContentRange = oCell.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/script.xlb
new file mode 100644
index 000000000000..8c436760aaed
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFieldsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellFieldsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellFieldsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/sc_ScCellFormatsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/sc_ScCellFormatsEnumeration.xba
new file mode 100644
index 000000000000..21f3e9389dd6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/sc_ScCellFormatsEnumeration.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellFormatsEnumeration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellFormatsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet As Object
+ Dim oFormats As Variant
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oFormats = oSheet.getCellFormatRanges()
+ oObj = oFormats.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/script.xlb
new file mode 100644
index 000000000000..2db2e0039363
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFormatsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellFormatsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellFormatsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/sc_ScCellFormatsObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/sc_ScCellFormatsObj.xba
new file mode 100644
index 000000000000..35847703fcd7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/sc_ScCellFormatsObj.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellFormatsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellFormatsObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oObj = oSheet.CellFormatRanges
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/script.xlb
new file mode 100644
index 000000000000..41ea5b01e9fe
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellFormatsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellFormatsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellFormatsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellObj/sc_ScCellObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellObj/sc_ScCellObj.xba
new file mode 100644
index 000000000000..157132bb0446
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellObj/sc_ScCellObj.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XText
+ Global oCollection As Object
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet, oCell As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(0, 0)
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.URL")
+ oCollection = oCell.TextFields
+
+ oObj = oCell
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellObj/script.xlb
new file mode 100644
index 000000000000..e56fdf283756
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellRangeObj/sc_ScCellRangeObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellRangeObj/sc_ScCellRangeObj.xba
new file mode 100644
index 000000000000..8fc714766202
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellRangeObj/sc_ScCellRangeObj.xba
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellRangeObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'com.sun.star.sheet.XCellSeries
+Global aCellSeries(2) as Integer
+
+
+'Required for com.sun.star.chart.XChartData
+Global oCellToChange As Object
+
+' com.sun.star.sheet.XCellRangeData
+Global newData As Variant
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellRangeObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet, oRange As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oCellToChange = oSheet.getCellByPosition(0, 0)
+ oRange = oSheet.getCellRangeByPosition(0, 0, 10, 10)
+ oObj = oRange
+
+ aCellSeries(0) = 10
+ aCellSeries(1) = 10
+
+ 'Required for XCellRangeData
+ newData = Array(_
+ Array(2.5, 5.0, 2.5, 5.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0),_
+ Array(4.0, 9.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 2.5, 5.0),_
+ Array(2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0, 2.5, 5.0),_
+ Array(4.0, 9.0, 2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0),_
+ Array(2.5, 5.0, 2.5, 5.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0),_
+ Array(4.0, 9.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 2.5, 5.0),_
+ Array(2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0, 2.5, 5.0),_
+ Array(4.0, 9.0, 2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0),_
+ Array(2.5, 5.0, 2.5, 5.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0),_
+ Array(4.0, 9.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 2.5, 5.0),_
+ Array(2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0, 2.5, 5.0))
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function modifyDescriptor(descr As Variant) As Variant
+On Error Goto ErrHndl
+ Dim i As Integer, n as Integer
+ Dim oCell As Object
+ Dim vFields(0) as new com.sun.star.table.TableSortField
+
+ for i = 0 to aCellSeries(0) - 1
+ oCell = oObj.getCellByPosition(0, i)
+ oCell.String = "" + (aCellSeries(0) - i)
+ oCell.setFormula(aCellSeries(0) - i)
+ next i
+ 'ShowNameValuePair(descr)
+ vFields(0).IsCaseSensitive = false
+ vFields(0).IsAscending = true
+ vFields(0).FieldType = com.sun.star.table.TableSortFieldType.ALPHANUMERIC
+ for i = 0 to ubound(descr)
+ if descr(i).Name = "IsSortColumns" then descr(i).Value = false
+ if descr(i).Name = "SortFields" then descr(i).Value = vFields()
+ next i
+
+ modifyDescriptor() = descr
+Exit Function
+ErrHndl:
+ Out.Log("Exception in ScCellRangeObj.modifyDescriptor() :")
+ Test.Exception()
+end Function
+
+Function checkSort() As Boolean
+On Error Goto ErrHndl
+ Dim i As Integer, oCell As Object
+ Dim bOK As Boolean
+
+ bOK = true
+ for i = 0 to aCellSeries(0) - 1
+ oCell = oObj.getCellByPosition(0,i)
+ bOK = bOK AND oCell.String = "" + (i + 1)
+ out.dbg(oCell.String + ":" + (i+1))
+ next i
+
+ checkSort() = bOK
+Exit Function
+ErrHndl:
+ Out.Log("Exception in ScCellRangeObj.checkSort() :")
+ Test.Exception()
+end Function
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellRangeObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellRangeObj/script.xlb
new file mode 100644
index 000000000000..0a2322e4654a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellRangeObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellRangeObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellRangeObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellRangesObj/sc_ScCellRangesObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellRangesObj/sc_ScCellRangesObj.xba
new file mode 100644
index 000000000000..e86c2249b894
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellRangesObj/sc_ScCellRangesObj.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellRangesObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oInstance As Object
+
+' Requiered for com.sun.star.container.XNameReplace
+Global cNameToReplace As String 'name of instance to be replased
+Global oReplaceInstance As Object 'instance, that will be inserted
+ 'instead old one
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellRangesObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc.createInstance("com.sun.star.sheet.SheetCellRanges")
+ oSheet = oDoc.Sheets(1)
+
+ oInstance=oSheet.getCellRangeByName("A1:C5")
+ oObj.insertByName("CellRange1", oInstance)
+ oInstance=oSheet.getCellRangeByName("A7:D9")
+ oObj.insertByName("CellRange2", oInstance)
+ oInstance=oSheet.getCellRangeByName("E1:E42")
+ oObj.insertByName("CellRange3", oInstance)
+ oInstance=oSheet.getCellRangeByName("A10:B10")
+ oObj.insertByName("CellRange4", oInstance)
+
+ oReplaceInstance = oSheet.getCellRangeByName("A6:H16")
+ cNameToReplace = "CellRange4"
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellRangesObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellRangesObj/script.xlb
new file mode 100644
index 000000000000..5b6e3544a0fe
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellRangesObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellRangesObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellRangesObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellSearchObj/sc_ScCellSearchObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellSearchObj/sc_ScCellSearchObj.xba
new file mode 100644
index 000000000000..b15b06885abe
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellSearchObj/sc_ScCellSearchObj.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellSearchObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellSearchObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oObj = oSheet.createSearchDescriptor()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellSearchObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellSearchObj/script.xlb
new file mode 100644
index 000000000000..2fd3cefc1727
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellSearchObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellSearchObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellSearchObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellTextCursor/sc_ScCellTextCursor.xba b/qadevOOo/tests/basic/mod/sc/ScCellTextCursor/sc_ScCellTextCursor.xba
new file mode 100644
index 000000000000..03033ab1f90e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellTextCursor/sc_ScCellTextCursor.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellTextCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XParagraphCursor
+ Global oText As Object
+' Requiered for com.sun.star.text.XTextCursor
+ Global oCursor As Object 'One more cursor
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellTextCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+ Dim oCell As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(1, 3)
+
+ oCell.setString(cObjectName)
+
+ oText = oCell
+ oObj = oCell.createTextCursor()
+ oCursor = oCell.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellTextCursor/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellTextCursor/script.xlb
new file mode 100644
index 000000000000..e73ec8bfc586
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellTextCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellTextCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellTextCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/sc_ScCellsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/sc_ScCellsEnumeration.xba
new file mode 100644
index 000000000000..77e59c564ec7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/sc_ScCellsEnumeration.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellsEnumeration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet, oCell1, oCell2, oCell3, oEnum, oVS As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+
+ oCell1 = oSheet.getCellByPosition(1, 1)
+ oCell1.Text.setString(cObjectName + "1")
+ oCell2 = oSheet.getCellByPosition(4, 2)
+ oCell2.Text.setString(cObjectName + "2")
+ oCell3 = oSheet.getCellByPosition(3, 6)
+ oCell3.setFormula("= 15 + 3 * 4")
+
+ oVS = oSheet.queryVisibleCells
+ oEnum = oVS.Cells.createEnumeration
+
+ oObj = oEnum
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/script.xlb
new file mode 100644
index 000000000000..377e64d5db85
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellsObj/sc_ScCellsObj.xba b/qadevOOo/tests/basic/mod/sc/ScCellsObj/sc_ScCellsObj.xba
new file mode 100644
index 000000000000..b7a596a13688
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellsObj/sc_ScCellsObj.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScCellsObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCell1, oCell2, oCell3, oSheet As Object
+ Dim oCellsRange, oCells As Variant
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+
+ ' Filling some cells with the text
+ oCell1 = oSheet.getCellByPosition(0, 0)
+ oCell1.setString("ScCellsObj, Cell 1")
+ oCell2 = oSheet.getCellByPosition(4, 2)
+ oCell2.setString("ScCellsObj, Cell 2")
+ oCell3 = oSheet.getCellByPosition(3, 3)
+ oCell3.setValue(-10)
+
+ oCellsRange = oSheet.queryVisibleCells
+ oCells = oCellsRange.getCells
+
+ oObj = oCells
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScCellsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScCellsObj/script.xlb
new file mode 100644
index 000000000000..6a67f5248999
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScCellsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScCellsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScCellsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScChartObj/sc_ScChartObj.xba b/qadevOOo/tests/basic/mod/sc/ScChartObj/sc_ScChartObj.xba
new file mode 100644
index 000000000000..ee68c904dd10
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScChartObj/sc_ScChartObj.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScChartObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.container.XNamed
+Global cNameToSet As String ' "fixed" if name is fixed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScChartObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCharts As Variant
+ Dim oSheet As Object
+ Dim i,j As Integer
+ Dim tRect As New com.sun.star.awt.Rectangle
+ Dim tAddr As New com.sun.star.table.CellRangeAddress
+ Dim oRanges(0) As New com.sun.star.table.CellRangeAddress
+
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+
+ ' Filling some cells with the text
+ for i = 1 to 6
+ oSheet.getCellByPosition(0, i).setString("Row" &amp; i)
+ oSheet.getCellByPosition(i, 0).setString("Col" &amp; i)
+ next i
+
+ for i = 1 to 6
+ for j = 1 to 6
+ oSheet.getCellByPosition(i, j).Value = (i + 1) * j
+ next j
+ next i
+
+ tRect.X = 500
+ tRect.Y = 500
+ tRect.Width = 25000
+ tRect.Height = 15000
+
+ tAddr.Sheet = 0
+ tAddr.StartRow = 0
+ tAddr.StartColumn = 0
+ tAddr.EndRow = 6
+ tAddr.EndColumn = 6
+
+ oCharts = oSheet.getCharts()
+ oRanges(0) = tAddr
+ oCharts.addNewByName("ScChartObj", tRect, oRanges(), true, true)
+
+ oObj = oCharts.getByName("ScChartObj")
+
+ cNameToSet = "fixed"
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScChartObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScChartObj/script.xlb
new file mode 100644
index 000000000000..7662522d724b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScChartObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScChartObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScChartObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScChartsObj/sc_ScChartsObj.xba b/qadevOOo/tests/basic/mod/sc/ScChartsObj/sc_ScChartsObj.xba
new file mode 100644
index 000000000000..e942335c7744
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScChartsObj/sc_ScChartsObj.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScChartsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cChartDataAddress As New com.sun.star.table.CellRangeAddress
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScChartsObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet As Object
+ Dim i,j As Integer
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+
+ ' Filling some cells with the text
+ for i = 1 to 6
+ oSheet.getCellByPosition(0, i).setString("Row" &amp; i)
+ oSheet.getCellByPosition(i, 0).setString("Col" &amp; i)
+ next i
+
+ for i = 1 to 6
+ for j = 1 to 6
+ oSheet.getCellByPosition(i, j).Value = (i + 1) * j
+ next j
+ next i
+
+ Dim tAddr As New com.sun.star.table.CellRangeAddress
+ tAddr.Sheet = 0
+ tAddr.StartRow = 0
+ tAddr.StartColumn = 0
+ tAddr.EndRow = 6
+ tAddr.EndColumn = 6
+
+ Dim tRect As New com.sun.star.awt.Rectangle
+ tRect.X = 200
+ tRect.Y = 200
+ tRect.Width = 10000
+ tRect.Height = 5000
+
+ cChartDataAddress = tAddr
+ oObj = oSheet.getCharts()
+
+ Dim oRanges(0) As New com.sun.star.table.CellRangeAddress
+ oRanges(0) = tAddr
+ oObj.addNewByName(cObjectName, tRect, oRanges(), true, true)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScChartsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScChartsObj/script.xlb
new file mode 100644
index 000000000000..8294000d7652
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScChartsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScChartsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScChartsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/sc_ScConsolidationDescriptor.xba b/qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/sc_ScConsolidationDescriptor.xba
new file mode 100644
index 000000000000..1c32c98b3366
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/sc_ScConsolidationDescriptor.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScConsolidationDescriptor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScConsolidationDescriptor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oDsc As Object
+ Dim bCreateDefaultDsc As Boolean
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ bCreateDefaultDsc = true
+ oDsc = oDoc.createConsolidationDescriptor(bCreateDefaultDsc)
+ oObj = oDsc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/script.xlb b/qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/script.xlb
new file mode 100644
index 000000000000..d2140cde3661
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScConsolidationDescriptor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScConsolidationDescriptor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScConsolidationDescriptor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDDELinkObj/sc_ScDDELinkObj.xba b/qadevOOo/tests/basic/mod/sc/ScDDELinkObj/sc_ScDDELinkObj.xba
new file mode 100644
index 000000000000..b1f6a5752ef0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDDELinkObj/sc_ScDDELinkObj.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDDELinkObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+Global cNameToSet As String ' "fixed" if name is fixed
+Global DDEItem As String
+Global DDETopic As String
+Global DDEApplication As String
+
+Global oTestDoc As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDDELinkObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+ Dim oF As String
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+
+ oTestDoc = utils.loadTestDocument("ScDDELinksObj.sdc")
+
+ DDEItem = "Sheet1.A1"
+
+ ' This construction of 2-way convertion of testdocs location
+ ' should take place here, because there is unnecessary slash at the end of
+ ' cTestDocsDir.
+ DDETopic = utils.URL2Path(utils.Path2URL(cTestDocsDir &amp; "ScDDELinksObj.sdc"))
+
+ DDEApplication = "soffice"
+
+ oF = "=DDE(""" + DDEApplication + """;""" + DDETopic + """;""" + DDEItem + """)"
+
+ oSheet.getCellByPosition(1, 2).Formula = oF
+ oSheet.getCellByPosition(3, 4).Formula = oF
+ oSheet.getCellByPosition(5, 6).Formula = oF
+
+ oObj = oDoc.getPropertyValue("DDELinks").getByIndex(0)
+ cNameToSet = "fixed"
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oTestDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDDELinkObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDDELinkObj/script.xlb
new file mode 100644
index 000000000000..356f4be1ef64
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDDELinkObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDDELinkObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDDELinkObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDDELinksObj/sc_ScDDELinksObj.xba b/qadevOOo/tests/basic/mod/sc/ScDDELinksObj/sc_ScDDELinksObj.xba
new file mode 100644
index 000000000000..aaab46523587
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDDELinksObj/sc_ScDDELinksObj.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDDELinksObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oTestDoc As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDDELinksObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim testDoc, oF As String
+ Dim oSheet As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+
+ oTestDoc = utils.loadTestDocument("ScDDELinksObj.sdc")
+
+ ' This construction of 2-way convertion of testdocs location
+ ' should take place here, because there is unnecessary slash at the end of
+ ' cTestDocsDir.
+ testDoc = utils.URL2Path(utils.Path2URL(cTestDocsDir &amp; "ScDDELinksObj.sdc"))
+
+ oF = "=DDE(""soffice"";""" &amp; testDoc &amp; """;""Sheet1.A1"")"
+
+ oSheet.getCellByPosition(1, 2).Formula = oF
+ oSheet.getCellByPosition(3, 4).Formula = oF
+ oSheet.getCellByPosition(5, 6).Formula = oF
+
+ oObj = oDoc.getPropertyValue("DDELinks")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oTestDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDDELinksObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDDELinksObj/script.xlb
new file mode 100644
index 000000000000..84df6ef711d2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDDELinksObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDDELinksObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDDELinksObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/sc_ScDataPilotFieldObj.xba b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/sc_ScDataPilotFieldObj.xba
new file mode 100644
index 000000000000..efe3c591b144
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/sc_ScDataPilotFieldObj.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDataPilotFieldObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDataPilotFieldObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oFields As Variant
+ Dim oSheet As Object
+ Dim i,j As Integer
+ Dim oDataPilotTable, oDataPilotDescriptor As Object
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+ Dim sCellAddress As New com.sun.star.table.CellAddress
+
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+ Out.Log("Filling a table...")
+
+ for i = 1 to 5
+ oSheet.getCellByPosition(0, i).String = "Row" &amp; i
+ oSheet.getCellByPosition(i, 0).String = "Col" &amp; i
+ next i
+
+ for i = 1 to 5
+ for j = 1 to 5
+ oSheet.getCellByPosition(i, j).Value = 2.5 * j + i
+ next j
+ next i
+
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 0
+ sCellRangeAddress.StartRow = 0
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ sCellAddress.Sheet = 0
+ sCellAddress.Column = 7
+ sCellAddress.Row = 8
+
+ oDataPilotTable = oSheet.getDataPilotTables
+ oDataPilotDescriptor = oDataPilotTable.createDataPilotDescriptor()
+ oDataPilotDescriptor.setSourceRange(sCellRangeAddress)
+ oDataPilotTable.insertNewByName(cObjectName, sCellAddress, oDataPilotDescriptor)
+
+ oFields = oDataPilotDescriptor.getDataPilotFields()
+ oObj = oFields.getByIndex(0)
+
+ cNameToSet = cObjectName
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/script.xlb
new file mode 100644
index 000000000000..81603a818fd6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDataPilotFieldObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDataPilotFieldObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/sc_ScDataPilotFieldsObj.xba b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/sc_ScDataPilotFieldsObj.xba
new file mode 100644
index 000000000000..dff17eb90697
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/sc_ScDataPilotFieldsObj.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDataPilotFieldsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDataPilotFieldsObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i as Integer,j As Integer
+ Dim oSheet as Object, oDataPilotDescriptor As Object
+ Dim oFields as Variant , oDataPilotTable As Variant
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+ Dim sCellAddress As New com.sun.star.table.CellAddress
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+
+ for i = 1 to 5
+ for j = 1 to 5
+ oSheet.getCellByPosition(i, j).Value = 2.5 * j + i
+ next j
+ next i
+
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 1
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ sCellAddress.Sheet = 0
+ sCellAddress.Column = 7
+ sCellAddress.Row = 8
+
+ oDataPilotTable = oSheet.getDataPilotTables
+ oDataPilotDescriptor = oDataPilotTable.createDataPilotDescriptor()
+ oDataPilotDescriptor.setSourceRange(sCellRangeAddress)
+
+ oDataPilotTable.insertNewByName(cObjectName, sCellAddress, oDataPilotDescriptor)
+
+ oFields = oDataPilotDescriptor.getDataPilotFields
+ oObj = oFields
+ nGlobalLong = oObj.Count
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/script.xlb
new file mode 100644
index 000000000000..18831eae158a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotFieldsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDataPilotFieldsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDataPilotFieldsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/sc_ScDataPilotTableObj.xba b/qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/sc_ScDataPilotTableObj.xba
new file mode 100644
index 000000000000..36e976850469
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/sc_ScDataPilotTableObj.xba
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDataPilotTableObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+Global cNameToSet As String ' "fixed" if name is fixed
+
+' Required for com.sun.star.sheet.XDataPilotTable
+Global oOutputRange As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDataPilotTableObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+ Dim i, j As Integer
+ Dim oDataPilotTables As Object
+ Dim oDataPilotDescriptor As Object
+ Dim oFilterDescriptor As Object
+ Dim oDataPilotField As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+
+ for i = 1 to 5
+ oSheet.getCellByPosition(0, i).String = "Row" &amp; i
+ oSheet.getCellByPosition(i, 0).String = "Col" &amp; i
+ next i
+
+ for i = 1 to 5
+ for j = 1 to 5
+ oSheet.getCellByPosition(i, j).Value = 2.5 * j + i
+ next j
+ next i
+
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 0
+ sCellRangeAddress.EndColumn = 1
+ sCellRangeAddress.EndRow = 5
+
+ Dim sCellAddress As New com.sun.star.table.CellAddress
+ sCellAddress.Sheet = 0
+ sCellAddress.Column = 7
+ sCellAddress.Row = 8
+
+ Dim FilterFields(1) As New com.sun.star.sheet.TableFilterField
+ FilterFields(0).Connection = com.sun.star.sheet.FilterConnection.AND
+ FilterFields(0).Field = 1
+ FilterFields(0).isNumeric = true
+ FilterFields(0).StringValue = "4"
+ FilterFields(0).Operator = com.sun.star.sheet.FilterOperator.GREATER
+
+ FilterFields(1).Connection = com.sun.star.sheet.FilterConnection.AND
+ FilterFields(1).Field = 1
+ FilterFields(1).isNumeric = true
+ FilterFields(1).StringValue = "12"
+ FilterFields(1).Operator = com.sun.star.sheet.FilterOperator.LESS_EQUAL
+
+ oDataPilotTables = oSheet.getDataPilotTables
+ oDataPilotDescriptor = oDataPilotTables.createDataPilotDescriptor()
+ oDataPilotDescriptor.setSourceRange(sCellRangeAddress)
+ oFilterDescriptor = oDataPilotDescriptor.getFilterDescriptor()
+ oFilterDescriptor.setFilterFields(FilterFields())
+
+ oDataPilotField = oDataPilotDescriptor.getDataPilotFields().getByIndex(0)
+ oDataPilotField.Function = com.sun.star.sheet.GeneralFunction.SUM
+ oDataPilotField.Orientation = com.sun.star.sheet.DataPilotFieldOrientation.DATA
+
+ oDataPilotTables.insertNewByName(cObjectName, sCellAddress, oDataPilotDescriptor)
+
+ oObj = oDataPilotTables(0)
+ oOutputRange = sCellAddress
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/script.xlb
new file mode 100644
index 000000000000..570b186ccb2e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotTableObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDataPilotTableObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDataPilotTableObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/sc_ScDataPilotTablesObj.xba b/qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/sc_ScDataPilotTablesObj.xba
new file mode 100644
index 000000000000..90e09058c76e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/sc_ScDataPilotTablesObj.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDataPilotTablesObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDataPilotTablesObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim i as Integer,j As Integer
+ Dim oSheet as Object, oDataPilotDescriptor As Object
+ Dim oDataPilotTables As Variant
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+
+ for i = 1 to 5
+ for j = 1 to 5
+ oSheet.getCellByPosition(i, j).Value = 2.5 * j + i
+ next j
+ next i
+
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 1
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ Dim sCellAddress As New com.sun.star.table.CellAddress
+ sCellAddress.Sheet = 0
+ sCellAddress.Column = 7
+ sCellAddress.Row = 8
+
+ oDataPilotTables = oSheet.getDataPilotTables
+ oDataPilotDescriptor = oDataPilotTables.createDataPilotDescriptor()
+ oDataPilotDescriptor.setSourceRange(sCellRangeAddress)
+
+ oDataPilotTables.insertNewByName(cObjectName, sCellAddress, oDataPilotDescriptor)
+
+ oObj = oDataPilotTables
+ nGlobalLong = oObj.Count
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/script.xlb
new file mode 100644
index 000000000000..ebdc208f0e93
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDataPilotTablesObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDataPilotTablesObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDataPilotTablesObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/sc_ScDatabaseRangeObj.xba b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/sc_ScDatabaseRangeObj.xba
new file mode 100644
index 000000000000..15fc4fcb3199
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/sc_ScDatabaseRangeObj.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDatabaseRangeObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+
+' Requiered for com.sun.star.sheet.XCellRangeReferrer
+ Global oReferredCells As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDatabaseRangeObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oRanges As Variant
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 1
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ oRanges = oDoc.getPropertyValue("DatabaseRanges")
+ oRanges.addNewByName(cObjectName, sCellRangeAddress)
+ oReferredCells = sCellRangeAddress
+
+ oObj = oRanges.getByIndex(0)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/script.xlb
new file mode 100644
index 000000000000..30fa99cc37ce
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangeObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDatabaseRangeObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDatabaseRangeObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/sc_ScDatabaseRangesObj.xba b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/sc_ScDatabaseRangesObj.xba
new file mode 100644
index 000000000000..2efa2d7ce4cd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/sc_ScDatabaseRangesObj.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDatabaseRangesObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDatabaseRangesObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oRanges As Variant
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 1
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ oRanges = oDoc.getPropertyValue("DatabaseRanges")
+ oRanges.addNewByName(cObjectName, sCellRangeAddress)
+
+ oObj = oRanges
+ nGlobalLong = oObj.Count
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/script.xlb
new file mode 100644
index 000000000000..1b52e885e3a3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDatabaseRangesObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDatabaseRangesObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDatabaseRangesObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDrawPageObj/sc_ScDrawPageObj.xba b/qadevOOo/tests/basic/mod/sc/ScDrawPageObj/sc_ScDrawPageObj.xba
new file mode 100644
index 000000000000..68f6506a77a0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDrawPageObj/sc_ScDrawPageObj.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDrawPageObj" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oXShapeInstance As Object
+
+Global oGrouperCollection As Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDrawPageObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oDP as Object
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oGrouperCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+
+ oDP = oDoc.getDrawPages()
+
+ oDP.insertNewByIndex(0)
+ oDP.insertNewByIndex(1)
+
+ oObj = oDP.getByIndex(0)
+ addShape(oObj,1)
+ addShape(oObj,2)
+ addShape(oObj,3)
+ addShape(oObj,4)
+
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oGrouperCollection.Add(oObj.getByIndex(2))
+ oGrouperCollection.Add(oObj.getByIndex(3))
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function addShape(oPage as Object, no as Integer) As Object
+On Error Goto ErrHndl
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oShape As Object
+ Dim servNames As Variant
+
+ aPoint.x = 1000 * no
+ aPoint.y = 1000 * no
+ aSize.Width = 2000
+ aSize.Height = 1000
+ oShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oShape.Size = aSize
+ oShape.Position = aPoint
+
+ oPage.add(oShape)
+
+ addShapeToDrawDoc() = oShape
+Exit Function
+ErrHndl:
+ Test.Exception()
+End Function
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDrawPageObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDrawPageObj/script.xlb
new file mode 100644
index 000000000000..7966e9d2e0a8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDrawPageObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDrawPageObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDrawPageObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/sc_ScDrawPagesObj.xba b/qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/sc_ScDrawPagesObj.xba
new file mode 100644
index 000000000000..ce3376145dbf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/sc_ScDrawPagesObj.xba
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScDrawPagesObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScDrawPagesObj
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc.DrawPages
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/script.xlb
new file mode 100644
index 000000000000..e77bd26fa1fa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScDrawPagesObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScDrawPagesObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScDrawPagesObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/sc_ScFilterDescriptorBase.xba b/qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/sc_ScFilterDescriptorBase.xba
new file mode 100644
index 000000000000..fbe7d5a8ed68
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/sc_ScFilterDescriptorBase.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScFilterDescriptorBase" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScFilterDescriptorBase
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+
+ ' Filling some cells with the text
+ oSheet.getCellByPosition(0, 0).Value = 10
+ oSheet.getCellByPosition(4, 2).Value = 10.10
+ oSheet.getCellByPosition(6, 5).Value = -10
+
+ oObj = oSheet.createFilterDescriptor(true)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/script.xlb b/qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/script.xlb
new file mode 100644
index 000000000000..c733e1c0c8f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScFilterDescriptorBase/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScFilterDescriptorBase" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScFilterDescriptorBase"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScFunctionListObj/sc_ScFunctionListObj.xba b/qadevOOo/tests/basic/mod/sc/ScFunctionListObj/sc_ScFunctionListObj.xba
new file mode 100644
index 000000000000..e6b3e5935888
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScFunctionListObj/sc_ScFunctionListObj.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScFunctionListObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScFunctionListObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sheet.FunctionDescriptions")
+ nGlobalLong = oObj.Count
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScFunctionListObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScFunctionListObj/script.xlb
new file mode 100644
index 000000000000..0d49fb420ceb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScFunctionListObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScFunctionListObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScFunctionListObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/sc_ScHeaderFieldObj.xba b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/sc_ScHeaderFieldObj.xba
new file mode 100644
index 000000000000..ba5526524f46
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/sc_ScHeaderFieldObj.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScHeaderFieldObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScHeaderFieldObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim StyleFamilies as Object, PageStyles as Object, DefaultStyle As Object
+ Dim RPHC as Object, tLeft as Object, TimeField as Object, oCur As Object
+
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ StyleFamilies = oDoc.getStyleFamilies
+ PageStyles = StyleFamilies.getByName("PageStyles")
+ DefaultStyle = PageStyles.getByName("Default")
+
+ RPHC = DefaultStyle.getPropertyValue("RightPageHeaderContent")
+ tLeft = RPHC.getLeftText
+ TimeField = oDoc.createInstance("com.sun.star.text.TextField.Time")
+ oComponentInstance = oDoc.createInstance("com.sun.star.text.TextField.Time")
+ oCur = tLeft.createTextCursor()
+ tLeft.insertTextContent(oCur, TimeField, false)
+ tLeft.insertTextContent(oCur, oComponentInstance, false)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextField.Time")
+ oXTextContentRange = tLeft.createTextCursor()
+
+ oObj = TimeField
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.dispose()
+ if NOT isNULL(oComponentInstance) then oComponentInstance.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/script.xlb
new file mode 100644
index 000000000000..c8b68e52b61e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScHeaderFieldObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScHeaderFieldObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/sc_ScHeaderFieldsObj.xba b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/sc_ScHeaderFieldsObj.xba
new file mode 100644
index 000000000000..9456e02e97de
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/sc_ScHeaderFieldsObj.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScHeaderFieldsObj" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScHeaderFieldsObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim StyleFamilies as Object, PageStyles as Object, DefaultStyle As Object
+ Dim RPHC as Object, tLeft as Object, TimeField as Object, oCur As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ StyleFamilies = oDoc.getStyleFamilies()
+ PageStyles = StyleFamilies.getByName("PageStyles")
+ DefaultStyle = PageStyles.getByName("Default")
+
+ RPHC = DefaultStyle.getPropertyValue("RightPageHeaderContent")
+ tLeft = RPHC.getLeftText
+ TimeField = oDoc.createInstance("com.sun.star.text.TextField.Time")
+ oCur = tLeft.createTextCursor()
+ tLeft.insertTextContent(oCur, TimeField, false)
+
+ oObj=tLeft.getTextFields()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/script.xlb
new file mode 100644
index 000000000000..ecddc21b631e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFieldsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScHeaderFieldsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScHeaderFieldsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/sc_ScHeaderFooterContentObj.xba b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/sc_ScHeaderFooterContentObj.xba
new file mode 100644
index 000000000000..fc5aad8f1869
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/sc_ScHeaderFooterContentObj.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScHeaderFooterContentObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.sheet.XHeaderFooterContent
+ Global cLeftText As String
+ Global cCenterText As String
+ Global cRightText As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScHeaderFooterContentObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim PageStyles As Variant
+ Dim DefaultStyle, RPHC As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ PageStyles = oDoc.getStyleFamilies.getByName("PageStyles")
+ DefaultStyle = PageStyles.getByName("Default")
+
+ cLeftText = "Left"
+ cCenterText = "Center"
+ cRightText = "Right"
+
+ RPHC = DefaultStyle.getPropertyValue("RightPageHeaderContent")
+ RPHC.getLeftText.String = cLeftText
+ RPHC.getCenterText.String = cCenterText
+ RPHC.getRightText.String = cRightText
+
+ DefaultStyle.setPropertyValue("RightPageHeaderContent", RPHC)
+
+ oObj = RPHC
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/script.xlb
new file mode 100644
index 000000000000..ddbc0e056fbf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterContentObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScHeaderFooterContentObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScHeaderFooterContentObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/sc_ScHeaderFooterTextCursor.xba b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/sc_ScHeaderFooterTextCursor.xba
new file mode 100644
index 000000000000..6ba9ecda2e87
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/sc_ScHeaderFooterTextCursor.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScHeaderFooterTextCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XParagraphCursor
+ Global oText As Object
+' Requiered for com.sun.star.text.XTextCursor
+ Global oCursor As Object 'One more cursor
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScHeaderFooterTextCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim PageStyles, DefaultStyle, RPHC As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ PageStyles = oDoc.getStyleFamilies.getByName("PageStyles")
+ DefaultStyle = PageStyles.getByName("Default")
+
+ RPHC = DefaultStyle.getPropertyValue("RightPageHeaderContent")
+ RPHC.getCenterText.String = "Center"
+ DefaultStyle.setPropertyValue("RightPageHeaderContent", RPHC)
+
+ oText = RPHC.getCenterText
+
+ oObj = oText.createTextCursor()
+ oCursor = oText.createTextCursor()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/script.xlb b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/script.xlb
new file mode 100644
index 000000000000..ab7f002c6b5c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScHeaderFooterTextCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScHeaderFooterTextCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/sc_ScHeaderFooterTextObj.xba b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/sc_ScHeaderFooterTextObj.xba
new file mode 100644
index 000000000000..fe0ec2fef131
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/sc_ScHeaderFooterTextObj.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScHeaderFooterTextObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+GLOBAL oInstance as Object
+GLOBAL oCollection as Object
+
+'Required for com.sun.star.text.XTextRangeMover
+Global oTextRangeToMove As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScHeaderFooterTextObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim StyleFamilies As Variant
+ Dim PageStyles As Object
+ Dim DefaultStyle As Object
+ Dim RPHC As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ StyleFamilies = oDoc.getStyleFamilies
+ PageStyles = StyleFamilies.getByName("PageStyles")
+ DefaultStyle = PageStyles.getByName("Default")
+
+ RPHC = DefaultStyle.getPropertyValue("RightPageHeaderContent")
+ RPHC.getCenterText.String = "Center"
+ DefaultStyle.setPropertyValue("RightPageHeaderContent", RPHC)
+
+ oObj = RPHC.getCenterText
+ oTextRangeToMove = oObj
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.Time")
+ oCollection = oObj.getTextFields()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/script.xlb
new file mode 100644
index 000000000000..969ecbe11891
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScHeaderFooterTextObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScHeaderFooterTextObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScHeaderFooterTextObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/sc_ScIndexEnumeration_CellAnnotationsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/sc_ScIndexEnumeration_CellAnnotationsEnumeration.xba
new file mode 100644
index 000000000000..3a40ff4d8755
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/sc_ScIndexEnumeration_CellAnnotationsEnumeration.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_CellAnnotationsEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_CellAnnotationsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oSheets as Object, oSheet as Object
+ Dim oAnnotations as Object
+ Dim oCell1 as Object, oCell2 as Object
+ Dim oAnno1 as Object, oAnno2 As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ ' get a sheet
+ oSheets = oDoc.getSheets()
+ oSheet = oSheets.getByIndex(0)
+
+ ' filling cells with values...
+ oSheet.getCellByPosition(5, 5).setValue(15)
+ oSheet.getCellByPosition(1, 4).setValue(10)
+ oSheet.getCellByPosition(2, 0).setValue(-5.15)
+
+ Out.Log("Creating two annotations...")
+
+ oCell1 = oSheet.getCellByPosition(3, 5)
+ oAnno1 = oCell1.Annotation
+ oAnno1.setString("ScAnnotationsObj Anno 1")
+
+ oCell2 = oSheet.getCellByPosition(3, 6)
+ oAnno2 = oCell2.Annotation
+ oAnno2.setString("ScAnnotationsObj Anno 2")
+
+ ' get annotations
+ oAnnotations = oSheet.getAnnotations()
+
+ oObj = oAnnotations.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/script.xlb
new file mode 100644
index 000000000000..88e9f70551e4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAnnotationsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_CellAnnotationsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_CellAnnotationsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/sc_ScIndexEnumeration_CellAreaLinksEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/sc_ScIndexEnumeration_CellAreaLinksEnumeration.xba
new file mode 100644
index 000000000000..f16c3fd24433
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/sc_ScIndexEnumeration_CellAreaLinksEnumeration.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_CellAreaLinksEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_CellAreaLinksEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oLinks As Variant
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oLinks = oDoc.AreaLinks
+ oLinks.InsertAtPosition(com.sun.star.table.CellAddress(1, 2, 3), "dummy_fname", "a1:b2", "", "")
+
+ oObj = oLinks.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/script.xlb
new file mode 100644
index 000000000000..44b41c57f253
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_CellAreaLinksEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_CellAreaLinksEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_CellAreaLinksEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/sc_ScIndexEnumeration_DDELinksEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/sc_ScIndexEnumeration_DDELinksEnumeration.xba
new file mode 100644
index 000000000000..814dba0cebed
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/sc_ScIndexEnumeration_DDELinksEnumeration.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_DDELinksEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oTestDoc As Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_DDELinksEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim testDoc, oF As String
+ Dim oSheet As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+
+ oTestDoc = utils.loadTestDocument("ScDDELinksObj.sdc")
+
+ ' This construction of 2-way convertion of testdocs location
+ ' should take place here, because there is unnecessary slash at the end of
+ ' cTestDocsDir.
+ testDoc = utils.URL2Path(utils.Path2URL(cTestDocsDir &amp; "ScDDELinksObj.sdc"))
+
+ oF = "=DDE(""soffice"";""" &amp; testDoc &amp; """;""Sheet1.A1"")"
+
+ oSheet.getCellByPosition(1, 2).Formula = oF
+ oSheet.getCellByPosition(3, 4).Formula = oF
+ oSheet.getCellByPosition(5, 6).Formula = oF
+
+ oObj = oDoc.getPropertyValue("DDELinks").createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' close ScDDELinksObj.sdc
+Sub DisposeObj()
+ oTestDoc.dispose()
+end sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/script.xlb
new file mode 100644
index 000000000000..88efe2065201
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DDELinksEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_DDELinksEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_DDELinksEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/sc_ScIndexEnumeration_DataPilotFieldsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/sc_ScIndexEnumeration_DataPilotFieldsEnumeration.xba
new file mode 100644
index 000000000000..27271eefc8bc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/sc_ScIndexEnumeration_DataPilotFieldsEnumeration.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_DataPilotFieldsEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_DataPilotFieldsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim i as Integer,j As Integer
+ Dim oSheet as Object, oDataPilotDescriptor As Object
+ Dim oFields as Variant, oDataPilotTable As Variant
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+ Dim sCellAddress As New com.sun.star.table.CellAddress
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+
+ for i = 1 to 5
+ for j = 1 to 5
+ oSheet.getCellByPosition(i, j).Value = 2.5 * j + i
+ next j
+ next i
+
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 1
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ sCellAddress.Sheet = 0
+ sCellAddress.Column = 7
+ sCellAddress.Row = 8
+
+ oDataPilotTable = oSheet.getDataPilotTables
+ oDataPilotDescriptor = oDataPilotTable.createDataPilotDescriptor()
+ oDataPilotDescriptor.setSourceRange(sCellRangeAddress)
+
+ oDataPilotTable.insertNewByName(cObjectName, sCellAddress, oDataPilotDescriptor)
+
+ oFields = oDataPilotDescriptor.getDataPilotFields
+ oObj = oFields.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/script.xlb
new file mode 100644
index 000000000000..e8d82d06db78
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotFieldsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_DataPilotFieldsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_DataPilotFieldsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/sc_ScIndexEnumeration_DataPilotTablesEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/sc_ScIndexEnumeration_DataPilotTablesEnumeration.xba
new file mode 100644
index 000000000000..74078410d2b1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/sc_ScIndexEnumeration_DataPilotTablesEnumeration.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_DataPilotTablesEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_DataPilotTablesEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim i as Integer,j As Integer
+ Dim oSheet as Object, oDataPilotDescriptor As Object
+ Dim oDataPilotTables As Variant
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets.getByIndex(0)
+
+ for i = 1 to 5
+ for j = 1 to 5
+ oSheet.getCellByPosition(i, j).Value = 2.5 * j + i
+ next j
+ next i
+
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 1
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ Dim sCellAddress As New com.sun.star.table.CellAddress
+ sCellAddress.Sheet = 0
+ sCellAddress.Column = 7
+ sCellAddress.Row = 8
+
+ oDataPilotTables = oSheet.getDataPilotTables
+ oDataPilotDescriptor = oDataPilotTables.createDataPilotDescriptor()
+ oDataPilotDescriptor.setSourceRange(sCellRangeAddress)
+
+ oDataPilotTables.insertNewByName(cObjectName, sCellAddress, oDataPilotDescriptor)
+
+ oObj = oDataPilotTables.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/script.xlb
new file mode 100644
index 000000000000..39577313ecb2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DataPilotTablesEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_DataPilotTablesEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_DataPilotTablesEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/sc_ScIndexEnumeration_DatabaseRangesEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/sc_ScIndexEnumeration_DatabaseRangesEnumeration.xba
new file mode 100644
index 000000000000..6e78dc566ce4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/sc_ScIndexEnumeration_DatabaseRangesEnumeration.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_DatabaseRangesEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_DatabaseRangesEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oRanges As Variant
+ Dim sCellRangeAddress As New com.sun.star.table.CellRangeAddress
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ sCellRangeAddress.Sheet = 0
+ sCellRangeAddress.StartColumn = 1
+ sCellRangeAddress.StartRow = 1
+ sCellRangeAddress.EndColumn = 5
+ sCellRangeAddress.EndRow = 5
+
+ oRanges = oDoc.getPropertyValue("DatabaseRanges")
+ oRanges.addNewByName(cObjectName, sCellRangeAddress)
+
+ oObj = oRanges.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/script.xlb
new file mode 100644
index 000000000000..4fe8484dd7ff
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_DatabaseRangesEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_DatabaseRangesEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_DatabaseRangesEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/sc_ScIndexEnumeration_FunctionDescriptionEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/sc_ScIndexEnumeration_FunctionDescriptionEnumeration.xba
new file mode 100644
index 000000000000..e4db70d1e080
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/sc_ScIndexEnumeration_FunctionDescriptionEnumeration.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_FunctionDescriptionEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+ Dim oFD as Object
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_FunctionDescriptionEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oFD = createUnoService("com.sun.star.sheet.FunctionDescriptions")
+
+ oObj = oFD.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/script.xlb
new file mode 100644
index 000000000000..a1ed8d05a5e1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_FunctionDescriptionEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_FunctionDescriptionEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_FunctionDescriptionEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/sc_ScIndexEnumeration_LabelRangesEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/sc_ScIndexEnumeration_LabelRangesEnumeration.xba
new file mode 100644
index 000000000000..fb7e96bb4819
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/sc_ScIndexEnumeration_LabelRangesEnumeration.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_LabelRangesEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_LabelRangesEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim RangeAddress1 As New com.sun.star.table.CellRangeAddress
+ Dim RangeAddress2 As New com.sun.star.table.CellRangeAddress
+ Dim oRanges As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oRanges = oDoc.getPropertyValue("ColumnLabelRanges")
+ RangeAddress1.Sheet = 0
+ RangeAddress1.StartColumn = 1
+ RangeAddress1.StartRow = 1
+ RangeAddress1.EndColumn = 2
+ RangeAddress1.EndRow = 2
+
+ RangeAddress2.Sheet = 0
+ RangeAddress2.StartColumn = 5
+ RangeAddress2.StartRow = 5
+ RangeAddress2.EndColumn = 6
+ RangeAddress2.EndRow = 7
+
+ oRanges.addNew(RangeAddress1, RangeAddress2)
+
+ oObj = oRanges.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/script.xlb
new file mode 100644
index 000000000000..2606b80616ed
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_LabelRangesEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_LabelRangesEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_LabelRangesEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/sc_ScIndexEnumeration_NamedRangesEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/sc_ScIndexEnumeration_NamedRangesEnumeration.xba
new file mode 100644
index 000000000000..73ae78100bbd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/sc_ScIndexEnumeration_NamedRangesEnumeration.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_NamedRangesEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_NamedRangesEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oNamedRanges As Object
+ Dim sBase As New com.sun.star.table.CellAddress
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oNamedRanges = oDoc.getPropertyValue("NamedRanges")
+
+ sBase.sheet = 0
+ sBase.Column = 0
+ sBase.Row = 0
+
+ oNamedRanges.addNewByNAme(cObjectName, "A1:B3", sBase, 0)
+
+ oObj = oNamedRanges.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/script.xlb
new file mode 100644
index 000000000000..ebbf4ec59a79
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_NamedRangesEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_NamedRangesEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_NamedRangesEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/sc_ScIndexEnumeration_ScenariosEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/sc_ScIndexEnumeration_ScenariosEnumeration.xba
new file mode 100644
index 000000000000..940d487f3f15
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/sc_ScIndexEnumeration_ScenariosEnumeration.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_ScenariosEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_ScenariosEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim aCRA(0) As New com.sun.star.table.CellRangeAddress
+ Dim oSheet As Object
+ Dim oScenarios as Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets(0)
+ oSheet.getCellByPosition(0, 1).Value = 1
+ oSheet.getCellByPosition(3, 2).Value = 0
+ oSheet.getCellByPosition(4, 5).Value = -1
+
+ oScenarios = oSheet.getScenarios()
+
+ aCRA(0).Sheet = 0
+ aCRA(0).StartColumn = 0
+ aCRA(0).StartRow = 0
+ aCRA(0).EndColumn = 5
+ aCRA(0).EndRow = 5
+
+ oScenarios.addNewByName("Scenario1", aCRA(), "Comment1")
+ oScenarios.addNewByName("Scenario2", aCRA(), "Comment2")
+
+ oObj = oScenarios.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/script.xlb
new file mode 100644
index 000000000000..365a98ba583d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_ScenariosEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_ScenariosEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_ScenariosEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/sc_ScIndexEnumeration_SheetCellRangesEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/sc_ScIndexEnumeration_SheetCellRangesEnumeration.xba
new file mode 100644
index 000000000000..16947440d0d1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/sc_ScIndexEnumeration_SheetCellRangesEnumeration.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_SheetCellRangesEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_SheetCellRangesEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+ Dim oRanges as Object
+ Dim oInstance as Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oRanges = oDoc.createInstance("com.sun.star.sheet.SheetCellRanges")
+ oSheet = oDoc.Sheets(1)
+
+ oInstance=oSheet.getCellRangeByName("A1:C5")
+ oRanges.insertByName("CellRange1", oInstance)
+ oInstance=oSheet.getCellRangeByName("A7:D9")
+ oRanges.insertByName("CellRange2", oInstance)
+ oInstance=oSheet.getCellRangeByName("E1:E42")
+ oRanges.insertByName("CellRange3", oInstance)
+ oInstance=oSheet.getCellRangeByName("A10:B10")
+ oRanges.insertByName("CellRange4", oInstance)
+
+ oObj = oRanges.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/script.xlb
new file mode 100644
index 000000000000..450441480b9b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetCellRangesEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_SheetCellRangesEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_SheetCellRangesEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/sc_ScIndexEnumeration_SheetLinksEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/sc_ScIndexEnumeration_SheetLinksEnumeration.xba
new file mode 100644
index 000000000000..d20d11a36920
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/sc_ScIndexEnumeration_SheetLinksEnumeration.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_SheetLinksEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_SheetLinksEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oSheet As Object
+ Dim sURL As String
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ sURL = cTestDocsDir &amp; "ScDDELinksObj.sdc"
+ oSheet.link(sURL, "Sheet1", "", "", com.sun.star.sheet.SheetLinkMode.VALUE)
+
+ oObj = oDoc.getPropertyValue("SheetLinks").createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/script.xlb
new file mode 100644
index 000000000000..6e60465caf1e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SheetLinksEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_SheetLinksEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_SheetLinksEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/sc_ScIndexEnumeration_SpreadsheetViewPanesEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/sc_ScIndexEnumeration_SpreadsheetViewPanesEnumeration.xba
new file mode 100644
index 000000000000..b0d989c08efa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/sc_ScIndexEnumeration_SpreadsheetViewPanesEnumeration.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_SpreadsheetViewPanesEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_SpreadsheetViewPanesEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oController As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oController = oDoc.getCurrentController()
+ oObj = oController.createEnumeration()
+ wait(1000)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if not isNULL(oDoc) then oDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/script.xlb
new file mode 100644
index 000000000000..23170d0672c2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_SpreadsheetViewPanesEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_SpreadsheetViewPanesEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/sc_ScIndexEnumeration_SpreadsheetsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/sc_ScIndexEnumeration_SpreadsheetsEnumeration.xba
new file mode 100644
index 000000000000..952020d42e35
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/sc_ScIndexEnumeration_SpreadsheetsEnumeration.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_SpreadsheetsEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_SpreadsheetsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheets as Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheets = oDoc.getSheets()
+ oObj = oSheets.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/script.xlb
new file mode 100644
index 000000000000..bb473296b67a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SpreadsheetsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_SpreadsheetsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_SpreadsheetsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/sc_ScIndexEnumeration_SubTotalFieldsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/sc_ScIndexEnumeration_SubTotalFieldsEnumeration.xba
new file mode 100644
index 000000000000..da63ca49dd89
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/sc_ScIndexEnumeration_SubTotalFieldsEnumeration.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_SubTotalFieldsEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_SubTotalFieldsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim SubTotalDsc As Object
+ Dim SubTotalCol(0) As New com.sun.star.sheet.SubTotalColumn
+ Dim oSTF as Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ SubTotalDsc = oDoc.Sheets(0).createSubTotalDescriptor(true)
+ SubTotalCol(0).Column = 5
+ SubTotalCol(0).Function = com.sun.star.sheet.GeneralFunction.SUM
+
+ SubTotalDsc.addNew(SubTotalCol(), 1)
+ oSTF = SubTotalDsc.getByIndex(0)
+ oObj = SubTotalDsc.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/script.xlb
new file mode 100644
index 000000000000..b88d56a9577d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_SubTotalFieldsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_SubTotalFieldsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_SubTotalFieldsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/sc_ScIndexEnumeration_TableAutoFormatEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/sc_ScIndexEnumeration_TableAutoFormatEnumeration.xba
new file mode 100644
index 000000000000..801e50642176
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/sc_ScIndexEnumeration_TableAutoFormatEnumeration.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_TableAutoFormatEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_TableAutoFormatEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oTAF as Object
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oTAF = createUNOService("com.sun.star.sheet.TableAutoFormats")
+ oObj = oTAF.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/script.xlb
new file mode 100644
index 000000000000..1cf0d165928d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableAutoFormatEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_TableAutoFormatEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_TableAutoFormatEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/sc_ScIndexEnumeration_TableChartsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/sc_ScIndexEnumeration_TableChartsEnumeration.xba
new file mode 100644
index 000000000000..f6f8e38ed8c9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/sc_ScIndexEnumeration_TableChartsEnumeration.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_TableChartsEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_TableChartsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet As Object
+ Dim i as Integer,j As Integer
+ Dim oCharts as Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+
+ ' Filling some cells with the text
+ for i = 1 to 6
+ oSheet.getCellByPosition(0, i).setString("Row" &amp; i)
+ oSheet.getCellByPosition(i, 0).setString("Col" &amp; i)
+ next i
+
+ for i = 1 to 6
+ for j = 1 to 6
+ oSheet.getCellByPosition(i, j).Value = (i + 1) * j
+ next j
+ next i
+
+ Dim tAddr As New com.sun.star.table.CellRangeAddress
+ tAddr.Sheet = 0
+ tAddr.StartRow = 0
+ tAddr.StartColumn = 0
+ tAddr.EndRow = 6
+ tAddr.EndColumn = 6
+
+ Dim tRect As New com.sun.star.awt.Rectangle
+ tRect.X = 200
+ tRect.Y = 200
+ tRect.Width = 10000
+ tRect.Height = 5000
+
+ oCharts = oSheet.getCharts()
+
+ Dim oRanges(0) As New com.sun.star.table.CellRangeAddress
+ oRanges(0) = tAddr
+ oCharts.addNewByName(cObjectName, tRect, oRanges(), true, true)
+
+ oObj = oCharts.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/script.xlb
new file mode 100644
index 000000000000..735ea1c6f418
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableChartsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_TableChartsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_TableChartsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/sc_ScIndexEnumeration_TableColumnsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/sc_ScIndexEnumeration_TableColumnsEnumeration.xba
new file mode 100644
index 000000000000..600102ff93f8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/sc_ScIndexEnumeration_TableColumnsEnumeration.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_TableColumnsEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_TableColumnsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oTable as Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oTable = oDoc.Sheets(0)
+ oObj = oTable.getColumns().createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/script.xlb
new file mode 100644
index 000000000000..e41f00088804
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableColumnsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_TableColumnsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_TableColumnsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/sc_ScIndexEnumeration_TableConditionalEntryEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/sc_ScIndexEnumeration_TableConditionalEntryEnumeration.xba
new file mode 100644
index 000000000000..43385cbc3c6a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/sc_ScIndexEnumeration_TableConditionalEntryEnumeration.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_TableConditionalEntryEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_TableConditionalEntryEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oSheet, oConditionalFormat As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets(0)
+ oSheet.getCellByPosition(5, 5).Value = 15
+ oSheet.getCellByPosition(1, 4).Value = 10
+ oSheet.getCellByPosition(2, 0).Value = -5.15
+
+ oConditionalFormat = oSheet.getPropertyValue("ConditionalFormat")
+
+ Dim oCellAddress As New com.sun.star.table.CellAddress
+ oCellAddress.Sheet = 0
+ oCellAddress.Row = 1
+ oCellAddress.Column = 5
+
+ Dim oProps(4) As New com.sun.star.beans.PropertyValue
+ oProps(0).Name = "StyleName"
+ oProps(0).Value = "Result2"
+ oProps(1).Name = "Formula1"
+ oProps(1).Value = "$Sheet1.$B$5"
+ oProps(2).Name = "Formula2"
+ oProps(2).Value = ""
+ oProps(3).Name = "Operator"
+ oProps(3).Value = com.sun.star.sheet.ConditionOperator.EQUAL
+ oProps(4).Name = "SourcePosition"
+ oProps(4).Value = oCellAddress
+
+ oConditionalFormat.AddNew(oProps())
+
+ oCellAddress.Sheet = 0
+ oCellAddress.Row = 1
+ oCellAddress.Column = 5
+
+ oProps(0).Name = "StyleName"
+ oProps(0).Value = "Result2"
+ oProps(1).Name = "Formula1"
+ oProps(1).Value = "$Sheet1.$B$3"
+ oProps(2).Name = "Formula2"
+ oProps(2).Value = ""
+ oProps(3).Name = "Operator"
+ oProps(3).Value = com.sun.star.sheet.ConditionOperator.EQUAL
+ oProps(4).Name = "SourcePosition"
+ oProps(4).Value = oCellAddress
+
+ oConditionalFormat.AddNew(oProps())
+
+ oObj = oConditionalFormat.createEnumeration()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/script.xlb
new file mode 100644
index 000000000000..ec398ca4e48e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableConditionalEntryEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_TableConditionalEntryEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_TableConditionalEntryEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/sc_ScIndexEnumeration_TableRowsEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/sc_ScIndexEnumeration_TableRowsEnumeration.xba
new file mode 100644
index 000000000000..f9d17fc3d403
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/sc_ScIndexEnumeration_TableRowsEnumeration.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_TableRowsEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_TableRowsEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oTable as Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oTable = oDoc.Sheets(0)
+ oObj = oTable.getRows().createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/script.xlb
new file mode 100644
index 000000000000..7e5d3684dc1a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TableRowsEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_TableRowsEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_TableRowsEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/sc_ScIndexEnumeration_TextFieldEnumeration.xba b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/sc_ScIndexEnumeration_TextFieldEnumeration.xba
new file mode 100644
index 000000000000..400f93009962
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/sc_ScIndexEnumeration_TextFieldEnumeration.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScIndexEnumeration_TextFieldEnumeration" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScIndexEnumeration_TextFieldEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oSheet as Object, oCell As Object
+ Dim oTextField as Object, oTextField1 As Object
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oTextField = oDoc.createInstance("com.sun.star.text.TextField.URL")
+
+ oSheet = oDoc.Sheets(0)
+ oCell = oSheet.getCellByPosition(5, 5)
+ oCell.insertTextContent(oCell.createTextCursor, oTextField, true)
+
+ oObj = oCell.getTextFields().createEnumeration()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/script.xlb
new file mode 100644
index 000000000000..45af83a841cb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScIndexEnumeration_TextFieldEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScIndexEnumeration_TextFieldEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScIndexEnumeration_TextFieldEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/sc_ScLabelRangeObj.xba b/qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/sc_ScLabelRangeObj.xba
new file mode 100644
index 000000000000..935bb0b40f99
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/sc_ScLabelRangeObj.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScLabelRangeObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScLabelRangeObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim RangeAddress1 As New com.sun.star.table.CellRangeAddress
+ Dim RangeAddress2 As New com.sun.star.table.CellRangeAddress
+ Dim oRanges As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oRanges = oDoc.getPropertyValue("ColumnLabelRanges")
+ RangeAddress1.Sheet = 0
+ RangeAddress1.StartColumn = 1
+ RangeAddress1.StartRow = 1
+ RangeAddress1.EndColumn = 2
+ RangeAddress1.EndRow = 2
+
+ RangeAddress2.Sheet = 0
+ RangeAddress2.StartColumn = 5
+ RangeAddress2.StartRow = 5
+ RangeAddress2.EndColumn = 6
+ RangeAddress2.EndRow = 7
+
+ oRanges.addNew(RangeAddress1, RangeAddress2)
+
+ oObj = oRanges(0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/script.xlb
new file mode 100644
index 000000000000..e7a39e61cfab
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScLabelRangeObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScLabelRangeObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScLabelRangeObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/sc_ScLabelRangesObj.xba b/qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/sc_ScLabelRangesObj.xba
new file mode 100644
index 000000000000..482c89c426ca
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/sc_ScLabelRangesObj.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScLabelRangesObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScLabelRangesObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim RangeAddress1 As New com.sun.star.table.CellRangeAddress
+ Dim RangeAddress2 As New com.sun.star.table.CellRangeAddress
+ Dim oRanges As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oRanges = oDoc.getPropertyValue("ColumnLabelRanges")
+ RangeAddress1.Sheet = 0
+ RangeAddress1.StartColumn = 1
+ RangeAddress1.StartRow = 1
+ RangeAddress1.EndColumn = 2
+ RangeAddress1.EndRow = 2
+
+ RangeAddress2.Sheet = 0
+ RangeAddress2.StartColumn = 5
+ RangeAddress2.StartRow = 5
+ RangeAddress2.EndColumn = 6
+ RangeAddress2.EndRow = 7
+
+ oRanges.addNew(RangeAddress1, RangeAddress2)
+
+ oObj = oRanges
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/script.xlb
new file mode 100644
index 000000000000..db8dd5aed90f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScLabelRangesObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScLabelRangesObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScLabelRangesObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScModelObj/sc_ScModelObj.xba b/qadevOOo/tests/basic/mod/sc/ScModelObj/sc_ScModelObj.xba
new file mode 100644
index 000000000000..fdc39142d5dc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScModelObj/sc_ScModelObj.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScModelObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oXModelController as Object
+Global oXModelSel as Object
+Global oXModelToSel as Object
+Global oComponentInstance As Object
+Global oControllerDoc As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScModelObj
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oComponentInstance = utils.createDocument("scalc", cObjectName &amp; "1")
+ oControllerDoc = utils.createDocument("scalc", cObjectName &amp; "2")
+
+ oObj = oDoc
+
+ oXModelToSel = oDoc.Sheets(0).getCellByPosition(2,3)
+ oXModelController = oControllerDoc.getCurrentController()
+ oXModelSel = oDoc.getCurrentController()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oComponentInstance) then oComponentInstance.dispose()
+ if NOT isNULL(oControllerDoc) then oControllerDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScModelObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScModelObj/script.xlb
new file mode 100644
index 000000000000..05c588dacb23
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScModelObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScModelObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScModelObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/sc_ScNamedRangeObj.xba b/qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/sc_ScNamedRangeObj.xba
new file mode 100644
index 000000000000..020ef20081e3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/sc_ScNamedRangeObj.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScNamedRangeObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oReferredCells As Variant
+
+' Required by com.sun.star.container.XNamed
+Global cNameToSet As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScNamedRangeObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oNamedRanges As Variant
+ Dim sBase As New com.sun.star.table.CellAddress
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oNamedRanges = oDoc.getPropertyValue("NamedRanges")
+
+ sBase.sheet = 0
+ sBase.Column = 0
+ sBase.Row = 0
+
+ oNamedRanges.addNewByName(cObjectName, "A1:B3", sBase, 0)
+
+ Dim ReferredCells As New com.sun.star.table.CellRangeAddress
+ ReferredCells.Sheet = 0
+ ReferredCells.StartRow = 0
+ ReferredCells.StartColumn = 0
+ ReferredCells.EndRow = 2
+ ReferredCells.EndColumn = 1
+
+ oReferredCells = ReferredCells
+
+ oObj = oNamedRanges.getByName(cObjectName)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/script.xlb
new file mode 100644
index 000000000000..70955626df3a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScNamedRangeObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScNamedRangeObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScNamedRangeObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/sc_ScNamedRangesObj.xba b/qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/sc_ScNamedRangesObj.xba
new file mode 100644
index 000000000000..d9bf1c13229e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/sc_ScNamedRangesObj.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScNamedRangesObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScNamedRangesObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oNamedRanges As Object
+ Dim sBase As New com.sun.star.table.CellAddress
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oNamedRanges = oDoc.getPropertyValue("NamedRanges")
+
+ sBase.sheet = 0
+ sBase.Column = 0
+ sBase.Row = 0
+
+ oNamedRanges.addNewByNAme(cObjectName, "A1:B3", sBase, 0)
+
+ oObj = oNamedRanges
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/script.xlb
new file mode 100644
index 000000000000..7eaf3657e2be
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScNamedRangesObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScNamedRangesObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScNamedRangesObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScPageObj/sc_ScPageObj.xba b/qadevOOo/tests/basic/mod/sc/ScPageObj/sc_ScPageObj.xba
new file mode 100644
index 000000000000..b2863fe1d39f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScPageObj/sc_ScPageObj.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScPageObj" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' "com::sun::star::drawing::XShapes" needs the following Global variables:
+Global oXShapeInstance As Object
+
+' "com::sun::star::drawing::XShapeGrouper" needs the following Global variables:
+Global oGrouperCollection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScPageObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oDP as Object
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oGrouperCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+
+ oDP = oDoc.getDrawPages()
+
+ oDP.insertNewByIndex(0)
+ oDP.insertNewByIndex(1)
+
+ oObj = oDP.getByIndex(0)
+ addShape(oObj,1)
+ addShape(oObj,2)
+ addShape(oObj,3)
+ addShape(oObj,4)
+
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oGrouperCollection.Add(oObj.getByIndex(2))
+ oGrouperCollection.Add(oObj.getByIndex(3))
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function addShape(oPage as Object, no as Integer) As Object
+On Error Goto ErrHndl
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oShape As Object
+ Dim servNames As Variant
+
+ aPoint.x = 1000 * no
+ aPoint.y = 1000 * no
+ aSize.Width = 2000
+ aSize.Height = 1000
+ oShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oShape.Size = aSize
+ oShape.Position = aPoint
+
+ oPage.add(oShape)
+
+ addShapeToDrawDoc() = oShape
+Exit Function
+ErrHndl:
+ Test.Exception()
+End Function
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScPageObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScPageObj/script.xlb
new file mode 100644
index 000000000000..9a4815c1a3d9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScPageObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScPageObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScPageObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/sc_ScRecentFunctionsObj.xba b/qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/sc_ScRecentFunctionsObj.xba
new file mode 100644
index 000000000000..632997d122e7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/sc_ScRecentFunctionsObj.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScRecentFunctionsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.sheet.XRecentFunctions
+Global AllFunctions As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScRecentFunctionsObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.sheet.RecentFunctions")
+ AllFunctions = createUnoService("com.sun.star.sheet.FunctionDescriptions")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/script.xlb
new file mode 100644
index 000000000000..0c346580562d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScRecentFunctionsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScRecentFunctionsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScRecentFunctionsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScScenariosObj/sc_ScScenariosObj.xba b/qadevOOo/tests/basic/mod/sc/ScScenariosObj/sc_ScScenariosObj.xba
new file mode 100644
index 000000000000..1397f01ce0e1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScScenariosObj/sc_ScScenariosObj.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScScenariosObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScScenariosObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim aCRA(0) As New com.sun.star.table.CellRangeAddress
+ Dim oSheet As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets(0)
+ oSheet.getCellByPosition(0, 1).Value = 1
+ oSheet.getCellByPosition(3, 2).Value = 0
+ oSheet.getCellByPosition(4, 5).Value = -1
+
+ oObj = oSheet.getScenarios()
+
+ aCRA(0).Sheet = 0
+ aCRA(0).StartColumn = 0
+ aCRA(0).StartRow = 0
+ aCRA(0).EndColumn = 5
+ aCRA(0).EndRow = 5
+
+ oObj.addNewByName("Scenario1", aCRA(), "Comment1")
+ oObj.addNewByName("Scenario2", aCRA(), "Comment2")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScScenariosObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScScenariosObj/script.xlb
new file mode 100644
index 000000000000..3bd24d608918
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScScenariosObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScScenariosObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScScenariosObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/sc_ScSheetLinkObj.xba b/qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/sc_ScSheetLinkObj.xba
new file mode 100644
index 000000000000..7a7160f07d1f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/sc_ScSheetLinkObj.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScSheetLinkObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required by com.sun.star.container.XNamed
+Global cNameToSet As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScSheetLinkObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet, oLinks As Object
+ Dim sURL As String
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ sURL = cTestDocsDir &amp; "ScSheetLinksObj.sdc"
+ oSheet.link(sURL, "Sheet1", "", "", com.sun.star.sheet.SheetLinkMode.VALUE)
+ oLinks = oDoc.getPropertyValue("SheetLinks")
+
+ oObj = oLinks.getByIndex(0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/script.xlb
new file mode 100644
index 000000000000..07b533e4b1b0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSheetLinkObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScSheetLinkObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScSheetLinkObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/sc_ScSheetLinksObj.xba b/qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/sc_ScSheetLinksObj.xba
new file mode 100644
index 000000000000..0a2cd6bf5ae1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/sc_ScSheetLinksObj.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScSheetLinksObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScSheetLinksObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+ Dim sURL As String
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ sURL = cTestDocsDir &amp; "ScDDELinksObj.sdc"
+ oSheet.link(sURL, "Sheet1", "", "", com.sun.star.sheet.SheetLinkMode.VALUE)
+
+ oObj = oDoc.getPropertyValue("SheetLinks")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/script.xlb
new file mode 100644
index 000000000000..62787f29736b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSheetLinksObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScSheetLinksObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScSheetLinksObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/sc_ScSpreadsheetSettings.xba b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/sc_ScSpreadsheetSettings.xba
new file mode 100644
index 000000000000..d55538b44064
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/sc_ScSpreadsheetSettings.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScSpreadsheetSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScSpreadsheetSettings
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet, oSettings As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oSettings = createUnoService("com.sun.star.sheet.GlobalSheetSettings")
+
+ oObj = oSettings
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/script.xlb b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/script.xlb
new file mode 100644
index 000000000000..a1ffc4f1a456
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScSpreadsheetSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScSpreadsheetSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/sc_ScSpreadsheetSettingsObj.xba b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/sc_ScSpreadsheetSettingsObj.xba
new file mode 100644
index 000000000000..db445896a86e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/sc_ScSpreadsheetSettingsObj.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScSpreadsheetSettingsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScSpreadsheetSettingsObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/script.xlb
new file mode 100644
index 000000000000..303297ae4c64
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSpreadsheetSettingsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScSpreadsheetSettingsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScSpreadsheetSettingsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/sc_ScStyleFamiliesObj.xba b/qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/sc_ScStyleFamiliesObj.xba
new file mode 100644
index 000000000000..030c130e13a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/sc_ScStyleFamiliesObj.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScStyleFamiliesObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScStyleFamiliesObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc.StyleFamilies
+
+ ' nGlobalLong is 2 "CellStyles" and "PageStyles"
+ nGlobalLong = 2
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/script.xlb
new file mode 100644
index 000000000000..5e7e3bee29ba
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScStyleFamiliesObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScStyleFamiliesObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScStyleFamiliesObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/sc_ScStyleFamilyObj.xba b/qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/sc_ScStyleFamilyObj.xba
new file mode 100644
index 000000000000..cfef8896328e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/sc_ScStyleFamilyObj.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScStyleFamilyObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+Global oInstance As Object
+Global cNameToReplace As String
+Global oReplaceInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScStyleFamilyObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc.StyleFamilies.getByName("PageStyles")
+
+ ' creating differen formats
+ oInstance = oDoc.createInstance("com.sun.star.style.PageStyle")
+ oInstance.BackgroundColor = 65280
+ oObj.insertByName(cObjectName &amp; "_Green", oInstance)
+
+ oInstance = oDoc.createInstance("com.sun.star.style.PageStyle")
+ oInstance.HeaderOn = false
+ oInstance.FooterOn = true
+ oObj.insertByName(cObjectName &amp; "_FooterOn", oInstance)
+
+ oReplaceInstance = oDoc.createInstance("com.sun.star.style.PageStyle")
+ oReplaceInstance.IsLandscape = true
+ cNameToReplace = cObjectName &amp; "_FooterOn"
+
+ oInstance = oDoc.createInstance("com.sun.star.style.PageStyle")
+ oInstance.HeaderOn = true
+ oInstance.FooterOn = false
+
+ nGlobalLong = oObj.Count
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/script.xlb
new file mode 100644
index 000000000000..72004d2ef4e1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScStyleFamilyObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScStyleFamilyObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScStyleFamilyObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScStyleObj/sc_ScStyleObj.xba b/qadevOOo/tests/basic/mod/sc/ScStyleObj/sc_ScStyleObj.xba
new file mode 100644
index 000000000000..383f68fadd08
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScStyleObj/sc_ScStyleObj.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScStyleObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+
+' Requiered for com.sun.star.style.XStyle
+ Global oStandartStyle As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScStyleObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oStyleFamilies, aElementNames As Variant
+ Dim oCell, oStyleFamily, oNew As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oCell = oDoc.Sheets(0).getCellByPosition(0, 0)
+ oStyleFamilies = oDoc.StyleFamilies
+ aElementNames = oStyleFamilies.Elementnames
+ oNew = oDoc.createInstance("com.sun.star.style.CellStyle")
+ oStyleFamily = oStyleFamilies.getByIndex(0)'
+ oStyleFamily.insertByName("Dummy", oNew)
+ oObj = oStyleFamily.getByName("Dummy")
+
+ oCell.setPropertyValue("CellStyle", "Dummy")
+
+ cNameToSet = aElementNames(0)
+ oStandartStyle = oStyleFamily.getByIndex(0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScStyleObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScStyleObj/script.xlb
new file mode 100644
index 000000000000..50fa02f3da2c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScStyleObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScStyleObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScStyleObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/sc_ScSubTotalDescriptorBase.xba b/qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/sc_ScSubTotalDescriptorBase.xba
new file mode 100644
index 000000000000..7c90e914f6f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/sc_ScSubTotalDescriptorBase.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScSubTotalDescriptorBase" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScSubTotalDescriptorBase
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim SubTotalDsc As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ SubTotalDsc = oDoc.Sheets(0).createSubTotalDescriptor(true)
+ oObj = SubTotalDsc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/script.xlb b/qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/script.xlb
new file mode 100644
index 000000000000..c3a54021d887
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSubTotalDescriptorBase/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScSubTotalDescriptorBase" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScSubTotalDescriptorBase"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/sc_ScSubTotalFieldObj.xba b/qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/sc_ScSubTotalFieldObj.xba
new file mode 100644
index 000000000000..ed5d6056e17d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/sc_ScSubTotalFieldObj.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScSubTotalFieldObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScSubTotalFieldObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim SubTotalDsc As Object
+ Dim SubTotalCol(0) As New com.sun.star.sheet.SubTotalColumn
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ SubTotalDsc = oDoc.Sheets(0).createSubTotalDescriptor(true)
+ SubTotalCol(0).Column = 5
+ SubTotalCol(0).Function = com.sun.star.sheet.GeneralFunction.SUM
+
+ SubTotalDsc.addNew(SubTotalCol(), 1)
+ oObj = SubTotalDsc.getByIndex(0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/script.xlb
new file mode 100644
index 000000000000..82bd8e5d8093
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScSubTotalFieldObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScSubTotalFieldObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScSubTotalFieldObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTabViewObj/sc_ScTabViewObj.xba b/qadevOOo/tests/basic/mod/sc/ScTabViewObj/sc_ScTabViewObj.xba
new file mode 100644
index 000000000000..b0922cc39321
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTabViewObj/sc_ScTabViewObj.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTabViewObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.view.XSelectionSupplier
+ Global SelectableObj1 As Object
+ Global SelectableObj2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTabViewObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc.currentController
+ SelectableObj1 = oDoc.Sheets(0).getCellRangeByPosition(1, 1, 4, 5)
+ SelectableObj2 = oDoc.Sheets(0).getCellRangeByPosition(2, 4, 6, 7)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTabViewObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTabViewObj/script.xlb
new file mode 100644
index 000000000000..c5c89921ff64
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTabViewObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTabViewObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTabViewObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableColumnObj/sc_ScTableColumnObj.xba b/qadevOOo/tests/basic/mod/sc/ScTableColumnObj/sc_ScTableColumnObj.xba
new file mode 100644
index 000000000000..c416d50df2d8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableColumnObj/sc_ScTableColumnObj.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableColumnObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableColumnObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet, oColumn, oCellRange As Object
+ Dim oColumns As Variant
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oSheet = oDoc.Sheets(0)
+ oCellRange = oSheet.getCellRangeByPosition(0,0,10,10)
+ oColumns = oCellRange.getColumns
+ oColumn = oColumns.getByIndex(5)
+
+ oObj = oColumn
+ cNameToSet = "fixed"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableColumnObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableColumnObj/script.xlb
new file mode 100644
index 000000000000..eb8c487202f9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableColumnObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableColumnObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableColumnObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/sc_ScTableColumnsObj.xba b/qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/sc_ScTableColumnsObj.xba
new file mode 100644
index 000000000000..fbf62a1c43bb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/sc_ScTableColumnsObj.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableColumnsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for XTableColumns
+ Global oTable As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableColumnsObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oTable = oDoc.Sheets(0)
+ oObj = oTable.getColumns()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/script.xlb
new file mode 100644
index 000000000000..9e80c2978193
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableColumnsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableColumnsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableColumnsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/sc_ScTableConditionalEntry.xba b/qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/sc_ScTableConditionalEntry.xba
new file mode 100644
index 000000000000..e6956b4cb952
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/sc_ScTableConditionalEntry.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableConditionalEntry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableConditionalEntry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oSheet, oConditionalFormat As Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets(0)
+ oSheet.getCellByPosition(5, 5).Value = 15
+ oSheet.getCellByPosition(1, 4).Value = 10
+ oSheet.getCellByPosition(2, 0).Value = -5.15
+
+ oConditionalFormat = oSheet.getPropertyValue("ConditionalFormat")
+
+ Dim oCellAddress As New com.sun.star.table.CellAddress
+ oCellAddress.Sheet = 0
+ oCellAddress.Row = 1
+ oCellAddress.Column = 5
+
+ Dim oProps(4) As New com.sun.star.beans.PropertyValue
+ oProps(0).Name = "StyleName"
+ oProps(0).Value = "Result2"
+ oProps(1).Name = "Formula1"
+ oProps(1).Value = "$Sheet1.$B$5"
+ oProps(2).Name = "Formula2"
+ oProps(2).Value = ""
+ oProps(3).Name = "Operator"
+ oProps(3).Value = com.sun.star.sheet.ConditionOperator.EQUAL
+ oProps(4).Name = "SourcePosition"
+ oProps(4).Value = oCellAddress
+
+ oConditionalFormat.AddNew(oProps())
+
+ oCellAddress.Sheet = 0
+ oCellAddress.Row = 1
+ oCellAddress.Column = 5
+
+ oProps(0).Name = "StyleName"
+ oProps(0).Value = "Result2"
+ oProps(1).Name = "Formula1"
+ oProps(1).Value = "$Sheet1.$B$3"
+ oProps(2).Name = "Formula2"
+ oProps(2).Value = ""
+ oProps(3).Name = "Operator"
+ oProps(3).Value = com.sun.star.sheet.ConditionOperator.EQUAL
+ oProps(4).Name = "SourcePosition"
+ oProps(4).Value = oCellAddress
+
+ oConditionalFormat.AddNew(oProps())
+
+ oObj = oConditionalFormat.getByIndex(0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/script.xlb
new file mode 100644
index 000000000000..4dcc8f67ca63
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableConditionalEntry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableConditionalEntry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableConditionalEntry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/sc_ScTableConditionalFormat.xba b/qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/sc_ScTableConditionalFormat.xba
new file mode 100644
index 000000000000..cd19406e9f35
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/sc_ScTableConditionalFormat.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableConditionalFormat" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableConditionalFormat
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets(0)
+ oSheet.getCellByPosition(5, 5).Value = 15
+ oSheet.getCellByPosition(1, 4).Value = 10
+ oSheet.getCellByPosition(2, 0).Value = -5.15
+
+ oObj = oSheet.getPropertyValue("ConditionalFormat")
+
+ Dim oCellAddress As New com.sun.star.table.CellAddress
+ oCellAddress.Sheet = 0
+ oCellAddress.Row = 1
+ oCellAddress.Column = 5
+
+ Dim oProps(4) As New com.sun.star.beans.PropertyValue
+ oProps(0).Name = "StyleName"
+ oProps(0).Value = "Result2"
+ oProps(1).Name = "Formula1"
+ oProps(1).Value = "$Sheet1.$B$5"
+ oProps(2).Name = "Formula2"
+ oProps(2).Value = ""
+ oProps(3).Name = "Operator"
+ oProps(3).Value = com.sun.star.sheet.ConditionOperator.EQUAL
+ oProps(4).Name = "SourcePosition"
+ oProps(4).Value = oCellAddress
+
+ oObj.AddNew(oProps())
+
+ oCellAddress.Sheet = 0
+ oCellAddress.Row = 1
+ oCellAddress.Column = 5
+
+ oProps(0).Name = "StyleName"
+ oProps(0).Value = "Result2"
+ oProps(1).Name = "Formula1"
+ oProps(1).Value = "$Sheet1.$B$3"
+ oProps(2).Name = "Formula2"
+ oProps(2).Value = ""
+ oProps(3).Name = "Operator"
+ oProps(3).Value = com.sun.star.sheet.ConditionOperator.EQUAL
+ oProps(4).Name = "SourcePosition"
+ oProps(4).Value = oCellAddress
+
+ oObj.AddNew(oProps())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub ReCreateObj()
+ if not isNULL(oDoc) then oDoc.dispose()
+ CreateObj()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/script.xlb
new file mode 100644
index 000000000000..0b636a6bb49a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableConditionalFormat/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableConditionalFormat" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableConditionalFormat"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableRowObj/sc_ScTableRowObj.xba b/qadevOOo/tests/basic/mod/sc/ScTableRowObj/sc_ScTableRowObj.xba
new file mode 100644
index 000000000000..7ceabf00d669
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableRowObj/sc_ScTableRowObj.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableRowObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableRowObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+ Dim oRows As Variant
+ Dim oRow As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets(0)
+ oRows = oSheet.getRows
+ oRow = oRows.getByIndex(5)
+
+ oObj = oRow
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableRowObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableRowObj/script.xlb
new file mode 100644
index 000000000000..0aa03bfc0922
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableRowObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableRowObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableRowObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableRowsObj/sc_ScTableRowsObj.xba b/qadevOOo/tests/basic/mod/sc/ScTableRowsObj/sc_ScTableRowsObj.xba
new file mode 100644
index 000000000000..f794bd93db06
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableRowsObj/sc_ScTableRowsObj.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableRowsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XTableRows
+ Global oTable As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableRowsObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oTable = oDoc.Sheets(0)
+ oObj = oTable.getRows()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableRowsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableRowsObj/script.xlb
new file mode 100644
index 000000000000..0c0d33a2d264
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableRowsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableRowsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableRowsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableSheetObj/sc_ScTableSheetObj.xba b/qadevOOo/tests/basic/mod/sc/ScTableSheetObj/sc_ScTableSheetObj.xba
new file mode 100644
index 000000000000..86439b375d75
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableSheetObj/sc_ScTableSheetObj.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableSheetObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.sheet.Spreadsheet
+Global sStyleName As String
+
+' Required for com.sun.star.chart.XChartData
+Global oCellToChange As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableSheetObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oStyleFamilies As Variant
+ Dim oNewPageStyle As Object
+ Dim oStyleFamily As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc.sheets(0)
+
+ sStyleName = "MyStyle"
+ ' Adding new page style for Spreadsheet service testing
+ oStyleFamilies = oDoc.StyleFamilies
+ oStyleFamily = oStyleFamilies.getByName("PageStyles")
+ oNewPageStyle = oDoc.createInstance("com.sun.star.style.PageStyle")
+ oStyleFamily.insertByName(sStyleName, oNewPageStyle)
+
+ oCellToChange = oObj.getCellByPosition(2, 2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+Function modifyDescriptor(descr As Variant) As Variant
+On Error Goto ErrHndl
+ Dim i As Integer, n as Integer
+ Dim oCell As Object
+ Dim vFields(0) as new com.sun.star.table.TableSortField
+
+ for i = 0 to 10 - 1
+ oCell = oObj.getCellByPosition(0, i)
+ oCell.String = "" + (10 - i)
+ oCell.setFormula(10 - i)
+ next i
+ 'ShowNameValuePair(descr)
+ vFields(0).IsCaseSensitive = false
+ vFields(0).IsAscending = true
+ vFields(0).FieldType = com.sun.star.table.TableSortFieldType.ALPHANUMERIC
+ for i = 0 to ubound(descr)
+ if descr(i).Name = "IsSortColumns" then descr(i).Value = false
+ if descr(i).Name = "SortFields" then descr(i).Value = vFields()
+ next i
+
+ modifyDescriptor() = descr
+Exit Function
+ErrHndl:
+ Out.Log("Exception in ScTableSheetObj.modifyDescriptor() :")
+ Test.Exception()
+end Function
+
+Function checkSort() As Boolean
+On Error Goto ErrHndl
+ Dim i As Integer, oCell As Object
+ Dim bOK As Boolean
+
+ bOK = true
+ for i = 0 to 10 - 1
+ oCell = oObj.getCellByPosition(0,i)
+ bOK = bOK AND oCell.String = "" + (i + 1)
+ out.dbg(oCell.String + ":" + (i+1))
+ next i
+
+ checkSort() = bOK
+Exit Function
+ErrHndl:
+ Out.Log("Exception in ScTableSheetObj.checkSort() :")
+ Test.Exception()
+end Function
+
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableSheetObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableSheetObj/script.xlb
new file mode 100644
index 000000000000..5779c6344207
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableSheetObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableSheetObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableSheetObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/sc_ScTableSheetsObj.xba b/qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/sc_ScTableSheetsObj.xba
new file mode 100644
index 000000000000..d8d7db30c672
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/sc_ScTableSheetsObj.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableSheetsObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XSpreadsheets
+ Global nGlobalLong As Long 'the number of sheets
+
+' Requiered for XNameReplace
+ Global cNameToReplace As String 'name of instance to be replased
+ Global oReplaceInstance As Object 'instance, that will be inserted
+ 'instead old one
+
+' Requiered for XNameContainer
+ Global oInstance As Object 'instance to insert
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableSheetsObj
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = oDoc.sheets
+
+ nGlobalLong = oObj.count()
+ cNameToReplace = "Sheet1"
+ oReplaceInstance = oDoc.createInstance("com.sun.star.sheet.Spreadsheet")
+ oReplaceInstance.Name = "ReplaceInstance"
+
+ oInstance = oDoc.createInstance("com.sun.star.sheet.Spreadsheet")
+ oInstance.Name = "InsertInstance"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/script.xlb
new file mode 100644
index 000000000000..769981f22ad2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableSheetsObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableSheetsObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableSheetsObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableValidationObj/sc_ScTableValidationObj.xba b/qadevOOo/tests/basic/mod/sc/ScTableValidationObj/sc_ScTableValidationObj.xba
new file mode 100644
index 000000000000..3d021a91eb3e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableValidationObj/sc_ScTableValidationObj.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScTableValidationObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScTableValidationObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oSheet As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oSheet = oDoc.Sheets.getByIndex(0)
+ oObj = oSheet.getPropertyValue("Validation")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScTableValidationObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScTableValidationObj/script.xlb
new file mode 100644
index 000000000000..475644b9a162
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScTableValidationObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScTableValidationObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScTableValidationObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/ScViewPaneObj/sc_ScViewPaneObj.xba b/qadevOOo/tests/basic/mod/sc/ScViewPaneObj/sc_ScViewPaneObj.xba
new file mode 100644
index 000000000000..303a1593d86f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScViewPaneObj/sc_ScViewPaneObj.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScViewPaneObj" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.sheet.XCellRangeReferrer
+Global oReferredCells As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.ScViewPaneObj
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oController As Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oController = oDoc.getCurrentController()
+ oObj = oController.getByIndex(0)
+ wait(1000)
+
+ oReferredCells = oObj.getVisibleRange()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if not isNULL(oDoc) then oDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/ScViewPaneObj/script.xlb b/qadevOOo/tests/basic/mod/sc/ScViewPaneObj/script.xlb
new file mode 100644
index 000000000000..c4b6ca9fb33b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/ScViewPaneObj/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_ScViewPaneObj" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_ScViewPaneObj"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLContentExporter/sc_XMLContentExporter.xba b/qadevOOo/tests/basic/mod/sc/XMLContentExporter/sc_XMLContentExporter.xba
new file mode 100644
index 000000000000..61a2c69b6478
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLContentExporter/sc_XMLContentExporter.xba
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLContentExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLContentExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As Variant
+ Dim expString As String
+ Dim oSheets, oSheet, oCell As Object
+
+ printXML = true
+ expString = "XMLContentExporter"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-content")
+ Tag2 = Array("office:body")
+ Tag3 = Array("office:script")
+ Tag4 = Array("table:table")
+ Tag5 = Array("table:table-column")
+ Tag6 = Array("table:table-row")
+ Tag7 = Array("table:table-cell")
+ Tag8 = Array("text:p")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag1), _
+ Array("TagEnclosed", Tag4, Tag2), _
+ Array("TagEnclosed", Tag5, Tag4), _
+ Array("TagEnclosed", Tag6, Tag4), _
+ Array("TagEnclosed", Tag7, Tag6), _
+ Array("TagEnclosed", Tag8, Tag7), _
+ Array("CharsEnclosed", Tag8, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Calc.XMLContentExporter", initArgs())
+
+ oSheets = oDoc.getSheets()
+ oSheet = oSheets.getByIndex(0)
+ oCell = oSheet.getCellByPosition(0, 0)
+ oCell.setFormula(expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "scalc: StarOffice XML (spreadsheet)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLContentExporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLContentExporter/script.xlb
new file mode 100644
index 000000000000..64f440f3d14e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLContentExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLContentExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLContentExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLContentImporter/sc_XMLContentImporter.xba b/qadevOOo/tests/basic/mod/sc/XMLContentImporter/sc_XMLContentImporter.xba
new file mode 100644
index 000000000000..34b76255a9d1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLContentImporter/sc_XMLContentImporter.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLContentImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sValue As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLContentImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Calc.XMLContentImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sValue = "XMLContentImporter_test"
+ vXMLData = Array( _
+ Array("start", "office:document-content", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text", _
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table", _
+ "office:class", "CDATA", "spreadsheet"), _
+ Array("start", "office:body"), _
+ Array("start", "table:table", _
+ "table:name", "CDATA", sValue), _
+ Array("end", "table:table"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document-content"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim sheets As Object
+ out.log("checking of import...")
+ sheets = oDoc.getSheets()
+ res = sheets.hasByName(sValue)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLContentImporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLContentImporter/script.xlb
new file mode 100644
index 000000000000..a4af6299ac20
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLContentImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLContentImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLContentImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLExporter/sc_XMLExporter.xba b/qadevOOo/tests/basic/mod/sc/XMLExporter/sc_XMLExporter.xba
new file mode 100644
index 000000000000..bd087a3b2b9e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLExporter/sc_XMLExporter.xba
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As Variant
+ Dim expString As String
+ Dim oSheets As Object
+ Dim oSheet As Object
+
+ printXML = true
+ expString = "NewNameOfSheet"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("office:settings")
+ Tag4 = Array("office:script")
+ Tag5 = Array("office:styles")
+ Tag6 = Array("office:body")
+ Tag7 = Array("table:table")
+ Tag8 = Array("table:table", "table:name", expString)
+ filter = Array( _
+ Array("TagExists", Tag1, Tag8), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag1), _
+ Array("TagEnclosed", Tag4, Tag1), _
+ Array("TagEnclosed", Tag5, Tag1), _
+ Array("TagEnclosed", Tag6, Tag1), _
+ Array("TagEnclosed", Tag7, Tag6) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Calc.XMLExporter", initArgs())
+
+ oSheets = oDoc.getSheets()
+ oSheet = oSheets.getByIndex(0)
+ oSheet.setName(expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "scalc: StarOffice XML (spreadsheet)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLExporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLExporter/script.xlb
new file mode 100644
index 000000000000..bbad099091c6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLImporter/sc_XMLImporter.xba b/qadevOOo/tests/basic/mod/sc/XMLImporter/sc_XMLImporter.xba
new file mode 100644
index 000000000000..3e2afecef2e2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLImporter/sc_XMLImporter.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sValue As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Calc.XMLImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sValue = "XMLContentImporter_test"
+ vXMLData = Array( _
+ Array("start", "office:document-content", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text", _
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table", _
+ "office:class", "CDATA", "spreadsheet"), _
+ Array("start", "office:body"), _
+ Array("start", "table:table", _
+ "table:name", "CDATA", sValue), _
+ Array("end", "table:table"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document-content"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim sheets As Object
+ out.log("checking of import...")
+ sheets = oDoc.getSheets()
+ res = sheets.hasByName(sValue)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLImporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLImporter/script.xlb
new file mode 100644
index 000000000000..0f1844030b73
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLMetaExporter/sc_XMLMetaExporter.xba b/qadevOOo/tests/basic/mod/sc/XMLMetaExporter/sc_XMLMetaExporter.xba
new file mode 100644
index 000000000000..0677211a3bdc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLMetaExporter/sc_XMLMetaExporter.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLMetaExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLMetaExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim expString As String
+ Dim oDocInfo As Object
+
+ printXML = true
+ expString = "NewTitleOfCalcDoc"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-meta")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("dc:title")
+ filter = Array( _
+ Array("TagExists", Tag1, Tag2), _
+ Array("CharsEnclosed", Tag3, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Calc.XMLMetaExporter", initArgs())
+
+ oDocInfo = oDoc.getDocumentInfo()
+ oDocInfo.setPropertyValue("Title", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "scalc: StarOffice XML (spreadsheet)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLMetaExporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLMetaExporter/script.xlb
new file mode 100644
index 000000000000..a21f959a083b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLMetaExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLMetaExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLMetaExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLMetaImporter/sc_XMLMetaImporter.xba b/qadevOOo/tests/basic/mod/sc/XMLMetaImporter/sc_XMLMetaImporter.xba
new file mode 100644
index 000000000000..7bb319975478
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLMetaImporter/sc_XMLMetaImporter.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLMetaImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sTitle As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLMetaImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Calc.XMLMetaImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sTitle = "XMLMetaImporter"
+ vXMLData = Array( _
+ Array("start", "office:document-meta", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta", _
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"), _
+ Array("start", "office:meta"), _
+ Array("start", "dc:title"), _
+ Array("chars", sTitle), _
+ Array("end", "dc:title"), _
+ Array("end", "office:meta"), _
+ Array("end", "office:document-meta"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim docInfo As Object
+ Dim title As String
+ out.log("checking of import...")
+ docInfo = oDoc.getDocumentInfo()
+ title = docInfo.getPropertyValue("Title")
+ res = title = sTitle
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLMetaImporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLMetaImporter/script.xlb
new file mode 100644
index 000000000000..b206fbd0b7f2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLMetaImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLMetaImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLMetaImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/sc_XMLSettingsExporter.xba b/qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/sc_XMLSettingsExporter.xba
new file mode 100644
index 000000000000..6134c2e9b535
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/sc_XMLSettingsExporter.xba
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLSettingsExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLSettingsExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim oProp, oPropToSet As Boolean
+ Dim oController As Object
+
+ printXML = true
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ oController = oDoc.getCurrentController()
+ oProp = oController.getPropertyValue("ShowGrid")
+ if (oProp = false) then
+ oPropToSet = true
+ else
+ oPropToSet = false
+ endif
+
+
+ Tag1 = Array("office:document-settings")
+ Tag2 = Array("office:settings")
+ Tag3 = Array("config:config-item", "config:name", "ShowGrid")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("CharsEnclosed", Tag3, LCase(oPropToSet)) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Calc.XMLSettingsExporter", initArgs())
+
+ oController.setPropertyValue("ShowGrid", oPropToSet)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "scalc: StarOffice XML (spreadsheet)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/script.xlb
new file mode 100644
index 000000000000..78a3fcfeac0d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLSettingsExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLSettingsExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLSettingsExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/sc_XMLSettingsImporter.xba b/qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/sc_XMLSettingsImporter.xba
new file mode 100644
index 000000000000..c29b15d20727
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/sc_XMLSettingsImporter.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLSettingsImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLSettingsImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Calc.XMLSettingsImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ vXMLData = Array( _
+ Array("start", "office:document-settings", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink", _
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config"), _
+ Array("start", "office:settings"), _
+ Array("start", "config:config-item-set", _
+ "config:name", "CDATA", "view-settings"), _
+ Array("start", "config:config-item-map-indexed", _
+ "config:name", "CDATA", "Views"), _
+ Array("start", "config:config-item-map-entry"), _
+ Array("start", "config:config-item", _
+ "config:name", "CDATA", "ShowGrid", _
+ "config:type", "CDATA", "boolean"), _
+ Array("chars", "false"), _
+ Array("end", "config:config-item"), _
+ Array("end", "config:config-item-map-entry"), _
+ Array("end", "config:config-item-map-indexed"), _
+ Array("end", "config:config-item-set"), _
+ Array("end", "office:settings"), _
+ Array("end", "office:document-settings"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim controller As Object
+ Dim isShowGrid As Boolean
+ out.log("checking of import...")
+ controller = oDoc.getCurrentController()
+ isShowGrid = controller.getPropertyValue("ShowGrid")
+ res = not isShowGrid
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/script.xlb
new file mode 100644
index 000000000000..108809c8a8bf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLSettingsImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLSettingsImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLSettingsImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLStylesExporter/sc_XMLStylesExporter.xba b/qadevOOo/tests/basic/mod/sc/XMLStylesExporter/sc_XMLStylesExporter.xba
new file mode 100644
index 000000000000..509c07e8abfa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLStylesExporter/sc_XMLStylesExporter.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLStylesExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLStylesExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2 As Variant
+ Dim expString As String
+ Dim oStyleFamilies, oSFNames, oFamilyName, oFamily, oStyle As Object
+
+ printXML = true
+ expString = "NewCellStyle"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-styles")
+ Tag2 = Array("style:style", "style:name", expString)
+ filter = Array(Array("TagExists", Tag1, Tag2))
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Calc.XMLStylesExporter", initArgs())
+
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oSFNames = oStyleFamilies.getElementNames()
+ oFamilyName = oSFNames(0)
+ oFamily = oStyleFamilies.getByName(oFamilyName)
+ oStyle = oDoc.createInstance("com.sun.star.style.CellStyle")
+ oFamily.insertByName(expString, oStyle)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "scalc: StarOffice XML (spreadsheet)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLStylesExporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLStylesExporter/script.xlb
new file mode 100644
index 000000000000..49e80bcb9391
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLStylesExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLStylesExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLStylesExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLStylesImporter/sc_XMLStylesImporter.xba b/qadevOOo/tests/basic/mod/sc/XMLStylesImporter/sc_XMLStylesImporter.xba
new file mode 100644
index 000000000000..3d451d4054c0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLStylesImporter/sc_XMLStylesImporter.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLStylesImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sStyleName As String
+
+' Required for com.sun.star.document.XImporter
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sc.XMLStylesImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Calc.XMLStylesImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sStyleName = "XMLStylesImporter"
+ vXMLData = Array( _
+ Array("start", "office:document-styles", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style", _
+ "xmlns:fo", "CDATA", "http://www.w3.org/1999/XSL/Format", _
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table"), _
+ Array("start", "office:styles"), _
+ Array("start", "style:style", _
+ "style:name", "CDATA", sStyleName, _
+ "style:family", "CDATA", "table-cell", _
+ "style:parent-style-name", "CDATA", "Default"), _
+ Array("start", "style:properties", _
+ "fo:width", "CDATA", "12cm", _
+ "fo:background-color", "CDATA", "light-grey"), _
+ Array("end", "style:properties"), _
+ Array("end", "style:style"), _
+ Array("end", "office:styles"), _
+ Array("end", "office:document-styles"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oStyleFamilies, oFamily As Object
+ Dim vNames As Variant
+ out.log("checking of import...")
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oFamily = oStyleFamilies.getByName("CellStyles")
+ res = oFamily.hasByName(sStyleName)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sc/XMLStylesImporter/script.xlb b/qadevOOo/tests/basic/mod/sc/XMLStylesImporter/script.xlb
new file mode 100644
index 000000000000..3a39542a031b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sc/XMLStylesImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sc_XMLStylesImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sc_XMLStylesImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccArea/sch_AccArea.xba b/qadevOOo/tests/basic/mod/sch/AccArea/sch_AccArea.xba
new file mode 100644
index 000000000000..8ba48afa97f1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccArea/sch_AccArea.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccArea" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' com::sun::star::accessibility::XAccessibleEventBroadcaster#optional
+ ' needs the following Global variables:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccArea
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+ Dim oChart as Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Area")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccArea/script.xlb b/qadevOOo/tests/basic/mod/sch/AccArea/script.xlb
new file mode 100644
index 000000000000..02c7830060bb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccArea/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccArea" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccArea"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccAxis/sch_AccAxis.xba b/qadevOOo/tests/basic/mod/sch/AccAxis/sch_AccAxis.xba
new file mode 100644
index 000000000000..b80e9b9c7f25
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccAxis/sch_AccAxis.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccAxis" script:language="StarBasic">
+
+&apos;*************************************************************************
+&apos;*
+' 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.
+'
+&apos;*************************************************************************
+&apos;*************************************************************************
+
+
+
+
+
+&apos; REQUIRED VARIABLES for interface/service tests:
+
+Dim oListener1 As Object
+Dim oListener2 As Object
+Dim bL1called As Boolean
+Dim bL2called As Boolean
+Dim oDoc as Object
+
+Sub CreateObj()
+
+&apos;*************************************************************************
+&apos; COMPONENT:
+&apos; sch.AccAxis
+&apos;*************************************************************************
+
+
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, &quot;axis&quot;)
+
+ Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module> \ No newline at end of file
diff --git a/qadevOOo/tests/basic/mod/sch/AccAxis/script.xlb b/qadevOOo/tests/basic/mod/sch/AccAxis/script.xlb
new file mode 100644
index 000000000000..012b217481a8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccAxis/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccAxis" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccAxis"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccDataPoint/sch_AccDataPoint.xba b/qadevOOo/tests/basic/mod/sch/AccDataPoint/sch_AccDataPoint.xba
new file mode 100644
index 000000000000..af177ef65942
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccDataPoint/sch_AccDataPoint.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccDataPoint" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccDataPoint
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "DataPoint")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccDataPoint/script.xlb b/qadevOOo/tests/basic/mod/sch/AccDataPoint/script.xlb
new file mode 100644
index 000000000000..2402c2773442
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccDataPoint/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccDataPoint" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccDataPoint"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccDataSeries/sch_AccDataSeries.xba b/qadevOOo/tests/basic/mod/sch/AccDataSeries/sch_AccDataSeries.xba
new file mode 100644
index 000000000000..92aa828e6d9a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccDataSeries/sch_AccDataSeries.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccDataSeries" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccDataSeries
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Data")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccDataSeries/script.xlb b/qadevOOo/tests/basic/mod/sch/AccDataSeries/script.xlb
new file mode 100644
index 000000000000..5fd9a49a7639
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccDataSeries/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccDataSeries" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccDataSeries"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccDiagram/sch_AccDiagram.xba b/qadevOOo/tests/basic/mod/sch/AccDiagram/sch_AccDiagram.xba
new file mode 100644
index 000000000000..8244d25a9e2e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccDiagram/sch_AccDiagram.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccDiagram" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Diagram")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccDiagram/script.xlb b/qadevOOo/tests/basic/mod/sch/AccDiagram/script.xlb
new file mode 100644
index 000000000000..3479707bb2ca
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccFloor/sch_AccFloor.xba b/qadevOOo/tests/basic/mod/sch/AccFloor/sch_AccFloor.xba
new file mode 100644
index 000000000000..7aefe5a882d2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccFloor/sch_AccFloor.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccFloor" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccFloor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+ Dim oDiagram as Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ Out.Log("Change Diagram to 3D...")
+ oDiagram = oDoc.getDiagram()
+ oDiagram.Dim3D = TRUE
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Floor")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccFloor/script.xlb b/qadevOOo/tests/basic/mod/sch/AccFloor/script.xlb
new file mode 100644
index 000000000000..644d958fc792
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccFloor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccFloor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccFloor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccGrid/sch_AccGrid.xba b/qadevOOo/tests/basic/mod/sch/AccGrid/sch_AccGrid.xba
new file mode 100644
index 000000000000..1bbc5d13fcd1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccGrid/sch_AccGrid.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccGrid" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccGrid
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Grid")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccGrid/script.xlb b/qadevOOo/tests/basic/mod/sch/AccGrid/script.xlb
new file mode 100644
index 000000000000..a00c5cd9a74f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccGrid/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccGrid" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccGrid"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccLegend/sch_AccLegend.xba b/qadevOOo/tests/basic/mod/sch/AccLegend/sch_AccLegend.xba
new file mode 100644
index 000000000000..5bb91900a303
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccLegend/sch_AccLegend.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccLegend" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccLegend
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Legend")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccLegend/script.xlb b/qadevOOo/tests/basic/mod/sch/AccLegend/script.xlb
new file mode 100644
index 000000000000..53bdb8a79574
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccLegend/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccLegend" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccLegend"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccLegendEntry/sch_AccLegendEntry.xba b/qadevOOo/tests/basic/mod/sch/AccLegendEntry/sch_AccLegendEntry.xba
new file mode 100644
index 000000000000..f5bc8834af80
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccLegendEntry/sch_AccLegendEntry.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccLegendEntry" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccLegendEntry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "LegendEntry")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccLegendEntry/script.xlb b/qadevOOo/tests/basic/mod/sch/AccLegendEntry/script.xlb
new file mode 100644
index 000000000000..6bb8fe3f891a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccLegendEntry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccLegendEntry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccLegendEntry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccStatisticsObject/sch_AccStatisticsObject.xba b/qadevOOo/tests/basic/mod/sch/AccStatisticsObject/sch_AccStatisticsObject.xba
new file mode 100644
index 000000000000..c24631b604ad
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccStatisticsObject/sch_AccStatisticsObject.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccStatisticsObject" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccStatisticsObject
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+ Dim oDiagram as Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ Out.Log("Display MeanValue")
+ oDiagram = oDoc.getDiagram()
+ oDiagram.MeanValue = TRUE
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"average")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccStatisticsObject/script.xlb b/qadevOOo/tests/basic/mod/sch/AccStatisticsObject/script.xlb
new file mode 100644
index 000000000000..eeee1ade4019
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccStatisticsObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccStatisticsObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccStatisticsObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccTitle/sch_AccTitle.xba b/qadevOOo/tests/basic/mod/sch/AccTitle/sch_AccTitle.xba
new file mode 100644
index 000000000000..1615c9ed7bd3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccTitle/sch_AccTitle.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccTitle" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccTitle
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Title")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccTitle/script.xlb b/qadevOOo/tests/basic/mod/sch/AccTitle/script.xlb
new file mode 100644
index 000000000000..cc042284ca9f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccTitle/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccTitle" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccTitle"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccWall/sch_AccWall.xba b/qadevOOo/tests/basic/mod/sch/AccWall/sch_AccWall.xba
new file mode 100644
index 000000000000..9db84ee9dbf5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccWall/sch_AccWall.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccWall" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccWall
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+ Dim oWin As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE, "Wall")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccWall/script.xlb b/qadevOOo/tests/basic/mod/sch/AccWall/script.xlb
new file mode 100644
index 000000000000..fad5fe8d21c0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccWall/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccWall" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccWall"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/sch_AccessibleDocumentView.xba b/qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/sch_AccessibleDocumentView.xba
new file mode 100644
index 000000000000..a0bed4161c98
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/sch_AccessibleDocumentView.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_AccessibleDocumentView" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' fireEvent()
+Global oWin As Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.AccessibleDocumentView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT, _
+ "AccessibleChartDocumentView")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim rect as new com.sun.star.awt.Rectangle
+ rect = oWin.getPosSize()
+ oWin.setPosSize(100,100,100,100,com.sun.star.awt.PosSize.POSSIZE)
+ oWin.setPosSize(rect.X,rect.Y,rect.Width,rect.Height,_
+ com.sun.star.awt.PosSize.POSSIZE)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/script.xlb b/qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/script.xlb
new file mode 100644
index 000000000000..b5ea1024c8a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/AccessibleDocumentView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_AccessibleDocumentView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_AccessibleDocumentView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartAxis/sch_ChXChartAxis.xba b/qadevOOo/tests/basic/mod/sch/ChXChartAxis/sch_ChXChartAxis.xba
new file mode 100644
index 000000000000..a5388e82a420
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartAxis/sch_ChXChartAxis.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXChartAxis" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXChartAxis
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim mRangeAddress(0) As New com.sun.star.table.CellRangeAddress
+ Dim oChart As Variant
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oChart = utils.createChartObject(oDoc, cObjectName)
+
+ oObj = oChart.Diagram.YAxis
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartAxis/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXChartAxis/script.xlb
new file mode 100644
index 000000000000..03789abfa172
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartAxis/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXChartAxis" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXChartAxis"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartData/sch_ChXChartData.xba b/qadevOOo/tests/basic/mod/sch/ChXChartData/sch_ChXChartData.xba
new file mode 100644
index 000000000000..78355716fd80
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartData/sch_ChXChartData.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXChartData" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.chart.XChartData
+Global oCellToChange As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXChartData
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oChart as Object
+ Dim oDataArray as Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oChart = utils.createChartObject(oDoc, cObjectName)
+ oDataArray = oChart.getdata()
+ oObj = oDataArray
+
+ oCellToChange = oDoc.Sheets(0).getCellByPosition(1, 1)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartData/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXChartData/script.xlb
new file mode 100644
index 000000000000..f2e2e820e542
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartData/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXChartData" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXChartData"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartDataArray/sch_ChXChartDataArray.xba b/qadevOOo/tests/basic/mod/sch/ChXChartDataArray/sch_ChXChartDataArray.xba
new file mode 100644
index 000000000000..1c71c1e32d8f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartDataArray/sch_ChXChartDataArray.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXChartDataArray" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.chart.XChartData
+ Global oCellToChange As Object
+
+' Requiered for XChartDataArray
+ Global nTableH As Integer
+ Global nTableW As Integer
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXChartDataArray
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oChart = utils.createChartObject(oDoc, cObjectName)
+
+ Dim mRangeAddress(0) As New com.sun.star.table.CellRangeAddress
+ Dim aRect As New com.sun.star.awt.Rectangle
+
+ nTableH = 5
+ nTableW = 5
+
+ oObj = oChart.getdata()
+ oCellToChange = oDoc.Sheets(0).getCellByPosition(1, 1)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartDataArray/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXChartDataArray/script.xlb
new file mode 100644
index 000000000000..bbed0513544f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartDataArray/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXChartDataArray" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXChartDataArray"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartDocument/sch_ChXChartDocument.xba b/qadevOOo/tests/basic/mod/sch/ChXChartDocument/sch_ChXChartDocument.xba
new file mode 100644
index 000000000000..760da775c6e5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartDocument/sch_ChXChartDocument.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXChartDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.frame.XModel
+ Global oXModelController As Object
+ Global oXModelSel As Object
+ Global oXModelToSel As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXChartDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim aProp(0 to 0) As New com.sun.star.beans.PropertyValue
+ Dim oControllerDoc As Object
+ Dim oChart as Object
+ Dim oCompChart as Object
+ Dim oContChart as Object
+ Dim oContDoc as Object
+
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+
+ oComponentInstance = utils.loadTestDocument("emptyChart.sds", cObjectName &amp; "1")
+
+ oControllerDoc = utils.loadTestDocument("emptyChart.sds", cObjectName &amp; "2")
+
+ oObj = oDoc
+ oXModelToSel = oDoc.getTitle()
+ oXModelController = oControllerDoc.getCurrentController()
+ oXModelSel = oDoc.getCurrentController()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oComponentInstance) then oComponentInstance.dispose()
+
+ Dim oControllerDoc As Object
+ ' To successfully dispose oControllerDoc re-open it first.
+ oControllerDoc = utils.loadTestDocument("emptyChart.sds", cObjectName &amp; "2")
+ oControllerDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartDocument/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXChartDocument/script.xlb
new file mode 100644
index 000000000000..f3ece473ed8c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXChartDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXChartDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartView/sch_ChXChartView.xba b/qadevOOo/tests/basic/mod/sch/ChXChartView/sch_ChXChartView.xba
new file mode 100644
index 000000000000..ea65387c5af0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartView/sch_ChXChartView.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXChartView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.view.XSelectionSupplier
+ Global SelectableObj1 As Object
+ Global SelectableObj2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXChartView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oChart as Object
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ oObj = oDoc.getCurrentController()
+
+ SelectableObj1 = oDoc.Legend
+ SelectableObj2 = oDoc.Title
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXChartView/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXChartView/script.xlb
new file mode 100644
index 000000000000..2ef9ba454a24
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXChartView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXChartView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXChartView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXDataPoint/sch_ChXDataPoint.xba b/qadevOOo/tests/basic/mod/sch/ChXDataPoint/sch_ChXDataPoint.xba
new file mode 100644
index 000000000000..ffaa96356df1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXDataPoint/sch_ChXDataPoint.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXDataPoint" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXDataPoint
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCharts As Variant, oChart As Variant
+
+ bOK = true
+
+ oDoc = utils.loadTestDocument("TransparencyCalcChart.sxc", cObjectName)
+
+ oCharts = oDoc.Sheets(0).Charts
+
+ Dim aNames(), i as integer
+ aNames = oCharts.getElementNames()
+ Out.Log("Chart names :")
+ for i = 0 to ubound(aNames())
+ Out.Log("'" + aNames(i) + "'")
+ next i
+
+ oChart = oCharts.getByName("TestTransparentChart").embeddedObject
+
+ oObj = oChart.Diagram.getDataPointProperties(0, 0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXDataPoint/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXDataPoint/script.xlb
new file mode 100644
index 000000000000..47800a7f456b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXDataPoint/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXDataPoint" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXDataPoint"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXDataRow/sch_ChXDataRow.xba b/qadevOOo/tests/basic/mod/sch/ChXDataRow/sch_ChXDataRow.xba
new file mode 100644
index 000000000000..14fee9c685b5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXDataRow/sch_ChXDataRow.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXDataRow" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXDataRow
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oCharts As Variant, oChart As Variant
+
+ bOK = true
+
+ oDoc = utils.loadTestDocument("TransparencyCalcChart.sxc", cObjectName)
+
+ oCharts = oDoc.Sheets(0).Charts
+
+ Dim aNames(), i as integer
+ aNames = oCharts.getElementNames()
+ Out.Log("Chart names :")
+ for i = 0 to ubound(aNames())
+ Out.Log("'" + aNames(i) + "'")
+ next i
+
+ oChart = oCharts.getByName("TestTransparentChart").embeddedObject
+
+' --- create the object to test here
+ oObj = oChart.Diagram.getDataRowProperties(0)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXDataRow/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXDataRow/script.xlb
new file mode 100644
index 000000000000..f8437a29636a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXDataRow/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXDataRow" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXDataRow"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXDiagram/sch_ChXDiagram.xba b/qadevOOo/tests/basic/mod/sch/ChXDiagram/sch_ChXDiagram.xba
new file mode 100644
index 000000000000..7bc63b5809eb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXDiagram/sch_ChXDiagram.xba
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXDiagram" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+Dim nCol As Integer
+Dim nRow As Integer
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oLineDiagram As Object
+Global oStackDiagram As Object
+Global oStockDiagram As Object
+Global oBarDiagram As Object
+Global nGlobalBarDiagram As Long
+
+' For drawing.XShapeDescriptor
+Global cShapeType As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChXDiagram
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCharts As Object
+ Dim oChart As Object
+ Dim cType(4) As String
+ Dim mRangeAddress(0) As New com.sun.star.table.CellRangeAddress
+ Dim aRect As New com.sun.star.awt.Rectangle
+ Dim n As Integer
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ cType(0) = "StockDiagram"
+ cType(1) = "BarDiagram"
+ cType(2) = "XYDiagram"
+ cType(3) = "StackableDiagram"
+ cType(4) = "LineDiagram"
+
+ nCol = 5
+ nRow = 6
+ FillCells()
+
+ aRect.Width = 5000
+ aRect.Height = 5000
+ mRangeAddress(0).Sheet = 0
+ mRangeAddress(0).StartColumn = 0
+ mRangeAddress(0).StartRow = 0
+ mRangeAddress(0).EndColumn = nCol
+ mRangeAddress(0).EndRow = nRow
+
+ for n = 0 to 4
+ aRect.X = 500 * n
+ aRect.Y = 3000 * n
+ oCharts = oDoc.Sheets(0).Charts
+ oCharts.addNewByName(cObjectName + cType(n) + n, aRect, mRangeAddress(), true, true)
+ oChart = oCharts.getByName(cObjectName + cType(n) + n).EmbeddedObject
+ oChart.Diagram = oChart.createInstance("com.sun.star.chart." + cType(n))
+ next n
+
+ oStockDiagram = oCharts.getByName(cObjectName + cType(0) + 0).EmbeddedObject.Diagram
+ oBarDiagram = oCharts.getByName(cObjectName + cType(1) + 1).EmbeddedObject.Diagram
+ oLineDiagram = oCharts.getByName(cObjectName + cType(2) + 2).EmbeddedObject.Diagram
+ oStackDiagram = oCharts.getByName(cObjectName + cType(3) + 3).EmbeddedObject.Diagram
+ oObj = oCharts.getByName(cObjectName + cType(4) + 4).EmbeddedObject.Diagram
+
+ nGlobalBarDiagram = 4
+
+ ' For drawing.XShapeDescriptor
+ cShapeType = "com.sun.star.chart.Diagram"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub FillCells()
+ Dim oCell As Object
+ Dim oRange As Object
+ Dim n1 As Integer
+ Dim n2 As Integer
+ Dim oFormats As Variant
+ Dim nFormat As Integer
+ Dim nKey As Integer
+ Dim aLanguage As New com.sun.star.lang.Locale
+
+ oRange = oDoc.Sheets(0).getCellRangeByPosition(0, 0, nCol, nRow)
+
+ for n1 = 1 to nCol - 1
+ For n2 = 1 To nRow - 1
+ oRange.getCellByPosition(n1, n2).Value = n2 * (n1 + 1)
+ Next n2
+ next n1
+
+ for n1 = 1 to nCol - 1
+ oRange.getCellByPosition(n1, 0).String = "Col " + n1
+ next n1
+ for n2 = 1 to nRow - 1
+ oRange.getCellByPosition(0, n2).String = "Row " + n2
+ next n2
+
+ oFormats = oDoc.NumberFormats
+ nFormat = com.sun.star.util.NumberFormat.CURRENCY
+ nKey = oFormats.getStandardFormat(nFormat, aLanguage)
+ oRange.NumberFormat = nKey
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChXDiagram/script.xlb b/qadevOOo/tests/basic/mod/sch/ChXDiagram/script.xlb
new file mode 100644
index 000000000000..ad6b03bad01c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChXDiagram/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChXDiagram" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChXDiagram"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartArea/sch_ChartArea.xba b/qadevOOo/tests/basic/mod/sch/ChartArea/sch_ChartArea.xba
new file mode 100644
index 000000000000..6329b64ed4bb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartArea/sch_ChartArea.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChartArea" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+Dim nCol As Integer
+Dim nRow As Integer
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChartArea
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oCharts As Variant, oChart As Variant
+
+ bOK = true
+
+ oDoc = utils.loadTestDocument("TransparencyCalcChart.sxc", cObjectName)
+
+ oCharts = oDoc.Sheets(0).Charts
+
+ Dim aNames(), i as integer
+ aNames = oCharts.getElementNames()
+ Out.Log("Chart names :")
+ for i = 0 to ubound(aNames())
+ Out.Log("'" + aNames(i) + "'")
+ next i
+
+ oChart = oCharts.getByName("TestTransparentChart").embeddedObject
+
+ oObj = oChart.Area()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartArea/script.xlb b/qadevOOo/tests/basic/mod/sch/ChartArea/script.xlb
new file mode 100644
index 000000000000..0265cd6bf756
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartArea/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChartArea" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChartArea"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartGrid/sch_ChartGrid.xba b/qadevOOo/tests/basic/mod/sch/ChartGrid/sch_ChartGrid.xba
new file mode 100644
index 000000000000..890e396d093d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartGrid/sch_ChartGrid.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChartGrid" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChartGrid
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oChart as Object
+
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oChart = utils.createChartObject(oDoc, cObjectName)
+
+ oObj = oChart.Diagram.XMainGrid
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartGrid/script.xlb b/qadevOOo/tests/basic/mod/sch/ChartGrid/script.xlb
new file mode 100644
index 000000000000..29630a9e330a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartGrid/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChartGrid" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChartGrid"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartLegend/sch_ChartLegend.xba b/qadevOOo/tests/basic/mod/sch/ChartLegend/sch_ChartLegend.xba
new file mode 100644
index 000000000000..e947d4f53e23
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartLegend/sch_ChartLegend.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChartLegend" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oComponentInstance As Object ' it will be disposed
+
+Global oComponentDoc As Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChartLegend
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oCharts As Object, oChart As Object
+ Dim oCompChart as Object
+
+ bOK = true
+ oDoc = utils.loadTestDocument("TransparencyCalcChart.sxc", cObjectName)
+ oComponentDoc = utils.createDocument("scalc", cObjectName &amp; "1")
+
+ oCharts = oDoc.Sheets(0).Charts
+
+ Dim aNames(), i as integer
+ aNames = oCharts.getElementNames()
+ Out.Log("Chart names :")
+ for i = 0 to ubound(aNames())
+ Out.Log("'" + aNames(i) + "'")
+ next i
+
+ oChart = oCharts.getByName("TestTransparentChart").embeddedObject
+
+ oObj = oChart.Legend
+ oCompChart = utils.createChartObject(oComponentDoc, cObjectName &amp; "1")
+ oComponentInstance = oCompChart.Legend
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oComponentDoc) then oComponentDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartLegend/script.xlb b/qadevOOo/tests/basic/mod/sch/ChartLegend/script.xlb
new file mode 100644
index 000000000000..812179674e54
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartLegend/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChartLegend" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChartLegend"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartLine/sch_ChartLine.xba b/qadevOOo/tests/basic/mod/sch/ChartLine/sch_ChartLine.xba
new file mode 100644
index 000000000000..8ca4921a894c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartLine/sch_ChartLine.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChartLine" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChartLine
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oChart as Object
+ bOK = true
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ oChart = utils.createChartObject(oDoc, cObjectName)
+
+ oChart.Diagram = oChart.createInstance("com.sun.star.chart.LineDiagram")
+ oObj = oChart.Diagram.MinMaxLine
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartLine/script.xlb b/qadevOOo/tests/basic/mod/sch/ChartLine/script.xlb
new file mode 100644
index 000000000000..90051ab34bfd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartLine/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChartLine" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChartLine"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartTitle/sch_ChartTitle.xba b/qadevOOo/tests/basic/mod/sch/ChartTitle/sch_ChartTitle.xba
new file mode 100644
index 000000000000..4cc3135dc4a8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartTitle/sch_ChartTitle.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChartTitle" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentDoc As Object
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sch.ChartTitle
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oChart As Object
+ Dim oCompChart as Object
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+ oChart = utils.createChartObject(oDoc, cObjectName)
+ oComponentDoc = utils.createDocument("scalc", cObjectName &amp; "1")
+ oCompChart = utils.createChartObject(oComponentDoc, cObjectName)
+
+ oChart.hasMainTitle = true
+ oObj = oChart.Title
+ oComponentInstance = oComponentDoc.Title
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub FillCells()
+ Dim oRange As Object
+ Dim n1 As Integer
+ Dim n2 As Integer
+
+ oRange = oDoc.Sheets(0).getCellRangeByPosition(0, 0, nCol, nRow)
+
+ for n1 = 1 to nCol - 1
+ For n2 = 1 To nRow - 1
+ oRange.getCellByPosition(n1, n2).Value = n2 * (n1 + 1)
+ Next n2
+ next n1
+
+ for n1 = 1 to nCol - 1
+ oRange.getCellByPosition(n1, 0).String = "Col " + n1
+ next n1
+ for n2 = 1 to nRow - 1
+ oRange.getCellByPosition(0, n2).String = "Row " + n2
+ next n2
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oComponentDoc) then oComponentDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sch/ChartTitle/script.xlb b/qadevOOo/tests/basic/mod/sch/ChartTitle/script.xlb
new file mode 100644
index 000000000000..0958c2b7525a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sch/ChartTitle/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sch_ChartTitle" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sch_ChartTitle"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/script.xlb b/qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/script.xlb
new file mode 100644
index 000000000000..749d06a8e422
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_AccessibleDrawDocumentView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_AccessibleDrawDocumentView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/sd_AccessibleDrawDocumentView.xba b/qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/sd_AccessibleDrawDocumentView.xba
new file mode 100644
index 000000000000..8a1a5c077e68
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/AccessibleDrawDocumentView/sd_AccessibleDrawDocumentView.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_AccessibleDrawDocumentView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oDP1 As Object, oDP2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.AccessibleDrawDocumentView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oDPs As Object
+ Dim oWin As Object, xRoot As Object, oShape As Object
+ Dim oSearchedContext As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ Out.Log("Getting drawpages...")
+ oDPs = oDoc.getDrawPages()
+ oDP1 = oDPs.insertNewByIndex(1)
+ oDP2 = oDPs.getByIndex(0)
+ Out.Log("Inserting a shape...")
+ oShape = toolkittools.addShapeToDrawDoc(oDP2,1000,2000,"Rectangle")
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oSearchedContext = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT)
+ oObj = oSearchedContext
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oDoc.getCurrentController().setCurrentPage(oDP2)
+ oDoc.getCurrentController().setCurrentPage(oDP1)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/script.xlb b/qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/script.xlb
new file mode 100644
index 000000000000..5d66d87def30
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_AccessibleOutlineView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_AccessibleOutlineView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/sd_AccessibleOutlineView.xba b/qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/sd_AccessibleOutlineView.xba
new file mode 100644
index 000000000000..d44233ef697f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/AccessibleOutlineView/sd_AccessibleOutlineView.xba
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_AccessibleOutlineView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oDPn As Variant
+Global fireCount as Integer
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.AccessibleOutlineView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim aSlotID As String
+ Dim urls As Variant
+ Dim url as new com.sun.star.util.URL
+ Dim UrlTransformer As Object, xDispatcher As Object
+ Dim oCntr As Object, oWin As Object, xRoot As Object
+ Dim oSearchedContext As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oCntr = oDoc.getCurrentController()
+
+ Out.log("Switching to outline view...")
+ switchOutlineView(oDoc)
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oSearchedContext = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT)
+ oObj = oSearchedContext
+ oDPn = oDoc.getDrawPages()
+ fireCount = 0
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+
+' This method is used for XAccessibleEventBroadcaster interface
+Sub fireEvent()
+ fireCount = fireCount + 1
+ Out.log("fire event...")
+ Dim oDP as Object
+ oDP = oDPn.getByIndex(0)
+ addShape(oDP, fireCount * 500, fireCount * 500)
+
+
+ wait(500)
+End Sub
+
+Sub AddShape(oPage as Object, nPosX as Integer, nPosY as Integer)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oRectangleShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oRectangleShape.Size = aSize
+ oRectangleShape.Position = aPoint
+ oRectangleShape.FillColor = RGB(255, 0, 0)
+ oPage.add(oRectangleShape)
+End Sub
+
+Sub switchOutlineView(xDoc as Object)
+On Error Goto ErrHndl
+
+ Dim Contrl as Variant, disp as Variant, transf as Object
+ Dim URL as new com.sun.star.util.URL
+ Dim noProps()
+ Dim res as Boolean
+
+ Contrl = xDoc.getCurrentController()
+ URL.Complete = "slot:27010"
+ transf = createUnoService("com.sun.star.util.URLTransformer")
+ res = transf.parseStrict(URL)
+
+ out.log("URL parsed :" + res)
+
+ disp = Contrl.queryDispatch(URL, "", 0)
+
+ out.log("disp get.")
+
+ disp.dispatch(URL, noProps())
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/AccessibleSlideView/script.xlb b/qadevOOo/tests/basic/mod/sd/AccessibleSlideView/script.xlb
new file mode 100644
index 000000000000..ab6b9acb40d2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/AccessibleSlideView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_AccessibleSlideView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_AccessibleSlideView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/AccessibleSlideView/sd_AccessibleSlideView.xba b/qadevOOo/tests/basic/mod/sd/AccessibleSlideView/sd_AccessibleSlideView.xba
new file mode 100644
index 000000000000..7e2686874f69
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/AccessibleSlideView/sd_AccessibleSlideView.xba
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_AccessibleSlideView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oDP1 As Object
+Global oDP2 As Object
+Global oCntr As Object
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.AccessibleSlideView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oDPs As Object
+ Dim oWin As Object, xRoot As Object
+ Dim oSearchedContext As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ Out.Log("Getting drawpages...")
+ oDPs = oDoc.getDrawPages()
+ oDP1 = oDPs.insertNewByIndex(1)
+ oDP2 = oDPs.insertNewByIndex(2)
+ switchOutlineView(oDoc)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oSearchedContext = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT)
+ oObj = oSearchedContext
+ oCntr = oDoc.getCurrentController()
+ multiSelection = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub switchOutlineView(xDoc as Object)
+On Error Goto ErrHndl
+
+ Dim Contrl as Variant, disp as Variant, transf as Object
+ Dim URL as new com.sun.star.util.URL
+ Dim noProps()
+ Dim res as Boolean
+
+ Contrl = xDoc.getCurrentController()
+ URL.Complete = "slot:27011"
+ transf = createUnoService("com.sun.star.util.URLTransformer")
+ res = transf.parseStrict(URL)
+
+ out.log("URL parsed :" + res)
+
+ disp = Contrl.queryDispatch(URL, "", 0)
+
+ out.log("disp get.")
+
+ disp.dispatch(URL, noProps())
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+' This method is used for XAccessibleEventBroadcaster interface
+Sub fireEvent()
+ oCntr.setCurrentPage(oDP1)
+ oCntr.setCurrentPage(oDP2)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/script.xlb b/qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/script.xlb
new file mode 100644
index 000000000000..766c8a8b244d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdDocLinkTargets" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdDocLinkTargets"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/sd_SdDocLinkTargets.xba b/qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/sd_SdDocLinkTargets.xba
new file mode 100644
index 000000000000..bd597de6e243
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdDocLinkTargets/sd_SdDocLinkTargets.xba
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdDocLinkTargets" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdDocLinkTargets
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oObj = oDoc.Links
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdDrawPage/script.xlb b/qadevOOo/tests/basic/mod/sd/SdDrawPage/script.xlb
new file mode 100644
index 000000000000..3caf8119a5c1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdDrawPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdDrawPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdDrawPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdDrawPage/sd_SdDrawPage.xba b/qadevOOo/tests/basic/mod/sd/SdDrawPage/sd_SdDrawPage.xba
new file mode 100644
index 000000000000..847e390bb839
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdDrawPage/sd_SdDrawPage.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdDrawPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oXShapeInstance As Object
+Global oGrouperCollection AS Object
+Global oCombinerCollection As Object
+Global oBinderCollection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdDrawPage
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+
+ oObj = oDoc.DrawPages.getByIndex(0)
+ oGrouperCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oCombinerCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oBinderCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+
+ addShape(oObj, 1000, 1000)
+ addShape(oObj, 5000, 5000)
+ addShape(oObj, 2000, 2000)
+ addShape(oObj, 3000, 3000)
+ addShape(oObj, 4000, 4000)
+ addShape(oObj, 5000, 5000)
+ addShape(oObj, 6000, 6000)
+ addShape(oObj, 7000, 7000)
+
+ oGrouperCollection.Add(oObj.getByIndex(0))
+ oGrouperCollection.Add(oObj.getByIndex(1))
+ oCombinerCollection.Add(oObj.getByIndex(2))
+ oCombinerCollection.Add(oObj.getByIndex(3))
+ oBinderCollection.Add(oObj.getByIndex(4))
+ oBinderCollection.Add(oObj.getByIndex(5))
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+sub AddShape(oPage as Object, nPosX as Integer, nPosY as Integer)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oRectangleShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oRectangleShape.Size = aSize
+ oRectangleShape.Position = aPoint
+ oRectangleShape.FillColor = RGB(255, 0, 0)
+ oPage.add(oRectangleShape)
+End Sub
+
+Sub DisposeObj()
+ if hasUnoInterfaces(oDoc, "com.sun.star.lang.XComponent") then
+ oDoc.Dispose()
+ end if
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/script.xlb b/qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/script.xlb
new file mode 100644
index 000000000000..3edb0cacc218
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdDrawPagesAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdDrawPagesAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/sd_SdDrawPagesAccess.xba b/qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/sd_SdDrawPagesAccess.xba
new file mode 100644
index 000000000000..fd9ed80e1d5b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdDrawPagesAccess/sd_SdDrawPagesAccess.xba
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdDrawPagesAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdDrawPagesAccess
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+
+ oObj = oDoc.DrawPages
+ oObj.insertNewByIndex(oObj.count)
+ oObj.insertNewByIndex(oObj.count)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/script.xlb b/qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/script.xlb
new file mode 100644
index 000000000000..3f1e419281e6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdGenericDrawPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdGenericDrawPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/sd_SdGenericDrawPage.xba b/qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/sd_SdGenericDrawPage.xba
new file mode 100644
index 000000000000..49ef3a47be08
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdGenericDrawPage/sd_SdGenericDrawPage.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdGenericDrawPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oGrouperCollection AS Object
+Global oCombinerCollection As Object
+Global oBinderCollection As Object
+
+'Required for com.sun.star.drawing.XShapes
+Global oXShapeInstance As Object 'to add/remove
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdGenericDrawPage
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oDrawPage As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oDrawPage = oDoc.DrawPages(0)
+ oGrouperCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oCombinerCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oBinderCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+
+ oObj = oDrawPage
+
+ addShape(oObj, 1000, 1000)
+ addShape(oObj, 5000, 5000)
+ addShape(oObj, 2000, 2000)
+ addShape(oObj, 3000, 3000)
+ addShape(oObj, 4000, 4000)
+ addShape(oObj, 5000, 5000)
+ addShape(oObj, 6000, 6000)
+ addShape(oObj, 7000, 7000)
+
+ oGrouperCollection.Add(oObj.getByIndex(0))
+ oGrouperCollection.Add(oObj.getByIndex(1))
+ oCombinerCollection.Add(oObj.getByIndex(2))
+ oCombinerCollection.Add(oObj.getByIndex(3))
+ oBinderCollection.Add(oObj.getByIndex(4))
+ oBinderCollection.Add(oObj.getByIndex(5))
+
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub AddShape(oPage as Object, nPosX as Integer, nPosY as Integer)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oRectangleShape As Object
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oRectangleShape.Size = aSize
+ oRectangleShape.Position = aPoint
+ oRectangleShape.FillColor = RGB(255,0,0)
+ oPage.add(oRectangleShape)
+End Sub
+
+Sub DisposeObj()
+ if hasUnoInterfaces(oDoc, "com.sun.star.lang.XComponent") then
+ oDoc.dispose()
+ end if
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdLayer/script.xlb b/qadevOOo/tests/basic/mod/sd/SdLayer/script.xlb
new file mode 100644
index 000000000000..809c1d5b1bd6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdLayer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdLayer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdLayer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdLayer/sd_SdLayer.xba b/qadevOOo/tests/basic/mod/sd/SdLayer/sd_SdLayer.xba
new file mode 100644
index 000000000000..0bd8fb5b929d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdLayer/sd_SdLayer.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdLayer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdLayer
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oObj = oDoc.LayerManager.getByIndex(0)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdLayerManager/script.xlb b/qadevOOo/tests/basic/mod/sd/SdLayerManager/script.xlb
new file mode 100644
index 000000000000..5eb4e7cd2fa9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdLayerManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdLayerManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdLayerManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdLayerManager/sd_SdLayerManager.xba b/qadevOOo/tests/basic/mod/sd/SdLayerManager/sd_SdLayerManager.xba
new file mode 100644
index 000000000000..9df4a862b3aa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdLayerManager/sd_SdLayerManager.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdLayerManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdLayerManager
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oObj = oDoc.LayerManager
+ nGlobalLong = oObj.Count
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdMasterPage/script.xlb b/qadevOOo/tests/basic/mod/sd/SdMasterPage/script.xlb
new file mode 100644
index 000000000000..d0d4f390c1ad
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdMasterPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdMasterPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdMasterPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdMasterPage/sd_SdMasterPage.xba b/qadevOOo/tests/basic/mod/sd/SdMasterPage/sd_SdMasterPage.xba
new file mode 100644
index 000000000000..4d7506dacdf8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdMasterPage/sd_SdMasterPage.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdMasterPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oGrouperCollection AS Object
+Global oCombinerCollection As Object
+Global oBinderCollection As Object
+
+'Required for com.sun.star.drawing.XShapes
+Global oXShapeInstance As Object 'to add/remove
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdMasterPage
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMasterPages As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oGrouperCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oCombinerCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oBinderCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+
+ oMasterPages = oDoc.MasterPages
+ oObj = oMasterPages(0)
+
+ addShape(oObj, 1000, 1000)
+ addShape(oObj, 5000, 5000)
+ addShape(oObj, 2000, 2000)
+ addShape(oObj, 3000, 3000)
+ addShape(oObj, 4000, 4000)
+ addShape(oObj, 5000, 5000)
+ addShape(oObj, 6000, 6000)
+ addShape(oObj, 7000, 7000)
+
+ oGrouperCollection.Add(oObj.getByIndex(0))
+ oGrouperCollection.Add(oObj.getByIndex(1))
+ oCombinerCollection.Add(oObj.getByIndex(2))
+ oCombinerCollection.Add(oObj.getByIndex(3))
+ oBinderCollection.Add(oObj.getByIndex(4))
+ oBinderCollection.Add(oObj.getByIndex(5))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub AddShape(oPage as Object, nPosX as Integer, nPosY as Integer)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oRectangleShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oRectangleShape.Size = aSize
+ oRectangleShape.Position = aPoint
+ oRectangleShape.FillColor = RGB(255, 0, 0)
+ oPage.add(oRectangleShape)
+End Sub
+
+Sub DisposeObj()
+ if hasUnoInterfaces(oDoc, "com.sun.star.lang.XComponent") then
+ oDoc.dispose()
+ end if
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/script.xlb b/qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/script.xlb
new file mode 100644
index 000000000000..a709ee13a2c7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdMasterPagesAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdMasterPagesAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/sd_SdMasterPagesAccess.xba b/qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/sd_SdMasterPagesAccess.xba
new file mode 100644
index 000000000000..fc828ab1f6d9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdMasterPagesAccess/sd_SdMasterPagesAccess.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdMasterPagesAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdMasterPagesAccess
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oObj = oDoc.MasterPages
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/script.xlb b/qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/script.xlb
new file mode 100644
index 000000000000..6f0236efd0b8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdPageLinkTargets" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdPageLinkTargets"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/sd_SdPageLinkTargets.xba b/qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/sd_SdPageLinkTargets.xba
new file mode 100644
index 000000000000..d55b34d3f0b9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdPageLinkTargets/sd_SdPageLinkTargets.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdPageLinkTargets" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdPageLinkTargets
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPage As Object
+ Dim oShape As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oPage = oDoc.DrawPages(0)
+
+ oShape = addShape(oPage, 1000, 1000)
+ oShape.setPropertyValue("CLSID","12DCAE26-281F-416F-a234-c3086127382e")
+
+ oObj = oPage.getLinks()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function AddShape(oPage as Object, nPosX as Integer, nPosY as Integer) as Object
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oShape = oDoc.createInstance("com.sun.star.drawing.OLE2Shape")
+ oShape.Size = aSize
+ oShape.Position = aPoint
+
+ oPage.add(oShape)
+ AddShape = oShape
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdUnoDrawView/script.xlb b/qadevOOo/tests/basic/mod/sd/SdUnoDrawView/script.xlb
new file mode 100644
index 000000000000..e9b771303803
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdUnoDrawView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdUnoDrawView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdUnoDrawView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdUnoDrawView/sd_SdUnoDrawView.xba b/qadevOOo/tests/basic/mod/sd/SdUnoDrawView/sd_SdUnoDrawView.xba
new file mode 100644
index 000000000000..66fca1b31e45
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdUnoDrawView/sd_SdUnoDrawView.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdUnoDrawView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for drawing.XDrawView
+Global oPages As Object
+
+' Required for frame.XController
+Global oFrameToAttach As Object
+Global oModelToAttach As Object
+Global bHasNoViewData As Boolean
+Global oObjToSuspend As Object
+Global bHasNoModel As Boolean
+
+' Required for lang.XComponent
+Global oComponentInstance As Object
+
+' Required for frame.XDispatchProvider
+Global dispatchUrl As String
+
+' Required for view.XSelectionSupplier
+Global SelectableObj1 As Object
+Global SelectableObj2 As Object
+
+Global oSecDoc As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdUnoDrawView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oObj = oDoc.getCurrentController()
+
+ oPages = oDoc.getDrawPages()
+
+ oSecDoc = utils.createDocument("sdraw", "For frame.XController")
+ bHasNoViewData = false
+ bHasNoModel = false
+ oObjToSuspend = oObj
+ oFrameToAttach = StarDesktop.getCurrentFrame()
+ oModelToAttach = oSecDoc
+
+ oComponentInstance = oObj
+
+ dispatchUrl = "slot:27009"
+
+ Dim page As Object
+ page = oPages.getByIndex(0)
+ AddShape(page, 100, 100)
+ AddShape(page, 12000, 100)
+
+ SelectableObj1 = page.getByIndex(0)
+ SelectableObj2 = page.getByIndex(1)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oSecDoc.dispose()
+End Sub
+
+sub AddShape(oPage as Object, nPosX as Integer, nPosY as Integer)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oRectangleShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oRectangleShape.Size = aSize
+ oRectangleShape.Position = aPoint
+ oRectangleShape.FillColor = RGB(255, 0, 0)
+ oPage.add(oRectangleShape)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/script.xlb b/qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/script.xlb
new file mode 100644
index 000000000000..d7108b233a4e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdUnoOutlineView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdUnoOutlineView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/sd_SdUnoOutlineView.xba b/qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/sd_SdUnoOutlineView.xba
new file mode 100644
index 000000000000..edea9b2a0dd5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdUnoOutlineView/sd_SdUnoOutlineView.xba
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdUnoOutlineView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for frame.XController
+Global oFrameToAttach As Object
+Global oModelToAttach As Object
+Global bHasNoViewData As Boolean
+Global oObjToSuspend As Object
+Global bHasNoModel As Boolean
+
+' Required for lang.XComponent
+Global oComponentInstance As Object
+
+' Required for frame.XDispatchProvider
+Global dispatchUrl As String
+
+' Required for awt.XWindow
+Global oXWindow As Object
+Global oCtrlShape as Object
+
+
+Global oSecDoc As Object
+Global oXComponentDoc as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdUnoOutlineView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+
+ bOK = true
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oXComponentDoc = utils.createImpressDocument(cObjectName+ "XComponent")
+
+ oObj = oDoc.getCurrentController()
+ oComponentInstance = oXComponentDoc.getCurrentController()
+
+ Out.log("Change to Outline view")
+ Dim aSlotID As String
+ aSlotID = "slot:27010"
+
+ Dim url as new com.sun.star.util.URL
+ url.Complete = aSlotID
+
+ Dim UrlTransformer As Object
+ UrlTransformer = createUnoService("com.sun.star.util.URLTransformer")
+ UrlTransformer.parseStrict(url)
+
+ Dim xDispatcher As Object
+ xDispatcher = oObj.queryDispatch( url,"",0)
+ if Not IsNULL(xDispatcher) then
+ xDispatcher.dispatch( url, DimArray() )
+ wait(5000)
+ else
+ Out.log("queryDispatch FAILED... Object SdUnoOutlineView can't be created")
+ oObj = NULL_OBJECT
+ endif
+
+ xDispatcher = oComponentInstance.queryDispatch( url,"",0)
+ if Not IsNULL(xDispatcher) then
+ xDispatcher.dispatch( url, DimArray() )
+ wait(5000)
+ else
+ Out.log("queryDispatch FAILED... Object SdUnoOutlineView can't be created")
+ endif
+
+ oSecDoc = utils.createImpressDocument("For frame.XController")
+ bHasNoViewData = false
+ bHasNoModel = false
+ oObjToSuspend = oObj
+ oFrameToAttach = StarDesktop.getCurrentFrame()
+ oModelToAttach = oSecDoc
+
+
+ dispatchUrl = "slot:27069"
+
+ ' For awt.XWindow
+ oXWindow = utils.at_getCurrentWindow(oSecDoc)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oSecDoc)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdUnoPresView/script.xlb b/qadevOOo/tests/basic/mod/sd/SdUnoPresView/script.xlb
new file mode 100644
index 000000000000..85375cd665b4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdUnoPresView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdUnoPresView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdUnoPresView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdUnoPresView/sd_SdUnoPresView.xba b/qadevOOo/tests/basic/mod/sd/SdUnoPresView/sd_SdUnoPresView.xba
new file mode 100644
index 000000000000..305dc5da6571
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdUnoPresView/sd_SdUnoPresView.xba
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdUnoPresView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for frame.XController
+Global oFrameToAttach As Object
+Global oModelToAttach As Object
+Global bHasNoViewData As Boolean
+Global oObjToSuspend As Object
+Global bHasNoModel As Boolean
+
+' Required for lang.XComponent
+Global oComponentInstance As Object
+
+' Required for frame.XDispatchProvider
+Global dispatchUrl As String
+
+' Required for drawing.XDrawView
+Global oPages As Variant
+
+' Required for awt.XWindow
+Global oXWindow As Object
+Global oCtrlShape as Object
+
+Global oSecDoc As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdUnoPresView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oDP As Object, oDP1 As Object
+ Dim oDPs As Object
+ bOK = true
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oSecDoc = utils.createImpressDocument(cObjectName+"1")
+ wait(500)
+
+ oDPs = oDoc.getDrawPages()
+ oDP = oDPs.getByIndex(0)
+ oDPs.insertNewByIndex(0)
+ oDP1 = oDPs.getByIndex(1)
+
+ addShape(oDP, 1000, 1000, "Rectangle")
+ addShape(oDP, 5000, 5000, "Ellipse")
+
+ oObj = oDoc.getCurrentController()
+
+ ' For XDrawPages
+ oPages = oDoc.getDrawPages()
+
+ ' For XComponent
+ oComponentInstance = oObj
+
+ ' For XDispatchProvider
+ dispatchUrl = "slot:27009"
+
+ ' For frame.XController
+ oFrameToAttach = StarDesktop.getCurrentFrame()
+ oModelToAttach = oSecDoc
+ bHasNoViewData = false
+ bHasNoModel = false
+ oObjToSuspend = oObj
+
+ ' For awt.XWindow
+ oXWindow = utils.at_getCurrentWindow(oSecDoc)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oDoc.dispose()
+ oSecDoc.dispose()
+End Sub
+
+Sub addShape(oPage as Object, nPosX as Integer, nPosY as Integer, oType As String)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oRectangleShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 2000
+ aSize.Height = 1000
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing."+oType+"Shape")
+ oRectangleShape.Size = aSize
+ oRectangleShape.Position = aPoint
+ oRectangleShape.FillColor = RGB(128, 255, 0)
+ oPage.add(oRectangleShape)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/script.xlb b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/script.xlb
new file mode 100644
index 000000000000..eff48affc0c0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdXCustomPresentation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdXCustomPresentation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/sd_SdXCustomPresentation.xba b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/sd_SdXCustomPresentation.xba
new file mode 100644
index 000000000000..c02a4a34970d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentation/sd_SdXCustomPresentation.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdXCustomPresentation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.container.XIndexContainer
+Global oInstance As Object 'for InsertByName
+
+' Required for XIndexReplace
+Global oIdxReplaceInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdXCustomPresentation
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPresentations As Object
+ Dim oPresentation As Object
+ Dim oDrawPages As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+
+ oPresentations = oDoc.getCustomPresentations()
+ oDrawPages = oDoc.getDrawPages
+ oDrawPages.insertNewByIndex(oDrawPages.getCount())
+ oDrawPages.insertNewByIndex(oDrawPages.getCount())
+ oDrawPages.insertNewByIndex(oDrawPages.getCount())
+ oDrawPages.insertNewByIndex(oDrawPages.getCount())
+
+ oPresentation = oPresentations.createInstance()
+ oPresentations.insertByName(cObjectName, oPresentation)
+ oIdxReplaceInstance = oDrawPages.getByIndex(3)
+
+ oObj = oPresentations.getByName(oPresentations.elementNames(0))
+
+ oObj.insertByIndex(oObj.Count, oDrawPages.getByIndex(0))
+ oObj.insertByIndex(oObj.Count, oDrawPages.getByIndex(1))
+ oObj.insertByIndex(oObj.Count, oDrawPages.getByIndex(2))
+ oInstance = oDrawPages.getByIndex(3)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/script.xlb b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/script.xlb
new file mode 100644
index 000000000000..92f8c79f7d0d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdXCustomPresentationAccess" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdXCustomPresentationAccess"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/sd_SdXCustomPresentationAccess.xba b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/sd_SdXCustomPresentationAccess.xba
new file mode 100644
index 000000000000..d626a83a2256
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXCustomPresentationAccess/sd_SdXCustomPresentationAccess.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdXCustomPresentationAccess" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.container.XNameContainer
+Global oInstance As Object 'instance to insert
+
+'Required for com.sun.star.container.XNameReplace
+Global oReplaceInstance As Object
+Global cNameToReplace As String
+
+'For lang.XSingleServiceFactory
+Global aMustSupportInterface As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdXCustomPresentationAccess
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = oDoc.getCustomPresentations()
+
+ oInstance = oObj.createInstance()
+ oObj.insertByName("FirstPresentation", oInstance)
+ oInstance = oObj.createInstance()
+ oObj.insertByName("SecondPresentation", oInstance)
+ oInstance = oObj.createInstance()
+
+ cNameToReplace = "SecondPresentation"
+ oReplaceInstance = oObj.createInstance()
+
+ aMustSupportInterface = Array("com.sun.star.container.XIndexContainer")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXImpressDocument/script.xlb b/qadevOOo/tests/basic/mod/sd/SdXImpressDocument/script.xlb
new file mode 100644
index 000000000000..54c30454d5df
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXImpressDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdXImpressDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdXImpressDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXImpressDocument/sd_SdXImpressDocument.xba b/qadevOOo/tests/basic/mod/sd/SdXImpressDocument/sd_SdXImpressDocument.xba
new file mode 100644
index 000000000000..5b7aee65ec94
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXImpressDocument/sd_SdXImpressDocument.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdXImpressDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XMultiServiceFactory
+ Global cServiceName As String ' ex. "com.sun.star.drawing.RectangleShape"
+ Global bCreateInstanceWithoutArguments As Boolean
+ Global aArguments() As Variant
+
+' Requiered for com.sun.star.drawing.XDrawPageDuplicator
+ Global oCollection As Object ' = oDoc.DrawPages(0)
+
+' com.sun.star.frame.XModel
+ Global oXModelController as Object
+ Global oXModelSel as Object
+ Global oXModelToSel as Object
+
+
+ Global oComponentInstance As Object
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdXImpressDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oControllerDoc as Object
+ Dim oRectangleShape as Object
+ Dim oPage as Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oControllerDoc = utils.createImpressDocument(cObjectName + "XModel")
+ oComponentInstance = utils.createImpressDocument(cObjectName + "XComponent")
+
+ oCollection = oDoc.DrawPages(0)
+ oObj = oDoc
+
+ cServiceName = "com.sun.star.drawing.RectangleShape"
+ bCreateInstanceWithoutArguments = true
+ aArguments() = noargs()
+
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oPage = oDoc.getDrawPages().getByIndex(0)
+ oPage.add(oRectangleShape)
+
+ oXModelToSel = oRectangleShape
+ oXModelController = oControllerDoc.getCurrentController()
+ oXModelSel = oDoc.getCurrentController()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oComponentInstance) then oComponentInstance.dispose()
+
+ ' To successfully dispose oControllerDoc re-open it first.
+ Dim oControllerDoc As Object
+ oControllerDoc = utils.createDocument(cObjectName + "XModel")
+ oControllerDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXPresentation/script.xlb b/qadevOOo/tests/basic/mod/sd/SdXPresentation/script.xlb
new file mode 100644
index 000000000000..20b9fca530b8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXPresentation/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdXPresentation" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdXPresentation"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXPresentation/sd_SdXPresentation.xba b/qadevOOo/tests/basic/mod/sd/SdXPresentation/sd_SdXPresentation.xba
new file mode 100644
index 000000000000..2ef0232aafe2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXPresentation/sd_SdXPresentation.xba
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdXPresentation" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdXPresentation
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPres As Object
+ Dim oInst As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oPres = oDoc.getCustomPresentations()
+ oInst = oPres.createInstance()
+ oPres.insertByName("FirstPresentation", oInst)
+ oInst = oPres.createInstance()
+ oPres.insertByName("SecondPresentation", oInst)
+
+ oObj = oDoc.getPresentation()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXShape/script.xlb b/qadevOOo/tests/basic/mod/sd/SdXShape/script.xlb
new file mode 100644
index 000000000000..55ca6e4df6fa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sd_SdXShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sd_SdXShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sd/SdXShape/sd_SdXShape.xba b/qadevOOo/tests/basic/mod/sd/SdXShape/sd_SdXShape.xba
new file mode 100644
index 000000000000..0e719ec6a88a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sd/SdXShape/sd_SdXShape.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sd_SdXShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.lang.XComponent
+Global oComponentInstance as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sd.SdXShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oDrawPage As Object
+ Dim oDrawPages As Object
+ Dim oCollection As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oDrawPages = oDoc.DrawPages
+ oDrawPage = oDrawPages.getByIndex(0)
+ addShape(oDrawPage, 1000, 1000)
+ addShape(oDrawPage, 5000, 5000)
+ oCollection = oDrawPage
+ oObj = oDrawPage.getByIndex(0)
+ oComponentInstance = oDrawPage.getByIndex(1)
+
+
+ Dim oLayerManager As Object
+ Dim nLayer As Integer
+ Dim oLayer As Object
+
+ oLayerManager = oDoc.LayerManager
+ nLayer = oLayerManager.Count
+ oLayer = oLayerManager.insertNewByIndex(nLayer)
+ oLayer.Name = "Test"
+ oLayerManager.attachShapeToLayer(oObj, oLayer)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub AddShape(oPage as Object, nPosX as Integer, nPosY as Integer)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oRectangleShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oRectangleShape.Size = aSize
+ oRectangleShape.Position = aPoint
+ oRectangleShape.FillColor = RGB(255, 0, 0)
+ oPage.add(oRectangleShape)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/script.xlb b/qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/script.xlb
new file mode 100644
index 000000000000..b242aa37d010
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="servicemgr_uno_OServiceManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="servicemgr_uno_OServiceManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/servicemgr_uno_OServiceManager.xba b/qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/servicemgr_uno_OServiceManager.xba
new file mode 100644
index 000000000000..c9d796c6469f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/servicemgr.uno/OServiceManager/servicemgr_uno_OServiceManager.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="servicemgr_uno_OServiceManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XMultiServiceFactory
+ Global cServiceName As String ' ex. "com.sun.star.drawing.RectangleShape"
+ Global bCreateInstanceWithoutArguments As Boolean
+ Global aArguments() As Variant
+
+' Requiered for com.sun.star.lang.XMultiComponentFactory
+ Global aContext() As Variant
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' smgr.OServiceManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPres As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = createUnoService("com.sun.star.lang.ServiceManager")
+
+ oPres = oDoc.getCustomPresentations()
+ oObj.insert(oPres)
+ cServiceName = "com.sun.star.presentation.CustomPresentationAccess"
+ bCreateInstanceWithoutArguments = true
+ aArguments() = noargs()
+ aContext() = noargs()
+
+ oComponentInstance = createUnoService("com.sun.star.lang.ServiceManager")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sfx/DocumentTemplates/script.xlb b/qadevOOo/tests/basic/mod/sfx/DocumentTemplates/script.xlb
new file mode 100644
index 000000000000..85e442c44ef6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/DocumentTemplates/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sfx_DocumentTemplates" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sfx_DocumentTemplates"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sfx/DocumentTemplates/sfx_DocumentTemplates.xba b/qadevOOo/tests/basic/mod/sfx/DocumentTemplates/sfx_DocumentTemplates.xba
new file mode 100644
index 000000000000..244a330bfee5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/DocumentTemplates/sfx_DocumentTemplates.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sfx_DocumentTemplates" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' variable for frame.XDocumentTemplates
+Global oStore As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sfx.DocumentTemplates
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = createUnoService("com.sun.star.frame.DocumentTemplates")
+
+ ' setting variable for XDocumentTemplates
+ oStore = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sfx/FrameLoader/script.xlb b/qadevOOo/tests/basic/mod/sfx/FrameLoader/script.xlb
new file mode 100644
index 000000000000..9f2b3fdd828a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/FrameLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sfx_FrameLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sfx_FrameLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sfx/FrameLoader/sfx_FrameLoader.xba b/qadevOOo/tests/basic/mod/sfx/FrameLoader/sfx_FrameLoader.xba
new file mode 100644
index 000000000000..35fb72701b14
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/FrameLoader/sfx_FrameLoader.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sfx_FrameLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.frame.XSynchronousFrameLoader
+ Global oFrame As Object
+ Global sURL As String
+
+' For XFrameLoader
+Global FrameLoaderURL As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sfx.FrameLoader
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oObj = createUnoService("com.sun.star.frame.FrameLoader")
+
+ oFrame = oDoc.getCurrentController().getFrame()
+
+ sURL = utils.Path2URL(cTestDocsDir &amp; "Iterator.sxw")
+
+ FrameLoaderURL = "private:factory/swriter"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/script.xlb b/qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/script.xlb
new file mode 100644
index 000000000000..bd2aedea255e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sfx_SfxMacroLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sfx_SfxMacroLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/sfx_SfxMacroLoader.xba b/qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/sfx_SfxMacroLoader.xba
new file mode 100644
index 000000000000..f52e40d0a2b8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/SfxMacroLoader/sfx_SfxMacroLoader.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sfx_SfxMacroLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' For XFrameLoader
+Global FrameLoaderURL As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sfx.SfxMacroLoader
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.comp.sfx2.SfxMacroLoader")
+
+ FrameLoaderURL = "private:factory/swriter"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/script.xlb b/qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/script.xlb
new file mode 100644
index 000000000000..12430abdaff5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sfx_StandaloneDocumentInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sfx_StandaloneDocumentInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/sfx_StandaloneDocumentInfo.xba b/qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/sfx_StandaloneDocumentInfo.xba
new file mode 100644
index 000000000000..28b277e4432e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sfx/StandaloneDocumentInfo/sfx_StandaloneDocumentInfo.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sfx_StandaloneDocumentInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' variable for document.XStandaloneDocumentInfo
+Global documentURL As String
+
+'variable for lang.XComponent
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sfx.StandaloneDocumentInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim srcDoc As String, destDoc As String
+ Dim facc As Object
+
+ oObj = createUnoService("com.sun.star.document.StandaloneDocumentInfo")
+
+ srcDoc = utils.Path2URL(cTestDocsDir) + "SfxStandaloneDocInfoObject.sdw"
+ destDoc = utils.getTempFileURL("SfxStandaloneDocInfoObject.sdw", true)
+ facc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ facc.copy(srcDoc, destDoc)
+
+ oObj.loadFromURL(destDoc)
+
+ 'setting variable for document.XStandaloneDocumentInfo
+ documentURL = destDoc
+
+ oComponentInstance = oObj
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/script.xlb b/qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/script.xlb
new file mode 100644
index 000000000000..9aa0cb96a425
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="shlibloader_uno_DLLComponentLoader" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="shlibloader_uno_DLLComponentLoader"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/shlibloader_uno_DLLComponentLoader.xba b/qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/shlibloader_uno_DLLComponentLoader.xba
new file mode 100644
index 000000000000..3ae0dbee8cdb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/shlibloader.uno/DLLComponentLoader/shlibloader_uno_DLLComponentLoader.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="shlibloader_uno_DLLComponentLoader" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global cImpLoader As String
+Global cImpURL As String
+Global cImpName As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' cpld.DLLComponentLoader
+'*************************************************************************
+ oObj = createUNOService("com.sun.star.loader.SharedLibrary")
+
+ cImpLoader = "com.sun.star.loader.SharedLibrary"
+ cImpURL = Path2URL(cTestDocsDir + "XImpReg.dll")
+ cImpName = "com.sun.star.comp.stoc.JavaComponentLoader"
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/script.xlb b/qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/script.xlb
new file mode 100644
index 000000000000..c6693d1e331a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="simplereg_uno_SimpleRegistry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="simplereg_uno_SimpleRegistry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/simplereg_uno_SimpleRegistry.xba b/qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/simplereg_uno_SimpleRegistry.xba
new file mode 100644
index 000000000000..18e36c1eca52
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/simplereg.uno/SimpleRegistry/simplereg_uno_SimpleRegistry.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="simplereg_uno_SimpleRegistry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' simreg.SimpleRegistry
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.registry.SimpleRegistry")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/simreg/SimpleRegistry/script.xlb b/qadevOOo/tests/basic/mod/simreg/SimpleRegistry/script.xlb
new file mode 100644
index 000000000000..1f58776db999
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/simreg/SimpleRegistry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="simreg_SimpleRegistry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="simreg_SimpleRegistry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/simreg/SimpleRegistry/simreg_SimpleRegistry.xba b/qadevOOo/tests/basic/mod/simreg/SimpleRegistry/simreg_SimpleRegistry.xba
new file mode 100644
index 000000000000..5772540867db
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/simreg/SimpleRegistry/simreg_SimpleRegistry.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="simreg_SimpleRegistry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' simreg.SimpleRegistry
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.registry.SimpleRegistry")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/SmEditAccessible/script.xlb b/qadevOOo/tests/basic/mod/sm/SmEditAccessible/script.xlb
new file mode 100644
index 000000000000..a19ead0edc9b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/SmEditAccessible/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_SmEditAccessible" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_SmEditAccessible"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/SmEditAccessible/sm_SmEditAccessible.xba b/qadevOOo/tests/basic/mod/sm/SmEditAccessible/sm_SmEditAccessible.xba
new file mode 100644
index 000000000000..fef7c4783a37
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/SmEditAccessible/sm_SmEditAccessible.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_SmEditAccessible" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for XAccessibleText
+Global accText As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.SmEditAccessible
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("smath", cObjectName)
+
+ accText = "sum hat a"
+ oDoc.Formula = accText
+
+ wait(2000)
+
+ Dim oWin As Object
+ Dim xRoot As Object
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL, "Commands")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oDoc.Formula = "sum hat x"
+ wait(2000)
+ oDoc.Formula = accText
+ wait(2000)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/script.xlb b/qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/script.xlb
new file mode 100644
index 000000000000..aff350c9c197
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_SmGraphicAccessible" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_SmGraphicAccessible"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/sm_SmGraphicAccessible.xba b/qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/sm_SmGraphicAccessible.xba
new file mode 100644
index 000000000000..4990d276e4fd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/SmGraphicAccessible/sm_SmGraphicAccessible.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_SmGraphicAccessible" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for XAccessibleText
+Global accText As String
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.SmGraphicAccessible
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("smath", cObjectName)
+
+ accText = "sum a cdot b"
+ oDoc.Formula = accText
+
+ wait(2000)
+
+ Dim oWin As Object
+ Dim xRoot As Object
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT, "Formula")
+ readOnly = false
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oDoc.Formula = "sum hat x"
+ wait(2000)
+ oDoc.Formula = accText
+ wait(2000)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/SmModel/script.xlb b/qadevOOo/tests/basic/mod/sm/SmModel/script.xlb
new file mode 100644
index 000000000000..0ef9ff02ff5a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/SmModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_SmModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_SmModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/SmModel/sm_SmModel.xba b/qadevOOo/tests/basic/mod/sm/SmModel/sm_SmModel.xba
new file mode 100644
index 000000000000..0247417e56c1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/SmModel/sm_SmModel.xba
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_SmModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.SmModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("smath", cObjectName)
+ oObj = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLExporter/script.xlb b/qadevOOo/tests/basic/mod/sm/XMLExporter/script.xlb
new file mode 100644
index 000000000000..aa91c6231059
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_XMLExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_XMLExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLExporter/sm_XMLExporter.xba b/qadevOOo/tests/basic/mod/sm/XMLExporter/sm_XMLExporter.xba
new file mode 100644
index 000000000000..9b3f4a00eea4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLExporter/sm_XMLExporter.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_XMLExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.XMLExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim expFormula As String
+
+ printXML = true
+ expFormula = "a - b"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("smath", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("math:math")
+ Tag2 = Array("math:annotation")
+ Tag3 = Array("math:semantics")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag3), _
+ Array("CharsEnclosed", Tag2, expFormula) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Math.XMLExporter", initArgs())
+
+ oDoc.setPropertyValue("Formula", expFormula)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "smath: StarOffice XML (Formula)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLImporter/script.xlb b/qadevOOo/tests/basic/mod/sm/XMLImporter/script.xlb
new file mode 100644
index 000000000000..a0d5abd5eff0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_XMLImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_XMLImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLImporter/sm_XMLImporter.xba b/qadevOOo/tests/basic/mod/sm/XMLImporter/sm_XMLImporter.xba
new file mode 100644
index 000000000000..4f7e90db93a1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLImporter/sm_XMLImporter.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_XMLImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sFormula As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.XMLImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("smath", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Math.XMLImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sFormula = "a - b"
+ vXMLData = Array( _
+ Array("start", "math:math", _
+ "xmlns:math", "CDATA", "http://www.w3.org/1998/Math/MathML"), _
+ Array("start", "math:semantics"), _
+ Array("start", "math:annotation", _
+ "math:encoding", "CDATA", "StarMath 5.0"), _
+ Array("chars", sFormula), _
+ Array("end", "math:annotation"), _
+ Array("end", "math:semantics"), _
+ Array("end", "math:math") )
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ out.log("checking of import...")
+ CheckImport() = (oDoc.getPropertyValue("Formula") = sFormula)
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLMetaExporter/script.xlb b/qadevOOo/tests/basic/mod/sm/XMLMetaExporter/script.xlb
new file mode 100644
index 000000000000..cfc33f047031
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLMetaExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_XMLMetaExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_XMLMetaExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLMetaExporter/sm_XMLMetaExporter.xba b/qadevOOo/tests/basic/mod/sm/XMLMetaExporter/sm_XMLMetaExporter.xba
new file mode 100644
index 000000000000..503d50e37ff8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLMetaExporter/sm_XMLMetaExporter.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_XMLMetaExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.XMLMetaExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2 As Variant
+ Dim expMetaName, expMetaValue As String
+ Dim oDocInfo As Object
+
+ printXML = true
+ expMetaName = "XMLMetaExporterName"
+ expMetaValue = "XMLMetaExporterValue"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("smath", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-meta")
+ Tag2 = Array("meta:user-defined", "meta:name", expMetaName)
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("CharsEnclosed", Tag2, expMetaValue) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Math.XMLMetaExporter", initArgs())
+
+ oDocInfo = oDoc.getDocumentInfo()
+ oDocInfo.setUserFieldName(0, expMetaName)
+ oDocInfo.setUserFieldValue(0, expMetaValue)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "smath: StarOffice XML (Formula)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLMetaImporter/script.xlb b/qadevOOo/tests/basic/mod/sm/XMLMetaImporter/script.xlb
new file mode 100644
index 000000000000..7231ac372d02
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLMetaImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_XMLMetaImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_XMLMetaImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLMetaImporter/sm_XMLMetaImporter.xba b/qadevOOo/tests/basic/mod/sm/XMLMetaImporter/sm_XMLMetaImporter.xba
new file mode 100644
index 000000000000..12210bf62867
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLMetaImporter/sm_XMLMetaImporter.xba
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_XMLMetaImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sTitle, sName, sValue As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.XMLMetaImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("smath", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Math.XMLMetaImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sTitle = "XMLMetaImporter Title"
+ sName = "XMLMetaImporter"
+ sValue = "XMLMetaImporter_Value"
+ vXMLData = Array( _
+ Array("start", "office:document-meta", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta", _
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink", _
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"), _
+ Array("start", "office:meta"), _
+ Array("start", "dc:title"), _
+ Array("chars", sTitle), _
+ Array("end", "dc:title"), _
+ Array("start", "meta:user-defined", _
+ "meta:name", "CDATA", sName), _
+ Array("chars", sValue), _
+ Array("end", "meta:user-defined"), _
+ Array("end", "office:meta"), _
+ Array("end", "office:document-meta"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ out.log("checking of import...")
+ Dim res As Boolean
+ Dim i As Integer
+ Dim docInfo As Object
+ Dim fieldValue, fieldName, title as String
+ docInfo = oDoc.getDocumentInfo()
+ res = false
+ For i = 0 to docInfo.getUserFieldCount() - 1
+ fieldName = docInfo.getUserFieldName(i)
+ fieldValue = docInfo.getUserFieldValue(i)
+ out.log("Field name: " + fieldName + " Value: " + fieldValue)
+ If (fieldName = sName) and (fieldValue = sValue) then
+ res = true
+ EndIf
+ Next i
+
+ title = docInfo.getPropertyValue("Title")
+ out.log("Title: " + title)
+ res = res and (title = sTitle)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/script.xlb b/qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/script.xlb
new file mode 100644
index 000000000000..5fdd3687c0bb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_XMLSettingsExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_XMLSettingsExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/sm_XMLSettingsExporter.xba b/qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/sm_XMLSettingsExporter.xba
new file mode 100644
index 000000000000..7fa1af0005bd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLSettingsExporter/sm_XMLSettingsExporter.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_XMLSettingsExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.XMLSettingsExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2 As Variant
+ Dim expMargin As Integer
+
+ printXML = true
+ expMargin = 67
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("smath", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-settings")
+ Tag2 = Array("config:config-item", "config:name", "TopMargin")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("CharsEnclosed", Tag2, ""+expMargin) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Math.XMLSettingsExporter", initArgs())
+
+ oDoc.setPropertyValue("TopMargin", expMargin)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "smath: StarOffice XML (Formula)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/script.xlb b/qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/script.xlb
new file mode 100644
index 000000000000..055b77c7819a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sm_XMLSettingsImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sm_XMLSettingsImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/sm_XMLSettingsImporter.xba b/qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/sm_XMLSettingsImporter.xba
new file mode 100644
index 000000000000..b6f047f02d83
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sm/XMLSettingsImporter/sm_XMLSettingsImporter.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_XMLSettingsImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sMargin As Integer
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sm.XMLSettingsImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("smath", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Math.XMLSettingsImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sMargin = "67"
+ vXMLData = Array( _
+ Array("start", "office:document-settings", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config", _
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:settings"), _
+ Array("start", "config:config-item-set", _
+ "config:name", "CDATA", "configuration-settings"), _
+ Array("start", "config:config-item", _
+ "config:name", "CDATA", "TopMargin", _
+ "config:type", "CDATA", "short"), _
+ Array("chars", sMargin), _
+ Array("end", "config:config-item"), _
+ Array("end", "config:config-item-set"), _
+ Array("end", "office:settings"), _
+ Array("end", "office:document-settings"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ out.log("checking of import...")
+ Dim res As Boolean
+ Dim margin As String
+ margin = oDoc.getPropertyValue("TopMargin")
+ res = margin = sMargin
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/smgr/OServiceManager/script.xlb b/qadevOOo/tests/basic/mod/smgr/OServiceManager/script.xlb
new file mode 100644
index 000000000000..2b1ca666431b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/smgr/OServiceManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="smgr_OServiceManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="smgr_OServiceManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/smgr/OServiceManager/smgr_OServiceManager.xba b/qadevOOo/tests/basic/mod/smgr/OServiceManager/smgr_OServiceManager.xba
new file mode 100644
index 000000000000..ad027f869cb7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/smgr/OServiceManager/smgr_OServiceManager.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="smgr_OServiceManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XMultiServiceFactory
+ Global cServiceName As String ' ex. "com.sun.star.drawing.RectangleShape"
+ Global bCreateInstanceWithoutArguments As Boolean
+ Global aArguments() As Variant
+
+' Requiered for com.sun.star.lang.XMultiComponentFactory
+ Global aContext() As Variant
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' smgr.OServiceManager
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPres As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = createUnoService("com.sun.star.lang.ServiceManager")
+
+ oPres = oDoc.getCustomPresentations()
+ oObj.insert(oPres)
+ cServiceName = "com.sun.star.presentation.CustomPresentationAccess"
+ bCreateInstanceWithoutArguments = true
+ aArguments() = noargs()
+ aContext() = noargs()
+
+ oComponentInstance = createUnoService("com.sun.star.lang.ServiceManager")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/script.xlb b/qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/script.xlb
new file mode 100644
index 000000000000..4e1022aac7b8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="smplmail_SimpleSystemMail" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="smplmail_SimpleSystemMail"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/smplmail_SimpleSystemMail.xba b/qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/smplmail_SimpleSystemMail.xba
new file mode 100644
index 000000000000..9c7de18a21fd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/smplmail/SimpleSystemMail/smplmail_SimpleSystemMail.xba
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="smplmail_SimpleSystemMail" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' smplmail.SimpleSystemMail
+'*************************************************************************
+On Error Goto ErrHndl
+ if (GetGuiType() = GUI_TYPE_WINDOWS) then
+ Out.Log("OS is Win : trying to create service ...")
+ oDoc = createUNOService("com.sun.star.system.SimpleSystemMail")
+ oObj = oDoc
+ else
+ Out.Log("OS is not Win : service is not available ...")
+ Out.Log("Creating Dummy object to avoid error in BasicBridge ...")
+ oObj = createUnoService("com.sun.star.io.Pipe")
+ Test.skipObjectCheck()
+ endif
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/script.xlb b/qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/script.xlb
new file mode 100644
index 000000000000..dcab36c3a4de
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="srtrs_SortedDynamicResultSetFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="srtrs_SortedDynamicResultSetFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/srtrs_SortedDynamicResultSetFactory.xba b/qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/srtrs_SortedDynamicResultSetFactory.xba
new file mode 100644
index 000000000000..a3c5eff4937e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/srtrs/SortedDynamicResultSetFactory/srtrs_SortedDynamicResultSetFactory.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="srtrs_SortedDynamicResultSetFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' srtrs.SortedDynamicResultSetFactory
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUnoService("com.sun.star.ucb.SortedDynamicResultSetFactory")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/DataInputStream/script.xlb b/qadevOOo/tests/basic/mod/stm/DataInputStream/script.xlb
new file mode 100644
index 000000000000..e139fe6fdc1c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/DataInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_DataInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_DataInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/DataInputStream/stm_DataInputStream.xba b/qadevOOo/tests/basic/mod/stm/DataInputStream/stm_DataInputStream.xba
new file mode 100644
index 000000000000..541ee3f12d70
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/DataInputStream/stm_DataInputStream.xba
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_DataInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.DataInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oOS As Object
+
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicDataInputStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.DataInputStream")
+
+ 'Creating a file...
+ oOS = oFileAcc.openFileWrite(cFileName)
+ oOS.closeOutput()
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getOutStream() As Object
+On Error goto ErrHndl
+ Dim oFO As Object
+ ResetStreams()
+ oInputStream.closeInput()
+ oOutputStream = createUnoService("com.sun.star.io.DataOutputStream")
+ oFileAcc.kill(cFileName)
+ oFO = oFileAcc.openFileWrite(cFileName)
+ oOutputStream.setOutputStream(oFO)
+ bOutputStream = true
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Function getInStream() As Object
+On Error goto ErrHndl
+ ResetStreams()
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+ if bOutputStream then
+ oOutputStream.closeOutput()
+ bOutputStream = false
+ end if
+
+ if NOT oFileAcc.exists(cFileName) then
+ Dim oFO As Object
+ oFO = oFileAcc.openFileWrite(cFileName)
+ oFO.closeOutput()
+ end if
+
+ oInputStream = oFileAcc.openFileRead(cFileName)
+ bInputStream = true
+ oObj.setInputStream(oInputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeInput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/DataOutputStream/script.xlb b/qadevOOo/tests/basic/mod/stm/DataOutputStream/script.xlb
new file mode 100644
index 000000000000..efe7b2965fe1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/DataOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_DataOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_DataOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/DataOutputStream/stm_DataOutputStream.xba b/qadevOOo/tests/basic/mod/stm/DataOutputStream/stm_DataOutputStream.xba
new file mode 100644
index 000000000000..35344daf0705
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/DataOutputStream/stm_DataOutputStream.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_DataOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.DataOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicDataOutputStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.DataOutputStream")
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error goto ErrHndl
+ Dim oFI As Object
+ ResetStreams()
+ oInputStream = createUnoService("com.sun.star.io.DataInputStream")
+ oFI = oFileAcc.openFileRead(cFileName)
+ oInputStream.setInputStream(oFI)
+ bInputStream = true
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error goto ErrHndl
+ ResetStreams()
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+ if bOutputStream then
+ oOutputStream.closeOutput()
+ bOutputStream = false
+ end if
+ oOutputStream = oFileAcc.openFileWrite(cFileName)
+ bOutputStream = true
+ oObj.setOutputStream(oOutputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeOutput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/MarkableInputStream/script.xlb b/qadevOOo/tests/basic/mod/stm/MarkableInputStream/script.xlb
new file mode 100644
index 000000000000..111d34113e5e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/MarkableInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_MarkableInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_MarkableInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba b/qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba
new file mode 100644
index 000000000000..2e4b93d772a8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_MarkableInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.MarkableInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oOS As Object
+
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicMarkableIOStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.MarkableInputStream")
+ 'Creating a file...
+ if oFileAcc.exists(cFileName) then oFileAcc.Kill(cFileName)
+ oOS = oFileAcc.openFileWrite(cFileName)
+ oOS.closeOutput()
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error goto ErrHndl
+ ResetStreams()
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error goto ErrHndl
+ Dim oFO As Object
+
+ ResetStreams()
+ oOutputStream = createUnoService("com.sun.star.io.MarkableOutputStream")
+ oInputStream.closeInput()
+ oFileAcc.Kill(cFileName)
+ oFO = oFileAcc.openFileWrite(cFileName)
+ oOutputStream.setOutputStream(oFO)
+ bOutputStream = true
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ if bOutputStream then
+ oOutputStream.closeOutput()
+ bOutputStream = false
+ end if
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+ oInputStream = oFileAcc.openFileRead(cFileName)
+ bInputStream = true
+ oObj.setInputStream(oInputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeInput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/MarkableOutputStream/script.xlb b/qadevOOo/tests/basic/mod/stm/MarkableOutputStream/script.xlb
new file mode 100644
index 000000000000..98c1f2b8c4d3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/MarkableOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_MarkableOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_MarkableOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/MarkableOutputStream/stm_MarkableOutputStream.xba b/qadevOOo/tests/basic/mod/stm/MarkableOutputStream/stm_MarkableOutputStream.xba
new file mode 100644
index 000000000000..b9e9835dcd43
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/MarkableOutputStream/stm_MarkableOutputStream.xba
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_MarkableOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.MarkableOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicMarkableIOStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.MarkableOutputStream")
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ CloseStreams()
+ oOutputStream = oFileAcc.openFileWrite(cFileName)
+ bOutputStream = true
+ oObj.setOutputStream(oOutputStream)
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ Dim oFI As Object
+
+ CloseStreams()
+ oInputStream = createUnoService("com.sun.star.io.MarkableInputStream")
+ oFI = oFileAcc.openFileRead(cFileName)
+ oInputStream.setInputStream(oFI)
+ bInputStream = true
+ getInStream() = oInputStream
+
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ CloseStreams()
+ oFileAcc.Kill(cFileName)
+ oOutputStream = oFileAcc.openFileWrite(cFileName)
+ bOutputStream = true
+ oObj.setOutputStream(oOutputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub CloseStreams()
+ if bOutputStream then
+ oObj.closeOutput()
+ bOutputStream = false
+ end if
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeOutput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/ObjectInputStream/script.xlb b/qadevOOo/tests/basic/mod/stm/ObjectInputStream/script.xlb
new file mode 100644
index 000000000000..27475e3cc3c0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/ObjectInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_ObjectInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_ObjectInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/ObjectInputStream/stm_ObjectInputStream.xba b/qadevOOo/tests/basic/mod/stm/ObjectInputStream/stm_ObjectInputStream.xba
new file mode 100644
index 000000000000..df0bbfd4e9b9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/ObjectInputStream/stm_ObjectInputStream.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_ObjectInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global oMarkOut As Object, oMarkIn As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.ObjectInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPipe As Object
+
+ oObj = createUnoService("com.sun.star.io.ObjectInputStream")
+ oMarkIn = createUnoService("com.sun.star.io.MarkableInputStream")
+ oPipe = createUnoService("com.sun.star.io.Pipe")
+ oMarkOut = createUnoService("com.sun.star.io.MarkableOutputStream")
+ oOutputStream = createUnoService("com.sun.star.io.ObjectOutputStream")
+ oObj.setInputStream(oMarkIn)
+ oMarkIn.setInputStream(oPipe)
+ oMarkOut.setOutputStream(oPipe)
+ oOutputStream.setOutputStream(oMarkOut)
+ oInputStream = oObj
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ Dim oNewPipe As Object
+
+ oNewPipe = createUnoService("com.sun.star.io.Pipe")
+ oMarkIn.getInputStream().closeInput()
+ oMarkOut.getOutputStream().closeOutput()
+ oMarkIn.setInputStream(oNewPipe)
+ oMarkOut.setOutputStream(oNewPipe)
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+Exit Sub
+ErrHndl:
+ Out.Log("ResetStreams: exception: " + error)
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeInput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/ObjectOutputStream/script.xlb b/qadevOOo/tests/basic/mod/stm/ObjectOutputStream/script.xlb
new file mode 100644
index 000000000000..2388085a07d5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/ObjectOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_ObjectOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_ObjectOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/ObjectOutputStream/stm_ObjectOutputStream.xba b/qadevOOo/tests/basic/mod/stm/ObjectOutputStream/stm_ObjectOutputStream.xba
new file mode 100644
index 000000000000..2e041224c9ac
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/ObjectOutputStream/stm_ObjectOutputStream.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_ObjectOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global oMarkOut As Object, oMarkIn As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.ObjectOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPipe As Object
+
+ oObj = createUnoService("com.sun.star.io.ObjectOutputStream")
+ oMarkOut = createUnoService("com.sun.star.io.MarkableOutputStream")
+ oPipe = createUnoService("com.sun.star.io.Pipe")
+ oMarkIn = createUnoService("com.sun.star.io.MarkableInputStream")
+ oInputStream = createUnoService("com.sun.star.io.ObjectInputStream")
+ oObj.setOutputStream(oMarkOut)
+ oMarkOut.setOutputStream(oPipe)
+ oMarkIn.setInputStream(oPipe)
+ oInputStream.setInputStream(oMarkIn)
+ oOutputStream = oObj
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ Dim oFI As Object
+
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeOutput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/Pipe/script.xlb b/qadevOOo/tests/basic/mod/stm/Pipe/script.xlb
new file mode 100644
index 000000000000..f13f198a9dd0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/Pipe/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_Pipe" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_Pipe"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/Pipe/stm_Pipe.xba b/qadevOOo/tests/basic/mod/stm/Pipe/stm_Pipe.xba
new file mode 100644
index 000000000000..2aab9c88cc2a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/Pipe/stm_Pipe.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_Pipe" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.Pipe
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.io.Pipe")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ getInStream() = oObj
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ getOutStream() = oObj
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error Goto ErrHndl
+ oObj.closeInput()
+ oObj.closeOutput()
+ oObj = createUnoService("com.sun.star.io.Pipe")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/stm/Pump/script.xlb b/qadevOOo/tests/basic/mod/stm/Pump/script.xlb
new file mode 100644
index 000000000000..848abf83b3ba
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/Pump/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="stm_Pump" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="stm_Pump"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/stm/Pump/stm_Pump.xba b/qadevOOo/tests/basic/mod/stm/Pump/stm_Pump.xba
new file mode 100644
index 000000000000..46f1a9e77835
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/stm/Pump/stm_Pump.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_Pump" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oPipe As Object
+Global PumpOUTFileName As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.Pump
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oFileAcc As Object
+ Dim oDataInput As Object
+ Dim oDataOutput As Object
+ Dim oSFA As Object
+ Dim oOS As Object
+
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ PumpOUTFileName = utils.getTempFileURL("PumpOUT.dat")
+ if (FileExists(PumpOUTFileName)) then
+ oFileAcc.Kill(PumpOUTFileName)
+ end if
+
+ oObj = createUnoService("com.sun.star.io.Pump")
+ oPipe = createUnoService("com.sun.star.io.Pipe")
+
+ oDataInput = createUnoService("com.sun.star.io.DataInputStream")
+ oDataInput.setInputStream(oPipe)
+
+ oDataOutput = createUnoService("com.sun.star.io.DataOutputStream")
+ oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ oOS = oSFA.openFileWrite(PumpOUTFileName)
+ oDataOutput.setOutputStream(oOS)
+
+ oObj.setInputStream(oDataInput)
+ oObj.setOutputStream(oDataOutput)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+On Error goto ErrHndl
+ oObj.terminate()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub ResetStreams()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/DataInputStream/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/DataInputStream/script.xlb
new file mode 100644
index 000000000000..41b969bb8788
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/DataInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_DataInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_DataInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/DataInputStream/streams_uno_DataInputStream.xba b/qadevOOo/tests/basic/mod/streams.uno/DataInputStream/streams_uno_DataInputStream.xba
new file mode 100644
index 000000000000..bfa5f3ed20cd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/DataInputStream/streams_uno_DataInputStream.xba
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_DataInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.DataInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oOS As Object
+
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicDataInputStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.DataInputStream")
+
+ 'Creating a file...
+ oOS = oFileAcc.openFileWrite(cFileName)
+ oOS.closeOutput()
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getOutStream() As Object
+On Error goto ErrHndl
+ Dim oFO As Object
+ ResetStreams()
+ oInputStream.closeInput()
+ oOutputStream = createUnoService("com.sun.star.io.DataOutputStream")
+ oFileAcc.kill(cFileName)
+ oFO = oFileAcc.openFileWrite(cFileName)
+ oOutputStream.setOutputStream(oFO)
+ bOutputStream = true
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Function getInStream() As Object
+On Error goto ErrHndl
+ ResetStreams()
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+ if bOutputStream then
+ oOutputStream.closeOutput()
+ bOutputStream = false
+ end if
+
+ if NOT oFileAcc.exists(cFileName) then
+ Dim oFO As Object
+ oFO = oFileAcc.openFileWrite(cFileName)
+ oFO.closeOutput()
+ end if
+
+ oInputStream = oFileAcc.openFileRead(cFileName)
+ bInputStream = true
+ oObj.setInputStream(oInputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeInput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/script.xlb
new file mode 100644
index 000000000000..f7ad5002b6ec
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_DataOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_DataOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/streams_uno_DataOutputStream.xba b/qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/streams_uno_DataOutputStream.xba
new file mode 100644
index 000000000000..fb0aa1208a50
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/DataOutputStream/streams_uno_DataOutputStream.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_DataOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.DataOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicDataOutputStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.DataOutputStream")
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error goto ErrHndl
+ Dim oFI As Object
+ ResetStreams()
+ oInputStream = createUnoService("com.sun.star.io.DataInputStream")
+ oFI = oFileAcc.openFileRead(cFileName)
+ oInputStream.setInputStream(oFI)
+ bInputStream = true
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error goto ErrHndl
+ ResetStreams()
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+ if bOutputStream then
+ oOutputStream.closeOutput()
+ bOutputStream = false
+ end if
+ oOutputStream = oFileAcc.openFileWrite(cFileName)
+ bOutputStream = true
+ oObj.setOutputStream(oOutputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeOutput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/script.xlb
new file mode 100644
index 000000000000..4b4425f434ec
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_MarkableInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_MarkableInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/streams_uno_MarkableInputStream.xba b/qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/streams_uno_MarkableInputStream.xba
new file mode 100644
index 000000000000..1422df8ecc59
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/MarkableInputStream/streams_uno_MarkableInputStream.xba
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_MarkableInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.MarkableInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oOS As Object
+
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicMarkableIOStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.MarkableInputStream")
+ 'Creating a file...
+ if oFileAcc.exists(cFileName) then oFileAcc.Kill(cFileName)
+ oOS = oFileAcc.openFileWrite(cFileName)
+ oOS.closeOutput()
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error goto ErrHndl
+ ResetStreams()
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error goto ErrHndl
+ Dim oFO As Object
+
+ ResetStreams()
+ oOutputStream = createUnoService("com.sun.star.io.MarkableOutputStream")
+ oInputStream.closeInput()
+ oFileAcc.Kill(cFileName)
+ oFO = oFileAcc.openFileWrite(cFileName)
+ oOutputStream.setOutputStream(oFO)
+ bOutputStream = true
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ if bOutputStream then
+ oOutputStream.closeOutput()
+ bOutputStream = false
+ end if
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+ oInputStream = oFileAcc.openFileRead(cFileName)
+ bInputStream = true
+ oObj.setInputStream(oInputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeInput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/script.xlb
new file mode 100644
index 000000000000..6663e7824216
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_MarkableOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_MarkableOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/streams_uno_MarkableOutputStream.xba b/qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/streams_uno_MarkableOutputStream.xba
new file mode 100644
index 000000000000..e22c3c08920d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/MarkableOutputStream/streams_uno_MarkableOutputStream.xba
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_MarkableOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global bInputStream As Boolean
+Global bOutputStream As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.MarkableOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+
+ bInputStream = false
+ bOutputStream = false
+ cFileName = utils.getTempFileURL("BasicMarkableIOStream.dat")
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+
+ oObj = createUnoService("com.sun.star.io.MarkableOutputStream")
+
+ ResetStreams()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ CloseStreams()
+ oOutputStream = oFileAcc.openFileWrite(cFileName)
+ bOutputStream = true
+ oObj.setOutputStream(oOutputStream)
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ Dim oFI As Object
+
+ CloseStreams()
+ oInputStream = createUnoService("com.sun.star.io.MarkableInputStream")
+ oFI = oFileAcc.openFileRead(cFileName)
+ oInputStream.setInputStream(oFI)
+ bInputStream = true
+ getInStream() = oInputStream
+
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+ CloseStreams()
+ oFileAcc.Kill(cFileName)
+ oOutputStream = oFileAcc.openFileWrite(cFileName)
+ bOutputStream = true
+ oObj.setOutputStream(oOutputStream)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub CloseStreams()
+ if bOutputStream then
+ oObj.closeOutput()
+ bOutputStream = false
+ end if
+ if bInputStream then
+ oInputStream.closeInput()
+ bInputStream = false
+ end if
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeOutput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/script.xlb
new file mode 100644
index 000000000000..329eca656003
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_ObjectInputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_ObjectInputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/streams_uno_ObjectInputStream.xba b/qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/streams_uno_ObjectInputStream.xba
new file mode 100644
index 000000000000..aff5365ea042
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/ObjectInputStream/streams_uno_ObjectInputStream.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_ObjectInputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global oMarkOut As Object, oMarkIn As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.ObjectInputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPipe As Object
+
+ oObj = createUnoService("com.sun.star.io.ObjectInputStream")
+ oMarkIn = createUnoService("com.sun.star.io.MarkableInputStream")
+ oPipe = createUnoService("com.sun.star.io.Pipe")
+ oMarkOut = createUnoService("com.sun.star.io.MarkableOutputStream")
+ oOutputStream = createUnoService("com.sun.star.io.ObjectOutputStream")
+ oObj.setInputStream(oMarkIn)
+ oMarkIn.setInputStream(oPipe)
+ oMarkOut.setOutputStream(oPipe)
+ oOutputStream.setOutputStream(oMarkOut)
+ oInputStream = oObj
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ Dim oNewPipe As Object
+
+ oNewPipe = createUnoService("com.sun.star.io.Pipe")
+ oMarkIn.getInputStream().closeInput()
+ oMarkOut.getOutputStream().closeOutput()
+ oMarkIn.setInputStream(oNewPipe)
+ oMarkOut.setOutputStream(oNewPipe)
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+Exit Sub
+ErrHndl:
+ Out.Log("ResetStreams: exception: " + error)
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeInput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/script.xlb
new file mode 100644
index 000000000000..a27b2b8d59fe
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_ObjectOutputStream" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_ObjectOutputStream"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/streams_uno_ObjectOutputStream.xba b/qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/streams_uno_ObjectOutputStream.xba
new file mode 100644
index 000000000000..3028400557ec
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/ObjectOutputStream/streams_uno_ObjectOutputStream.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_ObjectOutputStream" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global cFileName As String
+Global oFileAcc As Object
+Global oInputStream As Object
+Global oOutputStream As Object
+Global oMarkOut As Object, oMarkIn As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.ObjectOutputStream
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oPipe As Object
+
+ oObj = createUnoService("com.sun.star.io.ObjectOutputStream")
+ oMarkOut = createUnoService("com.sun.star.io.MarkableOutputStream")
+ oPipe = createUnoService("com.sun.star.io.Pipe")
+ oMarkIn = createUnoService("com.sun.star.io.MarkableInputStream")
+ oInputStream = createUnoService("com.sun.star.io.ObjectInputStream")
+ oObj.setOutputStream(oMarkOut)
+ oMarkOut.setOutputStream(oPipe)
+ oMarkIn.setInputStream(oPipe)
+ oInputStream.setInputStream(oMarkIn)
+ oOutputStream = oObj
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ Dim oFI As Object
+
+ getInStream() = oInputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ getOutStream() = oOutputStream
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error goto ErrHndl
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oObj) then oObj.closeOutput()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/Pipe/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/Pipe/script.xlb
new file mode 100644
index 000000000000..566b7ce26a32
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/Pipe/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_Pipe" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_Pipe"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/Pipe/streams_uno_Pipe.xba b/qadevOOo/tests/basic/mod/streams.uno/Pipe/streams_uno_Pipe.xba
new file mode 100644
index 000000000000..171cda1d2359
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/Pipe/streams_uno_Pipe.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_Pipe" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.Pipe
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.io.Pipe")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function getInStream() As Object
+On Error Goto ErrHndl
+ getInStream() = oObj
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getInStream() = NULL_OBJECT
+End Function
+
+Function getOutStream() As Object
+On Error Goto ErrHndl
+ getOutStream() = oObj
+Exit Function
+ErrHndl:
+ Test.Exception()
+ getOutStream() = NULL_OBJECT
+End Function
+
+Sub ResetStreams()
+On Error Goto ErrHndl
+ oObj.closeInput()
+ oObj.closeOutput()
+ oObj = createUnoService("com.sun.star.io.Pipe")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/Pump/script.xlb b/qadevOOo/tests/basic/mod/streams.uno/Pump/script.xlb
new file mode 100644
index 000000000000..6517d34d93ef
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/Pump/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="streams_uno_Pump" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="streams_uno_Pump"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/streams.uno/Pump/streams_uno_Pump.xba b/qadevOOo/tests/basic/mod/streams.uno/Pump/streams_uno_Pump.xba
new file mode 100644
index 000000000000..ba8397bcdcb4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/streams.uno/Pump/streams_uno_Pump.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_Pump" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oPipe As Object
+Global PumpOUTFileName As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' stm.Pump
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oFileAcc As Object
+ Dim oDataInput As Object
+ Dim oDataOutput As Object
+ Dim oSFA As Object
+ Dim oOS As Object
+
+ oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ PumpOUTFileName = utils.getTempFileURL("PumpOUT.dat")
+ if (FileExists(PumpOUTFileName)) then
+ oFileAcc.Kill(PumpOUTFileName)
+ end if
+
+ oObj = createUnoService("com.sun.star.io.Pump")
+ oPipe = createUnoService("com.sun.star.io.Pipe")
+
+ oDataInput = createUnoService("com.sun.star.io.DataInputStream")
+ oDataInput.setInputStream(oPipe)
+
+ oDataOutput = createUnoService("com.sun.star.io.DataOutputStream")
+ oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ oOS = oSFA.openFileWrite(PumpOUTFileName)
+ oDataOutput.setOutputStream(oOS)
+
+ oObj.setInputStream(oDataInput)
+ oObj.setOutputStream(oDataOutput)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+On Error goto ErrHndl
+ oObj.terminate()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub ResetStreams()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/script.xlb
new file mode 100644
index 000000000000..8d44d126a214
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleBrowseBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleBrowseBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/svtools_AccessibleBrowseBox.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/svtools_AccessibleBrowseBox.xba
new file mode 100644
index 000000000000..61f454848be9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBox/svtools_AccessibleBrowseBox.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleBrowseBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global controller As Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleBrowseBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".component:DB/DataSourceBrowser"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "_beamer", 12)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL)
+ Out.log(oObj.getImplementationName)
+
+ Dim frame1 As Object, frame2 As Object
+ frame1 = StarDesktop.getCurrentFrame()
+ frame2 = frame1.findFrame("_beamer", 4)
+ frame2.setName("DatasourceBrowser")
+ controller = frame2.getController()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Out.log("fireEvent() called")
+
+ Dim dbContext As Object
+ dbContext = createUnoService("com.sun.star.sdb.DatabaseContext")
+ if (dbContext.hasByName("Bibliography")) then
+ dbContext.revokeObject("Bibliography")
+ endif
+
+ Dim dbSource As Object
+ dbSource = createUnoService("com.sun.star.sdb.DataSource")
+ dbSource.URL = "sdbc:dbase:" + utils.Path2URL("file:///" + utils.getUserPath + "/database/biblio")
+ dbContext.registerObject("Bibliography", dbSource)
+
+ Dim params(2) As new com.sun.star.beans.PropertyValue
+ params(0).Name = "DataSourceName"
+ params(0).Value = "Bibliography"
+ params(1).Name = "CommandType"
+ params(1).Value = com.sun.star.sdb.CommandType.TABLE
+ params(2).Name = "Command"
+ params(2).Value = "biblio"
+
+ controller.initialize(params())
+ wait(2000)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/script.xlb
new file mode 100644
index 000000000000..cf9be87447ca
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleBrowseBoxHeaderBar" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleBrowseBoxHeaderBar"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/svtools_AccessibleBrowseBoxHeaderBar.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/svtools_AccessibleBrowseBoxHeaderBar.xba
new file mode 100644
index 000000000000..77023c3fc39b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderBar/svtools_AccessibleBrowseBoxHeaderBar.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleBrowseBoxHeaderBar" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleBrowseBoxHeaderBar
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".component:DB/DataSourceBrowser"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "_beamer", 12)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TABLE)
+ Out.log(oObj.getImplementationName)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/script.xlb
new file mode 100644
index 000000000000..9aaf5383f8bc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleBrowseBoxHeaderCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleBrowseBoxHeaderCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/svtools_AccessibleBrowseBoxHeaderCell.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/svtools_AccessibleBrowseBoxHeaderCell.xba
new file mode 100644
index 000000000000..666fad6474f7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxHeaderCell/svtools_AccessibleBrowseBoxHeaderCell.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleBrowseBoxHeaderCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleBrowseBoxHeaderCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".component:DB/DataSourceBrowser"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "_beamer", 12)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ Dim frame1 As Object, frame2 As Object
+ Dim controller As Object
+ frame1 = StarDesktop.getCurrentFrame()
+ frame2 = frame1.findFrame("_beamer", 4)
+ frame2.setName("DatasourceBrowser")
+ controller = frame2.getController()
+
+ Dim params(2) As new com.sun.star.beans.PropertyValue
+ params(0).Name = "DataSourceName"
+ params(0).Value = "Bibliography"
+ params(1).Name = "CommandType"
+ params(1).Value = com.sun.star.sdb.CommandType.TABLE
+ params(2).Name = "Command"
+ params(2).Value = "biblio"
+ controller.initialize(params())
+ wait(2000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.COLUMN_HEADER, "Identifier")
+ Out.log(oObj.getImplementationName)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/script.xlb
new file mode 100644
index 000000000000..3a2e4b97b676
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleBrowseBoxTable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleBrowseBoxTable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/svtools_AccessibleBrowseBoxTable.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/svtools_AccessibleBrowseBoxTable.xba
new file mode 100644
index 000000000000..b7a726de892f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTable/svtools_AccessibleBrowseBoxTable.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleBrowseBoxTable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleBrowseBoxTable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".component:DB/DataSourceBrowser"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "_beamer", 12)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TABLE, "Table")
+ Out.log(oObj.getImplementationName)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/script.xlb
new file mode 100644
index 000000000000..15e06f1da551
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleBrowseBoxTableCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleBrowseBoxTableCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/svtools_AccessibleBrowseBoxTableCell.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/svtools_AccessibleBrowseBoxTableCell.xba
new file mode 100644
index 000000000000..e6f8b5df1e9e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleBrowseBoxTableCell/svtools_AccessibleBrowseBoxTableCell.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleBrowseBoxTableCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleBrowseBoxTableCell
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".component:DB/DataSourceBrowser"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "_beamer", 12)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ Dim frame1 As Object, frame2 As Object
+ Dim controller As Object
+ frame1 = StarDesktop.getCurrentFrame()
+ frame2 = frame1.findFrame("_beamer", 4)
+ frame2.setName("DatasourceBrowser")
+ controller = frame2.getController()
+
+ Dim params(2) As new com.sun.star.beans.PropertyValue
+ params(0).Name = "DataSourceName"
+ params(0).Value = "Bibliography"
+ params(1).Name = "CommandType"
+ params(1).Value = com.sun.star.sdb.CommandType.TABLE
+ params(2).Name = "Command"
+ params(2).Value = "biblio"
+ controller.initialize(params())
+ wait(2000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TABLE_CELL)
+ Out.log(oObj.getImplementationName)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/script.xlb
new file mode 100644
index 000000000000..84bb1302f21b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleIconChoiceCtrl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleIconChoiceCtrl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/svtools_AccessibleIconChoiceCtrl.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/svtools_AccessibleIconChoiceCtrl.xba
new file mode 100644
index 000000000000..882d9bc2e6f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrl/svtools_AccessibleIconChoiceCtrl.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleIconChoiceCtrl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global closeButton As Object
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleIconChoiceCtrl
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object, xDispatcher As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim aUrl As new com.sun.star.util.URL
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUnoService("com.sun.star.awt.Toolkit")
+ wait(500)
+
+ 'opening Hyperlink Dialog
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ aUrl.Complete = ".uno:HyperlinkDialog"
+ urlTransformer.parseStrict(aUrl)
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "", 0)
+ if NOT isNull(xDispatcher) then
+ xDispatcher.dispatch(aUrl, DimArray())
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ closeButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Close")
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TREE)
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ multiSelection = false
+ else
+ Out.Log("Error! Cannot open Hyperlink dialog.")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(closeButton) then
+ closeButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.selectAccessibleChild(1)
+ oObj.selectAccessibleChild(0)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/script.xlb
new file mode 100644
index 000000000000..6f46292399bd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleIconChoiceCtrlEntry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleIconChoiceCtrlEntry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/svtools_AccessibleIconChoiceCtrlEntry.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/svtools_AccessibleIconChoiceCtrlEntry.xba
new file mode 100644
index 000000000000..2833c8b1726f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleIconChoiceCtrlEntry/svtools_AccessibleIconChoiceCtrlEntry.xba
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleIconChoiceCtrlEntry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global closeButton As Object
+
+'Required for ifc.accessibility.XAccessibleText
+Global accText As String
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleIconChoiceCtrlEntry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".uno:HyperlinkDialog"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "", 0)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot,_
+ com.sun.star.accessibility.AccessibleRole.LABEL, "Internet")
+ Out.log(oObj.getImplementationName)
+
+ closeButton = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Close")
+ accText = "Internet"
+ readOnly = true
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ closeButton.soAccessibleAction(0)
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/script.xlb
new file mode 100644
index 000000000000..4a0245810089
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleTabBarPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleTabBarPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/svtools_AccessibleTabBarPage.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/svtools_AccessibleTabBarPage.xba
new file mode 100644
index 000000000000..31b998a5396d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPage/svtools_AccessibleTabBarPage.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleTabBarPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleTabBarPage
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PAGE_TAB)
+
+ Out.log(oObj.getImplementationName)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/script.xlb
new file mode 100644
index 000000000000..0a8715db28c7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleTabBarPageList" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleTabBarPageList"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/svtools_AccessibleTabBarPageList.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/svtools_AccessibleTabBarPageList.xba
new file mode 100644
index 000000000000..add0261e7567
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTabBarPageList/svtools_AccessibleTabBarPageList.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleTabBarPageList" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for XAccessibleSelection
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleTabBarPageList
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PAGE_TAB_LIST)
+ Out.log(oObj.getImplementationName)
+
+ multiSelection = false
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim oPage As Object
+ oPage = oDoc.getDrawPages().getByIndex(0)
+ oPage.Name = "New name"
+ oPage.Name = "Slide 1"
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/script.xlb
new file mode 100644
index 000000000000..8e33c86bf389
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleTreeListBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleTreeListBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/svtools_AccessibleTreeListBox.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/svtools_AccessibleTreeListBox.xba
new file mode 100644
index 000000000000..28ae95af7f0a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBox/svtools_AccessibleTreeListBox.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleTreeListBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+' Required for XAccessibleSelection
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleTreeListBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".component:DB/DataSourceBrowser"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "_beamer", 12)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TREE)
+ Out.log(oObj.getImplementationName)
+
+ multiSelection = false
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/script.xlb b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/script.xlb
new file mode 100644
index 000000000000..962db06a0175
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svtools_AccessibleTreeListBoxEntry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svtools_AccessibleTreeListBoxEntry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/svtools_AccessibleTreeListBoxEntry.xba b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/svtools_AccessibleTreeListBoxEntry.xba
new file mode 100644
index 000000000000..7f493975bbc2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svtools/AccessibleTreeListBoxEntry/svtools_AccessibleTreeListBoxEntry.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svtools_AccessibleTreeListBoxEntry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for XAccessibleSelection
+Global multiSelection As Boolean
+
+' Required for XAccessibleText
+Global accText As String
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svtools.AccessibleTreeListBoxEntry
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ 'opening DatasourceBrowser
+ Dim urlTransformer As Object
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ Dim aUrl As new com.sun.star.util.URL
+ aUrl.Complete = ".component:DB/DataSourceBrowser"
+ urlTransformer.parseStrict(aUrl)
+ Dim xDispatcher As Object
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, "_beamer", 12)
+ Dim no_args()
+ xDispatcher.dispatch(aUrl, no_args)
+ wait(1000)
+
+ oWin = createUnoService("com.sun.star.awt.Toolkit").getActiveTopWindow()
+
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.LABEL , "Bibliography")
+ Out.log(oObj.getImplementationName)
+
+ multiSelection = false
+ accText = "Bibliography"
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleControlShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessibleControlShape/script.xlb
new file mode 100644
index 000000000000..77d4ad179a8b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleControlShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessibleControlShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessibleControlShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleControlShape/svx_AccessibleControlShape.xba b/qadevOOo/tests/basic/mod/svx/AccessibleControlShape/svx_AccessibleControlShape.xba
new file mode 100644
index 000000000000..3c9d71237bb6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleControlShape/svx_AccessibleControlShape.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessibleControlShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oShape As Object
+Global accText As String
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessibleControlShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object, oDP As Object
+ Dim newSize As New com.sun.star.awt.Size
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oShape = toolkittools.createControlShapeWithDefaultControl("CommandButton")
+ newSize = oShape.getSize()
+ newSize.Width = 2000
+ newSize.Height = 1000
+ oShape.setSize(newSize)
+ oDP = oDoc.getDrawPages().getByIndex(0)
+ oDP.add(oShape)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"PushButton")
+ Out.Log("ImplementationName: "+oObj.getImplementationName())
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oSize As New com.sun.star.awt.Size
+ oSize = oShape.getSize()
+ oSize.Width = oSize.Width + 100
+ oShape.setSize(oSize)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/script.xlb
new file mode 100644
index 000000000000..75b3b77785b0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessibleEditableTextPara" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="svx_AccessibleEditableTextPara"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/svx_AccessibleEditableTextPara.xba b/qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/svx_AccessibleEditableTextPara.xba
new file mode 100644
index 000000000000..3cc36dc5665b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleEditableTextPara/svx_AccessibleEditableTextPara.xba
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="AccessibleEditableTextPara" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' "com::sun::star::accessibility::XAccessibleEditableText#optional"
+ ' needs the following object relation:
+ global hasChangeableAttrs as boolean
+
+' "com::sun::star::accessibility::XAccessibleSelection#optional"
+ ' needs the following object relation:
+' Global multiSelection As Boolean
+
+' "com::sun::star::accessibility::XAccessibleText"
+ ' needs the following object relation:
+ Global accText as String
+ Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' com.sun.star.AccessibleEditableTextPara
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ Dim oShape As Object
+ oShape = oDoc.createInstance("com.sun.star.drawing.TextShape")
+
+ oDoc.DrawPages(0).add(oShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPos As new com.sun.star.awt.Point
+ oSize.Width = 7500
+ oSize.Height = 5000
+ oPos.X = 5000
+ oPos.Y = 3500
+ oShape.Size = oSize
+ oShape.Position = oPos
+
+ Dim cursor As Object
+ cursor = oShape.createTextCursor()
+
+ oShape.insertString(cursor, "Paragraph 1", false)
+ oShape.insertControlCharacter(cursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+
+ Dim oWin as Object
+ Dim xRoot as Object
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PARAGRAPH,"Paragraph 0")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ accText = "My AccessibleEditableTextPara text"
+ oObj.setText(accText)
+ readOnly = false
+ hasChangeableAttrs = false
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim myText as String
+ myText = oObj.getText()
+ oObj.setText(myText + "dummy")
+ wait(1000)
+ oObj.setText(myText)
+ wait(1000)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/script.xlb
new file mode 100644
index 000000000000..68aabd47df19
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessibleGraphicShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessibleGraphicShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/svx_AccessibleGraphicShape.xba b/qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/svx_AccessibleGraphicShape.xba
new file mode 100644
index 000000000000..ba3b7268d5b5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleGraphicShape/svx_AccessibleGraphicShape.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessibleGraphicShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oShape As Object
+Global accText As String
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessibleGraphicShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object, oDP As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDP = oDoc.getDrawPages().getByIndex(0)
+ oShape = toolkittools.addShapeToDrawDoc(oDP,2000,1500,"GraphicObject")
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"GraphicObject")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oSize As New com.sun.star.awt.Size
+ oSize = oShape.getSize()
+ oSize.Width = oSize.Width + 100
+ oShape.setSize(oSize)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/script.xlb
new file mode 100644
index 000000000000..b5489ac01e47
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessibleOLEShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessibleOLEShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/svx_AccessibleOLEShape.xba b/qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/svx_AccessibleOLEShape.xba
new file mode 100644
index 000000000000..f30a5d9f977f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleOLEShape/svx_AccessibleOLEShape.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessibleOLEShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oShape As Object
+Global accText As String
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessibleOLEShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object, oDP As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDP = oDoc.getDrawPages().getByIndex(0)
+ oShape = toolkittools.addShapeToDrawDoc(oDP,2000,1500,"OLE2")
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"OLEShape")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oSize As New com.sun.star.awt.Size
+ oSize = oShape.getSize()
+ oSize.Width = oSize.Width + 100
+ oShape.setSize(oSize)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePageShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessiblePageShape/script.xlb
new file mode 100644
index 000000000000..bae91fa48bb8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePageShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessiblePageShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessiblePageShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePageShape/svx_AccessiblePageShape.xba b/qadevOOo/tests/basic/mod/svx/AccessiblePageShape/svx_AccessiblePageShape.xba
new file mode 100644
index 000000000000..b657a5d9a43d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePageShape/svx_AccessiblePageShape.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessiblePageShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oPage As Object
+Global accText As String
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessiblePageShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oPage = oDoc.getDrawPages().getByIndex(0)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"PageShape")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oldHeight As Integer, newHeight As Integer
+ oldHeight = oPage.getPropertyValue("Height")
+ if oldHeight = 3000 then
+ newHeight = 5000
+ else
+ newHeight = 3000
+ end if
+ oPage.setPropertyValue("Height",newHeight)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/script.xlb
new file mode 100644
index 000000000000..5c4ed50fcd54
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessiblePresentationGraphicShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessiblePresentationGraphicShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/svx_AccessiblePresentationGraphicShape.xba b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/svx_AccessiblePresentationGraphicShape.xba
new file mode 100644
index 000000000000..a80bad77237b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationGraphicShape/svx_AccessiblePresentationGraphicShape.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessiblePresentationGraphicShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oShape As Object
+Global accText As Object
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessiblePresentationGraphicShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object, oDP As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oShape = oDoc.createInstance("com.sun.star.presentation.GraphicObjectShape")
+ oDP = oDoc.getDrawPages().getByIndex(0)
+ oDP.add(oShape)
+ oShape.setPropertyValue("IsEmptyPresentationObject",false)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"ImpressGraphicObject0")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oSize As New com.sun.star.awt.Size
+ oSize = oShape.getSize()
+ oSize.Width = oSize.Width + 100
+ oShape.setSize(oSize)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/script.xlb
new file mode 100644
index 000000000000..28a82bbc9a42
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessiblePresentationOLEShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessiblePresentationOLEShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/svx_AccessiblePresentationOLEShape.xba b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/svx_AccessiblePresentationOLEShape.xba
new file mode 100644
index 000000000000..dce2a97ed8e5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationOLEShape/svx_AccessiblePresentationOLEShape.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessiblePresentationOLEShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oShape As Object
+Global accText As String
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessiblePresentationOLEShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object, oDP As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oShape = oDoc.createInstance("com.sun.star.presentation.OLE2Shape")
+ oDP = oDoc.getDrawPages().getByIndex(0)
+ oDP.add(oShape)
+ oShape.setPropertyValue("IsEmptyPresentationObject",false)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"ImpressOLE0")
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oSize As New com.sun.star.awt.Size
+ oSize = oShape.getSize()
+ oSize.Width = oSize.Width + 100
+ oShape.setSize(oSize)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/script.xlb
new file mode 100644
index 000000000000..0d8026ccc39b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessiblePresentationShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessiblePresentationShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/svx_AccessiblePresentationShape.xba b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/svx_AccessiblePresentationShape.xba
new file mode 100644
index 000000000000..46c8789fb3b4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessiblePresentationShape/svx_AccessiblePresentationShape.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessiblePresentationShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oShape As Object
+Global accText As String
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessiblePresentationShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean, oDP As Object
+ Dim oWin As Object, xRoot As Object
+
+ oDoc = utils.createImpressDocument(cObjectName)
+ oShape = oDoc.createInstance("com.sun.star.presentation.HandoutShape")
+ oDP = oDoc.getDrawPages().getByIndex(0)
+ oDP.add(oShape)
+ oShape.setPropertyValue("IsEmptyPresentationObject",false)
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"ImpressHandout0")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ Out.Log("Text: "+accText)
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oSize As New com.sun.star.awt.Size
+ oSize = oShape.getSize()
+ oSize.Width = oSize.Width + 100
+ oShape.setSize(oSize)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleShape/script.xlb b/qadevOOo/tests/basic/mod/svx/AccessibleShape/script.xlb
new file mode 100644
index 000000000000..a19b93caf59c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_AccessibleShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_AccessibleShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/AccessibleShape/svx_AccessibleShape.xba b/qadevOOo/tests/basic/mod/svx/AccessibleShape/svx_AccessibleShape.xba
new file mode 100644
index 000000000000..df23003fe75f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/AccessibleShape/svx_AccessibleShape.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_AccessibleShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oShape As Object
+Global accText As String
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.AccessibleShape
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oWin As Object, xRoot As Object, oDP As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDP = oDoc.getDrawPages().getByIndex(0)
+ oShape = toolkittools.addShapeToDrawDoc(oDP,2000,1500,"Rectangle")
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SHAPE,"Rectangle")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ if hasUNOInterfaces(oObj,"com.sun.star.accessibility.XAccessibleText") then
+ accText = oObj.getText()
+ End If
+ hasChangeableAttrs = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ Dim oSize As New com.sun.star.awt.Size
+ oSize = oShape.getSize()
+ oSize.Width = oSize.Width + 100
+ oShape.setSize(oSize)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/GraphicExporter/script.xlb b/qadevOOo/tests/basic/mod/svx/GraphicExporter/script.xlb
new file mode 100644
index 000000000000..e71cdd2c295c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/GraphicExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_GraphicExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_GraphicExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/GraphicExporter/svx_GraphicExporter.xba b/qadevOOo/tests/basic/mod/svx/GraphicExporter/svx_GraphicExporter.xba
new file mode 100644
index 000000000000..d2ba0465ea4a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/GraphicExporter/svx_GraphicExporter.xba
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_GraphicExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+' Requiered for com.sun.star.document.XFilter
+ Global oFilterDescriptor As Variant
+ Global pictureURL As String
+
+' Requiered for com.sun.star.document.XExporter
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.GraphicExporter
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oObj = createUnoService("com.sun.star.drawing.GraphicExportFilter")
+
+ Dim shape As Object
+ shape = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
+ out.log("create com.sun.star.drawing.GraphicObjectShape : is NULL? " + IsNULL(shape))
+
+ Dim shapeSize As new com.sun.star.awt.Size
+ Dim shapePos As new com.sun.star.awt.Point
+ shapeSize.Width = 5000
+ shapeSize.Height = 5000
+ out.log("set size of shape : " + shapeSize.Width + ", " + shapeSize.Height)
+ shape.setSize(shapeSize)
+ shapePos.x = 1500
+ shapePos.y = 1000
+ out.log("set position of shape : " + shapePos.x + ", " + shapePos.y)
+ shape.setPosition(shapePos)
+ out.log("adds created shape")
+ oDoc.getDrawPages.getByIndex(0).add(shape)
+ out.log("set GraphicURL to " + utils.Path2URL(cTestDocsDir &amp; "space-metal.jpg") )
+ shape.GraphicURL = utils.Path2URL(cTestDocsDir &amp; "space-metal.jpg")
+ out.log("set shape as source document for created object")
+ oObj.setSourceDocument(shape)
+ oSrcDocument = shape
+
+ Dim _Filter(2) As New com.sun.star.beans.PropertyValue
+ _Filter(0).Name = "FilterName" : _Filter(0).Value = "JPG"
+ Dim url as new com.sun.star.util.URL
+ url.Complete = utils.getTempFileURL("picture.jpg", True)
+ pictureURL = url.Complete
+ out.log("URL descriptor : " + pictureURL)
+ _Filter(1).Name = "URL" : _Filter(1).Value = url
+ _Filter(2).Name = "MediaType" : _Filter(1).Value = "image/jpeg"
+ oFilterDescriptor = _Filter()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function checkFilter() As Boolean
+ If IsNULL(soapi_test_hidewindows) Or soapi_test_hidewindows = True Then
+ out.log("all windows are hide")
+ checkFilter() = True
+ Else
+ Dim simpleFile As Object
+ simpleFile = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ out.log("creates com.sun.star.ucb.SimpleFileAccess : is NULL? " + IsNULL(SimpleFile))
+ checkFilter() = simpleFile.exists(pictureURL)
+ out.log("check existing of " + pictureURL + ": " + checkFilter)
+ EndIf
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxDrawPage/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxDrawPage/script.xlb
new file mode 100644
index 000000000000..92cbb03d1a70
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxDrawPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxDrawPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxDrawPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxDrawPage/svx_SvxDrawPage.xba b/qadevOOo/tests/basic/mod/svx/SvxDrawPage/svx_SvxDrawPage.xba
new file mode 100644
index 000000000000..93bf472a1f72
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxDrawPage/svx_SvxDrawPage.xba
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxDrawPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+
+' Requiered for com.sun.star.drawing.XShapeGrouper
+ Global oGrouperCollection As Object 'groupable objects
+' Requiered for com.sun.star.drawing.XShapes
+ Global oXShapeInstance As Object 'to add/remove
+' Requiered for com.sun.star.drawing.XShapeCombiner
+ Global oCombinerCollection As Object
+' Requiered for com.sun.star.drawing.XShapeBinder
+ Global oBinderCollection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxDrawPage
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ aPoint.x = 100
+ aPoint.y = 200
+ aSize.Width = 3000
+ aSize.Height = 4000
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oXShapeInstance.Size = aSize
+ oXShapeInstance.Position = aPoint
+ oXShapeInstance.FillColor = RGB(255, 0, 0)
+
+ oDrawPage = oDoc.DrawPages(0)
+ oObj = oDrawPage
+
+ oGrouperCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oCombinerCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oBinderCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+
+ AddShape(oObj, 100, 200, "com.sun.star.drawing.LineShape")
+ AddShape(oObj, 200, 200, "com.sun.star.drawing.EllipseShape")
+
+ oShape = oObj.getByIndex(0)
+ oGrouperCollection.Add(oShape)
+ oShape = oObj.getByIndex(1)
+ oGrouperCollection.Add(oShape)
+
+ AddShape(oObj, 300, 200, "com.sun.star.drawing.LineShape")
+ AddShape(oObj, 400, 200, "com.sun.star.drawing.EllipseShape")
+ oShape = oObj.getByIndex(2)
+ oCombinerCollection.Add(oShape)
+ oShape = oObj.getByIndex(3)
+ oCombinerCollection.Add(oShape)
+
+ AddShape(oObj, 500, 200, "com.sun.star.drawing.LineShape")
+ AddShape(oObj, 600, 200, "com.sun.star.drawing.EllipseShape")
+ oShape = oObj.getByIndex(4)
+ oBinderCollection.Add(oShape)
+ oShape = oObj.getByIndex(5)
+ oBinderCollection.Add(oShape)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+sub AddShape(oPage as Object, nPosX, nPosY as Integer, shapeService As String)
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oShape As Object
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oShape = oDoc.createInstance(shapeService)
+ oShape.Size = aSize
+ oShape.Position = aPoint
+ oShape.FillColor = RGB(255, 0, 0)
+ oPage.add(oShape)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/script.xlb
new file mode 100644
index 000000000000..91ba4fe53e18
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxGraphCtrlAccessibleContext" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxGraphCtrlAccessibleContext"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/svx_SvxGraphCtrlAccessibleContext.xba b/qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/svx_SvxGraphCtrlAccessibleContext.xba
new file mode 100644
index 000000000000..1eff0e117047
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxGraphCtrlAccessibleContext/svx_SvxGraphCtrlAccessibleContext.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxGraphCtrlAccessibleContext" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global xController As Object
+Global oShape As Object
+Global multiSelection As Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxGraphCtrlAccessibleContext
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim oDP As Object, url As String
+ Dim newSize As New com.sun.star.awt.Size
+ Dim aUrl As new com.sun.star.util.URL
+ Dim xDispatcher As Object, urlTransformer As Object
+ Dim tk As Object
+
+ 'creating document, toolkit and adding shape
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ tk = createUnoService("com.sun.star.awt.Toolkit")
+ oShape = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
+ newSize = oShape.getSize()
+ newSize.Width = 5000
+ newSize.Height = 5000
+ oShape.setSize(newSize)
+ url = utils.Path2URL(cTestDocsDir + "space-metal.jpg")
+ Out.log("URL: "+url)
+ oShape.setPropertyValue("GraphicURL", url)
+ wait(500)
+ oDoc.getDrawPages().getByIndex(0).add(oShape)
+ wait(1000)
+
+ 'opening ImageMapDialog
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ aUrl.Complete = "slot:10371"
+ urlTransformer.parseStrict(aUrl)
+ wait(500)
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(aUrl, DimArray())
+ wait(2000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL)
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ multiSelection = true
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open ImageMapDialog...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ xController.select(oShape)
+ wait(500)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxGraphicObject/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxGraphicObject/script.xlb
new file mode 100644
index 000000000000..7a7140bbdc62
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxGraphicObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxGraphicObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxGraphicObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxGraphicObject/svx_SvxGraphicObject.xba b/qadevOOo/tests/basic/mod/svx/SvxGraphicObject/svx_SvxGraphicObject.xba
new file mode 100644
index 000000000000..2eced4069f0d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxGraphicObject/svx_SvxGraphicObject.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxGraphicObject" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxGraphicObject
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape As Object
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ cShapeType = "com.sun.star.drawing.GraphicObjectShape"
+
+ oShape = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
+
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+
+ aPoint.x = 100
+ aPoint.y = 100
+ aSize.Width = 10000
+ aSize.Height = 10000
+ oShape.Size = aSize
+ oShape.Position = aPoint
+
+ oDoc.DrawPages(0).add(oShape)
+ oShape.setString("Graphic Object")
+ oObj = oShape
+
+ oComponentInstance = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
+
+ aPoint.x = 100
+ aPoint.y = 10200
+ aSize.Width = 20000
+ aSize.Height = 10000
+ oComponentInstance.Size = aSize
+ oComponentInstance.Position = aPoint
+ oDoc.DrawPages(0).add(oComponentInstance)
+ oComponentInstance.setString("For com.sun.star.lang.XComponent")
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShape/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShape/script.xlb
new file mode 100644
index 000000000000..7fb4aa928ddd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShape/svx_SvxShape.xba b/qadevOOo/tests/basic/mod/svx/SvxShape/svx_SvxShape.xba
new file mode 100644
index 000000000000..c1d24e64033b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShape/svx_SvxShape.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShape
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.loadTestDocument("SvxShape.sxd")
+
+ Dim oDrawPage As Object
+ oDrawPage = oDoc.DrawPages(0)
+
+ oObj = oDrawPage.getByIndex(0)
+
+ cShapeType = "com.sun.star.drawing.RectangleShape"
+
+ oComponentInstance = oDrawPage.getByIndex(1)
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeCircle/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapeCircle/script.xlb
new file mode 100644
index 000000000000..b86c75094fb8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeCircle/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapeCircle" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapeCircle"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeCircle/svx_SvxShapeCircle.xba b/qadevOOo/tests/basic/mod/svx/SvxShapeCircle/svx_SvxShapeCircle.xba
new file mode 100644
index 000000000000..f70fded68818
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeCircle/svx_SvxShapeCircle.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapeCircle" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapeCircle
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oDrawPage As Object, oShape As Object
+
+ bOK = true
+
+ oDoc = utils.loadTestDocument("SvxShape.sxd")
+
+ oDrawPage = oDoc.DrawPages(0)
+
+ oShape = CreateShape(5000, 5000, 3000, 3000, "EllipseShape", oDoc)
+ oDrawPage.Add(oShape)
+
+ oShape.setPropertyValue("CircleKind", com.sun.star.drawing.CircleKind.FULL)
+
+ oObj = oShape
+
+ cShapeType = "com.sun.star.drawing.EllipseShape"
+
+ oComponentInstance = oDrawPage.getByIndex(1)
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CreateShape(x As Integer, y As Integer, width As Integer, height As Integer, kind As String, doc As Object)
+ Dim oShape As Object
+ Dim pos As new com.sun.star.awt.Point
+ Dim size As new com.sun.star.awt.Size
+
+ oShape = doc.createInstance("com.sun.star.drawing." + kind)
+ pos.X = x
+ pos.Y = y
+ oShape.setPosition(pos)
+ size.Width = width
+ size.Height = height
+ oShape.setSize(size)
+
+ CreateShape = oShape
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeCollection/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapeCollection/script.xlb
new file mode 100644
index 000000000000..d8b9b68aa10b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeCollection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapeCollection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapeCollection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeCollection/svx_SvxShapeCollection.xba b/qadevOOo/tests/basic/mod/svx/SvxShapeCollection/svx_SvxShapeCollection.xba
new file mode 100644
index 000000000000..735877f852aa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeCollection/svx_SvxShapeCollection.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapeCollection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.drawing.XShapes
+ Global oXShapeInstance As Object 'to add/remove
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapeCollection
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oObj = createUnoService("com.sun.star.drawing.ShapeCollection")
+
+ oInstance = oDoc.createInstance("com.sun.star.drawing.LineShape")
+ oObj.add(oInstance)
+
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.EllipseShape")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeConnector/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapeConnector/script.xlb
new file mode 100644
index 000000000000..9543a130574d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeConnector/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapeConnector" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapeConnector"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeConnector/svx_SvxShapeConnector.xba b/qadevOOo/tests/basic/mod/svx/SvxShapeConnector/svx_SvxShapeConnector.xba
new file mode 100644
index 000000000000..cdc3affad516
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeConnector/svx_SvxShapeConnector.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapeConnector" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapeConnector
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oObj = oDoc.createInstance("com.sun.star.drawing.ConnectorShape")
+ oDoc.DrawPages(0).add(oObj)
+ oComponentInstance = oDoc.createInstance("com.sun.star.drawing.ConnectorShape")
+ oDoc.DrawPages(0).add(oComponentInstance)
+
+ cShapeType = "com.sun.star.drawing.ConnectorShape"
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeControl/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapeControl/script.xlb
new file mode 100644
index 000000000000..5545f03095c2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapeControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapeControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeControl/svx_SvxShapeControl.xba b/qadevOOo/tests/basic/mod/svx/SvxShapeControl/svx_SvxShapeControl.xba
new file mode 100644
index 000000000000..ab0ed81abf79
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeControl/svx_SvxShapeControl.xba
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapeControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.drawing.XControlShape
+ Global oControlToSet As Object
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapeControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oDrawPage As Object, oShape As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oDrawPage = oDoc.DrawPages(0)
+
+ oControlToSet = oDoc.createInstance("com.sun.star.form.component.CheckBox")
+
+ ' insert ControlShape
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oControl, oCShape As Object
+
+ aPoint.x = 3000
+ aPoint.y = 4500
+ aSize.Width = 15000
+ aSize.Height = 1000
+ oCShape = oDoc.createInstance("com.sun.star.drawing.ControlShape")
+ oCShape.Size = aSize
+ oCShape.Position = aPoint
+
+ oControl = oDoc.createInstance("com.sun.star.form.component.CommandButton")
+ oControl.DefaultControl = "com.sun.star.form.control.CommandButton"
+
+ oCShape.setControl(oControl)
+
+ oDrawPage.add(oCShape)
+
+ oObj = oCShape
+
+ cShapeType = "com.sun.star.drawing.ControlShape"
+
+ aPoint.x = 3000
+ aPoint.y = 10000
+ aSize.Width = 15000
+ aSize.Height = 1000
+ oComponentInstance = oDoc.createInstance("com.sun.star.drawing.LineShape")
+ oComponentInstance.Size = aSize
+ oComponentInstance.Position = aPoint
+
+ oDrawPage.add(oComponentInstance)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/script.xlb
new file mode 100644
index 000000000000..53eb8199670e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapeDimensioning" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapeDimensioning"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/svx_SvxShapeDimensioning.xba b/qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/svx_SvxShapeDimensioning.xba
new file mode 100644
index 000000000000..b60010cfde5e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeDimensioning/svx_SvxShapeDimensioning.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapeDimensioning" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapeDimensioning
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oMShape As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oMShape = oDoc.createInstance("com.sun.star.drawing.MeasureShape")
+ oDoc.DrawPages(0).add(oMShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPosition As new com.sun.star.awt.Point
+
+ oSize.Width = 3000
+ oSize.Height = 3000
+ oPosition.X = 4000
+ oPosition.Y = 4000
+ oMShape.Size = oSize
+ oMShape.Position = oPosition
+
+ oComponentInstance = oDoc.createInstance("com.sun.star.drawing.LineShape")
+ oDoc.DrawPages(0).Add(oComponentInstance)
+
+ oSize.Width = 7500
+ oSize.Height = 5000
+ oPosition.X = 5000
+ oPosition.Y = 3500
+ oComponentInstance.Size = oSize
+ oComponentInstance.Position = oPosition
+
+ oObj = oMShape
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+
+ cShapeType = "com.sun.star.drawing.MeasureShape"
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeGroup/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapeGroup/script.xlb
new file mode 100644
index 000000000000..55001aa96454
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeGroup/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapeGroup" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapeGroup"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapeGroup/svx_SvxShapeGroup.xba b/qadevOOo/tests/basic/mod/svx/SvxShapeGroup/svx_SvxShapeGroup.xba
new file mode 100644
index 000000000000..5f68214c0fda
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapeGroup/svx_SvxShapeGroup.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapeGroup" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.drawing.XShapes
+ Global oXShapeInstance As Object 'to add/remove
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapeGroup
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oInstance As Object, oDP As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oDP = oDoc.DrawPages(0)
+ oInstance = CreateShape(1000, 2000, 4000, 3000, "LineShape")
+ oDP.add(oInstance)
+
+ oInstance = CreateShape(1000, 2000, 3000, 4000, "LineShape")
+ oDP.add(oInstance)
+
+ oObj = oDP.group(oDP)
+
+ oXShapeInstance = CreateShape(1000, 6000, 4000, 3000, "EllipseShape")
+ oDP.add(oXShapeInstance)
+
+ oComponentInstance = CreateShape(10000, 5000, 6000, 4000, "RectangleShape")
+ oDP.add(oComponentInstance)
+
+ cShapeType = "com.sun.star.drawing.GroupShape"
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CreateShape(x As Integer, y As Integer, width As Integer, height As Integer, kind As String)
+ Dim oShape As Object
+ Dim pos As new com.sun.star.awt.Point
+ Dim size As new com.sun.star.awt.Size
+
+ oShape = oDoc.createInstance("com.sun.star.drawing." + kind)
+ pos.X = x
+ pos.Y = y
+ oShape.setPosition(pos)
+ size.Width = width
+ size.Height = height
+ oShape.setSize(size)
+
+ CreateShape = oShape
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/script.xlb
new file mode 100644
index 000000000000..eb6344ae8d7b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapePolyPolygon" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapePolyPolygon"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/svx_SvxShapePolyPolygon.xba b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/svx_SvxShapePolyPolygon.xba
new file mode 100644
index 000000000000..bbe16dae426d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygon/svx_SvxShapePolyPolygon.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapePolyPolygon" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapePolyPolygon
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.loadTestDocument("SvxShape.sxd")
+
+ oObj = oDoc.createInstance("com.sun.star.drawing.PolyPolygonShape")
+ oComponentInstance = oDoc.createInstance("com.sun.star.drawing.PolyPolygonShape")
+ oDoc.DrawPages(0).add(oObj)
+ oDoc.DrawPages(0).add(oComponentInstance)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPosition As new com.sun.star.awt.Point
+
+ oSize.Width = 0
+ oSize.Height = 0
+ oPosition.X = 0
+ oPosition.Y = 0
+
+ oObj.Size = oSize
+ oObj.Position = oPosition
+
+ Dim ps1(3) As new com.sun.star.awt.Point
+ ps1(0).X = 5000 : ps1(0).Y = 5000
+ ps1(1).X = 10000 : ps1(1).Y = 5000
+ ps1(2).X = 10000 : ps1(2).Y = 10000
+ ps1(3).X = 5000 : ps1(3).Y = 10000
+
+ Dim ps2(3) As new com.sun.star.awt.Point
+ ps2(0).X = 6500 : ps2(0).Y = 6500
+ ps2(1).X = 8500 : ps2(1).Y = 6500
+ ps2(2).X = 8500 : ps2(2).Y = 8500
+ ps2(3).X = 6500 : ps2(3).Y = 8500
+
+ Dim psA(1) As Variant
+ psA(0) = ps1()
+ psA(1) = ps2()
+
+ oObj.setPropertyValue("PolyPolygon", psA())
+
+ cShapeType = "com.sun.star.drawing.PolyPolygonShape"
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/script.xlb
new file mode 100644
index 000000000000..10c60b564753
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxShapePolyPolygonBezier" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxShapePolyPolygonBezier"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/svx_SvxShapePolyPolygonBezier.xba b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/svx_SvxShapePolyPolygonBezier.xba
new file mode 100644
index 000000000000..65cf58712755
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxShapePolyPolygonBezier/svx_SvxShapePolyPolygonBezier.xba
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxShapePolyPolygonBezier" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.drawing.XShapeDescriptor
+ Global cShapeType As String
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxShapePolyPolygonBezier
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.loadTestDocument("SvxShape.sxd")
+
+ cShapeType = "com.sun.star.drawing.ClosedBezierShape"
+
+ oObj = oDoc.createInstance("com.sun.star.drawing.ClosedBezierShape")
+ oDoc.DrawPages(0).add(oObj)
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPosition As new com.sun.star.awt.Point
+ oSize.Width = 5000
+ oSize.Height = 5000
+ oPosition.X = 4000
+ oPosition.Y = 4000
+ oObj.Size = oSize
+ oObj.Position = oPosition
+
+ oComponentInstance = oDoc.createInstance("com.sun.star.drawing.ClosedBezierShape")
+ oDoc.DrawPages(0).add(oComponentInstance)
+ oSize.Width = 8000
+ oSize.Height = 8000
+ oPosition.X = 4000
+ oPosition.Y = 4000
+ oComponentInstance.Size = oSize
+ oComponentInstance.Position = oPosition
+
+ Dim ps1(3) As new com.sun.star.awt.Point
+ Dim pf1(3) As Integer
+ with com.sun.star.drawing.PolygonFlags
+
+ ps1(0).X = 5000 : ps1(0).Y = 5000 : pf1(0) = .NORMAL
+ ps1(1).X = 10000 : ps1(1).Y = 5000 : pf1(1) = .CONTROL
+ ps1(2).X = 10000 : ps1(2).Y = 10000 : pf1(2) = .CONTROL
+ ps1(3).X = 5000 : ps1(3).Y = 10000 : pf1(3) = .NORMAL
+
+ Dim ps2(3) As new com.sun.star.awt.Point
+ Dim pf2(3) As Integer
+ ps2(0).X = 6500 : ps2(0).Y = 6500 : pf2(0) = .NORMAL
+ ps2(1).X = 8500 : ps2(1).Y = 6500 : pf2(1) = .CONTROL
+ ps2(2).X = 8500 : ps2(2).Y = 8500 : pf2(2) = .CONTROL
+ ps2(3).X = 6500 : ps2(3).Y = 8500 : pf2(3) = .NORMAL
+ end with
+
+ Dim psA As Variant
+ psA = Array( ps1(), ps2() )
+
+ Dim oFlags As Variant
+ oFlags = Array( pf1(), pf2() )
+
+ Dim oCoords As New com.sun.star.drawing.PolyPolygonBezierCoords
+ oCoords.Coordinates = psA()
+ oCoords.Flags = oFlags()
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+
+ oObj.PolyPolygonBezier = oCoords
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/script.xlb
new file mode 100644
index 000000000000..dbec5ae77863
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoNumberingRules" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoNumberingRules"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/svx_SvxUnoNumberingRules.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/svx_SvxUnoNumberingRules.xba
new file mode 100644
index 000000000000..9e810e199564
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoNumberingRules/svx_SvxUnoNumberingRules.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoNumberingRules" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoNumberingRules
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oObj = oDoc.CreateInstance("com.sun.star.text.NumberingRules")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoText/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoText/script.xlb
new file mode 100644
index 000000000000..c9bf01991831
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoText/svx_SvxUnoText.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoText/svx_SvxUnoText.xba
new file mode 100644
index 000000000000..1e83583fb8f8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoText/svx_SvxUnoText.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XText
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoText
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+ Dim oShape As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oShape = oDoc.createInstance("com.sun.star.drawing.TextShape")
+
+ oDoc.DrawPages(0).add(oShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPos As new com.sun.star.awt.Point
+ oSize.Width = 7500
+ oSize.Height = 5000
+ oPos.X = 5000
+ oPos.Y = 3500
+ oShape.Size = oSize
+ oShape.Position = oPos
+
+ Dim cursor As Object
+ cursor = oShape.createTextCursor()
+
+ oShape.insertString(cursor, "Paragraph 1", false)
+ oShape.insertControlCharacter(cursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oShape.insertString(cursor, "Paragraph 2", false)
+ oShape.insertControlCharacter(cursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oShape.insertString(cursor, "Paragraph 3", false)
+ oShape.insertControlCharacter(cursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+
+ oObj = oShape.getText()
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/script.xlb
new file mode 100644
index 000000000000..2e140811e9f8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoTextContent" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoTextContent"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/svx_SvxUnoTextContent.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/svx_SvxUnoTextContent.xba
new file mode 100644
index 000000000000..8ae855ffa829
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContent/svx_SvxUnoTextContent.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoTextContent" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoTextContent
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oEnum As Object
+ Dim oCursor As Object
+ Dim oShape As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oShape = oDoc.createInstance("com.sun.star.drawing.TextShape")
+ oDoc.DrawPages(0).Add(oShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPos As new com.sun.star.awt.Point
+ oSize.Width = 5000
+ oSize.Height = 3500
+ oPos.X = 7500
+ oPos.Y = 5000
+ oShape.Size = oSize
+ oShape.Position = oPos
+
+ oCursor = oShape.createTextCursor()
+ oShape.insertString(oCursor, "String1 from SvxUnoTextContent", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oShape.insertString(oCursor, "String2 from SvxUnoTextContent", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+
+ oEnum = oShape.createEnumeration()
+
+ oObj = oEnum.nextElement()
+ oComponentInstance = oEnum.nextElement()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/script.xlb
new file mode 100644
index 000000000000..c061425efd68
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoTextContentEnum" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoTextContentEnum"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/svx_SvxUnoTextContentEnum.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/svx_SvxUnoTextContentEnum.xba
new file mode 100644
index 000000000000..c867d49d09e1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextContentEnum/svx_SvxUnoTextContentEnum.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoTextContentEnum" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoTextContentEnum
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oCursor As Object
+ Dim oShape As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ oShape = oDoc.createInstance("com.sun.star.drawing.TextShape")
+ oDoc.DrawPages(0).Add(oShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPos As new com.sun.star.awt.Point
+ oSize.Width = 5000
+ oSize.Height = 3500
+ oPos.X = 7500
+ oPos.Y = 5000
+ oShape.Size = oSize
+ oShape.Position = oPos
+
+ oCursor = oShape.createTextCursor()
+ oShape.insertString(oCursor, "String1 from SvxUnoTextContentEnum", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oShape.insertString(oCursor, "String2 from SvxUnoTextContentEnum", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+
+ oObj = oShape.createEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/script.xlb
new file mode 100644
index 000000000000..be5f5a3ea2d9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoTextCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoTextCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/svx_SvxUnoTextCursor.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/svx_SvxUnoTextCursor.xba
new file mode 100644
index 000000000000..9c6dbdee9dc1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextCursor/svx_SvxUnoTextCursor.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoTextCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XParagraphCursor
+ Global oText As Object
+
+' Requiered for com.sun.star.text.XTextCursor
+ Global oCursor As Object 'One more cursor
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoTextCursor
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("scalc", cObjectName)
+
+ Dim StyleFamilies As Object
+ StyleFamilies = oDoc.getStyleFamilies
+
+ Dim PageStyles As Object
+ PageStyles = StyleFamilies.getByName("PageStyles")
+
+ Dim DefaultStyle As Object
+ DefaultStyle = PageStyles.getByName("Default")
+
+ Dim RPHC As Object
+ RPHC = DefaultStyle.getPropertyValue("RightPageHeaderContent")
+ RPHC.getCenterText.String = "Center"
+ DefaultStyle.setPropertyValue("RightPageHeaderContent", RPHC)
+
+ oText = RPHC.getCenterText
+ oObj = oText.createTextCursor()
+
+ oCursor = oText.createTextCursor()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextField/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoTextField/script.xlb
new file mode 100644
index 000000000000..13e071929680
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoTextField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoTextField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextField/svx_SvxUnoTextField.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoTextField/svx_SvxUnoTextField.xba
new file mode 100644
index 000000000000..cc6c9e57f8cb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextField/svx_SvxUnoTextField.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoTextField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoTextField
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ Dim oShape As Object
+ oShape = oDoc.createInstance("com.sun.star.drawing.TextShape")
+ oDoc.DrawPages(0).Add(oShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPos As new com.sun.star.awt.Point
+ oSize.Width = 5000
+ oSize.Height = 3500
+ oPos.X = 7500
+ oPos.Y = 5000
+ oShape.Size = oSize
+ oShape.Position = oPos
+
+ Dim oCursor As Object
+ oCursor = oShape.createTextCursor()
+ oShape.insertString(oCursor, "String1 from SvxUnoText", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oShape.insertString(oCursor, "String2 from SvxUnoText", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+
+ oObj = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+ oShape.insertTextContent(oShape.createTextCursor(), oObj, false)
+ oComponentInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+ oShape.insertTextContent(oShape.createTextCursor(), oComponentInstance, false)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+ oXTextContentRange = oShape.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/script.xlb
new file mode 100644
index 000000000000..10f511650187
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoTextRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoTextRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/svx_SvxUnoTextRange.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/svx_SvxUnoTextRange.xba
new file mode 100644
index 000000000000..ff1172f84c5f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRange/svx_SvxUnoTextRange.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoTextRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoTextRange
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+ Dim oEnum As Object
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ Dim oShape As Object
+ oShape = oDoc.createInstance("com.sun.star.drawing.TextShape")
+ oDoc.DrawPages(0).Add(oShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPos As new com.sun.star.awt.Point
+ oSize.Width = 5000
+ oSize.Height = 3500
+ oPos.X = 7500
+ oPos.Y = 5000
+ oShape.Size = oSize
+ oShape.Position = oPos
+
+ Dim oCursor As Object
+ oCursor = oShape.createTextCursor()
+ oShape.insertString(oCursor, "String1 from SvxUnoText", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oShape.insertString(oCursor, "String2 from SvxUnoText", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+
+ oObj = oShape.CreateEnumeration().nextElement()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/script.xlb b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/script.xlb
new file mode 100644
index 000000000000..d4b54ce26e6b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="svx_SvxUnoTextRangeEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="svx_SvxUnoTextRangeEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/svx_SvxUnoTextRangeEnumeration.xba b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/svx_SvxUnoTextRangeEnumeration.xba
new file mode 100644
index 000000000000..9885dbde5056
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/svx/SvxUnoTextRangeEnumeration/svx_SvxUnoTextRangeEnumeration.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="svx_SvxUnoTextRangeEnumeration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' svx.SvxUnoTextRangeEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+ Dim oEnum As Object
+
+ oDoc = utils.createDocument("sdraw", cObjectName)
+
+ Dim oShape As Object
+ oShape = oDoc.createInstance("com.sun.star.drawing.TextShape")
+ oDoc.DrawPages(0).Add(oShape)
+
+ Dim oSize As new com.sun.star.awt.Size
+ Dim oPos As new com.sun.star.awt.Point
+ oSize.Width = 5000
+ oSize.Height = 3500
+ oPos.X = 7500
+ oPos.Y = 5000
+ oShape.Size = oSize
+ oShape.Position = oPos
+
+ Dim oCursor As Object
+ oCursor = oShape.createTextCursor()
+ oShape.insertString(oCursor, "String1 from SvxUnoText", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oShape.insertString(oCursor, "String2 from SvxUnoText", false)
+ oShape.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+
+ oObj = oShape.CreateEnumeration()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/script.xlb
new file mode 100644
index 000000000000..2e29e2f9ec02
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleDocumentPageView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleDocumentPageView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/sw_SwAccessibleDocumentPageView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/sw_SwAccessibleDocumentPageView.xba
new file mode 100644
index 000000000000..307ec2ae244e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentPageView/sw_SwAccessibleDocumentPageView.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleDocumentPageView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global prevButton As Object
+Global nextButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleDocumentPageView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, oText As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object, cursor As Object
+ Dim i As Integer, oWin As Object
+
+ oDoc = utils.createDocument("swriter",cObjectName)
+ oText = oDoc.getText()
+ cursor = oText.createTextCursor()
+
+ 'inserting some lines
+ for i = 0 to 30
+ oText.insertString(cursor, "Paragraph Number: " + i, false)
+ oText.insertString(cursor,_
+ " The quick brown fox jumps over the lazy Dog: SwAccessibleDocumentPageView",_
+ false)
+ oText.insertControlCharacter(cursor,_
+ com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oText.insertString(cursor,_
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwAccessibleDocumentPageView",_
+ false)
+ oText.insertControlCharacter(cursor,_
+ com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oText.insertControlCharacter(cursor,_
+ com.sun.star.text.ControlCharacter.LINE_BREAK, false)
+ next i
+
+ xController = oDoc.getCurrentController()
+
+ 'switch to PreviewMode
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ wait(500)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, DimArray())
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT)
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ prevButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Previous Page")
+ nextButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Next Page")
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ End If
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ prevButton.doAccessibleAction(0)
+ wait(500)
+ nextButton.doAccessibleAction(0)
+ wait(500)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/script.xlb
new file mode 100644
index 000000000000..04d5f4164cf9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleDocumentView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleDocumentView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/sw_SwAccessibleDocumentView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/sw_SwAccessibleDocumentView.xba
new file mode 100644
index 000000000000..0125e5245153
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleDocumentView/sw_SwAccessibleDocumentView.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleDocumentView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oScrollBar As Object
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleDocumentView
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT)
+ oScrollBar = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.SCROLL_BAR)
+
+ multiSelection = false
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oScrollBar.setCurrentValue(oScrollBar.getMaximumValue())
+ oScrollBar.setCurrentValue(oScrollBar.getMinimumValue())
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/script.xlb
new file mode 100644
index 000000000000..ca9a17cb761e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleEndnoteView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleEndnoteView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/sw_SwAccessibleEndnoteView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/sw_SwAccessibleEndnoteView.xba
new file mode 100644
index 000000000000..eae9937b4b6c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleEndnoteView/sw_SwAccessibleEndnoteView.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleEndnoteView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oViewSettings As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleEndnoteView
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim oEndnote As Object
+ oEndnote = oDoc.createInstance("com.sun.star.text.Endnote")
+
+ Dim oText As Object
+ oText = oDoc.getText()
+
+ Dim oCursor As Object
+ oCursor = oText.createTextCursor()
+
+ oText.insertTextContent(oCursor, oEndnote, false)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ oViewSettings = xController.getViewSettings()
+ oViewSettings.ZoomValue = 10
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.END_NOTE)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oViewSettings.ZoomValue = 15
+ oViewSettings.ZoomValue = 10
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/script.xlb
new file mode 100644
index 000000000000..cda1e969a618
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleFooterView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleFooterView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/sw_SwAccessibleFooterView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/sw_SwAccessibleFooterView.xba
new file mode 100644
index 000000000000..6764d2574ab7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleFooterView/sw_SwAccessibleFooterView.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleFooterView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleFooterView
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim oStyleFamilies As Object
+ oStyleFamilies = oDoc.getStyleFamilies()
+ Dim oStyleFam As Object
+ oStyleFam = oStyleFamilies.getByName("PageStyles")
+ Dim oStyle As Object
+ oStyle = oStyleFam.getByName("Standard")
+ oStyle.FooterIsOn = true
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ Dim oViewSettings As Object
+ oViewSettings = xController.getViewSettings()
+ oViewSettings.ZoomValue = 10
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.FOOTER)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/script.xlb
new file mode 100644
index 000000000000..e484bbbc6985
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleFootnoteView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleFootnoteView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/sw_SwAccessibleFootnoteView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/sw_SwAccessibleFootnoteView.xba
new file mode 100644
index 000000000000..085a28a21625
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleFootnoteView/sw_SwAccessibleFootnoteView.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleFootnoteView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oViewSettings As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleFootnoteView
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim oFootnote As Object
+ oFootnote = oDoc.createInstance("com.sun.star.text.Footnote")
+
+ Dim oText As Object
+ oText = oDoc.getText()
+
+ Dim oCursor As Object
+ oCursor = oText.createTextCursor()
+
+ oText.insertTextContent(oCursor, oFootnote, false)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ oViewSettings = xController.getViewSettings()
+ oViewSettings.ZoomValue = 10
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.FOOTNOTE)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oViewSettings.ZoomValue = 15
+ oViewSettings.ZoomValue = 10
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/script.xlb
new file mode 100644
index 000000000000..f327ecc79c2d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleHeaderView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleHeaderView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/sw_SwAccessibleHeaderView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/sw_SwAccessibleHeaderView.xba
new file mode 100644
index 000000000000..42deb88c92a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleHeaderView/sw_SwAccessibleHeaderView.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleHeaderView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oStyle As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleHeaderView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oStyleFamilies As Object, oStyleFam As Object
+ Dim oWin As Object, xRoot As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oStyleFam = oStyleFamilies.getByName("PageStyles")
+ oStyle = oStyleFam.getByName("Standard")
+ oStyle.HeaderIsOn = true
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.HEADER)
+
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim oldValue As Integer
+ oldValue = oStyle.HeaderLeftMargin
+ oStyle.HeaderLeftMargin = oldValue + 1
+ wait(500)
+ oStyle.HeaderLeftMargin = oldValue - 1
+ wait(500)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/script.xlb
new file mode 100644
index 000000000000..2e841c7713e8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessiblePageView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessiblePageView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/sw_SwAccessiblePageView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/sw_SwAccessiblePageView.xba
new file mode 100644
index 000000000000..bb1bf37a602b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessiblePageView/sw_SwAccessiblePageView.xba
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessiblePageView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global prevButton As Object
+Global nextButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessiblePageView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object, oWin As Object
+ Dim url As New com.sun.star.util.URL
+ Dim urlTransformer As Object
+ Dim oText As Object, cursor As Object
+ Dim i As Integer
+
+ oDoc = utils.createDocument("swriter",cObjectName)
+ oText = oDoc.getText()
+ cursor = oText.createTextCursor()
+
+ 'inserting some lines
+ for i = 0 to 30
+ oText.insertString(cursor, "Paragraph Number: " + i, false)
+ oText.insertString(cursor,_
+ " The quick brown fox jumps over the lazy Dog: SwAccessibleDocumentPageView",_
+ false)
+ oText.insertControlCharacter(cursor,_
+ com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oText.insertString(cursor,_
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwAccessibleDocumentPageView",_
+ false)
+ oText.insertControlCharacter(cursor,_
+ com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ oText.insertControlCharacter(cursor,_
+ com.sun.star.text.ControlCharacter.LINE_BREAK, false)
+ next i
+ wait(1000)
+
+ xController = oDoc.getCurrentController()
+
+ 'switch to PreviewMode
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:PrintPreview"
+ urlTransformer.parseStrict(url)
+ wait(500)
+ xDispatcher = xController.queryDispatch(url,"",0)
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, DimArray())
+ wait(1000)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ 'utils.at_printAccessibleTree(xRoot)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL,"Page")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ prevButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Previous Page")
+ nextButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Next Page")
+ else
+ Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ prevButton.doAccessibleAction(0)
+ wait(500)
+ nextButton.doAccessibleAction(0)
+ wait(500)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/script.xlb
new file mode 100644
index 000000000000..2e709bf8c02f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleParagraphView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleParagraphView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/sw_SwAccessibleParagraphView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/sw_SwAccessibleParagraphView.xba
new file mode 100644
index 000000000000..84855feb6eb3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleParagraphView/sw_SwAccessibleParagraphView.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleParagraphView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oText As Object
+Global hasChangeableAttrs As Boolean
+Global multiSelection As Boolean
+Global accText As String
+Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleParagraphView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xRoot As Object, xDispatcher As Object
+ Dim xController As Object
+
+ oDoc = utils.createDocument("swriter",cObjectName)
+ oText = oDoc.getText()
+ oText.setString("Text for testing of the interface XAccessibleText")
+
+ xController = oDoc.getCurrentController()
+
+ Dim oWin As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PARAGRAPH)
+ hasChangeableAttrs = true
+ accText = oObj.getText()
+ multiSelection = true
+ readOnly = false
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim old As String
+ old = oText.getString()
+ oText.setString("Just a line")
+ oText.setString(old)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/script.xlb
new file mode 100644
index 000000000000..e97f49aa442b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleTableCellView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleTableCellView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/sw_SwAccessibleTableCellView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/sw_SwAccessibleTableCellView.xba
new file mode 100644
index 000000000000..a5d82d7c6e60
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableCellView/sw_SwAccessibleTableCellView.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleTableCellView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleTableCellView
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object, oTable As Object
+ Dim oWin As Object, xRoot As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(3, 5)
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TABLE_CELL)
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ multiSelection = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/script.xlb
new file mode 100644
index 000000000000..545aca01dfd7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleTableView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleTableView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/sw_SwAccessibleTableView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/sw_SwAccessibleTableView.xba
new file mode 100644
index 000000000000..01ac488fbfc7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTableView/sw_SwAccessibleTableView.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleTableView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oViewSettings As Object
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleTableView
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim oCursor As Object
+ oCursor = oDoc.Text.createTextCursor()
+
+ Dim oTable As Object
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(3, 5)
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ oViewSettings = xController.getViewSettings()
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TABLE)
+ multiSelection = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oViewSettings.ZoomValue = 15
+ oViewSettings.ZoomValue = 100
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/script.xlb
new file mode 100644
index 000000000000..ecb50f762d30
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleTextEmbeddedObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleTextEmbeddedObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/sw_SwAccessibleTextEmbeddedObject.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/sw_SwAccessibleTextEmbeddedObject.xba
new file mode 100644
index 000000000000..fe0ed7beca97
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextEmbeddedObject/sw_SwAccessibleTextEmbeddedObject.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleTextEmbeddedObject" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oViewSettings As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleTextEmbeddedObject
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.loadTestDocument("SwXTextEmbeddedObject.sxw")
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ oViewSettings = xController.getViewSettings()
+ oViewSettings.ZoomValue = 10
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.EMBEDDED_OBJECT)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oViewSettings.ZoomValue = 15
+ oViewSettings.ZoomValue = 10
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/script.xlb
new file mode 100644
index 000000000000..c671f5326134
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleTextFrameView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleTextFrameView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/sw_SwAccessibleTextFrameView.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/sw_SwAccessibleTextFrameView.xba
new file mode 100644
index 000000000000..bf92474bb7b8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextFrameView/sw_SwAccessibleTextFrameView.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleTextFrameView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oViewSettings As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleTextFrameView
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim oCursor As Object
+ oCursor = oDoc.Text.createTextCursor()
+
+ Dim oTextFrame As Object
+ oTextFrame = oDoc.createInstance("com.sun.star.text.TextFrame")
+ Dim sSize As Object
+ sSize = createUNOStruct("com.sun.star.awt.Size")
+ sSize.Height = 10000
+ sSize.Width = 10000
+ oTextFrame.Size = sSize
+ oTextFrame.SizeType = 1
+ oTextFrame.Name = cObjectName
+ oTextFrame.HoriOrient = 0
+ oTextFrame.VertOrient = 1
+
+ oDoc.Text.insertTextContent(oCursor, oTextFrame, false)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ oViewSettings = xController.getViewSettings()
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TEXT_FRAME)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oViewSettings.ZoomValue = 15
+ oViewSettings.ZoomValue = 10
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/script.xlb b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/script.xlb
new file mode 100644
index 000000000000..72a2af04a120
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwAccessibleTextGraphicObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwAccessibleTextGraphicObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/sw_SwAccessibleTextGraphicObject.xba b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/sw_SwAccessibleTextGraphicObject.xba
new file mode 100644
index 000000000000..bbf7e306aea8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwAccessibleTextGraphicObject/sw_SwAccessibleTextGraphicObject.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwAccessibleTextGraphicObject" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oViewSettings As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwAccessibleTextGraphicObject
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim oGraphObj As Object
+ oGraphObj = oDoc.createInstance("com.sun.star.text.GraphicObject")
+
+ Dim oText As Object
+ oText = oDoc.getText()
+
+ Dim oCursor As Object
+ oCursor = oText.createTextCursor()
+
+ oText.insertTextContent(oCursor, oGraphObj, true)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ oViewSettings = xController.getViewSettings()
+ oViewSettings.ZoomValue = 10
+
+ Dim oWin As Object
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.GRAPHIC)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oViewSettings.ZoomValue = 15
+ oViewSettings.ZoomValue = 10
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/script.xlb
new file mode 100644
index 000000000000..a4cb3b5fb28d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXAutoTextContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXAutoTextContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/sw_SwXAutoTextContainer.xba b/qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/sw_SwXAutoTextContainer.xba
new file mode 100644
index 000000000000..cd73dac7da79
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXAutoTextContainer/sw_SwXAutoTextContainer.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXAutoTextContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.text.XAutoTextContainer
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXAutoTextContainer
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService( "com.sun.star.text.AutoTextContainer" )
+ nGlobalLong = oObj.Count
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/script.xlb
new file mode 100644
index 000000000000..93c51d563ab9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXAutoTextEntry" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXAutoTextEntry"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/sw_SwXAutoTextEntry.xba b/qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/sw_SwXAutoTextEntry.xba
new file mode 100644
index 000000000000..decbf7e131bf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXAutoTextEntry/sw_SwXAutoTextEntry.xba
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXAutoTextEntry" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.text.XText
+Global oCollection As Object
+Global oInstance As Object
+Global aAddons()
+
+
+Sub beforeInsertTextContent()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXAutoTextEntry
+'*************************************************************************
+ oDoc.Text.setString("")
+ oObj.applyTo(oDoc.Text.createTextCursor())
+End Sub
+
+Sub afterInsertTextContent()
+ oDoc.Text.setString("")
+ oObj.applyTo(oDoc.Text.createTextCursor())
+End Sub
+
+Sub beforeRemoveTextContent()
+ oDoc.Text.setString("")
+ oObj.applyTo(oDoc.Text.createTextCursor())
+End Sub
+
+Sub afterRemoveTextContent()
+ oDoc.Text.setString("")
+ oObj.applyTo(oDoc.Text.createTextCursor())
+End Sub
+
+Global oGroup As Object
+
+Sub CreateObj()
+On Error Goto ErrHndl
+ Dim oContainer As Object
+ Dim i As Integer
+ Dim oNames As Variant
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oContainer = createUNOService( "com.sun.star.text.AutoTextContainer" )
+ Out.Log("Looking for not empty elements")
+ i = 0
+ oGroup = oContainer.getByIndex(i)
+ while (oGroup.getCount &lt; 1)
+ i = i + 1
+ oGroup = oContainer.getByIndex(i)
+ wend
+
+ oNames = oGroup.getElementNames()
+
+ for i = 0 to ubound(oNames)
+ Out.Log("Element " + i + ": " + oNames(i))
+ next i
+
+ oObj = oGroup.getByIndex(0)
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextTable")
+ oCollection = oDoc.getTextTables()
+
+ oObj.ApplyTo(oDoc.Text.createTextCursor)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/script.xlb
new file mode 100644
index 000000000000..f774d8c7c062
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXAutoTextGroup" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXAutoTextGroup"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/sw_SwXAutoTextGroup.xba b/qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/sw_SwXAutoTextGroup.xba
new file mode 100644
index 000000000000..5cabc7055457
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXAutoTextGroup/sw_SwXAutoTextGroup.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXAutoTextGroup" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong as Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXAutoTextGroup
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim i As Integer
+ Dim oCursor As Object
+ Dim oCollection As Object
+ Dim aElementNames As Variant
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+ oCollection = createUNOService("com.sun.star.text.AutoTextContainer")
+
+ aElementNames() = oCollection.ElementNames
+ 'cGlobalString = aElementNames(uBound(aElementNames())
+
+ for i = lBound(aElementNames()) to uBound(aElementNames())
+ oDoc.Text.insertString(oCursor, aElementNames(i), false )
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oCursor.gotoEnd(false)
+ next i
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+
+ nGlobalLong = 0
+ i = 0
+ 'create the object to test here
+ while nGlobalLong = 0
+ oObj = oCollection.getByName(aElementNames(i))
+ nGlobalLong = oObj.Count
+ i = i + 1
+ wend
+ nGlobalLong = oObj.Count
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXBodyText/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXBodyText/script.xlb
new file mode 100644
index 000000000000..efe9eac6f10f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXBodyText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXBodyText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXBodyText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXBodyText/sw_SwXBodyText.xba b/qadevOOo/tests/basic/mod/sw/SwXBodyText/sw_SwXBodyText.xba
new file mode 100644
index 000000000000..d0e548872322
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXBodyText/sw_SwXBodyText.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXBodyText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.text.XText
+Global oCollection As Object
+Global oInstance As Object
+Global aAddons()
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXBodyText
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oObj = oDoc.Text
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextTable")
+ oInstance.initialize(5, 5)
+
+ oCollection = oDoc.TextTables
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXBookmark/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXBookmark/script.xlb
new file mode 100644
index 000000000000..e0293cfca595
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXBookmark/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXBookmark" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXBookmark"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXBookmark/sw_SwXBookmark.xba b/qadevOOo/tests/basic/mod/sw/SwXBookmark/sw_SwXBookmark.xba
new file mode 100644
index 000000000000..596848ac8b15
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXBookmark/sw_SwXBookmark.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXBookmark" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object ' it will be disposed
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXBookmark
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ ' create a textcursor
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' check if objectcreation succeed and write to log
+
+
+ ' write some strings to document
+ for i = 1 to 10
+ oCursor.gotoEnd(false)
+
+ ' Hilfskruecke wegen Bug im Trim oder insertString
+ cTemp = Trim(Str((i)) &amp; cText
+ oDoc.Text.insertString(oCursor, cTemp, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oCursor.gotoStart(false)
+ oCursor.gotoNextWord(false)
+
+ ' create a Bookmark and insert it
+ for i = 1 to 3
+
+ oInstance = oDoc.createInstance("com.sun.star.text.Bookmark")
+ ' check if objectcreation succeed and write to log
+
+ ' set name property just for fun
+ oInstance.Name = cObjectName &amp; i
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oCursor.gotoNextWord(false)
+
+ next i
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.Bookmark")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+ ' create test object and initialize
+ oCollection = oDoc.Bookmarks
+ oObj = oCollection.getByIndex(0)
+ oComponentInstance = oCollection.getByIndex(1)
+ cGlobalString = oCollection.getByIndex(0).Name
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXBookmarks/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXBookmarks/script.xlb
new file mode 100644
index 000000000000..1a1a36bf69fd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXBookmarks/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXBookmarks" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXBookmarks"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXBookmarks/sw_SwXBookmarks.xba b/qadevOOo/tests/basic/mod/sw/SwXBookmarks/sw_SwXBookmarks.xba
new file mode 100644
index 000000000000..daee028206c7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXBookmarks/sw_SwXBookmarks.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXBookmarks" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXBookmarks
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+ nGlobalLong = 10
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ ' create a textcursor
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' check if objectcreation succeed
+
+ ' write some strings to document
+ for i = 1 to nGlobalLong
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor,Str(i) &amp; cText,false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ ' set Cursor to the second word
+ oCursor.gotoStart(false)
+ oCursor.gotoNextWord(false)
+
+ for i = 1 to nGlobalLong
+ oInstance = oDoc.createInstance("com.sun.star.text.Bookmark")
+ ' check if objectcreation succeed and write to log
+
+
+ ' set name property
+ oInstance.Name = cObjectName &amp; i
+
+ oDoc.Text.insertTextContent(oCursor, oInstance, bOK)
+ cName = oInstance.Name
+
+ oCursor.gotoNextWord(false)
+
+ next i
+
+ oObj = oDoc.Bookmarks
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXCell/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXCell/script.xlb
new file mode 100644
index 000000000000..794972ce49e5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXCell/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXCell" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXCell"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXCell/sw_SwXCell.xba b/qadevOOo/tests/basic/mod/sw/SwXCell/sw_SwXCell.xba
new file mode 100644
index 000000000000..b1fa8486a06e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXCell/sw_SwXCell.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXCell" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oCollection As Object
+Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXCell
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oCursor = oDoc.Text.createTextCursor()
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(5,5)
+
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+ oCollection = oDoc.TextTables
+
+ oTable.getCellByName("A2").Value = nGlobalLong
+ oTable.getCellByName("B2").Value = nGlobalLong * 2
+ oObj = oTable.getCellByName("C2")
+
+ ' create some textcontent for insertion
+ oInstance = oDoc.createInstance("com.sun.star.text.Bookmark")
+ oCollection = oDoc.Bookmarks
+
+ oObj.setFormula("=sum &lt;A2:B2&gt;")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXCellRange/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXCellRange/script.xlb
new file mode 100644
index 000000000000..5324c38394d0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXCellRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXCellRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXCellRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXCellRange/sw_SwXCellRange.xba b/qadevOOo/tests/basic/mod/sw/SwXCellRange/sw_SwXCellRange.xba
new file mode 100644
index 000000000000..b3c5df256ade
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXCellRange/sw_SwXCellRange.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXCellRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for sheet.XCellRangeData
+Global newData As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXCellRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim oTable As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(5,5)
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+
+ oObj = oTable.getCellRangeByPosition(0,0,3,4)
+
+ 'Required for XCellRangeData
+ newData = Array(_
+ Array(2.5, 5.0, 2.5, 5.0),_
+ Array(4.0, 9.0, 2.5, 5.0),_
+ Array(2.5, 5.0, 2.5, 5.0),_
+ Array(2.5, 5.0, 2.5, 5.0),_
+ Array(4.0, 9.0, 2.5, 5.0))_
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/script.xlb
new file mode 100644
index 000000000000..9863fa58f127
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXChapterNumbering" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXChapterNumbering"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/sw_SwXChapterNumbering.xba b/qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/sw_SwXChapterNumbering.xba
new file mode 100644
index 000000000000..43ee2717020f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXChapterNumbering/sw_SwXChapterNumbering.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXChapterNumbering" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXChapterNumbering
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ for i = 1 to 10
+ oDoc.Text.insertString(oCursor, cObjectName+i, false)
+ oDoc.Text.insertControlCharacter(oCursor,0,false)
+ next i
+
+ oObj = oDoc.ChapterNumberingRules
+ nGlobalLong = oObj.Count
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/script.xlb
new file mode 100644
index 000000000000..1e65a73a9742
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXDocumentIndex" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXDocumentIndex"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/sw_SwXDocumentIndex.xba b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/sw_SwXDocumentIndex.xba
new file mode 100644
index 000000000000..c207f6e6f3a7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndex/sw_SwXDocumentIndex.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDocumentIndex" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oCollection As Object
+Global oComponentInstance As Object ' it will be disposed
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXDocumentIndex
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim i As Integer
+ Dim n As Integer
+ Dim oCursor As Object
+ Dim oSearch As Object
+ Dim oFound As Object
+ Dim oIndexEntry As Object
+ Dim oFoundPos As Object
+ Dim oIndex As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' write some strings to document
+ for i = 1 to 10
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor, cObjectName, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ ' insert some IndexMakrs
+ oSearch = oDoc.createSearchDescriptor()
+ oSearch.SearchString = cObjectName
+ oFound = oDoc.findAll(oSearch)
+
+ for n = 0 to oFound.Count - 5
+ oFoundPos = oFound(n)
+ oIndexEntry = oDoc.createInstance("com.sun.star.text.DocumentIndexMark")
+ oDoc.text.insertTextContent(oFoundPos, oIndexEntry, true)
+ next n
+
+ 'create an index
+ oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndex")
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oObj = oIndex
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.DocumentIndex")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+ oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oComponentInstance = oIndex
+
+ oCollection = oDoc.getDocumentIndexes()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/script.xlb
new file mode 100644
index 000000000000..8e79e016f510
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXDocumentIndexMark" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXDocumentIndexMark"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/sw_SwXDocumentIndexMark.xba b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/sw_SwXDocumentIndexMark.xba
new file mode 100644
index 000000000000..515c9b61b05d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexMark/sw_SwXDocumentIndexMark.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDocumentIndexMark" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXDocumentIndexMark
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndexMark")
+ oIndex.attach(oDoc.Text)
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oObj = oIndex
+ oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndexMark")
+ oIndex.attach(oDoc.Text)
+
+ oComponentInstance = oIndex
+
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndexMark")
+ oIndex.attach(oDoc.Text)
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.DocumentIndexMark")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/script.xlb
new file mode 100644
index 000000000000..d7187cc8f6ca
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXDocumentIndexes" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXDocumentIndexes"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/sw_SwXDocumentIndexes.xba b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/sw_SwXDocumentIndexes.xba
new file mode 100644
index 000000000000..7fb5286675b9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDocumentIndexes/sw_SwXDocumentIndexes.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDocumentIndexes" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXDocumentIndexes
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ bOK = NOT isNull(oDoc)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+ oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
+ oDoc.Text.insertTextContent(oCursor, oIndex, false)
+
+ oObj = oDoc.getDocumentIndexes()
+
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDrawPage/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXDrawPage/script.xlb
new file mode 100644
index 000000000000..0f908a3b103b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDrawPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXDrawPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXDrawPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXDrawPage/sw_SwXDrawPage.xba b/qadevOOo/tests/basic/mod/sw/SwXDrawPage/sw_SwXDrawPage.xba
new file mode 100644
index 000000000000..cb69d58f6093
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXDrawPage/sw_SwXDrawPage.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDrawPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+Global cNameToSet As String ' "fixed" if name is fixed
+
+' Requiered for com.sun.star.drawing.XShapeGrouper
+Global oGrouperCollection As Object 'groupable objects
+
+' Requiered for com.sun.star.drawing.XShapes
+Global oXShapeInstance As Object 'to add/remove
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXDrawPage
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCollection As Object
+ Dim oInstance As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = oDoc.getDrawPage()
+
+ oCollection = createUNOService("com.sun.star.drawing.ShapeCollection")
+ oInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oObj.add(oInstance)
+ oCollection.add(oInstance)
+ oInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oObj.add(oInstance)
+ oCollection.add(oInstance)
+ oInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oObj.add(oInstance)
+ oInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ oObj.add(oInstance)
+ oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+
+ oGrouperCollection = oCollection
+
+ cNameToSet = "ADrawPage"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/script.xlb
new file mode 100644
index 000000000000..a831b798f246
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXEndnoteProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXEndnoteProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/sw_SwXEndnoteProperties.xba b/qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/sw_SwXEndnoteProperties.xba
new file mode 100644
index 000000000000..4fc9577723a9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXEndnoteProperties/sw_SwXEndnoteProperties.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXEndnoteProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXEndnoteProperties
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oNote = oDoc.createInstance("com.sun.star.text.Endnote")
+
+ oDoc.Text.insertTextContent(oCursor, oNote, false)
+
+ oObj = oDoc.getEndnoteSettings()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/script.xlb
new file mode 100644
index 000000000000..b93edc648c90
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXFieldEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXFieldEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/sw_SwXFieldEnumeration.xba b/qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/sw_SwXFieldEnumeration.xba
new file mode 100644
index 000000000000..e0fa327a836d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFieldEnumeration/sw_SwXFieldEnumeration.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXFieldEnumeration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXFieldEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim FieldMaster As Object
+ Dim TextField As Object
+ Dim the_Text As Object
+ Dim the_Cursor As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ FieldMaster = oDoc.createInstance( "com.sun.star.text.FieldMaster.Database" )
+ TextField = oDoc.createInstance( "com.sun.star.text.TextField.Database" )
+
+ FieldMaster.setPropertyValue("DataBaseName", "Bibliography")
+ FieldMaster.setPropertyValue("DataTableName", "biblio")
+ FieldMaster.setPropertyValue("DataColumnName", "Address")
+ the_Text = oDoc.getText()
+ the_Cursor = the_Text.createTextCursor()
+
+ TextField.attachTextFieldMaster(FieldMaster)
+ the_Text.insertTextContent(the_Cursor, TextField, false)
+
+ oObj = oDoc.getTextFields().createEnumeration()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFieldMaster/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXFieldMaster/script.xlb
new file mode 100644
index 000000000000..717a73f4ed49
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFieldMaster/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXFieldMaster" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXFieldMaster"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFieldMaster/sw_SwXFieldMaster.xba b/qadevOOo/tests/basic/mod/sw/SwXFieldMaster/sw_SwXFieldMaster.xba
new file mode 100644
index 000000000000..8c6f7dd17905
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFieldMaster/sw_SwXFieldMaster.xba
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXFieldMaster" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXFieldMaster
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = oDoc.createInstance("com.sun.star.text.FieldMaster.Database")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnote/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXFootnote/script.xlb
new file mode 100644
index 000000000000..26fde0605a73
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnote/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXFootnote" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXFootnote"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnote/sw_SwXFootnote.xba b/qadevOOo/tests/basic/mod/sw/SwXFootnote/sw_SwXFootnote.xba
new file mode 100644
index 000000000000..4bff96ac2b59
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnote/sw_SwXFootnote.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXFootnote" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global oInstance as Object
+Global oCollection as Object
+Global oComponentInstance as Object
+Global cGlobalString as String
+Global nGlobalLong as Long
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXFootnote
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim i As Integer
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ for i = 1 to 5
+ oInstance = oDoc.createInstance("com.sun.star.text.Footnote")
+ oInstance.Label = cObjectName &amp; i
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ next i
+
+ oInstance = oDoc.createInstance("com.sun.star.text.Bookmark")
+ oCollection = oDoc.getBookmarks()
+ oComponentInstance = oDoc.Footnotes(2)
+ cGlobalString = cObjectName
+ nGlobalLong = 2
+
+ oObj = oDoc.Footnotes(nGlobalLong-1)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.Footnote")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/script.xlb
new file mode 100644
index 000000000000..3df9abbc74f6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXFootnoteProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXFootnoteProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/sw_SwXFootnoteProperties.xba b/qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/sw_SwXFootnoteProperties.xba
new file mode 100644
index 000000000000..d9e23b870ec0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnoteProperties/sw_SwXFootnoteProperties.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXFootnoteProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXFootnoteProperties
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oCursor = oDoc.Text.createTextCursor()
+ oInst = oDoc.createInstance("com.sun.star.text.Footnote")
+
+ oDoc.Text.insertTextContent(oCursor, oInst, false)
+
+ oObj = oDoc.getFootnoteSettings()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnoteText/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXFootnoteText/script.xlb
new file mode 100644
index 000000000000..070f117c0b0b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnoteText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXFootnoteText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXFootnoteText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnoteText/sw_SwXFootnoteText.xba b/qadevOOo/tests/basic/mod/sw/SwXFootnoteText/sw_SwXFootnoteText.xba
new file mode 100644
index 000000000000..5a7642df2d3a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnoteText/sw_SwXFootnoteText.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXFootnoteText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+Global oInstance As Object
+Global oCollection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXFootnoteText
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+ nGlobalLong = 10
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+
+ for i = 1 to nGlobalLong
+ oFootNote = oDoc.createInstance("com.sun.star.text.Footnote")
+ oFootNote.Label = cObjectName &amp; i
+ oDoc.Text.insertTextContent(oCursor, oFootNote, false)
+ next i
+
+ oInstance = oDoc.createInstance("com.sun.star.text.Bookmark")
+ oCollection = oDoc.Bookmarks
+
+ oObj = oFootNote.getText()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnotes/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXFootnotes/script.xlb
new file mode 100644
index 000000000000..7e265118287e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnotes/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXFootnotes" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXFootnotes"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFootnotes/sw_SwXFootnotes.xba b/qadevOOo/tests/basic/mod/sw/SwXFootnotes/sw_SwXFootnotes.xba
new file mode 100644
index 000000000000..18100dddb1a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFootnotes/sw_SwXFootnotes.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXFootnotes" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXFootnotes
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim oInstance As Object
+ Dim i As Integer
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ for i = 1 to 5
+ oInstance = oDoc.createInstance("com.sun.star.text.Footnote")
+ oInstance.Label = cObjectName &amp; i
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ next i
+
+ oObj = oDoc.Footnotes
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFrames/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXFrames/script.xlb
new file mode 100644
index 000000000000..3aed8ca84894
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFrames/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXFrames" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXFrames"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXFrames/sw_SwXFrames.xba b/qadevOOo/tests/basic/mod/sw/SwXFrames/sw_SwXFrames.xba
new file mode 100644
index 000000000000..031cdf270816
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXFrames/sw_SwXFrames.xba
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXFrames" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XContainer
+ Global oElementToInsert As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXFrames
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' create some frames on doc
+ for i= 1 to 3
+ oInstance = oDoc.createInstance("com.sun.star.text.TextFrame")
+ sSize = createUNOStruct("com.sun.star.awt.Size")
+ sSize.Height = 100
+ sSize.Width = 100
+ oInstance.Size = sSize
+ oInstance.SizeType = 1
+ oInstance.Name = cObjectName &amp; i
+ oInstance.HoriOrient = i
+ oInstance.VertOrient = i
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ next i
+
+
+
+ oObj = oDoc.TextFrames
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXHeadFootText/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXHeadFootText/script.xlb
new file mode 100644
index 000000000000..efc59272d689
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXHeadFootText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXHeadFootText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXHeadFootText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXHeadFootText/sw_SwXHeadFootText.xba b/qadevOOo/tests/basic/mod/sw/SwXHeadFootText/sw_SwXHeadFootText.xba
new file mode 100644
index 000000000000..30e6852188cc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXHeadFootText/sw_SwXHeadFootText.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXHeadFootText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+Global oCollection As Object
+Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXHeadFootText
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oPagestyle = oDoc.StyleFamilies.getByName("PageStyles").getByName("Standard")
+ oPageStyle.HeaderIsOn = true
+
+ oObj = oPageStyle.HeaderText
+ oCursor = oObj.createTextCursor()
+
+ nGlobalLong = 3
+
+ ' insert some Tables to Header
+ for i = 1 to nGlobalLong
+ ' initialize appropirate textcontent for insertion
+ oInstance = oDoc.createInstance("com.sun.star.text.TextTable")
+ oInstance.initialize(1, 2)
+ oCursor.gotoEnd(false)
+ oObj.insertTextContent(oCursor, oInstance, false)
+ next i
+
+ ' create another table to insert via XText-module
+ oInstance = oDoc.createInstance("com.sun.star.text.TextTable")
+ oInstance.initialize(5, 5)
+
+ ' initialize corresponding collection for verifying
+ oCollection = oDoc.TextTables
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/script.xlb
new file mode 100644
index 000000000000..833b05eb14d8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXLineNumberingProperties" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXLineNumberingProperties"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/sw_SwXLineNumberingProperties.xba b/qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/sw_SwXLineNumberingProperties.xba
new file mode 100644
index 000000000000..33e20cc676b2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXLineNumberingProperties/sw_SwXLineNumberingProperties.xba
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXLineNumberingProperties" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXLineNumberingProperties
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oText = oDoc.getText()
+ oCursor = oText.createTextCursor()
+
+ For i = 1 to 5
+ oText.insertString(oCursor,_
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG", false)
+ oText.insertControlCharacter( oCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false )
+ Next i
+
+ oObj = oDoc.getLineNumberingProperties()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXMailMerge/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXMailMerge/script.xlb
new file mode 100644
index 000000000000..7889f2929f95
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXMailMerge/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXMailMerge" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="sw_SwXMailMerge"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXMailMerge/sw_SwXMailMerge.xba b/qadevOOo/tests/basic/mod/sw/SwXMailMerge/sw_SwXMailMerge.xba
new file mode 100644
index 000000000000..dffb0d341a5d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXMailMerge/sw_SwXMailMerge.xba
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXMailMerge" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' com.sun.star.task.XJob:
+Global vXJobArgs(0 to 3) as Variant
+
+' com.sun.star.text.MailMerge
+Global cMailMerge_DocumentURL as String
+
+Dim cDataSourceName as String
+Dim cDataCommand as String
+Dim oXResultSet as Variant
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' com.sun.star.sw.SwXMailMerge
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim vXJobArg0(0 to 7) as new com.sun.star.beans.NamedValue
+ Dim vXJobArg1(0 to 6) as new com.sun.star.beans.NamedValue
+ Dim vXJobArg2(0 to 9) as new com.sun.star.beans.NamedValue
+ Dim vXJobArg3(0) as new com.sun.star.beans.NamedValue
+ Dim cTestDoc as String
+ Dim cOutputURL as String
+ Dim oXConnection as Variant
+ Dim myBookMarks as Variant
+
+ oObj = createUnoService("com.sun.star.text.MailMerge")
+
+ cTestDoc = utils.Path2URL(cTestDocsDir + "/" + "MailMerge.sxw")
+ cMailMerge_DocumentURL = cTestDoc
+ cOutputURL = ConvertToURL(utils.getUserPath())
+ cDataSourceName = "Bibliography"
+ cDataCommand = "biblio"
+ oXResultSet = getXResultSet()
+ oXConnection = oXResultSet.ActiveConnection
+
+ ' create arguments for XJob:
+ myBookMarks = getMyBookMarks()
+
+ oObj.DataSourceName = cDataSourceName
+ oObj.Command = cDataCommand
+ oObj.CommandType = com.sun.star.sdb.CommandType.TABLE
+ oObj.OutputType = com.sun.star.text.MailMergeType.FILE
+ oObj.DocumentURL = cTestDoc
+ oObj.OutputURL = cOutputURL
+ oObj.FileNamePrefix = "Author"
+ oObj.FileNameFromColumn = TRUE
+ oObj.Selection = DimArray()
+
+ ' use a simple DataBase with simple Table
+ vXJobArg0(0).Name = "DataSourceName" : vXJobArg0(0).Value = cDataSourceName
+ vXJobArg0(1).Name = "Command" : vXJobArg0(1).Value = cDataCommand
+ vXJobArg0(2).Name = "CommandType" : vXJobArg0(2).Value = com.sun.star.sdb.CommandType.TABLE
+ vXJobArg0(3).Name = "OutputType" : vXJobArg0(3).Value = com.sun.star.text.MailMergeType.FILE
+ vXJobArg0(4).Name = "DocumentURL" : vXJobArg0(4).Value = cTestDoc
+ vXJobArg0(5).Name = "OutputURL" : vXJobArg0(5).Value = cOutputURL
+ vXJobArg0(6).Name = "FileNamePrefix" : vXJobArg0(6).Value = "Identifier"
+ vXJobArg0(7).Name = "FileNameFromColumn" : vXJobArg0(7).Value = true
+
+ ' use a simple DataBase with simple Table and write to printer
+ vXJobArg1(0).Name = "DataSourceName" : vXJobArg1(0).Value = cDataSourceName
+ vXJobArg1(1).Name = "Command" : vXJobArg1(1).Value = cDataCommand
+ vXJobArg1(2).Name = "CommandType" : vXJobArg1(2).Value = com.sun.star.sdb.CommandType.TABLE
+ vXJobArg1(3).Name = "OutputType" : vXJobArg1(3).Value = com.sun.star.text.MailMergeType.PRINTER
+ vXJobArg1(4).Name = "FileNamePrefix" : vXJobArg1(4).Value = "Author"
+ vXJobArg1(5).Name = "FileNameFromColumn" : vXJobArg1(5).Value = true
+ vXJobArg1(6).Name = "DocumentURL" : vXJobArg1(6).Value = cTestDoc
+
+ ' use a XConnection
+ vXJobArg2(0).Name = "ActiveConnection" : vXJobArg2(0).Value = oXConnection
+ vXJobArg2(1).Name = "DataSourceName" : vXJobArg2(1).Value = cDataSourceName
+ vXJobArg2(2).Name = "Command" : vXJobArg2(2).Value = cDataCommand
+ vXJobArg2(3).Name = "CommandType" : vXJobArg2(3).Value = com.sun.star.sdb.CommandType.TABLE
+ vXJobArg2(4).Name = "OutputType" : vXJobArg2(4).Value = com.sun.star.text.MailMergeType.FILE
+ vXJobArg2(5).Name = "ResultSet" : vXJobArg2(5).Value = oXResultSet
+ vXJobArg2(6).Name = "OutputURL" : vXJobArg2(6).Value = cOutputURL
+ vXJobArg2(7).Name = "FileNamePrefix" : vXJobArg2(7).Value = "Identifier"
+ vXJobArg2(8).Name = "FileNameFromColumn" : vXJobArg2(8).Value = true
+ vXJobArg2(9).Name = "Selection" : vXJobArg2(9).Value = myBookMarks()
+
+ vXJobArgs(0) = vXJobArg0()
+ vXJobArgs(1) = vXJobArg1()
+ vXJobArgs(2) = vXJobArg2()
+ vXJobArgs(3) = DimArray()
+
+ out.log("com.sun.star.text.MailMerge created.")
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub XMailMergeEvent()
+ oObj.execute(vXJobArgs(2))
+end sub
+
+Function getXResultSet() as Variant
+ Dim oRowSet as Object
+ oRowSet = createUnoService("com.sun.star.sdb.RowSet")
+ oRowSet.DataSourceName = cDataSourceName
+ oRowSet.Command = cDataCommand
+ oRowSet.CommandType = com.sun.star.sdb.CommandType.TABLE
+ oRowSet.execute()
+ wait(200)
+' oRowSet.getFirst()
+ getXResultSet() = oRowSet
+end Function
+
+Function getMyBookMarks() as Variant
+ Dim BookMarks(1) as Variant
+ oXResultSet.first()
+ BookMarks(0) = oXResultSet.getBookmark()
+ oXResultSet.next()
+ BookMarks(1) = oXResultSet.getBookmark()
+ getMyBookMarks() = BookMarks()
+end Function
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXModule/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXModule/script.xlb
new file mode 100644
index 000000000000..0a065a01386a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXModule/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXModule" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXModule"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXModule/sw_SwXModule.xba b/qadevOOo/tests/basic/mod/sw/SwXModule/sw_SwXModule.xba
new file mode 100644
index 000000000000..11d08996a639
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXModule/sw_SwXModule.xba
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXModule" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXModule
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.text.GlobalSettings")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXNumberingRules/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXNumberingRules/script.xlb
new file mode 100644
index 000000000000..047311ba12f1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXNumberingRules/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXNumberingRules" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXNumberingRules"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXNumberingRules/sw_SwXNumberingRules.xba b/qadevOOo/tests/basic/mod/sw/SwXNumberingRules/sw_SwXNumberingRules.xba
new file mode 100644
index 000000000000..7ab97cba229d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXNumberingRules/sw_SwXNumberingRules.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXNumberingRules" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXNumberingRules
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oText As Object
+ Dim oCursor As Object
+ Dim oStyleFamilies As Object
+ Dim oNumStyles As Object
+ Dim bOK As Boolean
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+
+ oText = oDoc.getText()
+ oCursor = oText.createTextCursor()
+ for i = 0 to 5
+ oText.insertString(oCursor, "The quick brown fox jumps over the lazy Dog", false)
+ oText.insertControlCharacter(oCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ Next i
+
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oNumStyles = oStyleFamilies.getByName("NumberingStyles")
+
+ oObj = oNumStyles.getByIndex(0).NumberingRules
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXParagraph/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXParagraph/script.xlb
new file mode 100644
index 000000000000..0a85ca0129a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXParagraph/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXParagraph" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXParagraph"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXParagraph/sw_SwXParagraph.xba b/qadevOOo/tests/basic/mod/sw/SwXParagraph/sw_SwXParagraph.xba
new file mode 100644
index 000000000000..9ba860b23737
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXParagraph/sw_SwXParagraph.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXParagraph" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+ Global bXTextContentImpossible As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXParagraph
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim nWidth As Integer
+ Dim nHeight As Integer
+ Dim cText As String
+ Dim oCursor As Object
+ Dim i As Integer
+ Dim oInstance As Object
+ Dim oEnum As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ nWidth = 5000
+ nHeight = 4000
+ cText = ". Zeile : test of " &amp; cObjectName
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' write some strings to document
+ for i = 1 to 10
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor,Trim(Str(i)) &amp; cText,false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oCursor.gotoEnd(false)
+ oInstance = oDoc.createInstance("com.sun.star.text.TextFrame")
+ sSize = createUNOStruct("com.sun.star.awt.Size")
+ sSize.Height = nHeight
+ sSize.Width = nWidth
+ oInstance.Size = sSize
+ oInstance.SizeType = 1
+ oInstance.AnchorType = 0
+ oInstance.Name = cObjectName
+ oInstance.HoriOrient = 2
+ oInstance.VertOrient = 2
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+
+ oEnum = oDoc.Text.createEnumeration()
+ oObj = oEnum.nextElement()
+ oComponentInstance = oEnum.nextElement()
+
+ bXTextContentImpossible = TRUE
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/script.xlb
new file mode 100644
index 000000000000..2e8a40a04a15
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXParagraphEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXParagraphEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/sw_SwXParagraphEnumeration.xba b/qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/sw_SwXParagraphEnumeration.xba
new file mode 100644
index 000000000000..4f9f4b4ae6d0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXParagraphEnumeration/sw_SwXParagraphEnumeration.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXParagraphEnumeration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXParagraphEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ nGlobalLong = 7
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' write some strings to document
+ for i = 1 to nGlobalLong
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor,Trim(Str(i)) &amp; cText,false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oObj = oDoc.Text.createEnumeration()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXPrintSettings/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXPrintSettings/script.xlb
new file mode 100644
index 000000000000..863c2eb1bc8c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXPrintSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXPrintSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXPrintSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXPrintSettings/sw_SwXPrintSettings.xba b/qadevOOo/tests/basic/mod/sw/SwXPrintSettings/sw_SwXPrintSettings.xba
new file mode 100644
index 000000000000..8762350cb324
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXPrintSettings/sw_SwXPrintSettings.xba
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXPrintSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXPrintSettings
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oInst As Variant
+
+ bOK = true
+
+ oInst = createUnoService("com.sun.star.text.GlobalSettings")
+ oObj = oInst.getPrintSettings()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXPropertySet/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXPropertySet/script.xlb
new file mode 100644
index 000000000000..568f0fccb1d7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXPropertySet/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXPropertySet" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXPropertySet"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXPropertySet/sw_SwXPropertySet.xba b/qadevOOo/tests/basic/mod/sw/SwXPropertySet/sw_SwXPropertySet.xba
new file mode 100644
index 000000000000..d482db98cea9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXPropertySet/sw_SwXPropertySet.xba
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXPropertySet" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXPropertySet
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/script.xlb
new file mode 100644
index 000000000000..d613c13e2ecf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXPropertySetInfo" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXPropertySetInfo"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/sw_SwXPropertySetInfo.xba b/qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/sw_SwXPropertySetInfo.xba
new file mode 100644
index 000000000000..2621c918a002
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXPropertySetInfo/sw_SwXPropertySetInfo.xba
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXPropertySetInfo" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXPropertySetInfo
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = oDoc.getPropertySetInfo()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXReferenceMark/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXReferenceMark/script.xlb
new file mode 100644
index 000000000000..ad3eadd337b9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXReferenceMark/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXReferenceMark" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXReferenceMark"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXReferenceMark/sw_SwXReferenceMark.xba b/qadevOOo/tests/basic/mod/sw/SwXReferenceMark/sw_SwXReferenceMark.xba
new file mode 100644
index 000000000000..2a48e55f78f2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXReferenceMark/sw_SwXReferenceMark.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXReferenceMark" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+Global oCollection As Object
+Global oComponentInstance As Object ' it will be disposed
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXReferenceMark
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ ' create the textcursor and verify initialization
+ oCursor = oDoc.Text.createTextCursor()
+
+ nGlobalLong = 7
+
+ ' write some strings to document
+ for i = 1 to nGlobalLong
+ oCursor.gotoEnd(false)
+ ' helpvar cause of bug in trim or insertString
+ cTemp = Trim(Str((i)) &amp; cText
+ oDoc.Text.insertString(oCursor, cTemp, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oCursor.gotoStart(false)
+
+ for i = 1 to nGlobalLong
+ oObj = oDoc.createInstance("com.sun.star.text.ReferenceMark")
+ oObj.Name = cObjectName &amp; i
+ oDoc.Text.insertTextContent(oCursor, oObj, false)
+ oCursor.gotoNextParagraph(false)
+ next i
+
+ oCollection = oDoc.ReferenceMarks
+ oObj = oCollection.getByIndex(0)
+ oComponentInstance = oCollection.getByIndex(1)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.ReferenceMark")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/script.xlb
new file mode 100644
index 000000000000..87e12bcbf371
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXReferenceMarks" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXReferenceMarks"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/sw_SwXReferenceMarks.xba b/qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/sw_SwXReferenceMarks.xba
new file mode 100644
index 000000000000..33fc407703e0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXReferenceMarks/sw_SwXReferenceMarks.xba
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXReferenceMarks" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXReferenceMarks
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ nGlobalLong = 5
+
+ ' write some strings to document
+ for i = 1 to nGlobalLong
+ oCursor.gotoEnd(false)
+ ' Hilfskruecke wegen Bug im Trim oder insertString
+ cTemp = Trim(Str((i)) &amp; cText
+ oDoc.Text.insertString(oCursor, cTemp, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oCursor.gotoStart(false)
+
+ for i = 1 to nGlobalLong
+ oInstance = oDoc.createInstance("com.sun.star.text.ReferenceMark")
+ oInstance.Name = cObjectName &amp; i
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oCursor.gotoNextParagraph(false)
+ next i
+
+
+ ' create the object to test here
+ oObj = oDoc.ReferenceMarks
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXShape/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXShape/script.xlb
new file mode 100644
index 000000000000..b95a641374d7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXShape/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXShape" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXShape"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXShape/sw_SwXShape.xba b/qadevOOo/tests/basic/mod/sw/SwXShape/sw_SwXShape.xba
new file mode 100644
index 000000000000..09a09c71efe5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXShape/sw_SwXShape.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXShape" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.drawing.XShapeDescriptor :
+ Global cShapeType As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXShape
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim n As Integer
+ Dim sSize as new com.sun.star.awt.Size
+ Dim sPoint as new com.sun.star.awt.Point
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oDrawPage = oDoc.DrawPage
+
+ For n = 1 to 3
+ oShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
+ sSize.Height = 5000
+ sSize.Width = 5000
+ oShape.Size = sSize
+ sPoint.X = 5000
+ sPoint.Y = n * 1000
+ oShape.Position = sPoint
+ oDrawPage.Add(oShape)
+ Next
+
+ oObj = oDrawPage.getByIndex(1)
+
+ oObj.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PAGE
+ oComponentInstance = oDrawPage.getByIndex(0)
+
+ cShapeType = "com.sun.star.drawing.RectangleShape"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXStyle/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXStyle/script.xlb
new file mode 100644
index 000000000000..96da6a7f5e67
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXStyle/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXStyle" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXStyle"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXStyle/sw_SwXStyle.xba b/qadevOOo/tests/basic/mod/sw/SwXStyle/sw_SwXStyle.xba
new file mode 100644
index 000000000000..53aa0ece1116
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXStyle/sw_SwXStyle.xba
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXStyle" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+' Requiered for com.sun.star.style.XStyle
+Global oStandartStyle As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXStyle
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oStyleFamilies = oDoc.StyleFamilies
+ aElementNames() = oStyleFamilies.Elementnames
+
+ oDoc.Text.insertString(oCursor, "Elements of StyleFamlilies are:", false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+
+ for i = lBound(aElementNames()) to uBound(aElementNames())
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor, aElementNames(i), false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+
+ oObj = oStyleFamilies.getByIndex(0)
+
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oCursor.gotoEnd(false)
+
+ oDoc.Text.insertString(oCursor,"Elements of StyleFamlilie " &amp; aElementNames(0) &amp; " are:", false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+
+ aElementNames() = oObj.Elementnames
+ for i = lBound(aElementNames()) to uBound(aElementNames())
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor, aElementNames(i), false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oNew = oDoc.createInstance("com.sun.star.style.CharacterStyle")
+ oStyleFamily = oStyleFamilies.getByIndex(0)'
+ oStyleFamily.insertByName("Dummy", oNew)
+
+ oObj = oStyleFamily.getByName("Dummy")
+
+ 'Use the style...
+ oCursor.setPropertyValue("CharStyleName", "Dummy")
+
+ oStandartStyle = oStyleFamily.getByName(aElementNames(1))
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/script.xlb
new file mode 100644
index 000000000000..59114cb7f7e6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXStyleFamilies" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXStyleFamilies"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/sw_SwXStyleFamilies.xba b/qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/sw_SwXStyleFamilies.xba
new file mode 100644
index 000000000000..47710c6df682
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXStyleFamilies/sw_SwXStyleFamilies.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXStyleFamilies" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXStyleFamilies
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = oDoc.getStyleFamilies()
+ nGlobalLong = oObj.count
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXStyleFamily/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXStyleFamily/script.xlb
new file mode 100644
index 000000000000..bd646d605dbf
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXStyleFamily/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXStyleFamily" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXStyleFamily"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXStyleFamily/sw_SwXStyleFamily.xba b/qadevOOo/tests/basic/mod/sw/SwXStyleFamily/sw_SwXStyleFamily.xba
new file mode 100644
index 000000000000..8c8a79680f05
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXStyleFamily/sw_SwXStyleFamily.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXStyleFamily" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNameContainer
+ Global oInstance As Variant 'instance to insert
+
+
+' Requiered for com.sun.star.container.XNameReplace
+ Global cNameToReplace As String 'name of instance to be replased
+ Global oReplaceInstance As Variant 'instance, that will be inserted
+ 'instead old one
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXStyleFamily
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oInstance = oDoc.createInstance("com.sun.star.style.CharacterStyle")
+
+ oReplaceInstance = oDoc.createInstance("com.sun.star.style.CharacterStyle")
+
+
+ oObj = oDoc.getStyleFamilies.getByIndex(0)
+ oObj.insertByName(cObjectName, oDoc.createInstance("com.sun.star.style.CharacterStyle"))
+ cNameToReplace = cObjectName
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTableCellText/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTableCellText/script.xlb
new file mode 100644
index 000000000000..f869097aaf87
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTableCellText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTableCellText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTableCellText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTableCellText/sw_SwXTableCellText.xba b/qadevOOo/tests/basic/mod/sw/SwXTableCellText/sw_SwXTableCellText.xba
new file mode 100644
index 000000000000..0410af6be6c9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTableCellText/sw_SwXTableCellText.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTableCellText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XText
+ Global oCollection As Object
+ Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTableCellText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim oTable As Object
+ Dim oCell As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(3, 5)
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+
+ oCell = oTable.getCellByPosition(1, 1)
+
+ oObj = oCell.Text
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextField.DateTime")
+ oCollection = oDoc.TextFields
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTableColumns/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTableColumns/script.xlb
new file mode 100644
index 000000000000..aa249610df79
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTableColumns/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTableColumns" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTableColumns"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTableColumns/sw_SwXTableColumns.xba b/qadevOOo/tests/basic/mod/sw/SwXTableColumns/sw_SwXTableColumns.xba
new file mode 100644
index 000000000000..d5d505a44130
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTableColumns/sw_SwXTableColumns.xba
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTableColumns" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XTableColumns
+ Global oTable As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTableColumns
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim nRows As Long, nCols As Long
+
+ bOK = true
+
+ nRows = 5
+ nCols = 5
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Out.Log("Create a table")
+ oCursor = oDoc.Text.createTextCursor()
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(nRows, nCols)
+
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oDoc.Text.insertString(oCursor, oTable.Columns.DBG_SupportedInterfaces, false)
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oDoc.Text.insertString(oCursor, oTable.Columns.DBG_Methods, false)
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oDoc.Text.insertString(oCursor, oTable.Columns.DBG_Properties, false)
+
+ oObj = oTable.Columns
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTableRows/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTableRows/script.xlb
new file mode 100644
index 000000000000..e53c2e4756a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTableRows/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTableRows" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTableRows"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTableRows/sw_SwXTableRows.xba b/qadevOOo/tests/basic/mod/sw/SwXTableRows/sw_SwXTableRows.xba
new file mode 100644
index 000000000000..8028ea126953
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTableRows/sw_SwXTableRows.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTableRows" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XTableRows
+ Global oTable As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTableRows
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim nRows As Long, nCols As Long
+
+ bOK = true
+ nRows = 5
+ nCols = 5
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ ' create a table first
+ oCursor = oDoc.Text.createTextCursor()
+
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(nRows, nCols)
+ oCursor.gotoEnd(false)
+
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+
+ oDoc.Text.insertString(oCursor, oTable.Rows.DBG_SupportedInterfaces, false)
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oDoc.Text.insertString(oCursor, oTable.Rows.DBG_Methods, false)
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oDoc.Text.insertString(oCursor, oTable.Rows.DBG_Properties, false)
+
+ ' create test object
+ oObj = oTable.Rows
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextColumns/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextColumns/script.xlb
new file mode 100644
index 000000000000..37058dec0fe6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextColumns/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextColumns" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextColumns"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextColumns/sw_SwXTextColumns.xba b/qadevOOo/tests/basic/mod/sw/SwXTextColumns/sw_SwXTextColumns.xba
new file mode 100644
index 000000000000..999f5fa52850
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextColumns/sw_SwXTextColumns.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextColumns" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.text.XTextColumns
+Global oPageStyle As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextColumns
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ oPageStyle = oDoc.StyleFamilies.getByName("PageStyles").getByName("Standard")
+ oObj = oPageStyle.TextColumns
+
+ oDoc.Text.insertString(oCursor, oObj.DBG_SupportedInterfaces, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oDoc.Text.insertString(oCursor, oObj.DBG_Properties, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ oDoc.Text.insertString(oCursor, oObj.DBG_Methods, false)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextCursor/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextCursor/script.xlb
new file mode 100644
index 000000000000..aecd1d225eed
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextCursor/sw_SwXTextCursor.xba b/qadevOOo/tests/basic/mod/sw/SwXTextCursor/sw_SwXTextCursor.xba
new file mode 100644
index 000000000000..e5a8014ef5ea
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextCursor/sw_SwXTextCursor.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XParagraphCursor
+ Global oText As Object
+' Requiered for com.sun.star.text.XTextCursor
+ Global oCursor As Object 'One more cursor
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextCursor
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oText = oDoc.Text
+ oObj = oText.createTextCursor()
+ oCursor = oText.createTextCursor()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextDefaults/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextDefaults/script.xlb
new file mode 100644
index 000000000000..c4021b17323a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextDefaults/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextDefaults" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextDefaults"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextDefaults/sw_SwXTextDefaults.xba b/qadevOOo/tests/basic/mod/sw/SwXTextDefaults/sw_SwXTextDefaults.xba
new file mode 100644
index 000000000000..ded6377d7e27
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextDefaults/sw_SwXTextDefaults.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextDefaults" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextDefaults
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ ' create a textcursor
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' write some strings to document
+ for i = 1 to 10
+ oCursor.gotoEnd(false)
+
+ cTemp = Trim(Str((i)) &amp; cText
+ oDoc.Text.insertString(oCursor, cTemp, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oCursor.gotoStart(false)
+ oCursor.gotoNextWord(false)
+
+ oObj = oDoc.createInstance("com.sun.star.text.Defaults")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextDocument/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextDocument/script.xlb
new file mode 100644
index 000000000000..e2a798dfd3d6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextDocument/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextDocument" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextDocument"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextDocument/sw_SwXTextDocument.xba b/qadevOOo/tests/basic/mod/sw/SwXTextDocument/sw_SwXTextDocument.xba
new file mode 100644
index 000000000000..2a903e5bdfd2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextDocument/sw_SwXTextDocument.xba
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextDocument" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.util.XSearchable:
+' Required for com.sun.star.util.XReplaceable:
+Global cStringToSearch As String ' should appears more than once
+Global nSearchedEntriesAmount As Integer
+
+' Required for com.sun.star.lang.XComponent:
+Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.frame.XModel:
+Global oXModelController As Object
+Global oXModelSel As Object
+Global oXModelToSel As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextDocument
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oControllerDoc As Object
+ Dim oFrame As Object
+ Dim oCursor As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oControllerDoc = utils.createDocument("swriter", cObjectName + "1")
+ oComponentInstance = utils.createDocument("swriter", cObjectName + "2")
+
+ oObj = oDoc
+
+ oObj.Text.String = "This string comes from SwXTextDocument, and contains three 'co' entries. This 'Co' shouldn't be found!"
+ cStringToSearch = "co"
+ nSearchedEntriesAmount = 3
+
+ oFrame = oDoc.createInstance("com.sun.star.text.TextFrame")
+ oCursor = oDoc.Text.createTextCursor()
+ oDoc.Text.InsertTextContent(oCursor, oFrame, false)
+
+ oXModelToSel = oFrame
+ oXModelController = oControllerDoc.getCurrentController()
+ oXModelSel = oDoc.getCurrentController()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNULL(oComponentInstance) then oComponentInstance.dispose()
+
+ ' To successfully dispose oControllerDoc re-open it first.
+ Dim oControllerDoc As Object
+ oControllerDoc = utils.createDocument("swriter", cObjectName + "1")
+ oControllerDoc.dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/script.xlb
new file mode 100644
index 000000000000..e17f0e1cf940
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextEmbeddedObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextEmbeddedObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/sw_SwXTextEmbeddedObject.xba b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/sw_SwXTextEmbeddedObject.xba
new file mode 100644
index 000000000000..d51f3cb3b8e8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObject/sw_SwXTextEmbeddedObject.xba
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextEmbeddedObject" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+Global oComponentInstance As Object ' it will be disposed
+
+Global bXTextContentImpossible As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextEmbeddedObject
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oEmbededObjs As Variant
+
+ oDoc = utils.loadTestDocument("SwXTextEmbeddedObject.sxw")
+ oEmbededObjs = oDoc.getEmbeddedObjects
+ oObj = oEmbededObjs(0)
+ oComponentInstance = oEmbededObjs(1)
+
+ bXTextContentImpossible = True
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/script.xlb
new file mode 100644
index 000000000000..39b944518e4b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextEmbeddedObjects" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextEmbeddedObjects"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/sw_SwXTextEmbeddedObjects.xba b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/sw_SwXTextEmbeddedObjects.xba
new file mode 100644
index 000000000000..ca4a60b7105b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextEmbeddedObjects/sw_SwXTextEmbeddedObjects.xba
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextEmbeddedObjects" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextEmbeddedObjects
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.loadTestDocument("SwXTextEmbeddedObject.sdw")
+ oObj = oDoc.getEmbeddedObjects
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextField/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextField/script.xlb
new file mode 100644
index 000000000000..b6e2a90b9e1f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextField/sw_SwXTextField.xba b/qadevOOo/tests/basic/mod/sw/SwXTextField/sw_SwXTextField.xba
new file mode 100644
index 000000000000..bd6348d41c64
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextField/sw_SwXTextField.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.lang.XComponent
+Global oComponentInstance As Object
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oFieldMaster As Object
+ Dim oFieldMaster2 As Object
+ Dim oFieldMaster3 As Object
+ Dim oCursor As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oFieldMaster = oDoc.createInstance("com.sun.star.text.FieldMaster.Database")
+ oFieldMaster2 = oDoc.createInstance("com.sun.star.text.FieldMaster.Database")
+ oFieldMaster3 = oDoc.createInstance("com.sun.star.text.FieldMaster.Database")
+ oObj = oDoc.createInstance("com.sun.star.text.TextField.Database")
+ oComponentInstance = oDoc.createInstance("com.sun.star.text.TextField.Database")
+
+ oFieldMaster.setPropertyValue("DataBaseName","Address Book File")
+ oFieldMaster.setPropertyValue("DataTableName","address")
+ oFieldMaster.setPropertyValue("DataColumnName","FIRSTNAME")
+
+ oFieldMaster2.setPropertyValue("DataBaseName","Address Book File")
+ oFieldMaster2.setPropertyValue("DataTableName","address")
+ oFieldMaster2.setPropertyValue("DataColumnName","FIRSTNAME")
+
+ oFieldMaster3.setPropertyValue("DataBaseName","Address Book File")
+ oFieldMaster3.setPropertyValue("DataTableName","address")
+ oFieldMaster3.setPropertyValue("DataColumnName","FIRSTNAME")
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oObj.attachTextFieldMaster(oFieldMaster)
+ oDoc.Text.insertTextContent(oCursor, oObj, false)
+ oComponentInstance.attachTextFieldMaster(oFieldMaster2)
+ oDoc.Text.insertTextContent(oCursor, oComponentInstance, false)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextField.Database")
+ oXTextContent.attachTextFieldMaster(oFieldMaster3)
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/script.xlb
new file mode 100644
index 000000000000..798b78fec579
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextFieldMasters" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextFieldMasters"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/sw_SwXTextFieldMasters.xba b/qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/sw_SwXTextFieldMasters.xba
new file mode 100644
index 000000000000..bafab9031175
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFieldMasters/sw_SwXTextFieldMasters.xba
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextFieldMasters" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextFieldMasters
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+
+ oFieldMaster = oDoc.createInstance("com.sun.star.text.FieldMaster.Database")
+ oDBF = oDoc.createInstance("com.sun.star.text.TextField.Database")
+
+ oFieldMaster.setPropertyValue("DataBaseName","Address Book File")
+ oFieldMaster.setPropertyValue("DataTableName","address")
+ oFieldMaster.setPropertyValue("DataColumnName","FIRSTNAME")
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oDBF.attachTextFieldMaster(oFieldMaster)
+ oDoc.Text.insertTextContent(oCursor, oDBF, false)
+
+
+ oObj = oDoc.getTextFieldMasters()
+ nGlobalLong = uBound(oObj.getElementNames) + 1
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/script.xlb
new file mode 100644
index 000000000000..a8419edf98ab
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextFieldTypes" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextFieldTypes"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/sw_SwXTextFieldTypes.xba b/qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/sw_SwXTextFieldTypes.xba
new file mode 100644
index 000000000000..6c00c183e93d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFieldTypes/sw_SwXTextFieldTypes.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextFieldTypes" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextFieldTypes
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oFieldMaster As Object
+ Dim oDBF As Object
+ Dim oCursor As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oFieldMaster = oDoc.createInstance("com.sun.star.text.FieldMaster.Database")
+ oDBF = oDoc.createInstance("com.sun.star.text.TextField.Database")
+
+ oFieldMaster.setPropertyValue("DataBaseName","Address Book File")
+ oFieldMaster.setPropertyValue("DataTableName","address")
+ oFieldMaster.setPropertyValue("DataColumnName","FIRSTNAME")
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oDBF.attachTextFieldMaster(oFieldMaster)
+ oDoc.Text.insertTextContent(oCursor, oDBF, false)
+
+ oObj = oDoc.getTextFields()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFrame/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextFrame/script.xlb
new file mode 100644
index 000000000000..f538f6e0b64e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFrame/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextFrame" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextFrame"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFrame/sw_SwXTextFrame.xba b/qadevOOo/tests/basic/mod/sw/SwXTextFrame/sw_SwXTextFrame.xba
new file mode 100644
index 000000000000..cac50858b95f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFrame/sw_SwXTextFrame.xba
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextFrame" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+Global oCollection As Object
+Global oComponentInstance As Object
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextFrame
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim nHeight As Integer
+ Dim nWidth As Integer
+ Dim i As Integer
+ Dim oCursor As Object
+ Dim sSize As Object
+ Dim aFrame As Object
+ Dim oBookmark As Object
+
+ bOK = true
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ nHeight = 10000
+ nWidth = 10000
+ nGlobalLong = 2
+
+ for i = 1 to nGlobalLong
+ ' create some frames on doc
+ oObj = oDoc.createInstance("com.sun.star.text.TextFrame")
+ sSize = createUNOStruct("com.sun.star.awt.Size")
+ sSize.Height = nHeight
+ sSize.Width = nWidth
+ oObj.Size = sSize
+ oObj.SizeType = 1
+ oObj.Name = cObjectName + i
+ oObj.HoriOrient = i
+ oObj.VertOrient = 1
+
+ ' AnchorTypes: 0 = paragraph, 1 = as char, 2 = page, 3 = frame/paragraph 4= at char
+ oObj.AnchorType = 2
+ oDoc.Text.insertTextContent(oCursor, oObj, false)
+ If i = 1 Then
+ oComponentInstance = oObj
+ End If
+ next i
+
+ ' the tested frame must be inside another frame to check the property AnchorType
+ ' (the value AT_FRAME can be set only in this case)
+ aFrame = oDoc.createInstance("com.sun.star.text.TextFrame")
+ oCursor = oObj.Text.createTextCursor()
+ oObj.Text.insertTextContent(oCursor, aFrame, false)
+ oObj = aFrame
+
+ oCollection = oDoc.TextFrames
+
+ oObj.String = "-Text"
+
+ oCursor = oObj.createTextCursor()
+ oObj.insertString(oCursor, "SwXTextFrame", false)
+
+ oBookmark = oDoc.createInstance("com.sun.star.text.Bookmark")
+ oCursor.gotoEnd(false)
+ oObj.insertTextContent(oCursor, oBookmark, false)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextFrame")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFrameText/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextFrameText/script.xlb
new file mode 100644
index 000000000000..17160aa39ffc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFrameText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextFrameText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextFrameText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextFrameText/sw_SwXTextFrameText.xba b/qadevOOo/tests/basic/mod/sw/SwXTextFrameText/sw_SwXTextFrameText.xba
new file mode 100644
index 000000000000..85b80a35bb0b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextFrameText/sw_SwXTextFrameText.xba
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextFrameText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oCollection As Object
+Global oInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextFrameText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim nHeight As Integer
+ Dim nWidth As Integer
+ Dim oCursor As Object
+ Dim sSize As Object
+
+ nHeight = 4000
+ nWidth = 15000
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ oObj = oDoc.createInstance("com.sun.star.text.TextFrame")
+ sSize = createUNOStruct("com.sun.star.awt.Size")
+ sSize.Height = nHeight
+ sSize.Width = nWidth
+ oObj.Size = sSize
+ oObj.SizeType = 1
+ oObj.Name = cObjectName
+ oObj.HoriOrient = 1
+ oObj.VertOrient = 1
+
+ ' AnchorTypes: 0 = paragraph, 1 = as char, 2 = page, 3 = frame/paragraph 4= at char
+ oObj.AnchorType = 2
+ oDoc.Text.insertTextContent(oCursor, oObj, false)
+
+ oInstance = oDoc.createInstance("com.sun.star.text.Bookmark")
+ oCollection = oDoc.Bookmarks
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/script.xlb
new file mode 100644
index 000000000000..d58584f7f521
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextGraphicObject" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextGraphicObject"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/sw_SwXTextGraphicObject.xba b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/sw_SwXTextGraphicObject.xba
new file mode 100644
index 000000000000..80bc7514fa63
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObject/sw_SwXTextGraphicObject.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextGraphicObject" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.lang.XComponent
+Global oComponentInstance As Object
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextGraphicObject
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oGrphObj As Object
+ Dim aFrame As Object
+ Dim sSize As new com.sun.star.awt.Size
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oGrphObj = oDoc.createInstance("com.sun.star.text.GraphicObject")
+ aFrame = oDoc.createInstance("com.sun.star.text.TextFrame")
+ sSize.Height = 8000
+ sSize.Width = 8000
+ aFrame.Size = sSize
+
+ oDoc.Text.insertTextContent(oDoc.Text.createTextCursor, aFrame, false)
+ aFrame.Text.insertTextContent(aFrame.Text.createTextCursor, oGrphObj, false)
+
+ oGrphObj.setPropertyValue("GraphicURL", Path2URL(cTestDocsDir + "space-metal.jpg"))
+ oGrphObj.setPropertyValue("HoriOrientPosition", 5500)
+ oGrphObj.setPropertyValue("VertOrientPosition", 4200)
+ oGrphObj.setPropertyValue("Width", 4400)
+ oGrphObj.setPropertyValue("Height", 4000)
+
+ oComponentInstance = oDoc.createInstance("com.sun.star.text.GraphicObject")
+ oDoc.Text.insertTextContent(oDoc.Text.createTextCursor, oComponentInstance, false)
+
+ oObj = oGrphObj
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.GraphicObject")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/script.xlb
new file mode 100644
index 000000000000..39f788929114
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextGraphicObjects" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextGraphicObjects"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/sw_SwXTextGraphicObjects.xba b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/sw_SwXTextGraphicObjects.xba
new file mode 100644
index 000000000000..11ace85e0b12
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextGraphicObjects/sw_SwXTextGraphicObjects.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextGraphicObjects" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextGraphicObjects
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oGrphObj As Object
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oGrphObj = oDoc.createInstance("com.sun.star.text.GraphicObject")
+ oDoc.Text.insertTextContent(oDoc.Text.createTextCursor, oGrphObj, false)
+ oGrphObj.setPropertyValue("GraphicURL", Path2URL(cTestDocsDir &amp; "space-metal.jpg"))
+ oGrphObj.setPropertyValue("HoriOrientPosition", 5500)
+ oGrphObj.setPropertyValue("VertOrientPosition", 4200)
+ oGrphObj.setPropertyValue("Width", 4400)
+ oGrphObj.setPropertyValue("Height", 4000)
+
+ oObj = oDoc.getGraphicObjects()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextPortion/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextPortion/script.xlb
new file mode 100644
index 000000000000..793298c77d64
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextPortion/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextPortion" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextPortion"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextPortion/sw_SwXTextPortion.xba b/qadevOOo/tests/basic/mod/sw/SwXTextPortion/sw_SwXTextPortion.xba
new file mode 100644
index 000000000000..fc9afdc91ed7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextPortion/sw_SwXTextPortion.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextPortion" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextPortion
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim oEnum As Object
+ Dim oPortionEnum As Object
+ Dim i As Integer
+ Dim j As Integer
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ ' write some strings to document
+ for j = 1 to 3
+ for i = 1 to 3
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor, "Paragraph " &amp; j &amp; "; Line " &amp; i, false)
+ oDoc.Text.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.LINE_BREAK, false)
+ next i
+ oDoc.Text.insertControlCharacter(oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
+ next j
+
+ oEnum = oDoc.Text.createEnumeration()
+ oPortionEnum = oEnum.nextElement().createEnumeration()
+ oObj = oPortionEnum.nextElement()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/script.xlb
new file mode 100644
index 000000000000..591c408f617a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextPortionEnumeration" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextPortionEnumeration"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/sw_SwXTextPortionEnumeration.xba b/qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/sw_SwXTextPortionEnumeration.xba
new file mode 100644
index 000000000000..b13b741d6c80
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextPortionEnumeration/sw_SwXTextPortionEnumeration.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextPortionEnumeration" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextPortionEnumeration
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oText = oDoc.Text
+ oCursor = oText.createTextCursor()
+ for i = 1 to 10
+ oText.insertString(oCursor, "Paragraph: " + i, false)
+ oText.insertControlCharacter(oCursor, LINE_BREAK, false)
+ oText.insertString(oCursor, "Line of paragraph: " + i, false)
+ oText.insertControlCharacter(oCursor, PARAGRAPH_BREAK, false)
+ next i
+
+ oObj = oText.createEnumeration().nextElement().createEnumeration()
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextRange/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextRange/script.xlb
new file mode 100644
index 000000000000..923ed071a980
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextRange/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextRange" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextRange"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextRange/sw_SwXTextRange.xba b/qadevOOo/tests/basic/mod/sw/SwXTextRange/sw_SwXTextRange.xba
new file mode 100644
index 000000000000..35eda7bcd453
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextRange/sw_SwXTextRange.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextRange" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextRange
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+ oObj = oCursor.Start
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextRanges/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextRanges/script.xlb
new file mode 100644
index 000000000000..5e9403560fd0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextRanges/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextRanges" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextRanges"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextRanges/sw_SwXTextRanges.xba b/qadevOOo/tests/basic/mod/sw/SwXTextRanges/sw_SwXTextRanges.xba
new file mode 100644
index 000000000000..44b6b334240b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextRanges/sw_SwXTextRanges.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextRanges" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextRanges
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim cText As String
+ Dim oCursor As Object
+ Dim i As Integer
+ Dim oSearch As Object
+ Dim oResult As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ cText = ". Zeile : Test aus " + cObjectName
+ oCursor = oDoc.Text.createTextCursor()
+
+ nGlobalLong = 10
+
+ ' write some strings to document
+ for i = 1 to nGlobalLong
+ oCursor.gotoEnd(false)
+ oDoc.Text.insertString(oCursor, Trim(Str(i)) &amp; cText, false)
+ oDoc.Text.insertControlCharacter(oCursor, 0, false)
+ next i
+
+ oSearch = oDoc.createSearchDescriptor()
+ oSearch.searchString = cObjectName
+ oResult = oDoc.findAll(oSearch)
+
+ oObj = oResult
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextSearch/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextSearch/script.xlb
new file mode 100644
index 000000000000..894b946c4865
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextSearch/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextSearch" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextSearch"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextSearch/sw_SwXTextSearch.xba b/qadevOOo/tests/basic/mod/sw/SwXTextSearch/sw_SwXTextSearch.xba
new file mode 100644
index 000000000000..0dd2e80519b1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextSearch/sw_SwXTextSearch.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextSearch" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextSearch
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oObj = oDoc.createSearchDescriptor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextSection/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextSection/script.xlb
new file mode 100644
index 000000000000..6c89c97005a1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextSection/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextSection" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextSection"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextSection/sw_SwXTextSection.xba b/qadevOOo/tests/basic/mod/sw/SwXTextSection/sw_SwXTextSection.xba
new file mode 100644
index 000000000000..1fc5c970e042
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextSection/sw_SwXTextSection.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextSection" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextSection
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oInstance As Object, oCursor As Object, oSectionText As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextSection")
+ oInstance.Name = cObjectName + "1"
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oComponentInstance = oInstance
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextSection")
+ oInstance.Name = cObjectName + "2"
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oCursor = oDoc.Text.createTextCursorByRange(oInstance.Anchor)
+ oDoc.Text.insertString(oCursor, "TextSection 2", false)
+ oCursor.gotoPreviousWord(false)
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextSection")
+ oInstance.Name = cObjectName + "3"
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oCursor = oDoc.Text.createTextCursorByRange(oInstance.Anchor)
+ oDoc.Text.insertString(oCursor, "TextSection 3", false)
+ oCursor.gotoPreviousWord(false)
+
+ oObj = oInstance
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextSection")
+ oInstance.Name = cObjectName + "4"
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oCursor = oDoc.Text.createTextCursorByRange(oInstance.Anchor)
+ oDoc.Text.insertString(oCursor, "TextSection 4", false)
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextSection")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextSections/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextSections/script.xlb
new file mode 100644
index 000000000000..4dcd74399532
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextSections/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextSections" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextSections"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextSections/sw_SwXTextSections.xba b/qadevOOo/tests/basic/mod/sw/SwXTextSections/sw_SwXTextSections.xba
new file mode 100644
index 000000000000..f02653aba248
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextSections/sw_SwXTextSections.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextSections" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global nGlobalLong As Long
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextSections
+'*************************************************************************
+On Error Goto ErrHndl
+
+
+ Dim bOK As Boolean
+ bOK = true
+ ' --- create a document if needed
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ nGlobalLong = 4
+
+ for i = 1 to nGlobalLong
+ oInstance = oDoc.createInstance("com.sun.star.text.TextSection")
+
+ oInstance.Name = cObjectName &amp; i
+ ' insert Textsection
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ next i
+
+ oObj = oDoc.TextSections
+
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTable/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextTable/script.xlb
new file mode 100644
index 000000000000..1418e6c0577a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTable/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextTable" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextTable"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTable/sw_SwXTextTable.xba b/qadevOOo/tests/basic/mod/sw/SwXTextTable/sw_SwXTextTable.xba
new file mode 100644
index 000000000000..71310fadb216
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTable/sw_SwXTextTable.xba
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextTable" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.lang.XComponent
+ Global oComponentInstance As Object ' it will be disposed
+
+' Requiered for com.sun.star.chart.XChartData
+ Global oCellToChange As Object
+
+' Requiered for com.sun.star.container.XNamed
+ Global cNameToSet As String ' "fixed" if name is fixed
+
+' Requiered for com.sun.star.chart.XChartDataArray
+' Requiered for com.sun.star.text.XTextTable
+ Global nTableW As Integer
+ Global nTableH As Integer
+
+'Required for sheet.XCellRangeData
+Global newData As Variant
+
+Global oXTextContent as Object
+Global oXTextContentRange as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextTable
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim i As Integer
+ Dim oInstance As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ nTableH = 5
+ nTableW = 7
+
+ for i = 1 to 2
+ oInstance = oDoc.createInstance("com.sun.star.text.TextTable")
+ oInstance.initialize(nTableH, nTableW)
+ oInstance.Name = "Table" + i
+ ' insert created Table
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ if (i = 1) then oComponentInstance = oInstance
+ next i
+
+ oObj = oInstance
+ oCellToChange = oObj.getCellByPosition(3, 4)
+ cNameToSet = "NewTableName"
+
+ 'Required for XCellRangeData
+ newData() = Array(_
+ Array(2.5, 5.0, 2.5, 5.0, 3.0, 2.0, 1.0),_
+ Array(4.0, 9.0, 2.5, 5.0, 4.0, 1.0, 2.0),_
+ Array(2.5, 5.0, 2.5, 5.0, 3.0, 2.0, 1.0),_
+ Array(2.5, 5.0, 2.5, 5.0, 7.0, 7.0, 8.0),_
+ Array(4.0, 9.0, 2.5, 5.0, 4.0, 3.0, 2.0))
+
+ oXTextContent = oDoc.createInstance("com.sun.star.text.TextTable")
+ oXTextContentRange = oDoc.Text.createTextCursor()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function modifyDescriptor(descr As Variant) As Variant
+On Error Goto ErrHndl
+ Dim i As Integer, oCell As Object
+
+ for i = 0 to nTableW - 1
+ oCell = oObj.getCellByPosition(i, 0)
+ oCell.String = "" + (nTableW - i)
+ next i
+
+ for i = 0 to ubound(descr)
+ if descr(i).Name = "SortAscending" then descr(i).Value = true
+ if descr(i).Name = "SortColumns" then descr(i).Value = true
+ next i
+
+ modifyDescriptor() = descr
+Exit Function
+ErrHndl:
+ Out.Log("Exception in SwXTextTable.modifyDescriptor() :")
+ Test.Exception()
+end Function
+
+Function checkSort() As Boolean
+On Error Goto ErrHndl
+ Dim i As Integer, oCell As Object
+ Dim bOK As Boolean
+
+ bOK = true
+ for i = 0 to nTableW - 1
+ oCell = oObj.getCellByPosition(i, 0)
+ bOK = bOK AND oCell.String = "" + (i + 1)
+ next i
+
+ checkSort() = bOK
+Exit Function
+ErrHndl:
+ Out.Log("Exception in SwXTextTable.checkSort() :")
+ Test.Exception()
+end Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/script.xlb
new file mode 100644
index 000000000000..dc9e3530f926
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextTableCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextTableCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/sw_SwXTextTableCursor.xba b/qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/sw_SwXTextTableCursor.xba
new file mode 100644
index 000000000000..eaf73876b835
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTableCursor/sw_SwXTextTableCursor.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextTableCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextTableCursor
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oTable = oDoc.createInstance("com.sun.star.text.TextTable")
+ oTable.initialize(5, 5)
+ oDoc.Text.insertTextContent(oCursor, oTable, false)
+
+ oObj = oTable.createCursorByCellName("A1")
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTableRow/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextTableRow/script.xlb
new file mode 100644
index 000000000000..01011c67f255
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTableRow/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextTableRow" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextTableRow"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTableRow/sw_SwXTextTableRow.xba b/qadevOOo/tests/basic/mod/sw/SwXTextTableRow/sw_SwXTextTableRow.xba
new file mode 100644
index 000000000000..e11495a7495f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTableRow/sw_SwXTextTableRow.xba
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextTableRow" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextTableRow
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCursor As Object
+ Dim oInstance As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oCursor = oDoc.Text.createTextCursor()
+
+ oInstance = oDoc.createInstance("com.sun.star.text.TextTable")
+ oInstance.initialize(5, 5)
+ oInstance.Name = "SwXTextTableRow"
+
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oObj = oInstance.Rows.getByIndex(0)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTables/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextTables/script.xlb
new file mode 100644
index 000000000000..1b9a3b2459a4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTables/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextTables" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextTables"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextTables/sw_SwXTextTables.xba b/qadevOOo/tests/basic/mod/sw/SwXTextTables/sw_SwXTextTables.xba
new file mode 100644
index 000000000000..991fdc5b43e4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextTables/sw_SwXTextTables.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextTables" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextTables
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim nRows As Long
+ Dim nCols As Long
+ Dim oCursor As Object
+ Dim i As Integer
+ Dim oInstance As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ nRows = 5
+ nCols = 5
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ for i = 1 to 3
+ oInstance = oDoc.createInstance("com.sun.star.text.TextTable")
+
+ oInstance.initialize(nRows, nCols)
+ nRows = nRows + 1
+ nCols = nCols + 1
+
+ oDoc.Text.insertTextContent(oCursor, oInstance, false)
+ oInstance.Name = "SwXTextTables" &amp; i
+ next i
+
+ oObj = oDoc.TextTables
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextView/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextView/script.xlb
new file mode 100644
index 000000000000..0ced71e88a70
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextView/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextView" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextView"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextView/sw_SwXTextView.xba b/qadevOOo/tests/basic/mod/sw/SwXTextView/sw_SwXTextView.xba
new file mode 100644
index 000000000000..d87ff9a535e0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextView/sw_SwXTextView.xba
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextView" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for XControlAccess
+ Global oControlModel As Object
+
+' Requiered for com.sun.star.view.XSelectionSupplier
+ Global SelectableObj1 As Object
+ Global SelectableObj2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextView
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCursor = oDoc.Text.createTextCursor()
+
+ oCursor.gotoStart(false)
+
+ oObj = oDoc.CurrentController
+
+ oDoc.Text.String = "This is a string for " &amp; cObjectName
+
+ SelectableObj1 = oDoc.Text.CreateTextCursor()
+ SelectableObj1.goRight(5, true)
+
+ SelectableObj2 = oDoc.Text.CreateTextCursor()
+ SelectableObj2.goRight(8, false)
+ SelectableObj2.goRight(10, true)
+
+
+ addControl(oCursor, 2000, 4000, cObjectName)
+ oControlModel = oDoc.Drawpage.Forms(0).getByName(cObjectName)
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub addControl( oCursor as Object, nPointX as Integer, nPointY as Integer, sName as String )
+
+ Dim oDrawPage As Object
+ Dim oForm, oForms As Object
+ Dim oControl, oControlShape As Object
+ Dim aSz As Variant
+ Dim oText As Object
+
+ oDrawPage = oDoc.DrawPage
+ oControlShape = oDoc.createInstance( "com.sun.star.drawing.ControlShape" )
+ oControl = oDoc.createInstance( "com.sun.star.form.component.CommandButton" )
+ oForm = oDoc.createInstance( "com.sun.star.form.component.Form" )
+ oforms = oDrawPage.Forms
+
+ if oForms.count = 0 then
+ oForms.InsertByIndex( 0, oForm )
+ end if
+
+ aSz = oControlShape.Size
+ aSz.Width = 2900
+ aSz.Height = 1200
+ oControlShape.Size = aSz
+ oControlShape.Control = oControl
+
+ oControlShape.TextRange = oCursor.Start
+ apoint = ocontrolshape.position
+ apoint.x = nPointX
+ aPoint.y = nPointY
+ ocontrolshape.position = aPoint
+ oDrawPage.add( oControlShape )
+ if sName &lt;&gt; "" then
+ oControl.Name = sName
+ end if
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/script.xlb
new file mode 100644
index 000000000000..a4c056732da2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXTextViewCursor" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXTextViewCursor"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/sw_SwXTextViewCursor.xba b/qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/sw_SwXTextViewCursor.xba
new file mode 100644
index 000000000000..31e1ead40574
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXTextViewCursor/sw_SwXTextViewCursor.xba
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXTextViewCursor" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Requiered for com.sun.star.text.XParagraphCursor
+Global oText As Object
+
+' Requiered for com.sun.star.text.XTextCursor
+Global oCursor As Object 'One more cursor
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXTextViewCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oController As Object
+
+ oDoc = utils.loadTestDocument("XPageCursor.sdw")
+ oController = oDoc.getCurrentController()
+ oObj = oController.getViewCursor()
+ oCursor = oController.getViewCursor()
+ oText = oDoc.Text
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXViewSettings/script.xlb b/qadevOOo/tests/basic/mod/sw/SwXViewSettings/script.xlb
new file mode 100644
index 000000000000..9077adcd6e7e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXViewSettings/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_SwXViewSettings" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_SwXViewSettings"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/SwXViewSettings/sw_SwXViewSettings.xba b/qadevOOo/tests/basic/mod/sw/SwXViewSettings/sw_SwXViewSettings.xba
new file mode 100644
index 000000000000..85837b39e2e9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/SwXViewSettings/sw_SwXViewSettings.xba
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXViewSettings" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.SwXViewSettings
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oController = oDoc.getCurrentController
+ oObj = oController.getViewSettings
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLContentExporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLContentExporter/script.xlb
new file mode 100644
index 000000000000..8bd9067903eb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLContentExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLContentExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLContentExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLContentExporter/sw_XMLContentExporter.xba b/qadevOOo/tests/basic/mod/sw/XMLContentExporter/sw_XMLContentExporter.xba
new file mode 100644
index 000000000000..45d95fbb5146
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLContentExporter/sw_XMLContentExporter.xba
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLContentExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+' Required for com.sun.star.container.XNamed:
+Global cNameToSet As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLContentExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3, Tag4 As Variant
+ Dim expString As String
+ Dim oText As Object
+ Dim oCursor As Object
+
+ printXML = true
+ expString = "XMLContentExporter"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-content")
+ Tag2 = Array("office:body")
+ Tag3 = Array("office:script")
+ Tag4 = Array("text:p")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag1), _
+ Array("CharsEnclosed", Tag4, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Writer.XMLContentExporter", initArgs())
+
+ oText = oDoc.getText()
+ oCursor = oText.createTextCursor()
+ oText.insertString(oCursor, expString, false)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "swriter: StarOffice XML (text)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+ cNameToSet = "fixed"
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLContentImporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLContentImporter/script.xlb
new file mode 100644
index 000000000000..4fa50c70ecf3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLContentImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLContentImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLContentImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLContentImporter/sw_XMLContentImporter.xba b/qadevOOo/tests/basic/mod/sw/XMLContentImporter/sw_XMLContentImporter.xba
new file mode 100644
index 000000000000..fe477d7238d4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLContentImporter/sw_XMLContentImporter.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLContentImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sText As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLContentImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Writer.XMLContentImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sText = "XMLContentImporter test."
+ vXMLData = Array( _
+ Array("start", "office:document-content", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"), _
+ Array("start", "office:body"), _
+ Array("start", "text:p"), _
+ Array("chars", sText), _
+ Array("end", "text:p"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document-content"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim content As String
+ out.log("checking of import...")
+ content = oDoc.getText().getString()
+ res = (sText = content)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLExporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLExporter/script.xlb
new file mode 100644
index 000000000000..697892881dbe
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLExporter/sw_XMLExporter.xba b/qadevOOo/tests/basic/mod/sw/XMLExporter/sw_XMLExporter.xba
new file mode 100644
index 000000000000..9f0c3788f0a7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLExporter/sw_XMLExporter.xba
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 As Variant
+ Dim expString As String
+ Dim oText As Object
+ Dim oCursor As Object
+
+ printXML = true
+ expString = "XMLExporter"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("office:settings")
+ Tag4 = Array("office:script")
+ Tag5 = Array("office:styles")
+ Tag6 = Array("office:body")
+ Tag7 = Array("text:p")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag1), _
+ Array("TagEnclosed", Tag4, Tag1), _
+ Array("TagEnclosed", Tag5, Tag1), _
+ Array("TagEnclosed", Tag6, Tag1), _
+ Array("CharsEnclosed", Tag7, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Writer.XMLExporter", initArgs())
+
+ oText = oDoc.getText()
+ oCursor = oText.createTextCursor()
+ oText.insertString(oCursor, expString, false)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "swriter: StarOffice XML (text)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLImporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLImporter/script.xlb
new file mode 100644
index 000000000000..34a3f4ed435d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLImporter/sw_XMLImporter.xba b/qadevOOo/tests/basic/mod/sw/XMLImporter/sw_XMLImporter.xba
new file mode 100644
index 000000000000..04626fea34b7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLImporter/sw_XMLImporter.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sText As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Writer.XMLImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sText = "XMLImporter test."
+ vXMLData = Array( _
+ Array("start", "office:document", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "office:class", "CDATA", "text", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"), _
+ Array("start", "office:body"), _
+ Array("start", "text:p"), _
+ Array("chars", sText), _
+ Array("end", "text:p"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim content As String
+ out.log("checking of import...")
+ content = oDoc.getText().getString()
+ res = (sText = content)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLMetaExporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLMetaExporter/script.xlb
new file mode 100644
index 000000000000..f53697434793
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLMetaExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLMetaExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLMetaExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLMetaExporter/sw_XMLMetaExporter.xba b/qadevOOo/tests/basic/mod/sw/XMLMetaExporter/sw_XMLMetaExporter.xba
new file mode 100644
index 000000000000..fa9a25de78dc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLMetaExporter/sw_XMLMetaExporter.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLMetaExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLMetaExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim expString As String
+ Dim oDocInfo As Object
+
+ printXML = true
+ expString = "NewTitleOfTextDocument"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-meta")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("dc:title")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("CharsEnclosed", Tag3, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Writer.XMLMetaExporter", initArgs())
+
+ oDocInfo = oDoc.getDocumentInfo()
+ oDocInfo.setPropertyValue("Title", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "swriter: StarOffice XML (text)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLMetaImporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLMetaImporter/script.xlb
new file mode 100644
index 000000000000..2059e3faabaa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLMetaImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLMetaImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLMetaImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLMetaImporter/sw_XMLMetaImporter.xba b/qadevOOo/tests/basic/mod/sw/XMLMetaImporter/sw_XMLMetaImporter.xba
new file mode 100644
index 000000000000..784c0d809180
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLMetaImporter/sw_XMLMetaImporter.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLMetaImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sTitle As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLMetaImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Writer.XMLImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sTitle = "XMLMetaImporter test"
+ vXMLData = Array( _
+ Array("start", "office:document-meta" , _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"), _
+ Array("start", "office:meta"), _
+ Array("start", "dc:title"), _
+ Array("chars", sTitle), _
+ Array("end", "dc:title"), _
+ Array("end", "office:meta"), _
+ Array("end", "office:document-meta"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oDocInfo As Object
+ Dim title As String
+ out.log("checking of import...")
+ oDocInfo = oDoc.getDocumentInfo()
+ title = oDocInfo.getPropertyValue("Title")
+ res = (title = sTitle)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/script.xlb
new file mode 100644
index 000000000000..57e50a9dbc8b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLSettingsExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLSettingsExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/sw_XMLSettingsExporter.xba b/qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/sw_XMLSettingsExporter.xba
new file mode 100644
index 000000000000..0a014967bab1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLSettingsExporter/sw_XMLSettingsExporter.xba
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLSettingsExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLSettingsExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim zoomValue As Long
+ Dim oController As Object
+ Dim oViewSettings As Object
+
+ printXML = true
+ zoomValue = 50
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-settings")
+ Tag2 = Array("office:settings")
+ Tag3 = Array("config:config-item", "config:name", "ZoomFactor")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("CharsEnclosed", Tag3, ""+zoomValue) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Writer.XMLSettingsExporter", initArgs())
+
+ oController = oDoc.getCurrentController()
+ oViewSettings = oController.getViewSettings()
+ oViewSettings.setPropertyValue("ZoomValue", zoomValue)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "swriter: StarOffice XML (text)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/script.xlb
new file mode 100644
index 000000000000..ad0336242426
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLSettingsImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLSettingsImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/sw_XMLSettingsImporter.xba b/qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/sw_XMLSettingsImporter.xba
new file mode 100644
index 000000000000..e1400be9e074
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLSettingsImporter/sw_XMLSettingsImporter.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLSettingsImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sZoom As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLSettingsImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Writer.XMLSettingsImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sZoom = "50"
+ vXMLData = Array( _
+ Array("start", "office:document-settings", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config", _
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink"), _
+ Array("start", "office:settings"), _
+ Array("start", "config:config-item-set", _
+ "config:name", "CDATA", "view-settings"), _
+ Array("start", "config:config-item-map-indexed", _
+ "config:name", "CDATA", "Views"), _
+ Array("start", "config:config-item-map-entry"), _
+ Array("start", "config:config-item", _
+ "config:name", "CDATA", "ZoomFactor", _
+ "config:type", "CDATA", "short"), _
+ Array("chars", sZoom), _
+ Array("end", "config:config-item"), _
+ Array("start", "config:config-item", _
+ "config:name", "CDATA", "ZoomType", _
+ "config:type", "CDATA", "short"), _
+ Array("chars", "0"), _
+ Array("end", "config:config-item"), _
+ Array("end", "config:config-item-map-entry"), _
+ Array("end", "config:config-item-map-indexed"), _
+ Array("end", "config:config-item-set"), _
+ Array("end", "office:settings"), _
+ Array("end", "office:document-settings"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oController, oViewSettings As Object
+ Dim zoom As String
+ out.log("checking of import...")
+ oController = oDoc.getCurrentController()
+ oViewSettings = oController.getViewSettings()
+ zoom = oViewSettings.getPropertyValue("ZoomValue")
+ out.log("ZoomValue: " + zoom)
+ res = (zoom = sZoom)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLStylesExporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLStylesExporter/script.xlb
new file mode 100644
index 000000000000..c23fb12e8b86
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLStylesExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLStylesExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLStylesExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLStylesExporter/sw_XMLStylesExporter.xba b/qadevOOo/tests/basic/mod/sw/XMLStylesExporter/sw_XMLStylesExporter.xba
new file mode 100644
index 000000000000..fd44f50117cc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLStylesExporter/sw_XMLStylesExporter.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLStylesExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs() As Variant
+
+' Required for com.sun.star.document.XFilter:
+ Global oFilterDescriptor As Variant
+
+' Required for com.sun.star.document.XExporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLStylesExporter
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+ Dim Tag1, Tag2 As Variant
+ Dim expString As String
+ Dim oFootnoteSettings As Object
+
+ printXML = true
+ expString = "New Property"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-styles")
+ Tag2 = Array("text:footnotes-configuration", "style:num-prefix", expString)
+ filter = Array(Array("TagExists", Tag1, Tag2))
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Writer.XMLStylesExporter", initArgs())
+
+ oFootnoteSettings = oDoc.getFootnoteSettings()
+ oFootnoteSettings.setPropertyValue("Prefix", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "swriter: StarOffice XML (text)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLStylesImporter/script.xlb b/qadevOOo/tests/basic/mod/sw/XMLStylesImporter/script.xlb
new file mode 100644
index 000000000000..586bd5fcdd77
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLStylesImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sw_XMLStylesImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sw_XMLStylesImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sw/XMLStylesImporter/sw_XMLStylesImporter.xba b/qadevOOo/tests/basic/mod/sw/XMLStylesImporter/sw_XMLStylesImporter.xba
new file mode 100644
index 000000000000..050b85faea26
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sw/XMLStylesImporter/sw_XMLStylesImporter.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLStylesImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sPrefix As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sw.XMLStylesImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Writer.XMLStylesImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sPrefix = "Test prefix"
+ vXMLData = Array( _
+ Array("start", "office:document-styles", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"), _
+ Array("start", "office:styles"), _
+ Array("start", "text:footnotes-configuration", _
+ "style:num-prefix", "CDATA", sPrefix), _
+ Array("end", "text:footnotes-configuration"), _
+ Array("end", "office:styles"), _
+ Array("end", "office:document-styles"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oSettings As Object
+ Dim prefix As String
+ out.log("checking of import...")
+ oSettings = oDoc.getFootnoteSettings()
+ prefix = oSettings.getPropertyValue("Prefix")
+ res = (prefix = sPrefix)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/script.xlb b/qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/script.xlb
new file mode 100644
index 000000000000..908a2a4acf68
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="sysdtrans_SystemClipboard" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="sysdtrans_SystemClipboard"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/sysdtrans_SystemClipboard.xba b/qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/sysdtrans_SystemClipboard.xba
new file mode 100644
index 000000000000..7b708b134eb1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/sysdtrans/SystemClipboard/sysdtrans_SystemClipboard.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sysdtrans_SystemClipboard" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+'Currently the service basichelper.Transferable
+'isnt work (no XTransferable methods could be found)
+
+'*************************************************************************
+
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.datatransfer.clipboard.XClipboard
+Global oOwner As Object
+Global trans1 As Object
+Global trans2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' sysdtrans.SystemClipboard
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oObj = createUNOService("com.sun.star.datatransfer.clipboard.SystemClipboard")
+
+ oComponentInstance = createUNOService("com.sun.star.datatransfer.clipboard.SystemClipboard")
+
+ trans1 = createUNOService("basichelper.Transferable")
+ Out.Log(trans1.dbg_supportedInterfaces())
+ Out.Log(trans1.dbg_methods())
+
+ trans1.initialize(Array("XClipboard test 1"))
+ Out.Log("Supports: " + hasUnoInterfaces(trans1, "com.sun.star.datatransfer.XTransferable"))
+ Out.Log("Supports: " + hasUnoInterfaces(trans1, "com.sun.star.container.XNamed"))
+ Out.Log("Supports: " + hasUnoInterfaces(trans1, "com.sun.star.container.XContainer"))
+ Out.Log(trans1.getName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/syssh/SystemShellExecute/script.xlb b/qadevOOo/tests/basic/mod/syssh/SystemShellExecute/script.xlb
new file mode 100644
index 000000000000..ef33f66ed822
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/syssh/SystemShellExecute/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="syssh_SystemShellExecute" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="syssh_SystemShellExecute"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/syssh/SystemShellExecute/syssh_SystemShellExecute.xba b/qadevOOo/tests/basic/mod/syssh/SystemShellExecute/syssh_SystemShellExecute.xba
new file mode 100644
index 000000000000..93fbedd64679
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/syssh/SystemShellExecute/syssh_SystemShellExecute.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="syssh_SystemShellExecute" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' syssh.SystemShellExecute
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.system.SystemShellExecute")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/tcv/TypeConverter/script.xlb b/qadevOOo/tests/basic/mod/tcv/TypeConverter/script.xlb
new file mode 100644
index 000000000000..8ea47fcff46c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/tcv/TypeConverter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="tcv_TypeConverter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="tcv_TypeConverter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/tcv/TypeConverter/tcv_TypeConverter.xba b/qadevOOo/tests/basic/mod/tcv/TypeConverter/tcv_TypeConverter.xba
new file mode 100644
index 000000000000..a49811e83e21
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/tcv/TypeConverter/tcv_TypeConverter.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="tcv_TypeConverter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' tcv.TypeConverter
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.script.Converter")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/script.xlb b/qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/script.xlb
new file mode 100644
index 000000000000..6a13aa8c5148
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="tdmgr_TypeDescriptionManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="tdmgr_TypeDescriptionManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/tdmgr_TypeDescriptionManager.xba b/qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/tdmgr_TypeDescriptionManager.xba
new file mode 100644
index 000000000000..e1c8ffde05f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/tdmgr/TypeDescriptionManager/tdmgr_TypeDescriptionManager.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="tdmgr_TypeDescriptionManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for lang.XComponent
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' tdmgr.TypeDescriptionManager
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = CreateUnoService("com.sun.star.reflection.TypeDescriptionManager")
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/script.xlb b/qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/script.xlb
new file mode 100644
index 000000000000..b787bc81f815
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="text_DefaultNumberingProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="text_DefaultNumberingProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/text_DefaultNumberingProvider.xba b/qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/text_DefaultNumberingProvider.xba
new file mode 100644
index 000000000000..cc3e542dc3ba
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/text/DefaultNumberingProvider/text_DefaultNumberingProvider.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_DefaultNumberingProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' text.DefaultNumberingProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.text.DefaultNumberingProvider")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleButton/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleButton/script.xlb
new file mode 100644
index 000000000000..a6b222a89e98
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleButton/toolkit_AccessibleButton.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleButton/toolkit_AccessibleButton.xba
new file mode 100644
index 000000000000..cdf6cca0bc2d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleButton/toolkit_AccessibleButton.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+Global accText As String
+Global accButton As Object
+Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleButton
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ thRunner.initialize(Array("OpenToolkitDialog","slot:5302",oDoc))
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"OK")
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Cancel")
+ accText = oObj.getText()
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(oObj) then
+ oObj.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/script.xlb
new file mode 100644
index 000000000000..431bfc1a2fad
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleCheckBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleCheckBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/toolkit_AccessibleCheckBox.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/toolkit_AccessibleCheckBox.xba
new file mode 100644
index 000000000000..29cd48ec0f33
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleCheckBox/toolkit_AccessibleCheckBox.xba
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleCheckBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global accButton As Object
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleCheckBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oMSF As Object, oWin As Object
+ Dim thRunner As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ thRunner.initialize(Array("OpenToolkitDialog",".uno:InsertTable",oDoc))
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.CHECK_BOX)
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Cancel")
+ accText = oObj.getText()
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/script.xlb
new file mode 100644
index 000000000000..0204ce2c78ba
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleComboBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleComboBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/toolkit_AccessibleComboBox.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/toolkit_AccessibleComboBox.xba
new file mode 100644
index 000000000000..9c4f8cdd33b7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleComboBox/toolkit_AccessibleComboBox.xba
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleComboBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global accButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleComboBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim accEdit As Object, oWin As Object
+ Dim xRoot As Object, oMSF As Object
+ Dim tk As Object, thRunner As Object
+ Dim tabControl As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oMSF = getProcessServiceManager()
+ thRunner = oMSF.createInstance("basichelper.ThreadRunner")
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ thRunner.initialize(Array("OpenToolkitDialog",".uno:FontDialog",oDoc))
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ 'utils.at_printAccessibleTree(xRoot)
+ tabControl = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PAGE_TAB_LIST)
+ tabControl.selectAccessibleChild(0)
+ wait(500)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL,"","AccessibleComboBox")
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Cancel")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/script.xlb
new file mode 100644
index 000000000000..bd6ae8ee8aa3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleDropDownComboBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleDropDownComboBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/toolkit_AccessibleDropDownComboBox.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/toolkit_AccessibleDropDownComboBox.xba
new file mode 100644
index 000000000000..123cc23d9224
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownComboBox/toolkit_AccessibleDropDownComboBox.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleDropDownComboBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleDropDownComboBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.COMBO_BOX,"","AccessibleDropDownComboBox")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.doAccessibleAction(0)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/script.xlb
new file mode 100644
index 000000000000..561d9b7bb7e0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleDropDownListBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleDropDownListBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/toolkit_AccessibleDropDownListBox.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/toolkit_AccessibleDropDownListBox.xba
new file mode 100644
index 000000000000..997d57d51aac
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleDropDownListBox/toolkit_AccessibleDropDownListBox.xba
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleDropDownListBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleDropDownListBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ wait(1000)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.COMBO_BOX,"","AccessibleDropDownListBox")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.doAccessibleAction(0)
+ wait(500)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/script.xlb
new file mode 100644
index 000000000000..ee0304901c65
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleEdit" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleEdit"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/toolkit_AccessibleEdit.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/toolkit_AccessibleEdit.xba
new file mode 100644
index 000000000000..6755e723b91a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleEdit/toolkit_AccessibleEdit.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleEdit" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global accButton As Object
+Global readOnly as Boolean
+Global hasChangeableAttrs As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleEdit
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps()
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:HyperlinkDialog"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = tk.getActiveTopWindow
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TEXT)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+
+ ' because of auto adding http:// in edit field when focus lost
+ oObj.setText("AccessibleEdit")
+ wait(500)
+ accButton.grabFocus()
+ wait(500)
+ oObj.grabFocus()
+ accText = oObj.getText()
+
+ hasChangeableAttrs = false
+ readOnly = false
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open Hyperlink dialog...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/script.xlb
new file mode 100644
index 000000000000..d996e6c999d9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleFixedText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleFixedText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/toolkit_AccessibleFixedText.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/toolkit_AccessibleFixedText.xba
new file mode 100644
index 000000000000..045837681cdb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleFixedText/toolkit_AccessibleFixedText.xba
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleFixedText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global accButton As Object
+Global readOnly as Boolean
+
+Global oText as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleFixedText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps()
+
+' oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim xText as object
+ oText = createUnoService("com.sun.star.awt.UnoControlFixedText")
+ xText = createUnoService("com.sun.star.awt.UnoControlFixedTextModel")
+ oText.setModel(xText)
+ oText.setText("FixedText")
+
+ Dim oDialog as object
+ Dim xDialog as Object
+ oDialog = createUnoService("com.sun.star.awt.UnoControlDialog")
+ xDialog = createUnoService("com.sun.star.awt.UnoControlDialogModel")
+ oDialog.setModel(xDialog)
+ oDialog.addControl("Text", oText)
+ oDialog.setVisible(true)
+ oDialog.setPosSize(0, 0, 200, 100, com.sun.star.awt.PosSize.SIZE)
+
+
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ oWin = tk.getActiveTopWindow
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.LABEL)
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accText = oObj.getText()
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ oText.setEnable(false)
+ oText.setEnable(true)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleList/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleList/script.xlb
new file mode 100644
index 000000000000..090d45a86e1a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleList/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleList" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="toolkit_AccessibleList"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleList/toolkit_AccessibleList.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleList/toolkit_AccessibleList.xba
new file mode 100644
index 000000000000..6cce6f2cb361
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleList/toolkit_AccessibleList.xba
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleList" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' "com::sun::star::accessibility::XAccessibleEventBroadcaster#optional"
+ ' needs the following Global variables:
+
+' "com::sun::star::accessibility::XAccessibleSelection"
+ ' needs the following Global variables:
+Global multiSelection As Boolean
+
+Global accButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' com.sun.star.toolkit.AccessibleList
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps()
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:HyperlinkDialog"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ multiSelection = false
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = tk.getActiveTopWindow
+ xRoot = utils.at_getAccessibleObject(oWin)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
+
+ 'Selecting 'New Document' tab
+ Dim oTree as Object
+ oTree = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TREE)
+
+ oTree.selectAccessibleChild(3)
+ wait(500)
+
+ Out.log("# Getting the ListBox")
+ Dim oParent as Object
+ oParent = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.PANEL,"",_
+ "com.sun.star.comp.toolkit.AccessibleListBox")
+
+ Out.log("# Getting the first child")
+
+ oObj = oParent.getAccessibleChild(0)
+
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open Hyperlink dialog...")
+ End If
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.grabFocus()
+end Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/script.xlb
new file mode 100644
index 000000000000..1d1b4d88e164
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleListBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleListBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/toolkit_AccessibleListBox.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/toolkit_AccessibleListBox.xba
new file mode 100644
index 000000000000..8b1ebd72bfd4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleListBox/toolkit_AccessibleListBox.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleListBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleListBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps(), xAccSel As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:HyperlinkDialog"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = tk.getActiveTopWindow
+ xRoot = utils.at_getAccessibleObject(oWin)
+ xAccSel = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TREE)
+ xAccSel.selectAccessibleChild(3)
+ wait(3000)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.LIST,"File type","com.sun.star.comp.toolkit.AccessibleListBox")
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open Hyperlink dialog...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(2000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/script.xlb
new file mode 100644
index 000000000000..aa75b46d13b7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleListItem" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleListItem"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/toolkit_AccessibleListItem.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/toolkit_AccessibleListItem.xba
new file mode 100644
index 000000000000..dd23f1c85529
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleListItem/toolkit_AccessibleListItem.xba
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleListItem" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global accButton As Object
+Global accList As Object
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleListItem
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps()
+ Dim xAccSel As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:HyperlinkDialog"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = tk.getActiveTopWindow
+ xRoot = utils.at_getAccessibleObject(oWin)
+ xAccSel = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TREE)
+ xAccSel.selectAccessibleChild(3)
+ wait(2000)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.LIST_ITEM)
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accText = oObj.getText()
+ readOnly = true
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open Hyperlink dialog...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ 'accList.selectAccessibleChild(1)
+ 'wait(500)
+ 'accList.selectAccessibleChild(0)
+ 'wait(500)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/script.xlb
new file mode 100644
index 000000000000..cd5e59dd69db
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleMenu" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleMenu"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/toolkit_AccessibleMenu.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/toolkit_AccessibleMenu.xba
new file mode 100644
index 000000000000..928878d5338c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenu/toolkit_AccessibleMenu.xba
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleMenu" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global menu As Object
+Global multiSelection As Boolean
+Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleMenu
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.MENU,"Edit")
+ menu = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.MENU,"File")
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+
+ multiSelection = false
+ accText = oObj.getText()
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ menu.doAccessibleAction(0)
+ wait(500)
+ oObj.doAccessibleAction(0)
+ wait(500)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/script.xlb
new file mode 100644
index 000000000000..9c40aa2566f8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleMenuBar" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleMenuBar"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/toolkit_AccessibleMenuBar.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/toolkit_AccessibleMenuBar.xba
new file mode 100644
index 000000000000..2a01f35872dd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuBar/toolkit_AccessibleMenuBar.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleMenuBar" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleMenuBar
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.MENU_BAR)
+ multiSelection = false
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/script.xlb
new file mode 100644
index 000000000000..ccb73385ce33
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleMenuItem" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleMenuItem"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/toolkit_AccessibleMenuItem.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/toolkit_AccessibleMenuItem.xba
new file mode 100644
index 000000000000..f7d8a2592999
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuItem/toolkit_AccessibleMenuItem.xba
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleMenuItem" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleMenuItem
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim tk As Object
+ Dim oMenu as Object
+ Dim oMenuCont as Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oMenu = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.MENU)
+ oMenuCont = oMenu.getAccessibleContext()
+ oMenuCont.doAccessibleAction(0)
+ oObj = oMenu.getAccessibleChild(1)
+
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+ accText = oObj.getText()
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/script.xlb
new file mode 100644
index 000000000000..b9a1d9b3fbe9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleMenuSeparator" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleMenuSeparator"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/toolkit_AccessibleMenuSeparator.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/toolkit_AccessibleMenuSeparator.xba
new file mode 100644
index 000000000000..3686b15884c5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleMenuSeparator/toolkit_AccessibleMenuSeparator.xba
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleMenuSeparator" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleMenuSeparator
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim tk As Object
+ Dim oMenu as Object
+ Dim oMenuCont as Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oMenu = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.MENU)
+ oMenuCont = oMenu.getAccessibleContext()
+ oMenuCont.doAccessibleAction(0)
+ oObj = oMenu.getAccessibleChild(4)
+
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/script.xlb
new file mode 100644
index 000000000000..14c997ba6b9e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleRadioButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleRadioButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/toolkit_AccessibleRadioButton.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/toolkit_AccessibleRadioButton.xba
new file mode 100644
index 000000000000..255807510f08
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleRadioButton/toolkit_AccessibleRadioButton.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleRadioButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global accButton As Object
+Global readOnly as Boolean
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleRadioButton
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps(), ichControl As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:HyperlinkDialog"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ ichControl = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TREE,"IconChoiceControl")
+ ichControl.selectAccessibleChild(0)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.RADIO_BUTTON,"Web")
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accText = oObj.getText()
+ readOnly = true
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open Hyperlink dialog...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.grabFocus()
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/script.xlb
new file mode 100644
index 000000000000..92c76fe2720f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleScrollBar" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleScrollBar"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/toolkit_AccessibleScrollBar.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/toolkit_AccessibleScrollBar.xba
new file mode 100644
index 000000000000..6e0b7a5fac8f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleScrollBar/toolkit_AccessibleScrollBar.xba
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleScrollBar" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleScrollBar
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.SCROLL_BAR)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.MENU,"Help")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ accButton.doAccessibleAction(0)
+ wait(500)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/script.xlb
new file mode 100644
index 000000000000..e1da2c9db3e6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleStatusBar" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="toolkit_AccessibleStatusBar"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/toolkit_AccessibleStatusBar.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/toolkit_AccessibleStatusBar.xba
new file mode 100644
index 000000000000..26e026754d66
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBar/toolkit_AccessibleStatusBar.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleStatusBar" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oWin As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' com.sun.star.toolkit.AccessibleStatusBar
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ Dim xRoot As Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.STATUS_BAR)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim newPosSize as Variant
+ newPosSize = oWin.getPosSize()
+ newPosSize.Width = newPosSize.Width - 20
+ newPosSize.Height = newPosSize.Height - 20
+ newPosSize.X = newPosSize.X + 20
+ newPosSize.Y = newPosSize.Y + 20
+ oWin.setPosSize(newPosSize.X, newPosSize.Y, newPosSize.Width, _
+ newPosSize.Height, com.sun.star.awt.PosSize.POSSIZE)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/script.xlb
new file mode 100644
index 000000000000..fbdbad2f7d8d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleStatusBarItem" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="toolkit_AccessibleStatusBarItem"/>
+ </library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/toolkit_AccessibleStatusBarItem.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/toolkit_AccessibleStatusBarItem.xba
new file mode 100644
index 000000000000..82c866c4c0bc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleStatusBarItem/toolkit_AccessibleStatusBarItem.xba
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleStatusBarItem" script:language="StarBasic">
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' "com::sun::star::accessibility::XAccessibleText"
+ ' needs the following Global variables:
+ Global accText as String
+ Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' com.sun.star.toolkit.AccessibleStatusBarItem
+'*************************************************************************
+On Error Goto ErrHndl
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ Dim xController As Object
+ xController = oDoc.getCurrentController()
+
+ Dim xRoot As Object
+ Dim oWin as Object
+ oWin = utils.at_getCurrentWindow(oDoc)
+ xRoot = utils.at_getAccessibleObject(oWin)
+ Dim oStatusBar as Object
+ oStatusBar = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.STATUS_BAR)
+ oObj = oStatusBar.getAccessibleChild(0)
+
+ readOnly = true
+ accText = oObj.getText()
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub fireEvent()
+ Dim oText as Object
+ oText = oDoc.getText()
+
+ Dim oEnum as Object
+ Dim oParagraph as Object
+ oEnum = oText.createEnumeration() ' get all paragraphs
+ while oEnum.hasMoreElements()
+ oParagraph = oEnum.nextElement() ' get the last paragraph
+ wend
+ oParagraph.BreakType = com.sun.star.style.BreakType.PAGE_AFTER
+
+ Dim oCursor as Object
+ oCursor = oText.createTextCursor()
+ oCursor.gotoEnd(false) 'Goto to the end of document
+ oText.insertControlCharacter(oCursor, 0, false) ' insert a new paragraph
+ oCursor.setString("AccessibleStatusBarItem") ' insert text
+end Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/script.xlb
new file mode 100644
index 000000000000..3e7b1abec77a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleTabControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleTabControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/toolkit_AccessibleTabControl.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/toolkit_AccessibleTabControl.xba
new file mode 100644
index 000000000000..e629d6599886
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabControl/toolkit_AccessibleTabControl.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleTabControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accButton As Object
+Global multiSelection As Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleTabControl
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps()
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:InsertField"
+ urlTransformer.parseStrict(url)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PAGE_TAB_LIST)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ multiSelection = false
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open InsertField dialog...")
+ End If
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.selectAccessibleChild(1)
+ wait(500)
+ oObj.selectAccessibleChild(0)
+ wait(500)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/script.xlb
new file mode 100644
index 000000000000..680de388231d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleTabPage" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleTabPage"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/toolkit_AccessibleTabPage.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/toolkit_AccessibleTabPage.xba
new file mode 100644
index 000000000000..5b1d43d057f9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleTabPage/toolkit_AccessibleTabPage.xba
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleTabPage" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accButton As Object
+ Global accText as String
+ Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleTabPage
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim xController As Object, oWin As Object
+ Dim xDispatcher As Object, xRoot As Object
+ Dim tk As Object, urlTransformer As Object
+ Dim url As New com.sun.star.util.URL
+ Dim noProps()
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(500)
+
+ xController = oDoc.getCurrentController()
+ urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
+ url.Complete = ".uno:InsertField"
+ urlTransformer.parseStrict(url)
+ wait(500)
+ xDispatcher = xController.queryDispatch(url,"",0)
+
+ if (NOT isNull(xDispatcher)) then
+ xDispatcher.dispatch(url, noProps())
+ wait(500)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PAGE_TAB)
+ Out.Log("Implementation name: "+oObj.getImplementationName())
+ accText = oObj.getText()
+ readOnly = true
+
+ else
+ Out.Log("QueryDispatch FAILED. Cannot open InsertField dialog...")
+ End If
+
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ if NOT isNull(accButton) then
+ accButton.doAccessibleAction(0)
+ wait(1000)
+ End If
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ wait(500)
+ accButton.grabFocus()
+ wait(500)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/script.xlb
new file mode 100644
index 000000000000..1961c1b191fa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleToolBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleToolBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/toolkit_AccessibleToolBox.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/toolkit_AccessibleToolBox.xba
new file mode 100644
index 000000000000..d5d9fcccb371
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBox/toolkit_AccessibleToolBox.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleToolBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accButton As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleToolBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.TOOL_BAR)
+ accButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.MENU,"Help")
+ Out.Log("Implementation Name: "+oObj.getImplementationName())
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ wait(500)
+ accButton.doAccessibleAction(0)
+ wait(500)
+End Sub
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/script.xlb b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/script.xlb
new file mode 100644
index 000000000000..cea24c1a4c50
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_AccessibleToolBoxItem" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_AccessibleToolBoxItem"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/toolkit_AccessibleToolBoxItem.xba b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/toolkit_AccessibleToolBoxItem.xba
new file mode 100644
index 000000000000..d3306b53de08
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/AccessibleToolBoxItem/toolkit_AccessibleToolBoxItem.xba
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleToolBoxItem" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global accText As String
+Global readOnly as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.AccessibleToolBoxItem
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object, xRoot As Object
+ Dim tk As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ tk = createUNOService("com.sun.star.awt.Toolkit")
+ wait(1000)
+ oWin = tk.getActiveTopWindow()
+ xRoot = utils.at_getAccessibleObject(oWin)
+ oObj = utils.at_getAccessibleObjectForRole(xRoot, _
+ com.sun.star.accessibility.AccessibleRole.TOGGLE_BUTTON,"Bold")
+ accText = oObj.getText()
+ readOnly = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ utils.closeObject(oDoc)
+End Sub
+
+Sub fireEvent()
+ oObj.grabFocus()
+ oObj.doAccessibleAction(0)
+ wait(500)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/TabController/script.xlb b/qadevOOo/tests/basic/mod/toolkit/TabController/script.xlb
new file mode 100644
index 000000000000..cc590c6b462d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/TabController/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_TabController" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_TabController"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/TabController/toolkit_TabController.xba b/qadevOOo/tests/basic/mod/toolkit/TabController/toolkit_TabController.xba
new file mode 100644
index 000000000000..986b40cd1ed6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/TabController/toolkit_TabController.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_TabController" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oXTabControllerModel As Object
+Global oXTabControllerContainer As Object
+Global bHasNoModel as Boolean
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.TabController
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oModel, oDrawPage, oShape As Object
+ Dim oController, oCtrll As Object
+
+ oObj = createUnoService("com.sun.star.awt.TabController")
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.createUNOControlShape("CommandButton", "UnoControlButton")
+ toolkittools.addShape(oShape)
+ oDrawPage = oDoc.getDrawPage()
+
+ oModel = oShape.getControl()
+ oController = oDoc.getCurrentController()
+ oCtrll = oController.getControl(oModel)
+ oXTabControllerContainer = oCtrll.getContext()
+ oXTabControllerModel = oDrawPage.getForms().getByIndex(0)
+ bHasNoModel = False
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/TabControllerModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/TabControllerModel/script.xlb
new file mode 100644
index 000000000000..529bde7dbe55
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/TabControllerModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_TabControllerModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_TabControllerModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/TabControllerModel/toolkit_TabControllerModel.xba b/qadevOOo/tests/basic/mod/toolkit/TabControllerModel/toolkit_TabControllerModel.xba
new file mode 100644
index 000000000000..4f4e503fa9d2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/TabControllerModel/toolkit_TabControllerModel.xba
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_TabControllerModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global XTabControlModel1 As Object
+Global XTabControlModel2 As Object
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.TabControllerModel
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1, oShape2, oShape3 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape1 = ToolkitTools.createControlShape("CommandButton")
+ oShape2 = ToolkitTools.createControlShape("TextField")
+ oShape3 = ToolkitTools.createControlShape("TextField")
+
+ toolkittools.addShape(oShape1)
+ toolkittools.addShape(oShape2)
+ toolkittools.addShape(oShape3)
+
+ XTabControlModel1 = oShape1.getControl()
+ XTabControlModel2 = oShape2.getControl()
+ oPersistInstance = oShape3.getControl()
+
+ oObj = createUnoService("com.sun.star.awt.TabControllerModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/Toolkit/script.xlb b/qadevOOo/tests/basic/mod/toolkit/Toolkit/script.xlb
new file mode 100644
index 000000000000..4cd335890e3a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/Toolkit/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_Toolkit" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_Toolkit"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/Toolkit/toolkit_Toolkit.xba b/qadevOOo/tests/basic/mod/toolkit/Toolkit/toolkit_Toolkit.xba
new file mode 100644
index 000000000000..c7a5c1ec9529
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/Toolkit/toolkit_Toolkit.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_Toolkit" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.Toolkit
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oCtrl As Object
+ Dim oFrame As Object
+ Dim oWnd As Object
+ Dim oToolkit As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oCtrl = oDoc.getCurrentController()
+ oFrame = oCtrl.getFrame()
+ oWnd = oFrame.getComponentWindow()
+ oToolkit = oWnd.getToolkit()
+
+ oObj = oToolkit
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlButton/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlButton/script.xlb
new file mode 100644
index 000000000000..0711c53b0208
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlButton/toolkit_UnoControlButton.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlButton/toolkit_UnoControlButton.xba
new file mode 100644
index 000000000000..09a50acf78a0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlButton/toolkit_UnoControlButton.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.awt.XView:
+ Global oGraphics As Object
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.awt.XControl:
+ Global oContext As Object
+ Global oWinpeer As Object
+ Global oToolkit As Object
+ Global oModel As Object
+
+' Required for com.sun.star.awt.XWindow:
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlButton
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = ToolkitTools.createUnoControlShape("CommandButton", "UnoControlButton")
+ oShape2 = ToolkitTools.createUnoControlShape("CommandButton", "UnoControlButton")
+ oShape3 = ToolkitTools.createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200, 200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/script.xlb
new file mode 100644
index 000000000000..d210fe68754f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlButtonModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlButtonModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/toolkit_UnoControlButtonModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/toolkit_UnoControlButtonModel.xba
new file mode 100644
index 000000000000..3af179132798
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlButtonModel/toolkit_UnoControlButtonModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlButtonModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlButtonModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlButtonModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlButtonModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/script.xlb
new file mode 100644
index 000000000000..986d920ef299
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlCheckBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlCheckBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/toolkit_UnoControlCheckBox.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/toolkit_UnoControlCheckBox.xba
new file mode 100644
index 000000000000..3fc1a61aadf5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBox/toolkit_UnoControlCheckBox.xba
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlCheckBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+Global oXWindow as Object
+ Global oCtrlShape as Object
+
+Global bIL_itemStateChanged As Boolean
+Global oEventItemListener As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlCheckBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape1, oShape2, oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin, oKit, oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("CheckBox", "UnoControlCheckBox")
+ oShape2 = createUnoControlShape("CheckBox", "UnoControlCheckBox")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+
+ bIL_itemStateChanged = False
+ out.log("create listener for item events")
+ Dim oIListener As Object
+ oIListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
+ oObj.addItemListener(oIListener)
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+
+Sub IL_itemStateChanged(rEvent As Object)
+ bIL_itemStateChanged = True
+ Out.Log("CallBack for ItemListener itemStateChanged was called.")
+ oEventItemListener = rEvent
+End Sub
+
+Sub IL_disposing(sEvent As Object)
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/script.xlb
new file mode 100644
index 000000000000..5ebe3bf41882
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlCheckBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlCheckBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/toolkit_UnoControlCheckBoxModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/toolkit_UnoControlCheckBoxModel.xba
new file mode 100644
index 000000000000..749f3c6513f6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCheckBoxModel/toolkit_UnoControlCheckBoxModel.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlCheckBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlCheckBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlCheckBoxModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlCheckBoxModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/script.xlb
new file mode 100644
index 000000000000..427663e3d8a8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlComboBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlComboBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/toolkit_UnoControlComboBox.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/toolkit_UnoControlComboBox.xba
new file mode 100644
index 000000000000..0edac329fae2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBox/toolkit_UnoControlComboBox.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlComboBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+
+Global oXWindow as Object
+Global oCtrlShape as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlComboBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("ComboBox", "UnoControlComboBox")
+ oShape2 = createUnoControlShape("ComboBox", "UnoControlComboBox")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/script.xlb
new file mode 100644
index 000000000000..2008e44613c6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlComboBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlComboBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/toolkit_UnoControlComboBoxModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/toolkit_UnoControlComboBoxModel.xba
new file mode 100644
index 000000000000..00b7e4ee7cd9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlComboBoxModel/toolkit_UnoControlComboBoxModel.xba
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlComboBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlComboBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlComboBoxModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlComboBoxModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/script.xlb
new file mode 100644
index 000000000000..119527ba4551
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlContainer" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlContainer"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/toolkit_UnoControlContainer.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/toolkit_UnoControlContainer.xba
new file mode 100644
index 000000000000..332ba4bedf03
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainer/toolkit_UnoControlContainer.xba
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlContainer" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+
+Global oXWindow as Object
+Global oCtrlShape as Object
+
+Global oXControl1 as Object
+Global oXControl2 as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlContainer
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oCurrCtrl2 As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createControlShape("CommandButton")
+ oShape2 = createUnoControlShape("CommandButton", "UnoControlButton")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oObj = createUnoService("com.sun.star.awt.UnoControlContainer")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlContainer")
+
+ oCurrCtrl = oDoc.getCurrentController()
+ oXControl1 = oCurrCtrl.getControl(oShape1.getControl())
+ oXControl2 = oCurrCtrl.getControl(oShape2.getControl())
+
+ oModel = oShape1.getControl()
+ oObj.setModel(oModel)
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/script.xlb
new file mode 100644
index 000000000000..438ed8669057
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlContainerModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlContainerModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/toolkit_UnoControlContainerModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/toolkit_UnoControlContainerModel.xba
new file mode 100644
index 000000000000..b868a147c0a6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlContainerModel/toolkit_UnoControlContainerModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlContainerModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlContainerModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlContainerModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlContainerModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/script.xlb
new file mode 100644
index 000000000000..c54c2fa36c54
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlCurrencyField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlCurrencyField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/toolkit_UnoControlCurrencyField.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/toolkit_UnoControlCurrencyField.xba
new file mode 100644
index 000000000000..234d300050ea
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyField/toolkit_UnoControlCurrencyField.xba
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlCurrencyField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlCurrencyField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("CurrencyField", "UnoControlCurrencyField")
+ oShape2 = createUnoControlShape("CurrencyField", "UnoControlCurrencyField")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200, 200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/script.xlb
new file mode 100644
index 000000000000..8448f3cd59e8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlCurrencyFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlCurrencyFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/toolkit_UnoControlCurrencyFieldModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/toolkit_UnoControlCurrencyFieldModel.xba
new file mode 100644
index 000000000000..68afb6cc714d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlCurrencyFieldModel/toolkit_UnoControlCurrencyFieldModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlCurrencyFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlCurrencyFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlCurrencyFieldModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlCurrencyFieldModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/script.xlb
new file mode 100644
index 000000000000..46178921b46d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlDateField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlDateField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/toolkit_UnoControlDateField.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/toolkit_UnoControlDateField.xba
new file mode 100644
index 000000000000..308a949f7a68
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateField/toolkit_UnoControlDateField.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlDateField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlDateField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("DateField", "UnoControlDateField")
+ oShape2 = createUnoControlShape("DateField", "UnoControlDateField")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/script.xlb
new file mode 100644
index 000000000000..6f5adb3fc56e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlDateFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlDateFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/toolkit_UnoControlDateFieldModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/toolkit_UnoControlDateFieldModel.xba
new file mode 100644
index 000000000000..b6f8ec986368
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDateFieldModel/toolkit_UnoControlDateFieldModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlDateFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlDateFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlDateFieldModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlDateFieldModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/script.xlb
new file mode 100644
index 000000000000..b8391fefcd5f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlDialog" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlDialog"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/toolkit_UnoControlDialog.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/toolkit_UnoControlDialog.xba
new file mode 100644
index 000000000000..355a359c9e04
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialog/toolkit_UnoControlDialog.xba
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlDialog" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+Global oXControl1 as Object
+Global oXControl2 as Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlDialog
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+ Dim oDlgModel As Object
+ Dim oButModel As Object
+ Dim oDlgControl As Object
+ Dim oComponentInstance As Object
+ Dim oComponentModel As Object
+ Dim oXWindowModel As Object
+
+ oDlgModel = createUnoService("com.sun.star.awt.UnoControlDialogModel")
+ oDlgControl = createUnoService("com.sun.star.awt.UnoControlDialog")
+ oDlgControl.setModel(oDlgModel)
+
+ oComponentModel = createUnoService("com.sun.star.awt.UnoControlDialogModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlDialog")
+ oComponentInstance.setModel(oComponentModel)
+
+ oXWindowModel = createUnoService("com.sun.star.awt.UnoControlDialogModel")
+ oXWindow = createUnoService("com.sun.star.awt.UnoControlDialog")
+ oXWindow.setModel(oXWindowModel)
+
+ oButModel = createUnoService("com.sun.star.awt.UnoControlButtonModel")
+ oXControl1 = createUnoService("com.sun.star.awt.UnoControlButton")
+ oXControl1.setModel(oButModel)
+ oButModel = createUnoService("com.sun.star.awt.UnoControlButtonModel")
+ oXControl2 = createUnoService("com.sun.star.awt.UnoControlButton")
+ oXControl2.setModel(oButModel)
+
+ oDlgControl.setVisible(true)
+ oDlgControl.setPosSize(0, 0, 200, 100, com.sun.star.awt.PosSize.SIZE)
+ oContext = oDlgModel
+ oModel = oDlgModel
+ oWinpeer = oDlgControl.getPeer()
+ oToolkit = oWinpeer.getToolkit()
+ oDevice = oToolKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oDlgControl
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ oXWindow.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/script.xlb
new file mode 100644
index 000000000000..f69b248965ff
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlDialogModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlDialogModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/toolkit_UnoControlDialogModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/toolkit_UnoControlDialogModel.xba
new file mode 100644
index 000000000000..ce69c0d9f05f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlDialogModel/toolkit_UnoControlDialogModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlDialogModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlDialogModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlDialogModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlDialogModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/script.xlb
new file mode 100644
index 000000000000..128160b10445
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlEdit" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlEdit"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/toolkit_UnoControlEdit.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/toolkit_UnoControlEdit.xba
new file mode 100644
index 000000000000..3c618b535f46
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlEdit/toolkit_UnoControlEdit.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlEdit" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlEdit
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("TextField", "UnoControlEdit")
+ oShape2 = createUnoControlShape("TextField", "UnoControlEdit")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/script.xlb
new file mode 100644
index 000000000000..326335148b23
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlEditModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlEditModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/toolkit_UnoControlEditModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/toolkit_UnoControlEditModel.xba
new file mode 100644
index 000000000000..b0845c0bff7b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlEditModel/toolkit_UnoControlEditModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlEditModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlEditModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlEditModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlEditModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/script.xlb
new file mode 100644
index 000000000000..ae32f6ea9950
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlFileControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlFileControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/toolkit_UnoControlFileControl.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/toolkit_UnoControlFileControl.xba
new file mode 100644
index 000000000000..0b79bc6f512d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControl/toolkit_UnoControlFileControl.xba
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlFileControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlFileControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("FileControl", "UnoControlFileControl")
+ oShape2 = createUnoControlShape("FileControl", "UnoControlFileControl")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/script.xlb
new file mode 100644
index 000000000000..56de55222b68
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlFileControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlFileControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/toolkit_UnoControlFileControlModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/toolkit_UnoControlFileControlModel.xba
new file mode 100644
index 000000000000..e1c380e17ac2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFileControlModel/toolkit_UnoControlFileControlModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlFileControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlFileControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlFileControlModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlFileControlModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/script.xlb
new file mode 100644
index 000000000000..dd2e8444701a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlFixedLineModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlFixedLineModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/toolkit_UnoControlFixedLineModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/toolkit_UnoControlFixedLineModel.xba
new file mode 100644
index 000000000000..7381254bf6f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedLineModel/toolkit_UnoControlFixedLineModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlFixedLineModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlFixedLineModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlFixedLineModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlFixedLineModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/script.xlb
new file mode 100644
index 000000000000..29c3cec5fc5a
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlFixedText" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlFixedText"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/toolkit_UnoControlFixedText.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/toolkit_UnoControlFixedText.xba
new file mode 100644
index 000000000000..fb38ddf4ac05
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedText/toolkit_UnoControlFixedText.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlFixedText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlFixedText
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("FixedText", "UnoControlFixedText")
+ oShape2 = createUnoControlShape("FixedText", "UnoControlFixedText")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/script.xlb
new file mode 100644
index 000000000000..f1ce26a05892
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlFixedTextModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlFixedTextModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/toolkit_UnoControlFixedTextModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/toolkit_UnoControlFixedTextModel.xba
new file mode 100644
index 000000000000..b53f02dc7328
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFixedTextModel/toolkit_UnoControlFixedTextModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlFixedTextModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlFixedTextModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlFixedTextModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlFixedTextModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/script.xlb
new file mode 100644
index 000000000000..726226fcf6ea
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlFormattedField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlFormattedField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/toolkit_UnoControlFormattedField.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/toolkit_UnoControlFormattedField.xba
new file mode 100644
index 000000000000..72ca1af457bb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedField/toolkit_UnoControlFormattedField.xba
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlFormattedField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics as Object
+Global oContext as Object
+Global oWinpeer as Object
+Global oToolkit as Object
+Global oModel as Object
+ Global oXWindow as Object
+ Global oCtrlShape as Object
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlFormattedField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("DatabaseFormattedField", "UnoControlFormattedField")
+ oShape2 = createUnoControlShape("DatabaseFormattedField", "UnoControlFormattedField")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/script.xlb
new file mode 100644
index 000000000000..73bb0e286271
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlFormattedFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlFormattedFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/toolkit_UnoControlFormattedFieldModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/toolkit_UnoControlFormattedFieldModel.xba
new file mode 100644
index 000000000000..62896a07eb7d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlFormattedFieldModel/toolkit_UnoControlFormattedFieldModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlFormattedFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlFormattedFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlFormattedFieldModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlFormattedFieldModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/script.xlb
new file mode 100644
index 000000000000..0454145693ee
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlGroupBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlGroupBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/toolkit_UnoControlGroupBox.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/toolkit_UnoControlGroupBox.xba
new file mode 100644
index 000000000000..421861498abb
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBox/toolkit_UnoControlGroupBox.xba
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlGroupBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+Global oModel As Object
+ Global oXWindow As Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlGroupBox
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ bOK = true
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("GroupBox", "UnoControlGroupBox")
+ oShape2 = createUnoControlShape("GroupBox", "UnoControlGroupBox")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/script.xlb
new file mode 100644
index 000000000000..73bb067d5088
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlGroupBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlGroupBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/toolkit_UnoControlGroupBoxModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/toolkit_UnoControlGroupBoxModel.xba
new file mode 100644
index 000000000000..a3c92925e56d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlGroupBoxModel/toolkit_UnoControlGroupBoxModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlGroupBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlGroupBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlGroupBoxModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlGroupBoxModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/script.xlb
new file mode 100644
index 000000000000..63245cf93214
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlImageControl" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlImageControl"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/toolkit_UnoControlImageControl.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/toolkit_UnoControlImageControl.xba
new file mode 100644
index 000000000000..2e1bab326619
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControl/toolkit_UnoControlImageControl.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlImageControl" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+Global oModel As Object
+ Global oXWindow As Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlImageControl
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("DatabaseImageControl", "UnoControlImageControl")
+ oShape2 = createUnoControlShape("DatabaseImageControl", "UnoControlImageControl")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/script.xlb
new file mode 100644
index 000000000000..223db88b87f9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlImageControlModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlImageControlModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/toolkit_UnoControlImageControlModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/toolkit_UnoControlImageControlModel.xba
new file mode 100644
index 000000000000..a4dd93c1dc37
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlImageControlModel/toolkit_UnoControlImageControlModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlImageControlModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlImageControlModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlImageControlModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlImageControlModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/script.xlb
new file mode 100644
index 000000000000..c448b854cf6d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlListBox" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlListBox"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/toolkit_UnoControlListBox.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/toolkit_UnoControlListBox.xba
new file mode 100644
index 000000000000..cc4e392e4538
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBox/toolkit_UnoControlListBox.xba
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlListBox" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+Global oModel As Object
+ Global oXWindow As Object
+ Global oCtrlShape as Object
+
+Global bIL_itemStateChanged As Boolean
+Global oEventItemListener As Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlListBox
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+ Dim oIListener As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("ListBox", "UnoControlListBox")
+ oShape2 = createUnoControlShape("ListBox", "UnoControlListBox")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+
+ oIListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
+ oObj.addItemListener(oIListener)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+
+Sub IL_itemStateChanged(rEvent As Object)
+ bIL_itemStateChanged = True
+ Out.Log("CallBack for ItemListener itemStateChanged was called.")
+ oEventItemListener = rEvent
+End Sub
+
+Sub IL_disposing
+End Sub
+
+
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/script.xlb
new file mode 100644
index 000000000000..9dfa0ec136f6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlListBoxModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlListBoxModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/toolkit_UnoControlListBoxModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/toolkit_UnoControlListBoxModel.xba
new file mode 100644
index 000000000000..c7357ea35cb5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlListBoxModel/toolkit_UnoControlListBoxModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlListBoxModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlListBoxModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlListBoxModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlListBoxModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/script.xlb
new file mode 100644
index 000000000000..9ae20caef36b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlNumericField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlNumericField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/toolkit_UnoControlNumericField.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/toolkit_UnoControlNumericField.xba
new file mode 100644
index 000000000000..fe1a5bbd8d42
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericField/toolkit_UnoControlNumericField.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlNumericField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+Global oModel As Object
+ Global oXWindow As Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlNumericField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("NumericField", "UnoControlNumericField")
+ oShape2 = createUnoControlShape("NumericField", "UnoControlNumericField")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/script.xlb
new file mode 100644
index 000000000000..69cefe22c6c2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlNumericFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlNumericFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/toolkit_UnoControlNumericFieldModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/toolkit_UnoControlNumericFieldModel.xba
new file mode 100644
index 000000000000..d51bd158bb81
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlNumericFieldModel/toolkit_UnoControlNumericFieldModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlNumericFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlNumericFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlNumericFieldModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlNumericFieldModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/script.xlb
new file mode 100644
index 000000000000..9c3d25c7388c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlPatternField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlPatternField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/toolkit_UnoControlPatternField.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/toolkit_UnoControlPatternField.xba
new file mode 100644
index 000000000000..dd388abb226d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternField/toolkit_UnoControlPatternField.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlPatternField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+Global oModel As Object
+ Global oXWindow As Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlPatternField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = createUnoControlShape("PatternField", "UnoControlPatternField")
+ oShape2 = createUnoControlShape("PatternField", "UnoControlPatternField")
+ oShape3 = createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/script.xlb
new file mode 100644
index 000000000000..6ad1924c4bc8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlPatternFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlPatternFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/toolkit_UnoControlPatternFieldModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/toolkit_UnoControlPatternFieldModel.xba
new file mode 100644
index 000000000000..79100440d9b0
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlPatternFieldModel/toolkit_UnoControlPatternFieldModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlPatternFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlPatternFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlPatternFieldModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlPatternFieldModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/script.xlb
new file mode 100644
index 000000000000..075c3a895184
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlProgressBarModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlProgressBarModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/toolkit_UnoControlProgressBarModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/toolkit_UnoControlProgressBarModel.xba
new file mode 100644
index 000000000000..b7c29f52e8d1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlProgressBarModel/toolkit_UnoControlProgressBarModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlProgressBarModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlProgressBarModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlProgressBarModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlProgressBarModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/script.xlb
new file mode 100644
index 000000000000..217d9be6abba
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlRadioButton" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlRadioButton"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/toolkit_UnoControlRadioButton.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/toolkit_UnoControlRadioButton.xba
new file mode 100644
index 000000000000..2add360c7e3b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButton/toolkit_UnoControlRadioButton.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlRadioButton" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+Global oModel As Object
+ Global oXWindow As Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlRadioButton
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = ToolkitTools.createUnoControlShape("RadioButton", "UnoControlRadioButton")
+ oShape2 = ToolkitTools.createUnoControlShape("RadioButton", "UnoControlRadioButton")
+ oShape3 = ToolkitTools.createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/script.xlb
new file mode 100644
index 000000000000..92945cdf6628
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlRadioButtonModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlRadioButtonModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/toolkit_UnoControlRadioButtonModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/toolkit_UnoControlRadioButtonModel.xba
new file mode 100644
index 000000000000..2496fe4ea242
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlRadioButtonModel/toolkit_UnoControlRadioButtonModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlRadioButtonModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlRadioButtonModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlRadioButtonModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlRadioButtonModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/script.xlb
new file mode 100644
index 000000000000..4f21af164b08
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlScrollBarModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlScrollBarModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/toolkit_UnoControlScrollBarModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/toolkit_UnoControlScrollBarModel.xba
new file mode 100644
index 000000000000..5499593310f7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlScrollBarModel/toolkit_UnoControlScrollBarModel.xba
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlScrollBarModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlScrollBarModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlScrollBarModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlScrollBarModel")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/script.xlb
new file mode 100644
index 000000000000..f690e03f5ac1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlTimeField" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlTimeField"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/toolkit_UnoControlTimeField.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/toolkit_UnoControlTimeField.xba
new file mode 100644
index 000000000000..328b09ab7b44
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeField/toolkit_UnoControlTimeField.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlTimeField" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oGraphics As Object
+Global oContext As Object
+Global oWinpeer As Object
+Global oToolkit As Object
+Global oModel As Object
+ Global oXWindow As Object
+ Global oCtrlShape as Object
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlTimeField
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oShape1 As Object
+ Dim oShape2 As Object
+ Dim oShape3 As Object
+ Dim oCurrCtrl As Object
+ Dim oWin As Object
+ Dim oKit As Object
+ Dim oDevice As Object
+ Dim oDoc2 As Object
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+
+ oShape1 = ToolkitTools.createUnoControlShape("TimeField", "UnoControlTimeField")
+ oShape2 = ToolkitTools.createUnoControlShape("TimeField", "UnoControlTimeField")
+ oShape3 = ToolkitTools.createControlShape("TextField")
+
+ ToolkitTools.addShape(oShape1)
+ ToolkitTools.addShape(oShape2)
+ ToolkitTools.addShape(oShape3)
+
+ oModel = oShape1.getControl()
+ oCurrCtrl = oDoc.getCurrentController()
+ oWin = oCurrCtrl.getControl(oModel).getPeer()
+ oKit = oWin.getToolkit()
+ oDevice = oKit.createScreenCompatibleDevice(200,200)
+ oGraphics = oDevice.createGraphics()
+
+ oObj = oCurrCtrl.getControl(oModel)
+ oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
+ oContext = oDoc
+ oWinpeer = oWin
+ oToolkit = oKit
+ oXWindow = oDoc2.getCurrentController().getFrame().getComponentWindow()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+ 'Re-open this document to close it successfully
+ Dim oDoc2 As Object
+ oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
+ oDoc2.Dispose()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/script.xlb b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/script.xlb
new file mode 100644
index 000000000000..992d18f57bc7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="toolkit_UnoControlTimeFieldModel" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="toolkit_UnoControlTimeFieldModel"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/toolkit_UnoControlTimeFieldModel.xba b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/toolkit_UnoControlTimeFieldModel.xba
new file mode 100644
index 000000000000..c12c377b5f9d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/toolkit/UnoControlTimeFieldModel/toolkit_UnoControlTimeFieldModel.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_UnoControlTimeFieldModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+Global oComponentInstance As Object
+Global oPersistInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' toolkit.UnoControlTimeFieldModel
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.awt.UnoControlTimeFieldModel")
+ oComponentInstance = createUnoService("com.sun.star.awt.UnoControlTimeFieldModel")
+ oPersistInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/script.xlb b/qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/script.xlb
new file mode 100644
index 000000000000..7b7cc3abe186
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="typeconverter_uno_TypeConverter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="typeconverter_uno_TypeConverter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/typeconverter_uno_TypeConverter.xba b/qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/typeconverter_uno_TypeConverter.xba
new file mode 100644
index 000000000000..bbb309a6647f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/typeconverter.uno/TypeConverter/typeconverter_uno_TypeConverter.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="typeconverter_uno_TypeConverter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' tcv.TypeConverter
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService("com.sun.star.script.Converter")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/script.xlb b/qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/script.xlb
new file mode 100644
index 000000000000..ad83f2fd6592
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="typemgr_uno_TypeDescriptionManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="typemgr_uno_TypeDescriptionManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/typemgr_uno_TypeDescriptionManager.xba b/qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/typemgr_uno_TypeDescriptionManager.xba
new file mode 100644
index 000000000000..e213fde2a5ae
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/typemgr.uno/TypeDescriptionManager/typemgr_uno_TypeDescriptionManager.xba
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="typemgr_uno_TypeDescriptionManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for lang.XComponent
+Global oComponentInstance As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' tdmgr.TypeDescriptionManager
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = CreateUnoService("com.sun.star.reflection.TypeDescriptionManager")
+ oComponentInstance = oObj
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/script.xlb b/qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/script.xlb
new file mode 100644
index 000000000000..f1bc606ae987
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_UcbContentProviderProxyFactory" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_UcbContentProviderProxyFactory"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/ucb_UcbContentProviderProxyFactory.xba b/qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/ucb_UcbContentProviderProxyFactory.xba
new file mode 100644
index 000000000000..1b8225a3b166
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UcbContentProviderProxyFactory/ucb_UcbContentProviderProxyFactory.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_UcbContentProviderProxyFactory" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucb.UcbContentProviderProxyFactory
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService( "com.sun.star.comp.ucb.UcbContentProviderProxyFactory" )
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/script.xlb b/qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/script.xlb
new file mode 100644
index 000000000000..7c213d17307c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_UcbPropertiesManager" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_UcbPropertiesManager"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/ucb_UcbPropertiesManager.xba b/qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/ucb_UcbPropertiesManager.xba
new file mode 100644
index 000000000000..ad6dfa7c33b4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UcbPropertiesManager/ucb_UcbPropertiesManager.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_UcbPropertiesManager" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucb.UcbPropertiesManager
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService( "com.sun.star.comp.ucb.UcbPropertiesManager" )
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucb/UcbStore/script.xlb b/qadevOOo/tests/basic/mod/ucb/UcbStore/script.xlb
new file mode 100644
index 000000000000..cfc0410e18d6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UcbStore/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_UcbStore" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_UcbStore"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucb/UcbStore/ucb_UcbStore.xba b/qadevOOo/tests/basic/mod/ucb/UcbStore/ucb_UcbStore.xba
new file mode 100644
index 000000000000..039874294172
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UcbStore/ucb_UcbStore.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_UcbStore" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucb.UcbStore
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService( "com.sun.star.comp.ucb.UcbStore" )
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/script.xlb b/qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/script.xlb
new file mode 100644
index 000000000000..c2ee0fa7c320
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucb_UniversalContentBroker" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucb_UniversalContentBroker"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/ucb_UniversalContentBroker.xba b/qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/ucb_UniversalContentBroker.xba
new file mode 100644
index 000000000000..ee40b7d3b4e3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucb/UniversalContentBroker/ucb_UniversalContentBroker.xba
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_UniversalContentBroker" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XContentProvider:
+ Global ContentID1 As Object
+ Global ContentID2 As Object
+
+' Required for com.sun.star.ucb.XContentIdentifierFactory
+ Global sContentID As String
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.lang.XInitialization:
+ Global aInitArgs(1) As String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucb.UniversalContentBroker
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.comp.ucb.UniversalContentBroker")
+
+ oComponentInstance = createUNOService("com.sun.star.comp.ucb.UniversalContentBroker")
+
+ ContentID1 = oObj.createContentIdentifier("ftp://localhost/c/temp/")
+ ContentID2 = oObj.createContentIdentifier("vnd.sun.star.webdav://localhost/c/temp/")
+ sContentID = "http://localhost/c/temp/"
+
+ ' If the instance is created with two arguments of type string,
+ ' these two strings are used to configure the newly instantiated broker;
+
+ aInitArgs(0) = "Local"
+ aInitArgs(1) = "Office"
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/script.xlb b/qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/script.xlb
new file mode 100644
index 000000000000..bae6a4e2691b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucpdav_WebDAVContentProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucpdav_WebDAVContentProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/ucpdav_WebDAVContentProvider.xba b/qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/ucpdav_WebDAVContentProvider.xba
new file mode 100644
index 000000000000..c7b4b646d667
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucpdav/WebDAVContentProvider/ucpdav_WebDAVContentProvider.xba
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucpdav_WebDAVContentProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XContentProvider:
+ Global ContentID1 As Object
+ Global ContentID2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucpdav.WebDAVContentProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oUCB As Object
+
+ oObj = createUNOService("com.sun.star.ucb.WebDAVContentProvider")
+ oUCB = createUNOService("com.sun.star.comp.ucb.UniversalContentBroker")
+ ContentID1 = oUCB.createContentIdentifier("http://dav.anotherfoo.com/Documents/report.sdw")
+ ContentID2 = oUCB.createContentIdentifier("http://dav.foo.com/Documents/report.sdw")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' Revision 1.2 2002/02/01 12:17:44 cvsan
+' CHG: ContentID changed.
+'
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucpfile/FileProvider/script.xlb b/qadevOOo/tests/basic/mod/ucpfile/FileProvider/script.xlb
new file mode 100644
index 000000000000..077235fda068
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucpfile/FileProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucpfile_FileProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucpfile_FileProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucpfile/FileProvider/ucpfile_FileProvider.xba b/qadevOOo/tests/basic/mod/ucpfile/FileProvider/ucpfile_FileProvider.xba
new file mode 100644
index 000000000000..f65662060ca8
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucpfile/FileProvider/ucpfile_FileProvider.xba
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucpfile_FileProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' Required for com.sun.star.ucb.XContentProvider:
+ Global ContentID1 As Object
+ Global ContentID2 As Object
+
+' Required for com.sun.star.ucb.XContentIdentifierFactory:
+ Global sContentID As String
+
+' Required for com.sun.star.ucb.XFileIdentifierConverter:
+ Global cSystemPath as String
+ Global cBaseURL as String
+ Global cURLPath as String
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucpfile.FileProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUnoService( "com.sun.star.comp.ucb.FileProvider" )
+
+ ContentID1 = oObj.createContentIdentifier(utils.Path2URL(cTestDocsDir))
+ ContentID2 = oObj.createContentIdentifier("vnd.sun.star.webdav://localhost/c/temp/")
+ sContentID = "http://localhost/c/temp/"
+
+ cBaseURL = utils.Path2URL(cTestDocsDir)
+ cSystemPath = utils.URL2Path(cBaseURL)
+ cURLPath = utils.Path2URL(cTestDocsDir + "crazy-blue.jpg")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/script.xlb b/qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/script.xlb
new file mode 100644
index 000000000000..6c41cf7ee3bc
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucphier_HierarchyContentProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucphier_HierarchyContentProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/ucphier_HierarchyContentProvider.xba b/qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/ucphier_HierarchyContentProvider.xba
new file mode 100644
index 000000000000..a25534238de7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucphier/HierarchyContentProvider/ucphier_HierarchyContentProvider.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucphier_HierarchyContentProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XContentProvider:
+ Global ContentID1 As Object
+ Global ContentID2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucphier.HierarchyContentProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oUCB As Object
+
+ oObj = createUNOService("com.sun.star.ucb.HierarchyContentProvider")
+ oUCB = createUNOService("com.sun.star.comp.ucb.UniversalContentBroker")
+ ContentID1 = oUCB.createContentIdentifier("vnd.sun.star.hier://MyHierarchyDataSource/")
+ ContentID2 = oUCB.createContentIdentifier("vnd.sun.star.hier://Bookmarks/Sun%20Microssystems%20Home%20Page")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/script.xlb b/qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/script.xlb
new file mode 100644
index 000000000000..c37575c24006
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucphier_HierarchyDataSource" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucphier_HierarchyDataSource"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/ucphier_HierarchyDataSource.xba b/qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/ucphier_HierarchyDataSource.xba
new file mode 100644
index 000000000000..f744c44d7c87
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucphier/HierarchyDataSource/ucphier_HierarchyDataSource.xba
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucphier_HierarchyDataSource" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.lang.XComponent:
+ Global oComponentInstance As Object ' it will be disposed
+
+' Required for com.sun.star.lang.XMultiServiceFactory:
+ Global cServiceName As String ' ex. "com.sun.star.drawing.RectangleShape"
+ Global bCreateInstanceWithoutArguments As Boolean
+ Global aArguments() As Variant
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucphier.HierarchyDataSource
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.ucb.DefaultHierarchyDataSource")
+
+ oComponentInstance = createUNOService("com.sun.star.ucb.DefaultHierarchyDataSource")
+
+ cServiceName = "com.sun.star.ucb.HierarchyDataReadWriteAccess"
+ bCreateInstanceWithoutArguments = true
+ Dim args(0) As New com.sun.star.beans.PropertyValue
+ args(0).Name = "nodepath" : args(0).Value = ""
+ aArguments() = args()
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/script.xlb b/qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/script.xlb
new file mode 100644
index 000000000000..8753e0986081
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ucppkg_PackageContentProvider" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="ucppkg_PackageContentProvider"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/ucppkg_PackageContentProvider.xba b/qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/ucppkg_PackageContentProvider.xba
new file mode 100644
index 000000000000..055925a14a12
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/ucppkg/PackageContentProvider/ucppkg_PackageContentProvider.xba
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucppkg_PackageContentProvider" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.ucb.XContentProvider:
+ Global ContentID1 As Object
+ Global ContentID2 As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' ucppkg.PackageContentProvider
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim oUCB As Object
+
+ oObj = createUNOService("com.sun.star.ucb.PackageContentProvider")
+ oUCB = createUNOService("com.sun.star.comp.ucb.UniversalContentBroker")
+ ContentID1 = oUCB.createContentIdentifier("vnd.sun.star.pkg://MyPackageSource")
+ ContentID2 = oUCB.createContentIdentifier("vnd.sun.star.pkg://localhost/")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/script.xlb b/qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/script.xlb
new file mode 100644
index 000000000000..3c7b78b8a1fa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="uui_UUIInteractionHandler" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="uui_UUIInteractionHandler"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/uui_UUIInteractionHandler.xba b/qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/uui_UUIInteractionHandler.xba
new file mode 100644
index 000000000000..85807a63ba45
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/uui/UUIInteractionHandler/uui_UUIInteractionHandler.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="uui_UUIInteractionHandler" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' uui.UUIInteractionHandler
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.uui.InteractionHandler")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/script.xlb b/qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/script.xlb
new file mode 100644
index 000000000000..6105d6f84d95
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="uuresolver_uno_UnoUrlResolver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="uuresolver_uno_UnoUrlResolver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/uuresolver_uno_UnoUrlResolver.xba b/qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/uuresolver_uno_UnoUrlResolver.xba
new file mode 100644
index 000000000000..74beac615c75
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/uuresolver.uno/UnoUrlResolver/uuresolver_uno_UnoUrlResolver.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="uuresolver_uno_UnoUrlResolver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' uuresolver.UnoUrlResolver
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.bridge.UnoUrlResolver")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/script.xlb b/qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/script.xlb
new file mode 100644
index 000000000000..ab7bd568b014
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="uuresolver_UnoUrlResolver" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="uuresolver_UnoUrlResolver"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/uuresolver_UnoUrlResolver.xba b/qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/uuresolver_UnoUrlResolver.xba
new file mode 100644
index 000000000000..7db41d3ee3d3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/uuresolver/UnoUrlResolver/uuresolver_UnoUrlResolver.xba
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="uuresolver_UnoUrlResolver" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' uuresolver.UnoUrlResolver
+'*************************************************************************
+On Error Goto ErrHndl
+ oObj = createUNOService("com.sun.star.bridge.UnoUrlResolver")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/script.xlb
new file mode 100644
index 000000000000..ae6a259d82c9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Chart_XMLContentExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Chart_XMLContentExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/xmloff_Chart_XMLContentExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/xmloff_Chart_XMLContentExporter.xba
new file mode 100644
index 000000000000..c8a21a08aa86
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentExporter/xmloff_Chart_XMLContentExporter.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Chart_XMLContentExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Chart.XMLContentExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oChartTitle As Variant
+ Dim filter As Variant
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim printXML As Boolean
+ Dim expString As String
+
+ printXML = true
+ expString = "a - b"
+ expString = "NewTitleOfDiagram"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-content")
+ Tag2 = Array("office:body")
+ Tag3 = Array("chart:title")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("CharsEnclosed", Tag3, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Chart.XMLContentExporter", initArgs())
+
+ oChartTitle = oDoc.getTitle()
+ oChartTitle.setPropertyValue("String", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "schart: StarOffice XML (Chart)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/script.xlb
new file mode 100644
index 000000000000..0443584ec192
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Chart_XMLContentImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Chart_XMLContentImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/xmloff_Chart_XMLContentImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/xmloff_Chart_XMLContentImporter.xba
new file mode 100644
index 000000000000..4a854600f820
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLContentImporter/xmloff_Chart_XMLContentImporter.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Chart_XMLContentImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sValue As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Chart.XMLContentImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Chart.XMLContentImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sValue = "XMLContentImporter_test"
+ vXMLData = Array( _
+ Array("start", "office:document-content", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text", _
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart", _
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table", _
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg", _
+ "office:class", "CDATA", "chart", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:body"), _
+ Array("start", "chart:chart"), _
+ Array("start", "chart:title"), _
+ Array("start", "text:p"), _
+ Array("chars", sValue), _
+ Array("end", "text:p"), _
+ Array("end", "chart:title"), _
+ Array("end", "chart:chart"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document-content"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oTitle As Object
+ Dim title As String
+ out.log("checking of import...")
+ oTitle = oDoc.getTitle()
+ title = oTitle.getPropertyValue("String")
+ res = (title = sValue)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/script.xlb
new file mode 100644
index 000000000000..f45b86cbbf74
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Chart_XMLExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Chart_XMLExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/xmloff_Chart_XMLExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/xmloff_Chart_XMLExporter.xba
new file mode 100644
index 000000000000..d43b51b06c35
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLExporter/xmloff_Chart_XMLExporter.xba
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Chart_XMLExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Chart.XMLExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim docInfo As Variant
+ Dim filter As Variant
+ Dim Tag1, Tag2, Tag3, Tag4 As Variant
+ Dim printXML As Boolean
+ Dim expString As String
+
+ printXML = true
+ expString = "NewTitleOfChartDocument"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("office:body")
+ Tag4 = Array("dc:title")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("CharsEnclosed", Tag4, expString), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag1) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Chart.XMLExporter", initArgs())
+
+ docInfo = oDoc.getDocumentInfo()
+ docInfo.setPropertyValue("Title", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "schart: StarOffice XML (Chart)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/script.xlb
new file mode 100644
index 000000000000..a7cc190ecb02
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Chart_XMLImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Chart_XMLImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/xmloff_Chart_XMLImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/xmloff_Chart_XMLImporter.xba
new file mode 100644
index 000000000000..4df7ddd9642b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLImporter/xmloff_Chart_XMLImporter.xba
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Chart_XMLImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sValue As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Chart.XMLImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Chart.XMLImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sValue = "XMLContentImporter_test"
+ vXMLData = Array( _
+ Array("start", "office:document", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text", _
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart", _
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table", _
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg", _
+ "office:class", "CDATA", "chart", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:body"), _
+ Array("start", "chart:chart"), _
+ Array("start", "chart:title"), _
+ Array("start", "text:p"), _
+ Array("chars", sValue), _
+ Array("end", "text:p"), _
+ Array("end", "chart:title"), _
+ Array("end", "chart:chart"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document-content"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oTitle As Object
+ Dim title As String
+ out.log("checking of import...")
+ oTitle = oDoc.getTitle()
+ title = oTitle.getPropertyValue("String")
+ res = (title = sValue)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/script.xlb
new file mode 100644
index 000000000000..ba88f29b9a7e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Chart_XMLStylesExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Chart_XMLStylesExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/xmloff_Chart_XMLStylesExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/xmloff_Chart_XMLStylesExporter.xba
new file mode 100644
index 000000000000..b544f6aa2250
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesExporter/xmloff_Chart_XMLStylesExporter.xba
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Chart_XMLStylesExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Chart.XMLStylesExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim filter As Variant
+ Dim printXML As Boolean
+
+ printXML = true
+ oMSF = getProcessServiceManager()
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ filter = Array( _
+ Array("TagExists", Array("office:document-styles")) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Chart.XMLStylesExporter", initArgs())
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "schart: StarOffice XML (Chart)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter()
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/script.xlb
new file mode 100644
index 000000000000..d2c3fe8f2d7e
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Chart_XMLStylesImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Chart_XMLStylesImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/xmloff_Chart_XMLStylesImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/xmloff_Chart_XMLStylesImporter.xba
new file mode 100644
index 000000000000..92dbd9fba8fa
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Chart/XMLStylesImporter/xmloff_Chart_XMLStylesImporter.xba
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Chart_XMLStylesImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Chart.XMLStylesImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.loadTestDocument("emptyChart.sds", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Chart.XMLStylesImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ vXMLData = Array( _
+ Array("start", "office:document-styles", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text", _
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart", _
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style", _
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg", _
+ "office:class", "CDATA", "chart", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:styles"), _
+ Array("end", "office:styles"), _
+ Array("end", "office:document-styles"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ out.log("checking of import...")
+ out.log("No ways to check styles import were not found.")
+ res = True
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/script.xlb
new file mode 100644
index 000000000000..bf64ff5788c9
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLContentExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLContentExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/xmloff_Draw_XMLContentExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/xmloff_Draw_XMLContentExporter.xba
new file mode 100644
index 000000000000..268c2ea34ca7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentExporter/xmloff_Draw_XMLContentExporter.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLContentExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLContentExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oDrawPages As Variant
+ Dim printXML As Boolean
+ Dim expString1 As String
+ Dim expString2 As String
+ Dim filter As Variant
+ Dim Tag1, Tag2, Tag3, Tag4, Tag5 As Variant
+
+ printXML = true
+ expString1 = "NewSlide1"
+ expString2 = "NewSlide2"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-content")
+ Tag2 = Array("office:body")
+ Tag3 = Array("draw:page","draw:name","NewSlide1")
+ Tag4 = Array("draw:page","draw:name","NewSlide2")
+ Tag5 = Array("draw:page")
+ filter = Array( _
+ Array("TagExists", Tag1, Tag2, Tag3, Tag4), _
+ Array("TagEnclosed", Tag5, Tag2) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Draw.XMLContentExporter", initArgs())
+
+ oDrawPages = oDoc.getDrawPages()
+ oDrawPages.insertNewByIndex(1)
+ oDrawPages.getByIndex(0).setName(expString1)
+ oDrawPages.getByIndex(1).setName(expString2)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "sdraw: StarOffice XML (Draw)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/script.xlb
new file mode 100644
index 000000000000..87b4c637710b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLContentImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLContentImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/xmloff_Draw_XMLContentImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/xmloff_Draw_XMLContentImporter.xba
new file mode 100644
index 000000000000..beb1cb9e159d
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLContentImporter/xmloff_Draw_XMLContentImporter.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLContentImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sName1, sName2 As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLContentImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Draw.XMLContentImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sName1 = "NewSlide1"
+ sName2 = "NewSlide2"
+ vXMLData = Array( _
+ Array("start", "office:document", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing", _
+ "office:class", "CDATA", "drawing", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:body"), _
+ Array("start", "draw:page", _
+ "draw:name", "CDATA", sName1, _
+ "draw:master-page-name", "CDATA", "Default"), _
+ Array("end", "draw:page"), _
+ Array("start", "draw:page", _
+ "draw:name", "CDATA", sName2, _
+ "draw:master-page-name", "CDATA", "Default"), _
+ Array("end","draw:page"), _
+ Array("end", "draw:page"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim i As Integer
+ Dim res, res1, res2 As Boolean
+ Dim oPages, oPage As Object
+ Dim pageName As String
+ out.log("checking of import...")
+ res1 = False
+ res2 = False
+ oPages = oDoc.getDrawPages()
+ out.log("Draw pages:")
+ For i = 0 to ( oPages.getCount() - 1 )
+ oPage = oPages.getByIndex(i)
+ pageName = oPage.getName()
+ out.log(pageName)
+ If pageName = sName1 then
+ res1 = True
+ EndIf
+ If pageName = sName2 then
+ res2 = True
+ EndIf
+ Next i
+ res = res1 and res2
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/script.xlb
new file mode 100644
index 000000000000..80ede1c7381b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/xmloff_Draw_XMLExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/xmloff_Draw_XMLExporter.xba
new file mode 100644
index 000000000000..a05ce5775cc6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLExporter/xmloff_Draw_XMLExporter.xba
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oDocInfo As Variant
+ Dim printXML As Boolean
+ Dim filter As Variant
+ Dim expString As String
+ Dim Tag1, Tag2, Tag3, Tag4, Tag5 As Variant
+
+ printXML = true
+ expString = "NewTitleOfDrawDocument"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("dc:title")
+ filter = Array( _
+ Array("TagExists", Tag1, Tag2, Tag3), _
+ Array("TagEnclosed", Tag3, Tag2), _
+ Array("CharsEnclosed", Tag3, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Draw.XMLExporter", initArgs())
+
+ oDocInfo = oDoc.getDocumentInfo()
+ oDocInfo.setPropertyValue("Title", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "sdraw: StarOffice XML (Draw)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/script.xlb
new file mode 100644
index 000000000000..32a461e579e6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/xmloff_Draw_XMLImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/xmloff_Draw_XMLImporter.xba
new file mode 100644
index 000000000000..c51248716507
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLImporter/xmloff_Draw_XMLImporter.xba
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sName1, sName2 As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Draw.XMLImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sName1 = "NewSlide1"
+ sName2 = "NewSlide2"
+ vXMLData = Array( _
+ Array("start", "office:document", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing", _
+ "office:class", "CDATA", "drawing", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:body"), _
+ Array("start", "draw:page", _
+ "draw:name", "CDATA", sName1, _
+ "draw:master-page-name", "CDATA", "Default"), _
+ Array("end", "draw:page"), _
+ Array("start", "draw:page", _
+ "draw:name", "CDATA", sName2, _
+ "draw:master-page-name", "CDATA", "Default"), _
+ Array("end","draw:page"), _
+ Array("end", "draw:page"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim i As Integer
+ Dim res, res1, res2 As Boolean
+ Dim oPages, oPage As Object
+ Dim pageName As String
+ out.log("checking of import...")
+ res1 = False
+ res2 = False
+ oPages = oDoc.getDrawPages()
+ out.log("Draw pages:")
+ For i = 0 to ( oPages.getCount() - 1 )
+ oPage = oPages.getByIndex(i)
+ pageName = oPage.getName()
+ out.log(pageName)
+ If pageName = sName1 then
+ res1 = True
+ EndIf
+ If pageName = sName2 then
+ res2 = True
+ EndIf
+ Next i
+ res = res1 and res2
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/script.xlb
new file mode 100644
index 000000000000..96e8b72ced2c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLMetaExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLMetaExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/xmloff_Draw_XMLMetaExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/xmloff_Draw_XMLMetaExporter.xba
new file mode 100644
index 000000000000..5f753854404b
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaExporter/xmloff_Draw_XMLMetaExporter.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLMetaExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLMetaExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oDocInfo As Variant
+ Dim filter As Variant
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim printXML As Boolean
+ Dim expString As String
+
+ printXML = true
+ expString = "NewTitleOfDrawDocument"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-meta")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("dc:title")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag2), _
+ Array("CharsEnclosed", Tag3, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Draw.XMLMetaExporter", initArgs())
+
+ oDocInfo = oDoc.getDocumentInfo()
+ oDocInfo.setPropertyValue("Title", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "sdraw: StarOffice XML (Draw)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/script.xlb
new file mode 100644
index 000000000000..a6badc66cb20
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLMetaImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLMetaImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/xmloff_Draw_XMLMetaImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/xmloff_Draw_XMLMetaImporter.xba
new file mode 100644
index 000000000000..01cd7d4e03bd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLMetaImporter/xmloff_Draw_XMLMetaImporter.xba
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLMetaImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sTitle As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLMetaImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Draw.XMLMetaImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sTitle = "XMLMetaImporter_Title"
+ vXMLData = Array( _
+ Array("start", "office:document-meta", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta", _
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"), _
+ Array("start", "office:meta"), _
+ Array("start", "dc:title"), _
+ Array("chars", sTitle), _
+ Array("end", "dc:title"), _
+ Array("end", "office:meta"), _
+ Array("end", "office:document-meta"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oDocInfo As Object
+ Dim title As String
+ out.log("checking of import...")
+ oDocInfo = oDoc.getDocumentInfo()
+ title = oDocInfo.getPropertyValue("Title")
+ out.log("Title: " + title)
+ res = (title = sTitle)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/script.xlb
new file mode 100644
index 000000000000..8377839ac00c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLSettingsExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLSettingsExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/xmloff_Draw_XMLSettingsExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/xmloff_Draw_XMLSettingsExporter.xba
new file mode 100644
index 000000000000..d8ccb9fa0b4f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsExporter/xmloff_Draw_XMLSettingsExporter.xba
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLSettingsExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLSettingsExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oController As Object
+ Dim oProp, oPropToSet As Boolean
+ Dim filter As Variant
+ Dim Tag1, Tag2, Tag3, Tag4, Tag5 As Variant
+ Dim printXML As Boolean
+
+ printXML = true
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ oController = oDoc.getCurrentController()
+ oProp = oController.getPropertyValue("IsLayerMode")
+ if (oProp = false) then
+ oPropToSet = true
+ else
+ oPropToSet = false
+ endif
+
+ Tag1 = Array("office:document-settings")
+ Tag2 = Array("office:settings")
+ Tag3 = Array("config:config-item-set")
+ Tag4 = Array("config:config-item-map-indexed")
+ Tag5 = Array("config:config-item", "config:name", "IsLayerMode")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag2), _
+ Array("TagEnclosed", Tag4, Tag3), _
+ Array("CharsEnclosed", Tag5, LCase(oPropToSet)) _
+ )
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Draw.XMLSettingsExporter", initArgs())
+
+ oController.setPropertyValue("IsLayerMode", oPropToSet)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "sdraw: StarOffice XML (Draw)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/script.xlb
new file mode 100644
index 000000000000..86c163212d91
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLSettingsImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLSettingsImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/xmloff_Draw_XMLSettingsImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/xmloff_Draw_XMLSettingsImporter.xba
new file mode 100644
index 000000000000..684ecd815318
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLSettingsImporter/xmloff_Draw_XMLSettingsImporter.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLSettingsImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLSettingsImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Draw.XMLSettingsImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ vXMLData = Array( _
+ Array("start", "office:document-settings", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config"), _
+ Array("start", "office:settings"), _
+ Array("start", "config:config-item-set", _
+ "config:name", "CDATA", "view-settings"), _
+ Array("start", "config:config-item-map-indexed", _
+ "config:name", "CDATA", "Views"), _
+ Array("start", "config:config-item-map-entry"), _
+ Array("start", "config:config-item", _
+ "config:name", "CDATA", "IsLayerMode", _
+ "config:type", "CDATA", "boolean"), _
+ Array("chars", "true"), _
+ Array("end", "config:config-item"), _
+ Array("end", "config:config-item-map-entry"), _
+ Array("end", "config:config-item-map-indexed"), _
+ Array("end", "config:config-item-set"), _
+ Array("end", "office:settings"), _
+ Array("end", "office:document-settings"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oController As Object
+ oController = oDoc.getCurrentController()
+ res = oController.getPropertyValue("IsLayerMode")
+ out.log("Value after import: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/script.xlb
new file mode 100644
index 000000000000..7e90b5d6abd4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLStylesExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLStylesExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/xmloff_Draw_XMLStylesExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/xmloff_Draw_XMLStylesExporter.xba
new file mode 100644
index 000000000000..cf46fdafd941
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesExporter/xmloff_Draw_XMLStylesExporter.xba
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLStylesExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+Dim counter As Integer
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLStylesExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0), oMSF, oStyleFamilies, oFamily, oStyle As Object
+ Dim oSFNames As Variant
+ Dim oFamilyName As String
+ Dim printXML As Boolean
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim expString As String
+ Dim filter As Variant
+
+ printXML = true
+ expString = "NewStyle"
+ counter = counter +1
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-styles")
+ Tag2 = Array("office:styles")
+ Tag3 = Array("style:style", "style:name", expString)
+ filter = Array( _
+ Array("TagExists", Tag1, Tag2, Tag3), _
+ Array("TagEnclosed", Tag3, Tag2) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Draw.XMLStylesExporter", initArgs())
+
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oSFNames = oStyleFamilies.getElementNames()
+ oFamilyName = oSFNames(0)
+ oFamily = oStyleFamilies.getByName(oFamilyName)
+ oStyle = oDoc.createInstance("com.sun.star.style.Style")
+ oFamily.insertByName(expString, oStyle)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "sdraw: StarOffice XML (Draw)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/script.xlb
new file mode 100644
index 000000000000..1f6b8de5ef0c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Draw_XMLStylesImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Draw_XMLStylesImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/xmloff_Draw_XMLStylesImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/xmloff_Draw_XMLStylesImporter.xba
new file mode 100644
index 000000000000..4d8793134d31
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Draw/XMLStylesImporter/xmloff_Draw_XMLStylesImporter.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Draw_XMLStylesImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sStyleName, sFamilyName As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Draw.XMLStylesImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createDocument("sdraw", cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Draw.XMLStylesImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sStyleName = "New style for test XMLStylesImporter"
+ sFamilyName = "graphics"
+ vXMLData = Array( _
+ Array("start", "office:document-styles", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style"), _
+ Array("start", "office:styles"), _
+ Array("start", "style:style", _
+ "style:name", "CDATA", sStyleName, _
+ "style:family", "CDATA", sFamilyName), _
+ Array("end", "style:style"), _
+ Array("end", "office:styles"), _
+ Array("end", "office:document"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oStyleFamilies, oFamily As Object
+ out.log("checking of import...")
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oFamily = oStyleFamilies.getByName(sFamilyName)
+ res = oFamily.hasByName(sStyleName)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/script.xlb
new file mode 100644
index 000000000000..21db72258f7f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLContentExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLContentExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/xmloff_Impress_XMLContentExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/xmloff_Impress_XMLContentExporter.xba
new file mode 100644
index 000000000000..ecae9c11962c
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentExporter/xmloff_Impress_XMLContentExporter.xba
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLContentExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLContentExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oDrawPages As Object
+ Dim oDrawPage As Object
+ Dim printXML As Boolean
+ Dim filter As Variant
+ Dim expString As String
+ Dim Tag1, Tag2, Tag3 As Variant
+
+ printXML = true
+ expString = "NewNameOfDrawPage"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createImpressDocument(cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-content")
+ Tag2 = Array("office:body")
+ Tag3 = Array("draw:page", "draw:name", expString)
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag2) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Impress.XMLContentExporter", initArgs())
+
+ oDrawPages = oDoc.getDrawPages()
+ oDrawPage = oDrawPages.getByIndex(0)
+ oDrawPage.setName(expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "simpress: StarOffice XML (Impress)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/script.xlb
new file mode 100644
index 000000000000..3e9ff2fc3259
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLContentImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLContentImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/xmloff_Impress_XMLContentImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/xmloff_Impress_XMLContentImporter.xba
new file mode 100644
index 000000000000..4a2ed5d7f7b7
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLContentImporter/xmloff_Impress_XMLContentImporter.xba
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLContentImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sPageName As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLContentImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Draw.XMLContentImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sPageName = "XMLImporterPage"
+ vXMLData = Array( _
+ Array("start", "office:document", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:presentation", "CDATA", "http://openoffice.org/2000/presentation", _
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg", _
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing", _
+ "office:class", "CDATA", "presentation", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:body"), _
+ Array("start", "draw:page", _
+ "draw:name", "CDATA", sPageName, _
+ "draw:master-page-name", "CDATA", "Default"), _
+ Array("start", "presentation:notes"), _
+ Array("start", "draw:page-thumbnail", _
+ "draw:style-name", "CDATA", "gr1", _
+ "draw:layer", "CDATA", "layout", _
+ "svg:width", "CDATA", "12.768cm", _
+ "svg:height", "CDATA", "9.576cm", _
+ "svg:x", "CDATA", "4.411cm", _
+ "svg:y", "CDATA", "2.794cm", _
+ "presentation:class", "CDATA", "page", _
+ "draw:page-number", "CDATA", "1"), _
+ Array("end", "draw:page-thumbnail"), _
+ Array("start", "draw:text-box", _
+ "presentation:style-name", "CDATA", "Default-notes", _
+ "draw:layer", "CDATA", "layout", _
+ "svg:width", "CDATA", "15.021cm", _
+ "svg:height", "CDATA", "10.63cm", _
+ "svg:x", "CDATA", "3.292cm", _
+ "svg:y", "CDATA", "13.299cm", _
+ "presentation:class", "CDATA", "notes", _
+ "presentation:placeholder", "CDATA", "true"), _
+ Array("end", "draw:text-box"), _
+ Array("end", "presentation:notes"), _
+ Array("end", "draw:page"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim i As Integer
+ Dim res As Boolean
+ Dim oPages, oPage As Object
+ Dim pageName As String
+ res = False
+ out.log("checking of import...")
+ oPages = oDoc.getDrawPages()
+ out.log("Draw pages:")
+ For i = 0 to oPages.getCount() - 1
+ oPage = oPages.getByIndex(i)
+ pageName = oPage.getName()
+ out.log(pageName)
+ If pageName = sPageName then
+ res = True
+ EndIf
+ Next i
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/script.xlb
new file mode 100644
index 000000000000..c2bc67de1188
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/xmloff_Impress_XMLExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/xmloff_Impress_XMLExporter.xba
new file mode 100644
index 000000000000..7d7f74a9a5c5
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLExporter/xmloff_Impress_XMLExporter.xba
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oDrawPages, oDrawPage As Object
+ Dim printXML As Boolean
+ Dim filter As Variant
+ Dim expString As String
+ Dim Tag1, Tag2, Tag3 As Variant
+
+ printXML = true
+ expString = "NewNameOfDrawPageInserted"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createImpressDocument(cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document")
+ Tag2 = Array("office:body")
+ Tag3 = Array("draw:page", "draw:name", expString)
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag2) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Impress.XMLExporter", initArgs())
+
+ oDrawPages = oDoc.getDrawPages()
+ oDrawPages.insertNewByIndex(0)
+ oDrawPage = oDrawPages.getByIndex(0)
+ oDrawPage.setName(expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "simpress: StarOffice XML (Impress)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/script.xlb
new file mode 100644
index 000000000000..156d8a1320c4
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/xmloff_Impress_XMLImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/xmloff_Impress_XMLImporter.xba
new file mode 100644
index 000000000000..f2b748ae0932
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLImporter/xmloff_Impress_XMLImporter.xba
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sName As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Impress.XMLImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sName = "XMLImporter"
+ vXMLData = Array( _
+ Array("start", "office:document", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing"), _
+ Array("start", "office:body"), _
+ Array("start", "draw:page", _
+ "draw:name", "CDATA", sName), _
+ Array("end", "draw:page"), _
+ Array("end", "office:body"), _
+ Array("end", "office:document"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oPages As Object
+ out.log("checking of import...")
+ oPages = oDoc.getDrawPages()
+ res = oPages.hasByName(sName)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/script.xlb
new file mode 100644
index 000000000000..626859cbd89f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLMetaExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLMetaExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/xmloff_Impress_XMLMetaExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/xmloff_Impress_XMLMetaExporter.xba
new file mode 100644
index 000000000000..35b08c5b9ae6
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaExporter/xmloff_Impress_XMLMetaExporter.xba
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLMetaExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLMetaExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oDocInfo As Object
+ Dim printXML As Boolean
+ Dim expString As String
+ Dim Tag1, Tag2, Tag3 As Variant
+ Dim filter As Variant
+
+ printXML = true
+ expString = "NewTitleOfDrawDocument"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createImpressDocument(cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-meta")
+ Tag2 = Array("office:meta")
+ Tag3 = Array("dc:title")
+ filter = Array( _
+ Array("TagExists", Tag1), _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag2), _
+ Array("CharsEnclosed", Tag3, expString) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Impress.XMLMetaExporter", initArgs())
+
+ oDocInfo = oDoc.getDocumentInfo()
+ oDocInfo.setPropertyValue("Title", expString)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "simpress: StarOffice XML (Impress)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/script.xlb
new file mode 100644
index 000000000000..d14b4ba77dec
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLMetaImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLMetaImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/xmloff_Impress_XMLMetaImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/xmloff_Impress_XMLMetaImporter.xba
new file mode 100644
index 000000000000..02cc5904d961
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLMetaImporter/xmloff_Impress_XMLMetaImporter.xba
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLMetaImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sTitle As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLMetaImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Impress.XMLMetaImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sTitle = "XMLMetaImporter_Title"
+ vXMLData = Array( _
+ Array("start", "office:document-meta", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"), _
+ Array("start", "office:meta"), _
+ Array("start", "dc:title"), _
+ Array("chars", sTitle), _
+ Array("end", "dc:title"), _
+ Array("end", "office:meta"), _
+ Array("end", "office:document-meta"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oDocInfo As Object
+ Dim title As String
+ out.log("checking of import...")
+ oDocInfo = oDoc.getDocumentInfo()
+ title = oDocInfo.getPropertyValue("Title")
+ out.log("Title: " + title)
+ res = (title = sTitle)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/script.xlb
new file mode 100644
index 000000000000..68a37fac28ca
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLSettingsExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLSettingsExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/xmloff_Impress_XMLSettingsExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/xmloff_Impress_XMLSettingsExporter.xba
new file mode 100644
index 000000000000..e379102d46f3
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsExporter/xmloff_Impress_XMLSettingsExporter.xba
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLSettingsExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLSettingsExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0) As Object
+ Dim oMSF As Object
+ Dim oController As Object
+ Dim oProp, oPropToSet As Boolean
+ Dim printXML As Boolean
+ Dim filter As Variant
+ Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 As Variant
+
+ printXML = true
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createImpressDocument(cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ oController = oDoc.getCurrentController()
+ oProp = oController.getPropertyValue("IsLayerMode")
+ if (oProp = false) then
+ oPropToSet = true
+ else
+ oPropToSet = false
+ endif
+
+ Tag1 = Array("office:settings")
+ Tag2 = Array("office:document-settings")
+ Tag3 = Array("config:config-item-set")
+ Tag4 = Array("config:config-item-map-indexed")
+ Tag5 = Array("config:config-item-map-entry")
+ Tag6 = Array("config:config-item")
+ Tag7 = Array("config:config-item","config:name","IsLayerMode")
+ filter = Array( _
+ Array("TagEnclosed", Tag1, Tag2), _
+ Array("TagEnclosed", Tag3, Tag2), _
+ Array("TagEnclosed", Tag4, Tag3), _
+ Array("TagEnclosed", Tag5, Tag4), _
+ Array("TagEnclosed", Tag6, Tag5), _
+ Array("CharsEnclosed", Tag7, LCase(oPropToSet)) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Impress.XMLSettingsExporter", initArgs())
+
+ oController.setPropertyValue("IsLayerMode", oPropToSet)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "simpress: StarOffice XML (Impress)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/script.xlb
new file mode 100644
index 000000000000..9e2d4d8544c2
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLSettingsImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLSettingsImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/xmloff_Impress_XMLSettingsImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/xmloff_Impress_XMLSettingsImporter.xba
new file mode 100644
index 000000000000..63478a532853
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLSettingsImporter/xmloff_Impress_XMLSettingsImporter.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLSettingsImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLSettingsImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Impress.XMLSettingsImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ vXMLData = Array( _
+ Array("start", "office:document-settings", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink", _
+ "xmlns:presentation", "CDATA", "http://openoffice.org/2000/presentation", _
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config", _
+ "office:version", "CDATA", "1.0"), _
+ Array("start", "office:settings"), _
+ Array("start", "config:config-item-map-indexed", _
+ "config:name", "CDATA", "Views"), _
+ Array("start", "config:config-item-map-entry"), _
+ Array("start","config:config-item", _
+ "config:name", "CDATA", "IsLayerMode"), _
+ Array("chars", "true"), _
+ Array("end", "config:config-item"), _
+ Array("end", "config:config-item-map-entry"), _
+ Array("end", "config:config-item-map-indexed"), _
+ Array("end", "office:settings"), _
+ Array("end", "office:document-settings"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oController As Object
+ out.log("checking of import...")
+ oController = oDoc.getCurrentController()
+ res = oController.getPropertyValue("IsLayerMode")
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/script.xlb
new file mode 100644
index 000000000000..7125cbfe7aa1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLStylesExporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLStylesExporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/xmloff_Impress_XMLStylesExporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/xmloff_Impress_XMLStylesExporter.xba
new file mode 100644
index 000000000000..37c940dbc2cd
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesExporter/xmloff_Impress_XMLStylesExporter.xba
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLStylesExporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+'Required for com.sun.star.document.XFilter
+Global oFilterDescriptor As Variant
+
+'Required for com.sun.star.lang.XInitialization
+Global aInitArgs() As Variant
+
+'Required for com.sun.star.document.XExporter
+Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLStylesExporter
+'*************************************************************************
+On error goto ErrHndl
+ Dim initArgs(0), oMSF, oStyleFamilies, oFamily, oStyle As Object
+ Dim oSFNames As Variant
+ Dim oFamilyName As String
+ Dim printXML As Boolean
+ Dim filter As Variant
+ Dim expString As String
+ Dim Tag1, Tag2, Tag3 As Variant
+
+ printXML = true
+ expString = "NewStyle"
+ oMSF = getProcessServiceManager()
+ oDoc = utils.createImpressDocument(cObjectName)
+ oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
+
+ Tag1 = Array("office:document-styles")
+ Tag2 = Array("office:styles")
+ Tag3 = Array("style:style", "style:name", expString)
+ filter = Array( _
+ Array("TagEnclosed", Tag2, Tag1), _
+ Array("TagEnclosed", Tag3, Tag2) _
+ )
+
+ oDocHandler.initialize(filter)
+
+ initArgs(0) = oDocHandler
+ aInitArgs = initArgs()
+ oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Impress.XMLStylesExporter", initArgs())
+
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oSFNames = oStyleFamilies.getElementNames()
+ oFamilyName = oSFNames(0)
+ oFamily = oStyleFamilies.getByName(oFamilyName)
+ oStyle = oDoc.createInstance("com.sun.star.style.Style")
+ oFamily.insertByName(expString, oStyle)
+
+ oObj.setSourceDocument(oDoc)
+
+ Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
+ aFilterDescr(0).Name = "FilterName"
+ aFilterDescr(0).Value = "simpress: StarOffice XML (Impress)"
+ oFilterDescriptor = aFilterDescr()
+
+ oSrcDocument = oDoc
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global oDocHandler As Object
+
+Function checkFilter() As Boolean
+ checkFilter = oDocHandler.getByName("XMLIsCorrect")
+ Out.Log(oDocHandler.getByName("XMLCode"))
+End Function
+</script:module>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/script.xlb b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/script.xlb
new file mode 100644
index 000000000000..ca13dec7f9c1
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="xmloff_Impress_XMLStylesImporter" library:readonly="false" library:passwordprotected="false">
+"<library:element library:name="xmloff_Impress_XMLStylesImporter"/>
+"</library:library>
diff --git a/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/xmloff_Impress_XMLStylesImporter.xba b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/xmloff_Impress_XMLStylesImporter.xba
new file mode 100644
index 000000000000..9b64c3997631
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/xmloff/Impress/XMLStylesImporter/xmloff_Impress_XMLStylesImporter.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="xmloff_Impress_XMLStylesImporter" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' Required for com.sun.star.xml.sax.XDocumentHandler
+ Global vXMLData As Variant
+
+' Required for procedure CheckImport
+ Global sStyleName As String
+
+' Required for com.sun.star.document.XImporter:
+ Global oSrcDocument As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' xmloff.Impress.XMLStylesImporter
+'*************************************************************************
+On Error Goto ErrHndl
+ oDoc = utils.createImpressDocument(cObjectName)
+ oObj = createUnoService("com.sun.star.comp.Impress.XMLStylesImporter")
+
+ oSrcDocument = oDoc
+ oObj.setTargetDocument(oDoc)
+
+ sStyleName = "New style for test XMLStylesImporter"
+ vXMLData = Array( _
+ Array("start", "office:document-styles", _
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style", _
+ "xmlns:fo", "CDATA", "http://www.w3.org/1999/XSL/Format", _
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table"), _
+ Array("start", "office:styles"), _
+ Array("start", "style:style", _
+ "style:name", "CDATA", sStyleName, _
+ "style:family", "CDATA", "graphics", _
+ "style:parent-style-name", "CDATA", "standard"), _
+ Array("end", "style:style"), _
+ Array("end", "office:styles"), _
+ Array("end", "office:document-styles"))
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Function CheckImport() As Boolean
+ Dim res As Boolean
+ Dim oStyleFamilies, oFamily As Object
+ out.log("checking of import...")
+ oStyleFamilies = oDoc.getStyleFamilies()
+ oFamily = oStyleFamilies.getByName("graphics")
+ res = oFamily.hasByName(sStyleName)
+ out.log("checking result: " + res)
+ CheckImport() = res
+End Function
+</script:module>
diff --git a/qadevOOo/tests/java/complex/unoapi/CheckModuleAPI.java b/qadevOOo/tests/java/complex/unoapi/CheckModuleAPI.java
new file mode 100644
index 000000000000..bf05553bcb6d
--- /dev/null
+++ b/qadevOOo/tests/java/complex/unoapi/CheckModuleAPI.java
@@ -0,0 +1,654 @@
+/*
+ * ************************************************************************
+ *
+ * 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.
+ *
+ * **********************************************************************
+ */
+/** complex tests to check the UNO-API
+ **/
+package complex.unoapi;
+
+// imports
+import base.java_complex;
+import complexlib.ComplexTestCase;
+import helper.OfficeProvider;
+import helper.ParameterNotFoundException;
+import helper.ProcessHandler;
+import com.sun.star.lang.XMultiServiceFactory;
+import helper.BuildEnvTools;
+import helper.ComplexDescGetter;
+import helper.CwsDataExchangeImpl;
+import java.io.File;
+// import java.io.FileFilter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
+import share.DescEntry;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * This Complex Test will test the UNO-API by calling dmake in <B>$MODULE</B>/qa/unoapi<p>
+ * This test depends on some requirments:
+ * The <B>TestJob</B> is <b>-o complex.unoapi.CheckModuleAPI::module(<CODE>MODULE</CODE>)</b><p> where <CODE>MODULE</CODE>
+ * could be the following:<p>
+ * <ul>
+ * <li><b>all</b> iterates over <CODE>SRC_ROOT</CODE> and call <CODE>dmake</CODE> in all qa/unoapi folder</li><p>
+ * <li><b>$module</b> call dmake in $module/qa/unoapi folder</li><p>
+ * <li><b>$module1,$module2,...</b> call dmake in $module1/qa/unoapi folder then in $module2/qa/unoapi folder and so on</li><p>
+ * </ul><p>
+ *
+ * Also you have to fill the following parameter:
+ * <ul>
+ * <li><b>SHELL</b>: fill this parameter with a shell</li>
+ * </ul>
+ *
+ */
+public class CheckModuleAPI extends ComplexTestCase
+{
+
+ private static String mSRC_ROOT = null;
+ private static boolean mIsInitialized = false;
+ private final static boolean mContinue = true;
+ private static boolean mDebug = false;
+ private static BuildEnvTools bet = null;
+
+ /**
+ * Initialize the test environment.
+ * This method checks for all neccesarry parameter and exit if not all parameter are set.
+ *
+ * Further this method starts an office instance and gets the office some more time to start. This is because
+ * some freshly installed offices don not have such a user tree. The office will create it on its first start,
+ * but this will take some time.
+ * Note: This funktionality is only reasonable with parameter <CODE>-noOffice true</CODE>
+ */
+ public void before()
+ {
+
+ if (!mIsInitialized)
+ {
+ mIsInitialized = true;
+
+ try
+ {
+
+ bet = new BuildEnvTools(param, log);
+
+ }
+ catch (ParameterNotFoundException ex)
+ {
+ this.failed(ex.toString(), false);
+ }
+
+ mSRC_ROOT = bet.getSrcRoot();
+
+ mDebug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ }
+ }
+
+ /**
+ * let API tests run.
+ * @param module
+ */
+ public void checkModule(String module)
+ {
+ log.println(utils.getDateTime() + ": start testing module '" + module + "'");
+
+ log.println(utils.getDateTime() + "start new Office instance...");
+
+ // TODO: is Office started with this program?
+ final OfficeProvider officeProvider = new OfficeProvider();
+
+ log.println(utils.getDateTime() + "Receiving the ServiceManager of the Office ");
+ final XMultiServiceFactory msf = (XMultiServiceFactory) officeProvider.getManager(param);
+ assure("couldnot get ServiceFarcotry", msf != null, mContinue);
+ param.put("ServiceFactory", msf);
+
+ final String sep = System.getProperty("file.separator");
+ final String sUnoapi = getModulePath(module);
+ final File fUnoapi = new File(sUnoapi);
+ final String sMakeFile = sUnoapi + sep + "makefile.mk";
+ final File fMakeFile = new File(sMakeFile);
+ assure("ERROR: could not find makefile: '" + sMakeFile + "'", fMakeFile.exists(), mContinue);
+
+ final String[] commands = getDmakeCommands(sUnoapi);
+
+ final ProcessHandler procHdl = bet.runCommandsInEnvironmentShell(commands, fUnoapi, 0);
+ log.println("exit code of dmake: " + procHdl.getExitCode());
+ String test = procHdl.getOutputText();
+ test += procHdl.getErrorText();
+// if (mDebug) {
+// log.println("---> Output of dmake:");
+// log.println(procHdl.getOutputText());
+// log.println("<--- Output of dmake:");
+// log.println("---> Error output of dmake:");
+// log.println(procHdl.getErrorText());
+// log.println("<--- Error output of dmake:");
+// }
+ assure("module '" + module + "' failed", verifyOutput(test), mContinue);
+ log.println(utils.getDateTime() + " module '" + module + "': kill existing office...");
+
+ // TODO: how to check if the office is not started with this process.
+ boolean bNoOffice = param.getBool("NoOffice");
+ if (!bNoOffice)
+ {
+ try
+ {
+ officeProvider.closeExistingOffice(param, true);
+ }
+ catch (java.lang.UnsatisfiedLinkError exception)
+ {
+ log.println("Office seems not to be running");
+ }
+ }
+ }
+ private String getQaUnoApiPath(String srcRoot, String _sModul)
+ {
+ File aFile = new File(srcRoot);
+ if (!aFile.exists())
+ {
+ System.out.println("ERROR: srcRoot '" + srcRoot + "' does not exist.");
+ return null;
+ }
+ String sModulePath = srcRoot;
+ sModulePath += File.separator;
+ sModulePath += _sModul;
+
+ File aModulePath = new File(sModulePath);
+ if (! aModulePath.exists())
+ {
+ aModulePath = new File(sModulePath + ".lnk");
+ if (! aModulePath.exists())
+ {
+ aModulePath = new File(sModulePath + ".link");
+ if (! aModulePath.exists())
+ {
+ // module does not exist.
+ return null;
+ }
+ }
+ }
+ sModulePath = aModulePath.getAbsolutePath();
+ sModulePath += File.separator;
+ sModulePath += "qa";
+ sModulePath += File.separator;
+ sModulePath += "unoapi";
+ File aModulePathQaUnoApi = new File(sModulePath);
+ if (aModulePathQaUnoApi.exists())
+ {
+ return aModulePathQaUnoApi.getAbsolutePath();
+ }
+ return null;
+ }
+ private boolean doesQaUnoApiFolderExist(String srcRoot, String _sModul)
+ {
+ if (getQaUnoApiPath(srcRoot, _sModul) != null)
+ {
+ return true;
+ }
+ return false;
+ }
+/*
+ private boolean doesQaUnoApiFolderExist(File srcRoot)
+ {
+ final FolderFilter qaFilter = new FolderFilter("qa");
+ final File[] qaTree = srcRoot.listFiles(qaFilter);
+ if (qaTree != null)
+ {
+ for (int j = 0; j < qaTree.length; j++)
+ {
+ final File qaFolder = qaTree[j];
+ final FolderFilter apiFilter = new FolderFilter("unoapi");
+ final File[] apiTree = qaFolder.listFiles(apiFilter);
+ if (apiTree != null && apiTree.length > 0)
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+*/
+
+ private String[] getAllModuleCommand()
+ {
+ String[] checkModules;
+
+ final String[] names = getModulesFromSourceRoot();
+ checkModules = getCheckModuleCommand(names);
+
+ return checkModules;
+ }
+
+ private String[] getCheckModuleCommand(String[] names)
+ {
+ String[] checkModules;
+ checkModules = new String[names.length];
+
+ for (int i = 0; i < names.length; i++)
+ {
+ // if a module is not added to a cws it contains a dot in its name (forms.lnk)
+ if (names[i].indexOf(".") != -1)
+ {
+ checkModules[i] = "checkModule(" + names[i].substring(0, names[i].indexOf(".")) + ")";
+ }
+ else
+ {
+ checkModules[i] = "checkModule(" + names[i] + ")";
+ }
+ }
+ return checkModules;
+ }
+
+ private String[] getDmakeCommands(String sUnoapi)
+ {
+
+ String[] cmdLines = null;
+ final String platform = (String) param.get(PropertyName.OPERATING_SYSTEM);
+ log.println("prepare command for platform " + platform);
+
+ if (platform.equals(PropertyName.WNTMSCI))
+ {
+ if (param.getBool(PropertyName.CYGWIN))
+ {
+ // cygwin stuff
+ cmdLines = new String[]
+ {
+ "cd `cygpath '" + sUnoapi.replaceAll("\\\\", "\\\\\\\\") + "'`",
+ "dmake"
+ };
+ }
+ else
+ {
+ // old 4NT
+ cmdLines = new String[]
+ {
+ "cdd " + sUnoapi,
+ "dmake"
+ };
+ }
+ }
+ else
+ {
+ // unix
+ cmdLines = new String[]
+ {
+ "cd " + sUnoapi,
+ "dmake"
+ };
+ }
+ return cmdLines;
+ }
+
+ private String[] getCwsModuleCommand()
+ {
+ String[] checkModules;
+ final String version = (String) param.get(PropertyName.VERSION);
+ String[] names = null;
+ if (version.startsWith("cws_"))
+ {
+ try
+ {
+ // cws version: all added modules must be tested
+ final String cws = version.substring(4, version.length());
+ final CwsDataExchangeImpl cde = new CwsDataExchangeImpl(cws, param, log);
+ final ArrayList addedModules = cde.getModules();
+
+ final ArrayList moduleNames = new ArrayList();
+ Iterator iterator = addedModules.iterator();
+ while (iterator.hasNext())
+ {
+ String sModuleName = (String) iterator.next();
+ // String sFilename = mSRC_ROOT; // + File.separator + sModuleName;
+ // final File sourceRoot = new File(sFilename);
+ if (doesQaUnoApiFolderExist(mSRC_ROOT, sModuleName))
+ {
+ moduleNames.add(sModuleName);
+ }
+ }
+ names = (String[]) moduleNames.toArray(new String[0]);
+ }
+ catch (ParameterNotFoundException ex)
+ {
+ this.failed(ex.toString(), false);
+ }
+
+
+ }
+ else
+ {
+ // major version: all modules must be tested
+ names = getModulesFromSourceRoot();
+ }
+ checkModules = getCheckModuleCommand(names);
+
+ return checkModules;
+ }
+
+ private String[] getDefinedModuleCommand(String module)
+ {
+ String[] checkModules = null;
+ // list of modules to test: (sw,sc,sd)
+ if (module.indexOf(",") != -1)
+ {
+ final String[] names = module.split(",");
+ checkModules = new String[names.length];
+ for (int i = 0; i < names.length; i++)
+ {
+ final String moduleName = names[i].trim();
+
+// File sourceRoot = new File(mSRC_ROOT + File.separator + moduleName);
+// if (!sourceRoot.exists())
+// {
+// sourceRoot = new File(mSRC_ROOT + File.separator + moduleName + ".lnk");
+// }
+
+ if (doesQaUnoApiFolderExist(mSRC_ROOT, moduleName))
+ {
+ checkModules[i] = "checkModule(" + moduleName + ")";
+ }
+ }
+ }
+ else
+ {
+// File sourceRoot = new File(mSRC_ROOT + File.separator + module);
+// if (!sourceRoot.exists())
+// {
+// sourceRoot = new File(mSRC_ROOT + File.separator + module + ".lnk");
+// }
+ if (doesQaUnoApiFolderExist(mSRC_ROOT, module))
+ {
+ checkModules = new String[]
+ {
+ "checkModule(" + module + ")"
+ };
+ }
+ }
+ return checkModules;
+ }
+
+ private String getModulePath(String module)
+ {
+
+ // String sUnoapi = null;
+ // final String sep = System.getProperty("file.separator");
+ // final File srcRoot = new File(mSRC_ROOT);
+
+ // final FolderFilter qaFilter = new FolderFilter(module);
+ // final File[] moduleTree = srcRoot.listFiles(qaFilter);
+// if (moduleTree != null)
+// {
+// if (mDebug)
+// {
+// log.println("moduleTree length:" + moduleTree.length);
+// log.println("moduleTree: " + moduleTree[0].getAbsolutePath());
+// }
+// if (moduleTree != null)
+// {
+// sUnoapi = moduleTree[0].getAbsolutePath() + sep + "qa" + sep + "unoapi";
+// }
+// }
+ String sUnoapi = getQaUnoApiPath(mSRC_ROOT, module);
+ return sUnoapi;
+ }
+
+ /**
+ Some modules contains more the one project. This methods translates given project paramater to the
+ * correspind module name.
+ *
+ * fwk -> framework
+ * fwl -> framework
+ * sch -> chart2
+ * lnn -> lingu
+ * lng -> linguistic
+ * sfx -> sfx2
+ * sm -> starmath
+ */
+ private String getTranslatedNames(String module)
+ {
+
+ final HashMap aModuleHashMap = new HashMap();
+
+ aModuleHashMap.put("fwk", "framework");
+ aModuleHashMap.put("fwl", "framework");
+ aModuleHashMap.put("sch", "chart2");
+ aModuleHashMap.put("lnn", "lingu");
+ aModuleHashMap.put("lng", "linguistic");
+ aModuleHashMap.put("sfx", "sfx2");
+ aModuleHashMap.put("sm", "starmath");
+
+ // it could the that the parameter looks like "fwk,fwl". This results in double "famework,framework".
+ // The following loop correct this to only one "framework"
+
+ final Set keys = aModuleHashMap.keySet();
+ final Iterator iterator = keys.iterator();
+ while (iterator.hasNext())
+ {
+
+ final String key = (String) iterator.next();
+ final String value = (String) aModuleHashMap.get(key);
+
+ module = module.replaceAll(key, value);
+
+ final int count = module.split(value).length;
+ if (count > 2)
+ {
+ for (int i = 2; i < count; i++)
+ {
+ module.replaceFirst("," + value, "");
+ }
+
+ }
+ }
+ return module;
+ }
+
+ private boolean verifyOutput(String output)
+ {
+
+ log.println("verify output...");
+ boolean ok = false;
+ final String[] outs = output.split("\n");
+
+ for (int i = 0; i < outs.length; i++)
+ {
+ final String line = outs[i];
+ if (line.matches("[0-9]+? of [0-9]+? tests failed"))
+ {
+ log.println("mached line: " + line);
+ if (line.matches("0 of [0-9]+? tests failed"))
+ {
+ ok = true;
+ log.println("Module passed OK");
+ }
+ else
+ {
+ log.println("Module passed FAILED");
+ }
+ }
+ }
+
+ if (!ok)
+ {
+ log.println("ERROR: could not find '0 of [0-9]+? tests failed' in output");
+ }
+
+ return ok;
+ }
+
+ private String[] getModulesFromSourceRoot()
+ {
+ log.println("**** run module tests over all modules ****");
+
+ log.println("search for qa/unoapi foldres in all modules based in ");
+ log.println("'" + mSRC_ROOT + "'");
+
+ final ArrayList moduleNames = new ArrayList();
+ final File sourceRoot = new File(mSRC_ROOT);
+ final File[] sourceTree = sourceRoot.listFiles();
+
+// assure("Could not find any files in SOURCE_ROOT=" + mSRC_ROOT, sourceTree != null, false);
+
+ for (int i = 0; i < sourceTree.length; i++)
+ {
+ final File moduleName = sourceTree[i];
+ String sModuleName = moduleName.getName(); // (String)moduleNames.get(i);
+ if (doesQaUnoApiFolderExist(mSRC_ROOT, sModuleName))
+ {
+ // addIfQaUnoApiFolderExist(moduleName, moduleNames);
+ moduleNames.add(sModuleName);
+ }
+ }
+
+ final String[] names = (String[]) moduleNames.toArray(new String[0]);
+ return names;
+ }
+
+ /**
+ * This function generates a list of modules to test and call <CODE>checkModule</CODE> for every module.
+ * <p>
+ *
+ * @param module names to test. This could be
+ * <ul>
+ * <li>a comma separated list of modules like 'sw,sc,sd'</li>
+ * <li>'all' to test all modules </li>
+ * <li>'auto' to check only modules which are added to the ChildWorkSpace</li>
+ * </ul>
+ */
+ public void module(String module)
+ {
+
+ String[] checkModules;
+ final ComplexDescGetter desc = new ComplexDescGetter();
+ DescEntry entry = null;
+ module = module.trim();
+
+ /*
+ all: check all modules which contains a qa/unoapi folder
+ auto: check all modules which contains a qa/unoapi folder except the module is not added
+ */
+ if (module.equals("all"))
+ {
+ checkModules = getAllModuleCommand();
+ }
+ else if (module.equals("auto"))
+ {
+ checkModules = getCwsModuleCommand();
+ }
+ else
+ {
+ module = getTranslatedNames(module);
+ checkModules = getDefinedModuleCommand(module);
+ }
+
+ if (checkModules != null && checkModules.length > 0)
+ {
+
+ entry = desc.createTestDesc("complex.unoapi.CheckModuleAPI", "complex.unoapi.CheckModuleAPI", checkModules,
+ log);
+
+ final java_complex complex = new java_complex();
+
+ log.println("********** start test *************");
+ final boolean result = complex.executeTest(param, new DescEntry[] { entry });
+ log.println("********** end test *************");
+
+ assure("CheckModuleAPI.module(" + module + ") PASSED.FAILED", result);
+
+ }
+ else
+ {
+ log.println("No modules containing qa/unoapi folder found => OK");
+ state = true;
+ }
+
+ setUnoApiCwsStatus(state);
+
+ }
+
+ private void setUnoApiCwsStatus(boolean status)
+ {
+
+ if (!param.getBool(PropertyName.NO_CWS_ATTACH))
+ {
+
+ final String version = (String) param.get(PropertyName.VERSION);
+ if (version.startsWith("cws_"))
+ {
+ try
+ {
+
+ // cws version: all added modules must be tested
+ final String cws = version.substring(4, version.length());
+ final CwsDataExchangeImpl cde = new CwsDataExchangeImpl(cws, param, log);
+ cde.setUnoApiCwsStatus(status);
+ }
+ catch (ParameterNotFoundException ex)
+ {
+ log.println("ERROR: could not wirte status to EIS database: " + ex.toString());
+ }
+ }
+ }
+ }
+
+ public String[] getTestMethodNames()
+ {
+ return new String[]
+ {
+ "module(all)"
+ };
+ }
+
+// class _FolderFilter implements FileFilter
+// {
+//
+// private String mFolderName;
+//
+// public FolderFilter(String folderName)
+// {
+// mFolderName = folderName;
+// }
+//
+// public boolean accept_(File pathname)
+// {
+//
+// boolean found = false;
+// if (pathname.isDirectory())
+// {
+// if (pathname.getName().equals(mFolderName))
+// {
+// found = true;
+// }
+// else if (pathname.getName().equals(mFolderName + ".lnk"))
+// {
+// found = true;
+// }
+// }
+// return found;
+// }
+// }
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessible.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessible.java
new file mode 100644
index 000000000000..f4f302114c9d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessible.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessible</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getAccessibleContext()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessible
+ */
+public class _XAccessible extends MultiMethodTest {
+
+
+ public XAccessible oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not null value returned.
+ */
+ public void _getAccessibleContext() {
+ XAccessibleContext ac = oObj.getAccessibleContext();
+ tRes.tested("getAccessibleContext()",ac != null);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java
new file mode 100644
index 000000000000..f9ef9e52c1e6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import com.sun.star.accessibility.XAccessibleAction;
+
+public class _XAccessibleAction extends lib.MultiMethodTest {
+
+ public XAccessibleAction oObj = null;
+ public int count = 0;
+
+ /**
+ * calls the method and stores the result in the <br>
+ * variable count. Is OK if no excpetion occurs
+ */
+
+ public void _getAccessibleActionCount() {
+ count = oObj.getAccessibleActionCount();
+ tRes.tested("getAccessibleActionCount()",count > 0);
+ }
+
+ /**
+ * calls the method with invalid argument and check if the <br>
+ * expected Exception is thrown.<br>
+ * Calls the method afterwards the first valid parameter.<br>
+ * This is the last method called and the environment is disposed<br>
+ * afterwards.
+ */
+
+ public void _doAccessibleAction() {
+ requiredMethod("getAccessibleActionKeyBinding()");
+ boolean res = true;
+
+ log.println("Calling method with wrong argument");
+ try {
+ oObj.doAccessibleAction(count);
+ log.println("Exception expected -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Expected exception -- OK");
+ res &= true;
+ }
+
+ try {
+ boolean act = false;
+ for (int i = 0; i< count; i++) {
+ log.println("do Action "+ oObj.getAccessibleActionDescription(i));
+ act = oObj.doAccessibleAction(i);
+ log.println("Worked: "+act);
+ }
+ log.println("Did action: "+act);
+ res &= act ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Unexepected exception -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("doAccessibleAction()",res);
+ }
+
+ /**
+ * calls the method with invalid argument and check if the <br>
+ * expected Exception is thrown.<br>
+ * Calls the method afterwards all valid parameters.<br>
+ * Is ok if the exception is thrown and the resulting value
+ * for the calls with valid parameters aren't null.
+ */
+
+ public void _getAccessibleActionDescription() {
+ requiredMethod("getAccessibleActionCount()");
+ boolean res = true;
+
+ log.println("Calling method with wrong argument");
+ try {
+ oObj.getAccessibleActionDescription(count);
+ log.println("Exception expected -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Expected exception -- OK");
+ res &= true;
+ }
+
+ for (int i=0;i<count;i++) {
+ try {
+ String desc = oObj.getAccessibleActionDescription(i);
+ log.println("Found action: "+desc);
+ res &= desc!=null ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Unexepected exception -- FAILED");
+ res &= false;
+ }
+ }
+
+ tRes.tested("getAccessibleActionDescription()",res);
+ }
+
+ /**
+ * calls the method with invalid argument and check if the <br>
+ * expected Exception is thrown.<br>
+ * Calls the method afterwards all valid parameters.<br>
+ * Is ok if the exception is thrown and the resulting value
+ * for the calls with valid parameters aren't null.
+ */
+
+ public void _getAccessibleActionKeyBinding() {
+ requiredMethod("getAccessibleActionDescription()");
+ boolean res = true;
+
+ log.println("Calling method with wrong argument");
+ try {
+ oObj.getAccessibleActionKeyBinding(count);
+ log.println("Exception expected -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Expected exception -- OK");
+ res &= true;
+ }
+
+ for (int i=0;i<count;i++) {
+ try {
+ Object key = oObj.getAccessibleActionKeyBinding(i);
+ if (key != null ) {
+ log.println("Found key: "+key.toString());
+ }
+ res &= true;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Unexepected exception -- FAILED");
+ res &= false;
+ }
+ }
+
+ tRes.tested("getAccessibleActionKeyBinding()",res);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java
new file mode 100644
index 000000000000..c5e302451c21
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java
@@ -0,0 +1,651 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.Size;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleComponent</code>
+ * interface methods :
+ * <ul>
+ * <li><code> containsPoint()</code></li>
+ * <li><code> getAccessibleAtPoint()</code></li>
+ * <li><code> getBounds()</code></li>
+ * <li><code> getLocation()</code></li>
+ * <li><code> getLocationOnScreen()</code></li>
+ * <li><code> getSize()</code></li>
+ * <li><code> grabFocus()</code></li>
+ * <li><code> getAccessibleKeyBinding()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ */
+public class _XAccessibleComponent extends MultiMethodTest {
+
+ public XAccessibleComponent oObj = null;
+ private Rectangle bounds = null;
+ private Vector KnownBounds = new Vector();
+
+
+ /**
+ * First checks 4 inner bounds (upper, lower, left and right)
+ * of component bounding box to contain
+ * at least one point of the component. Second 4 outer bounds
+ * are checked to not contain any component points.<p>
+ *
+ * Has <b> OK </b> status if inner bounds contain component points
+ * and outer bounds don't contain any component points. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getBounds() </code> : to have size of a component.</li>
+ * </ul>
+ */
+ public void _containsPoint() {
+ requiredMethod("getBounds()");
+
+ boolean result = true;
+
+ int curX = 0;
+
+ //while (!oObj.containsPoint(new Point(curX, bounds.Y)) && curX < bounds.Width+bounds.X) {
+ while (!oObj.containsPoint(new Point(curX, 0)) &&
+ (curX < bounds.Width)) {
+ curX++;
+ }
+
+ ;
+
+ //if ((bounds.X <= curX) && (curX < bounds.Width+bounds.X)) {
+ if (curX < bounds.Width) {
+ log.println("Upper bound of box containsPoint point (" + curX +
+ ",0) - OK");
+ } else {
+ log.println(
+ "Upper bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ curX = 0;
+
+ //while (!oObj.containsPoint(new Point(curX, bounds.Y+bounds.Height - 1))
+ while (!oObj.containsPoint(new Point(curX, bounds.Height - 1)) &&
+ (curX < bounds.Width)) {
+ log.println("containsPoint returns false for (" + curX + "," +
+ bounds.Height + ")");
+ curX++;
+ }
+
+ ;
+
+ //if ((bounds.X <= curX) && (curX < bounds.Width+bounds.X)) {
+ if (curX < bounds.Width) {
+ log.println("Lower bound of box containsPoint point (" + curX +
+ "," + (bounds.Height - 1) + ") - OK");
+ } else {
+ log.println(
+ "Lower bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ int curY = 0;
+
+ //while (!oObj.containsPoint(new Point(bounds.X, curY)) && curY < bounds.Height+bounds.Y) {
+ while (!oObj.containsPoint(new Point(0, curY)) &&
+ (curY < bounds.Height)) {
+ curY++;
+ }
+
+ ;
+
+ //if ((bounds.Y <= curY) && (curY < bounds.Height+bounds.Y)) {
+ if (curY < bounds.Height) {
+ log.println("Left bound of box containsPoint point (0," + curY +
+ ") - OK");
+ } else {
+ log.println(
+ "Left bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ curY = 0;
+
+ //while (!oObj.containsPoint(new Point(bounds.X+bounds.Width - 1, curY))
+ // && curY < bounds.Height+bounds.Y) {
+ while (!oObj.containsPoint(new Point(bounds.Width - 1, curY)) &&
+ (curY < bounds.Height)) {
+ curY++;
+ }
+
+ ;
+
+ //if ((bounds.Y <= curY) && (curY < bounds.Height + bounds.Y)) {
+ if (curY < bounds.Height) {
+ log.println("Right bound of box containsPoint point (" +
+ (bounds.Width - 1) + "," + curY + ") - OK");
+ } else {
+ log.println(
+ "Right bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ boolean locRes = true;
+
+ for (int x = -1; x <= bounds.Width; x++) {
+ if (oObj.containsPoint(new Point(x, -1))) {
+ log.println(
+ "Outer upper and lower bounds CONTAIN some component point"
+ + " (" + x + ", -1) - FAILED");
+ locRes = false;
+ break;
+ }
+ if (oObj.containsPoint(new Point(x, bounds.Height + bounds.Y))) {
+ log.println(
+ "Outer upper and lower bounds CONTAIN some component point"
+ + " (" + x + ", " + bounds.Height + bounds.Y
+ + ") - FAILED");
+ locRes = false;
+ break;
+ }
+ }
+
+ if (locRes) {
+ log.println("Outer upper and lower bounds contain no component " +
+ "points - OK");
+ } else {
+ result = false;
+ }
+
+ locRes = true;
+
+ for (int y = -1; y <= bounds.Height; y++) {
+ if (oObj.containsPoint(new Point(-1, y))) {
+ log.println(
+ "Outer left and right bounds CONTAIN some component point"
+ + " (-1, " + y + ") - FAILED");
+ locRes = false;
+ break;
+ }
+ if (oObj.containsPoint(new Point(bounds.X + bounds.Width, y))) {
+ log.println(
+ "Outer left and right bounds CONTAIN some component point"
+ + " (" + bounds.X + bounds.Width + ", " + y + ") - FAILED");
+ locRes = false;
+ break;
+ }
+ }
+
+ if (locRes) {
+ log.println("Outer left and right bounds contain no component " +
+ "points - OK");
+ } else {
+ result = false;
+ }
+
+ tRes.tested("containsPoint()", result);
+ }
+
+ /**
+ * Iterates through all children which implement
+ * <code>XAccessibleComponent</code> (if they exist) determines their
+ * boundaries and tries to get each child by <code>getAccessibleAtPoint</code>
+ * passing point which belongs to the child.
+ * Also the point is checked which doesn't belong to child boundary
+ * box. <p>
+ *
+ * Has <b> OK </b> status if in the first cases the right children
+ * are returned, and in the second <code>null</code> or
+ * another child is returned.
+ */
+ public void _getAccessibleAtPoint() {
+ boolean result = true;
+ XAccessibleComponent[] children = getChildrenComponents();
+
+ if (children.length > 0) {
+ for (int i = 0; i < children.length; i++) {
+ Rectangle chBnd = children[i].getBounds();
+
+ if (chBnd.X == -1) {
+ continue;
+ }
+
+ log.println("Checking child with bounds " + "(" + chBnd.X +
+ "," + chBnd.Y + "),(" + chBnd.Width + "," +
+ chBnd.Height + "): " +
+ util.AccessibilityTools.accessibleToString(
+ children[i]));
+
+ XAccessibleContext xAc = (XAccessibleContext) UnoRuntime.queryInterface(
+ XAccessibleContext.class,
+ children[i]);
+
+ boolean MightBeCovered = false;
+ boolean isShowing = xAc.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+ log.println("\tStateType containsPoint SHOWING: " +
+ isShowing);
+
+ if (!isShowing) {
+ log.println("Child is invisible - OK");
+
+ continue;
+ }
+
+ log.println("finding the point which lies on the component");
+
+ int curX = chBnd.Width / 2;
+ int curY = chBnd.Height / 2;
+
+ while (!children[i].containsPoint(new Point(curX, curY)) &&
+ (curX > 0) && (curY > 0)) {
+ curX--;
+ curY--;
+ }
+
+ ;
+
+ if ((curX == chBnd.Width) && isShowing) {
+ log.println("Couldn't find a point with containsPoint");
+
+ continue;
+ }
+
+ // trying the point laying on child
+ XAccessible xAcc = oObj.getAccessibleAtPoint(
+ new Point(chBnd.X + curX,
+ chBnd.Y + curY));
+
+
+ Point p = new Point(chBnd.X + curX,chBnd.X + curX);
+
+ if (isCovered(p) && isShowing) {
+ log.println(
+ "Child might be covered by another and can't be reached");
+ MightBeCovered = true;
+ }
+
+ KnownBounds.add(chBnd);
+
+ if (xAcc == null) {
+ log.println("The child not found at point (" +
+ (chBnd.X + curX) + "," + (chBnd.Y + curY) +
+ ") - FAILED");
+
+ if (isShowing) {
+ result = false;
+ } else {
+ result &= true;
+ }
+ } else {
+ XAccessible xAccCh = (XAccessible) UnoRuntime.queryInterface(
+ XAccessible.class,
+ children[i]);
+ XAccessibleContext xAccC = (XAccessibleContext) UnoRuntime.queryInterface(
+ XAccessibleContext.class,
+ children[i]);
+ log.println("Child found at point (" + (chBnd.X + curX) +
+ "," + (chBnd.Y + curY) + ") - OK");
+
+ boolean res = false;
+ int expIndex;
+ String expName;
+ String expDesc;
+
+ if (xAccCh != null) {
+ res = util.AccessibilityTools.equals(xAccCh, xAcc);
+ expIndex = xAccCh.getAccessibleContext()
+ .getAccessibleIndexInParent();
+ expName = xAccCh.getAccessibleContext()
+ .getAccessibleName();
+ expDesc = xAccCh.getAccessibleContext()
+ .getAccessibleDescription();
+ } else {
+ res = xAccC.getAccessibleName()
+ .equals(xAcc.getAccessibleContext()
+ .getAccessibleName());
+ expIndex = xAccC.getAccessibleIndexInParent();
+ expName = xAccC.getAccessibleName();
+ expDesc = xAccC.getAccessibleDescription();
+ }
+
+ if (!res) {
+ int gotIndex = xAcc.getAccessibleContext()
+ .getAccessibleIndexInParent();
+
+ if (expIndex < gotIndex) {
+ log.println("The children found is not the same");
+ log.println("The expected child " + expName);
+ log.print("is hidden behind the found Child ");
+ log.println(xAcc.getAccessibleContext()
+ .getAccessibleName() + " - OK");
+ } else {
+ log.println(
+ "The children found is not the same");
+ log.println("Expected: " + expName);
+ log.println("Description: " + expDesc);
+ log.println("Found: " +
+ xAcc.getAccessibleContext()
+ .getAccessibleName());
+ log.println("Description: " +
+ xAcc.getAccessibleContext()
+ .getAccessibleDescription());
+ if (MightBeCovered) {
+ log.println("... Child is covered by another - OK");
+ } else {
+ log.println("... FAILED");
+ result = false;
+ }
+
+ }
+ }
+ }
+
+
+ // trying the point NOT laying on child
+ xAcc = oObj.getAccessibleAtPoint(
+ new Point(chBnd.X - 1, chBnd.Y - 1));
+
+ if (xAcc == null) {
+ log.println("No children found at point (" +
+ (chBnd.X - 1) + "," + (chBnd.Y - 1) +
+ ") - OK");
+ result &= true;
+ } else {
+ XAccessible xAccCh = (XAccessible) UnoRuntime.queryInterface(
+ XAccessible.class,
+ children[i]);
+ boolean res = util.AccessibilityTools.equals(xAccCh, xAcc);
+
+ if (res) {
+ log.println("The same child found outside " +
+ "its bounds at (" + (chBnd.X - 1) + "," +
+ (chBnd.Y - 1) + ") - FAILED");
+ result = false;
+ }
+ }
+ }
+ } else {
+ log.println("There are no children supporting " +
+ "XAccessibleComponent");
+ }
+
+ tRes.tested("getAccessibleAtPoint()", result);
+ }
+
+ /**
+ * Retrieves the component bounds and stores it. <p>
+ *
+ * Has <b> OK </b> status if boundary position (x,y) is not negative
+ * and size (Width, Height) is greater than 0.
+ */
+ public void _getBounds() {
+ boolean result = true;
+
+ bounds = oObj.getBounds();
+ result &= ((bounds != null) && (bounds.X >= 0) && (bounds.Y >= 0) && (bounds.Width > 0) && (bounds.Height > 0));
+
+ log.println("Bounds = " +
+ ((bounds != null)
+ ? ("(" + bounds.X + "," + bounds.Y + "),(" +
+ bounds.Width + "," + bounds.Height + ")") : "null"));
+
+ tRes.tested("getBounds()", result);
+ }
+
+ /**
+ * Gets the location. <p>
+ *
+ * Has <b> OK </b> status if the location is the same as location
+ * of boundary obtained by <code>getBounds()</code> method.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getBounds() </code> : to have bounds </li>
+ * </ul>
+ */
+ public void _getLocation() {
+ requiredMethod("getBounds()");
+
+ boolean result = true;
+ Point loc = oObj.getLocation();
+
+ result &= ((loc.X == bounds.X) && (loc.Y == bounds.Y));
+
+ tRes.tested("getLocation()", result);
+ }
+
+ /**
+ * Get the screen location of the component and its parent
+ * (if it exists and supports <code>XAccessibleComponent</code>). <p>
+ *
+ * Has <b> OK </b> status if component screen location equals
+ * to screen location of its parent plus location of the component
+ * relative to the parent. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getBounds() </code> : to have location of the component
+ * relative to its parent</li>
+ * </ul>
+ */
+ public void _getLocationOnScreen() {
+ requiredMethod("getBounds()");
+
+ XAccessibleComponent parent = getParentComponent();
+
+ boolean result = true;
+ Point loc = oObj.getLocationOnScreen();
+ log.println("Location is (" + loc.X + "," + loc.Y + ")");
+
+ if (parent != null) {
+ Point parLoc = parent.getLocationOnScreen();
+ log.println("Parent location is (" + parLoc.X + "," + parLoc.Y +
+ ")");
+
+ result &= ((parLoc.X + bounds.X) == loc.X);
+ result &= ((parLoc.Y + bounds.Y) == loc.Y);
+ }
+
+ tRes.tested("getLocationOnScreen()", result);
+ }
+
+ /**
+ * Obtains the size of the component. <p>
+ *
+ * Has <b> OK </b> status if the size is the same as in bounds. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getBounds() </code> </li>
+ * </ul>
+ */
+ public void _getSize() {
+ requiredMethod("getBounds()");
+
+ boolean result = true;
+ Size size = oObj.getSize();
+
+ result &= (size.Width == bounds.Width);
+ result &= (size.Height == bounds.Height);
+
+ tRes.tested("getSize()", result);
+ }
+
+ /**
+ * Just calls the method. <p>
+ *
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _grabFocus() {
+ boolean result = true;
+ oObj.grabFocus();
+
+ tRes.tested("grabFocus()", result);
+ }
+
+ /**
+ * Retrieves all children (not more than 50) of the current
+ * component which support <code>XAccessibleComponent</code>.
+ *
+ * @return The array of children. Empty array returned if
+ * such children were not found or some error occured.
+ */
+ private XAccessibleComponent[] getChildrenComponents() {
+ XAccessible xAcc = (XAccessible) UnoRuntime.queryInterface(
+ XAccessible.class, oObj);
+
+ if (xAcc == null) {
+ log.println("Component doesn't support XAccessible.");
+
+ return new XAccessibleComponent[0];
+ }
+
+ XAccessibleContext xAccCon = xAcc.getAccessibleContext();
+ int cnt = xAccCon.getAccessibleChildCount();
+
+ // for cases when too many children exist checking only first 50
+ if (cnt > 50) {
+ cnt = 50;
+ }
+
+ Vector childComp = new Vector();
+
+ for (int i = 0; i < cnt; i++) {
+ try {
+ XAccessible child = xAccCon.getAccessibleChild(i);
+ XAccessibleContext xAccConCh = child.getAccessibleContext();
+ XAccessibleComponent xChAccComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ xAccConCh);
+
+ if (xChAccComp != null) {
+ childComp.add(xChAccComp);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+
+ return (XAccessibleComponent[]) childComp.toArray(
+ new XAccessibleComponent[childComp.size()]);
+ }
+
+ /**
+ * Gets the parent of the current component which support
+ * <code>XAccessibleComponent</code>.
+ *
+ * @return The parent or <code>null</code> if the component
+ * has no parent or some errors occured.
+ */
+ private XAccessibleComponent getParentComponent() {
+ XAccessible xAcc = (XAccessible) UnoRuntime.queryInterface(
+ XAccessible.class, oObj);
+
+ if (xAcc == null) {
+ log.println("Component doesn't support XAccessible.");
+
+ return null;
+ }
+
+ XAccessibleContext xAccCon = xAcc.getAccessibleContext();
+ XAccessible xAccPar = xAccCon.getAccessibleParent();
+
+ if (xAccPar == null) {
+ log.println("Component has no accessible parent.");
+
+ return null;
+ }
+
+ XAccessibleContext xAccConPar = xAccPar.getAccessibleContext();
+ XAccessibleComponent parent = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ xAccConPar);
+
+ if (parent == null) {
+ log.println(
+ "Accessible parent doesn't support XAccessibleComponent");
+
+ return null;
+ }
+
+ return parent;
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getForeground() {
+ int forColor = oObj.getForeground();
+ log.println("getForeground(): " + forColor);
+ tRes.tested("getForeground()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getBackground() {
+ int backColor = oObj.getBackground();
+ log.println("getBackground(): " + backColor);
+ tRes.tested("getBackground()", true);
+ }
+
+ /**
+ * Restores initial component text.
+ */
+ protected void after() {
+ if (tEnv.getObjRelation("Destroy") != null) {
+ disposeEnvironment();
+ }
+ }
+
+ private boolean isCovered(Point p) {
+ int elements = KnownBounds.size();
+ boolean Covered = false;
+ for (int k=0;k<elements;k++) {
+ Rectangle known = (Rectangle) KnownBounds.get(k);
+ Covered = (known.X < p.X);
+ Covered &= (known.Y < p.Y);
+ Covered &= (p.Y < known.Y+known.Height);
+ Covered &= (p.X < known.X+known.Width);
+
+ if (Covered) {
+ break;
+ }
+ }
+ return Covered;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java
new file mode 100644
index 000000000000..47b24a337f2c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java
@@ -0,0 +1,354 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import com.sun.star.accessibility.IllegalAccessibleComponentStateException;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleRelationSet;
+import com.sun.star.accessibility.XAccessibleStateSet;
+import com.sun.star.lang.Locale;
+
+import lib.MultiMethodTest;
+
+import util.AccessibilityTools;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleContext</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getAccessibleChildCount()</code></li>
+ * <li><code> getAccessibleChild()</code></li>
+ * <li><code> getAccessibleParent()</code></li>
+ * <li><code> getAccessibleIndexInParent()</code></li>
+ * <li><code> getAccessibleRole()</code></li>
+ * <li><code> getAccessibleDescription()</code></li>
+ * <li><code> getAccessibleName()</code></li>
+ * <li><code> getAccessibleRelationSet()</code></li>
+ * <li><code> getAccessibleStateSet()</code></li>
+ * <li><code> getLocale()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleContext
+ */
+public class _XAccessibleContext extends MultiMethodTest {
+ private static final String className = "com.sun.star.accessibility.XAccessibleContext";
+ public XAccessibleContext oObj = null;
+ private int childCount = 0;
+ private XAccessible parent = null;
+
+ // temporary while accessibility package is in com.sun.star
+ protected String getTestedClassName() {
+ return className;
+ }
+
+ /**
+ * Calls the method and stores the number of children. <p>
+ * Has <b> OK </b> status if non-negative number rutrned.
+ */
+ public void _getAccessibleChildCount() {
+ childCount = oObj.getAccessibleChildCount();
+ log.println("" + childCount + " children found.");
+ tRes.tested("getAccessibleChildCount()", childCount > -1);
+ }
+
+ /**
+ * Tries to get every child and checks its parent. <p>
+ *
+ * Has <b> OK </b> status if parent of every child
+ * and the tested component are the same objects.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAccessibleChildCount() </code> : to have a number of
+ * children </li>
+ * </ul>
+ */
+ public void _getAccessibleChild() {
+ requiredMethod("getAccessibleChildCount()");
+
+ log.println("testing 'getAccessibleChild()'...");
+
+ boolean bOK = true;
+ int counter = childCount;
+
+ if (childCount > 500) {
+ counter = 500;
+ }
+
+ for (int i = 0; i < counter; i++) {
+ try {
+ XAccessible ch = oObj.getAccessibleChild(i);
+ XAccessibleContext chAC = ch.getAccessibleContext();
+
+ log.println("## Child " + i + ": " +
+ chAC.getAccessibleDescription());
+
+ if (!AccessibilityTools.equals(chAC.getAccessibleParent()
+ .getAccessibleContext(),
+ oObj)) {
+ log.println("The parent of child and component " +
+ "itself differ.");
+ log.println("\tRole:");
+ log.println("Getting: " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleRole());
+ log.println("Expected: " + oObj.getAccessibleRole());
+
+ log.println("\tImplementationName:");
+ log.println("Getting: " +
+ util.utils.getImplName(
+ chAC.getAccessibleParent()
+ .getAccessibleContext()));
+ log.println("Expected: " + util.utils.getImplName(oObj));
+
+ log.println("\tAccessibleDescription:");
+ log.println("Getting(Description): " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleDescription());
+ log.println("Expected(Description): " +
+ oObj.getAccessibleDescription());
+
+ log.println("\tAccessibleName:");
+ log.println("Getting(Name): " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleName());
+ log.println("Expected(Name): " +
+ oObj.getAccessibleName());
+
+ log.println("\tChildCount:");
+ log.println("Getting: " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleChildCount());
+ log.println("Expected: " +
+ oObj.getAccessibleChildCount());
+
+ log.println("\tParentName:");
+ log.println("Getting (Name): " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleName());
+ log.println("Expected(Name): " +
+ oObj.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleName());
+
+ log.println("##");
+ bOK = false;
+ } else {
+ log.println("Role: " + chAC.getAccessibleRole());
+ log.println("Name: " + chAC.getAccessibleName());
+ log.println("IndexInParent: " +
+ chAC.getAccessibleIndexInParent());
+ log.println("ImplementationName: " +
+ util.utils.getImplName(chAC));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ bOK = false;
+ }
+ }
+
+ tRes.tested("getAccessibleChild()", bOK);
+ }
+
+ /**
+ * Just gets the parent. <p>
+ *
+ * Has <b> OK </b> status if parent is not null.
+ */
+ public void _getAccessibleParent() {
+ // assume that the component is not ROOT
+ parent = oObj.getAccessibleParent();
+ tRes.tested("getAccessibleParent()", parent != null);
+ }
+
+ /**
+ * Retrieves the index of tested component in its parent.
+ * Then gets the parent's child by this index and compares
+ * it with tested component.<p>
+ *
+ * Has <b> OK </b> status if the parent's child and the tested
+ * component are the same objects.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAccessibleParent() </code> : to have a parent </li>
+ * </ul>
+ */
+ public void _getAccessibleIndexInParent() {
+ requiredMethod("getAccessibleParent()");
+
+ boolean bOK = true;
+ int idx = oObj.getAccessibleIndexInParent();
+
+ XAccessibleContext parentAC = parent.getAccessibleContext();
+
+ try {
+ if (parentAC.getAccessibleChild(idx) == null) {
+ log.println("Parent has no child with this index");
+ bOK &= false;
+ } else {
+ bOK &= AccessibilityTools.equals(parentAC.getAccessibleChild(
+ idx)
+ .getAccessibleContext(),
+ oObj);
+ }
+
+ if (!bOK) {
+ log.println("Expected: " + util.utils.getImplName(oObj));
+
+ if (parentAC.getAccessibleChild(idx) != null) {
+ log.println("Getting: " +
+ util.utils.getImplName(
+ parentAC.getAccessibleChild(idx)
+ .getAccessibleContext()));
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ bOK = false;
+ }
+
+ tRes.tested("getAccessibleIndexInParent()", bOK);
+ }
+
+ /**
+ * Get the accessible role of component. <p>
+ *
+ * Has <b> OK </b> status if non-negative number rutrned.
+ */
+ public void _getAccessibleRole() {
+ short role = oObj.getAccessibleRole();
+ log.println("The role is " + role);
+ tRes.tested("getAccessibleRole()", role > -1);
+ }
+
+ /**
+ * Get the accessible name of the component. <p>
+ *
+ * Has <b> OK </b> status if the name has non-zero length.
+ */
+ public void _getAccessibleName() {
+ String name = oObj.getAccessibleName();
+ log.println("The name is '" + name + "'");
+ tRes.tested("getAccessibleName()", name != null);
+ }
+
+ /**
+ * Get the accessible description of the component. <p>
+ *
+ * Has <b> OK </b> status if the description has non-zero length.
+ */
+ public void _getAccessibleDescription() {
+ String descr = oObj.getAccessibleDescription();
+ log.println("The description is '" + descr + "'");
+ tRes.tested("getAccessibleDescription()", descr != null);
+ }
+
+ /**
+ * Just gets the set. <p>
+ *
+ * Has <b> OK </b> status if the set is not null.
+ */
+ public void _getAccessibleRelationSet() {
+ XAccessibleRelationSet set = oObj.getAccessibleRelationSet();
+ tRes.tested("getAccessibleRelationSet()", true);
+ }
+
+ /**
+ * Just gets the set. <p>
+ *
+ * Has <b> OK </b> status if the set is not null.
+ */
+ public void _getAccessibleStateSet() {
+ XAccessibleStateSet set = oObj.getAccessibleStateSet();
+ boolean res = true;
+ String[] expectedStateNames = (String[]) tEnv.getObjRelation(
+ "expectedStateNames");
+ short[] expectedStates = (short[]) tEnv.getObjRelation(
+ "expectedStates");
+
+ if ((expectedStateNames != null) && (expectedStates != null)) {
+ res = checkStates(expectedStateNames, expectedStates, set);
+ } else {
+ res = set != null;
+ }
+
+ tRes.tested("getAccessibleStateSet()", res);
+ }
+
+ /**
+ * Gets the locale. <p>
+ *
+ * Has <b> OK </b> status if <code>Country</code> and
+ * <code>Language</code> fields of locale structure
+ * are not empty.
+ */
+ public void _getLocale() {
+ Locale loc = null;
+
+ try {
+ loc = oObj.getLocale();
+ log.println("The locale is " + loc.Language + "," + loc.Country);
+ } catch (IllegalAccessibleComponentStateException e) {
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("getLocale()",
+ (loc != null) && (loc.Language.length() > 0));
+ }
+
+ protected boolean checkStates(String[] expectedStateNames,
+ short[] expectedStates,
+ XAccessibleStateSet set) {
+ boolean works = true;
+
+ for (int k = 0; k < expectedStateNames.length; k++) {
+ boolean contains = set.contains(expectedStates[k]);
+
+ if (contains) {
+ log.println("Set contains " + expectedStateNames[k] +
+ " ... OK");
+ works &= true;
+ } else {
+ log.println("Set doesn't contain " + expectedStateNames[k] +
+ " ... FAILED");
+ works &= false;
+ }
+ }
+
+ return works;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java
new file mode 100644
index 000000000000..eac528b41121
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java
@@ -0,0 +1,542 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.beans.PropertyValue;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleEditableText</code>
+ * interface methods :
+ * <ul>
+ * <li><code> cutText()</code></li>
+ * <li><code> pasteText()</code></li>
+ * <li><code> deleteText()</code></li>
+ * <li><code> insertText()</code></li>
+ * <li><code> replaceText()</code></li>
+ * <li><code> setAttributes()</code></li>
+ * <li><code> setText()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleEditableText.hasAttr'</code>
+ * (of type <code>Boolean</code>):
+ * Indicates whether or not the text has changeable attributes.
+ * E.g. text within writer document have attributes which can
+ * be changed, while the text within edit field has fixed
+ * attributes. <p>
+ * If the relation is <code>false</code> then the component
+ * has fixed text attributes. </li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEditableText
+ */
+public class _XAccessibleEditableText extends MultiMethodTest {
+
+ public XAccessibleEditableText oObj = null;
+
+
+ String pasteText = null;
+
+ String initialText = "";
+
+ /**
+ * Indicates whether or not the text has changeable attributes.
+ * E.g. text within writer document have attributes which can
+ * be changed, while the text within edit field has fixed
+ * attributes.
+ */
+ private boolean changeableAttr = true;
+
+ /**
+ * Retrieves object relation. Stores initial component text
+ * for restoding it in <code>after</code>.
+ */
+ protected void before() {
+ Boolean b = (Boolean)
+ tEnv.getObjRelation("XAccessibleEditableText.hasAttr");
+ if (b != null) {
+ changeableAttr = b.booleanValue();
+ }
+
+ initialText = oObj.getText();
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes.
+ * Stores cutted text in the variable <code>pasteText</code>.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes.
+ */
+ public void _cutText() {
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String oldText = oObj.getText();
+ log.println("Text: '" + oldText + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("cutText(-1," + (length-1) + "): ");
+ locRes = oObj.cutText(-1, length - 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(oldText);
+ }
+
+ try {
+ log.print("cutText(0," + (length+1) + "): ");
+ locRes = oObj.cutText(0, length + 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(oldText);
+ }
+
+ try {
+ pasteText = oldText;
+ log.print("cutText(0," + length + "): ");
+ locRes = oObj.cutText(0, length);
+ log.println(locRes);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.length() == 0 && locRes;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("cutText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if cutted text was
+ * pasted.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>cutText()</code> </li>
+ * </ul>
+ */
+ public void _pasteText() {
+ requiredMethod("cutText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("pasteText(-1): ");
+ locRes = oObj.pasteText(-1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("pasteText(" + (length+1) + "): ");
+ locRes = oObj.pasteText(length + 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("pasteText(" + (length) + "): ");
+ locRes = oObj.pasteText(length);
+ log.println(locRes);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text + pasteText) && locRes;
+ log.println("Expected text: '" + text + pasteText + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("pasteText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks text after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if deleted string
+ * was really deleted from the text.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>insertText()</code> </li>
+ * </ul>
+ */
+ public void _deleteText() {
+ executeMethod("insertText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("deleteText(-1," + length + "): ");
+ locRes = oObj.deleteText(-1, length);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("deleteText(0," + (length+1) + "): ");
+ locRes = oObj.deleteText(0, length + 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ if (length >= 1) {
+ log.print("deleteText(" + (length-1) + "," + (length) + "): ");
+ locRes = oObj.deleteText(length - 1, length);
+ log.println(locRes);
+ String expStr = expStr = text.substring(0, length - 1);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(expStr);
+ log.println("Expected text: '" + expStr + "'");
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("deleteText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks text after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if inserted string
+ * was really inserted into the text.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>pasteText()</code> </li>
+ * </ul>
+ */
+ public void _insertText() {
+ executeMethod("pasteText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ final String insStr = "Inserted string";
+
+ try {
+ log.print("insertText(insStr, -1): ");
+ locRes = oObj.insertText(insStr, -1);
+ log.println(locRes);
+ log.println("exception was expected=> FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("insertText(insStr," + (length+1) + "): ");
+ locRes = oObj.insertText(insStr, length+1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("insertText(insStr," + length + "): ");
+ locRes = oObj.insertText(insStr, length);
+ log.println(locRes);
+ curText = oObj.getText();
+ res &= curText.equals(text + insStr);
+ log.println("Current text: '" + curText + "'");
+ log.println("Expected text: '" + text + insStr + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("insertText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks text after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if part of text
+ * was really replaced by the specified replacement string.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>deleteText()</code> </li>
+ * </ul>
+ */
+ public void _replaceText() {
+ executeMethod("deleteText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ final String sReplacement = "String for replace";
+ String oldText = oObj.getText();
+ int startIndx = oldText.length();
+ oObj.setText(oldText + " part of string for replace");
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("replaceText(-1," + length + "): ");
+ locRes = oObj.replaceText(-1, length, sReplacement);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("replaceText(0," + (length+1) + "): ");
+ locRes = oObj.replaceText(0, length + 1, sReplacement);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("replaceText(" + startIndx + "," + length + "): ");
+ locRes = oObj.replaceText(startIndx, length, sReplacement);
+ log.println(locRes);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ log.println("Expected text: '" + oldText + sReplacement + "'");
+ res &= curText.equals(oldText + sReplacement);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("replaceText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks attributes after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if attributes
+ * of text was changed.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>replaceText()</code> </li>
+ * </ul>
+ */
+ public void _setAttributes() {
+ executeMethod("replaceText()");
+ boolean res = true;
+ boolean locRes = true;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Length: " + length);
+
+ PropertyValue[] attrs = null;
+
+ try {
+ attrs = oObj.getCharacterAttributes(0, new String[]{""});
+ log.print("setAttributes(-1," + (length - 1) + "):");
+ locRes = oObj.setAttributes(-1, length - 1, attrs);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ res &= true;
+ }
+
+ try {
+ log.print("setAttributes(0," + (length+1) + "):");
+ locRes = oObj.setAttributes(0, length + 1, attrs);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ res &= true;
+ }
+
+ //change old attributes set
+ for(int i = 0; i < attrs.length; i++) {
+ if (attrs[i].Name.equals("CharColor")) {
+ attrs[i].Value = new Integer(-2);
+ }
+ }
+
+ try {
+ log.print("setAttributes(0," + length + "):");
+ locRes = oObj.setAttributes(0, length, attrs);
+ log.println(locRes);
+ res &= (changeableAttr && locRes)
+ || (!changeableAttr && !locRes);
+ if (changeableAttr) {
+ log.print("checking that new attributes was set...");
+ PropertyValue[] newAttrs = oObj.getCharacterAttributes(0, new String[]{""});
+ locRes = ValueComparer.equalValue(attrs, newAttrs);
+ log.println(locRes);
+ res &= locRes;
+ } else {
+ log.println("Text attributes can't be changed.");
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("setAttributes()", res);
+ }
+
+ /**
+ * Calls the method with different parameters and checks text.
+ */
+ public void _setText() {
+ executeMethod("setAttributes()");
+ boolean res = true;
+ boolean locRes = true;
+
+ String oldText = oObj.getText();
+ log.println("Current text: '" + oldText + "'");
+
+ String newText = "New text";
+ log.print("setText('" + newText + "'): ");
+ locRes = oObj.setText(newText);
+ log.println(locRes);
+ String newCurText = oObj.getText();
+ log.println("getText(): '" + newCurText + "'");
+ res &= locRes && newCurText.equals(newText);
+
+ newText = "";
+ log.print("setText('" + newText + "'): ");
+ locRes = oObj.setText(newText);
+ log.println(locRes);
+ newCurText = oObj.getText();
+ log.println("getText(): '" + newCurText + "'");
+ res &= locRes && newCurText.equals(newText);
+
+ log.print("setText('" + oldText + "'): ");
+ locRes = oObj.setText(oldText);
+ log.println(locRes);
+ newCurText = oObj.getText();
+ log.println("getText(): '" + newCurText + "'");
+ res &= locRes && newCurText.equals(oldText);
+
+ tRes.tested("setText()", res);
+ }
+
+ /**
+ * Restores initial component text.
+ */
+ protected void after() {
+ oObj.setText(initialText);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java
new file mode 100644
index 000000000000..c1cb7302efce
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java
@@ -0,0 +1,212 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.accessibility.AccessibleEventObject;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEventBroadcaster;
+import com.sun.star.accessibility.XAccessibleEventListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Testing <code>
+ * com.sun.star.accessibility.XAccessibleEventBroadcaster</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addEventListener()</code></li>
+ * <li><code> removeEventListener()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'EventProducer'</code> (of type
+ * <code>ifc.accessibility._XAccessibleEventBroadcaster.EventProducer</code>):
+ * this must be an implementation of the interface which could perform
+ * some actions for generating any kind of <code>AccessibleEvent</code></li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+public class _XAccessibleEventBroadcaster extends MultiMethodTest {
+
+ public static interface EventProducer {
+ void fireEvent();
+ }
+
+ public XAccessibleEventBroadcaster oObj = null;
+ public String EventMsg = "";
+ public boolean destroy = false;
+
+
+ /**
+ * Listener implementation which registers listener calls.
+ */
+ private class EvListener implements XAccessibleEventListener {
+ public AccessibleEventObject notifiedEvent = null ;
+ public void notifyEvent(AccessibleEventObject ev) {
+ log.println("Listener, Event : " + ev.EventId);
+ System.out.println("EventID: " + ev.EventId);
+ Object old=ev.OldValue;
+ if (old instanceof com.sun.star.accessibility.XAccessible) {
+ System.out.println("Old: "+((XAccessible)old).getAccessibleContext().getAccessibleName());
+ }
+
+ Object nev=ev.NewValue;
+ if (nev instanceof com.sun.star.accessibility.XAccessible) {
+ System.out.println("New: "+((XAccessible)nev).getAccessibleContext().getAccessibleName());
+ }
+ notifiedEvent = ev;
+ }
+
+ public void disposing(EventObject ev) {}
+ }
+
+ /**
+ * Retrieves relation.
+ * @throws StatusException If the relation is not found.
+ */
+ public void before() {
+ prod = (EventProducer) tEnv.getObjRelation("EventProducer") ;
+ if (prod == null) {
+ throw new StatusException(Status.failed("Relation missed."));
+ }
+ EventMsg = (String) tEnv.getObjRelation("EventMsg");
+ Object dp = tEnv.getObjRelation("Destroy");
+ if (dp != null) {
+ destroy=true;
+ }
+ }
+
+ EventProducer prod = null ;
+ EvListener list = new EvListener();
+
+ /**
+ * Adds two listeners and fires event by mean of object relation. <p>
+ * Has <b> OK </b> status if both listeners were called
+ */
+ public void _addEventListener() {
+ log.println("adding listener");
+ oObj.addEventListener(list);
+ boolean isTransient = chkTransient(tEnv.getTestObject());
+ log.println("fire event");
+ prod.fireEvent() ;
+
+ try {
+ Thread.sleep(3000);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ boolean works = true;
+
+ if (list.notifiedEvent == null) {
+ if (!isTransient) {
+ log.println("listener wasn't called");
+ works = false;
+ } else {
+ log.println("Object is Transient, listener isn't expected to be called");
+ }
+ oObj.removeEventListener(list);
+ }
+
+ if (EventMsg != null) {
+ log.println(EventMsg);
+ tRes.tested("addEventListener()", Status.skipped(true) );
+ return;
+ }
+
+ tRes.tested("addEventListener()", works );
+ }
+
+ /**
+ * Removes one of two listeners added before and and fires event
+ * by mean of object relation. <p>
+ *
+ * Has <b> OK </b> status if the removed listener wasn't called. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>addEventListener()</code> : to have added listeners </li>
+ * </ul>
+ */
+ public void _removeEventListener() {
+ requiredMethod("addEventListener()");
+
+ list.notifiedEvent = null;
+
+ log.println("remove listener");
+ oObj.removeEventListener(list);
+
+ log.println("fire event");
+ prod.fireEvent() ;
+
+ try {
+ Thread.sleep(500);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ if (list.notifiedEvent == null) {
+ log.println("listener wasn't called -- OK");
+ }
+
+ tRes.tested("removeEventListener()", list.notifiedEvent == null);
+
+ }
+
+ protected static boolean chkTransient(Object Testcase) {
+ boolean ret = false;
+ XAccessibleContext accCon = (XAccessibleContext)
+ UnoRuntime.queryInterface(XAccessibleContext.class,Testcase);
+ if (accCon.getAccessibleStateSet().contains(
+ com.sun.star.accessibility.AccessibleStateType.TRANSIENT)){
+ if (!accCon.getAccessibleParent().getAccessibleContext().getAccessibleStateSet().contains(
+ com.sun.star.accessibility.AccessibleStateType.MANAGES_DESCENDANTS)) {
+ throw new lib.StatusException(lib.Status.failed("Parent doesn't manage descendents"));
+ }
+ ret=true;
+ }
+ return ret;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ if (destroy) disposeEnvironment();
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java
new file mode 100644
index 000000000000..422cfa96e334
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessibleExtendedComponent;
+import com.sun.star.awt.XFont;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleExtendedComponent</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getForeground()</code></li>
+ * <li><code> getBackground()</code></li>
+ * <li><code> getFont()</code></li>
+ * <li><code> isEnabled()</code></li>
+ * <li><code> getTitledBorderText()</code></li>
+ * <li><code> getToolTipText()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ */
+public class _XAccessibleExtendedComponent extends MultiMethodTest {
+
+ public XAccessibleExtendedComponent oObj = null;
+
+ /**
+ * Just calls the method.
+ * deprecated from version srx644g 29.10.02 on
+ *
+ public void _getForeground() {
+ int forColor = oObj.getForeground();
+ log.println("getForeground(): " + forColor);
+ tRes.tested("getForeground()", true);
+ }
+
+ /**
+ * Just calls the method.
+ * deprecated from version srx644g 29.10.02 on
+ *
+ public void _getBackground() {
+ int backColor = oObj.getBackground();
+ log.println("getBackground(): " + backColor);
+ tRes.tested("getBackground()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getFont() {
+ XFont font = oObj.getFont();
+ log.println("getFont(): " + font);
+ tRes.tested("getFont()", true);
+ }
+
+ /**
+ * Calls the method and compares returned value with value that was
+ * returned by the method
+ * <code>XAccessibleStateSet.contains(AccessibleStateType.ENABLED)</code>.
+ * Has OK status if returned values are equal.
+ * deprecated from version srx644g 29.10.02 on
+ *
+ public void _isEnabled() {
+ boolean isEnabled = oObj.isEnabled();
+ log.println("isEnabled(): " + isEnabled);
+
+ boolean res = true;
+
+ XAccessibleStateSet accStateSet = (XAccessibleStateSet)
+ UnoRuntime.queryInterface(XAccessibleStateSet.class, oObj);
+
+ if (accStateSet != null) {
+ res = accStateSet.contains(AccessibleStateType.ENABLED)==isEnabled;
+ }
+
+ tRes.tested("isEnabled()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned value isn't null.
+ */
+ public void _getTitledBorderText() {
+ String titleBorderText = oObj.getTitledBorderText();
+ log.println("getTitledBorderText(): '" + titleBorderText + "'");
+ tRes.tested("getTitledBorderText()", titleBorderText != null);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned value isn't null.
+ */
+ public void _getToolTipText() {
+ String toolTipText = oObj.getToolTipText();
+ log.println("getToolTipText(): '" + toolTipText + "'");
+ tRes.tested("getToolTipText()", toolTipText != null);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java
new file mode 100644
index 000000000000..7a4dfafff615
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessibleImage;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleImage</code>
+ * interface methods :
+ * <ul>
+ * <li><code>getAccessibleImageDescription()</code></li>
+ * <li><code>getAccessibleImageHeight()</code></li>
+ * <li><code>getAccessibleImageWidth()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleImage
+ */
+public class _XAccessibleImage extends MultiMethodTest {
+
+ public XAccessibleImage oObj = null;
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleImageDescription() {
+ String descr = oObj.getAccessibleImageDescription();
+ log.println("getAccessibleImageDescription(): '" + descr + "'");
+ tRes.tested("getAccessibleImageDescription()", descr != null);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleImageHeight() {
+ int height = oObj.getAccessibleImageHeight();
+ log.println("getAccessibleImageHeight(): " + height);
+ tRes.tested("getAccessibleImageHeight()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleImageWidth() {
+ int width = oObj.getAccessibleImageWidth();
+ log.println("getAccessibleImageWidth(): " + width);
+ tRes.tested("getAccessibleImageWidth()", true);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java
new file mode 100644
index 000000000000..e575e332845b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java
@@ -0,0 +1,600 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleSelection</code>
+ * interface methods :
+ * <ul>
+ * <li><code>selectAccessibleChild()</code></li>
+ * <li><code>isAccessibleChildSelected()</code></li>
+ * <li><code>clearAccessibleSelection()</code></li>
+ * <li><code>selectAllAccessibleChildren()</code></li>
+ * <li><code>getSelectedAccessibleChildCount()</code></li>
+ * <li><code>getSelectedAccessibleChild()</code></li>
+ * <li><code>deselectAccessibleChild()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * (of type <code>Boolean</code>) <b> optional </b>:
+ * Indicates whether or not mutiply children could be selected.
+ * If the relation is <code>false</code> then more than 1 child
+ * couldn't be selected. </li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ */
+public class _XAccessibleSelection extends MultiMethodTest {
+ private static final String className = "com.sun.star.accessibility.XAccessibleSelection";
+ public XAccessibleSelection oObj = null;
+ XAccessibleContext xAC = null;
+ int childCount;
+ protected boolean multiSelection = true;
+ protected boolean OneAlwaysSelected = false;
+
+ // temporary while accessibility package is in com.sun.star
+ protected String getTestedClassName() {
+ return className;
+ }
+
+ /**
+ * Retrieves the interface <code>XAccessibleContext</code>
+ * and object relation.
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility.XAccessibleContext
+ */
+ protected void before() {
+ xAC = (XAccessibleContext) UnoRuntime.queryInterface(
+ XAccessibleContext.class, oObj);
+
+ if (xAC == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't query XAccessibleContext. Test must be modified"));
+ }
+
+ Boolean b = (Boolean) tEnv.getObjRelation(
+ "XAccessibleSelection.multiSelection");
+
+ if (b != null) {
+ multiSelection = b.booleanValue();
+ }
+
+ Boolean b2 = (Boolean) tEnv.getObjRelation(
+ "XAccessibleSelection.OneAlwaysSelected");
+
+ if (b2 != null) {
+ OneAlwaysSelected = b2.booleanValue();
+ }
+
+ childCount = xAC.getAccessibleChildCount();
+ log.println("Child count: " + childCount);
+ }
+
+ /**
+ * Selects accessible child with index some wrong indexes
+ * and with legal index.
+ * Has OK status if exception was thrown for wrong indexes
+ * and if exception wasn't thrown for correct index.
+ */
+ public void _selectAccessibleChild() {
+ boolean res = true;
+
+ try {
+ log.println("Try to select child with index " + childCount);
+ oObj.selectAccessibleChild(childCount);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.println("Try to select child with index -1");
+ oObj.selectAccessibleChild(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ log.println("ChildCount: " + childCount);
+
+ int usedChilds = childCount;
+
+ if (childCount > 500) {
+ log.println("Restricting to 500");
+ usedChilds = 500;
+ }
+
+ if (usedChilds > 0) {
+ try {
+ for (int i = 0; i < usedChilds; i++) {
+ log.print("Trying to select child with index " + i + ": ");
+
+ if (isSelectable(tEnv.getTestObject(), i)) {
+ oObj.selectAccessibleChild(i);
+ log.println("OK");
+ } else {
+ log.println("Child isn't selectable");
+ }
+ }
+
+ res &= true;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("selectAccessibleChild()", res);
+ }
+
+ /**
+ * Calls the method with the wrong index and with the correct index.
+ * Has OK status if exception was thrown for wrong index and
+ * if exception wasn't thrown for the correct index.
+ */
+ public void _isAccessibleChildSelected() {
+ executeMethod("selectAccessibleChild()");
+
+ boolean res = true;
+ boolean isSelected = false;
+
+ try {
+ log.print("isAccessibleChildSelected(-1)? ");
+ isSelected = oObj.isAccessibleChildSelected(-1);
+ log.println(res);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.print("isAccessibleChildSelected(" + childCount + ")? ");
+ isSelected = oObj.isAccessibleChildSelected(childCount);
+ log.println(isSelected);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ int SelectableChildCount = chkSelectable(tEnv.getTestObject());
+
+ if (SelectableChildCount > 500) {
+ SelectableChildCount = 500;
+ }
+
+ log.println("SelectableChildCount: " + SelectableChildCount);
+
+ if (SelectableChildCount > 0) {
+ try {
+ oObj.selectAllAccessibleChildren();
+
+ for (int k = 0; k < SelectableChildCount; k++) {
+ log.println("Trying to select child with index " + k);
+
+ if (isSelectable(tEnv.getTestObject(), k)) {
+ oObj.selectAccessibleChild(k);
+ shortWait();
+ isSelected = oObj.isAccessibleChildSelected(k);
+ log.println("isAccessibleChildSelected - " +
+ isSelected);
+ res &= isSelected;
+ } else {
+ log.println("Child isn't selectable");
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("isAccessibleChildSelected()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if the method <code>isAccessibleChildSelected()</code>
+ * returned <code>false</code>.
+ */
+ public void _clearAccessibleSelection() {
+ executeMethod("isAccessibleChildSelected()");
+
+ boolean res = true;
+
+ log.println("clearAccessibleSelection");
+ oObj.clearAccessibleSelection();
+
+
+ // clearAccessibleSelection() call is oneway so we need
+ // some waiting
+ shortWait();
+
+ if ((childCount > 0) && !OneAlwaysSelected) {
+ try {
+ log.print("isAccessibleChildSelected(" + (childCount - 1) +
+ ")? ");
+
+ boolean isSel = oObj.isAccessibleChildSelected(childCount - 1);
+ log.println(isSel);
+ res = !isSel;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ } else if (OneAlwaysSelected) {
+ log.println("Can't clear selection, one child is always selected");
+ }
+
+ tRes.tested("clearAccessibleSelection()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if the method <code>isAccessibleChildSelected()</code>
+ * returns <code>true</code> for first and for last accessible child
+ * or if multiselection is not allowed.
+ */
+ public void _selectAllAccessibleChildren() {
+ executeMethod("clearAccessibleSelection()");
+
+ log.println("selectAllAccessibleChildren...");
+ oObj.selectAllAccessibleChildren();
+
+
+ // selectAllAccessibleChildren() call is oneway so we need
+ // some waiting
+ shortWait();
+
+ boolean res = true;
+ boolean isSelected = true;
+
+ int SelectableChildCount = chkSelectable(tEnv.getTestObject());
+
+ if ((SelectableChildCount > 0) && multiSelection) {
+ try {
+ log.print("isAccessibleChildSelected(1)? ");
+ isSelected = oObj.isAccessibleChildSelected(1);
+ log.println(isSelected);
+ res = isSelected;
+
+ log.print("isAccessibleChildSelected(" + (childCount - 1) +
+ ")? ");
+ isSelected = oObj.isAccessibleChildSelected(childCount - 1);
+ log.println(isSelected);
+ res &= isSelected;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("selectAllAccessibleChildren()", res);
+ }
+
+ /**
+ * Calls the method. Clears accessible selection and calls the method again.
+ * <p>
+ * Has OK status if the method returns number equal to number of accessible
+ * child count after first call if multiselection allowed, or
+ * 1 returned if multiselection not allowed.
+ * And if the method returns a zero after clearing selection.
+ */
+ public void _getSelectedAccessibleChildCount() {
+ log.println("getSelectedAccessibleChildCount():");
+
+ if (multiSelection) {
+ oObj.selectAllAccessibleChildren();
+ } else {
+ int usedChilds = childCount;
+
+ if (childCount > 500) {
+ log.println("Restricting to 500");
+ usedChilds = 500;
+ }
+
+ if (usedChilds > 0) {
+ try {
+ for (int i = 0; i < usedChilds; i++) {
+
+ if (isSelectable(tEnv.getTestObject(), i)) {
+ log.print("Trying to select child with index "+i+": ");
+ oObj.selectAccessibleChild(i);
+ long curtime = System.currentTimeMillis();
+ long checktime = System.currentTimeMillis();
+
+ while (!oObj.isAccessibleChildSelected(i) && (checktime-curtime<5000)) {
+ checktime = System.currentTimeMillis();
+ }
+
+ log.println("OK");
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ }
+ }
+ }
+
+ int sCount = chkSelectable(tEnv.getTestObject());
+ log.println("Found " + sCount + " selectable Childs");
+
+ int selectedCount = oObj.getSelectedAccessibleChildCount();
+ log.println("After selecting all accessible " + selectedCount +
+ " are selected");
+
+ boolean res = true;
+
+ if (multiSelection) {
+ res &= (selectedCount == sCount);
+ } else {
+ res &= (selectedCount == 1);
+ }
+
+ log.println("clearAccessibleSelection...");
+ oObj.clearAccessibleSelection();
+ log.print("getSelectedAccessibleChildCount: ");
+ selectedCount = oObj.getSelectedAccessibleChildCount();
+ log.println(selectedCount);
+
+ if (OneAlwaysSelected) {
+ res &= (selectedCount == 1);
+ } else {
+ res &= (selectedCount == 0);
+ }
+
+ tRes.tested("getSelectedAccessibleChildCount()", res);
+ }
+
+ /**
+ * Calls the method with wrong and correct indexes.
+ * Has OK status if exception was thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if the method have returned a not null for the correct index.
+ */
+ public void _getSelectedAccessibleChild() {
+ executeMethod("getSelectedAccessibleChildCount()");
+
+ boolean res = true;
+ int selectedCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount: " + selectedCount);
+
+ try {
+ log.println("getSelectedAccessibleChild(-1)");
+ oObj.getSelectedAccessibleChild(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.println("getSelectedAccessibleChild(" + selectedCount + ")");
+ oObj.getSelectedAccessibleChild(selectedCount);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ int SelectableChildCount = chkSelectable(tEnv.getTestObject());
+
+ if (SelectableChildCount > 500) {
+ SelectableChildCount = 500;
+ }
+
+ if (SelectableChildCount > 0) {
+ int k = 0;
+ try {
+ for (k = 0; k < SelectableChildCount; k++) {
+ log.println("Trying to select child with index " + k);
+
+ if (isSelectable(tEnv.getTestObject(), k)) {
+ oObj.selectAccessibleChild(k);
+ shortWait();
+ log.println("selected child count: " +
+ oObj.getSelectedAccessibleChildCount());
+ XAccessible selChild = oObj.getSelectedAccessibleChild(0);
+ res &= (selChild != null);
+ log.println("valid child - " + (selChild != null));
+ } else {
+ log.println("Child isn't selectable");
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception: Last relevant calls:\n " +
+ "\toObj.selectAccessibleChild("+k+")\n" +
+ "\toObj.getSelectedAccessibleChild(0)");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("getSelectedAccessibleChild()", res);
+ }
+
+ /**
+ * Calls the method with wrong and with correct indexes.
+ * Has OK status if exceptions were thrown for the calls with
+ * the wrong indexes, if exception wasn't thrown for the call
+ * with correct index and if number of selected child was
+ * decreased after the correct call.
+ */
+ public void _deselectAccessibleChild() {
+ executeMethod("getSelectedAccessibleChild()");
+
+ boolean res = true;
+ int selCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount():" + selCount);
+
+ try {
+ log.println("deselectAccessibleChild(-1)");
+ oObj.deselectAccessibleChild(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("deselectAccessibleChild(" + (childCount + 1) + ")");
+ oObj.deselectAccessibleChild(childCount + 1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ log.println("#################");
+ log.println("Selecting all accessible");
+ oObj.selectAllAccessibleChildren();
+ selCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount():" + selCount);
+
+ if ((childCount > 0) && (selCount > 0)) {
+ try {
+ int maxCount = chkSelectable(tEnv.getTestObject());
+
+ if (childCount > 100) {
+ maxCount = 100;
+ }
+
+ for (int k = 0; k < maxCount; k++) {
+ log.println("deselectAccessibleChild(" + k + ")");
+
+ if (oObj.isAccessibleChildSelected(k)) {
+ oObj.deselectAccessibleChild(k);
+ }
+ }
+
+ int newSelCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount():" +
+ newSelCount);
+
+ if (OneAlwaysSelected && (selCount == 1)) {
+ log.println("One Child is always selected");
+ res &= true;
+ } else {
+ res &= (selCount > newSelCount);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("deselectAccessibleChild()", res);
+ }
+
+ protected static int chkSelectable(Object Testcase) {
+ int ret = 0;
+ XAccessibleContext accCon = (XAccessibleContext) UnoRuntime.queryInterface(
+ XAccessibleContext.class, Testcase);
+ int cc = accCon.getAccessibleChildCount();
+
+ if (cc > 500) {
+ return cc;
+ }
+
+ for (int i = 0; i < cc; i++) {
+ try {
+ if (accCon.getAccessibleChild(i).getAccessibleContext()
+ .getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SELECTABLE)) {
+ ret = ret + 1;
+ System.out.println("Child " + i + " is selectable");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iab) {
+ }
+ }
+
+ return ret;
+ }
+
+ protected static boolean isSelectable(Object Testcase, int index) {
+ XAccessibleContext accCon = (XAccessibleContext) UnoRuntime.queryInterface(
+ XAccessibleContext.class, Testcase);
+ boolean res = false;
+
+ try {
+ if (accCon.getAccessibleChild(index).getAccessibleContext()
+ .getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SELECTABLE)) {
+ res = true;
+ }
+
+ //selecting menuitems or the separator will lead to closing the menu
+ if ((accCon.getAccessibleChild(index).getAccessibleContext()
+ .getAccessibleRole() == AccessibleRole.MENU_ITEM) ||
+ (accCon.getAccessibleChild(index).getAccessibleContext()
+ .getAccessibleRole() == AccessibleRole.SEPARATOR)) {
+ res = false;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Exception while checking for selectability");
+ }
+
+ return res;
+ }
+
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java
new file mode 100644
index 000000000000..fa851bb79ea2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java
@@ -0,0 +1,1010 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.accessibility.XAccessibleTable;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleTable</code>
+ * interface methods :
+ * <ul>
+ * <li><code>getAccessibleRowCount()</code></li>
+ * <li><code>getAccessibleColumnCount()</code></li>
+ * <li><code>getAccessibleRowDescription()</code></li>
+ * <li><code>getAccessibleColumnDescription()</code></li>
+ * <li><code>getAccessibleRowExtentAt()</code></li>
+ * <li><code>getAccessibleColumnExtentAt()</code></li>
+ * <li><code>getAccessibleRowHeaders()</code></li>
+ * <li><code>getAccessibleColumnHeaders()</code></li>
+ * <li><code>getSelectedAccessibleRows()</code></li>
+ * <li><code>getSelectedAccessibleColumns()</code></li>
+ * <li><code>isAccessibleRowSelected()</code></li>
+ * <li><code>isAccessibleColumnSelected()</code></li>
+ * <li><code>getAccessibleCellAt()</code></li>
+ * <li><code>getAccessibleCaption()</code></li>
+ * <li><code>getAccessibleSummary()</code></li>
+ * <li><code>isAccessibleSelected()</code></li>
+ * <li><code>getAccessibleIndex()</code></li>
+ * <li><code>getAccessibleRow()</code></li>
+ * <li><code>getAccessibleColumn()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleTable
+ */
+public class _XAccessibleTable extends MultiMethodTest {
+
+ public XAccessibleTable oObj = null;
+ XAccessibleSelection xASel = null;
+ XAccessibleContext xACont = null;
+
+ protected void before() {
+ xASel = (XAccessibleSelection)
+ UnoRuntime.queryInterface(XAccessibleSelection.class, oObj);
+ if (xASel == null) {
+ log.println("The component doesn't implement the interface " +
+ "XAccessibleSelection.");
+ log.println("This interface is required for more detailed tests.");
+ }
+
+ xACont = (XAccessibleContext)
+ UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+ }
+
+ int rowCount = 0;
+
+ /**
+ * Calls the method and stores the returned value to the variable
+ * <code>rowCount</code>.
+ */
+ public void _getAccessibleRowCount() {
+ rowCount = oObj.getAccessibleRowCount();
+ log.println("Accessible row count: " + rowCount);
+ tRes.tested("getAccessibleRowCount()", true);
+ }
+
+ int colCount = 0;
+
+ /**
+ * Calls the method and stores the returned value to the variable
+ * <code>colCount</code>.
+ */
+ public void _getAccessibleColumnCount() {
+ colCount = oObj.getAccessibleColumnCount();
+ log.println("Accessible column count: " + colCount);
+ tRes.tested("getAccessibleColumnCount()", true);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index,
+ * checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleRowDescription() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleRowDescription(-1): ");
+ String descr = oObj.getAccessibleRowDescription(-1);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowDescription(" + rowCount + "): ");
+ String descr = oObj.getAccessibleRowDescription(rowCount);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowDescription(" + (rowCount - 1) + "): ");
+ String descr =
+ oObj.getAccessibleRowDescription(rowCount - 1);
+ res &= descr != null;
+ log.println("'" + descr + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleRowDescription()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index,
+ * checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleColumnDescription() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleColumnDescription(-1): ");
+ String descr = oObj.getAccessibleColumnDescription(-1);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnDescription(" + colCount + "): ");
+ String descr = oObj.getAccessibleColumnDescription(colCount);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnDescription(" + (colCount - 1) + "): ");
+ String descr =
+ oObj.getAccessibleColumnDescription(colCount - 1);
+ res &= descr != null;
+ log.println("'" + descr + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleColumnDescription()", res);
+ }
+
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameters, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than or is equal to 1.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleRowExtentAt() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleRowExtentAt(-1," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleRowExtentAt(-1, colCount - 1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(" + (rowCount-1) + ",-1):");
+ int ext = oObj.getAccessibleRowExtentAt(rowCount - 1, -1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(0," + colCount + "):");
+ int ext = oObj.getAccessibleRowExtentAt(0, colCount);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(" + rowCount + ",0):");
+ int ext = oObj.getAccessibleRowExtentAt(rowCount, 0);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(" +
+ (rowCount-1) + "," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleRowExtentAt(rowCount-1, colCount - 1);
+ log.println(ext);
+ res &= ext >= 1;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleRowExtentAt()", res);
+ }
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameters, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than or is equal to 1.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleColumnExtentAt() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleColumnExtentAt(-1," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleColumnExtentAt(-1, colCount - 1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(" + (rowCount-1) + ",-1):");
+ int ext = oObj.getAccessibleColumnExtentAt(rowCount - 1, -1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(0," + colCount + "):");
+ int ext = oObj.getAccessibleColumnExtentAt(0, colCount);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(" + rowCount + ",0):");
+ int ext = oObj.getAccessibleColumnExtentAt(rowCount, 0);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(" +
+ (rowCount-1) + "," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleColumnExtentAt(rowCount-1,colCount - 1);
+ log.println(ext);
+ res &= ext >= 1;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleColumnExtentAt()", res);
+ }
+
+ /**
+ * Calls the method and checks a returned value.
+ * Has OK status if returned value isn't <code>null</code>.
+ */
+ public void _getAccessibleRowHeaders() {
+ XAccessibleTable rowHeaders = oObj.getAccessibleRowHeaders();
+ log.println("getAccessibleRowHeaders(): " + rowHeaders);
+ tRes.tested("getAccessibleRowHeaders()", true);
+ }
+
+ /**
+ * Calls the method and checks a returned value.
+ * Has OK status if returned value isn't <code>null</code>.
+ */
+ public void _getAccessibleColumnHeaders() {
+ XAccessibleTable colHeaders = oObj.getAccessibleColumnHeaders();
+ log.println("getAccessibleColumnHeaders(): " + colHeaders);
+ tRes.tested("getAccessibleColumnHeaders()", true);
+ }
+
+ /**
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible childs.
+ * Calls the method and checks a returned sequence.
+ * Has OK status if a returned sequince is in ascending order.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getSelectedAccessibleRows() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+ boolean locRes = true;
+ int selRows[] = null;
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ log.println("getSelectedAccessibleRows()");
+ selRows = oObj.getSelectedAccessibleRows();
+ log.println("Length of the returned sequince: " + selRows.length);
+ if (xASel != null) {
+ res &= selRows.length == rowCount;
+ } else {
+ res &= selRows.length == 0;
+ }
+
+ if (selRows.length > 0) {
+ log.println("Checking that returned sequence is" +
+ " in ascending order");
+ }
+
+ for(int i = 1; i < selRows.length; i++) {
+ locRes &= selRows[i] >= selRows[i - 1];
+ res &= locRes;
+ if (!locRes) {
+ log.println("Element #" + i + ":" + selRows[i] +
+ " is less than element #" + (i-1) + ": " +
+ selRows[i-1]);
+ break;
+ }
+ }
+
+ tRes.tested("getSelectedAccessibleRows()", res);
+ }
+
+ /**
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible childs.
+ * Calls the method and checks a returned sequence.
+ * Has OK status if a returned sequince is in ascending order.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * </ul>
+ */
+ public void _getSelectedAccessibleColumns() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+ boolean locRes = true;
+ int selCols[] = null;
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ log.println("getSelectedAccessibleColumns()");
+ selCols = oObj.getSelectedAccessibleColumns();
+ log.println("Length of the returned sequince: " + selCols.length);
+
+ if (xASel != null) {
+ res &= selCols.length == colCount;
+ } else {
+ res &= selCols.length == 0;
+ }
+
+ if (selCols.length > 0) {
+ log.println("Checking that returned sequence is" +
+ " in ascending order");
+ }
+
+ for(int i = 1; i < selCols.length; i++) {
+ locRes &= selCols[i] >= selCols[i - 1];
+ res &= locRes;
+ if (!locRes) {
+ log.println("Element #" + i + ":" + selCols[i] +
+ " is less than element #" + (i-1) + ": " +
+ selCols[i-1]);
+ break;
+ }
+ }
+
+ tRes.tested("getSelectedAccessibleColumns()", res);
+ }
+
+ /**
+ * Calls the method with invalid indexes.
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible childs.
+ * Calls the method for every row and checks returned values.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _isAccessibleRowSelected() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+ boolean locRes = true;
+
+ try {
+ log.print("isAccessibleRowSelected(-1): ");
+ locRes = oObj.isAccessibleRowSelected(-1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleRowSelected(" + rowCount + "): ");
+ locRes = oObj.isAccessibleRowSelected(rowCount);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ try {
+ log.println("Checking of every row selection...");
+ for(int i = 0; i < rowCount; i++) {
+ boolean isSel = oObj.isAccessibleRowSelected(i);
+ locRes = (xASel == null) ? !isSel : isSel;
+ res &= locRes;
+ if (!locRes) {
+ log.println("isAccessibleRowSelected(" + i + "): " + isSel);
+ break;
+ }
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("isAccessibleRowSelected()", res);
+ }
+
+ /**
+ * Calls the method with invalid indexes.
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible childs.
+ * Calls the method for every column and checks returned values.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _isAccessibleColumnSelected() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+ boolean locRes = true;
+
+ try {
+ log.print("isAccessibleColumnSelected(-1): ");
+ locRes = oObj.isAccessibleColumnSelected(-1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleColumnSelected(" + colCount + "): ");
+ locRes = oObj.isAccessibleColumnSelected(colCount);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ try {
+ log.println("Checking of every column selection...");
+ for(int i = 0; i < colCount; i++) {
+ boolean isSel = oObj.isAccessibleColumnSelected(i);
+ locRes = (xASel == null) ? !isSel : isSel;
+ res &= locRes;
+ if (!locRes) {
+ log.println("isAccessibleColumnSelected(" + i + "): " + isSel);
+ break;
+ }
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("isAccessibleColumnSelected()", res);
+ }
+
+ XAccessible xCellAc = null;
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value and stores it to the variable
+ * <code>xCellAc</code>.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't null.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleCellAt() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleCellAt(-1," + (colCount-1) + "):");
+ xCellAc = oObj.getAccessibleCellAt(-1, colCount - 1);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(" + (rowCount-1) + ",-1):");
+ xCellAc = oObj.getAccessibleCellAt(rowCount - 1, -1);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(0, " + colCount + "):");
+ xCellAc = oObj.getAccessibleCellAt(0, colCount);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(" + rowCount + ",0):");
+ XAccessible xCellAc = oObj.getAccessibleCellAt(rowCount, 0);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(" + (rowCount-1) + "," +
+ (colCount-1) + "): ");
+ xCellAc = oObj.getAccessibleCellAt(
+ rowCount - 1, colCount - 1);
+ log.println(xCellAc);
+ res &= xCellAc != null;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleCellAt()", res);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleCaption() {
+ XAccessible caption = oObj.getAccessibleCaption();
+ log.println("getAccessibleCaption(): " + caption);
+ tRes.tested("getAccessibleCaption()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleSummary() {
+ XAccessible summary = oObj.getAccessibleSummary();
+ log.println("getAccessibleSummary(): " + summary);
+ tRes.tested("getAccessibleSummary()", true);
+ }
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _isAccessibleSelected() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+ boolean locRes = true;
+
+ try {
+ log.print("isAccessibleSelected(-1," + (colCount-1) + "):");
+ locRes = oObj.isAccessibleSelected(-1, colCount - 1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleSelected(" + (rowCount-1) + ",-1):");
+ locRes = oObj.isAccessibleSelected(rowCount - 1, -1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleSelected(0, " + colCount + "):");
+ locRes = oObj.isAccessibleSelected(0, colCount);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleSelected(" + rowCount + ",0):");
+ locRes = oObj.isAccessibleSelected(rowCount, 0);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ try {
+ log.print("isAccessibleSelected(" + (rowCount-1) + "," +
+ (colCount-1) + "): ");
+ boolean isSel = oObj.isAccessibleSelected(
+ rowCount - 1, colCount - 1);
+ log.println(isSel);
+ locRes = (xASel == null) ? !isSel : isSel ;
+ res &= locRes;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("isAccessibleSelected()", res);
+ }
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is equal to value returned by calling
+ * <code>XAccessibleContext::getAccessibleIndexInParent</code> for the cell.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleCellAt()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleIndex() {
+ executeMethod("getAccessibleCellAt()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleIndex(-1," + (colCount-1) + "):");
+ int indx = oObj.getAccessibleIndex(-1, colCount - 1);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(" + (rowCount-1) + ",-1):");
+ int indx = oObj.getAccessibleIndex(rowCount - 1, -1);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(0," + colCount + "):");
+ int indx = oObj.getAccessibleIndex(0, colCount);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(" + rowCount + ",0):");
+ int indx = oObj.getAccessibleIndex(rowCount, 0);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(" + (rowCount-1) + "," +
+ (colCount-1) + "): ");
+ int indx = oObj.getAccessibleIndex(
+ rowCount - 1, colCount - 1);
+ log.println(indx);
+ if (xCellAc != null) {
+ XAccessibleContext xAC = xCellAc.getAccessibleContext();
+ int expIndx = xAC.getAccessibleIndexInParent();
+ log.println("Expected index: " + expIndx);
+ res &= expIndx == indx;
+ } else {
+ res &= true;
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleIndex()", res);
+ }
+
+ /**
+ * Receives an accessible child count using the interface
+ * <code>XAccessibleContext</code>.
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than zero and is less than
+ * accessible row count.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleRow() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+
+ if (xACont != null) {
+ int childCount = xACont.getAccessibleChildCount();
+ log.println("accessible child count: " + childCount);
+
+ try {
+ log.print("getAccessibleRow(" + childCount + "): ");
+ int rowIndx = oObj.getAccessibleRow(childCount);
+ log.println(rowIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRow(" + (childCount-1) + "): ");
+ int rowIndx = oObj.getAccessibleRow(childCount - 1);
+ log.println(rowIndx);
+ res &= (rowIndx >= 0 && rowIndx <= rowCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+ }
+
+ try {
+ log.print("getAccessibleRow(-1): ");
+ int rowIndx = oObj.getAccessibleRow(-1);
+ log.println(rowIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRow(0): ");
+ int rowIndx = oObj.getAccessibleRow(0);
+ log.println(rowIndx);
+ res &= (rowIndx >= 0 && rowIndx <= rowCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleRow()", res);
+ }
+
+ /**
+ * Receives an accessible child count using the interface
+ * <code>XAccessibleContext</code>.
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than zero and is less than
+ * accessible column count.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleColumn() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ if (xACont != null) {
+ int childCount = xACont.getAccessibleChildCount();
+ log.println("accessible child count: " + childCount);
+
+ try {
+ log.print("getAccessibleColumn(" + childCount + "): ");
+ int colIndx = oObj.getAccessibleColumn(childCount);
+ log.println(colIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumn(" + (childCount-1) + "): ");
+ int colIndx = oObj.getAccessibleColumn(childCount - 1);
+ log.println(colIndx);
+ res &= (colIndx >= 0 && colIndx <= colCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+ }
+
+ try {
+ log.print("getAccessibleColumn(-1): ");
+ int colIndx = oObj.getAccessibleColumn(-1);
+ log.println(colIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumn(0): ");
+ int colIndx = oObj.getAccessibleColumn(0);
+ log.println(colIndx);
+ res &= (colIndx >= 0 && colIndx <= rowCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleColumn()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java
new file mode 100644
index 000000000000..c72c25590396
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java
@@ -0,0 +1,1195 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.accessibility.AccessibleTextType;
+import com.sun.star.accessibility.TextSegment;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleText</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getCaretPosition()</code></li>
+ * <li><code> setCaretPosition()</code></li>
+ * <li><code> getCharacter()</code></li>
+ * <li><code> getCharacterAttributes()</code></li>
+ * <li><code> getCharacterBounds()</code></li>
+ * <li><code> getCharacterCount()</code></li>
+ * <li><code> getIndexAtPoint()</code></li>
+ * <li><code> getSelectedText()</code></li>
+ * <li><code> getSelectionStart()</code></li>
+ * <li><code> getSelectionEnd()</code></li>
+ * <li><code> setSelection()</code></li>
+ * <li><code> getText()</code></li>
+ * <li><code> getTextRange()</code></li>
+ * <li><code> getTextAtIndex()</code></li>
+ * <li><code> getTextBeforeIndex()</code></li>
+ * <li><code> getTextBehindIndex()</code></li>
+ * <li><code> copyText()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleText.Text'</code> (of type <code>String</code>)
+ * <b> optional </b> :
+ * the string presentation of component's text. If the relation
+ * is not specified, then text from method <code>getText()</code>
+ * is used.
+ * </li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+public class _XAccessibleText extends MultiMethodTest {
+
+ public XAccessibleText oObj = null;
+ protected com.sun.star.awt.Rectangle bounds = null;
+ String text = null;
+ String editOnly = null;
+ Object LimitedBounds = null;
+ Rectangle chBounds = null;
+ int chCount = 0;
+
+
+ /**
+ * Retrieves a string representation of the component's text.
+ * The length of retrieved string must be greater than zero.
+ */
+ protected void before() {
+ Object xat = tEnv.getObjRelation("XAccessibleText");
+
+ XAccessibleComponent component = null;
+
+ if (xat != null) {
+ oObj = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, xat);
+ component = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class, xat);
+ }
+
+ text = (String) tEnv.getObjRelation("XAccessibleText.Text");
+
+ if (text == null) {
+ text = oObj.getText();
+ }
+
+ if (text.length() == 0) {
+ throw new StatusException(Status.failed(
+ "The length of text must be greater than zero"));
+ }
+
+ editOnly = (String) tEnv.getObjRelation("EditOnly");
+ LimitedBounds = tEnv.getObjRelation("LimitedBounds");
+
+ if (component == null) {
+ component = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ tEnv.getTestObject());
+ }
+
+ bounds = component.getBounds();
+
+ log.println("Text is '" + text + "'");
+ System.out.println("############################");
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned value is equal to <code>chCount - 1</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setCaretPosition()</code> </li>
+ * </ul>
+ */
+ public void _getCaretPosition() {
+ requiredMethod("getCharacterCount()");
+
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ boolean res = true;
+ boolean sc = true;
+
+ try {
+ oObj.setCaretPosition(chCount - 1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ie) {
+ }
+
+ int carPos = oObj.getCaretPosition();
+ log.println("getCaretPosition: " + carPos);
+
+ if (sc) {
+ res = carPos == (chCount - 1);
+ } else {
+ log.println(
+ "Object is read only and Caret position couldn't be set");
+ res = carPos == -1;
+ }
+
+ tRes.tested("getCaretPosition()", res);
+ }
+
+ /**
+ * Calls the method with the wrong index and with the correct index
+ * <code>chCount - 1</code>.
+ * Has OK status if exception was thrown for wrong index and
+ * if exception wasn't thrown for the correct index.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _setCaretPosition() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+
+ try {
+ log.print("setCaretPosition(-1):");
+ oObj.setCaretPosition(-1);
+ res &= false;
+ log.println("exception was expected ... FAILED");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("setCaretPosition(chCount+1):");
+ oObj.setCaretPosition(chCount + 1);
+ res &= false;
+ log.println("exception was expected ... FAILED");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("setCaretPosition(chCount - 1)");
+ oObj.setCaretPosition(chCount - 1);
+ res &= true;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception ... FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("setCaretPosition()", res);
+ }
+
+ /**
+ * Calls the method with the wrong index and with the correct indexes.
+ * Checks every character in the text.
+ * Has OK status if exception was thrown for wrong index,
+ * if exception wasn't thrown for the correct index and
+ * if every character is equal to corresponding character in the text.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getCharacter() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+
+ try {
+ log.println("getCharacter(-1)");
+ oObj.getCharacter(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.println("getCharacter(chCount)");
+ oObj.getCharacter(chCount);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("Checking of every character in the text...");
+
+ boolean isEqCh = true;
+
+ for (int i = 0; i < chCount; i++) {
+ char ch = oObj.getCharacter(i);
+ isEqCh = ch == text.charAt(i);
+ res &= isEqCh;
+
+ if (!isEqCh) {
+ log.println("At the position " + i +
+ "was expected character: " + text.charAt(i));
+ log.println("but was returned: " + ch);
+
+ break;
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getCharacter()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index,
+ * checks a returned value.
+ * Has OK status if exception was thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getCharacterAttributes() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+ String[] attr = new String[] { "" };
+
+ try {
+ log.println("getCharacterAttributes(-1)");
+ oObj.getCharacterAttributes(-1, attr);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("getCharacterAttributes(chCount)");
+ oObj.getCharacterAttributes(chCount, attr);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("getCharacterAttributes(chCount-1)");
+
+ PropertyValue[] props = oObj.getCharacterAttributes(chCount - 1,
+ attr);
+ res &= (props != null);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getCharacterAttributes()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index.
+ * checks and stores a returned value.
+ * Has OK status if exception was thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getCharacterBounds() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+
+ int lastIndex = chCount;
+
+ if (LimitedBounds != null) {
+ if (LimitedBounds instanceof Integer) {
+ lastIndex = ((Integer) LimitedBounds).intValue();
+ } else {
+ lastIndex = chCount - 1;
+ }
+
+ log.println(LimitedBounds);
+ }
+
+ try {
+ log.println("getCharacterBounds(-1)");
+ oObj.getCharacterBounds(-1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("getCharacterBounds(" + (lastIndex + 1) + ")");
+ oObj.getCharacterBounds(lastIndex + 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ for (int i = 0; i < lastIndex; i++) {
+ log.println("getCharacterBounds(" + i + ")");
+ chBounds = oObj.getCharacterBounds(i);
+
+ boolean localres = true;
+ localres = chBounds.X >= 0;
+ localres &= (chBounds.Y >= 0);
+ localres &= ((chBounds.X + chBounds.Width) <= bounds.Width);
+ localres &= ((chBounds.X + chBounds.Width) > 0);
+ localres &= ((chBounds.Y + chBounds.Height) <= bounds.Height);
+ localres &= ((chBounds.Y + chBounds.Height) > 0);
+
+ if (!localres) {
+ log.println("Text at this place: "+oObj.getCharacter(i));
+ log.println("Character bounds outside component");
+ log.println("Character rect: " + chBounds.X + ", " +
+ chBounds.Y + ", " + chBounds.Width + ", " +
+ chBounds.Height);
+ log.println("Component rect: " + bounds.X + ", " +
+ bounds.Y + ", " + bounds.Width + ", " +
+ bounds.Height);
+ res &= localres;
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getCharacterBounds()", res);
+ }
+
+ /**
+ * Calls the method and stores a returned value to the variable
+ * <code>chCount</code>.
+ * Has OK status if a returned value is equal to the text length.
+ */
+ public void _getCharacterCount() {
+ chCount = oObj.getCharacterCount();
+ log.println("Character count:" + chCount);
+
+ boolean res = chCount == text.length();
+ tRes.tested("getCharacterCount()", res);
+ }
+
+ /**
+ * Calls the method for an invalid point and for the point of rectangle
+ * returned by the method <code>getCharacterBounds()</code>.
+ * Has OK status if returned value is equal to <code>-1</code> for an
+ * invalid point and if returned value is equal to <code>chCount-1</code>
+ * for a valid point.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterBounds()</code> </li>
+ * </ul>
+ */
+ public void _getIndexAtPoint() {
+ //requiredMethod("getCharacterBounds()");
+ boolean res = true;
+ log.print("getIndexAtPoint(-1, -1):");
+
+ Point pt = new Point(-1, -1);
+ int index = oObj.getIndexAtPoint(pt);
+ log.println(index);
+ res &= (index == -1);
+
+ int lastIndex = chCount;
+
+ if (LimitedBounds != null) {
+ if (LimitedBounds instanceof Integer) {
+ lastIndex = ((Integer) LimitedBounds).intValue();
+ } else {
+ lastIndex = chCount - 1;
+ }
+
+ log.println(LimitedBounds);
+ }
+
+ for (int i = 0; i < lastIndex; i++) {
+ Rectangle aRect = null;
+ String text = "empty";
+
+ try {
+ aRect = oObj.getCharacterBounds(i);
+ text = oObj.getTextAtIndex(i, (short) 1).SegmentText;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+
+ int x = aRect.X + (aRect.Width / 2);
+ int y = aRect.Y + (aRect.Height / 2);
+ Point aPoint = new Point(x, y);
+ int nIndex = oObj.getIndexAtPoint(aPoint);
+
+ x = aRect.X;
+ y = aRect.Y + (aRect.Height / 2);
+ aPoint = new Point(x, y);
+ int left = oObj.getIndexAtPoint(aPoint);
+
+
+
+ int[] previous = (int[]) tEnv.getObjRelation("PreviousUsed");
+
+ if (previous != null) {
+ for (int k = 0; k < previous.length; k++) {
+ if (i == previous[k]) {
+ nIndex++;
+ }
+ }
+ }
+
+ if (nIndex != i) {
+ // for some letters the center of the rectangle isn't recognised
+ // in this case we are happy if the left border of the rectangle
+ // returns the correct value.
+ if (left !=i) {
+ log.println("## Method didn't work for Point (" + x + "," + y +
+ ")");
+ log.println("Expected Index " + i);
+ log.println("Gained Index: " + nIndex);
+ log.println("Left Border: "+left);
+ log.println("CharacterAtIndex: " + text);
+ res &= false;
+ }
+ }
+ }
+
+ tRes.tested("getIndexAtPoint()", res);
+ }
+
+ /**
+ * Checks a returned values after different calls of the method
+ * <code>setSelection()</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setSelection()</code> </li>
+ * </ul>
+ */
+ public void _getSelectedText() {
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ requiredMethod("setSelection()");
+
+ boolean res = true;
+
+ try {
+ log.println("setSelection(0, 0)");
+ oObj.setSelection(0, 0);
+ log.print("getSelectedText():");
+
+ String txt = oObj.getSelectedText();
+ log.println("'" + txt + "'");
+ res &= (txt.length() == 0);
+
+ log.println("setSelection(0, chCount)");
+ oObj.setSelection(0, chCount);
+ log.print("getSelectedText():");
+ txt = oObj.getSelectedText();
+ log.println("'" + txt + "'");
+ res &= txt.equals(text);
+
+ if (chCount > 2) {
+ log.println("setSelection(1, chCount-1)");
+ oObj.setSelection(1, chCount - 1);
+ log.print("getSelectedText():");
+ txt = oObj.getSelectedText();
+ log.println("'" + txt + "'");
+ res &= txt.equals(text.substring(1, chCount - 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getSelectedText()", res);
+ }
+
+ /**
+ * Checks a returned values after different calls of the method
+ * <code>setSelection()</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setSelection()</code> </li>
+ * </ul>
+ */
+ public void _getSelectionStart() {
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ requiredMethod("setSelection()");
+
+ boolean res = true;
+
+ try {
+ log.println("setSelection(0, chCount)");
+ oObj.setSelection(0, chCount);
+
+ int start = oObj.getSelectionStart();
+ log.println("getSelectionStart():" + start);
+ res &= (start == 0);
+
+ if (chCount > 2) {
+ log.println("setSelection(1, chCount-1)");
+ oObj.setSelection(1, chCount - 1);
+ start = oObj.getSelectionStart();
+ log.println("getSelectionStart():" + start);
+ res &= (start == 1);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getSelectionStart()", res);
+ }
+
+ /**
+ * Checks a returned values after different calls of the method
+ * <code>setSelection()</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setSelection()</code> </li>
+ * </ul>
+ */
+ public void _getSelectionEnd() {
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ requiredMethod("setSelection()");
+
+ boolean res = true;
+
+ try {
+ log.println("setSelection(0, chCount)");
+ oObj.setSelection(0, chCount);
+
+ int end = oObj.getSelectionEnd();
+ log.println("getSelectionEnd():" + end);
+ res &= (end == chCount);
+
+ if (chCount > 2) {
+ log.println("setSelection(1, chCount-1)");
+ oObj.setSelection(1, chCount - 1);
+ end = oObj.getSelectionEnd();
+ log.println("getSelectionEnd():" + end);
+ res &= (end == (chCount - 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getSelectionEnd()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters an with valid parameters.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _setSelection() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+ boolean locRes = true;
+
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ try {
+ log.print("setSelection(-1, chCount-1):");
+ locRes = oObj.setSelection(-1, chCount - 1);
+ log.println(locRes + " excepion was expected");
+ res &= !locRes;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("setSelection(0, chCount+1):");
+ locRes = oObj.setSelection(0, chCount + 1);
+ log.println(locRes + " excepion was expected");
+ res &= !locRes;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ if (chCount > 2) {
+ log.print("setSelection(1, chCount-1):");
+ locRes = oObj.setSelection(1, chCount - 1);
+ log.println(locRes);
+ res &= locRes;
+
+ log.print("setSelection(chCount-1, 1):");
+ locRes = oObj.setSelection(chCount - 1, 1);
+ log.println(locRes);
+ res &= locRes;
+ }
+
+ log.print("setSelection(0, chCount-1):");
+ locRes = oObj.setSelection(0, chCount - 1);
+ log.println(locRes);
+ res &= locRes;
+
+ log.print("setSelection(chCount-1, 0):");
+ locRes = oObj.setSelection(chCount - 1, 0);
+ log.println(locRes);
+ res &= locRes;
+
+ log.print("setSelection(0, 0):");
+ locRes = oObj.setSelection(0, 0);
+ log.println(locRes);
+ res &= locRes;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("setSelection()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned string is equal to string
+ * received from relation.
+ */
+ public void _getText() {
+ String txt = oObj.getText();
+ log.println("getText: " + txt);
+
+ boolean res = txt.equals(text);
+ tRes.tested("getText()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters an with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextRange() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+ boolean locRes = true;
+
+ String txtRange = "";
+
+ try {
+ if (chCount > 3) {
+ log.print("getTextRange(1, chCount - 2): ");
+
+ txtRange = oObj.getTextRange(1, chCount - 2);
+ log.println(txtRange);
+ locRes = txtRange.equals(text.substring(1, chCount - 2));
+ res &= locRes;
+
+ if (!locRes) {
+ log.println("Was expected: " +
+ text.substring(1, chCount - 2));
+ }
+ }
+
+ log.print("getTextRange(0, chCount-1): ");
+
+ txtRange = oObj.getTextRange(0, chCount - 1);
+ log.println(txtRange);
+ locRes = txtRange.equals(text.substring(0, chCount - 1));
+ res &= locRes;
+
+ if (!locRes) {
+ log.println("Was expected: " +
+ text.substring(0, chCount - 1));
+ }
+
+ log.print("getTextRange(chCount, 0): ");
+ txtRange = oObj.getTextRange(chCount, 0);
+ log.println(txtRange);
+ res &= txtRange.equals(text);
+
+ log.print("getTextRange(0, 0): ");
+ txtRange = oObj.getTextRange(0, 0);
+ log.println(txtRange);
+ locRes = txtRange.equals("");
+ res &= locRes;
+
+ if (!locRes) {
+ log.println("Empty string was expected");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ try {
+ log.print("getTextRange(-1, chCount - 1): ");
+
+ txtRange = oObj.getTextRange(-1, chCount - 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextRange(0, chCount + 1): ");
+
+ txtRange = oObj.getTextRange(0, chCount + 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextRange(chCount+1, -1): ");
+
+ txtRange = oObj.getTextRange(chCount + 1, -1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ tRes.tested("getTextRange()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters an with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextAtIndex() {
+ requiredMethod("getCharacterCount()");
+ TextSegment txt = null;
+ boolean res = true;
+
+ try {
+ log.print("getTextAtIndex(-1, AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextAtIndex(-1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= false;
+ }
+
+ try {
+ log.print("getTextAtIndex(chCount+1," +
+ " AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextAtIndex(chCount + 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= false;
+ }
+
+ try {
+ log.print("getTextAtIndex(chCount," +
+ " AccessibleTextType.WORD):");
+
+ txt = oObj.getTextAtIndex(chCount, AccessibleTextType.WORD);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareLength(0,txt.SegmentText);
+ if (!tEnv.getTestCase().getObjectName().equals("SmGraphicAccessible")) {
+ log.print("getTextAtIndex(1," +
+ " AccessibleTextType.PARAGRAPH):");
+ txt = oObj.getTextAtIndex(1, AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareStrings(text,txt.SegmentText);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getTextAtIndex()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters an with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextBeforeIndex() {
+ requiredMethod("getCharacterCount()");
+ TextSegment txt = null;
+ boolean res = true;
+
+ try {
+ log.print("getTextBeforeIndex(-1, AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBeforeIndex(-1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= false;
+ }
+
+ try {
+ log.print("getTextBeforeIndex(chCount+1, " +
+ "AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBeforeIndex(chCount + 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= true;
+ }
+
+ try {
+ if (!tEnv.getTestCase().getObjectName().equals("SmGraphicAccessible")) {
+ log.print("getTextBeforeIndex(chCount," +
+ " AccessibleTextType.WORD):");
+
+ txt = oObj.getTextBeforeIndex(chCount,
+ AccessibleTextType.WORD);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareLength(chCount, txt.SegmentText);
+ }
+
+ log.print("getTextBeforeIndex(1," +
+ " AccessibleTextType.PARAGRAPH):");
+ txt = oObj.getTextBeforeIndex(1, AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareLength(0, txt.SegmentText);
+
+ log.print("getTextBeforeIndex(chCount-1," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBeforeIndex(chCount - 1,
+ AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareStrings(text.substring(chCount - 2, chCount - 1),
+ txt.SegmentText);
+
+ if (chCount > 2) {
+ log.print("getTextBeforeIndex(2," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBeforeIndex(2, AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareStrings(text.substring(1, 2), txt.SegmentText);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getTextBeforeIndex()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters an with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextBehindIndex() {
+ requiredMethod("getCharacterCount()");
+ TextSegment txt = null;
+ boolean res = true;
+
+ try {
+ log.print("getTextBehindIndex(-1, AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBehindIndex(-1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextBehindIndex(chCount+1, " +
+ "AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBehindIndex(chCount + 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextBehindIndex(chCount," +
+ " AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBehindIndex(chCount,
+ AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= (txt.SegmentText.length() == 0);
+
+ log.print("getTextBehindIndex(chCount-1," +
+ " AccessibleTextType.PARAGRAPH):");
+ txt = oObj.getTextBehindIndex(chCount - 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= (txt.SegmentText.length() == 0);
+
+ log.print("getTextBehindIndex(1," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBehindIndex(1, AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= txt.SegmentText.equals(text.substring(2, 3));
+
+ if (chCount > 2) {
+ log.print("getTextBehindIndex(chCount-2," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBehindIndex(chCount - 2,
+ AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= txt.SegmentText.equals(text.substring(chCount - 1, chCount));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getTextBehindIndex()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters an with valid parameter,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameter and if returned value for
+ * valid parameter is equal to <code>true</code>.
+ */
+ public void _copyText() {
+ boolean res = true;
+ boolean locRes = true;
+
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ try {
+ log.print("copyText(-1,chCount):");
+ oObj.copyText(-1, chCount);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("copyText(0,chCount+1):");
+ oObj.copyText(0, chCount + 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("copyText(0,chCount):");
+ locRes = oObj.copyText(0, chCount);
+ log.println(locRes);
+ res &= locRes;
+
+ String cbText = null;
+
+ try {
+ cbText = util.SysUtils.getSysClipboardText((XMultiServiceFactory)tParam.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't access system clipboard :");
+ e.printStackTrace(log);
+ }
+
+ log.println("Clipboard: '" + cbText + "'");
+ res &= text.equals(cbText);
+
+ if (chCount > 2) {
+ log.print("copyText(1,chCount-1):");
+ locRes = oObj.copyText(1, chCount - 1);
+ log.println(locRes);
+ res &= locRes;
+
+ try {
+ cbText = util.SysUtils.getSysClipboardText((XMultiServiceFactory)tParam.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't access system clipboard :");
+ e.printStackTrace(log);
+ }
+
+ log.println("Clipboard: '" + cbText + "'");
+ res &= text.substring(1, chCount - 1).equals(cbText);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("copyText()", res);
+ }
+
+ public boolean compareStrings(String expected, String getting) {
+ boolean res = expected.equals(getting);
+
+ if (!res) {
+ log.println("## The result isn't the expected:");
+ log.println("\tGetting: " + getting);
+ log.println("\tExpected: " + expected);
+ }
+
+ return res;
+ }
+
+ public boolean compareLength(int expected, String getting) {
+ boolean res = (expected == getting.length());
+
+ if (!res) {
+ log.println("## The result isn't the expected:");
+ log.println("\tGetting: " + getting.length());
+ log.println("\tExpected: " + expected);
+ }
+
+ return res;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java
new file mode 100644
index 000000000000..201d5675ff0c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java
@@ -0,0 +1,351 @@
+/*************************************************************************
+ *
+ * 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.accessibility;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.accessibility.XAccessibleValue;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleValue</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getCurrentValue()</code></li>
+ * <li><code> setCurrentValue()</code></li>
+ * <li><code> getMaximumValue()</code></li>
+ * <li><code> getMinimumValue()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleValue.anotherFromGroup'</code>
+ * (of type <code>XAccessibleValue</code>) <b> optional </b>:
+ * another component from the group(e.g. radio button group)</li>
+ * </ul><p>
+ * @see com.sun.star.accessibility.XAccessibleValue
+ */
+public class _XAccessibleValue extends MultiMethodTest {
+
+ public XAccessibleValue oObj = null;
+
+ private double minVal = 0;
+ private double maxVal = 0;
+ private double curVal = 0;
+ private Object val = null;
+ XAccessibleValue anotherFromGroup = null;
+
+ protected void before() {
+ anotherFromGroup = (XAccessibleValue)tEnv.getObjRelation(
+ "XAccessibleValue.anotherFromGroup");
+ }
+
+ /**
+ * Gets current value and stores it as double. <p>
+ *
+ * Has <b> OK </b> status if the current value is between Min and Max
+ * values. <p>
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getMaximumValue </code> </li>
+ * <li> <code> getMinimumValue </code> </li>
+ * </ul>
+ */
+ public void _getCurrentValue() {
+ executeMethod("getMaximumValue()");
+ executeMethod("getMinimumValue()");
+
+ boolean result = true;
+
+ double curVal ;
+ val = oObj.getCurrentValue() ;
+ if (util.utils.isVoid(val)) {
+ val = new Integer(0);
+ curVal = 0;
+ } else {
+ curVal = getDoubleValue(val);
+ }
+
+ if (curVal < minVal || maxVal < curVal) {
+ log.println("" + (curVal - minVal) + "," + (maxVal - curVal));
+ log.println("Current value " + curVal + " is not in range ["
+ + minVal + "," + maxVal + "]");
+ result = false;
+ }
+
+ tRes.tested("getCurrentValue()", result) ;
+ }
+
+ /**
+ * Performs testing for following cases :
+ * <ul>
+ * <li> Creates new value in valid range and sets it. </li>
+ * <li> Sets maximum and minimum values. </li>
+ * <li> Sets Min - 1, and Max + 1 values </li>
+ * </ul> <p>
+ *
+ * Has <b> OK </b> status if for the first case the value returned
+ * is the same as was set and the method <code>setCurrentValue</code>
+ * returns <code>true</code>.
+ *
+ * In the second if Max and Min values are set and method
+ * <code>setCurrentValue</code> returns <code>true</code>.
+ *
+ * In the third case invalid values are truncated to Min and Max
+ * values accordingly. <p>
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getCurrentValue() </code> </li>
+ * </ul>
+ */
+ public void _setCurrentValue() {
+ executeMethod("getCurrentValue()");
+
+ boolean result = true ;
+ boolean partResult=true;
+ String noMax = "com.sun.star.comp.toolkit.AccessibleScrollBar";
+ String implName = util.utils.getImplName(oObj);
+
+ if (tEnv.getObjRelation("ValueNotPersitent")!=null) {
+ log.println("Excluded since it works like AccessibleAction");
+ tRes.tested("setCurrentValue()",Status.skipped(true));
+ return;
+ }
+
+ if (anotherFromGroup == null) {
+ double newVal = curVal + 1;
+ if (newVal > maxVal) newVal -= 2;
+ if (newVal < minVal) newVal += 1;
+
+ log.println("New value is " + newVal);
+
+ Object setVal = getObjectValue(newVal, val.getClass());
+
+ result &= oObj.setCurrentValue(setVal);
+
+ if (!result) {
+ log.println("The value can't be set");
+ throw new StatusException(Status.skipped(true));
+ }
+
+ double resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Res value is " + resVal);
+
+ result &= Math.abs(newVal - resVal) < 0.00001;
+
+ log.println("Checking min/max values");
+ result &= oObj.setCurrentValue(getObjectValue(minVal, val.getClass()));
+ log.println("Setting to "+ getObjectValue(minVal, val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result min value is " + resVal);
+ result &= Math.abs(minVal - resVal) < 0.00001;
+ log.println("\t works: "+(Math.abs(minVal - resVal) < 0.00001));
+
+ result &= oObj.setCurrentValue(getObjectValue(maxVal, val.getClass()));
+ log.println("Setting to "+ getObjectValue(maxVal, val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result max value is " + resVal);
+ partResult = Math.abs(maxVal - resVal) < 0.00001;
+
+ if (implName.equals(noMax)) {
+ log.println("If one sets the maximum value of a scroll bar with XScrollBar::setMaximum(),"+
+ "then XScrollBar::getValue() returns the maximum value minus the visible size of"+
+ "the thumb");
+ //using abitrary Value, since we can't determine the resulting value
+ partResult = resVal > 10;
+ }
+
+ result &=partResult;
+ log.println("\t works: "+partResult);
+
+ log.println("Checking truncating of min/max values");
+ oObj.setCurrentValue(getObjectValue(minVal - 1, val.getClass()));
+ log.println("Setting to "+ getObjectValue(minVal -1 , val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result min value is " + resVal);
+ result &= Math.abs(minVal - resVal) < 0.00001;
+ log.println("\t works: "+(Math.abs(minVal - resVal) < 0.00001));
+
+ oObj.setCurrentValue(getObjectValue(maxVal + 1, val.getClass()));
+ log.println("Setting to "+ getObjectValue(maxVal +1 , val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result max value is " + resVal);
+ partResult = Math.abs(maxVal - resVal) < 0.00001;
+ if (implName.equals(noMax)) {
+ log.println("If one sets the maximum value of a scroll bar with XScrollBar::setMaximum(),"+
+ "then XScrollBar::getValue() returns the maximum value minus the visible size of"+
+ "the thumb");
+ //using abitrary Value, since we can't determine the resulting value
+ partResult = resVal > 10;
+ }
+
+ result &=partResult;
+ log.println("\t works: "+partResult);
+ } else {
+ int curValBase = getIntegerValue(val);
+ Object valAnotherFromGroup = anotherFromGroup.getCurrentValue();
+ int curValAnother = getIntegerValue(valAnotherFromGroup);
+ log.println("Current value of base component: " + curValBase);
+ log.println("Current value of another component from group: " +
+ curValAnother);
+ log.println("Set value of base component to " + curValAnother);
+ if (tEnv.getTestCase().getObjectName().equals("AccessibleRadioButton")) {
+ anotherFromGroup.setCurrentValue(new Integer(curValBase));
+ } else {
+ oObj.setCurrentValue(valAnotherFromGroup);
+ }
+ log.println("Checking of values...");
+ int newValBase = getIntegerValue(oObj.getCurrentValue());
+ int newValAnother = getIntegerValue(
+ anotherFromGroup.getCurrentValue());
+ log.println("New value of base component: " + newValBase);
+ log.println("Expected value of base component: " + curValAnother);
+ log.println("New value of another component from group: " +
+ newValAnother);
+ log.println("Expected value of another component from group: " +
+ curValBase);
+
+ result = (newValBase == curValAnother) &&
+ (newValAnother == curValBase);
+ }
+
+ tRes.tested("setCurrentValue()", result);
+ }
+
+ /**
+ * Gets and stores maximal value. <p>
+ *
+ * Has <b> OK </b> status if non empty value returned and
+ * Max value is greater than Min value.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMinimumValue() </code> : to compare with </li>
+ * </ul>
+ */
+ public void _getMaximumValue() {
+ requiredMethod("getMinimumValue()");
+
+ boolean result = true ;
+
+ Object val = oObj.getMaximumValue();
+ if (util.utils.isVoid(val)) {
+ maxVal = Double.MAX_VALUE ;
+ result = false;
+ } else {
+ maxVal = getDoubleValue(val);
+ }
+ log.println("Max is " + val.getClass()+ " = " + maxVal);
+
+ result &= maxVal >= minVal;
+
+ tRes.tested("getMaximumValue()", result) ;
+ }
+
+ /**
+ * Gets and stores minimal value. <p>
+ *
+ * Has <b> OK </b> status if non empty value returned. <p>
+ *
+ */
+ public void _getMinimumValue() {
+ boolean result = true ;
+
+ Object val = oObj.getMinimumValue() ;
+ if (util.utils.isVoid(val)) {
+ minVal = - Double.MAX_VALUE ;
+ result = false;
+ } else {
+ minVal = getDoubleValue(val);
+ }
+ log.println("Min is " + val.getClass()+ " = " + minVal);
+
+ tRes.tested("getMinimumValue()", result) ;
+ }
+
+ private int getIntegerValue(Object val) {
+ if (val instanceof Integer) {
+ return ((Integer) val).intValue();
+ } else {
+ throw new StatusException
+ (Status.failed("Unexpected value type: " + val.getClass()));
+ }
+ }
+
+ private double getDoubleValue(Object val) {
+ if (val instanceof Integer) {
+ return ((Integer) val).doubleValue();
+ }
+ else if (val instanceof Short) {
+ return ((Short) val).doubleValue();
+ }
+ else if (val instanceof Float) {
+ return ((Float) val).doubleValue();
+ }
+ else if (val instanceof Double) {
+ return ((Double) val).doubleValue();
+ }
+ else if (util.utils.isVoid(val)) {
+ return Double.NaN;
+ }
+ else {
+ throw new StatusException
+ (Status.failed("Undetected value type: " + val.getClass()));
+ }
+ }
+
+ private Object getObjectValue(double val, Class clazz) {
+ if (clazz.equals(Integer.class)) {
+ return new Integer((int)val);
+ }
+ else if (clazz.equals(Short.class)) {
+ return new Short((short)val);
+ }
+ else if (clazz.equals(Float.class)) {
+ return new Float((float)val);
+ }
+ else if (clazz.equals(Double.class)) {
+ return new Double(val);
+ }
+ else {
+ throw new StatusException
+ (Status.failed("Unexpected class: " + clazz));
+ }
+ }
+
+ /**
+ * Disposes test environment.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java
new file mode 100644
index 000000000000..545995a641fe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlButtonModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> DefaultButton</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlButtonModel
+*/
+public class _UnoControlButtonModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester BoolTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Boolean(true)))
+ return new Boolean(false);
+ else
+ return new Boolean(true);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackgroundColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("Tabstop", BoolTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _PushButtonType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("PushButtonType",
+ new Short((short)0), new Short((short)1));
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java
new file mode 100644
index 000000000000..115a416ba640
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlCheckBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> State</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> TriState</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlCheckBoxModel
+*/
+public class _UnoControlCheckBoxModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ if (utils.isVoid(old)) return new Boolean(true) ;
+ else return null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ if (utils.isVoid(old)) return new Integer(12345) ;
+ else return null ;
+ }
+ }) ;
+ }
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java
new file mode 100644
index 000000000000..544c8c2ee6e1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlComboBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> Autocomplete</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Dropdown</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> LineCount</code></li>
+* <li><code> MaxTextLen</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> StringItemList</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlComboBoxModel
+*/
+public class _UnoControlComboBoxModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+
+ public void _Text() {
+ try {
+ oObj.setPropertyValue("MaxTextLen",new Short((short)0));
+ } catch (com.sun.star.beans.UnknownPropertyException ue) {
+ } catch (com.sun.star.beans.PropertyVetoException pe) {
+ } catch (com.sun.star.lang.IllegalArgumentException ie) {
+ } catch (com.sun.star.lang.WrappedTargetException we) {
+ }
+ testProperty("Text");
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+} //EOF UnoControlComboBoxModel
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java
new file mode 100644
index 000000000000..8ae486c2d8e7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlButtonModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Printable</code></li>
+* <li><code> Text</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* </ul>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.awt.UnoControlContainerModel
+*/
+public class _UnoControlContainerModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackgroundColor", ColorTester) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java
new file mode 100644
index 000000000000..3638498a0152
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlCurrencyFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> CurrencySymbol</code></li>
+* <li><code> DecimalAccuracy</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> ShowThousandsSeparator</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> Value</code></li>
+* <li><code> ValueMax</code></li>
+* <li><code> ValueMin</code></li>
+* <li><code> ValueStep</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlCurrencyFieldModel
+*/
+public class _UnoControlCurrencyFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Integer(6543) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Integer(123) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Integer(123) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Value() {
+ testProperty("Value", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Double(777) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java
new file mode 100644
index 000000000000..c0d17a541c46
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlDateFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> Date</code></li>
+* <li><code> DateMax</code></li>
+* <li><code> DateMin</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> DateFormat</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlDateFieldModel
+*/
+public class _UnoControlDateFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Integer(6543) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Date() {
+ testProperty("Date", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Integer(6543) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Integer(123) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+ public void _DateShowCentury() {
+ boolean res = false;
+ try {
+ util.dbg.printPropertyInfo(oObj,"DateShowCentury",log);
+ Object oDsc = oObj.getPropertyValue("DateShowCentury");
+ Boolean dsc = null;
+ if (util.utils.isVoid(oDsc)) {
+ log.println("Property is void, set it to true");
+ dsc = new Boolean(true);
+ } else {
+ dsc = (Boolean) oDsc;
+ dsc = new Boolean(!dsc.booleanValue());
+ log.println("Setting property to "+dsc);
+ }
+ oObj.setPropertyValue("DateShowCentury",dsc);
+ Boolean getdsc = (Boolean) oObj.getPropertyValue("DateShowCentury");
+ log.println("Getting value "+getdsc);
+ res = dsc.equals(getdsc);
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'DateShowCentury'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'DateShowCentury'");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'DateShowCentury'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'DateShowCentury'");
+ }
+ tRes.tested("DateShowCentury",res);
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java
new file mode 100644
index 000000000000..f9746fb6210f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+
+public class _UnoControlDialogElement extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java
new file mode 100644
index 000000000000..88b2ecafcb30
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlDialogModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Title</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> Sizeable</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlDialogModel
+*/
+public class _UnoControlDialogModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java
new file mode 100644
index 000000000000..fee61c671be1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlEditModel</code>
+* service properties :
+* <ul>
+* <li><code> Align</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> EchoChar</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> HardLineBreaks</code></li>
+* <li><code> HScroll</code></li>
+* <li><code> MaxTextLen</code></li>
+* <li><code> MultiLine</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> VScroll</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlEditModel
+*/
+public class _UnoControlEditModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java
new file mode 100644
index 000000000000..144ccd46a205
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFileControlModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> FontEmphsisMark</code></li>
+* <li><code> FontRelief</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Printable</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> TextLineColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFileControlModel
+*/
+public class _UnoControlFileControlModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java
new file mode 100644
index 000000000000..f9087e46cd41
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFixedLineModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> Label</code></li>
+* <li><code> Orientation</code></li>
+* <li><code> Printable</code></li>
+* <li><code> TextColor</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFixedLineModel
+*/
+public class _UnoControlFixedLineModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java
new file mode 100644
index 000000000000..d66cfde5995a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFixedTextModel</code>
+* service properties :
+* <ul>
+* <li><code> Align</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> MultiLine</code></li>
+* <li><code> Printable</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFixedTextModel
+*/
+public class _UnoControlFixedTextModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java
new file mode 100644
index 000000000000..31bc7959a287
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFormattedFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> Align</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> EffectiveDefault</code></li>
+* <li><code> EffectiveMax</code></li>
+* <li><code> EffectiveMin</code></li>
+* <li><code> EffectiveValue</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> FormatKey</code></li>
+* <li><code> FormatsSupplier</code></li>
+* <li><code> MaxTextLen</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFormattedFieldModel
+*/
+public class _UnoControlFormattedFieldModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method must return a valid service name, that differs from
+ * name exists.
+ *
+ */
+ protected PropertyTester ControlTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue,
+ "com.sun.star.form.control.FormattedField"))
+ return "com.sun.star.awt.UnoControlFormattedField";
+ else
+ return "com.sun.star.form.control.FormattedField";
+ }
+ };
+
+ /**
+ * This property must contain a valid service name.
+ */
+ public void _DefaultControl() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("DefaultControl", ControlTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Integer(123) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Integer(123) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Integer(123) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveDefault() {
+ testProperty("EffectiveDefault", new Double(5.8),new Double(2.3)) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveValue() {
+ testProperty("EffectiveValue", new Double(5.8),new Double(2.3)) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveMax() {
+ testProperty("EffectiveMax", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Double(123.8) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _FormatsSupplier() {
+ testProperty("FormatsSupplier", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ Object newValue = null;
+ try {
+ newValue = ((XMultiServiceFactory)tParam.getMSF()).createInstance(
+ "com.sun.star.util.NumberFormatsSupplier");
+ } catch (com.sun.star.uno.Exception e) {}
+ return newValue;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveMin() {
+ testProperty("EffectiveMin", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Double(0.1) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _FormatKey() {
+ testProperty("FormatKey", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Integer(0) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _StrictFromat() {
+ testProperty("StrictFromat", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Boolean(true) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Boolean(true) :
+ null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Text() {
+ testProperty("Text", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? "UnoControlFormattedFieldModel" :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java
new file mode 100644
index 000000000000..8b4183aa88fe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlGroupBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlGroupBoxModel
+*/
+public class _UnoControlGroupBoxModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java
new file mode 100644
index 000000000000..4955cce1dc1a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlImageControlModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor </code></li>
+* <li><code> Border </code></li>
+* <li><code> DefaultControl </code></li>
+* <li><code> Enabled </code></li>
+* <li><code> ImageURL </code></li>
+* <li><code> Printable </code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlImageControlModel
+*/
+public class _UnoControlImageControlModel extends MultiPropertyTest {
+
+ /**
+ * Custom <code>PropertyTester</code> used in <code>ImageURL</code> test.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ /**
+ * Test changes one image URL onto another.
+ */
+ public void _ImageURL() {
+ testProperty("ImageURL", URLTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return utils.isVoid(oldValue) ? new Integer(8945) :
+ super.getNewValue(propName, oldValue) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Boolean(true) :
+ null ;
+ }
+ }) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java
new file mode 100644
index 000000000000..97c4bebde37e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlListBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Dropdown</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> LineCount</code></li>
+* <li><code> MultiSelection</code></li>
+* <li><code> Printable</code></li>
+* <li><code> SelectedItems</code></li>
+* <li><code> StringItemList</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlListBoxModel
+*/
+public class _UnoControlListBoxModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlModel.java
new file mode 100644
index 000000000000..63dc6009d75d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlModel.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+
+public class _UnoControlModel extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java
new file mode 100644
index 000000000000..4ea032cce8a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlNumericFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DecimalAccuracy</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> ShowThousandsSeparator</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> Value</code></li>
+* <li><code> ValueMax</code></li>
+* <li><code> ValueMin</code></li>
+* <li><code> ValueStep</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlNumericFieldModel
+*/
+public class _UnoControlNumericFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Value() {
+ testProperty("Value", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Double(234.89) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java
new file mode 100644
index 000000000000..2fa75c03ba53
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlPatternFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> EditMask</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> LiteralMask</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlPatternFieldModel
+*/
+public class _UnoControlPatternFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java
new file mode 100644
index 000000000000..54bdb7195f16
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlProgressBarModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FillColor</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ProgressValue</code></li>
+* <li><code> ProgressValueMax</code></li>
+* <li><code> ProgressValueMin</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlProgressBarModel
+*/
+public class _UnoControlProgressBarModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _FillColor() {
+ testProperty("FillColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _ProgressValue() {
+ testProperty("ProgressValue", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(10) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java
new file mode 100644
index 000000000000..b7b54c05addf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlRadioButtonModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> State</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlRadioButtonModel
+*/
+public class _UnoControlRadioButtonModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, new Integer(17)))
+ return new Integer(25);
+ else
+ return new Integer(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java
new file mode 100644
index 000000000000..824c6f0185d8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlScrollBarModel</code>
+* service properties :
+* <ul>
+* <li><code> BlockIncrement</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> LineIncrement</code></li>
+* <li><code> Orientation</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ScrollValue</code></li>
+* <li><code> ScrollValueMax</code></li>
+* <li><code> VisibleSize</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlScrollBarModel
+*/
+public class _UnoControlScrollBarModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(32768) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _SymbolColor() {
+ testProperty("SymbolColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(65324) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _ScrollValue() {
+ testProperty("ScrollValue", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(10) : new Integer(15) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _VisibleSize() {
+ testProperty("VisibleSize", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(10) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java
new file mode 100644
index 000000000000..a0489db5cdf6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+public class _UnoControlSpinButtonModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(32768) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _SymbolColor() {
+ testProperty("SymbolColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(65324) : null ;
+ }
+ }) ;
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java
new file mode 100644
index 000000000000..1e1a0b78d058
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlTimeFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> FontEmphasisMark</code></li>
+* <li><code> FontRelief</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> TimeFormat</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> TextLineColor</code></li>
+* <li><code> Time</code></li>
+* <li><code> TimeFormat</code></li>
+* <li><code> TimeMax</code></li>
+* <li><code> TimeMin</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlTimeFieldModel
+*/
+public class _UnoControlTimeFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Time() {
+ testProperty("Time", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Boolean(true) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XButton.java b/qadevOOo/tests/java/ifc/awt/_XButton.java
new file mode 100644
index 000000000000..3aacd8515144
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XButton.java
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XButton;
+
+/**
+* Testing <code>com.sun.star.awt.XButton</code>
+* interface methods :
+* <ul>
+* <li><code> addActionListener()</code></li>
+* <li><code> removeActionListener()</code></li>
+* <li><code> setLabel()</code></li>
+* <li><code> setActionCommand()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XButton
+*/
+public class _XButton extends MultiMethodTest {
+
+ public XButton oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestActionListener implements com.sun.star.awt.XActionListener {
+ public boolean disposingCalled = false ;
+ public boolean actionPerformedCalled = false ;
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ }
+
+ public void actionPerformed(com.sun.star.awt.ActionEvent e) {
+ actionPerformedCalled = true ;
+ }
+
+ }
+
+ TestActionListener listener = new TestActionListener() ;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addActionListener() {
+
+ boolean result = true ;
+ oObj.addActionListener(listener) ;
+
+ tRes.tested("addActionListener()", result) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeActionListener() {
+
+ boolean result = true ;
+ oObj.removeActionListener(listener) ;
+
+ tRes.tested("removeActionListener()", result) ;
+ }
+
+ /**
+ * Just sets some text for label. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _setLabel() {
+
+ boolean result = true ;
+ oObj.setLabel("XButton Label") ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+
+ /**
+ * Just sets some command for button. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _setActionCommand() {
+
+ boolean result = true ;
+ oObj.setActionCommand("XButtonComand") ;
+
+ tRes.tested("setActionCommand()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XCheckBox.java b/qadevOOo/tests/java/ifc/awt/_XCheckBox.java
new file mode 100644
index 000000000000..e8307ed8f8bb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XCheckBox.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XCheckBox;
+
+/**
+* Testing <code>com.sun.star.awt.XCheckBox</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> getState()</code></li>
+* <li><code> setState()</code></li>
+* <li><code> setLabel()</code></li>
+* <li><code> enableTriState()</code></li>
+* </ul> <p>
+*
+* @see com.sun.star.awt.XCheckBox
+*/
+public class _XCheckBox extends MultiMethodTest {
+
+ public XCheckBox oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestItemListener implements com.sun.star.awt.XItemListener {
+ public boolean disposingCalled = false ;
+ public boolean itemStateChangedCalled = false ;
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ }
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {
+ itemStateChangedCalled = true ;
+ }
+
+ }
+ TestItemListener listener = new TestItemListener() ;
+ short state = -1 ;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ boolean result = true ;
+ oObj.addItemListener(listener) ;
+ tRes.tested("addItemListener()", result) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+
+ boolean result = true ;
+ oObj.removeItemListener(listener) ;
+
+ tRes.tested("removeItemListener()", result) ;
+ }
+
+ /**
+ * Just retrieves current state and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _getState() {
+
+ boolean result = true ;
+ state = oObj.getState() ;
+
+ tRes.tested("getState()", result) ;
+ }
+
+ /**
+ * Sets a new value and then checks get value. <p>
+ * Has <b>OK</b> status if set and get values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getState </code> </li>
+ * </ul>
+ */
+ public void _setState() {
+ requiredMethod("getState()") ;
+
+ boolean result = true ;
+ short newState = state == 0 ? (short)1 : (short)0 ;
+ oObj.setState(newState) ;
+ result = newState == oObj.getState() ;
+
+ tRes.tested("setState()", result) ;
+ }
+
+ /**
+ * Just sets some text for label. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _setLabel() {
+
+ boolean result = true ;
+ oObj.setLabel("XCheckBox test") ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+
+ /**
+ * Just enables tristate. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _enableTriState() {
+
+ boolean result = true ;
+ oObj.enableTriState(true) ;
+
+ tRes.tested("enableTriState()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XComboBox.java b/qadevOOo/tests/java/ifc/awt/_XComboBox.java
new file mode 100644
index 000000000000..8dd65e33050c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XComboBox.java
@@ -0,0 +1,285 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XComboBox;
+
+/**
+* Testing <code>com.sun.star.awt.XComboBox</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> addActionListener()</code></li>
+* <li><code> removeActionListener()</code></li>
+* <li><code> addItem()</code></li>
+* <li><code> addItems()</code></li>
+* <li><code> removeItems()</code></li>
+* <li><code> getItemCount()</code></li>
+* <li><code> getItem()</code></li>
+* <li><code> getItems()</code></li>
+* <li><code> getDropDownLineCount()</code></li>
+* <li><code> setDropDownLineCount()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XComboBox
+*/
+public class _XComboBox extends MultiMethodTest {
+
+ public XComboBox oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestActionListener
+ implements com.sun.star.awt.XActionListener {
+ public boolean disposingCalled = false;
+ public boolean actionPerformedCalled = false;
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true;
+ }
+
+ public void actionPerformed(com.sun.star.awt.ActionEvent e) {
+ actionPerformedCalled = true;
+ }
+
+ }
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestItemListener
+ implements com.sun.star.awt.XItemListener {
+ public boolean disposingCalled = false;
+ public boolean itemStateChangedCalled = false;
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true;
+ }
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {
+ itemStateChangedCalled = true;
+ }
+
+ }
+ private TestActionListener actionListener = new TestActionListener();
+ private TestItemListener itemListener = new TestItemListener();
+ short lineCount = 0;
+ short itemCount = 0;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ oObj.addItemListener(itemListener);
+
+ tRes.tested("addItemListener()", Status.skipped(true));
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+ requiredMethod("addItemListener()");
+
+ oObj.removeItemListener(itemListener);
+
+ tRes.tested("removeItemListener()", Status.skipped(true));
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addActionListener() {
+
+ oObj.addActionListener(actionListener);
+
+ tRes.tested("addActionListener()", Status.skipped(true));
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeActionListener() {
+ requiredMethod("addActionListener()");
+
+ oObj.removeActionListener(actionListener);
+
+ tRes.tested("removeActionListener()", Status.skipped(true));
+ }
+
+ /**
+ * Adds one item to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 1.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getItemCount </code> </li>
+ * </ul>
+ */
+ public void _addItem() {
+ requiredMethod("getItemCount()");
+
+ boolean result = true;
+ oObj.addItem("Item1", itemCount);
+ result = oObj.getItemCount() == itemCount + 1;
+
+ tRes.tested("addItem()", result);
+ }
+
+ /**
+ * Adds one two items to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 2.<p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItem </code> </li>
+ * </ul>
+ */
+ public void _addItems() {
+ executeMethod("addItem()");
+
+ boolean result = true;
+ short oldCnt = oObj.getItemCount();
+ oObj.addItems(new String[] { "Item2", "Item3" }, oldCnt);
+ result = oObj.getItemCount() == oldCnt + 2;
+
+ tRes.tested("addItems()", result);
+ }
+
+ /**
+ * Gets the current number of items and tries to remove them all
+ * then checks number of items. <p>
+ * Has <b>OK</b> status if no items remains. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getItems </code> </li>
+ * <li> <code> getItem </code> </li>
+ * </ul>
+ */
+ public void _removeItems() {
+ executeMethod("getItems()");
+ executeMethod("getItem()");
+
+ boolean result = true;
+ short oldCnt = oObj.getItemCount();
+ oObj.removeItems((short) 0, oldCnt);
+ result = oObj.getItemCount() == 0;
+
+ tRes.tested("removeItems()", result);
+ }
+
+ /**
+ * Just retrieves current number of items and stores it. <p>
+ * Has <b>OK</b> status if the count is not less than 0.
+ */
+ public void _getItemCount() {
+
+ itemCount = oObj.getItemCount();
+
+ tRes.tested("getItemCount()", itemCount >= 0);
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves the item from the position which was ititially the last.<p>
+ * Has <b>OK</b> status if the "Item1" was retrieved. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItem() {
+ requiredMethod("addItems()");
+
+ boolean result = true;
+ String item = oObj.getItem(itemCount);
+ result = "Item1".equals(item);
+
+ tRes.tested("getItem()", result);
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves all items. <p>
+ * Has <b>OK</b> status if the last three items retrieved are
+ * "Item1", "Item2" and "Item3". <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItems() {
+ requiredMethod("addItems()");
+
+ boolean result = true;
+ String[] items = oObj.getItems();
+ for (int i = itemCount; i < (itemCount + 3); i++) {
+ result &= ("Item" + (i + 1)).equals(items[i]);
+ }
+
+ tRes.tested("getItems()", result);
+ }
+
+ /**
+ * Gets line count and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getDropDownLineCount() {
+
+ boolean result = true;
+ lineCount = oObj.getDropDownLineCount();
+
+ tRes.tested("getDropDownLineCount()", result);
+ }
+
+ /**
+ * Sets a new value and then checks get value. <p>
+ * Has <b>OK</b> status if set and get values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDropDownLineCount </code> </li>
+ * </ul>
+ */
+ public void _setDropDownLineCount() {
+ requiredMethod("getDropDownLineCount()");
+
+ boolean result = true;
+ oObj.setDropDownLineCount((short) (lineCount + 1));
+ result = oObj.getDropDownLineCount() == lineCount + 1;
+
+ tRes.tested("setDropDownLineCount()", result);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/awt/_XControl.java b/qadevOOo/tests/java/ifc/awt/_XControl.java
new file mode 100644
index 000000000000..fbf10ca97271
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XControl.java
@@ -0,0 +1,222 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XView;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.awt.XControl</code>
+* interface methods:
+* <ul>
+* <li><code> setContext() </code></li>
+* <li><code> getContext() </code></li>
+* <li><code> createPeer() </code></li>
+* <li><code> getPeer() </code></li>
+* <li><code> setModel() </code></li>
+* <li><code> getModel() </code></li>
+* <li><code> setDesignMode() </code></li>
+* <li><code> isDesignMode() </code></li>
+* <li><code> isTransparent() </code></li>
+* <li><code> getView() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CONTEXT'</code> (of type <code>XInterface</code>):
+* used as a parameter to setContext() and for testing getContext().</li>
+* <li> <code>'WINPEER'</code> (of type <code>XWindowPeer</code>):
+* used as a parameter to createPeer() and for testing getPeer()</li>
+* <li> <code>'TOOLKIT'</code> (of type <code>XToolkit</code>):
+* used as a parameter to createPeer()</li>
+* <li> <code>'MODEL'</code> (of type <code>XControlModel</code>):
+* used as a parameter to setModel() and for testing getModel()</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XControl
+*/
+public class _XControl extends MultiMethodTest {
+ public XControl oObj = null;
+ public XControlModel aModel = null;
+ public boolean desMode;
+
+ /**
+ * After test calls the method, the Context is set to a corresponding
+ * object relation.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setContext() {
+ XInterface cont = (XInterface) tEnv.getObjRelation("CONTEXT");
+ oObj.setContext(cont);
+ tRes.tested("setContext()",true);
+ }
+
+ /**
+ * After test calls the method, the Context is gotten and compared
+ * with object relation 'CONTEXT'.<p>
+ * Has <b> OK </b> status if get value is equals to value set before.<p>
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code> setContext() </code> : set Context to a corresponding
+ * object relation</li>
+ * </ul>
+ */
+ public void _getContext() {
+ requiredMethod("setContext()");
+ XInterface cont = (XInterface) tEnv.getObjRelation("CONTEXT");
+ Object get = oObj.getContext();
+ boolean res = get.equals(cont);
+ if (!res) {
+ log.println("!!! Error: getting: "+get.toString());
+ log.println("!!! expected: "+cont.toString());
+ }
+ tRes.tested("getContext()",res);
+ }
+
+
+ /**
+ * The objects needed to create peer are obtained
+ * from corresponding object relations, then the peer is created.
+ * <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _createPeer() {
+ XWindowPeer the_win = (XWindowPeer) tEnv.getObjRelation("WINPEER");
+ XToolkit the_kit = (XToolkit) tEnv.getObjRelation("TOOLKIT");
+ oObj.createPeer(the_kit,the_win);
+ tRes.tested("createPeer()",true);
+ }
+
+ /**
+ * Test calls the method. Then the the object ralation 'WINPEER' is
+ * obtained, and compared with the peer, gotten from (XControl) oObj
+ * variable.<p>
+ * Has <b> OK </b> status if peer gotten isn't null
+ * The following method tests are to be completed successfully before :
+ */
+ public void _getPeer() {
+ requiredMethod("createPeer()");
+ boolean res = false;
+ XWindowPeer get = oObj.getPeer();
+ if (get == null) {
+ log.println("The method 'getPeer' returns NULL");
+ } else {
+ res = true;
+ }
+ tRes.tested("getPeer()",res);
+ }
+
+
+ /**
+ * At first current model is obtained and saved to variable aModel.
+ * Then object relation 'MODEL' is gotten and test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setModel() {
+ aModel = oObj.getModel();
+ XControlModel the_model = (XControlModel) tEnv.getObjRelation("MODEL");
+ oObj.setModel(the_model);
+ tRes.tested("setModel()",true);
+ }
+
+ /**
+ * Test calls the method, then object relation 'MODEL' is gotten and
+ * compared with object returned by the method. Then previously saved
+ * value of model (aModel) restored to (XControl) oObj<p>
+ * Has <b> OK </b> status if models set and get are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setModel() </code> : setting model from corresponding
+ * object relation </li>
+ * </ul>
+ */
+ public void _getModel() {
+ requiredMethod("setModel()");
+ XControlModel the_model = (XControlModel) tEnv.getObjRelation("MODEL");
+ XControlModel get = oObj.getModel();
+ boolean res = (get.equals(the_model));
+ if (!res) {
+ log.println("getting: "+get.toString());
+ log.println("expected: "+the_model.toString());
+ }
+ if (aModel != null) {
+ oObj.setModel(aModel);
+ }
+ tRes.tested("getModel()",res);
+ }
+
+ /**
+ * Test calls the method. Then mode is checked using isDesignMode().<p>
+ * Has <b> OK </b> status if mode is swithed.
+ */
+ public void _setDesignMode() {
+ desMode = oObj.isDesignMode();
+ oObj.setDesignMode(!desMode);
+ tRes.tested("setDesignMode()",oObj.isDesignMode() == !desMode);
+ }
+
+ /**
+ * The mode is changed and result is checked.<p>
+ * Has <b> OK </b> status if the mode changed successfully.
+ */
+ public void _isDesignMode() {
+ requiredMethod("setDesignMode()");
+ oObj.setDesignMode(desMode);
+ tRes.tested("isDesignMode()", oObj.isDesignMode() == desMode);
+ }
+
+ /**
+ * Test calls the method.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _isTransparent() {
+ boolean isT = oObj.isTransparent();
+ tRes.tested("isTransparent()",true );
+ }
+
+ /**
+ * Test calls the method.<p>
+ * Has <b> OK </b> status if the method returns not null. <p>
+ */
+ public void _getView() {
+ XView the_view = oObj.getView();
+ tRes.tested("getView()", the_view != null);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XControlContainer.java b/qadevOOo/tests/java/ifc/awt/_XControlContainer.java
new file mode 100644
index 000000000000..831df3461041
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XControlContainer.java
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+
+/**
+* Testing <code>com.sun.star.awt.XControlContainer</code>
+* interface methods:
+* <ul>
+* <li><code> setStatusText() </code></li>
+* <li><code> addControl() </code></li>
+* <li><code> removeControl() </code></li>
+* <li><code> getControl() </code></li>
+* <li><code> getControls() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CONTROL1'</code> (of type <code>XControl</code>):
+* used as a parameter to addControl(), getControl() and removeControl()</li>
+* <li> <code>'CONTROL2'</code> (of type <code>XControl</code>):
+* used as a parameter to addControl(), getControl() and removeControl()</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XControlContainer
+*/
+public class _XControlContainer extends MultiMethodTest {
+ public XControlContainer oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setStatusText() {
+ oObj.setStatusText("testing XControlContainer::setStatusText(String)");
+ tRes.tested("setStatusText()",true);
+ }
+
+ /**
+ * Test calls the method twice - two controls gotten from object relations
+ * 'CONTROL1' and 'CONTROL2' added to container.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _addControl() {
+ oObj.addControl("CONTROL1", (XControl)tEnv.getObjRelation("CONTROL1"));
+ oObj.addControl("CONTROL2", (XControl)tEnv.getObjRelation("CONTROL2"));
+ tRes.tested("addControl()",true);
+ }
+
+ /**
+ * Test calls the method with object relation 'CONTROL1' as a
+ * parameter. Then control gotten from container is checked, and if returned
+ * value is null then another control 'CONTROL2' is removed from container,
+ * otherwise returned value of method test is 'false'.<p>
+ * Has <b> OK </b> status if control is removed successfully.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addControl() </code> : adds control to a container </li>
+ * <li> <code> getControl() </code> : gets control from container </li>
+ * <li> <code> getControls() </code> : gets controls from container</li>
+ * </ul>
+ */
+ public void _removeControl() {
+ boolean result = true;
+
+ requiredMethod("addControl()");
+ requiredMethod("getControl()");
+ requiredMethod("getControls()");
+ oObj.removeControl( (XControl) tEnv.getObjRelation("CONTROL1") );
+ XControl ctrl = oObj.getControl("CONTROL1");
+ if (ctrl != null) {
+ result = false;
+ log.println("'removeControl()' fails; Control still exists");
+ } else {
+ oObj.removeControl( (XControl) tEnv.getObjRelation("CONTROL2") );
+ }
+ tRes.tested("removeControl()", result);
+ }
+
+ /**
+ * Test calls the method with 'CONTROL1' as a parameter, then we just
+ * compare returned object and object relation 'CONTROL1'.<p>
+ * Has <b> OK </b> status if value returned by the method is equal to
+ * a corresponding object relation.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addControl() </code> : adds control to a container </li>
+ * </ul>
+ */
+ public void _getControl() {
+ requiredMethod("addControl()");
+ XControl xCtrlComp = oObj.getControl("CONTROL1");
+ XControl xCl = (XControl) tEnv.getObjRelation("CONTROL1");
+ tRes.tested("getControl()", xCtrlComp.equals(xCl));
+ }
+
+ /**
+ * Test calls the method, then returned value is checked.<p>
+ * Has <b> OK </b> status if returned array consists of at least two
+ * elements.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addControl() </code> : adds control to a container </li>
+ * </ul>
+ */
+ public void _getControls() {
+ requiredMethod("addControl()");
+ XControl[] xCtrls = oObj.getControls();
+ tRes.tested("getControls()",xCtrls.length >= 2);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XCurrencyField.java b/qadevOOo/tests/java/ifc/awt/_XCurrencyField.java
new file mode 100644
index 000000000000..588962be5afd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XCurrencyField.java
@@ -0,0 +1,308 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XCurrencyField;
+
+/**
+* Testing <code>com.sun.star.awt.XCurrencyField</code>
+* interface methods :
+* <ul>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setSpinSize()</code></li>
+* <li><code> getSpinSize()</code></li>
+* <li><code> setDecimalDigits()</code></li>
+* <li><code> getDecimalDigits()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XCurrencyField
+*/
+public class _XCurrencyField extends MultiMethodTest {
+
+ public XCurrencyField oObj = null;
+ private double val = 0;
+ private double min = 0;
+ private double max = 0;
+ private double first = 0;
+ private double last = 0;
+ private double spin = 0;
+ private short digits = 0;
+ private boolean strict = true;
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue </code> </li>
+ * </ul>
+ */
+ public void _setValue() {
+ requiredMethod("getValue()");
+
+ oObj.setValue(val + 1.1);
+
+ tRes.tested("setValue()", oObj.getValue() == val + 1.1);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getValue() {
+ val = oObj.getValue();
+
+ tRes.tested("getValue()", true);
+ }
+
+ /**
+ * Sets minimal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+ requiredMethod("getMin()");
+
+ oObj.setMin(min + 1.1);
+
+ tRes.tested("setMin()", oObj.getMin() == min + 1.1);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getMin() {
+
+ boolean result = true;
+ min = oObj.getMin();
+
+ tRes.tested("getMin()", result);
+ }
+
+ /**
+ * Sets maximal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+ requiredMethod("getMax()");
+
+ boolean result = true;
+ oObj.setMax(max + 1.1);
+ result = oObj.getMax() == max + 1.1;
+
+ tRes.tested("setMax()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getMax() {
+
+ boolean result = true;
+ max = oObj.getMax();
+
+ tRes.tested("getMax()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+ requiredMethod("getFirst()");
+
+ boolean result = true;
+ oObj.setFirst(first + 1.1);
+ double ret = oObj.getFirst();
+ result = ret == first + 1.1;
+
+ tRes.tested("setFirst()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getFirst() {
+
+ boolean result = true;
+ first = oObj.getFirst();
+
+ tRes.tested("getFirst()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+ requiredMethod("getLast()");
+
+ boolean result = true;
+ oObj.setLast(last + 1.1);
+ double ret = oObj.getLast();
+
+ result = ret == last + 1.1;
+
+ tRes.tested("setLast()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getLast() {
+
+ boolean result = true;
+ last = oObj.getLast();
+
+ tRes.tested("getLast()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSpinSize </code> </li>
+ * </ul>
+ */
+ public void _setSpinSize() {
+ requiredMethod("getSpinSize()");
+
+ boolean result = true;
+ oObj.setSpinSize(spin + 1.1);
+ result = oObj.getSpinSize() == spin + 1.1;
+
+ tRes.tested("setSpinSize()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getSpinSize() {
+
+ boolean result = true;
+ spin = oObj.getSpinSize();
+
+ tRes.tested("getSpinSize()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDecimalDigits </code> </li>
+ * </ul>
+ */
+ public void _setDecimalDigits() {
+ requiredMethod("getDecimalDigits()");
+
+ boolean result = true;
+ oObj.setDecimalDigits((short) (digits + 1));
+
+ short res = oObj.getDecimalDigits();
+ result = res == ((short) digits + 1);
+
+ tRes.tested("setDecimalDigits()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getDecimalDigits() {
+
+ boolean result = true;
+ digits = oObj.getDecimalDigits();
+
+ tRes.tested("getDecimalDigits()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()");
+
+ boolean result = true;
+ oObj.setStrictFormat(!strict);
+ result = oObj.isStrictFormat() == !strict;
+
+ tRes.tested("setStrictFormat()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true;
+ strict = oObj.isStrictFormat();
+
+ tRes.tested("isStrictFormat()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java b/qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java
new file mode 100644
index 000000000000..909723b8a429
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.XDataTransferProviderAccess;
+import com.sun.star.awt.XWindow;
+import com.sun.star.datatransfer.clipboard.XClipboard;
+import com.sun.star.datatransfer.dnd.XDragGestureRecognizer;
+import com.sun.star.datatransfer.dnd.XDragSource;
+import com.sun.star.datatransfer.dnd.XDropTarget;
+
+/**
+* Testing <code>com.sun.star.awt.XDataTransferProviderAccess</code>
+* interface methods :
+* <ul>
+* <li><code> getDragGestureRecognizer()</code></li>
+* <li><code> getDragSource()</code></li>
+* <li><code> getDropTarget()</code></li>
+* <li><code> getClipboard()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDataTransferProviderAccess.XWindow'</code>
+* (of type <code>com.sun.star.awt.XWindow</code>):
+* this window must created by the Toolkit tested. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XDataTransferProviderAccess
+*/
+public class _XDataTransferProviderAccess extends MultiMethodTest {
+
+ public XDataTransferProviderAccess oObj = null;
+ protected XWindow win = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ win = (XWindow) tEnv.getObjRelation
+ ("XDataTransferProviderAccess.XWindow") ;
+ if (win == null) throw new StatusException(Status.failed
+ ("Relation not found")) ;
+ }
+
+ /**
+ * Tries to get gesture recognizer for the window passed as
+ * relation. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned
+ */
+ public void _getDragGestureRecognizer() {
+
+ boolean result = true ;
+ XDragGestureRecognizer rec = oObj.getDragGestureRecognizer(win) ;
+
+ result = rec != null ;
+
+ tRes.tested("getDragGestureRecognizer()", result) ;
+ }
+
+ /**
+ * Tries to get drag source for the window passed as
+ * relation. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned
+ */
+ public void _getDragSource() {
+
+ boolean result = true ;
+ XDragSource src = oObj.getDragSource(win) ;
+
+ result = src != null ;
+
+ tRes.tested("getDragSource()", result) ;
+ }
+
+ /**
+ * Tries to get drop target for the window passed as
+ * relation. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned
+ */
+ public void _getDropTarget() {
+
+ boolean result = true ;
+ XDropTarget targ = oObj.getDropTarget(win) ;
+
+ result = targ != null ;
+
+ tRes.tested("getDropTarget()", result) ;
+ }
+
+ /**
+ * Tries to obtain default clipboard.<p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getClipboard() {
+
+ boolean result = true ;
+ XClipboard cb = oObj.getClipboard("") ;
+
+ result = cb != null ;
+
+ tRes.tested("getClipboard()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XDateField.java b/qadevOOo/tests/java/ifc/awt/_XDateField.java
new file mode 100644
index 000000000000..a8eaf303302e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XDateField.java
@@ -0,0 +1,340 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XDateField;
+
+/**
+* Testing <code>com.sun.star.awt.XDateField</code>
+* interface methods :
+* <ul>
+* <li><code> setDate()</code></li>
+* <li><code> getDate()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setLongFormat()</code></li>
+* <li><code> isLongFormat()</code></li>
+* <li><code> setEmpty()</code></li>
+* <li><code> isEmpty()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XDateField
+*/
+public class _XDateField extends MultiMethodTest {
+
+ public XDateField oObj = null;
+
+ private boolean strict = false ;
+ private boolean longFormat = false ;
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTime </code> </li>
+ * </ul>
+ */
+ public void _setDate() {
+ requiredMethod("getDate()") ;
+
+ boolean result = true ;
+ oObj.setDate(19000101) ;
+
+ result = oObj.getDate() == 19000101 ;
+
+ if (! result ) {
+ System.out.println("getDate: "+oObj.getDate()+" , expected 19000101");
+ }
+
+ tRes.tested("setDate()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getDate() {
+
+ boolean result = true ;
+ oObj.getDate() ;
+
+ tRes.tested("getDate()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+
+ boolean result = true ;
+ oObj.setMin(4978) ;
+
+ result = oObj.getMin() == 4978 ;
+
+ tRes.tested("setMin()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getMin() {
+
+ boolean result = true ;
+ oObj.getMin() ;
+
+ tRes.tested("getMin()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+
+ boolean result = true ;
+ oObj.setMax(27856) ;
+
+ result = oObj.getMax() == 27856 ;
+
+ tRes.tested("setMax()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getMax() {
+
+ boolean result = true ;
+ oObj.getMax() ;
+
+ tRes.tested("getMax()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+
+ boolean result = true ;
+ oObj.setFirst(5118) ;
+
+ result = oObj.getFirst() == 5118 ;
+
+ if (!result) {
+ log.println("Set to " + 5118 + " but returned " + oObj.getFirst()) ;
+ }
+
+ tRes.tested("setFirst()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getFirst() {
+
+ boolean result = true ;
+ int val = oObj.getFirst() ;
+
+ log.println("getFirst() = " + val) ;
+
+ tRes.tested("getFirst()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+
+ boolean result = true ;
+ oObj.setLast(23450) ;
+
+ result = oObj.getLast() == 23450 ;
+
+ if (!result) {
+ log.println("Set to " + 23450 + " but returned " + oObj.getLast()) ;
+ }
+
+ tRes.tested("setLast()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getLast() {
+
+ boolean result = true ;
+ int val = oObj.getLast() ;
+
+ log.println("getLast() = " + val) ;
+
+ tRes.tested("getLast()", result) ;
+ }
+
+ /**
+ * Sets the value to empty. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTime </code> : value must be not empty </li>
+ * </ul>
+ */
+ public void _setEmpty() {
+ requiredMethod("setDate()") ;
+
+ boolean result = true ;
+ oObj.setEmpty() ;
+
+ tRes.tested("setEmpty()", result) ;
+ }
+
+ /**
+ * Checks if the field is empty. <p>
+ * Has <b> OK </b> status if the value is empty.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setEmpty() </code> </li>
+ * </ul>
+ */
+ public void _isEmpty() {
+ requiredMethod("setEmpty()") ;
+
+ boolean result = true ;
+ result = oObj.isEmpty() ;
+
+ tRes.tested("isEmpty()", result) ;
+ }
+
+ /**
+ * Checks strict state. <p>
+ * Has <b> OK </b> status if strict format is properly set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+
+ result = oObj.isStrictFormat() == !strict ;
+
+ if (!result) {
+ log.println("Was '" + strict + "', set to '" + !strict +
+ "' but returned '" + oObj.isStrictFormat() + "'") ;
+ }
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Gets strict state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+
+
+ /**
+ * Checks long format state. <p>
+ * Has <b> OK </b> status if long format is properly set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isLongFormat </code> </li>
+ * </ul>
+ */
+ public void _setLongFormat() {
+
+ boolean result = true ;
+ oObj.setLongFormat(!longFormat) ;
+
+ result = oObj.isLongFormat() == !longFormat ;
+
+ if (!result) {
+ log.println("Was '" + longFormat + "', set to '" + !longFormat +
+ "' but returned '" + oObj.isLongFormat() + "'") ;
+ }
+
+ tRes.tested("setLongFormat()", result) ;
+ }
+
+ /**
+ * Gets long format state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _isLongFormat() {
+
+ boolean result = true ;
+ longFormat = oObj.isLongFormat() ;
+
+ tRes.tested("isLongFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XDialog.java b/qadevOOo/tests/java/ifc/awt/_XDialog.java
new file mode 100644
index 000000000000..a5fc0bf98170
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XDialog.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XDialog;
+
+/**
+* Testing <code>com.sun.star.awt.XDialog</code>
+* interface methods :
+* <ul>
+* <li><code> setTitle()</code></li>
+* <li><code> getTitle()</code></li>
+* <li><code> execute()</code></li>
+* <li><code> endExecute()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.awt.XDialog
+*/
+public class _XDialog extends MultiMethodTest {
+
+ public XDialog oObj = null;
+
+ /**
+ * As <code>execute()</code> method is a blocking call,
+ * then it must be executed in a separate thread. This
+ * thread class just call <code>execute</code> method
+ * of tested object.
+ */
+ protected Thread execThread = new Thread(
+ new Runnable() {
+ public void run() {
+ oObj.execute() ;
+ }
+ }) ;
+
+ /**
+ * Sets the title to some string. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _setTitle() {
+
+ oObj.setTitle("XDialog test") ;
+
+ tRes.tested("setTitle()", true) ;
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _getTitle() {
+ requiredMethod("setTitle()") ;
+
+ tRes.tested("getTitle()",
+ "XDialog test".equals(oObj.getTitle())) ;
+ }
+
+ /**
+ * Starts the execution of dialog in a separate thread.
+ * As this call is blocking then the thread execution
+ * must not be finished. <p>
+ * Has <b>OK</b> status if thread wasn't finished and
+ * no exceptions occured.
+ */
+ public void _execute() {
+ boolean result = true ;
+
+ log.println("Starting execute() thread ...") ;
+ execThread.start() ;
+
+ try {
+ execThread.join(200) ;
+ } catch (InterruptedException e) {
+ log.println("execute() thread was interrupted") ;
+ result = false ;
+ }
+ result &= execThread.isAlive() ;
+
+ tRes.tested("execute()", result) ;
+ }
+
+ /**
+ * Calls the method and checks if the execution thread
+ * where <code>execute()</code> method is running was
+ * finished. If <code>execute</code> method didn't return
+ * and still running then thread interrupted. <p>
+ * Has <b>OK</b> status if <code>execute</code> method
+ * call successfully retured.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> execute </code> </li>
+ * </ul>
+ */
+ public void _endExecute() {
+ requiredMethod("execute()") ;
+
+ boolean result = true ;
+
+ oObj.endExecute() ;
+
+ try {
+ execThread.join(200) ;
+ } catch (InterruptedException e) {
+ log.println("execute() thread was interrupted") ;
+ result = false ;
+ }
+
+ if (execThread.isAlive()) {
+ execThread.interrupt() ;
+ }
+
+ result &= !execThread.isAlive() ;
+
+ tRes.tested("endExecute()", result) ;
+ }
+
+ /**
+ * Disposes object environment.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XFixedText.java b/qadevOOo/tests/java/ifc/awt/_XFixedText.java
new file mode 100644
index 000000000000..e93d97e85e19
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XFixedText.java
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.TextAlign;
+import com.sun.star.awt.XFixedText;
+
+/**
+* Testing <code>com.sun.star.awt.XFixedText</code>
+* interface methods :
+* <ul>
+* <li><code> setText()</code></li>
+* <li><code> getText()</code></li>
+* <li><code> setAlignment()</code></li>
+* <li><code> getAlignment()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XFixedText
+*/
+public class _XFixedText extends MultiMethodTest {
+
+ public XFixedText oObj = null;
+ private String text = null ;
+ private int align = -1 ;
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getText </code> </li>
+ * </ul>
+ */
+ public void _setText() {
+ requiredMethod("getText()") ;
+
+ boolean result = true ;
+ oObj.setText(text + "_") ;
+ result = (text+"_").equals(oObj.getText()) ;
+
+ tRes.tested("setText()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getText() {
+
+ boolean result = true ;
+ text = oObj.getText() ;
+ if (util.utils.isVoid(text)) text = "XFixedText";
+
+ tRes.tested("getText()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAlignment </code> </li>
+ * </ul>
+ */
+ public void _setAlignment() {
+ requiredMethod("getAlignment()") ;
+
+ boolean result = true ;
+ int newAlign = align ==
+ TextAlign.CENTER ? TextAlign.LEFT : TextAlign.CENTER ;
+ oObj.setAlignment((short)newAlign) ;
+ short getAlign = oObj.getAlignment() ;
+ result = newAlign == getAlign ;
+
+ tRes.tested("setAlignment()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getAlignment() {
+
+ boolean result = true ;
+ align = oObj.getAlignment() ;
+
+ tRes.tested("getAlignment()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XImageConsumer.java b/qadevOOo/tests/java/ifc/awt/_XImageConsumer.java
new file mode 100644
index 000000000000..f47320fa3e2c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XImageConsumer.java
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XImageConsumer;
+
+/**
+* Testing <code>com.sun.star.awt.XImageConsumer</code>
+* interface methods :
+* <ul>
+* <li><code> init()</code></li>
+* <li><code> setColorModel()</code></li>
+* <li><code> setPixelsByBytes()</code></li>
+* <li><code> setPixelsByLongs()</code></li>
+* <li><code> complete()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XImageConsumer
+*/
+
+public class _XImageConsumer extends MultiMethodTest {
+
+ public XImageConsumer oObj = null;
+
+ /**
+ * Initialize the consumer with size 2x2. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _init() {
+
+ boolean result = true ;
+ oObj.init(2, 2) ;
+
+ tRes.tested("init()", result) ;
+ }
+
+ /**
+ * Sets color model. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> init </code> </li>
+ * </ul>
+ */
+ public void _setColorModel() {
+ requiredMethod("init()") ;
+
+ boolean result = true ;
+ int[] pal = new int[256] ;
+ for (int i = 0; i < 256; i++) pal[i] = i ;
+ oObj.setColorModel((short)8, pal, 100, 100, 100, 100) ;
+
+ tRes.tested("setColorModel()", result) ;
+ }
+
+ /**
+ * Fill the picture with for pixels. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setColorModel </code> </li>
+ * </ul>
+ */
+ public void _setPixelsByBytes() {
+ executeMethod("setColorModel()") ;
+
+ boolean result = true ;
+ oObj.setPixelsByBytes(0, 0, 2, 2,
+ new byte[] {(byte)0, (byte)255, (byte)255, (byte)0}, 0, 2) ;
+
+ tRes.tested("setPixelsByBytes()", result) ;
+ }
+
+ /**
+ * Fill the picture with for pixels. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setColorModel </code> </li>
+ * </ul>
+ */
+ public void _setPixelsByLongs() {
+ executeMethod("setColorModel()") ;
+
+ boolean result = true ;
+ oObj.setPixelsByLongs(0, 0, 2, 2, new int[] {0, 255, 255, 0}, 0, 2) ;
+
+ tRes.tested("setPixelsByLongs()", result) ;
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> init </code> </li>
+ * </ul> <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setPixelsByBytes </code> </li>
+ * <li> <code> setPixelsByBytes </code> </li>
+ * </ul>
+ */
+ public void _complete() {
+ requiredMethod("init()") ;
+ executeMethod("setPixelsByBytes()") ;
+ executeMethod("setPixelsByBytes()") ;
+
+ boolean result = true ;
+ oObj.complete(0, null) ;
+
+ tRes.tested("complete()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XImageProducer.java b/qadevOOo/tests/java/ifc/awt/_XImageProducer.java
new file mode 100644
index 000000000000..60dd0c9b7fdf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XImageProducer.java
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XImageConsumer;
+import com.sun.star.awt.XImageProducer;
+
+/**
+* Testing <code>com.sun.star.awt.XImageProducer</code>
+* interface methods :
+* <ul>
+* <li><code> addConsumer()</code></li>
+* <li><code> removeConsumer()</code></li>
+* <li><code> startProduction()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XImageProducer
+*/
+public class _XImageProducer extends MultiMethodTest {
+
+ public XImageProducer oObj = null;
+
+ /**
+ * Consumer implementation which sets flags on appropriate
+ * method calls.
+ */
+ protected class TestImageConsumer implements XImageConsumer {
+ PrintWriter log = null ;
+ public boolean initCalled = false ;
+ public boolean setColorModelCalled = false ;
+ public boolean setPixelsByBytesCalled = false ;
+ public boolean setPixelsByLongsCalled = false ;
+ public boolean completeCalled = false ;
+
+ TestImageConsumer(PrintWriter log) {
+ log.println("### Consumer initialized" ) ;
+ this.log = log ;
+ }
+
+ public void init(int width, int height) {
+ log.println("### init() called") ;
+ initCalled = true ;
+ }
+
+ public void setColorModel(short bitCount, int[] RGBAPal,
+ int redMask, int greenMask, int blueMask, int alphaMask) {
+
+ log.println("### setColorModel() called") ;
+ setColorModelCalled = true ;
+ }
+
+ public void setPixelsByBytes(int x, int y, int width, int height,
+ byte[] data, int offset, int scanSize) {
+
+ log.println("### setPixelByBytes() called") ;
+ setPixelsByBytesCalled = true ;
+ }
+
+ public void setPixelsByLongs(int x, int y, int width, int height,
+ int[] data, int offset, int scanSize) {
+
+ log.println("### setPixelByLongs() called") ;
+ setPixelsByLongsCalled = true ;
+ }
+
+ public void complete(int status, XImageProducer prod) {
+ log.println("### complete() called") ;
+ completeCalled = true ;
+ }
+ }
+
+ TestImageConsumer consumer = null ;
+
+ /**
+ * Creates a new XImageConsumer implementation.
+ */
+ public void before() {
+ consumer = new TestImageConsumer(log) ;
+ }
+
+ /**
+ * Adds a new consumer to producer. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _addConsumer() {
+
+ boolean result = true ;
+ oObj.addConsumer(consumer) ;
+
+ tRes.tested("addConsumer()", result) ;
+ }
+
+ /**
+ * Removes the consumer added before. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> startProduction </code> </li>
+ * </ul>
+ */
+ public void _removeConsumer() {
+ executeMethod("startProduction()") ;
+
+ boolean result = true ;
+ oObj.removeConsumer(consumer) ;
+
+ tRes.tested("removeConsumer()", result) ;
+ }
+
+ /**
+ * Starts the production and after short waiting checks what
+ * consumer's methods were called. <p>
+ * Has <b> OK </b> status if at least <code>init</code> consumer
+ * methods was called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addConsumer </code> </li>
+ * </ul>
+ */
+ public void _startProduction() {
+ requiredMethod("addConsumer()") ;
+
+ boolean result = true ;
+ oObj.startProduction() ;
+
+ try {
+ Thread.sleep(500) ;
+ } catch (InterruptedException e) {}
+
+ tRes.tested("startProduction()", consumer.initCalled) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XItemListener.java b/qadevOOo/tests/java/ifc/awt/_XItemListener.java
new file mode 100644
index 000000000000..b5f920f4ffa7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XItemListener.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.ItemEvent;
+import com.sun.star.awt.XItemListener;
+
+/**
+* Testing <code>com.sun.star.awt.XItemListener</code>
+* interface methods :
+* <ul>
+* <li><code> itemStateChanged()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TestItemListener'</code>
+* (of type <code>ifc.awt._XItemListener.TestItemListener</code>):
+* this <code>XItemListener</code> implementation must be
+* added to the object tested for checking
+* <code> itemStateChanged()</code> method call. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XItemListener
+*/
+public class _XItemListener extends MultiMethodTest {
+
+ public XItemListener oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ * and stores event passed.
+ */
+ public static class TestItemListener implements com.sun.star.awt.XItemListener {
+ public boolean itemStateChangedCalled = false ;
+ public ItemEvent event = null ;
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {
+ itemStateChangedCalled = true ;
+ event = e ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ }
+
+ TestItemListener itemListener = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If the relation not found.
+ */
+ public void before() {
+ itemListener = (TestItemListener) tEnv.getObjRelation("TestItemListener") ;
+ if (itemListener == null)
+ throw new StatusException(Status.failed("Relation not found")) ;
+ }
+
+ /**
+ * First a <code>ItemEvent</code> object created and
+ * it is passed to <code>itemStateChanged</code> method
+ * call. Then a short wait follows for listener already
+ * registered at the object to be caled. <p>
+ * Has <b> OK </b> status if the listener was called with
+ * the same <code>ItemEvent</code> object as was created
+ * before.
+ */
+ public void _itemStateChanged() {
+
+ boolean result = true ;
+
+ ItemEvent event = new ItemEvent() ;
+ event.Selected = 1 ;
+ event.Highlighted = 2 ;
+ oObj.itemStateChanged(event) ;
+
+ try {
+ Thread.sleep(200) ;
+ } catch (InterruptedException e) {}
+
+ result = itemListener.itemStateChangedCalled &&
+ itemListener.event.Selected == 1 &&
+ itemListener.event.Highlighted == 2 ;
+
+ tRes.tested("itemStateChanged()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java b/qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java
new file mode 100644
index 000000000000..81bfc6889175
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XLayoutConstrains;
+
+/**
+* Testing <code>com.sun.star.awt.XLayoutConstrains</code>
+* interface methods:
+* <ul>
+* <li><code> getMinimumSize() </code></li>
+* <li><code> getPreferredSize() </code></li>
+* <li><code> calcAdjustedSize() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XLayoutConstrains
+*/
+public class _XLayoutConstrains extends MultiMethodTest {
+ public XLayoutConstrains oObj = null;
+
+ /**
+ * Test calls the method, then check if returned value is not null.<p>
+ * Has <b> OK </b> status if the method returns not null.
+ */
+ public void _getMinimumSize() {
+ Size aSize = oObj.getMinimumSize();
+ tRes.tested("getMinimumSize()", aSize != null);
+ }
+
+ /**
+ * Test calls the method, then check if returned value is not null.<p>
+ * Has <b> OK </b> status if the method returns not null.
+ */
+ public void _getPreferredSize() {
+ Size aSize = oObj.getPreferredSize();
+ tRes.tested("getPreferredSize()", aSize != null);
+ }
+
+ /**
+ * Test calls the method with the new size as a parameter.<p>
+ * Has <b> OK </b> status if the method returns not null.
+ */
+ public void _calcAdjustedSize() {
+ Size aSize = oObj.calcAdjustedSize(new Size(50,50));
+ tRes.tested("calcAdjustedSize()", aSize != null);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XListBox.java b/qadevOOo/tests/java/ifc/awt/_XListBox.java
new file mode 100644
index 000000000000..9d1e4a84702e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XListBox.java
@@ -0,0 +1,513 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XListBox;
+
+/**
+* Testing <code>com.sun.star.awt.XListBox</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> addActionListener()</code></li>
+* <li><code> removeActionListener()</code></li>
+* <li><code> addItem()</code></li>
+* <li><code> addItems()</code></li>
+* <li><code> removeItems()</code></li>
+* <li><code> getItemCount()</code></li>
+* <li><code> getItem()</code></li>
+* <li><code> getItems()</code></li>
+* <li><code> getSelectedItemPos()</code></li>
+* <li><code> getSelectedItemsPos()</code></li>
+* <li><code> getSelectedItem()</code></li>
+* <li><code> getSelectedItems()</code></li>
+* <li><code> selectItemPos()</code></li>
+* <li><code> selectItemsPos()</code></li>
+* <li><code> selectItem()</code></li>
+* <li><code> isMutipleMode()</code></li>
+* <li><code> setMultipleMode()</code></li>
+* <li><code> getDropDownLineCount()</code></li>
+* <li><code> setDropDownLineCount()</code></li>
+* <li><code> makeVisible()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XListBox
+*/
+public class _XListBox extends MultiMethodTest {
+
+ public XListBox oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestActionListener implements com.sun.star.awt.XActionListener {
+ public boolean disposingCalled = false ;
+ public boolean actionPerformedCalled = false ;
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ }
+
+ public void actionPerformed(com.sun.star.awt.ActionEvent e) {
+ actionPerformedCalled = true ;
+ }
+
+ }
+
+ TestActionListener actionListener = new TestActionListener() ;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestItemListener implements com.sun.star.awt.XItemListener {
+ public boolean disposingCalled = false ;
+ public boolean itemStateChangedCalled = false ;
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ }
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {
+ itemStateChangedCalled = true ;
+ }
+
+ }
+
+ TestItemListener itemListener = new TestItemListener() ;
+
+ short lineCount = 0 ;
+ short itemCount = 0 ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ itemCount = oObj.getItemCount();
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ oObj.addItemListener(itemListener) ;
+
+ tRes.tested("addItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+ requiredMethod("addItemListener()") ;
+
+ oObj.removeItemListener(itemListener) ;
+
+ tRes.tested("removeItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addActionListener() {
+
+ oObj.addActionListener(actionListener) ;
+
+ tRes.tested("addActionListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeActionListener() {
+ requiredMethod("addActionListener()") ;
+
+ oObj.removeActionListener(actionListener) ;
+
+ tRes.tested("removeActionListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Adds one item to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 1.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getItemCount </code> </li>
+ * </ul>
+ */
+ public void _addItem() {
+ requiredMethod("getItemCount()") ;
+
+ boolean result = true ;
+ oObj.addItem("Item1", itemCount) ;
+ result = oObj.getItemCount() == itemCount + 1 ;
+
+ tRes.tested("addItem()", result) ;
+ }
+
+ /**
+ * Adds one two items to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 2.<p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItem </code> </li>
+ * </ul>
+ */
+ public void _addItems() {
+ executeMethod("addItem()") ;
+
+ boolean result = true ;
+ short oldCnt = oObj.getItemCount() ;
+ oObj.addItems(new String[] {"Item2", "Item3"}, oldCnt) ;
+ result = oObj.getItemCount() == oldCnt + 2 ;
+
+ tRes.tested("addItems()", result) ;
+ }
+
+ /**
+ * Gets the current number of items and tries to remove them all
+ * then checks number of items. <p>
+ * Has <b>OK</b> status if no items remains. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getItems </code> </li>
+ * <li> <code> getItem </code> </li>
+ * </ul>
+ */
+ public void _removeItems() {
+ executeMethod("getItems()") ;
+ executeMethod("getItem()") ;
+ executeMethod("getSelectedItemPos()") ;
+ executeMethod("getSelectedItemsPos()") ;
+ executeMethod("getSelectedItem()") ;
+ executeMethod("getSelectedItems()") ;
+
+ boolean result = true ;
+ short oldCnt = oObj.getItemCount() ;
+ oObj.removeItems((short)0, oldCnt) ;
+ result = oObj.getItemCount() == 0 ;
+
+ tRes.tested("removeItems()", result) ;
+ }
+
+ /**
+ * Just retrieves current number of items and stores it. <p>
+ * Has <b>OK</b> status if the count is not less than 0.
+ */
+ public void _getItemCount() {
+
+ itemCount = oObj.getItemCount() ;
+
+ tRes.tested("getItemCount()", itemCount >= 0) ;
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves the item from the position which was ititially the last.<p>
+ * Has <b>OK</b> status if the "Item1" was retrieved. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItem() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ String item = oObj.getItem(itemCount) ;
+ result = "Item1".equals(item) ;
+
+ tRes.tested("getItem()", result) ;
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves all items. <p>
+ * Has <b>OK</b> status if the last three items retrieved are
+ * "Item1", "Item2" and "Item3". <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItems() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ String[] items = oObj.getItems() ;
+ for (int i = itemCount; i < (itemCount + 3); i++) {
+ result &= ("Item" + (i+1 - itemCount)).equals(items[i]) ;
+ }
+
+ tRes.tested("getItems()", result) ;
+ }
+
+ /**
+ * Gets line count and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getDropDownLineCount() {
+
+ boolean result = true ;
+ lineCount = oObj.getDropDownLineCount() ;
+
+ tRes.tested("getDropDownLineCount()", result) ;
+ }
+
+ /**
+ * Sets a new value and then checks get value. <p>
+ * Has <b>OK</b> status if set and get values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDropDownLineCount </code> </li>
+ * </ul>
+ */
+ public void _setDropDownLineCount() {
+ requiredMethod("getDropDownLineCount()") ;
+
+ boolean result = true ;
+ oObj.setDropDownLineCount((short)(lineCount + 1)) ;
+ result = oObj.getDropDownLineCount() == lineCount + 1 ;
+
+ tRes.tested("setDropDownLineCount()", result) ;
+ }
+
+ /**
+ * Selects some item and gets selected item position. <p>
+ * Has <b> OK </b> status if position is equal to position set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _getSelectedItemPos() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ oObj.selectItemPos((short)1, true) ;
+ short pos = oObj.getSelectedItemPos() ;
+
+ result = pos == 1 ;
+
+ tRes.tested("getSelectedItemPos()", result) ;
+ }
+
+ /**
+ * Clears all selections, then selects some items and gets selected
+ * item positions. <p>
+ * Has <b> OK </b> status if positions get are the same as were set.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> selectItemsPos </code> </li>
+ * </ul>
+ */
+ public void _getSelectedItemsPos() {
+ requiredMethod("selectItemsPos()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItemsPos(new short[] {0, 2}, true) ;
+
+ short[] items = oObj.getSelectedItemsPos() ;
+
+ result = items != null && items.length == 2 &&
+ items[0] == 0 && items[1] == 2 ;
+
+ tRes.tested("getSelectedItemsPos()", result) ;
+ }
+
+ /**
+ * Unselects all items, selects some item and then gets selected item. <p>
+ * Has <b> OK </b> status if items selected and get are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _getSelectedItem() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItem("Item3", true) ;
+ String item = oObj.getSelectedItem() ;
+
+ result = "Item3".equals(item) ;
+
+ tRes.tested("getSelectedItem()", result) ;
+ }
+
+ /**
+ * Clears all selections, then selects some items positions and gets
+ * selected items. <p>
+ * Has <b> OK </b> status if items get are the same as items on
+ * positions which were set.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> selectItemsPos </code> </li>
+ * <li> <code> getItem </code>: this method is used here for checking.
+ * </li>
+ * </ul>
+ */
+ public void _getSelectedItems() {
+ requiredMethod("selectItemsPos()") ;
+ requiredMethod("getItem()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItemsPos(new short[] {0, 2}, true) ;
+
+ String[] items = oObj.getSelectedItems() ;
+ result = items != null && items.length == 2 &&
+ oObj.getItem((short)0).equals(items[0]) &&
+ oObj.getItem((short)2).equals(items[1]) ;
+
+ tRes.tested("getSelectedItems()", result) ;
+ }
+
+ /**
+ * Unselects all items, then selects a single item. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _selectItemPos() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItemPos((short)1, true) ;
+
+ tRes.tested("selectItemPos()", result) ;
+ }
+
+ /**
+ * Just selects some items. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _selectItemsPos() {
+ requiredMethod("addItems()") ;
+ requiredMethod("setMultipleMode()") ;
+
+ boolean result = true ;
+ oObj.selectItemsPos(new short[] {0, 2}, true) ;
+
+ tRes.tested("selectItemsPos()", result) ;
+ }
+
+ /**
+ * Just selects an item. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _selectItem() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ oObj.selectItem("Item3", true) ;
+
+ tRes.tested("selectItem()", result) ;
+ }
+
+ /**
+ * Checks if multiple mode is set. <p>
+ * Has <b> OK </b> status if multiple mode is set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setMultipleMode </code> </li>
+ * </ul>
+ */
+ public void _isMutipleMode() {
+ requiredMethod("setMultipleMode()") ;
+
+ boolean result = true ;
+ result = oObj.isMutipleMode() ;
+
+ tRes.tested("isMutipleMode()", result) ;
+ }
+
+ /**
+ * Sets multiple mode. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _setMultipleMode() {
+
+ boolean result = true ;
+ oObj.setMultipleMode(true) ;
+
+ tRes.tested("setMultipleMode()", result) ;
+ }
+
+ /**
+ * Just calls the method to make visible third item. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _makeVisible() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ oObj.makeVisible((short)2) ;
+
+ tRes.tested("makeVisible()", result) ;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java b/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java
new file mode 100644
index 000000000000..9c96506938da
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import com.sun.star.awt.AsyncCallback;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XCallback;
+import com.sun.star.awt.XMessageBox;
+import com.sun.star.awt.XMessageBoxFactory;
+import com.sun.star.awt.XRequestCallback;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import util.UITools;
+
+/**
+ * Testing <code>com.sun.star.awt.XMessageBoxFactory</code>
+ * interface methods :
+ * <ul>
+ * <li><code> </code>createMessageBox()</li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.awt.XMessageBoxFactory
+ */
+public class _XMessageBoxFactory extends MultiMethodTest {
+ public XMessageBoxFactory oObj = null;
+
+ public void _createMessageBox() {
+ final XMessageBox mb = oObj.createMessageBox(
+ (XWindowPeer) tEnv.getObjRelation("WINPEER"),
+ new Rectangle(0, 0, 100, 100), "errorbox", 1, "The Title",
+ "The Message");
+ final UITools tools = new UITools(
+ (XMultiServiceFactory) tParam.getMSF(),
+ UnoRuntime.queryInterface(XWindow.class, mb));
+ final boolean[] done = new boolean[] { false };
+ final boolean[] good = new boolean[] { false };
+ XRequestCallback async = AsyncCallback.create(
+ tParam.getComponentContext());
+ async.addCallback(
+ new XCallback() {
+ public void notify(Object aData) {
+ mb.execute();
+ synchronized (done) {
+ done[0] = true;
+ done.notifyAll();
+ }
+ }
+ },
+ Any.VOID);
+ async.addCallback(
+ new XCallback() {
+ public void notify(Object aData) {
+ try {
+ tools.clickButton("OK");
+ } catch (RuntimeException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ synchronized (good) {
+ good[0] = true;
+ }
+ }
+ },
+ Any.VOID);
+ synchronized (done) {
+ while (!done[0]) {
+ try {
+ done.wait();
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ boolean ok;
+ synchronized (good) {
+ ok = good[0];
+ }
+ tRes.tested("createMessageBox()", ok);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XNumericField.java b/qadevOOo/tests/java/ifc/awt/_XNumericField.java
new file mode 100644
index 000000000000..65003777182c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XNumericField.java
@@ -0,0 +1,311 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XNumericField;
+
+/**
+* Testing <code>com.sun.star.awt.XNumericField</code>
+* interface methods :
+* <ul>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setSpinSize()</code></li>
+* <li><code> getSpinSize()</code></li>
+* <li><code> setDecimalDigits()</code></li>
+* <li><code> getDecimalDigits()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XNumericField
+*/
+public class _XNumericField extends MultiMethodTest {
+
+ public XNumericField oObj = null;
+ private double val = 0 ;
+ private double min = 0 ;
+ private double max = 0 ;
+ private double first = 0 ;
+ private double last = 0 ;
+ private double spin = 0 ;
+ private short digits = 0 ;
+ private boolean strict = true ;
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue </code> </li>
+ * </ul>
+ */
+ public void _setValue() {
+ requiredMethod("getValue()");
+
+ oObj.setValue(val + 1.1) ;
+
+ tRes.tested("setValue()", oObj.getValue() == val + 1.1) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getValue() {
+ val = oObj.getValue() ;
+
+ tRes.tested("getValue()", true) ;
+ }
+
+ /**
+ * Sets minimal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+ requiredMethod("getMin()") ;
+
+ oObj.setMin(min + 1.1) ;
+
+ tRes.tested("setMin()", oObj.getMin() == min + 1.1) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getMin() {
+
+ boolean result = true ;
+ min = oObj.getMin() ;
+
+ tRes.tested("getMin()", result) ;
+ }
+
+ /**
+ * Sets maximal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+ requiredMethod("getMax()") ;
+
+ boolean result = true ;
+ oObj.setMax(max + 1.1) ;
+ result = oObj.getMax() == max + 1.1 ;
+
+ tRes.tested("setMax()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getMax() {
+
+ boolean result = true ;
+ max = oObj.getMax() ;
+
+ tRes.tested("getMax()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+ requiredMethod("getFirst()") ;
+
+ boolean result = true ;
+ oObj.setFirst(first + 1.1) ;
+ double ret = oObj.getFirst() ;
+ result = ret == first + 1.1 ;
+
+ tRes.tested("setFirst()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getFirst() {
+
+ boolean result = true ;
+ first = oObj.getFirst() ;
+
+ tRes.tested("getFirst()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+ requiredMethod("getLast()") ;
+
+ boolean result = true ;
+ oObj.setLast(last + 1.1) ;
+ double ret = oObj.getLast() ;
+
+ result = ret == last + 1.1 ;
+
+ tRes.tested("setLast()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getLast() {
+
+ boolean result = true ;
+ last = oObj.getLast() ;
+
+ tRes.tested("getLast()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSpinSize </code> </li>
+ * </ul>
+ */
+ public void _setSpinSize() {
+ requiredMethod("getSpinSize()") ;
+
+ boolean result = true ;
+ oObj.setSpinSize(spin + 1.1) ;
+ result = oObj.getSpinSize() == spin + 1.1 ;
+
+ tRes.tested("setSpinSize()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getSpinSize() {
+
+ boolean result = true ;
+ spin = oObj.getSpinSize() ;
+
+ tRes.tested("getSpinSize()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDecimalDigits </code> </li>
+ * </ul>
+ */
+ public void _setDecimalDigits() {
+ requiredMethod("getDecimalDigits()") ;
+
+ boolean result = true ;
+ oObj.setDecimalDigits((short)(digits + 1)) ;
+
+ short res = oObj.getDecimalDigits() ;
+ result = res == ((short)digits + 1) ;
+
+ tRes.tested("setDecimalDigits()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getDecimalDigits() {
+
+ boolean result = true ;
+ digits = oObj.getDecimalDigits() ;
+
+ tRes.tested("getDecimalDigits()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+ result = oObj.isStrictFormat() == !strict ;
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XPatternField.java b/qadevOOo/tests/java/ifc/awt/_XPatternField.java
new file mode 100644
index 000000000000..5cbd0145d76e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XPatternField.java
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XPatternField;
+
+/**
+* Testing <code>com.sun.star.awt.XPatternField</code>
+* interface methods :
+* <ul>
+* <li><code> setMasks()</code></li>
+* <li><code> getMasks()</code></li>
+* <li><code> setString()</code></li>
+* <li><code> getString()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XPatternField
+*/
+public class _XPatternField extends MultiMethodTest {
+
+ public XPatternField oObj = null ;
+ private String editMask = null ;
+ private String literalMask = null ;
+ private String string = null ;
+ private boolean strict = false ;
+
+ /**
+ * Sets masks to new values then gets them and compare. <p>
+ * Has <b> OK </b> status if set and get masks are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMasks </code> </li>
+ * </ul>
+ */
+ public void _setMasks() {
+ requiredMethod("getMasks()") ;
+
+ boolean result = true ;
+ String newEdit = editMask == null ? "ccc" : editMask + "ccc" ;
+ String newLiteral = literalMask == null ? " " : literalMask + " " ;
+ oObj.setMasks(newEdit, newLiteral) ;
+
+ String[] edit = new String[1] ;
+ String[] literal = new String[1] ;
+ oObj.getMasks(edit, literal) ;
+
+ result &= newEdit.equals(edit[0]) ;
+ result &= newLiteral.equals(literal[0]) ;
+
+ tRes.tested("setMasks()", result) ;
+ }
+
+ /**
+ * Gets masks and stores them. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _getMasks() {
+
+ boolean result = true ;
+ String[] edit = new String[1] ;
+ String[] literal = new String[1] ;
+ oObj.getMasks(edit, literal) ;
+
+ log.println("Edit mask = '" + edit[0] + "', literal = '" +
+ literal[0] + "'") ;
+
+ editMask = edit[0] ;
+ literalMask = literal[0] ;
+
+ tRes.tested("getMasks()", result) ;
+ }
+
+ /**
+ * Sets new string and then get it for verification. <p>
+ * Has <b> OK </b> status if get and set strings are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getString </code> </li>
+ * <li> <code> setMasks </code> : mask must be set for new string
+ * would be valid. </li>
+ * </ul>
+ */
+ public void _setString() {
+ requiredMethod("setMasks()") ;
+ requiredMethod("getString()") ;
+
+ boolean result = true ;
+ String newString = string = "abc" ;
+ oObj.setString(newString) ;
+ String getString = oObj.getString() ;
+
+ result = newString.equals(getString) ;
+
+ if (!result) {
+ log.println("Was '" + string + "', Set '" + newString
+ + "', Get '" + getString + "'") ;
+ }
+
+ tRes.tested("setString()", result) ;
+ }
+
+ /**
+ * Gets current string and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getString() {
+
+ boolean result = true ;
+ string = oObj.getString() ;
+
+ tRes.tested("getString()", result) ;
+ }
+
+ /**
+ * Sets new strict state then checks it. <p>
+ * Has <b> OK </b> status if the state was changed.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+
+ result = oObj.isStrictFormat() == !strict ;
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Gets the current strict state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XRadioButton.java b/qadevOOo/tests/java/ifc/awt/_XRadioButton.java
new file mode 100644
index 000000000000..348ac264ecf5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XRadioButton.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XRadioButton;
+
+/**
+* Testing <code>com.sun.star.awt.XRadioButton</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> getState()</code></li>
+* <li><code> setState()</code></li>
+* <li><code> setLabel()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XRadioButton
+*/
+public class _XRadioButton extends MultiMethodTest {
+
+ public XRadioButton oObj = null;
+ private boolean state = false ;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestItemListener implements com.sun.star.awt.XItemListener {
+ public boolean disposingCalled = false ;
+ public boolean itemStateChangedCalled = false ;
+ private java.io.PrintWriter log = null ;
+
+ public TestItemListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ log.println(" disposing was called.") ;
+ }
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {
+ itemStateChangedCalled = true ;
+ log.println(" itemStateChanged was called.") ;
+ }
+
+ }
+
+ TestItemListener itemListener = null ;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ itemListener = new TestItemListener(log) ;
+
+ oObj.addItemListener(itemListener) ;
+
+ tRes.tested("addItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+ requiredMethod("addItemListener()") ;
+
+ oObj.removeItemListener(itemListener) ;
+
+ tRes.tested("removeItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Gets state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getState() {
+
+ boolean result = true ;
+ state = oObj.getState() ;
+
+ tRes.tested("getState()", result) ;
+ }
+
+ /**
+ * Sets a new state and the gets it for checking. <p>
+ * Has <b> OK </b> status if set and get states are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getState </code> </li>
+ * </ul>
+ */
+ public void _setState() {
+ requiredMethod("getState()") ;
+
+ boolean result = true ;
+ oObj.setState(!state) ;
+
+ try {
+ Thread.sleep(200) ;
+ } catch (InterruptedException e) {}
+
+ result = oObj.getState() == !state ;
+
+ tRes.tested("setState()", result) ;
+ }
+
+ /**
+ * Just sets a new label. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _setLabel() {
+
+ boolean result = true ;
+ oObj.setLabel("XRadioButton") ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XScrollBar.java b/qadevOOo/tests/java/ifc/awt/_XScrollBar.java
new file mode 100644
index 000000000000..a5a55d300aeb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XScrollBar.java
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.ScrollBarOrientation;
+import com.sun.star.awt.XScrollBar;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+
+import lib.MultiMethodTest;
+
+
+public class _XScrollBar extends MultiMethodTest {
+ public XScrollBar oObj;
+ public boolean adjusted = false;
+ com.sun.star.awt.XAdjustmentListener listener = new AdjustmentListener();
+
+ public void _addAdjustmentListener() {
+ util.FormTools.switchDesignOf((XMultiServiceFactory) tParam.getMSF(),
+ (XTextDocument) tEnv.getObjRelation("Document"));
+ shortWait();
+ oObj.addAdjustmentListener(listener);
+ adjustScrollBar();
+
+ boolean res = adjusted;
+ oObj.removeAdjustmentListener(listener);
+ adjusted = false;
+ adjustScrollBar();
+ res &= !adjusted;
+ tRes.tested("addAdjustmentListener()", res);
+ }
+
+ public void _removeAdjustmentListener() {
+ //this method is checked in addAjustmentListener
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("addAdjustmentListener()");
+ tRes.tested("removeAdjustmentListener()", true);
+ }
+
+ public void _setBlockIncrement() {
+ oObj.setBlockIncrement(15);
+ oObj.setBlockIncrement(5);
+ int bi = oObj.getBlockIncrement();
+ tRes.tested("setBlockIncrement()",bi==5);
+ }
+
+ public void _getBlockIncrement() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setBlockIncrement()");
+ tRes.tested("getBlockIncrement()", true);
+ }
+
+ public void _setLineIncrement() {
+ oObj.setLineIncrement(12);
+ oObj.setLineIncrement(2);
+ int li = oObj.getLineIncrement();
+ tRes.tested("setLineIncrement()",li==2);
+ }
+
+ public void _getLineIncrement() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setLineIncrement()");
+ tRes.tested("getLineIncrement()", true);
+ }
+
+ public void _setMaximum() {
+ oObj.setMaximum(490);
+ oObj.setMaximum(480);
+ int max = oObj.getMaximum();
+ tRes.tested("setMaximum()",max==480);
+ }
+
+ public void _getMaximum() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setMaximum()");
+ tRes.tested("getMaximum()", true);
+ }
+
+ public void _setOrientation() {
+ oObj.setOrientation(ScrollBarOrientation.HORIZONTAL);
+ oObj.setOrientation(ScrollBarOrientation.VERTICAL);
+ int ori = oObj.getOrientation();
+ tRes.tested("setOrientation()",ori==ScrollBarOrientation.VERTICAL);
+ }
+
+ public void _getOrientation() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setOrientation()");
+ tRes.tested("getOrientation()", true);
+ }
+
+ public void _setValue() {
+ oObj.setMaximum(600);
+ oObj.setValue(480);
+ oObj.setValue(520);
+ int val = oObj.getValue();
+ tRes.tested("setValue()",val==520);
+ }
+
+ public void _getValue() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setValue()");
+ tRes.tested("getValue()", true);
+ }
+
+ public void _setVisibleSize() {
+ oObj.setVisibleSize(700);
+ oObj.setVisibleSize(500);
+ int vs = oObj.getVisibleSize();
+ tRes.tested("setVisibleSize()",vs==500);
+ }
+
+ public void _getVisibleSize() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setVisibleSize()");
+ tRes.tested("getVisibleSize()", true);
+ }
+
+ public void _setValues() {
+ oObj.setValues(80, 200, 300);
+ oObj.setValues(70, 210, 500);
+ int val = oObj.getValue();
+ int vs = oObj.getVisibleSize();
+ int max = oObj.getMaximum();
+ tRes.tested("setValues()",((val==70) && (vs==210) && (max==500)));
+ }
+
+ private void adjustScrollBar() {
+
+
+ XScrollBar sc = (XScrollBar) UnoRuntime.queryInterface(
+ XScrollBar.class, tEnv.getTestObject());
+
+ sc.setValue(500);
+
+ shortWait();
+
+ XAccessible acc = (XAccessible) UnoRuntime.queryInterface(
+ XAccessible.class, tEnv.getTestObject());
+
+ XAccessibleComponent aCom = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ acc.getAccessibleContext());
+
+ Point location = aCom.getLocationOnScreen();
+ //Point location = (Point) tEnv.getObjRelation("Location");
+ //XAccessibleComponent aCom = (XAccessibleComponent) tEnv.getObjRelation("Location");
+ //Point location = aCom.getLocationOnScreen();
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(location.X + 50, location.Y + 75);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't adjust scrollbar");
+ }
+
+ shortWait();
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow Office to react
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+
+ public class AdjustmentListener
+ implements com.sun.star.awt.XAdjustmentListener {
+ public void adjustmentValueChanged(com.sun.star.awt.AdjustmentEvent adjustmentEvent) {
+ System.out.println("Adjustment Value changed");
+ System.out.println("AdjustmentEvent: " + adjustmentEvent.Value);
+ adjusted = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ System.out.println("Listener disposed");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XSpinField.java b/qadevOOo/tests/java/ifc/awt/_XSpinField.java
new file mode 100644
index 000000000000..327aacbef7bf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XSpinField.java
@@ -0,0 +1,216 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.SpinEvent;
+import com.sun.star.awt.XSpinField;
+import com.sun.star.awt.XSpinListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.awt.XSpinField</code>
+* interface methods :
+* <ul>
+* <li><code> addSpinListener()</code></li>
+* <li><code> removeSpinListener()</code></li>
+* <li><code> up()</code></li>
+* <li><code> down()</code></li>
+* <li><code> first()</code></li>
+* <li><code> last()</code></li>
+* <li><code> enableRepeat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XSpinField
+*/
+public class _XSpinField extends MultiMethodTest {
+
+ public XSpinField oObj = null;
+
+ /**
+ * Listener implementation which set flags on appropriate
+ * listener methods calls.
+ */
+ protected class TestListener implements XSpinListener {
+ public boolean upFl = false ;
+ public boolean downFl = false ;
+ public boolean firstFl = false ;
+ public boolean lastFl = false ;
+
+ public void up(SpinEvent e) {
+ upFl = true ;
+ }
+ public void down(SpinEvent e) {
+ downFl = true ;
+ }
+ public void first(SpinEvent e) {
+ firstFl = true ;
+ }
+ public void last(SpinEvent e) {
+ lastFl = true ;
+ }
+ public void disposing(EventObject e) {}
+ }
+
+ private TestListener listener = new TestListener() ;
+
+ /**
+ * Just adds a listener. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _addSpinListener() {
+ oObj.addSpinListener(listener) ;
+
+ tRes.tested("addSpinListener()", true) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _up() {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.up() ;
+ shortWait();
+
+ tRes.tested("up()", listener.upFl) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _down() {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.down() ;
+ shortWait();
+
+ tRes.tested("down()", listener.downFl) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _first() {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.first() ;
+ shortWait();
+
+ tRes.tested("first()", listener.firstFl) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _last() {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.last() ;
+ shortWait();
+
+ tRes.tested("last()", listener.lastFl) ;
+ }
+
+ /**
+ * Removes the listener, then calls <code>up</code> method and
+ * checks if te listener wasn't called. <p>
+ * Has <b>OK</b> status if listener wasn't called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * <li> <code> up </code> </li>
+ * <li> <code> down </code> </li>
+ * <li> <code> first </code> </li>
+ * <li> <code> last </code> </li>
+ * </ul>
+ */
+ public void _removeSpinListener() {
+ requiredMethod("addSpinListener()") ;
+ executeMethod("up()") ;
+ executeMethod("down()") ;
+ executeMethod("first()") ;
+ executeMethod("last()") ;
+
+ listener.upFl = false ;
+
+ oObj.removeSpinListener(listener) ;
+
+ oObj.up() ;
+
+ tRes.tested("removeSpinListener()", !listener.upFl) ;
+ }
+
+ /**
+ * Enables then disables repeating. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _enableRepeat() {
+ oObj.enableRepeat(true) ;
+ oObj.enableRepeat(false) ;
+
+ tRes.tested("enableRepeat()", true) ;
+ }
+
+ /**
+ * Waits for 0.5 sec to allow listener to be called.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XSpinValue.java b/qadevOOo/tests/java/ifc/awt/_XSpinValue.java
new file mode 100644
index 000000000000..e0ab3513b6fe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XSpinValue.java
@@ -0,0 +1,220 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.ScrollBarOrientation;
+import com.sun.star.awt.XSpinValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import lib.MultiMethodTest;
+
+public class _XSpinValue extends MultiMethodTest {
+
+ public XSpinValue oObj;
+ public boolean adjusted = false;
+ com.sun.star.awt.XAdjustmentListener listener = new AdjustmentListener();
+
+ public void _addAdjustmentListener() {
+ util.FormTools.switchDesignOf((XMultiServiceFactory) tParam.getMSF(),
+ (XTextDocument) tEnv.getObjRelation("Document"));
+ shortWait();
+ oObj.addAdjustmentListener(listener);
+ adjustScrollBar();
+
+ boolean res = adjusted;
+ oObj.removeAdjustmentListener(listener);
+ adjusted = false;
+ adjustScrollBar();
+ res &= !adjusted;
+ tRes.tested("addAdjustmentListener()", res);
+ }
+
+ public void _removeAdjustmentListener() {
+ //this method is checked in addAjustmentListener
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("addAdjustmentListener()");
+ tRes.tested("removeAdjustmentListener()", true);
+ }
+
+ public void _setSpinIncrement() {
+ oObj.setSpinIncrement(15);
+ oObj.setSpinIncrement(5);
+ int bi = oObj.getSpinIncrement();
+ tRes.tested("setSpinIncrement()",bi==5);
+ }
+
+ public void _getSpinIncrement() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setSpinIncrement()");
+ tRes.tested("getSpinIncrement()", true);
+ }
+
+
+ public void _setMaximum() {
+ oObj.setMaximum(490);
+ oObj.setMaximum(480);
+ int max = oObj.getMaximum();
+ tRes.tested("setMaximum()",max==480);
+ }
+
+ public void _getMaximum() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setMaximum()");
+ tRes.tested("getMaximum()", true);
+ }
+
+ public void _setMinimum() {
+ oObj.setMinimum(90);
+ oObj.setMinimum(80);
+ int max = oObj.getMinimum();
+ tRes.tested("setMinimum()",max==80);
+ }
+
+ public void _getMinimum() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setMinimum()");
+ tRes.tested("getMinimum()", true);
+ }
+
+ public void _setOrientation() {
+ boolean res = true;
+ try {
+ oObj.setOrientation(ScrollBarOrientation.HORIZONTAL);
+ oObj.setOrientation(ScrollBarOrientation.VERTICAL);
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("Couldn't set Orientation");
+ }
+ int ori = oObj.getOrientation();
+ res &= (ori==ScrollBarOrientation.VERTICAL);
+ tRes.tested("setOrientation()",res );
+ }
+
+ public void _getOrientation() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setOrientation()");
+ tRes.tested("getOrientation()", true);
+ }
+
+ public void _setValue() {
+ oObj.setMaximum(600);
+ oObj.setValue(480);
+ oObj.setValue(520);
+ int val = oObj.getValue();
+ tRes.tested("setValue()",val==520);
+ }
+
+ public void _getValue() {
+ //this method is checked in the corresponding set method
+ //so that method is requiered here and if it works
+ //this method is given OK too
+ requiredMethod("setValue()");
+ tRes.tested("getValue()", true);
+ }
+
+ public void _setValues() {
+ oObj.setValues(80, 200, 180);
+ oObj.setValues(70, 210, 200);
+ int val = oObj.getValue();
+ int min = oObj.getMinimum();
+ int max = oObj.getMaximum();
+ tRes.tested("setValues()",((min==70) && (max==210) && (val==200)));
+ }
+
+ private void adjustScrollBar() {
+
+
+ XSpinValue sv = (XSpinValue) UnoRuntime.queryInterface(
+ XSpinValue.class, tEnv.getTestObject());
+
+ sv.setValue(500);
+
+ shortWait();
+
+ XAccessible acc = (XAccessible) UnoRuntime.queryInterface(
+ XAccessible.class, tEnv.getTestObject());
+
+ XAccessibleComponent aCom = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ acc.getAccessibleContext());
+
+ Point location = aCom.getLocationOnScreen();
+ //Point location = (Point) tEnv.getObjRelation("Location");
+ //XAccessibleComponent aCom = (XAccessibleComponent) tEnv.getObjRelation("Location");
+ //Point location = aCom.getLocationOnScreen();
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(location.X + 20, location.Y + 10);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't adjust scrollbar");
+ }
+
+ shortWait();
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow Office to react
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+
+ public class AdjustmentListener
+ implements com.sun.star.awt.XAdjustmentListener {
+ public void adjustmentValueChanged(com.sun.star.awt.AdjustmentEvent adjustmentEvent) {
+ System.out.println("Adjustment Value changed");
+ System.out.println("AdjustmentEvent: " + adjustmentEvent.Value);
+ adjusted = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ System.out.println("Listener disposed");
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java b/qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java
new file mode 100644
index 000000000000..fec9281871eb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java
@@ -0,0 +1,40 @@
+/*************************************************************************
+*
+* 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.awt;
+
+import com.sun.star.awt.XSystemChildFactory;
+import lib.MultiMethodTest;
+
+public final class _XSystemChildFactory extends MultiMethodTest {
+ public XSystemChildFactory oObj;
+
+ public void _createSystemChild() {
+ //TODO
+ tRes.tested("createSystemChild()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XTabController.java b/qadevOOo/tests/java/ifc/awt/_XTabController.java
new file mode 100644
index 000000000000..baf9b8f97bcc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTabController.java
@@ -0,0 +1,168 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XTabController;
+import com.sun.star.awt.XTabControllerModel;
+
+/**
+* This interface is DEPRECATED !!!
+* All test results are SKIPPED.OK now.
+* Testing <code>com.sun.star.awt.XTabController</code>
+* interface methods :
+* <ul>
+* <li><code> activateFirst()</code></li>
+* <li><code> activateLast()</code></li>
+* <li><code> activateTabOrder()</code></li>
+* <li><code> autoTabOrder()</code></li>
+* <li><code> getContainer()</code></li>
+* <li><code> getCotrols()</code></li>
+* <li><code> getModel()</code></li>
+* <li><code> setContainer()</code></li>
+* <li><code> setModel()</code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'MODEL'</code> : <code>XTabControllerModel</code> a model for
+* the object</li>
+* <li> <code>'CONTAINER'</code> : <code>XControlContainer</code> a container
+* for the object</li>
+* <ul> <p>
+* @see com.sun.star.awt.XTabController
+*/
+public class _XTabController extends MultiMethodTest {
+ public XTabController oObj = null;
+
+ /**
+ * Test calls the method with object relation 'MODEL' as a parameter.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setModel() {
+ oObj.setModel( (XTabControllerModel) tEnv.getObjRelation("MODEL"));
+ tRes.tested("setModel()", Status.skipped(true) );
+ }
+
+ /**
+ * Test calls the method, then checks returned value.<p>
+ * Has <b> OK </b> status if method returns a value that equals to
+ * corresponding object relation.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setModel() </code> : sets model for the object </li>
+ * </ul>
+ */
+ public void _getModel() {
+ requiredMethod("setModel()");
+ XTabControllerModel setModel = oObj.getModel();
+ tRes.tested("getModel()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method with object relation 'CONTAINER' as a parameter.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setContainer() {
+ oObj.setContainer( (XControlContainer)
+ tEnv.getObjRelation("CONTAINER"));
+ tRes.tested("setContainer()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method, then checks returned value.<p>
+ * Has <b> OK </b> status if method returns a value that equals to
+ * corresponding object relation.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setContainer() </code> : sets container for the object</li>
+ * </ul>
+ */
+ public void _getContainer() {
+ requiredMethod( "setContainer()");
+ XControlContainer setContainer = oObj.getContainer();
+ XControlContainer relContainer = (XControlContainer )
+ tEnv.getObjRelation("CONTAINER");
+ tRes.tested("getContainer()", Status.skipped(true) );
+ }
+
+ /**
+ * Test calls the method, then checks returned sequence.<p>
+ * Has <b> OK </b> status if returned sequence is not null.<p>
+ */
+ public void _getControls() {
+ XControl[] aControl = oObj.getControls();
+ tRes.tested("getControls()", Status.skipped(true) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _autoTabOrder() {
+ oObj.autoTabOrder();
+ tRes.tested("autoTabOrder()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _activateTabOrder() {
+ oObj.activateTabOrder();
+ tRes.tested("activateTabOrder()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _activateFirst() {
+ oObj.activateFirst();
+ tRes.tested("activateFirst()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _activateLast() {
+ oObj.activateLast();
+ tRes.tested("activateLast()", Status.skipped(true));
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java b/qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java
new file mode 100644
index 000000000000..42442185c539
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XTabControllerModel;
+
+/**
+* Testing <code>com.sun.star.awt.XTabControllerModel</code>
+* interface methods :
+* <ul>
+* <li><code> getGroupControl()</code></li>
+* <li><code> setGroupControl()</code></li>
+* <li><code> setControlModels()</code></li>
+* <li><code> getControlModels()</code></li>
+* <li><code> setGroup()</code></li>
+* <li><code> getGroupCount()</code></li>
+* <li><code> getGroup()</code></li>
+* <li><code> getGroupByName()</code></li>
+* </ul> <p>
+*
+* Since the interface is <b>DEPRECATED</b> all methods have
+* status SKIPPED.OK <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Model1'</code> : <code>XControlModel</code> relation
+* , any control model belonging to the object tested.</li>
+* <li> <code>'Model2'</code> : <code>XControlModel</code> relation
+* , any control model belonging to the object tested.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XTabControllerModel
+*/
+public class _XTabControllerModel extends MultiMethodTest {
+
+ public XTabControllerModel oObj = null;
+
+
+ /**
+ * Sets group control to <code>true</code> then calls
+ * <code>getGroupControl()</code> method and checks the value. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>
+ * <p>
+ */
+ public void _getGroupControl() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroupControl()", Status.skipped(true));
+ }
+
+ /**
+ * Sets group control to <code>false</code> then calls
+ * <code>getGroupControl()</code> method and checks the value. <p>
+ * Has <b> OK </b> status if the method returns <code>false</code>
+ * <p>
+ */
+ public void _setGroupControl() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("setGroupControl()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method and sets control models to a single
+ * model from 'Model1' relation. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _setControlModels() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("setControlModels()", Status.skipped(true));
+ }
+
+ /**
+ * Calls method and checks if models were properly set in
+ * <code>setControlModels</code> method test. <p>
+ * Has <b>OK</b> status if the model sequence set is equal
+ * to the sequence get. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setControlModels </code> : to set sequence of models.</li>
+ * </ul>
+ */
+ public void _getControlModels() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getControlModels()", Status.skipped(true));
+ }
+
+ /**
+ * Sets the group named 'XTabControlModel' to sequence with a single
+ * element from 'Model2' relation. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _setGroup() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("setGroup()", Status.skipped(true));
+ }
+
+ /**
+ * Calls method and checks if the group was properly set in
+ * <code>setGroup</code> method test. <p>
+ * Has <b>OK</b> status if the sequence set is equal
+ * to the sequence get. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGroup </code> : to set the sequence.</li>
+ * </ul>
+ */
+ public void _getGroup() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroup()", Status.skipped(true));
+ }
+
+ /**
+ * Retrieves group named 'XTabControllerModel' added in <code>
+ * setGroup</code> method test, and checks it. <p>
+ * Has <b> OK </b> status if sequence get is equal to sequence set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGroup </code> : to set the sequence.</li>
+ * </ul>
+ */
+ public void _getGroupByName() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroupByName()", Status.skipped(true));
+ }
+
+ /**
+ * Gets number of groups.
+ * Has <b> OK </b> status if the number is greater than 0.
+ * <ul>
+ * <li> <code> setGroup </code> : to has at least one group.</li>
+ * </ul>
+ */
+ public void _getGroupCount() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroupCount()", Status.skipped(true));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTextComponent.java b/qadevOOo/tests/java/ifc/awt/_XTextComponent.java
new file mode 100644
index 000000000000..850b281b00f8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTextComponent.java
@@ -0,0 +1,270 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.awt.Selection;
+import com.sun.star.awt.TextEvent;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XTextListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.awt.XTextComponent</code>
+* interface methods:
+* <ul>
+* <li><code> addTextListener() </code></li>
+* <li><code> removeTextListener() </code></li>
+* <li><code> setText() </code></li>
+* <li><code> getText() </code></li>
+* <li><code> insertText() </code></li>
+* <li><code> getSelectedText() </code></li>
+* <li><code> setSelection() </code></li>
+* <li><code> getSelection() </code></li>
+* <li><code> setEditable() </code></li>
+* <li><code> isEditable() </code></li>
+* <li><code> setMaxTextLen() </code></li>
+* <li><code> getMaxTextLen() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XTextComponent.onlyNumbers'</code> (of type <code>Object</code>):
+* needed for checking if component can contain only numeric values </li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XTextComponent
+*/
+public class _XTextComponent extends MultiMethodTest {
+ public XTextComponent oObj = null;
+ public boolean textChanged = false;
+ // indicates that component can contain only numeric values
+ private boolean num = false ;
+
+ /**
+ * Listener implementation which just set flag when listener
+ * method is called.
+ */
+ protected class MyChangeListener implements XTextListener {
+ public void disposing ( EventObject oEvent ) {}
+ public void textChanged(TextEvent ev) {
+ textChanged = true;
+ }
+ }
+
+ XTextListener listener = new MyChangeListener();
+
+ /**
+ * Retrieves object relation, then sets flag 'num' to 'true'
+ * if relation is not null.
+ */
+ public void before() {
+ if (tEnv.getObjRelation("XTextComponent.onlyNumbers") != null)
+ num = true;
+ }
+
+ /**
+ * After test calls the method, a new text is set to the object. Then
+ * we check if listener was called, and set a new text value
+ * to the object.<p>
+ * Has <b> OK </b> status if listener was called.
+ */
+ public void _addTextListener(){
+ oObj.addTextListener(listener);
+ oObj.setText("Listen");
+ try {
+ Thread.sleep(500);
+ } catch(java.lang.InterruptedException e) {
+ e.printStackTrace(log);
+ }
+ if (!textChanged) {
+ log.println("Listener wasn't called after changing Text");
+ }
+
+ tRes.tested("addTextListener()",textChanged);
+ }
+
+ /**
+ * After setting flag 'textChanged' to false, test calls the method.
+ * Then a new text value is set to the object. <p>
+ * Has <b> OK </b> status if listener was not called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li><code> addTextListener() </code>: adds listener to the object.</li>
+ * </ul>
+ */
+ public void _removeTextListener() {
+ requiredMethod("addTextListener()");
+ textChanged = false;
+ oObj.removeTextListener(listener);
+ oObj.setText("Do not listen");
+ tRes.tested("removeTextListener()",!textChanged);
+ }
+
+ /**
+ * At first we're setting some string variable 'newText' depending of a kind
+ * of object we are working with. Then test calls the method. <p>
+ * Has <b> OK </b> status if set value is equal to a value obtained after.
+ */
+ public void _setText() {
+ String newText = num ? "823" : "setText" ;
+ if (tEnv.getTestCase().getObjectName().equals("OTimeControl")) {
+ newText = "8:15";
+ }
+ log.println("Setting text to : '" + newText + "'") ;
+ oObj.setText(newText);
+ log.println("Getting text : '" + oObj.getText() + "'") ;
+ tRes.tested("setText()",oObj.getText().equals(newText));
+ }
+
+ /**
+ * At first we're setting some string variable 'newText' depending of a kind
+ * of object we are working with. Then we set text to the object and call
+ * the method. <p>
+ * Has <b> OK </b> status if set value is equal to a value obtained using
+ * getText() method.
+ */
+ public void _getText() {
+ String newText = num ? "823" : "setText" ;
+ if (tEnv.getTestCase().getObjectName().equals("OTimeControl")) {
+ newText = "8:15";
+ }
+ oObj.setText(newText);
+ tRes.tested("getText()",oObj.getText().equals(newText));
+ }
+
+ /**
+ * At first we're setting string variables 'text' and 'itext' depending
+ * of a kind of object we are working with. Next, value from 'text' variable
+ * is set to an object using setText(), then the method insertText() is called.
+ * <p>
+ * Has <b> OK </b> status if text is inserted to the object.
+ */
+ public void _insertText() {
+ String text = num ? "753" : "iText" ;
+ String itext = num ? "6" : "insert" ;
+ log.println("Setting text to : '" + text + "'") ;
+ oObj.setText(text);
+ log.println("Iserting text to (0,1) : '" + itext + "'") ;
+ oObj.insertText(new Selection(0,1), itext);
+ log.println("getText() returns: " + oObj.getText());
+ tRes.tested("insertText()", oObj.getText().equals
+ (num ? "653" : "insertText"));
+ }
+
+ /**
+ * After text is set to the object, test calls the method.<p>
+ * Has <b> OK </b> status if selected text is equal to first three symbols
+ * of text added before.
+ */
+ public void _getSelectedText() {
+ String text = num ? "753" : "txt" ;
+ oObj.setText(text);
+ oObj.setSelection(new Selection(0,3));
+ boolean result = oObj.getSelectedText().equals(text);
+
+ if (! result) {
+ System.out.println("Getting '"+oObj.getSelectedText()+"'");
+ System.out.println("Expected '"+text+"'");
+ }
+
+ tRes.tested("getSelectedText()",result);
+ }
+
+ /**
+ * After setting new text to an object, and defining selection variable,
+ * test calls the method. <p>
+ * Has <b> OK </b> status if selection set before is equal to a selection we
+ * got using getSelection().
+ */
+ public void _setSelection() {
+ oObj.setText("setSelection");
+ Selection sel = new Selection(0,3);
+ oObj.setSelection(sel);
+ tRes.tested("setSelection()", ValueComparer.equalValue
+ (oObj.getSelection(), sel));
+ }
+
+ /**
+ * After setting new text to an object, and defining selection variable,
+ * test calls the method. <p>
+ * Has <b> OK </b> status if selection set before is equal to a selection we
+ * got using getSelection().
+ */
+ public void _getSelection() {
+ oObj.setText("getSelection");
+ Selection sel = new Selection(2,3);
+ oObj.setSelection(sel);
+ tRes.tested("getSelection()", ValueComparer.equalValue
+ (oObj.getSelection(), sel));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if method has changed a property 'Editable'.
+ */
+ public void _setEditable(){
+ oObj.setEditable(true);
+ tRes.tested("setEditable()", oObj.isEditable());
+ }
+
+ /**
+ * First we set 'Editable' variable to false. Then test calls the method.<p>
+ * Has <b> OK </b> status if method returns value we set before.
+ */
+ public void _isEditable(){
+ oObj.setEditable(false);
+ tRes.tested("isEditable()", ! oObj.isEditable());
+ }
+
+ /**
+ * Test calls the method. Then new text value is set to the object. <p>
+ * Has <b> OK </b> status if text, returned by getText() is a string of
+ * length we set before.
+ */
+ public void _setMaxTextLen() {
+ oObj.setMaxTextLen((short)10);
+ //oObj.setText("0123456789ABCDE");
+ //String get = oObj.getText();
+ //tRes.tested("setMaxTextLen()",get.length() == 10);
+ tRes.tested("setMaxTextLen()",oObj.getMaxTextLen()==10);
+ }
+
+ /**
+ * At first we set MaxTextLen, then test calls the method. <p>
+ * Has <b> OK </b> status if method returns a value we set before.
+ */
+ public void _getMaxTextLen() {
+ oObj.setMaxTextLen((short)15);
+ log.println("getMaxTextLen() returns: "+oObj.getMaxTextLen());
+ tRes.tested("getMaxTextLen()",oObj.getMaxTextLen()==15);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java b/qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java
new file mode 100644
index 000000000000..135a1abe917b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XTextLayoutConstrains;
+
+/**
+* Testing <code>com.sun.star.awt.XTextLayoutConstrains</code>
+* interface methods:
+* <ul>
+* <li><code> getMinimumSize() </code></li>
+* <li><code> getColumnsAndLines() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XTextLayoutConstrains
+*/
+public class _XTextLayoutConstrains extends MultiMethodTest {
+ public XTextLayoutConstrains oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if both returned size fields are not equal to zero.
+ */
+ public void _getMinimumSize() {
+ short nCols = 0;
+ short nLines = 0;
+ Size mSize = oObj.getMinimumSize(nCols,nLines);
+ boolean res = ( (mSize.Height != 0) && (mSize.Width != 0) );
+ if (res == false) {
+ log.println("mSize.height: " + mSize.Height);
+ log.println("mSize.width: " + mSize.Width);
+ }
+ tRes.tested("getMinimumSize()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if both returned values are not equal to zero.
+ */
+ public void _getColumnsAndLines() {
+ short[] nCols = new short[1];
+ short[] nLines = new short[1];
+ oObj.getColumnsAndLines(nCols,nLines);
+ boolean res = ( (nCols[0] != 0) && (nLines[0] != 0) );
+ if (res == false) {
+ log.println("nCols: " + nCols[0]);
+ log.println("nLines: " + nLines[0]);
+ }
+ tRes.tested("getColumnsAndLines()",res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTextListener.java b/qadevOOo/tests/java/ifc/awt/_XTextListener.java
new file mode 100644
index 000000000000..df40799cb369
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTextListener.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.TextEvent;
+import com.sun.star.awt.XTextListener;
+
+/**
+* Testing <code>com.sun.star.awt.XTextListener</code>
+* interface methods:
+* <ul>
+* <li><code> textChanged() </code></li>
+* </ul><p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TestTextListener'</code>
+* (of type <code>ifc.awt._XTextListener.TestTextListener</code>):
+* this listener implementation must be registered for object tested for
+* checking
+* <code>textChanged()</code> method call. The listener must be registered
+* in object environment creation because it's not a fact that tested
+* component supports <code>XTextComponent</code> interface and the listener
+* can be registered in another object.</li>
+* <ul> <p>
+*
+* @see com.sun.star.awt.XTextListener
+*/
+public class _XTextListener extends MultiMethodTest {
+ public XTextListener oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ * and stores event passed.
+ */
+ public static class TestTextListener implements
+ com.sun.star.awt.XTextListener {
+ public boolean textChangedCalled = false ;
+ public TextEvent event = null ;
+
+ public void textChanged(TextEvent e) {
+ textChangedCalled = true ;
+ event = e ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ }
+
+ TestTextListener textListener = null;
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If the relation not found.
+ */
+ public void before() {
+ textListener = (TestTextListener)
+ tEnv.getObjRelation("TestTextListener");
+ if (textListener == null) {
+ throw new StatusException(Status.failed("Relation not found"));
+ }
+ }
+
+ /**
+ * First a <code>TextEvent</code> object created and
+ * it is passed to <code>textChanged</code> method
+ * call. Then a short wait follows for listener already
+ * registered at the object to be called. <p>
+ * Has <b> OK </b> status if the listener was called with
+ * the same <code>TextEvent</code> object as was created
+ * before.
+ */
+ public void _textChanged() {
+
+ boolean result = true ;
+
+ TextEvent event = new TextEvent() ;
+ event.dummy1 = 2;
+ oObj.textChanged(event);
+
+ try {
+ Thread.sleep(200) ;
+ } catch (InterruptedException e) {}
+
+ result = textListener.textChangedCalled &&
+ textListener.event.dummy1 == 2;
+
+ tRes.tested("textChanged()", result) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTimeField.java b/qadevOOo/tests/java/ifc/awt/_XTimeField.java
new file mode 100644
index 000000000000..95f31140b847
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTimeField.java
@@ -0,0 +1,295 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XTimeField;
+
+/**
+* Testing <code>com.sun.star.awt.XTimeField</code>
+* interface methods :
+* <ul>
+* <li><code> setTime()</code></li>
+* <li><code> getTime()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setEmpty()</code></li>
+* <li><code> isEmpty()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XTimeField
+*/
+public class _XTimeField extends MultiMethodTest {
+
+ public XTimeField oObj = null;
+ private boolean strict = false ;
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTime </code> </li>
+ * </ul>
+ */
+ public void _setTime() {
+ requiredMethod("getTime()") ;
+
+ boolean result = true ;
+ oObj.setTime(11150000) ;
+
+ result = oObj.getTime() == 11150000 ;
+
+ if (! result ) {
+ System.out.println("Getting "+oObj.getTime()+ " expected 11150000");
+ }
+
+ tRes.tested("setTime()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getTime() {
+
+ boolean result = true ;
+ oObj.getTime() ;
+
+ tRes.tested("getTime()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+
+ boolean result = true ;
+ oObj.setMin(4978) ;
+
+ result = oObj.getMin() == 4978 ;
+
+ tRes.tested("setMin()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getMin() {
+
+ boolean result = true ;
+ oObj.getMin() ;
+
+ tRes.tested("getMin()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+
+ boolean result = true ;
+ oObj.setMax(27856) ;
+
+ result = oObj.getMax() == 27856 ;
+
+ tRes.tested("setMax()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getMax() {
+
+ boolean result = true ;
+ oObj.getMax() ;
+
+ tRes.tested("getMax()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+
+ boolean result = true ;
+ oObj.setFirst(5118) ;
+
+ result = oObj.getFirst() == 5118 ;
+
+ if (!result) {
+ log.println("Set to " + 5118 + " but returned " + oObj.getFirst()) ;
+ }
+
+ tRes.tested("setFirst()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getFirst() {
+
+ boolean result = true ;
+ int val = oObj.getFirst() ;
+
+ log.println("getFirst() = " + val) ;
+
+ tRes.tested("getFirst()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+
+ boolean result = true ;
+ oObj.setLast(23450) ;
+
+ result = oObj.getLast() == 23450 ;
+
+ if (!result) {
+ log.println("Set to " + 23450 + " but returned " + oObj.getLast()) ;
+ }
+
+ tRes.tested("setLast()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _getLast() {
+
+ boolean result = true ;
+ int val = oObj.getLast() ;
+
+ log.println("getLast() = " + val) ;
+
+ tRes.tested("getLast()", result) ;
+ }
+
+ /**
+ * Sets the value to empty. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTime </code> : value must be not empty </li>
+ * </ul>
+ */
+ public void _setEmpty() {
+ requiredMethod("setTime()") ;
+
+ boolean result = true ;
+ oObj.setEmpty() ;
+
+ tRes.tested("setEmpty()", result) ;
+ }
+
+ /**
+ * Checks if the field is empty. <p>
+ * Has <b> OK </b> status if the value is empty.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setEmpty() </code> </li>
+ * </ul>
+ */
+ public void _isEmpty() {
+ requiredMethod("setEmpty()") ;
+
+ boolean result = true ;
+ result = oObj.isEmpty() ;
+
+ tRes.tested("isEmpty()", result) ;
+ }
+
+ /**
+ * Checks strict state. <p>
+ * Has <b> OK </b> status if strict format is set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+
+ result = oObj.isStrictFormat() == !strict ;
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Gets strict state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XToolkit.java b/qadevOOo/tests/java/ifc/awt/_XToolkit.java
new file mode 100644
index 000000000000..8824c3bba9ac
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XToolkit.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.WindowDescriptor;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XRegion;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.awt.XToolkit</code>
+* interface methods:
+* <ul>
+* <li><code> getDesktopWindow() </code></li>
+* <li><code> getWorkArea() </code></li>
+* <li><code> createWindow() </code></li>
+* <li><code> createWindows() </code></li>
+* <li><code> createScreenCompatibleDevice() </code></li>
+* <li><code> createRegion() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XToolkit
+*/
+public class _XToolkit extends MultiMethodTest {
+ public XToolkit oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status always, because Desktop component
+ * currently is not supported as visible.
+ */
+ public void _getDesktopWindow() {
+ XWindowPeer win = oObj.getDesktopWindow();
+ if (win == null) {
+ log.println("getDesktopWindow() returns NULL");
+ }
+ tRes.tested("getDesktopWindow()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getWorkArea() {
+ Rectangle area = oObj.getWorkArea();
+ tRes.tested("getWorkArea()", area != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _createWindow() {
+ boolean res = false;
+ try {
+ XWindowPeer cWin = oObj.createWindow(
+ createDesc(new Rectangle(0,0,100,100)));
+ if (cWin == null) {
+ log.println("createWindow() create a NULL Object");
+ } else {
+ UnoRuntime.queryInterface(XComponent.class, cWin).dispose();
+ res = true;
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while checking 'createWindow':");
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createWindow()", res);
+ }
+
+ /**
+ * After defining of WindowDescriptor array, test calls the method. <p>
+ * Has <b> OK </b> status if all elements of the returned array are
+ * not null.
+ */
+ public void _createWindows() {
+ boolean res = false;
+ try {
+ WindowDescriptor[] descs = new WindowDescriptor[2];
+ descs[0] = createDesc(new Rectangle(0,0,100,100));
+ descs[1] = createDesc(new Rectangle(100,100,200,200));
+ XWindowPeer[] cWins = oObj.createWindows(descs);
+ if ( (cWins[0] == null) || (cWins[1] == null) ) {
+ log.println("createWindows() creates NULL Windows");
+ } else {
+ UnoRuntime.queryInterface(XComponent.class, cWins[0]).dispose();
+ UnoRuntime.queryInterface(XComponent.class, cWins[1]).dispose();
+ res = true;
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while checking 'createWindows':");
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createWindows()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _createScreenCompatibleDevice() {
+ XDevice dev = oObj.createScreenCompatibleDevice(100, 100);
+ tRes.tested("createScreenCompatibleDevice()", dev != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _createRegion() {
+ XRegion reg = oObj.createRegion();
+ tRes.tested("createRegion()", reg != null);
+ }
+
+ /**
+ * Just creates the WindowDescriptor as an argument for createWindow().
+ */
+ public WindowDescriptor createDesc(Rectangle rect) {
+ XWindowPeer win = (XWindowPeer) tEnv.getObjRelation("WINPEER");
+ return new WindowDescriptor(com.sun.star.awt.WindowClass.TOP,
+ "", win, (short) -1, rect, com.sun.star.awt.WindowAttribute.SHOW);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTopWindow.java b/qadevOOo/tests/java/ifc/awt/_XTopWindow.java
new file mode 100644
index 000000000000..e1203d7a6e31
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTopWindow.java
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XMenuBar;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.awt.XTopWindowListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.awt.XTopWindow</code>
+* interface methods :
+* <ul>
+* <li><code> addTopWindowListener()</code></li>
+* <li><code> removeTopWindowListener()</code></li>
+* <li><code> toFront()</code></li>
+* <li><code> toBack()</code></li>
+* <li><code> setMenuBar()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XTopWindow
+*/
+public class _XTopWindow extends MultiMethodTest {
+
+ public XTopWindow oObj = null;
+
+ /**
+ * Listener implementation which sets flags on different
+ * method calls.
+ */
+ protected class TestListener implements XTopWindowListener {
+ private PrintWriter log = null ;
+ public boolean activated = false ;
+ public boolean deactivated = false ;
+
+ public TestListener(PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void initListener() {
+ activated = false;
+ deactivated = false;
+ }
+
+ public void windowOpened(EventObject e) {
+ log.println("windowOpened() called") ;
+ }
+ public void windowClosing(EventObject e) {
+ log.println("windowClosing() called") ;
+ }
+ public void windowClosed(EventObject e) {
+ log.println("windowClosed() called") ;
+ }
+ public void windowMinimized(EventObject e) {
+ log.println("windowMinimized() called") ;
+ }
+ public void windowNormalized(EventObject e) {
+ log.println("windowNormalized() called") ;
+ }
+ public void windowActivated(EventObject e) {
+ activated = true;
+ log.println("windowActivated() called") ;
+ }
+ public void windowDeactivated(EventObject e) {
+ deactivated = true;
+ log.println("windowDeactivated() called") ;
+ }
+ public void disposing(EventObject e) {}
+ }
+
+ protected TestListener listener = null ;
+
+ XTextDocument aTextDoc = null;
+
+
+ protected void before() {
+ aTextDoc = util.WriterTools.createTextDoc((XMultiServiceFactory)tParam.getMSF());
+ }
+
+ /**
+ * Adds a listener . <p>
+ *
+ * Has <b>OK</b> status always (listener calls are checked in
+ * other methods. <p>
+ */
+ public void _addTopWindowListener() {
+ listener = new TestListener(log) ;
+
+ oObj.addTopWindowListener(listener) ;
+
+ tRes.tested("addTopWindowListener()", true);
+ }
+
+ /**
+ * Removes a listener added before. <p>
+ * Has <b>OK</b> status always. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> toBack </code> : to have a definite method execution
+ * order.</li>
+ * </ul>
+ */
+ public void _removeTopWindowListener() {
+ executeMethod("toBack()");
+
+ oObj.removeTopWindowListener(listener);
+
+ tRes.tested("removeTopWindowListener()", true);
+ }
+
+ /**
+ * Moves the window to front and check the listener calls. <p>
+ * Has <b>OK</b> status if listener <code>activated</code> method
+ * was called.
+ */
+ public void _toFront() {
+ requiredMethod("addTopWindowListener()");
+ listener.initListener();
+ oObj.toFront();
+ shortWait();
+
+ tRes.tested("toFront()", listener.activated && !listener.deactivated);
+ }
+
+ /**
+ * This method doesn't do anything the Office implementation. <p>
+ * So it has always <b>OK</b> status
+ */
+ public void _toBack() {
+ oObj.toBack();
+ tRes.tested("toBack()", true);
+ }
+
+ /**
+ * Creates a simple menu bar and adds to the window. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _setMenuBar() {
+ XMenuBar menu = null ;
+ boolean result = true ;
+
+ try {
+ menu = (XMenuBar) UnoRuntime.queryInterface(XMenuBar.class,
+ ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.awt.MenuBar")) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't instanciate MenuBar service") ;
+ result = false ;
+ }
+
+ menu.insertItem((short)1, "MenuItem",
+ com.sun.star.awt.MenuItemStyle.CHECKABLE, (short)1) ;
+
+ oObj.setMenuBar(menu) ;
+
+ tRes.tested("setMenuBar()", result) ;
+ }
+
+ /**
+ * Disposes the document created in <code>before</code> method.
+ */
+ protected void after() {
+ aTextDoc.dispose();
+ }
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java b/qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java
new file mode 100644
index 000000000000..99fd41135c1a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java
@@ -0,0 +1,181 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import com.sun.star.awt.XTabController;
+import com.sun.star.awt.XUnoControlContainer;
+import lib.MultiMethodTest;
+
+/**
+ * Testing <code>com.sun.star.awt.XUnoControlContainer</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addTabController()</code></li>
+ * <li><code> removeTabController()</code></li>
+ * <li><code> getTabControllers()</code></li>
+ * <li><code> setTabControllers()</code></li>
+ * </ul> <p>
+ *
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TABCONTROL1'</code> (of type <code>XTabController</code>)</li>
+* <li> <code>'TABCONTROL2'</code> (of type <code>XTabController</code>)</li>
+ *</ul>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ */
+
+public class _XUnoControlContainer extends MultiMethodTest {
+ public XUnoControlContainer oObj = null;
+ private XTabController[] TabControllers = new XTabController[2];
+ private XTabController tabControl1 = null;
+ private XTabController tabControl2 = null;
+
+ /**
+ * This method gets the object relations.
+ *
+ */
+ protected void before() {
+
+ tabControl1 = (XTabController) tEnv.getObjRelation("TABCONTROL1");
+ tabControl2 = (XTabController) tEnv.getObjRelation("TABCONTROL2");
+ if ((tabControl1 == null) || (tabControl2 == null)){
+ log.println("ERROR: Needed object realtions 'TABCONTROL1' and "
+ + "'TABCONTROL2' are not found.");
+ }
+ TabControllers[0] = tabControl1;
+ TabControllers[1] = tabControl2;
+
+ }
+
+
+
+ /**
+ * This tests removes the object relations <code>TABCONTROL1</code> and
+ * <code>TABCONTROL1</code>.
+ * Has <b> OK </b> status if the sequenze of <code>XTabController[]</code>
+ * get before calling method is smaller then sequenze of
+ * <code>XTabController[]</code> get after calling method.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTabControllers() </code> </li>
+ * <li> <code> removeTabController() </code> </li>
+ * </ul>
+ */
+ public void _setTabControllers() {
+ requiredMethod( "getTabControllers()");
+ requiredMethod( "removeTabController()");
+
+ log.println("removing TABCONTROL1 and TABCONTROL2");
+ oObj.removeTabController(tabControl1);
+ oObj.removeTabController(tabControl2);
+
+ log.println("get current controllers");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+
+ log.println("set new controllers");
+ oObj.setTabControllers( TabControllers );
+
+ log.println("get new current controllers");
+ XTabController[] myNewTabControllers = oObj.getTabControllers();
+
+ tRes.tested("setTabControllers()",
+ (myTabControllers.length < myNewTabControllers.length ));
+
+ }
+
+ /**
+ * Test calls the method, then checks returned value.<p>
+ * Has <b> OK </b> status if method returns a value that greater then zerro.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addTabController() </code></li>
+ * </ul>
+ */
+ public void _getTabControllers() {
+ requiredMethod( "addTabController()");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+ tRes.tested("getTabControllers()", ( myTabControllers.length > 0));
+ }
+
+ /**
+ * Test calls the method with object relation 'TABCONTROL1' as a parameter.<p>
+ * Has <b> OK </b> status if the sequenze of <code>XTabController[]</code>
+ * get before calling method is smaller then sequenze of
+ * <code>XTabController[]</code> get after calling method.<p>
+ */
+ public void _addTabController() {
+ log.println("get current controllers");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+
+ log.println("add TABCONTROL1");
+ oObj.addTabController( tabControl1 );
+
+ log.println("get new current controllers");
+ XTabController[] myNewTabControllers = oObj.getTabControllers();
+
+ tRes.tested("addTabController()",
+ (myTabControllers.length < myNewTabControllers.length ));
+ }
+
+ /**
+ * Test calls the method with object relation 'TABCONTROL2' as a parameter.<p>
+ * Has <b> OK </b> status if the sequenze of <code>XTabController[]</code>
+ * get before calling method is smaller then sequenze of
+ * <code>XTabController[]</code> get after calling method.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTabControllers() </code></li>
+ * <li> <code> addTabController() </code></li>
+ * </ul>
+ */
+ public void _removeTabController() {
+ requiredMethod( "getTabControllers()");
+ requiredMethod( "addTabController()");
+
+ log.println("add TABCONTROL2");
+ oObj.addTabController( tabControl2 );
+
+ log.println("get current controllers");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+
+ log.println("remove TABCONTROL2");
+ oObj.removeTabController(tabControl2);
+
+ log.println("get new current controllers");
+ XTabController[] myNewTabControllers = oObj.getTabControllers();
+
+ tRes.tested("removeTabController()",
+ (myTabControllers.length > myNewTabControllers.length ));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XUserInputInterception.java b/qadevOOo/tests/java/ifc/awt/_XUserInputInterception.java
new file mode 100644
index 000000000000..cf52cfb5bd57
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XUserInputInterception.java
@@ -0,0 +1,539 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.KeyEvent;
+import com.sun.star.awt.MouseEvent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XKeyHandler;
+import com.sun.star.awt.XMouseClickHandler;
+import com.sun.star.awt.XUserInputInterception;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import lib.MultiMethodTest;
+import util.AccessibilityTools;
+
+/**
+* Testing <code>com.sun.star.awt.XUserInputInterception</code>
+* interface methods:
+* <ul>
+* <li><code> addKeyHandler() </code></li>
+* <li><code> removeKeyHandler() </code></li>
+* <li><code> addMouseClickHandler() </code></li>
+* <li><code> removeMouseClickHandler() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XUserInputInterception.XModel'</code> (of type <code>XModel</code>):
+* used as model where a mouse click or a key press could be done </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XUserInputInterception
+*/
+public class _XUserInputInterception extends MultiMethodTest {
+ public XUserInputInterception oObj = null;
+
+ private XModel m_XModel = null;
+
+ /** the listener 1 for the mouse click test */
+ private MyMouseClickHandler1 m_MouseListener1 = null;
+ /** the listener 2 for the mouse click test */
+ private MyMouseClickHandler2 m_MouseListener2 = null;
+
+ /** the listener 1 for the key event test */
+ private MyKeyHandler1 m_KeyListener1 = null;
+ /** the listener 2 for the key event test */
+ private MyKeyHandler2 m_KeyListener2 = null;
+
+ /** indicates if the mousePressed event was called*/
+ private boolean m_mousePressed1 = false;
+ /** indicates if the mouseReleased event was called*/
+ private boolean m_mouseReleased1 = false;
+
+ /** indicates if the mousePressed event was called*/
+ private boolean m_mousePressed2 = false;
+ /** indicates if the mouseReleased event was called*/
+ private boolean m_mouseReleased2 = false;
+
+ /** indicates if the mousePressed event was called*/
+ private boolean m_keyPressed1 = false;
+ /** indicates if the mouseReleased event was called*/
+ private boolean m_keyReleased1 = false;
+
+ /** indicates if the mousePressed event was called*/
+ private boolean m_keyPressed2 = false;
+ /** indicates if the mouseReleased event was called*/
+ private boolean m_keyReleased2 = false;
+
+ /** get the object rlation XUserInputInterception.XModel from the
+ * test environment
+ */
+ protected void before() {
+ log.print("try to get object relation 'XUserInputInterception.XModel': ");
+ m_XModel = (XModel)tEnv.getObjRelation("XUserInputInterception.XModel");
+ if (m_XModel == null) log.println("failed => null");
+ else log.println("OK");
+
+ }
+
+ /**
+ * This test adds two different key listener to the object. <p>
+ *
+ * Has <b> OK </b> if no exception is thrown.
+ */
+ public void _addKeyHandler() {
+
+ log.println("creating key listener 1");
+ m_KeyListener1 = new MyKeyHandler1();
+
+ log.println("creating key listener 2");
+ m_KeyListener2 = new MyKeyHandler2();
+
+
+ log.println("adding key listener 1");
+ oObj.addKeyHandler(m_KeyListener1);
+
+
+ log.println("adding key listener 2");
+ oObj.addKeyHandler(m_KeyListener2);
+
+ tRes.tested("addKeyHandler()", true);
+ }
+
+ /**
+ * The test requires <CODE>addKeyHandler()</CODE> which adds two key listener.
+ * Then one of them will be removed. In a second thread a key event is released
+ * by the <CODE>robot</CODE> class.<p>
+ * Has <b> OK </b> status if only one of the listener are triggered. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addKeyHandler() </code> : adds two key listener </li>
+ * </ul>
+ */
+ public void _removeKeyHandler() {
+ requiredMethod("addKeyHandler()");
+
+ log.println("remove key listener 2");
+
+ oObj.removeKeyHandler(m_KeyListener2);
+
+ log.println("starting thread to check the key listener...");
+ EventTrigger et = new EventTrigger(m_XModel, EventTriggerType.KEY_TEXT_INTO_DOC);
+
+ et.run();
+
+ util.utils.shortWait(tParam.getInt(util.PropertyName.SHORT_WAIT) * 2);
+ log.println("key listener thread should be finished.");
+
+
+ boolean bOK = m_keyPressed1 & m_keyReleased1 &
+ ! m_keyPressed2 & ! m_keyReleased2;
+
+ if (! bOK){
+ log.println("The key listener has not the expectd status:");
+ log.println("listener\texpected\tgot");
+ log.println("keyPressed1\ttrue\t"+m_keyPressed1);
+ log.println("keyReleased1\ttrue\t"+m_keyReleased1);
+ log.println("keyPressed2\tfalse\t"+m_keyPressed2);
+ log.println("keyReleased2\tfalse\t"+m_keyReleased2);
+ }
+
+ log.println("remove Key listener 1");
+ oObj.removeKeyHandler(m_KeyListener1);
+
+ tRes.tested("removeKeyHandler()", bOK);
+ }
+
+ /**
+ * This test adds two different mouse klick listener to the object. <p>
+ *
+ * Has <b> OK </b> if no exception is thrown.
+ */
+ public void _addMouseClickHandler() {
+ log.println("creating mouse listener 1");
+ m_MouseListener1 = new MyMouseClickHandler1();
+ log.println("creating mouse listener 2");
+ m_MouseListener2 = new MyMouseClickHandler2();
+
+ log.println("adding mouse listener 1");
+ oObj.addMouseClickHandler(m_MouseListener1);
+ log.println("adding mouse listener 2");
+ oObj.addMouseClickHandler(m_MouseListener2);
+
+ tRes.tested("addMouseClickHandler()", true);
+ }
+
+ /**
+ * The test requires <CODE>addMouseClickHandler()</CODE> which adds two key listener.
+ * Then one of them will be removed. In a second thread a mouse klick event is released
+ * by the <CODE>robot</CODE> class.<p>
+ * Has <b> OK </b> status if only one of the listener are triggered. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addMouseKlickHandler() </code> : adds two key listener </li>
+ * </ul>
+ */
+ public void _removeMouseClickHandler() {
+ requiredMethod("addMouseClickHandler");
+
+ log.println("remove mouse listener 2");
+
+ oObj.removeMouseClickHandler(m_MouseListener2);
+
+ log.println("starting thread to check the mouse listener...");
+ EventTrigger et = new EventTrigger(m_XModel, EventTriggerType.MOUSE_KLICK_INTO_DOC);
+
+ et.run();
+
+ util.utils.shortWait(tParam.getInt(util.PropertyName.SHORT_WAIT) * 2);
+ log.println("mouse listener thread should be finished.");
+
+ boolean bOK = m_mousePressed1 & m_mouseReleased1 &
+ ! m_mousePressed2 & ! m_mouseReleased2;
+
+ if (! bOK){
+ log.println("The mouse listener has not the expectd status:");
+ log.println("listener\t\texpected\tgot");
+ log.println("mousePressed1\ttrue\t\t"+m_mousePressed1);
+ log.println("mouseReleased1\ttrue\t\t"+m_mouseReleased1);
+ log.println("mousePressed2\tfalse\t\t"+m_mousePressed2);
+ log.println("mouseReleased2\tfalse\t\t"+m_mouseReleased2);
+ }
+
+ log.println("remove mouse listener 1");
+ oObj.removeMouseClickHandler(m_MouseListener1);
+
+ tRes.tested("removeMouseClickHandler()", bOK);
+ }
+
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+ /**
+ * Listener which added and its method must be called
+ * on <code>keyPressed</code> and <code>keyReleased</code> call.
+ */
+ public class MyKeyHandler1 implements XKeyHandler {
+ /**
+ * This event sets the member <code>m_keyPressed</coed> to
+ * <code>true</code>
+ * @param oEvent The key event informs about the pressed key.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean keyPressed( KeyEvent oEvent ){
+ log.println("XKeyHandler 1: keyPressed-Event");
+ m_keyPressed1 = true;
+ return true;
+ }
+ /**
+ * This event sets the member <code>m_keyReleased</coed> to
+ * <code>true</code>
+ * @param oEvent The key event informs about the pressed key.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean keyReleased( KeyEvent oEvent ){
+ log.println("XKeyHandler 1: keyReleased-Event");
+ m_keyReleased1 = true;
+ return true;
+ }
+ /**
+ * This event does nothing usefull
+ * @param oEvent refers to the object that fired the event.
+ */
+ public void disposing( EventObject oEvent ){
+ log.println("XKeyHandler 1: disposing-Event");
+ }
+ }
+ /**
+ * Listener which added and its method must be called
+ * on <code>keyPressed</code> and <code>keyReleased</code> call.
+ */
+ public class MyKeyHandler2 implements XKeyHandler {
+ /**
+ * This event sets the member <code>m_keyPressed</coed> to
+ * <code>true</code>
+ * @param oEvent The key event informs about the pressed key.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean keyPressed( KeyEvent oEvent ){
+ log.println("XKeyHandler 2: keyPressed-Event: " +
+ "This should not be happen because listener is removed!");
+ m_keyPressed2 = true;
+ return true;
+ }
+ /**
+ * This event sets the member <code>m_keyReleased</coed> to
+ * <code>true</code>
+ * @param oEvent The key event informs about the pressed key.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean keyReleased( KeyEvent oEvent ){
+ log.println("XKeyHandler 2: keyReleased-Event: " +
+ "This should not be happen because listener is removed!");
+ m_keyReleased2 = true;
+ return true;
+ }
+ /**
+ * This event does nothing usefull
+ * @param oEvent refers to the object that fired the event.
+ */
+ public void disposing( EventObject oEvent ){
+ log.println("XKeyHandler 2: disposing-Event: " +
+ "This should not be happen because listener is removed!");
+ }
+ }
+
+ /**
+ * Listener which added and its method must be called
+ * on <code>mousePressed</code> and <code>mouseReleased</code> call.
+ */
+ public class MyMouseClickHandler1 implements XMouseClickHandler {
+ /**
+ * This event sets the member <code>m_mousePressed</coed> to
+ * <code>true</code>
+ * @param oEvent The mouse event informs about the kind of mouse event.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean mousePressed( MouseEvent oEvent ){
+ log.println("XMouseClickHandler 1: mousePressed-Event");
+ m_mousePressed1 = true;
+ return true;
+ }
+ /**
+ * This event sets the member <code>m_mouseReleased</coed> to
+ * <code>true</code>
+ * @param oEvent The mouse event informs about the kind of mouse event.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean mouseReleased( MouseEvent oEvent ){
+ log.println("XMouseClickHandler 1: mouseReleased-Event");
+ m_mouseReleased1 = true;
+ return true;
+ }
+ /**
+ * This event does nothing usefull
+ * @param oEvent refers to the object that fired the event.
+ */
+ public void disposing( EventObject oEvent ){
+ log.println("XMouseClickHandler 1: disposing-Event");
+ }
+ };
+
+ /**
+ * Listener which added and removed. Its method must NOT be called
+ * on <code>mousePressed</code> and <code>mouseReleased</code> call.
+ */
+ public class MyMouseClickHandler2 implements XMouseClickHandler {
+ /**
+ * This event sets the member <code>m_mousePressed</coed> to
+ * <code>true</code>
+ * @param oEvent The mouse event informs about the kind of mouse event.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean mousePressed( MouseEvent oEvent ){
+ log.println("XMouseClickHandler 2: mousePressed-Event: " +
+ "This should not be happen because listener is removed!");
+ m_mousePressed2 = true;
+ return true;
+ }
+ /**
+ * This event sets the member <code>m_mouseReleased</coed> to
+ * <code>true</code>
+ * @param oEvent The mouse event informs about the kind of mouse event.
+ * @return returns <CODE>TRUE</CODE> in erery case
+ */
+ public boolean mouseReleased( MouseEvent oEvent ){
+ log.println("XMouseClickHandler 2: mouseReleased-Event: " +
+ "This should not be happen because listener is removed!");
+ m_mouseReleased2 = true;
+ return true;
+ }
+ /**
+ * This event does nothing usefull
+ * @param oEvent refers to the object that fired the event.
+ */
+ public void disposing( EventObject oEvent ){
+ log.println("XMouseClickHandler 2: disposing-Event: " +
+ " This should not be happen because listener is removed!");
+ }
+ };
+
+ /**
+ * To check the events this class is a thread which click a mouse button and
+ * press a key with the <CODE>Robot</CODE> class
+ * @see java.awt.Robot
+ */
+ private class EventTrigger extends Thread{
+
+ /**
+ * represents a <CODE>AccessibilityTools</CODE>
+ */
+ private final AccessibilityTools at = new AccessibilityTools();
+ /**
+ * represents an <CODE>EventType</CODE>
+ * @see EventTest.EventTriggerType
+ */
+ private int eventType = 0;
+ /**
+ * represents a <CODE>XModel</CODE> of a document
+ */
+ private XModel xModel = null;
+
+ /**
+ * Creates an instacne of this class. The parameter <CODE>eType</CODE> represents
+ * the kind of event wich will be triggert at <CODE>run()</CODE>
+ * @param model the model of a document
+ * @param eType the kind of event which should be trigger
+ */
+ public EventTrigger(XModel model, int eType)
+ {
+ this.xModel = model;
+ this.eventType = eType;
+ }
+
+ /**
+ * Triggers the event wich is represented by <CODE>eventType</CODE>
+ * The scenarios are:
+ * <ul>
+ * <li>EventTest.EventTriggerType.MOUSE_KLICK_INTO_DOC
+ * which calls
+ * <li><CODE>clickIntoDoc</CODE></LI>
+ * </LI>
+ * <li>EventTest.EventTriggerType.KEY_TEXT_INTO_DOC
+ * which calls
+ * <li><CODE>clickIntodoc</CODE></LI>
+ * <li><CODE>keyIntoDoc</CODE></LI>
+ * </LI>
+ * </UL>
+ */
+ public void run(){
+
+ switch (this.eventType){
+
+ case EventTriggerType.MOUSE_KLICK_INTO_DOC:
+ clickIntoDoc();
+ break;
+ case EventTriggerType.KEY_TEXT_INTO_DOC:
+ clickIntoDoc();
+ keyIntoDoc();
+ break;
+
+ }
+ }
+ /**
+ * This method cklicks into the middel of a document. It uses Accessibility
+ * to get the document and query for its position and its range to calculate
+ * the middle. This values was used for <CODE>Robot</CODE> Class. This
+ * Robot class is able to move the mouse and to cklick a mouse button
+ * @see java.awt.Robot
+ */
+ private void clickIntoDoc(){
+ try{
+
+ util.DesktopTools.bringWindowToFront(xModel);
+
+ XWindow xWindow = at.getCurrentWindow(
+ (XMultiServiceFactory) tParam.getMSF(),
+ xModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+
+ XAccessibleContext xPanel = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+ XAccessibleComponent xPanelCont = (XAccessibleComponent) UnoRuntime.queryInterface(XAccessibleComponent.class, xPanel);
+
+ // the position of the panel
+ Point point = xPanelCont.getLocationOnScreen();
+
+ // the range of the panel
+ Rectangle rect = xPanelCont.getBounds();
+
+ try {
+ Robot rob = new Robot();
+ int x = point.X + (rect.Width / 2);
+ int y = point.Y + (rect.Height / 2);
+ log.println("try to klick into the middle of the document");
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+ } catch (java.lang.Exception e){
+ log.println("could not click into the scroll bar: " + e.toString());
+ }
+ }
+
+ /**
+ * This method press the "A" key. Therefore it uses the <CODE>Robot</CODE>
+ * class.
+ * @see java.awt.Robot
+ */
+ private void keyIntoDoc(){
+ try {
+ Robot rob = new Robot();
+ log.println("try to press 'A'");
+ rob.keyPress(java.awt.event.KeyEvent.VK_A);
+ rob.keyRelease(java.awt.event.KeyEvent.VK_A);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press key");
+ }
+
+ }
+ }
+
+ /** This interface represents all possible actions which could be used
+ * in the <CODE>EventTrigger</CODE> class.
+ * @see EventTest.EventTrigger
+ */
+ private interface EventTriggerType{
+
+ /** klick the mouse into the scroll bar*/
+ final public static int MOUSE_KLICK_INTO_DOC = 1;
+
+ /** write some text into a spread sheet*/
+ final public static int KEY_TEXT_INTO_DOC = 2;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XView.java b/qadevOOo/tests/java/ifc/awt/_XView.java
new file mode 100644
index 000000000000..a3f87c2ea3dc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XView.java
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XView;
+
+/**
+* Testing <code>com.sun.star.awt.XView</code>
+* interface methods:
+* <ul>
+* <li><code> setGraphics() </code></li>
+* <li><code> getGraphics() </code></li>
+* <li><code> getSize() </code></li>
+* <li><code> draw() </code></li>
+* <li><code> setZoom() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'GRAPHICS'</code> (of type <code>XGraphics</code>):
+* used as a parameter to setGraphics() </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XView
+*/
+public class _XView extends MultiMethodTest {
+ public XView oObj = null;
+
+ /**
+ * After obtaining object relation 'GRAPHICS', test calls the method. <p>
+ * Has <b> OK </b> status if the method returns true.
+ */
+ public void _setGraphics() {
+ XGraphics graph = (XGraphics) tEnv.getObjRelation("GRAPHICS");
+ boolean isSet = oObj.setGraphics(graph);
+ if ( !isSet ) {
+ log.println("setGraphics() returns false");
+ }
+ tRes.tested("setGraphics()", isSet);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _getGraphics() {
+ requiredMethod("setGraphics()");
+ XGraphics graph = oObj.getGraphics();
+ if (graph == null) {
+ log.println("getGraphics() returns NULL");
+ }
+ tRes.tested("getGraphics()", graph != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns structure with fields that
+ * are not equal to zero. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _getSize() {
+ requiredMethod("setGraphics()");
+ Size aSize = oObj.getSize();
+ boolean res = (aSize.Height != 0) && (aSize.Width != 0);
+ if ( !res ) {
+ log.println("Height: " + aSize.Height);
+ log.println("Width: " + aSize.Width);
+ }
+ tRes.tested("getSize()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _draw() {
+ requiredMethod("setGraphics()");
+ oObj.draw(20, 20);
+ tRes.tested("draw()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _setZoom() {
+ requiredMethod("setGraphics()");
+ oObj.setZoom(2,2);
+ tRes.tested("setZoom()", true);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XWindow.java b/qadevOOo/tests/java/ifc/awt/_XWindow.java
new file mode 100644
index 000000000000..f3cfda4e6085
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XWindow.java
@@ -0,0 +1,624 @@
+/*************************************************************************
+ *
+ * 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.awt;
+
+import com.sun.star.awt.FocusEvent;
+import com.sun.star.awt.KeyEvent;
+import com.sun.star.awt.MouseEvent;
+import com.sun.star.awt.PaintEvent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.WindowEvent;
+import com.sun.star.awt.XFocusListener;
+import com.sun.star.awt.XKeyListener;
+import com.sun.star.awt.XMouseListener;
+import com.sun.star.awt.XMouseMotionListener;
+import com.sun.star.awt.XPaintListener;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowListener;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.lang.EventObject;
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+/**
+* Testing <code>com.sun.star.awt.XWindow</code>
+* interface methods :
+* <ul>
+* <li><code> setPosSize()</code></li>
+* <li><code> getPosSize()</code></li>
+* <li><code> setVisible()</code></li>
+* <li><code> setEnable()</code></li>
+* <li><code> setFocus()</code></li>
+* <li><code> addWindowListener()</code></li>
+* <li><code> removeWindowListener()</code></li>
+* <li><code> addFocusListener()</code></li>
+* <li><code> removeFocusListener()</code></li>
+* <li><code> addKeyListener()</code></li>
+* <li><code> removeKeyListener()</code></li>
+* <li><code> addMouseListener()</code></li>
+* <li><code> removeMouseListener()</code></li>
+* <li><code> addMouseMotionListener()</code></li>
+* <li><code> removeMouseMotionListener()</code></li>
+* <li><code> addPaintListener()</code></li>
+* <li><code> removePaintListener()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XWindow.AnotherWindow'</code> (of type <code>XWindow</code>):
+* Some another window which can gain focus so the tested one
+* must lost it. </li>
+* <li> <code>'XWindow.ControlShape'</code> <b>optional</b>
+* (of type <code>XControlShape</code>):
+* Some shapes cann't change their size within fixed ControlShape
+* and their size could be changed only if size of container
+* ControlShape is changed. For such shapes this relation should
+* be passed for proper <code>addWindowListener</code> test. </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.awt.XWindow
+*/
+public class _XWindow extends MultiMethodTest {
+ public XWindow oObj = null;
+ private Rectangle posSize = null ;
+ private XWindow win = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getPosSize() {
+ posSize = oObj.getPosSize() ;
+ tRes.tested("getPosSize()", posSize != null) ;
+ }
+
+ /**
+ * After defining Rectangle structure to be set, test calls the method. <p>
+ * Has <b> OK </b> status if structure obtained using getPosSize() is
+ * equal to structure previously set using setPosSize(). <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPosSize() </code> : returns the outer bounds of
+ * the window </li>
+ * </ul>
+ */
+ public void _setPosSize() {
+ Rectangle newRec = new Rectangle();
+
+ requiredMethod("getPosSize()");
+ newRec.X = posSize.X + 1;
+ newRec.Y = posSize.Y + 1;
+ newRec.Width = posSize.Width - 3;
+ newRec.Height = posSize.Height - 3;
+ oObj.setPosSize(newRec.X, newRec.Y, newRec.Width, newRec.Height,
+ PosSize.POSSIZE);
+ Rectangle gPS = oObj.getPosSize();
+ log.println("Was : (" + posSize.X + ", " + posSize.Y + ", " +
+ posSize.Width + ", " + posSize.Height + "), ");
+ log.println("Set : (" + newRec.X + ", " + newRec.Y + ", " +
+ newRec.Width + ", " + newRec.Height + "), ");
+ log.println("Get : (" + gPS.X + ", " + gPS.Y + ", " +
+ gPS.Width + ", " + gPS.Height + "). ");
+ tRes.tested("setPosSize()", ValueComparer.equalValue(newRec, gPS) );
+ }
+
+ /**
+ * At first object relation 'XWindow.AnotherWindow' is obtained.
+ * Then test calls the methods of two 'XWindow' objects several times to be
+ * sure that the focus has changed. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setFocus() {
+ win = (XWindow) tEnv.getObjRelation("XWindow.AnotherWindow");
+ oObj.setFocus();
+ win.setFocus();
+ oObj.setFocus();
+ tRes.tested("setFocus()", true);
+ }
+
+ /**
+ * Test calls the method twice with two parameters: 'true' and 'false'. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setVisible() {
+ oObj.setVisible(false);
+ oObj.setVisible(true);
+ tRes.tested("setVisible()", true);
+ }
+
+ /**
+ * Test calls the method twice with two parameters: 'true' and 'false'. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setEnable() {
+ oObj.setEnable(false);
+ oObj.setEnable(true);
+ tRes.tested("setEnable()", true);
+ }
+
+
+ /**
+ * A class we use to test addWindowListener() and
+ * removeWindowListener()
+ */
+ public class TestWindowListener implements XWindowListener {
+ public boolean resized = false ;
+ public boolean moved = false ;
+ public boolean hidden = false ;
+ public boolean shown = false ;
+
+ public void init() {
+ resized = false ;
+ moved = false ;
+ hidden = false ;
+ shown = false ;
+ }
+
+ public void windowResized(WindowEvent e) {
+ resized = true ;
+ }
+ public void windowMoved(WindowEvent e) {
+ moved = true ;
+ }
+ public void windowHidden(EventObject e) {
+ hidden = true ;
+ }
+ public void windowShown(EventObject e) {
+ shown = true ;
+ }
+ public void disposing(EventObject e) {}
+
+ }
+
+ private TestWindowListener wListener = new TestWindowListener() ;
+
+
+ /**
+ * Test calls the method. Then we check if listener's methods were called
+ * when we move, resize, hide and show the window. The resizing is
+ * performed depending on 'XWindow.ControlShape' existance. If this
+ * relation exists then the size and position of container control
+ * shape is changed, else the position and size of window itself is
+ * chaged<p>
+ *
+ * Has <b> OK </b> status if methods of wListener were called when
+ * corresponding events occured. <p>
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setPosSize() </code>: sets the outer bounds of the
+ * window</li>
+ * <li> <code> setVisible() </code>: shows or hides the window
+ * depending on the parameter</li>
+ * </ul>
+ */
+ public void _addWindowListener() {
+ executeMethod("setPosSize()");
+ executeMethod("setVisible()");
+ boolean result = true ;
+
+ oObj.addWindowListener(wListener);
+
+ // testing wListener.windowMoved()
+ XControlShape ctrlShape = (XControlShape)
+ tEnv.getObjRelation("XWindow.ControlShape");
+ log.println("change object position and size...");
+
+ if (ctrlShape != null) {
+ try {
+ Size sz = ctrlShape.getSize();
+ sz.Height += 100;
+ ctrlShape.setSize(sz);
+ Point pos = ctrlShape.getPosition();
+ pos.X += 100 ;
+ ctrlShape.setPosition(pos);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change size or position: ");
+ e.printStackTrace(log);
+ }
+ } else {
+ oObj.setPosSize(posSize.X + 2, 0, 0, 0, PosSize.X);
+ oObj.setPosSize(0, 0, 100, 100, PosSize.WIDTH);
+ }
+
+ shortWait();
+ boolean res = wListener.resized && wListener.moved &&
+ !wListener.hidden && !wListener.shown;
+ result &= res;
+ if (!res) {
+ log.println("\twindowHidden() wasn't called: " + !wListener.hidden);
+ log.println("\twindowShown() wasn't called: " + !wListener.shown);
+ log.println("\twindowResized() was called: " + wListener.resized);
+ log.println("\twindowMoved() was called: " + wListener.moved);
+ } else {
+ log.println("windowMoved() and windowResized() was called");
+ }
+
+ // testing wListener.windowHidden()
+ wListener.init();
+ shortWait();
+ log.println("set object invisible...");
+ oObj.setVisible(false);
+ shortWait();
+ res = wListener.hidden && !wListener.resized
+ && !wListener.moved && !wListener.shown;
+ result &= res;
+ if (!res) {
+ log.println("\twindowHidden() was called: " + wListener.hidden);
+ log.println("\twindowShown() wasn't called: " + !wListener.shown);
+ log.println("\twindowResized() wasn't called: " + !wListener.resized);
+ log.println("\twindowMoved() wasn't called: " + !wListener.moved);
+ } else {
+ log.println("windowHidden() was called");
+ }
+
+ // testing wListener.windowShown()
+ wListener.init() ;
+ shortWait();
+ log.println("set object visible...");
+ oObj.setVisible(true) ;
+ shortWait();
+ res = wListener.shown && !wListener.resized &&
+ !wListener.hidden && !wListener.moved;
+ result &= res;
+ if (!res) {
+ log.println("\twindowHidden() wasn't called: " + !wListener.hidden);
+ log.println("\twindowShown() was called: " + wListener.shown);
+ log.println("\twindowResized() wasn't called: " + !wListener.resized);
+ log.println("\twindowMoved() wasn't called: " + !wListener.moved);
+ } else {
+ log.println("windowShown() was called");
+ }
+
+ tRes.tested("addWindowListener()", result) ;
+ }
+
+
+ /**
+ * Test calls the method. Then we change window and check that listener's
+ * methods were not called. <p>
+ * Has <b> OK </b> status if listener does not react on window events.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addWindowListener() </code>: adds window listener to the
+ * object </li>
+ * </ul>
+ */
+ public void _removeWindowListener() {
+ requiredMethod("addWindowListener()");
+ oObj.removeWindowListener(wListener);
+ wListener.init();
+ oObj.setPosSize(posSize.X, posSize.Y,
+ posSize.Width , posSize.Height, PosSize.POSSIZE);
+ oObj.setVisible(false);
+ oObj.setVisible(true);
+ boolean res = !(wListener.resized || wListener.moved
+ || wListener.hidden || wListener.shown);
+
+ tRes.tested("removeWindowListener()", res);
+ }
+
+ /**
+ * A class we use to test addFocusListener() and
+ * removeFocusListener()
+ */
+ public class TestFocusListener implements XFocusListener {
+ public boolean gained = false ;
+ public boolean lost = false ;
+
+ public void focusGained(FocusEvent e) {
+ gained = true ;
+ }
+ public void focusLost(FocusEvent e) {
+ lost = true ;
+ }
+ public void init() {
+ gained = false;
+ lost = false;
+ }
+ public void disposing(EventObject e) {}
+
+ }
+
+ private TestFocusListener fListener = new TestFocusListener();
+
+ /**
+ * Test calls the method. Then we change focus and check that listener's
+ * methods were called. <p>
+ * Has <b> OK </b> status if methods of fListener were called when
+ * corresponding events occured. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFocus() </code>: sets the focus to the window </li>
+ * </ul>
+ */
+ public void _addFocusListener() {
+ boolean result = true ;
+
+ requiredMethod("setFocus()");
+ oObj.addFocusListener(fListener) ;
+
+ // testing fListener.lost()
+ oObj.setFocus();
+ shortWait();
+ win.setFocus();
+ shortWait();
+ result &= fListener.lost;
+ if (!fListener.lost) {
+ log.println("Lost focus was not notified about") ;
+ }
+
+ // testing fListener.gained()
+ oObj.setFocus() ;
+ shortWait();
+ result &= fListener.gained;
+ if (!fListener.gained) {
+ log.println("Gained focus was not notified about") ;
+ }
+
+ tRes.tested("addFocusListener()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then we change focus and check that listener's
+ * methods were not called. <p>
+ * Has <b> OK </b> status if listener does not react on focus changing. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addFocusListener() </code> : adds focus listener to
+ * the object </li>
+ * </ul>
+ */
+ public void _removeFocusListener() {
+ requiredMethod("addFocusListener()");
+ oObj.removeFocusListener(fListener);
+ fListener.init();
+ oObj.setFocus();
+ win.setFocus();
+ oObj.setFocus();
+ boolean res = !(fListener.gained || fListener.lost);
+ tRes.tested("removeFocusListener()", res);
+ }
+
+ /**
+ * A class we use to test addKeyListener() and
+ * removeKeyListener()
+ */
+ public class TestKeyListener implements XKeyListener {
+ public boolean pressed = false;
+ public boolean released = false;
+ public void keyPressed(KeyEvent e) { pressed = true; }
+ public void keyReleased(KeyEvent e) { released = true; }
+ public void disposing(EventObject e) {}
+ public void init() { pressed = false; released = false; }
+ }
+
+ private TestKeyListener kListener = new TestKeyListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addKeyListener() {
+ oObj.addKeyListener(kListener);
+ tRes.tested("addKeyListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addKeyListener() </code> : adds key listener to
+ * the object </li>
+ * </ul>
+ */
+ public void _removeKeyListener() {
+ requiredMethod("addKeyListener()");
+ oObj.removeKeyListener(kListener);
+ tRes.tested("removeKeyListener()", true);
+ }
+
+ /**
+ * A class we use to test addMouseListener() and
+ * removeMouseListener()
+ */
+ public class TestMouseListener implements XMouseListener {
+ public boolean pressed = false;
+ public boolean released = false;
+ public boolean entered = false;
+ public boolean exited = false;
+
+ public void mousePressed(MouseEvent e) {
+ pressed = true;
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ released = true;
+ }
+
+ public void mouseEntered(MouseEvent e) {
+ entered = true;
+ }
+
+ public void mouseExited(MouseEvent e) {
+ exited = true;
+ }
+
+ public void disposing(EventObject e) {}
+
+ public void init() {
+ pressed = false;
+ released = false;
+ exited = false;
+ entered = false;
+ }
+
+ }
+
+ private TestMouseListener mListener = new TestMouseListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addMouseListener() {
+ oObj.addMouseListener(mListener);
+ tRes.tested("addMouseListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addMouseListener() </code> : adds mouse listener to
+ * the object</li>
+ * </ul>
+ */
+ public void _removeMouseListener() {
+ requiredMethod("addMouseListener()");
+ oObj.removeMouseListener(mListener);
+ tRes.tested("removeMouseListener()", true);
+ }
+
+ /**
+ * A class we use to test addMouseMotionListener() and
+ * removeMouseMotionListener()
+ */
+ public class TestMouseMotionListener implements XMouseMotionListener {
+ public boolean dragged = false;
+ public boolean moved = false;
+
+ public void mouseDragged(MouseEvent e) {
+ dragged = true;
+ }
+
+ public void mouseMoved(MouseEvent e) {
+ moved = true;
+ }
+
+ public void disposing(EventObject e) {}
+
+ public void init() {
+ dragged = false;
+ moved = false;
+ }
+
+ }
+
+ private TestMouseMotionListener mmListener = new TestMouseMotionListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addMouseMotionListener() {
+ oObj.addMouseMotionListener(mmListener);
+ tRes.tested("addMouseMotionListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addMouseMotionListener() </code> : adds mouse motion
+ * listener to the object</li>
+ * </ul>
+ */
+ public void _removeMouseMotionListener() {
+ requiredMethod("addMouseMotionListener()");
+ oObj.removeMouseMotionListener(mmListener);
+ tRes.tested("removeMouseMotionListener()", true);
+ }
+
+ /**
+ * A class we use to test addPaintListener() and
+ * removePaintListener()
+ */
+ public class TestPaintListener implements XPaintListener {
+ public boolean paint = false;
+
+ public void windowPaint(PaintEvent e) {
+ paint = true;
+ }
+
+ public void disposing(EventObject e) {}
+
+ public void init() {
+ paint = false;
+ }
+
+ }
+
+ private TestPaintListener pListener = new TestPaintListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addPaintListener() {
+ oObj.addPaintListener(pListener);
+ tRes.tested("addPaintListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addPaintListener() </code> : adds paint listener to
+ * the object </li>
+ * </ul>
+ */
+ public void _removePaintListener() {
+ requiredMethod("addPaintListener()");
+ oObj.removePaintListener(pListener);
+ tRes.tested("removePaintListener()", true);
+ }
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java b/qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java
new file mode 100644
index 000000000000..197ec80110e8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java
@@ -0,0 +1,37 @@
+/*************************************************************************
+ *
+ * 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.awt.tree;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.awt.tree.TreeControlModel</code>
+* service properties </br>
+* @see com.sun.star.awt.tree.TreeControlModel
+*/
+public class _TreeControlModel extends MultiPropertyTest { }
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java
new file mode 100644
index 000000000000..cc21a2828db0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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.awt.tree;
+
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.awt.tree.XMutableTreeDataModel</code>
+* interface methods :
+* <ul>
+* <li><code> createNode()</code></li>
+* <li><code> setRoot()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+
+* @see com.sun.star.awt.tree.XMutableTreeDataModel
+*/
+public class _XMutableTreeDataModel extends MultiMethodTest {
+
+ public XMutableTreeDataModel oObj = null;
+
+ private XMutableTreeNode mNewNode = null;
+
+ /**
+ * Sets the title to some string. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _createNode() {
+
+ mNewNode = oObj.createNode("Hallo Welt", true);
+
+ tRes.tested("createNode()", true) ;
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _setRoot() {
+ requiredMethod("createNode()") ;
+
+ boolean bOK = true;
+ try {
+
+ oObj.setRoot(mNewNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: while trying to set a new root an IllegalArgumentException was thrown:\n" + ex.toString());
+ }
+
+ try {
+
+ oObj.setRoot(null);
+ bOK = false;
+ log.println("ERROR: while trying to set a null object as root expected IllegalArgumentException was not thrown.");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => ok");
+
+ }
+
+ tRes.tested("setRoot()", bOK);
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java
new file mode 100644
index 000000000000..e90665889733
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java
@@ -0,0 +1,295 @@
+/*************************************************************************
+ *
+ * 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.awt.tree;
+
+import com.sun.star.awt.tree.XMutableTreeNode;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeDataModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> appendChild()</code></li>
+ * <li><code> insertChildByIndex()</code></li>
+ * <li><code> removeChildByIndex()</code></li>
+ * <li><code> setHasChildrenOnDemand()</code></li>
+ * <li><code> setDisplayValue()</code></li>
+ * <li><code> setNodeGraphicURL()</code></li>
+ * <li><code> setExpandedGraphicURL()</code></li>
+ * <li><code> setCollapsedGraphicURL()</code></li>
+ * <li><code> DataValue()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeDataModel
+ */
+public class _XMutableTreeNode extends MultiMethodTest {
+
+ public XMutableTreeNode oObj = null;
+
+ private int mCount = 0;
+
+ private XMutableTreeNodeCreator nodeCreator = null;
+
+ public static interface XMutableTreeNodeCreator{
+ public XMutableTreeNode createNode(String name);
+ }
+
+ public void before(){
+ nodeCreator = (XMutableTreeNodeCreator) tEnv.getObjRelation("XMutableTreeNodeCreator");
+ if (nodeCreator == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XMutableTreeNodeCreator'"));
+ }
+
+ }
+
+ public void _appendChild(){
+ boolean bOK = true;
+
+ log.println("try to append a valid node...");
+
+ XMutableTreeNode myNode = nodeCreator.createNode("myNodeToAppend");
+
+ try {
+ oObj.appendChild(myNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not appedn a valid node: " + ex.toString());
+ bOK = false;
+ }
+
+ log.println("try to append the node a second time...");
+ try {
+
+ oObj.appendChild(myNode);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => OK");
+ }
+
+ log.println("try to append the object itself...");
+ try {
+
+ oObj.appendChild(oObj);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => OK");
+ }
+
+ tRes.tested("appendChild()", bOK);
+ }
+
+ public void _insertChildByIndex(){
+ boolean bOK = true;
+
+ XMutableTreeNode myNode = nodeCreator.createNode("myNodeToInsert");
+
+ try {
+ log.println("try to insert a valid node...");
+ oObj.insertChildByIndex(0, myNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not insert a valid node: " + ex.toString());
+ bOK = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: could not insert a valid node on index '0': " + ex.toString());
+ bOK = false;
+ }
+
+ try {
+ log.println("try to insert a valid node a second time...");
+ oObj.insertChildByIndex(0, myNode);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException wa thrown => OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: wrong IndexOutOfBoundsException was thrown. Expected is IllegalArgumentException => FAILED");
+ bOK = false;
+ }
+
+ XMutableTreeNode myNode2 = nodeCreator.createNode("myNodeToInsert2");
+
+ try {
+ log.println("try to insert a valid node on invalid index '-3'...");
+ oObj.insertChildByIndex(-3, myNode2);
+ log.println("ERROR: expected IndexOutOfBoundsException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: wrong IllegalArgumentException was thrown. Expeced is IndexOutOfBoundsException => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("Expected IndexOutOfBoundsException was thrown => OK");
+ }
+
+ try {
+ log.println("try to insert the object itself...");
+ oObj.insertChildByIndex(0, oObj);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("unexpected IndexOutOfBoundsException was thrown, expected was IllegalArgumentException => FAILED");
+ bOK = false;
+ }
+
+ tRes.tested("insertChildByIndex()", bOK);
+ }
+
+ public void _removeChildByIndex(){
+
+ requiredMethod("insertChildByIndex()");
+ boolean bOK = true;
+
+ try {
+ log.println("try to remove node at index '0'...");
+ oObj.removeChildByIndex(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: IndexOutOfBoundsException was thrown => FAILED");
+ bOK = false;
+ }
+
+ try {
+ log.println("try to remove node at invalid index '-3'");
+ oObj.removeChildByIndex(-3);
+ log.println("ERROR: expeced IndexOutOfBoundsException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("expected IndexOutOfBoundsException was thrown => OK");
+ }
+ tRes.tested("removeChildByIndex()", bOK);
+ }
+
+ public void _setHasChildrenOnDemand(){
+ boolean bOK = true;
+
+ log.println("setHasChildrenOnDemand(true)");
+ oObj.setHasChildrenOnDemand(true);
+
+ log.println("setHasChildrenOnDemand(false)");
+ oObj.setHasChildrenOnDemand(false);
+
+ tRes.tested("setHasChildrenOnDemand()", bOK);
+ }
+
+ public void _setDisplayValue(){
+ boolean bOK = true;
+
+ log.println("setDisplayValue(\"MyTestValue\")");
+ oObj.setDisplayValue("MyTestValue");
+
+ log.println("setDisplayValue(null)");
+ oObj.setDisplayValue(null);
+
+ log.println("oObj.setDisplayValue(oObj)");
+ oObj.setDisplayValue(oObj);
+
+ tRes.tested("setDisplayValue()", bOK);
+ }
+
+ public void _setNodeGraphicURL(){
+ boolean bOK = true;
+
+ log.println("setNodeGraphicURL(\"MyTestURL\")");
+ oObj.setNodeGraphicURL("MyTestURL");
+
+ log.println("setNodeGraphicURL(null)");
+ oObj.setNodeGraphicURL(null);
+
+ tRes.tested("setNodeGraphicURL()", bOK);
+ }
+
+ public void _setExpandedGraphicURL(){
+ boolean bOK = true;
+
+ log.println("setExpandedGraphicURL(\"myExpandedURL\")");
+ oObj.setExpandedGraphicURL("myExpandedURL");
+
+ log.println("setExpandedGraphicURL(null)");
+ oObj.setExpandedGraphicURL(null);
+
+ tRes.tested("setExpandedGraphicURL()", bOK);
+ }
+
+ public void _setCollapsedGraphicURL(){
+ boolean bOK = true;
+
+ log.println("setCollapsedGraphicURL(\"myCollapsedURL\")");
+ oObj.setCollapsedGraphicURL("myCollapsedURL");
+
+ log.println("setCollapsedGraphicURL(null)");
+ oObj.setCollapsedGraphicURL(null);
+
+ tRes.tested("setCollapsedGraphicURL()", bOK);
+ }
+
+ public void _DataValue(){
+ boolean bOK = true;
+
+ log.println("setDataValue(\"myDataValue\")");
+ oObj.setDataValue("myDataValue");
+
+ String sDataValue = (String) oObj.getDataValue();
+
+ if ( ! sDataValue.equals("myDataValue")) {
+ log.println("ERROR: getDataVlaue does not return the value which is inserted before:\n" +
+ "\texpected: myDataValue\n" +
+ "\tgot: " + sDataValue);
+ bOK = false;
+ }
+
+ log.println("setDataValue(null)");
+ oObj.setDataValue(null);
+
+ Object oDataValue = oObj.getDataValue();
+ if ( oDataValue != null) {
+ log.println("ERROR: getDataVlaue does not return the value which is inserted before:\n" +
+ "\texpected: null\n" +
+ "\tgot: " + oDataValue.toString());
+ bOK = false;
+ }
+
+ log.println("oObj.setDisplayValue(oObj)");
+ oObj.setDisplayValue(oObj);
+
+ oDataValue = oObj.getDataValue();
+ if ( oDataValue != null) {
+ log.println("ERROR: getDataVlaue does not return the value which is inserted before:\n" +
+ "\texpected: " + oObj.toString() +"\n" +
+ "\tgot: " + oDataValue.toString());
+ bOK = false;
+ }
+
+ tRes.tested("DataValue()", bOK);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java b/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java
new file mode 100644
index 000000000000..600298aea9e9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java
@@ -0,0 +1,671 @@
+/*************************************************************************
+ *
+ * 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.awt.tree;
+
+import com.sun.star.awt.tree.ExpandVetoException;
+import com.sun.star.awt.tree.TreeExpansionEvent;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.awt.tree.XTreeControl;
+import com.sun.star.awt.tree.XTreeEditListener;
+import com.sun.star.awt.tree.XTreeExpansionListener;
+import com.sun.star.awt.tree.XTreeNode;
+import com.sun.star.lang.EventObject;
+import com.sun.star.util.VetoException;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeControl</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isNodeExpanded()</code></li>
+ * <li><code> isNodeCollapsed()</code></li>
+ * <li><code> makeNodeVisible()</code></li>
+ * <li><code> isNodeVisible()</code></li>
+ * <li><code> expandNode()</code></li>
+ * <li><code> collapseNode()</code></li>
+ * <li><code> addTreeExpansionListener()</code></li>
+ * <li><code> removeTreeExpansionListener()</code></li>
+ * <li><code> getNodeForLocation()</code></li>
+ * <li><code> getClosestNodeForLocation()</code></li>
+ * <li><code> isEditing()</code></li>
+ * <li><code> stopEditing()</code></li>
+ * <li><code> cancelEditing()</code></li>
+ * <li><code> startEditingAtNode()</code></li>
+ * <li><code> addTreeEditListener()</code></li>
+ * <li><code> removeTreeEditListener()</code></li>
+ * <li><code> DefaultExpandedGraphicURL()</code></li>
+ * <li><code> DefaultCollapsedGraphicURL()</code></li>* </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeControl
+ */
+public class _XTreeControl extends MultiMethodTest {
+
+ public XTreeControl oObj = null;
+
+ private XMutableTreeNode mNewNode = null;
+
+ private XMutableTreeNode mXNode = null;
+
+ XTreeExpansionListener mTreeExpansionListener1 = new TreeExpansionListenerImpl1();
+
+ XTreeExpansionListener mTreeExpansionListener2 = new TreeExpansionListenerImpl2();
+
+ XTreeEditListener mTreeEditListener1 = new TreeEditListenerImpl1();
+
+ XTreeEditListener mTreeEditListener2 = new TreeEditListenerImpl2();
+
+ boolean mTreeExpanded1 = false;
+ boolean mTreeExpanding1 = false;
+ boolean mTreeCollapsed1 = false;
+ boolean mTreeCollapsing1 = false;
+
+ boolean mTreeExpanded2 = false;
+ boolean mTreeExpanding2 = false;
+ boolean mTreeCollapsed2 = false;
+ boolean mTreeCollapsing2 = false;
+
+ boolean mTreeNodeEditing1 = false;
+ boolean mTreeNodeEdit1 = false;
+
+ boolean mTreeNodeEditing2 = false;
+ boolean mTreeNodeEdit2 = false;
+
+ public static interface XTreeDataModelListenerEvent{
+ public void fireEvent();
+ }
+
+ public class TreeExpansionListenerImpl1 implements XTreeExpansionListener{
+ public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 1: requestChildNodes");
+ }
+
+ public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 1: treeExpanding");
+ mTreeExpanding1 = true;
+ }
+
+ public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 1: treeCollapsing");
+ mTreeCollapsing1 = true;
+ }
+
+ public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 1: treeExpanded");
+ mTreeExpanded1 = true;
+ }
+
+ public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 1: treeCollapsed");
+ mTreeCollapsed1 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at ExpansionListener 1: disposing");
+ }
+ }
+
+ public class TreeExpansionListenerImpl2 implements XTreeExpansionListener{
+ public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 2: requestChildNodes");
+ }
+
+ public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 2: treeExpanding");
+ mTreeExpanding2 = true;
+ }
+
+ public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 2: treeCollapsing");
+ mTreeCollapsing2 = true;
+ }
+
+ public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 2: treeExpanded");
+ mTreeExpanded2 = true;
+ }
+
+ public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 2: treeCollapsed");
+ mTreeCollapsed2 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at ExpansionListener 2: disposing");
+ }
+
+ }
+
+ public class TreeEditListenerImpl1 implements XTreeEditListener{
+ public void nodeEditing(XTreeNode xTreeNode) throws VetoException {
+ log.println("event at EditListener 1: nodeEditing");
+ mTreeNodeEditing1 = true;
+ }
+
+ public void nodeEdited(XTreeNode xTreeNode, String string) {
+ log.println("event at EditListener 1: nodeEdited");
+ mTreeNodeEdit1 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at EditListener 1: disposing");
+ }
+ }
+
+ public class TreeEditListenerImpl2 implements XTreeEditListener{
+ public void nodeEditing(XTreeNode xTreeNode) throws VetoException {
+ log.println("event at EditListener 2: nodeEditing");
+ mTreeNodeEditing2 = true;
+
+ }
+
+ public void nodeEdited(XTreeNode xTreeNode, String string) {
+ log.println("event at EditListener 2: nodeEdited");
+ mTreeNodeEdit2 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at EditListener 2: disposing");
+ }
+ }
+
+ private void resetTreeExpandingListener(){
+ mTreeExpanded1 = false;
+ mTreeExpanded2 = false;
+ mTreeCollapsed1 = false;
+ mTreeCollapsed2 = false;
+ mTreeExpanding1 = false;
+ mTreeExpanding2 = false;
+ mTreeCollapsing1 = false;
+ mTreeCollapsing2 = false;
+ }
+
+ private void resetEditListener(){
+ mTreeNodeEditing1 = false;
+ mTreeNodeEdit1 = false;
+ mTreeNodeEditing2 = false;
+ mTreeNodeEdit2 = false;
+ }
+
+ public void before(){
+ mXNode = (XMutableTreeNode) tEnv.getObjRelation("XTreeControl_Node");
+ if (mXNode == null) {
+ throw new StatusException(Status.failed("ERROR: could not get object relation 'XTreeControl_Node'"));
+ }
+ }
+
+ public void _isNodeExpanded() throws ExpandVetoException{
+
+ boolean bOK = true;
+
+ boolean isExpanded = false;
+
+ try {
+ isExpanded = oObj.isNodeExpanded(mXNode);
+ log.println("node is expanded: " + isExpanded);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString());
+ }
+
+ if (isExpanded)
+ try {
+
+ log.println("try to collapse node...");
+ oObj.collapseNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+ else
+ try {
+
+ log.println("try to expand node...");
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ try {
+
+ boolean isAlsoExpanded = oObj.isNodeExpanded(mXNode);
+
+ bOK &= (isExpanded != isAlsoExpanded);
+
+ log.println("node is expanded: " + isAlsoExpanded + " => " + bOK);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString());
+ }
+
+ tRes.tested("isNodeExpanded()", bOK);
+
+ }
+ public void _isNodeCollapsed(){
+
+ boolean bOK = true;
+
+ boolean isCollapsed = false;
+
+ try {
+ isCollapsed = oObj.isNodeCollapsed(mXNode);
+ log.println("node is Collapsed: " + isCollapsed);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString());
+ }
+
+ if ( ! isCollapsed)
+ try {
+
+ log.println("try to collapse node...");
+ oObj.collapseNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+ else
+ try {
+
+ log.println("try to expand node...");
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ try {
+
+ boolean isAlsoCollapsed = oObj.isNodeCollapsed(mXNode);
+
+ bOK &= (isCollapsed != isAlsoCollapsed);
+
+ log.println("node is Collapsed: " + isAlsoCollapsed + " => " + bOK);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString());
+ }
+
+ tRes.tested("isNodeCollapsed()", bOK);
+
+ }
+ public void _makeNodeVisible(){
+
+ boolean bOK = true;
+ try {
+
+ oObj.makeNodeVisible(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString());
+ }
+ try {
+
+ bOK &= oObj.isNodeVisible(mXNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not call method 'isNodeVisible()' successfully: " + ex.toString());
+ }
+
+ tRes.tested("makeNodeVisible()", bOK);
+
+ }
+ public void _isNodeVisible(){
+
+ this.requiredMethod("makeNodeVisible()");
+
+ boolean bOK = true;
+ log.println("since required method 'makeNodeVisible()' uses method 'isNodeVisible()' this test is ok.");
+ tRes.tested("isNodeVisible()", bOK);
+
+ }
+
+ public void _expandNode(){
+
+ this.requiredMethod("isNodeExpanded()");
+
+ boolean bOK = true;
+ log.println("since required method 'isnodeExpanded()' uses method 'expandNode()' this test is ok.");
+ tRes.tested("expandNode()", bOK);
+
+ }
+
+ public void _collapseNode(){
+
+ this.requiredMethod("isNodeCollapsed()");
+
+ boolean bOK = true;
+ log.println("since required method 'isnodeCollapsed()' uses method 'expandNode()' this test is ok.");
+ tRes.tested("collapseNode()", bOK);
+
+ }
+
+ public void _addTreeExpansionListener(){
+
+ boolean bOK = true;
+
+ log.println("collapse Node to get an initial status...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ log.println("add mTreeExpansionListener1...");
+ oObj.addTreeExpansionListener(mTreeExpansionListener1);
+
+ log.println("add mTreeExpansionListener2");
+ oObj.addTreeExpansionListener(mTreeExpansionListener2);
+
+ resetTreeExpandingListener();
+
+ log.println("expand Node...");
+ try {
+
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ bOK &= mTreeExpanded1 & mTreeExpanded2 & ! mTreeCollapsed1 & ! mTreeCollapsed2
+ & mTreeExpanding1 & mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2;
+
+ resetTreeExpandingListener();
+
+ log.println("collapse Node...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ bOK &= ! mTreeExpanded1 & ! mTreeExpanded2 & mTreeCollapsed1 & mTreeCollapsed2
+ & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & mTreeCollapsing2;
+
+ tRes.tested("addTreeExpansionListener()", bOK);
+
+ }
+
+ public void _removeTreeExpansionListener(){
+
+ this.requiredMethod("addTreeExpansionListener()");
+
+ boolean bOK = true;
+
+ log.println("collapse Node to get an initial status...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ resetTreeExpandingListener();
+
+ log.println("remove mTreeExpansionListener2 ...");
+ oObj.removeTreeExpansionListener(mTreeExpansionListener2);
+
+ log.println("expand Node...");
+ try {
+
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ bOK &= mTreeExpanded1 & ! mTreeExpanded2 & ! mTreeCollapsed1 & ! mTreeCollapsed2
+ & mTreeExpanding1 & ! mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2;
+
+ resetTreeExpandingListener();
+
+ log.println("collapse Node...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ bOK &= ! mTreeExpanded1 & ! mTreeExpanded2 & mTreeCollapsed1 & ! mTreeCollapsed2
+ & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & ! mTreeCollapsing2;
+
+ log.println("remove mTreeExpansionListener2 ...");
+ oObj.removeTreeExpansionListener(mTreeExpansionListener2);
+
+ tRes.tested("removeTreeExpansionListener()", bOK);
+
+ }
+
+ public void _getNodeForLocation(){
+
+ boolean bOK = false;
+
+
+ tRes.tested("getNodeForLocation()", bOK);
+
+ }
+
+ public void _getClosestNodeForLocation(){
+
+ boolean bOK = false;
+
+ log.println("try to get Node for location 100,100");
+ XTreeNode myNode = oObj.getClosestNodeForLocation(100,100);
+
+ bOK &= (myNode != null);
+
+ tRes.tested("getClosestNodeForLocation()", bOK);
+
+ }
+
+ public void _isEditing(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("isEditing()", bOK);
+
+ }
+
+ public void _stopEditing(){
+
+ boolean bOK = false;
+ log.println("not ready because of i78701");
+
+
+ tRes.tested("stopEditing()", bOK);
+
+ }
+
+ public void _cancelEditing(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("cancelEditing()", bOK);
+
+ }
+
+ public void _startEditingAtNode(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("startEditingAtNode()", bOK);
+
+ }
+
+ public void _addTreeEditListener(){
+
+ boolean bOK = true;
+
+ log.println("add EditListener 1....");
+ oObj.addTreeEditListener(mTreeEditListener1);
+
+ log.println("add EditListener 2....");
+ oObj.addTreeEditListener(mTreeEditListener2);
+
+ resetEditListener();
+
+ try {
+
+ oObj.startEditingAtNode(mXNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not start editing at node: " + ex.toString());
+ bOK = false;
+ }
+
+ log.println("not ready because of i78701");
+ bOK = false;
+
+
+ tRes.tested("addTreeEditListener()", bOK);
+
+ }
+
+ public void _removeTreeEditListener(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("removeTreeEditListener()", bOK);
+
+ }
+
+ public void _DefaultExpandedGraphicURL(){
+
+ boolean bOK = true;
+
+ String current = oObj.getDefaultExpandedGraphicURL();
+ log.println("current DefaultExpandedGraphicURL: " + current);
+
+ String changeUrl = null;
+
+ if (current.equals("private:graphicrepository/sd/res/triangle_right.png"))
+ changeUrl = "private:graphicrepository/sd/res/triangle_down.png";
+ else changeUrl = "private:graphicrepository/sd/res/triangle_right.png";
+
+ log.println("try to set '" + changeUrl + "' as new DefaultExpandedGraphicURL");
+
+ oObj.setDefaultExpandedGraphicURL(changeUrl);
+
+ String newUrl = oObj.getDefaultExpandedGraphicURL();
+
+ log.println("new DefaultExpandedGraphicURL: " + newUrl);
+
+ bOK &= ! newUrl.equals(current);
+
+ tRes.tested("DefaultExpandedGraphicURL()", bOK);
+
+ }
+
+ public void _DefaultCollapsedGraphicURL(){
+
+ boolean bOK = true;
+
+ String current = oObj.getDefaultCollapsedGraphicURL();
+ log.println("current DefaultCollapsedGraphicURL: " + current);
+
+ String changeUrl = null;
+
+ if (current.equals("private:graphicrepository/sd/res/triangle_right.png"))
+ changeUrl = "private:graphicrepository/sd/res/triangle_down.png";
+ else changeUrl = "private:graphicrepository/sd/res/triangle_right.png";
+
+ log.println("try to set '" + changeUrl + "' as new DefaultCollapsedGraphicURL");
+ oObj.setDefaultCollapsedGraphicURL(changeUrl);
+
+ String newUrl = oObj.getDefaultCollapsedGraphicURL();
+
+ log.println("new DefaultCollapsedGraphicURL: " + newUrl);
+
+ bOK &= ! newUrl.equals(current);
+
+ tRes.tested("DefaultCollapsedGraphicURL()", bOK);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java b/qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java
new file mode 100644
index 000000000000..c2a98b744bae
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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.awt.tree;
+
+import com.sun.star.awt.tree.TreeDataModelEvent;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.awt.tree.XTreeDataModel;
+import com.sun.star.awt.tree.XTreeDataModelListener;
+import com.sun.star.awt.tree.XTreeNode;
+import com.sun.star.lang.EventObject;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeDataModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createNode()</code></li>
+ * <li><code> setRoot()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeDataModel
+ */
+public class _XTreeDataModel extends MultiMethodTest {
+
+ public XTreeDataModel oObj = null;
+
+ private XMutableTreeNode mNewNode = null;
+
+ XTreeDataModelListener mListener1 = new myEventListener1();
+
+ XTreeDataModelListener mListener2 = new myEventListener2();
+
+ XTreeDataModelListenerEvent mListenerEvent = null;
+
+ boolean mTreeStructureChanged1 = false;
+
+ boolean mTreeStructureChanged2 = false;
+
+ public static interface XTreeDataModelListenerEvent{
+ public void fireEvent();
+ }
+
+ public class myEventListener1 implements XTreeDataModelListener{
+ public void treeNodesChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeNodesChanged");
+ }
+
+ public void treeNodesInserted(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeNodesInserted");
+ }
+
+ public void treeNodesRemoved(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeNodesRemoved");
+ }
+
+ public void treeStructureChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeStructureChanged");
+ mTreeStructureChanged1 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("Listener 1: disposing");
+ }
+ }
+
+ public class myEventListener2 implements XTreeDataModelListener{
+ public void treeNodesChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeNodesChanged");
+ }
+
+ public void treeNodesInserted(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeNodesInserted");
+ }
+
+ public void treeNodesRemoved(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeNodesRemoved");
+ }
+
+ public void treeStructureChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeStructureChanged");
+ mTreeStructureChanged2 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("Listener 2: disposing");
+ }
+
+ }
+
+ public void before(){
+ mListenerEvent = (XTreeDataModelListenerEvent) tEnv.getObjRelation("XTreeDataModelListenerEvent");
+ if (mListenerEvent == null) {
+ throw new StatusException(Status.failed("ERROR: could not get object relation 'XTreeDataModelListenerEvent'\n" +
+ "This object relation must be kind of 'ifc.awt.tree._XTreeDataModel.XTreeDataModelListenerEvent'"));
+ }
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _getRoot() {
+
+ boolean bOK = true;
+ XTreeNode root = oObj.getRoot();
+
+ tRes.tested("getRoot()", bOK);
+
+ }
+
+ public void _addTreeDataModelListener(){
+
+ boolean bOK = true;
+
+ log.println("add listener 1 to object...");
+ oObj.addTreeDataModelListener(mListener1);
+
+ log.println("add listener 2 to object...");
+ oObj.addTreeDataModelListener(mListener2);
+
+ mTreeStructureChanged1 = false;
+ mTreeStructureChanged2 = false;
+
+ mListenerEvent.fireEvent();
+
+ bOK = mTreeStructureChanged1 & mTreeStructureChanged2;
+
+ tRes.tested("addTreeDataModelListener()", bOK);
+ }
+
+ public void _removeTreeDataModelListener(){
+
+ boolean bOK = true;
+
+ log.println("remove listener 2 from object...");
+ oObj.removeTreeDataModelListener(mListener2);
+
+ mTreeStructureChanged1 = false;
+ mTreeStructureChanged2 = false;
+
+ mListenerEvent.fireEvent();
+
+ bOK = mTreeStructureChanged1 & ! mTreeStructureChanged2;
+
+ tRes.tested("removeTreeDataModelListener()", bOK);
+
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java b/qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java
new file mode 100644
index 000000000000..e1eba75eb497
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * 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.awt.tree;
+
+import com.sun.star.awt.tree.XTreeNode;
+import com.sun.star.uno.AnyConverter;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeDataModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getChildAt()</code></li>
+ * <li><code> getChildCount()</code></li>
+ * <li><code> getParent()</code></li>
+ * <li><code> getIndex()</code></li>
+ * <li><code> hasChildrenOnDemand()</code></li>
+ * <li><code> getDisplayValue()</code></li>
+ * <li><code> getNodeGraphicURL()</code></li>
+ * <li><code> getExpandedGraphicURL()</code></li>
+ * <li><code> getCollapsedGraphicURL()</code></li> * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeDataModel
+ */
+public class _XTreeNode extends MultiMethodTest {
+
+ public XTreeNode oObj = null;
+
+ private int mCount = 0;
+
+ String msDisplayValue = null;
+ String msExpandedGraphicURL = null;
+ String msCollapsedGraphicURL = null;
+ String msNodeGraphicURL = null;
+
+
+ public void before(){
+ msDisplayValue = (String) tEnv.getObjRelation("XTreeNode_DisplayValue");
+ if (msDisplayValue == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_DisplayVlaue'"));
+ }
+
+ msExpandedGraphicURL = (String) tEnv.getObjRelation("XTreeNode_ExpandedGraphicURL");
+ if (msExpandedGraphicURL == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_ExpandedGraphicURL'"));
+ }
+
+ msCollapsedGraphicURL = (String) tEnv.getObjRelation("XTreeNode_CollapsedGraphicURL");
+ if (msCollapsedGraphicURL == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_CollapsedGraphicURL'"));
+ }
+
+ msNodeGraphicURL = (String) tEnv.getObjRelation("XTreeNode_NodeGraphicURL");
+ if(msNodeGraphicURL == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_NodeGraphicURL'"));
+ }
+
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _getChildAt(){
+ this.requiredMethod("getChildCount()");
+ boolean bOK = true;
+
+ for (int i=0; i < mCount ; i++){
+ XTreeNode xNode = null;
+ try {
+ xNode = oObj.getChildAt(i);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: getChildAt(" + i + "): " + ex.toString());
+ }
+ if (xNode == null){
+ log.println("ERROR: getChildAt(" + i + ") returns null => FAILED");
+ bOK = false;
+ }
+ }
+
+ tRes.tested("getChildAt()", bOK);
+ }
+
+
+ public void _getChildCount(){
+
+ boolean bOK = true;
+ mCount = oObj.getChildCount();
+ log.println("got count '" + mCount + "' of children");
+ if (mCount < 1 ) {
+ log.println("ERROR: got a count < 1. The test object must be support morw then zero children => FAILED");
+ bOK = false;
+ }
+ tRes.tested("getChildCount()", bOK);
+ }
+
+
+ public void _getParent(){
+ this.requiredMethod("getChildAt()");
+
+ boolean bOK = true;
+ XTreeNode xNode = null;
+ try {
+ log.println("try to getChildAt(0)");
+ xNode = oObj.getChildAt(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: getChildAt(0): " + ex.toString());
+ }
+
+ log.println("try to get parrent of children");
+ XTreeNode xParrent = xNode.getParent();
+
+
+ bOK = oObj.equals(xParrent);
+ log.println("original object and parrent should be the same: " + bOK);
+ tRes.tested("getParent()", bOK);
+ }
+
+
+ public void _getIndex(){
+ this.requiredMethod("getChildAt()");
+
+ boolean bOK = true;
+ XTreeNode xNode = null;
+ try {
+ log.println("try to getChildAt(0)");
+ xNode = oObj.getChildAt(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: getChildAt(0): " + ex.toString());
+ }
+
+ log.println("try to get index from child...");
+ int index = oObj.getIndex(xNode);
+
+ if (index != 0){
+ log.println("ERROR: getIndex() does not return '0' => FAILED");
+ bOK = false;
+ }
+
+ tRes.tested("getIndex()", bOK);
+ }
+
+
+ public void _hasChildrenOnDemand(){
+
+ boolean bOK = true;
+
+ bOK = oObj.hasChildrenOnDemand();
+ tRes.tested("hasChildrenOnDemand()", bOK);
+ }
+
+
+ public void _getDisplayValue(){
+
+ boolean bOK = true;
+ String DisplayValue = null;
+ Object dispVal = oObj.getDisplayValue();
+
+ try {
+ DisplayValue = AnyConverter.toString(dispVal);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not convert the returned object of 'getDisplyValue()' " +
+ "to String with AnyConverter: " + ex.toString());
+ }
+
+ if ( ! this.msDisplayValue.equals(DisplayValue)){
+ log.println("ERROR: getNodeGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msDisplayValue +"\n" +
+ "\tGot: " + DisplayValue);
+ bOK = false;
+ }
+
+ tRes.tested("getDisplayValue()", bOK);
+ }
+
+
+ public void _getNodeGraphicURL(){
+
+ boolean bOK = true;
+ String graphicURL = oObj.getNodeGraphicURL();
+
+ if ( ! this.msNodeGraphicURL.equals(graphicURL)){
+ log.println("ERROR: getNodeGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msNodeGraphicURL +"\n" +
+ "\tGot: " + graphicURL);
+ bOK = false;
+ }
+ tRes.tested("getNodeGraphicURL()", bOK);
+ }
+
+
+ public void _getExpandedGraphicURL(){
+
+ boolean bOK = true;
+ String ExpandedGraphicURL = oObj.getExpandedGraphicURL();
+
+ if ( ! this.msExpandedGraphicURL.equals(ExpandedGraphicURL)){
+ log.println("ERROR: getExpandedGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msExpandedGraphicURL +"\n" +
+ "\tGot: " + ExpandedGraphicURL);
+ bOK = false;
+ }
+
+ tRes.tested("getExpandedGraphicURL()", bOK);
+ }
+
+
+ public void _getCollapsedGraphicURL(){
+
+ boolean bOK = true;
+
+ String CollapsedGraphicURL = oObj.getCollapsedGraphicURL();
+
+ if ( ! this.msCollapsedGraphicURL.equals(CollapsedGraphicURL)){
+ log.println("ERROR: getExpandedGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msCollapsedGraphicURL +"\n" +
+ "\tGot: " + CollapsedGraphicURL);
+ bOK = false;
+ }
+
+ tRes.tested("getCollapsedGraphicURL()", bOK);
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/beans/_XExactName.java b/qadevOOo/tests/java/ifc/beans/_XExactName.java
new file mode 100644
index 000000000000..805510ca93e0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XExactName.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XExactName;
+
+
+public class _XExactName extends MultiMethodTest {
+ protected String expectedName = "";
+ public XExactName oObj = null;
+
+ public void _getExactName() {
+ String nameFor = expectedName.toLowerCase();
+
+ log.println("Getting exact name for " + nameFor);
+
+ String getting = oObj.getExactName(nameFor);
+
+ boolean res = true;
+
+ if (getting == null) {
+ res = false;
+ } else {
+ res = getting.equals(expectedName);
+ }
+
+ if (!res) {
+ log.println("didn't get the expected Name:");
+ log.println("getting: " + getting);
+ log.println("Expected: " + expectedName);
+ }
+
+ nameFor = expectedName.toUpperCase();
+
+ log.println("Getting exact name for " + nameFor);
+ getting = oObj.getExactName(nameFor);
+
+ if (getting == null) {
+ res = false;
+ } else {
+ res &= getting.equals(expectedName);
+ }
+
+ if (!getting.equals(expectedName)) {
+ log.println("didn't get the expected Name:");
+ log.println("getting: " + getting);
+ log.println("Expected: " + expectedName);
+ }
+
+ tRes.tested("getExactName()", res);
+ }
+
+ /**
+ * Checking if the Object relation expectedName is given
+ * throw a StatusException if not.
+ */
+ protected void before() {
+ expectedName = (String) tEnv.getObjRelation("expectedName");
+
+ if (expectedName == null) {
+ throw new StatusException(Status.failed(
+ "Object relation expectedName is missing"));
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java
new file mode 100644
index 000000000000..d4d29cfb4354
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java
@@ -0,0 +1,235 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import java.util.Random;
+import java.util.Set;
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.ValueChanger;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XFastPropertySet;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.beans.XFastPropertySet</code>
+* interface methods :
+* <ul>
+* <li><code> setFastPropertyValue()</code></li>
+* <li><code> getFastPropertyValue()</code></li>
+* </ul> <p>
+* Required relations :
+* <ul>
+* <li> <code>'XFastPropertySet.ExcludeProps'</code>
+* <b>(optional) </b> : java.util.Set.
+* Has property names which must be skipped from testing in
+* some reasons (for example property accepts restricted set
+* of values).
+* </li>
+* <ul> <p>
+* @see com.sun.star.beans.XFastPropertySet
+*/
+public class _XFastPropertySet extends MultiMethodTest {
+
+ public XFastPropertySet oObj = null;
+ private Vector handles = new Vector();
+ private int handle = -1;
+ private Set exclude = null ;
+
+ /**
+ * Retrieves relation.
+ */
+ protected void before() {
+ exclude = (Set) tEnv.getObjRelation("XFastPropertySet.ExcludeProps") ;
+ if (exclude == null) {
+ exclude = new java.util.HashSet() ;
+ }
+ }
+
+ /**
+ * Test selects random property which can not be VOID and
+ * is writable, then change property value using <code>
+ * get/set</code> methods, and checks if value properly changed.
+ * Has <b> OK </b> status if value after change is not equal to value
+ * before and no exceptions were thrown. <p>
+ */
+ public void _setFastPropertyValue() {
+ XPropertySet PS = (XPropertySet)UnoRuntime.queryInterface
+ (XPropertySet.class, oObj);
+ XPropertySetInfo propertySetInfo = PS.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ tRes.tested("setFastPropertyValue()", false) ;
+ }
+ getPropsToTest(propertySetInfo);
+
+ Object gValue = null;
+ Object sValue = null;
+
+ if ( handle == -1) {
+ log.println("*** No changeable properties found ***");
+ tRes.tested("setFastPropertyValue()", false) ;
+ } else {
+ try {
+ gValue = oObj.getFastPropertyValue(handle);
+ sValue = ValueChanger.changePValue(gValue);
+ oObj.setFastPropertyValue(handle, sValue);
+ sValue = oObj.getFastPropertyValue(handle);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to change property with handle = " + handle);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to change property with handle = " + handle);
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while trying to change property with handle = " + handle);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while trying to change property with handle = " + handle);
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("setFastPropertyValue()",(!gValue.equals(sValue)));
+ }
+ }
+
+ /**
+ * Test selects random property which can not be VOID and
+ * is writable, then calls the method and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if exceptions were thrown. <p>
+ */
+ public void _getFastPropertyValue() {
+ XPropertySet PS = (XPropertySet)UnoRuntime.queryInterface
+ (XPropertySet.class, oObj);
+ XPropertySetInfo propertySetInfo = PS.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ tRes.tested("getFastPropertyValue()", false) ;
+ }
+
+ getPropsToTest(propertySetInfo);
+
+ try {
+ oObj.getFastPropertyValue(handle);
+ tRes.tested("getFastPropertyValue()",true);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to get property '"
+ + handle +"'");
+ e.printStackTrace(log);
+ tRes.tested("getFastPropertyValue()",false);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to get property '"
+ + handle +"'");
+ e.printStackTrace(log);
+ tRes.tested("getFastPropertyValue()",false);
+ }
+ return;
+ }
+
+
+ //Get the properties being tested
+ private void getPropsToTest(XPropertySetInfo xPSI) {
+
+ Property[] properties = xPSI.getProperties();
+
+ for (int i = 0; i < properties.length; i++) {
+ if (exclude.contains(properties[i].Name)) continue ;
+ Property property = properties[i];
+ String name = property.Name;
+ int handle = property.Handle;
+ log.println("Checking '" + name + "' with handle = " + handle);
+ boolean isWritable =
+ ((property.Attributes & PropertyAttribute.READONLY) == 0);
+ boolean isNotNull =
+ ((property.Attributes & PropertyAttribute.MAYBEVOID) == 0);
+ boolean canChange = false;
+ if ( isWritable && isNotNull )
+ canChange = isChangeable(handle);
+ if ( isWritable && isNotNull && canChange)
+ handles.add(new Integer(handle));
+ } // endfor
+
+ Random rnd = new Random();
+ int nr = rnd.nextInt(handles.size());
+ handle = ((Integer)handles.elementAt(nr)).intValue();
+ }
+
+ private boolean isChangeable(int handle) {
+ boolean hasChanged = false;
+ try {
+ Object getProp = oObj.getFastPropertyValue(handle);
+ Object setValue = null;
+
+ if (getProp != null)
+ setValue = ValueChanger.changePValue(getProp);
+ else
+ log.println("Property with handle = " + handle
+ + " is null but 'MAYBEVOID' isn't set");
+ if (setValue != null) {
+ oObj.setFastPropertyValue(handle, setValue);
+ hasChanged =
+ (!getProp.equals(oObj.getFastPropertyValue(handle)));
+ }
+ else
+ log.println("Couldn't change Property with handle " + handle);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ }
+
+ return hasChanged;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java
new file mode 100644
index 000000000000..43cd9bffb43a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueChanger;
+import util.ValueComparer;
+
+import com.sun.star.beans.XHierarchicalPropertySet;
+import com.sun.star.beans.XHierarchicalPropertySetInfo;
+
+
+public class _XHierarchicalPropertySet extends MultiMethodTest {
+ public XHierarchicalPropertySet oObj;
+
+ public void _getHierarchicalPropertySetInfo() {
+ XHierarchicalPropertySetInfo hpsi = oObj.getHierarchicalPropertySetInfo();
+ boolean res = true;
+
+ if (hpsi != null) {
+ res = checkHPSI(hpsi);
+ } else {
+ log.println(
+ "The component doesn't provide HierarchicalPropertySetInfo");
+ tRes.tested("getHierarchicalPropertySetInfo()",
+ Status.skipped(true));
+
+ return;
+ }
+
+ tRes.tested("getHierarchicalPropertySetInfo()", res);
+ }
+
+ public void _getHierarchicalPropertyValue() {
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+ String[] pTypes = (String[]) tEnv.getObjRelation("PropertyTypes");
+ boolean res = true;
+
+ for (int i = 0; i < pNames.length; i++) {
+ try {
+ log.print("Property " + pNames[i]);
+
+ Object getting = oObj.getHierarchicalPropertyValue(pNames[i]);
+ log.println(" has Value " + getting.toString());
+ res &= checkType(pNames[i], pTypes[i], getting);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(" is unknown");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(" is illegal");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(" throws expeption " + e.getMessage());
+ }
+ }
+
+ tRes.tested("getHierarchicalPropertyValue()", res);
+ }
+
+ public void _setHierarchicalPropertyValue() {
+ String ro = (String) tEnv.getObjRelation("allReadOnly");
+
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setHierarchicalPropertyValue()", Status.skipped(true));
+
+ return;
+ }
+
+ boolean res = true;
+
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+
+ for (int k = 0; k < pNames.length; k++) {
+ try {
+ Object oldValue = oObj.getHierarchicalPropertyValue(pNames[k]);
+ Object newValue = ValueChanger.changePValue(oldValue);
+ oObj.setHierarchicalPropertyValue(pNames[k], newValue);
+
+ Object getValue = oObj.getHierarchicalPropertyValue(pNames[k]);
+ boolean localRes = ValueComparer.equalValue(getValue, newValue);
+
+ if (!localRes) {
+ log.println("Expected " + newValue.toString());
+ log.println("Gained " + getValue.toString());
+ }
+
+
+ //reset Value
+ oObj.setHierarchicalPropertyValue(pNames[k], oldValue);
+
+ res &= localRes;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Property is unknown");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("IllegalArgument "+e.getMessage());
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("VetoException "+e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("WrappedTarget "+e.getMessage());
+ }
+
+ }
+
+ tRes.tested("setHierarchicalPropertyValue()", res);
+ }
+
+ protected boolean checkHPSI(XHierarchicalPropertySetInfo hpsi) {
+ log.println("Checking the resulting HierarchicalPropertySetInfo");
+ log.println("### NOT yet implemented");
+
+ return true;
+ }
+
+ protected boolean checkType(String name, String type, Object value) {
+ boolean result = true;
+
+ if (type.equals("Boolean")) {
+ result = (value instanceof Boolean);
+
+ if (!result) {
+ log.println("Wrong Type for property " + name);
+ log.println("Expected " + type);
+ log.println("getting " + value.getClass());
+ }
+ } else if (type.equals("Short")) {
+ result = (value instanceof Short);
+
+ if (!result) {
+ log.println("Wrong Type for property " + name);
+ log.println("Expected " + type);
+ log.println("getting " + value.getClass());
+ }
+ }
+
+ return result;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/beans/_XIntrospection.java b/qadevOOo/tests/java/ifc/beans/_XIntrospection.java
new file mode 100644
index 000000000000..0ba091c50309
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XIntrospection.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XIntrospection;
+import com.sun.star.beans.XIntrospectionAccess;
+
+/**
+* Testing <code>com.sun.star.beans.XIntrospection</code>
+* interface methods :
+* <ul>
+* <li><code> inspect() </code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.beans.XIntrospection
+*/
+public class _XIntrospection extends MultiMethodTest {
+
+ public XIntrospection oObj = null;
+
+ /**
+ * Test inspects the object tested, and checks if it
+ * has a base <code>XInterface</code> method
+ * <code>acquire</code>.
+ */
+ public void _inspect() {
+ boolean result = true;
+ XIntrospectionAccess xIA = oObj.inspect(oObj);
+ result = (xIA.hasMethod("acquire",1));
+ tRes.tested("inspect()",result);
+ }
+
+} // finish class _XIntrospection
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java
new file mode 100644
index 000000000000..b9348befa147
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueChanger;
+import util.ValueComparer;
+
+import com.sun.star.beans.XHierarchicalPropertySetInfo;
+import com.sun.star.beans.XMultiHierarchicalPropertySet;
+
+
+public class _XMultiHierarchicalPropertySet extends MultiMethodTest {
+ public XMultiHierarchicalPropertySet oObj;
+
+ public void _getHierarchicalPropertySetInfo() {
+ XHierarchicalPropertySetInfo hpsi = oObj.getHierarchicalPropertySetInfo();
+ boolean res = true;
+
+ if (hpsi != null) {
+ res = checkHPSI(hpsi);
+ } else {
+ log.println(
+ "The component doesn't provide HierarchicalPropertySetInfo");
+ tRes.tested("getHierarchicalPropertySetInfo()",
+ Status.skipped(true));
+
+ return;
+ }
+
+ tRes.tested("getMultiHierarchicalPropertySetInfo()", res);
+ }
+
+ public void _getHierarchicalPropertyValues() {
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+ String[] pTypes = (String[]) tEnv.getObjRelation("PropertyTypes");
+ boolean res = true;
+
+ try {
+ Object[] getting = oObj.getHierarchicalPropertyValues(pNames);
+ res &= checkType(pNames, pTypes, getting);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception " + e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e.getMessage());
+ }
+
+ tRes.tested("getHierarchicalPropertyValues()", res);
+ }
+
+ public void _setHierarchicalPropertyValues() {
+ String ro = (String) tEnv.getObjRelation("allReadOnly");
+
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setHierarchicalPropertyValues()",
+ Status.skipped(true));
+
+ return;
+ }
+
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+ boolean res = true;
+
+ try {
+ Object[] oldValues = oObj.getHierarchicalPropertyValues(pNames);
+ Object[] newValues = new Object[oldValues.length];
+
+ for (int k = 0; k < oldValues.length; k++) {
+ newValues[k] = ValueChanger.changePValue(oldValues[k]);
+ }
+
+ oObj.setHierarchicalPropertyValues(pNames, newValues);
+
+ Object[] getValues = oObj.getHierarchicalPropertyValues(pNames);
+
+ for (int k = 0; k < pNames.length; k++) {
+ boolean localRes = ValueComparer.equalValue(getValues[k],
+ newValues[k]);
+
+ if (!localRes) {
+ log.println("didn't work for " + pNames[k]);
+ log.println("Expected " + newValues[k].toString());
+ log.println("Getting " + getValues[k].toString());
+ }
+ //reset properties
+ oObj.setHierarchicalPropertyValues(pNames, oldValues);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("IllegalArgument " + e.getMessage());
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("VetoException " + e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("WrappedTarget " + e.getMessage());
+ }
+
+ tRes.tested("setHierarchicalPropertyValues()", res);
+ }
+
+ protected boolean checkHPSI(XHierarchicalPropertySetInfo hpsi) {
+ log.println("Checking the resulting HierarchicalPropertySetInfo");
+ log.println("### NOT yet implemented");
+
+ return true;
+ }
+
+ protected boolean checkType(String[] name, String[] type, Object[] value) {
+ boolean result = true;
+
+ for (int k = 0; k < name.length; k++) {
+ if (type[k].equals("Boolean")) {
+ result &= (value[k] instanceof Boolean);
+
+ if (!(value[k] instanceof Boolean)) {
+ log.println("Wrong Type for property " + name[k]);
+ log.println("Expected " + type[k]);
+ log.println("getting " + value[k].getClass());
+ }
+ } else if (type[k].equals("Short")) {
+ result &= (value[k] instanceof Short);
+
+ if (!(value[k] instanceof Short)) {
+ log.println("Wrong Type for property " + name[k]);
+ log.println("Expected " + type[k]);
+ log.println("getting " + value[k].getClass());
+ }
+ }
+ }
+
+ return result;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java
new file mode 100644
index 000000000000..27948c941f9b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java
@@ -0,0 +1,378 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import java.io.PrintWriter;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueChanger;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyChangeEvent;
+import com.sun.star.beans.XMultiPropertySet;
+import com.sun.star.beans.XPropertiesChangeListener;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.lang.EventObject;
+
+
+/**
+* Testing <code>com.sun.star.beans.XMultiPropertySet</code>
+* interface methods :
+* <ul>
+* <li><code> getPropertySetInfo()</code></li>
+* <li><code> setPropertyValues()</code></li>
+* <li><code> getPropertyValues()</code></li>
+* <li><code> addPropertiesChangeListener()</code></li>
+* <li><code> removePropertiesChangeListener()</code></li>
+* <li><code> firePropertiesChangeEvent()</code></li>
+* </ul> <p>
+*
+* Required relations :
+* <ul>
+* <li> <code>'XMultiPropertySet.ExcludeProps'</code>
+* <b>(optional) </b> : java.util.Set.
+* Has property names which must be skipped from testing in
+* some reasons (for example property accepts restricted set
+* of values).
+* </li>
+* <ul> <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.beans.XMultiPropertySet
+*/
+public class _XMultiPropertySet extends MultiMethodTest {
+
+ public XMultiPropertySet oObj = null;
+
+ private boolean propertiesChanged = false;
+ private XPropertySetInfo propertySetInfo = null;
+ private String [] testPropsNames = null;
+ private int testPropsAmount = 0;
+ private PrintWriter _log = null;
+
+ private Object[] values = null;
+
+ private Set exclProps = null;
+
+ /**
+ * Initializes some fields.
+ */
+ public void before() {
+ _log = log;
+
+ exclProps = (Set) tEnv.getObjRelation("XMultiPropertySet.ExcludeProps");
+ if (exclProps == null) exclProps = new HashSet(0);
+ }
+
+ /**
+ * Listener implementation which sets a flag when
+ * listener was called.
+ */
+ public class MyChangeListener implements XPropertiesChangeListener {
+ public void propertiesChange(PropertyChangeEvent[] e) {
+ //_log.println("Listener was called");
+ propertiesChanged = true;
+ }
+ public void disposing (EventObject obj) {}
+ };
+
+ private XPropertiesChangeListener PClistener =
+ new MyChangeListener();
+
+ /**
+ * Test calls the method and checks return value.
+ * <code>PropertySetInfo</code> object is stored<p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertySetInfo() {
+ boolean bResult = true;
+ propertySetInfo = oObj.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ bResult = false;
+ }
+
+ tRes.tested("getPropertySetInfo()", bResult) ;
+ }
+
+
+ /**
+ * Test collects all property names and retrieves their values,
+ * then checks the value returned. Finally it also collects
+ * bound properties for other methods tests.<p>
+ * Has <b> OK </b> status if the method returns non null value
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPropertySetInfo() </code> : to have a list
+ * of properties.</li>
+ * </ul>
+ */
+ public void _getPropertyValues() {
+ requiredMethod("getPropertySetInfo()");
+ boolean bResult = true;
+
+ Property[] properties = propertySetInfo.getProperties();
+ String[] allnames = new String[properties.length];
+ for (int i = 0; i < properties.length; i++) {
+ allnames[i] = properties[i].Name;
+ }
+
+ values = oObj.getPropertyValues(allnames);
+
+ bResult &= values!=null;
+ tRes.tested("getPropertyValues()", bResult) ;
+
+ getPropsToTest(properties);
+ }
+
+ /**
+ * Test adds listener for all bound properties then each property
+ * is changed and listener call . <p>
+ * Has <b> OK </b> status if on each property change the listener was
+ * called and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPropertyValues() </code> : to collect bound
+ * properties.</li>
+ * </ul>
+ */
+ public void _addPropertiesChangeListener() {
+
+ requiredMethod("getPropertyValues()");
+
+ boolean result = true ;
+ // Creating listener
+ oObj.addPropertiesChangeListener(testPropsNames, PClistener);
+
+ if ((testPropsAmount==1) && (testPropsNames[0].equals("none"))) {
+ testPropsAmount = 0;
+ }
+
+
+ // Change one of the property to be sure, that this event was cauched.
+ //Random rnd = new Random();
+ //int idx = rnd.nextInt(testPropsAmount);
+ for (int i=0; i<testPropsAmount;i++) {
+ log.print("Trying to change property " + testPropsNames[i]);
+ try {
+ Object[] gValues = oObj.getPropertyValues(testPropsNames);
+ Object newValue = ValueChanger.changePValue(gValues[i]);
+ gValues[i] = newValue;
+ propertiesChanged = false;
+ oObj.setPropertyValues(testPropsNames, gValues);
+ waitAMoment() ;
+ result &= propertiesChanged ;
+ log.println(" ... done");
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+testPropsNames[i] + "' :" + e);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+testPropsNames[i] + "' :" + e);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+testPropsNames[i] + "' :" + e);
+ e.printStackTrace(log);
+ } // end of try-catch
+ }
+ if (testPropsAmount == 0) {
+ log.println("all properties are read only");
+ tRes.tested("addPropertiesChangeListener()", Status.skipped(true));
+ } else {
+ tRes.tested("addPropertiesChangeListener()", propertiesChanged);
+ }
+ }
+
+ /**
+ * Calls method and check if listener was called. <p>
+ * Has <b> OK </b> status if the listener was
+ * called and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addPropertiesChangeListener() </code> : listener to
+ * be added.</li>
+ * </ul>
+ */
+ public void _firePropertiesChangeEvent() {
+ requiredMethod("addPropertiesChangeListener()");
+ propertiesChanged = false ;
+
+ oObj.firePropertiesChangeEvent(testPropsNames, PClistener);
+ waitAMoment() ;
+
+ tRes.tested("firePropertiesChangeEvent()", propertiesChanged);
+ }
+
+
+ /**
+ * Removes listener added before. <p>
+ * Has <b> OK </b> status no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addPropertiesChangeListener() </code> : listener to
+ * be added.</li>
+ * </ul>
+ */
+ public void _removePropertiesChangeListener() {
+ requiredMethod("firePropertiesChangeEvent()");
+ boolean bResult = true;
+
+ oObj.removePropertiesChangeListener(PClistener);
+
+ tRes.tested("removePropertiesChangeListener()", bResult);
+ }
+
+
+ /**
+ * Changes all properties, then set them to new values, get them
+ * and checks if their values were changed properly. <p>
+ * Has <b> OK </b> status if all properties properly changed
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPropertyValues() </code> : to collect bound
+ * properties.</li>
+ * </ul>
+ */
+ public void _setPropertyValues() {
+ requiredMethod("getPropertyValues()");
+ boolean bResult = true;
+
+ if ((testPropsNames.length==1)&&(testPropsNames[0].equals("none"))) {
+ log.println("all properties are readOnly");
+ tRes.tested("setPropertyValues()",Status.skipped(true));
+ return;
+ }
+
+ log.println("Changing all properties");
+ Object[] gValues = oObj.getPropertyValues(testPropsNames);
+ for (int i=0; i<testPropsAmount;i++) {
+ Object oldValue = gValues[i];
+ Object newValue = ValueChanger.changePValue(oldValue);
+ gValues[i] = newValue;
+ }
+
+ try {
+ oObj.setPropertyValues(testPropsNames, gValues);
+ Object[] newValues = oObj.getPropertyValues(testPropsNames);
+ for (int i=0; i<testPropsAmount;i++) {
+ if (newValues[i].equals(gValues[i])) {
+ bResult = true;
+ }
+ }
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while setting properties");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while setting properties");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while setting properties");
+ e.printStackTrace(log);
+ bResult = false;
+ } // end of try-catch
+
+ tRes.tested("setPropertyValues()", bResult);
+ }
+
+ //Get the properties being tested
+ private void getPropsToTest(Property[] properties) {
+
+ String bound = "";
+
+ for (int i = 0; i < properties.length; i++) {
+
+ Property property = properties[i];
+ String name = property.Name;
+ boolean isWritable = ((property.Attributes &
+ PropertyAttribute.READONLY) == 0);
+ boolean isNotNull = ((property.Attributes &
+ PropertyAttribute.MAYBEVOID) == 0);
+ boolean isBound = ((property.Attributes &
+ PropertyAttribute.BOUND) != 0);
+ boolean isExcluded = exclProps.contains(name);
+
+ //exclude UserDefined, because we can't change XNameContainer
+ if (name.indexOf("UserDefined")>0 || name.indexOf("Device")>0) {
+ isWritable=false;
+ }
+
+ values = oObj.getPropertyValues(new String[]{property.Name});
+
+ boolean isVoid = util.utils.isVoid(values[0]);
+
+ if ( isWritable && isNotNull && isBound && !isExcluded && !isVoid) {
+ bound+=name+";";
+ }
+
+ } // endfor
+
+ //get a array of bound properties
+ if (bound.equals("")) bound = "none";
+ StringTokenizer ST=new StringTokenizer(bound,";");
+ int nr = ST.countTokens();
+ testPropsNames = new String[nr];
+ for (int i=0; i<nr; i++) testPropsNames[i] = ST.nextToken();
+ testPropsAmount = nr;
+ return;
+
+ }
+
+ /**
+ * Waits some time for listener to be called.
+ */
+ private void waitAMoment() {
+ try {
+ Thread.sleep(200) ;
+ } catch (java.lang.InterruptedException e) {
+ log.println("!!! Exception while waiting !!!") ;
+ }
+ }
+
+ /*
+ * Does nothing.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java b/qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java
new file mode 100644
index 000000000000..552a012f1161
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java
@@ -0,0 +1,235 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.XMultiPropertyStates;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.beans.XMultiPropertyStates</code>
+* interface methods :
+* <ul>
+* <li><code> getPropertyStates()</code></li>
+* <li><code> setAllPropertiesToDefault()</code></li>
+* <li><code> getPropertyValues()</code></li>
+* <li><code> setPropertiesToDefault()</code></li>
+* <li><code> getPropertyDefaults()</code></li>
+* </ul>
+* @see com.sun.star.beans.XMultiPropertyStates
+*/
+public class _XMultiPropertyStates extends MultiMethodTest {
+
+ public XMultiPropertyStates oObj = null;
+
+ private PropertyState[] states = null;
+ private String[] names = null;
+
+ public void before() {
+ names = (String[]) tEnv.getObjRelation("PropertyNames");
+ if (names == null) {
+ throw new StatusException(Status.failed("No PropertyNames given"));
+ }
+
+ log.println("Totally " + names.length + " properties encountered:");
+ log.print("{");
+ for (int i = 0; i < names.length; i++)
+ log.print(names[i] + " ");
+ log.print("}");
+ log.println("");
+ }
+
+
+ /**
+ * Test calls the method and checks return value.
+ * <code>PropertyDefaults</code> are stored<p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertyDefaults() {
+ boolean result = false;
+ try {
+ Object[] defaults = oObj.getPropertyDefaults(names);
+ result = (defaults != null) && defaults.length == names.length;
+ log.println("Number of default values: " + defaults.length);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Wrapped target Exception was thrown: " + e.toString());
+ }
+ tRes.tested("getPropertyDefaults()", result) ;
+ }
+
+ /**
+ * Test calls the method and checks return value.
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertyStates() {
+ boolean result = false;
+ try {
+ states = oObj.getPropertyStates(names);
+ result = (states != null) && (states.length == names.length);
+ log.println("Number of states: " + states.length);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ }
+ tRes.tested("getPropertyStates()", result) ;
+ }
+
+ /**
+ * Test calls the method and checks return value.
+ * Has <b> OK </b> status if the Property
+ * has default state afterwards. <p>
+ */
+ public void _setPropertiesToDefault() {
+ requiredMethod("getPropertyStates()");
+ // searching for property which currently don't have default value
+ // and preferable has MAYBEDEFAULT attr
+ // if no such properties are found then the first one is selected
+
+ String ro = (String) tEnv.getObjRelation("allReadOnly");
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setPropertiesToDefault()",Status.skipped(true));
+ return;
+ }
+
+ boolean mayBeDef = false;
+ String propName = names[0];
+
+ for(int i = 0; i < names.length; i++) {
+ if (!mayBeDef && states[i] != PropertyState.DEFAULT_VALUE ) {
+ propName = names[i];
+ XPropertySet xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ XPropertySetInfo xPropSetInfo = xPropSet.getPropertySetInfo();
+ Property prop = null;
+ try {
+ prop = xPropSetInfo.getPropertyByName(names[i]);
+ }
+ catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("couldn't get property info: " + e.toString());
+ throw new StatusException(Status.failed
+ ("couldn't get property info"));
+ }
+ if ( (prop.Attributes & PropertyAttribute.MAYBEDEFAULT) != 0){
+ log.println("Property " + names[i] +
+ " 'may be default' and doesn't have default value");
+ mayBeDef = true;
+ }
+ }
+ }
+ log.println("The property " + propName + " selected");
+
+ boolean result = false;
+ try {
+ String[] the_first = new String[1];
+ the_first[0] = propName;
+ log.println("Setting " + propName + " to default");
+ oObj.setPropertiesToDefault(the_first);
+ result = (oObj.getPropertyStates(the_first)[0].equals
+ (PropertyState.DEFAULT_VALUE));
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ }
+
+ if (!result) {
+ log.println("The property didn't change its state to default ...");
+ if (mayBeDef) {
+ log.println(" ... and it may be default - FAILED");
+ } else {
+ log.println(" ... but it may not be default - OK");
+ result = true;
+ }
+ }
+
+ tRes.tested("setPropertiesToDefault()", result) ;
+ }
+
+ /**
+ * Test calls the method and checks return value.
+ * Has <b> OK </b> status if the all Properties
+ * have default state afterwards. <p>
+ */
+ public void _setAllPropertiesToDefault() {
+ requiredMethod("setPropertiesToDefault()");
+ boolean result = true;
+
+ try {
+ oObj.setAllPropertiesToDefault();
+ } catch(RuntimeException e) {
+ log.println("Ignore Runtime Exception: " + e.getMessage());
+ }
+ log.println("Checking that all properties are now in DEFAULT state" +
+ " excepting may be those which 'cann't be default'");
+
+ try {
+ states = oObj.getPropertyStates(names);
+ for (int i = 0; i < states.length; i++) {
+ boolean part_result = states[i].equals
+ (PropertyState.DEFAULT_VALUE);
+ if (!part_result) {
+ log.println("Property '" + names[i] +
+ "' wasn't set to default");
+ XPropertySet xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ XPropertySetInfo xPropSetInfo =
+ xPropSet.getPropertySetInfo();
+ Property prop = xPropSetInfo.getPropertyByName(names[i]);
+ if ( (prop.Attributes &
+ PropertyAttribute.MAYBEDEFAULT) != 0 ) {
+ log.println(" ... and it has MAYBEDEFAULT "+
+ "attribute - FAILED");
+ } else {
+ log.println(" ... but it has no MAYBEDEFAULT "+
+ "attribute - OK");
+ part_result = true;
+ }
+ }
+
+ result &= part_result;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ result=false;
+ }
+
+ tRes.tested("setAllPropertiesToDefault()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XProperty.java b/qadevOOo/tests/java/ifc/beans/_XProperty.java
new file mode 100644
index 000000000000..a37a6c705b6e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XProperty.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XProperty;
+
+
+public class _XProperty extends MultiMethodTest {
+ public XProperty oObj;
+
+ public void _getAsProperty() {
+ Property prop = oObj.getAsProperty();
+ boolean res = (prop.Name instanceof String);
+ res &= (prop.Type != null);
+ tRes.tested("getAsProperty()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java b/qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java
new file mode 100644
index 000000000000..37b835431b8d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java
@@ -0,0 +1,236 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.lang.WrappedTargetException;
+import lib.MultiMethodTest;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertyAccess;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.beans.XPropertyAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code>getPropertyValues()</code></li>
+ * <li><code>setPropertyValues()</code></li>
+ * </ul>
+ * @see com.sun.star.beans.XPropertyAccess
+ */
+public class _XPropertyAccess extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XPropertyAccess oObj = null;// oObj filled by MultiMethodTest
+
+ /**
+ * object relation X<CODE>PropertyAccess.propertyToChange</CODE><br>
+ * This relation must be filled from the module. It contains a property which must
+ * be kind of String property, available at <CODE>getPropertyValues()</CODE> and changeable by
+ * <CODE>setPropertyValues()</CODE>
+ */
+ public PropertyValue propertyToChange = null;
+
+ /**
+ * checks if the object relation <CODE>XPropertyAccess.propertyToChange</CODE>
+ * is available
+ */
+ public void before() {
+ propertyToChange = (PropertyValue) tEnv.getObjRelation("XPropertyAccess.propertyToChange");
+ if (propertyToChange == null) {
+ throw new StatusException(Status.failed("Object raltion 'XPropertyAccess.propertyToChange' is null"));
+ }
+ }
+
+ /**
+ * Test calls the method and checks if the returned sequenze contanis a propterty which is named
+ * in the object relation <code>XPropertyAccess.propertyToChange</code>.
+ */
+ public void _getPropertyValues() {
+ PropertyValue[] properties = oObj.getPropertyValues();
+
+ boolean ok = true;
+
+ if (properties != null){
+
+ boolean found = false;
+ for (int i=0; i < properties.length; i++){
+ if (properties[i].Name.equals(propertyToChange.Name)) found = true;
+ }
+ if (! found){
+ log.println("ERROR: could not find desired property '"+ propertyToChange.Name+"'");
+ ok=false;
+ }
+
+ } else {
+ log.println("ERROR: the method returned NULL");
+ ok =false;
+ }
+
+ tRes.tested("getPropertyValues()", ok );
+ return;
+ }
+
+ /**
+ * Test calls the method and checks if:
+ * <ul>
+ * <li>the property given by the object relation
+ * <CODE>XPropertyAccess.propertyToChange</CODE> has changed</LI>
+ * <li><CODE>com.sun.star.lang.IllegalArgumentException</CODE> was thrown if a <CODE>Integer</CODE>
+ * value was set to a <CODE>String</CODE> property</LI>
+ * <li><CODE>com.sun.star.beans.UnknownPropertyException</CODE> was throen if an invalid property
+ * was set</LI>
+ * </ul>
+ */
+ public void _setPropertyValues(){
+
+ boolean ok = true;
+ boolean test = true;
+ boolean exp = false;
+
+ try {
+ PropertyValue[] newProps = new PropertyValue[1];
+ newProps[0] = propertyToChange;
+
+ log.println("try to set property vlaues given by object relation 'XPropertyAccess.propertyToChange'...");
+ oObj.setPropertyValues(newProps);
+
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ } catch (PropertyVetoException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ }
+
+ if ( test){
+ log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ log.println("try to set integer value to string property, " +
+ "expect 'com.sun.star.lang.IllegalArgumentException'...");
+ PropertyValue[] newProps = new PropertyValue[1];
+ PropertyValue failedProp = new PropertyValue();
+ failedProp.Name = propertyToChange.Name;
+ failedProp.Value = new Integer(10);
+ newProps[0] = failedProp;
+ oObj.setPropertyValues(newProps);
+ } catch (PropertyVetoException ex) {
+ log.println("ERROR: unexptected exception was thrown while trying to set null value: " +
+ ex.toString());
+ exp = true;
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: unexptected exception was thrown while trying to set null value: " +
+ ex.toString());
+ exp = true;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("OK: exptected exception was thrown while trying to set null value: " +
+ ex.toString());
+ test = true;
+ exp = true;
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: unexptected exception was thrown while trying to set null value: " +
+ ex.toString());
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+
+ log.println("try to set values with invalid property name. " +
+ "Expect 'com.sun.star.beans.UnknownPropertyException'...");
+
+ PropertyValue[] newProps = new PropertyValue[1];
+ PropertyValue newProp = new PropertyValue();
+ newProp.Name = "XPropertyAccess.InvalidPropertyName";
+ newProp.Value = "invalid property";
+ newProps[0] = newProp;
+
+ oObj.setPropertyValues(newProps);
+
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: unexptected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: unexptected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ } catch (PropertyVetoException ex) {
+ log.println("ERROR: unexptected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ } catch (UnknownPropertyException ex) {
+ log.println("OK: Exptected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ test = true;
+ }
+
+ ok &= test;
+
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ tRes.tested("setPropertyValues()", ok);
+ return;
+
+ }
+
+} /// finish class XPropertyAccess
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java b/qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java
new file mode 100644
index 000000000000..3f3803fb329e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java
@@ -0,0 +1,309 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import com.sun.star.beans.IllegalTypeException;
+import com.sun.star.beans.NotRemoveableException;
+import com.sun.star.beans.PropertyExistException;
+import com.sun.star.uno.Any;
+import lib.MultiMethodTest;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertyContainer;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.beans.XPropertyAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code>addProperty()</code></li>
+ * <li><code>removeProperty()</code></li>
+ * </ul>
+ * @see com.sun.star.beans.XPropertyAccess
+ */
+public class _XPropertyContainer extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XPropertyContainer oObj = null;// oObj filled by MultiMethodTest
+
+ /**
+ * object relation X<CODE>PropertyAccess.propertyNotRemovable</CODE><br>
+ * This relation must be filled from the module. It contains a property which must
+ * be a property of the implementaion object.
+ */
+ private String propertyNotRemovable = null;
+
+ /**
+ * checks if the object relation <CODE>XPropertyAccess.propertyNotRemovable</CODE>
+ * is available
+ */
+ public void before() {
+ propertyNotRemovable = (String) tEnv.getObjRelation("XPropertyContainer.propertyNotRemovable");
+ if (propertyNotRemovable == null) {
+ throw new StatusException(Status.failed("Object raltion 'XPropertyAccess.propertyNotRemovable' is null"));
+ }
+ }
+
+
+
+ /**
+ * Test calls the method and checks if the returned sequence contanis a propterty which is named
+ * in the object relation <code>XPropertyAccess.propertyNotRemovable</code>.
+ */
+ public void _addProperty() {
+
+ boolean ok = true;
+ boolean test = true;
+ boolean exp = false;
+
+ try {
+ log.println("try to add following property:\n" +
+ "\t('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) ...");
+ oObj.addProperty("myXPropertContainerProperty" , com.sun.star.beans.PropertyAttribute.MAYBEVOID, null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ ex.toString());
+ log.println("... FAILED");
+ test = false;
+ } catch (PropertyExistException ex) {
+ log.println("ERROR: Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ ex.toString());
+ log.println("... FAILED");
+ test = false;
+ } catch (IllegalTypeException ex) {
+ log.println("ERROR: Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ ex.toString());
+ log.println("... FAILED");
+ test = false;
+ }
+
+ if ( test){
+ log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ log.println("add following property second time:\n" +
+ "\t('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) ...");
+ oObj.addProperty("myXPropertContainerProperty" , com.sun.star.beans.PropertyAttribute.MAYBEVOID, null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ "Expected: 'PropertyExistException'\n" +
+ "Got: 'IllegalArgumentException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (PropertyExistException ex) {
+ log.println("OK: expected Exception was thrown." + ex.toString());
+ test = true;
+ exp = true;
+ } catch (IllegalTypeException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ "Expected: 'PropertyExistException'\n" +
+ "Got: 'IllegalTypeException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ log.println("try to add following property:\n" +
+ "\t('IllegalTypeProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, Any.VOID) ...");
+ oObj.addProperty("IllegalTypeProperty", com.sun.star.beans.PropertyAttribute.MAYBEVOID, Any.VOID);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "'', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null\n" +
+ "Expected: 'IllegalTypeException'\n" +
+ "Got: 'IllegalArgumentException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (PropertyExistException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "'', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null\n" +
+ "Expected: 'IllegalArgumentException'\n" +
+ "Got: 'PropertyExistException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (IllegalTypeException ex) {
+ log.println("OK: expected Exception was thrown." + ex.toString());
+ test = true;
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'IllegalTypeException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ short attrib = -1;
+ log.println("add following property:\n" +
+ "'', -1, new Object");
+ oObj.addProperty("", attrib, null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("OK: expected Exception was thrown." + ex.toString());
+ test = true;
+ exp = true;
+ } catch (PropertyExistException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "'invalidPropertyAttribute', -1, null\n" +
+ "Expected: 'IllegalTypeException'\n" +
+ "Got: 'PropertyExistException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (IllegalTypeException ex) {
+ log.println("ERROR: unexpected Exception was thrown while adding following property: " +
+ "'', -1, null\n" +
+ "Expected: 'IllegalArgumentException'\n" +
+ "Got: 'IllegalTypeException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'IllegalArgumentException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+
+ tRes.tested("addProperty()", ok );
+ return;
+ }
+
+ /**
+ * Test calls the method and checks if the returned sequence contanis a propterty which is named
+ * in the object relation <code>XPropertyAccess.propertyNotRemovable</code>.
+ */
+ public void _removeProperty() {
+
+ requiredMethod("addProperty()");
+
+ boolean ok = true;
+ boolean test = true;
+ boolean exp = false;
+
+ try {
+ log.println("remove 'myXPropertContainerProperty'");
+ oObj.removeProperty("myXPropertContainerProperty");
+ } catch (NotRemoveableException ex) {
+ log.println("ERROR: could not remote property 'myXPropertContainerProperty'" + ex.toString());
+ log.println("... FAILED");
+ test = false;
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: could not remote property 'myXPropertContainerProperty'" + ex.toString());
+ log.println("... FAILED");
+ test = false;
+ }
+ if ( test){
+ log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp=false;
+
+ try {
+ log.println("remove not removeable property '" + propertyNotRemovable + "'") ;
+ oObj.removeProperty(propertyNotRemovable);
+ } catch (NotRemoveableException ex) {
+ log.println("OK: expected Exception was thrown: " + ex.toString());
+ test = true;
+ exp = true;
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: wrong exception was thrown.\n" +
+ "Expected: 'NotRemoveableException'\n" +
+ "Got: 'UnknownPropertyException'\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'NotRemoveableException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+
+ try {
+ log.println("remove property 'thisPropertyDoesNotExist'");
+ oObj.removeProperty("thisPropertyDoesNotExist");
+ } catch (UnknownPropertyException ex) {
+ log.println("OK: expected Exception was thrown: " + ex.toString());
+ test = true;
+ exp = true;
+ } catch (NotRemoveableException ex) {
+ log.println("ERROR: wrong exception was thrown.\n" +
+ "Expected: 'UnknownPropertyException'\n" +
+ "Got: 'NotRemoveableException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ tRes.tested("removeProperty()", ok );
+ return;
+ }
+
+
+} /// finish class XPropertyContainer
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XPropertySet.java
new file mode 100644
index 000000000000..dfc135843b44
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertySet.java
@@ -0,0 +1,674 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+import util.utils;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyChangeEvent;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.beans.XPropertySet</code>
+* interface methods :
+* <ul>
+* <li><code>getPropertySetInfo()</code></li>
+* <li><code>setPropertyValue()</code></li>
+* <li><code>getPropertyValue()</code></li>
+* <li><code>addPropertyChangeListener()</code></li>
+* <li><code>removePropertyChangeListener()</code></li>
+* <li><code>addVetoableChangeListener()</code></li>
+* <li><code>removeVetoableChangeListener()</code></li>
+* </ul>
+* @see com.sun.star.beans.XPropertySet
+*/
+public class _XPropertySet extends MultiMethodTest {
+
+ public XPropertySet oObj = null;
+
+ /**
+ * Flag that indicates change listener was called.
+ */
+ private boolean propertyChanged = false;
+
+ /**
+ * Listener that must be called on bound property changing.
+ */
+ public class MyChangeListener implements XPropertyChangeListener {
+ /**
+ * Just set <code>propertyChanged</code> flag to true.
+ */
+ public void propertyChange(PropertyChangeEvent e) {
+ propertyChanged = true;
+ }
+ public void disposing (EventObject obj) {}
+ };
+
+ private final XPropertyChangeListener PClistener = new MyChangeListener();
+
+ /**
+ * Flag that indicates veto listener was called.
+ */
+ private boolean vetoableChanged = false;
+
+ /**
+ * Listener that must be called on constrained property changing.
+ */
+ public class MyVetoListener implements XVetoableChangeListener {
+ /**
+ * Just set <code>vetoableChanged</code> flag to true.
+ */
+ public void vetoableChange(PropertyChangeEvent e) {
+ vetoableChanged = true;
+ }
+ public void disposing (EventObject obj) {}
+ };
+
+ private final XVetoableChangeListener VClistener = new MyVetoListener();
+
+ /**
+ * Structure that collects the properties of different types to test :
+ * Constrained, Bound and Normal.
+ */
+ private final class PropsToTest {
+ Vector< String > constrained = new Vector< String >();
+ Vector< String > bound = new Vector< String >();
+ Vector< String > normal = new Vector< String >();
+ }
+
+ private final PropsToTest PTT = new PropsToTest();
+
+ /**
+ * Tests method <code>getPropertySetInfo</code>. After test completed
+ * call {@link #getPropsToTest} method to retrieve different kinds
+ * of properties to test then. <p>
+ * Has OK status if not null <code>XPropertySetInfo</code>
+ * object returned.<p>
+ * Since <code>getPropertySetInfo</code> is optional, it may return null,
+ * if it is not implemented. This method uses then an object relation
+ * <code>PTT</code> (Properties To Test) to determine available properties.
+ * All tests for services without <code>getPropertySetInfo</code> must
+ * provide this object relation.
+ */
+ public void _getPropertySetInfo() {
+
+ XPropertySetInfo propertySetInfo = oObj.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ tRes.tested("getPropertySetInfo()", true) ;
+ String[] ptt = (String[]) tEnv.getObjRelation("PTT");
+ PTT.normal.clear();
+ PTT.bound.clear();
+ PTT.constrained.clear();
+ PTT.normal.add( ptt[0] );
+ PTT.bound.add( ptt[1] );
+ PTT.constrained.add( ptt[2] );
+ } else {
+ tRes.tested("getPropertySetInfo()", true );
+ getPropsToTest(propertySetInfo);
+ }
+
+ return;
+
+ } // end of getPropertySetInfo()
+
+ /**
+ * Tests change listener which added for bound properties.
+ * Adds listener to bound property (if it exists), then changes
+ * its value and check if listener was called. <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of bound properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO bound properties exist or if listener
+ * was successfully called.
+ */
+ public void _addPropertyChangeListener() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ int count = PTT.bound.size();
+ if ( count==0 || PTT.bound.get(0).equals("none") ) {
+ log.println("*** No bound properties found ***");
+ tRes.tested("addPropertyChangeListener()", true) ;
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.bound.get(i);
+ propertyChanged = false;
+ try {
+ oObj.addPropertyChangeListener(propertyName,PClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ log.println("Check bound property: " + propertyName );
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ error = error || !propertyChanged;
+ if (!propertyChanged) {
+ log.println("propertyChangeListener wasn't called for '"+
+ propertyName+"'");
+ }
+ }
+ tRes.tested("addPropertyChangeListener()", !error);
+ }
+
+ return;
+
+ } // end of addPropertyChangeListener()
+
+ /**
+ * Tests vetoable listener which added for constrained properties.
+ * Adds listener to constrained property (if it exists), then changes
+ * its value and check if listener was called. <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of constrained properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO constrained properties exist or if listener
+ * was successfully called.
+ */
+ public void _addVetoableChangeListener() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ int count = PTT.constrained.size();
+ if ( count==0 || PTT.constrained.get(0).equals("none") ) {
+ log.println("*** No constrained properties found ***");
+ tRes.tested("addVetoableChangeListener()", true) ;
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.constrained.get(i);
+ vetoableChanged = false;
+ try {
+ oObj.addVetoableChangeListener(propertyName,VClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ error = error || !vetoableChanged;
+ if (!vetoableChanged) {
+ log.println("vetoableChangeListener wasn't called for '"+
+ propertyName+"'");
+ }
+ }
+ tRes.tested("addVetoableChangeListener()",!error);
+ }
+
+ return;
+
+ } // end of addVetoableChangeListener()
+
+
+ /**
+ * Tests <code>setPropertyValue</code> method.
+ * Stores value before call, and compares it with value after
+ * call. <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of normal properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO normal properties exist or if value before
+ * method call is not equal to value after.
+ */
+ public void _setPropertyValue() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ Object gValue = null;
+ Object sValue = null;
+
+ int count = PTT.normal.size();
+ if ( count==0 || PTT.normal.get(0).equals("none") ) {
+ log.println("*** No changeable properties found ***");
+ tRes.tested("setPropertyValue()", true) ;
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.normal.get(i);
+ try {
+ log.println("try to change value of property '" + propertyName + "'" );
+ gValue = oObj.getPropertyValue(propertyName);
+ sValue = ValueChanger.changePValue(gValue);
+ oObj.setPropertyValue(propertyName, sValue);
+ sValue = oObj.getPropertyValue(propertyName);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ if( gValue.equals(sValue) )
+ {
+ log.println("setting property '"+ propertyName+"' failed");
+ error = true;
+ }
+ }
+ tRes.tested("setPropertyValue()",!error);
+ } //endif
+
+ return;
+
+ } // end of setPropertyValue()
+
+ /**
+ * Tests <code>getPropertyValue</code> method for the given property.
+ * Returns true if no exceptions occured
+ */
+ private boolean getSinglePropertyValue( String propertyName )
+ {
+ boolean runOk = false;
+ try {
+ oObj.getPropertyValue(propertyName);
+ runOk = true;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to get property '"+
+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to get property '"+
+ propertyName+"'");
+ e.printStackTrace(log);
+ }
+ return runOk;
+ }
+
+ /**
+ * Tests <code>getPropertyValue</code> method.
+ * Just call this method and checks for no exceptions <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of normal properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO normal properties exist or if no
+ * exceptions were thrown.
+ */
+ public void _getPropertyValue() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ int count = PTT.normal.size();
+ if ( count==0 || PTT.normal.get(0).equals("none") ) {
+ Property[] properties = oObj.getPropertySetInfo().getProperties();
+ if( properties.length > 0 ) {
+ String propertyName = properties[0].Name;
+ log.println("All properties are Read Only");
+ log.println("Using: "+propertyName);
+ tRes.tested("getPropertyValue()", getSinglePropertyValue( propertyName ) );
+ }
+ else {
+ log.println("*** No properties found ***");
+ tRes.tested("getPropertyValue()", true) ;
+ }
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.normal.get(i);
+ boolean runOk = getSinglePropertyValue( propertyName );
+ if( !runOk )
+ {
+ error = true;
+ log.println("getPropertyValue() failed for property '"+propertyName+"'");
+ }
+ }
+ tRes.tested("getPropertyValue()", !error) ;
+ }
+
+ return;
+ }
+
+ /**
+ * Tests <code>removePropertyChangeListener</code> method.
+ * Removes change listener, then changes bound property value
+ * and checks if the listener was NOT called.
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>addPropertyChangeListener</code> : here listener
+ * was added. </li>
+ * </ul> <p>
+ * Has OK status if NO bound properties exist or if listener
+ * was not called and no exceptions arose.
+ */
+ public void _removePropertyChangeListener() {
+
+ requiredMethod("addPropertyChangeListener()");
+
+ int count = PTT.bound.size();
+ if ( count==0 || PTT.bound.get(0).equals("none") ) {
+ log.println("*** No bound properties found ***");
+ tRes.tested("removePropertyChangeListener()", true) ;
+ } else {
+
+ //remove all listeners first
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.bound.get(i);
+ try {
+ oObj.removePropertyChangeListener(propertyName,PClistener);
+ } catch (Exception e) {
+ log.println("Exception occured while removing change listener from"+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ }
+ }
+
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.bound.get(i);
+ try {
+ propertyChanged = false;
+ oObj.addPropertyChangeListener(propertyName,PClistener);
+ oObj.removePropertyChangeListener(propertyName,PClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+
+ error = error || propertyChanged;
+ if (propertyChanged) {
+ log.println("propertyChangeListener was called after removing"+
+ " for '"+propertyName+"'");
+ }
+ }
+ tRes.tested("removePropertyChangeListener()",!error);
+ }
+
+ return;
+
+ } // end of removePropertyChangeListener()
+
+
+ /**
+ * Tests <code>removeVetoableChangeListener</code> method.
+ * Removes vetoable listener, then changes constrained property value
+ * and checks if the listener was NOT called.
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>addPropertyChangeListener</code> : here vetoable listener
+ * was added. </li>
+ * </ul> <p>
+ * Has OK status if NO constrained properties exist or if listener
+ * was NOT called and no exceptions arose.
+ */
+ public void _removeVetoableChangeListener() {
+
+ requiredMethod("addVetoableChangeListener()");
+
+ int count = PTT.constrained.size();
+ if ( count==0 || PTT.constrained.get(0).equals("none") ) {
+ log.println("*** No constrained properties found ***");
+ tRes.tested("removeVetoableChangeListener()", true) ;
+ } else {
+
+ //remove all listeners first
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.constrained.get(i);
+ try {
+ oObj.removeVetoableChangeListener(propertyName,VClistener);
+ } catch (Exception e) {
+ log.println("Exception occured while removing veto listener from"+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ }
+ }
+
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.constrained.get(i);
+ vetoableChanged = false;
+ try {
+ oObj.addVetoableChangeListener(propertyName,VClistener);
+ oObj.removeVetoableChangeListener(propertyName,VClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ error = error || vetoableChanged;
+ if (vetoableChanged) {
+ log.println("vetoableChangeListener was called after "+
+ "removing for '"+propertyName+"'");
+ }
+ }
+ tRes.tested("removeVetoableChangeListener()",!error);
+ }
+
+ return;
+
+ } // end of removeVetoableChangeListener()
+
+ /**
+ * Gets the properties being tested. Searches and stores by one
+ * property of each kind (Bound, Vetoable, Normal).
+ */
+ public void getPropsToTest(XPropertySetInfo xPSI) {
+
+ Property[] properties = xPSI.getProperties();
+ // some properties should not be changed in a unspecific way
+ String[] skip = {"PrinterName", "CharRelief", "IsLayerMode"};
+
+ for (int i = 0; i < properties.length; i++) {
+
+ Property property = properties[i];
+ String name = property.Name;
+
+ boolean cont = false;
+ for (int j = 0; j < skip.length; j++) {
+ if (name.equals(skip[j])){
+ log.println("skipping '" + name + "'");
+ cont = true;
+ }
+ }
+
+ if (cont) continue;
+
+ if (name.equals(oObj))
+ log.println("Checking '"+name+"'");
+ boolean isWritable = ((property.Attributes &
+ PropertyAttribute.READONLY) == 0);
+ boolean isNotNull = ((property.Attributes &
+ PropertyAttribute.MAYBEVOID) == 0);
+ boolean isBound = ((property.Attributes &
+ PropertyAttribute.BOUND) != 0);
+ boolean isConstr = ((property.Attributes &
+ PropertyAttribute.CONSTRAINED) != 0);
+ boolean canChange = false;
+
+ if ( !isWritable ) log.println("Property '"+name+"' is READONLY");
+
+ if (name.endsWith("URL")) isWritable = false;
+ if (name.startsWith("Fill")) isWritable = false;
+ if (name.startsWith("Font")) isWritable = false;
+ if (name.startsWith("IsNumbering")) isWritable = false;
+ if (name.startsWith("LayerName")) isWritable = false;
+ if (name.startsWith("Line")) isWritable = false;
+ if (name.startsWith("TextWriting")) isWritable = false;
+
+ //if (name.equals("xinterfaceA") || name.equals("xtypeproviderA")
+ //|| name.equals("arAnyA")) isWritable=false;
+
+ if ( isWritable && isNotNull ) canChange = isChangeable(name);
+
+ if ( isWritable && isNotNull && isBound && canChange) {
+ PTT.bound.add(name);
+ }
+
+ if ( isWritable && isNotNull && isConstr && canChange) {
+ PTT.constrained.add(name);
+ }
+
+ if ( isWritable && isNotNull && canChange) {
+ PTT.normal.add(name);
+ }
+
+
+ } // endfor
+ }
+
+ public boolean isChangeable(String name) {
+ boolean hasChanged = false;
+ try {
+ Object getProp = oObj.getPropertyValue(name);
+ log.println("Getting: "+getProp);
+ if (name.equals("xinterfaceA")) {
+ System.out.println("drin");
+ }
+
+ Object setValue = null;
+ if (getProp != null) {
+ if (!utils.isVoid(getProp))
+ setValue = ValueChanger.changePValue(getProp);
+ else log.println("Property '"+name+
+ "' is void but MAYBEVOID isn't set");
+ } else log.println("Property '"+name+"'is null and can't be changed");
+ if (name.equals("LineStyle")) setValue = null;
+ if (setValue != null) {
+ log.println("Setting to :"+setValue);
+ oObj.setPropertyValue(name, setValue);
+ hasChanged = (! getProp.equals(oObj.getPropertyValue(name)));
+ } else log.println("Couldn't change Property '"+name+"'");
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (java.lang.ArrayIndexOutOfBoundsException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ }
+
+ return hasChanged;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+
+} // finish class _XPropertySet
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java b/qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java
new file mode 100644
index 000000000000..ee41be8a79b7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySetInfo;
+
+/**
+* Testing <code>com.sun.star.beans.XPropertySetInfo</code>
+* interface methods :
+* <ul>
+* <li><code>getProperties()</code></li>
+* <li><code>getPropertyByName()</code></li>
+* <li><code>hasPropertyByName()</code></li>
+* </ul>
+* @see com.sun.star.beans.XPropertySetInfo
+*/
+public class _XPropertySetInfo extends MultiMethodTest {
+
+ public XPropertySetInfo oObj = null;// oObj filled by MultiMethodTest
+
+ public Property IsThere = null;
+
+ /**
+ * Test calls the method and stores one of the properties.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * value that isn't null.<p>
+ */
+ public void _getProperties() {
+ Property[] properties = oObj.getProperties();
+ IsThere = properties[0];
+ tRes.tested("getProperties()", ( properties != null ));
+ return;
+ }
+
+ /**
+ * Test calls the method with property name that certainly present
+ * in the property set and again calls the method with property name
+ * that certainly doesn't present in the property set.<p>
+ * Has <b> OK </b> status if the method in one case successfully
+ * returns value that isn't null and no exceptions were thrown and
+ * in other case exception was thrown.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getProperties()</code> : to have a property that certainly
+ * present in the property set</li>
+ * </ul>
+ */
+ public void _getPropertyByName() {
+ requiredMethod("getProperties()");
+ boolean result;
+ try {
+ Property prop = oObj.getPropertyByName(IsThere.Name);
+ result = (prop != null);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while testing" +
+ " getPropertyByName with existing property");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.getPropertyByName("Jupp");
+ log.println("No Exception thrown while testing"+
+ " getPropertyByName with non existing property");
+ result = false;
+ }
+ catch (UnknownPropertyException e) {
+ result = true;
+ }
+ tRes.tested("getPropertyByName()", result);
+ return;
+ }
+
+ /**
+ * Test calls the method with property name that certainly present
+ * in the property set and again calls the method with property name
+ * that certainly doesn't present in the property set.<p>
+ * Has <b> OK </b> status if the method successfully returns true in
+ * one case and false in other case.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getProperties()</code> : to have a property that certainly
+ * present in the property set</li>
+ * </ul>
+ */
+ public void _hasPropertyByName() {
+ requiredMethod("getProperties()");
+ tRes.tested("hasPropertyByName()",
+ (
+ (oObj.hasPropertyByName(IsThere.Name)) &&
+ (!oObj.hasPropertyByName("Jupp")) )
+ );
+ }
+
+} /// finish class XPropertySetInfo
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyState.java b/qadevOOo/tests/java/ifc/beans/_XPropertyState.java
new file mode 100644
index 000000000000..ced711b1cf94
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyState.java
@@ -0,0 +1,274 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.XPropertyState;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.beans.XPropertyState</code>
+* interface methods :
+* <ul>
+* <li><code> getPropertyState()</code></li>
+* <li><code> getPropertyStates()</code></li>
+* <li><code> setPropertyToDefault()</code></li>
+* <li><code> getPropertyDefault()</code></li>
+* </ul>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated. <p>
+* <b>Note:</b> object tested must also implement
+* <code>com.sun.star.beans.XPropertySet</code> interface.
+* @see com.sun.star.beans.XPropertyState
+*/
+public class _XPropertyState extends MultiMethodTest {
+
+ public XPropertyState oObj = null;
+
+ private XPropertySet oPS = null ;
+ private XPropertySetInfo propertySetInfo = null;
+ private Property[] properties = null ;
+ private String pName = null ;
+ private Object propDef = null ;
+
+ /**
+ * Queries object for <code>XPropertySet</code> interface and
+ * initializes some fields used by all methods. <p>
+ *
+ * Searches property which is not READONLY and MAYBEDEFAULT, if
+ * such property is not found, then uses property with only
+ * READONLY attribute. This property name is stored and is used
+ * by all tests.
+ *
+ * @throws StatusException If <code>XPropertySet</code> is not
+ * implemented by object.
+ */
+ public void before() throws StatusException {
+ oPS = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, oObj );
+ if (oPS == null)
+ throw new StatusException
+ ("XPropertySet interface isn't implemented.",
+ new NullPointerException
+ ("XPropertySet interface isn't implemented.")) ;
+
+ propertySetInfo = oPS.getPropertySetInfo();
+ properties = propertySetInfo.getProperties();
+ Property prop = null;
+ for (int i=0;i<properties.length;i++) {
+ try {
+ prop = propertySetInfo.getPropertyByName
+ (properties[i].Name);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Unknown Property "+prop.Name);
+ }
+ boolean readOnly = (prop.Attributes &
+ PropertyAttribute.READONLY) != 0;
+ boolean maybeDefault = (prop.Attributes &
+ PropertyAttribute.MAYBEDEFAULT) != 0;
+ if (!readOnly && maybeDefault) {
+ pName = properties[i].Name;
+ log.println("Property '" + pName + "' has attributes "+
+ prop.Attributes);
+ break ;
+ } else
+ if (!readOnly) {
+ pName = properties[i].Name;
+ log.println("Property '" + pName +
+ "' is not readonly, may be used ...");
+ } else {
+ log.println("Skipping property '" + properties[i].Name +
+ "' Readonly: " + readOnly + ", MaybeDefault: " +
+ maybeDefault);
+ }
+ }
+
+ }
+
+ /**
+ * Test calls the method and checks that no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _getPropertyDefault(){
+ boolean result = true ;
+ String localName = pName;
+ if (localName == null) {
+ localName = (propertySetInfo.getProperties()[0]).Name;
+ }
+ try {
+ propDef = oObj.getPropertyDefault(localName);
+ log.println("Default property value is : '" + propDef + "'");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occured while getting Property default");
+ result=false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e +
+ "occured while getting Property default");
+ result=false;
+ }
+ tRes.tested("getPropertyDefault()", result);
+ }
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertyState(){
+ boolean result = true ;
+
+ String localName = pName;
+ if (localName == null) {
+ localName = (propertySetInfo.getProperties()[0]).Name;
+ }
+
+ try {
+ PropertyState ps = oObj.getPropertyState(localName);
+ if (ps == null) {
+ log.println("!!! Returned value == null") ;
+ result = false ;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occured while getting Property state");
+ result = false;
+ }
+ tRes.tested("getPropertyState()", result);
+ }
+
+ /**
+ * Test calls the method with array of one property name
+ * and checks return value and that no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns array with one
+ * PropertyState and no exceptions were thrown. <p>
+ */
+ public void _getPropertyStates(){
+ boolean result = true ;
+
+ String localName = pName;
+ if (localName == null) {
+ localName = (propertySetInfo.getProperties()[0]).Name;
+ }
+
+ try {
+ PropertyState[] ps = oObj.getPropertyStates
+ (new String[] {localName});
+ if (ps == null) {
+ log.println("!!! Returned value == null") ;
+ result = false ;
+ } else {
+ if (ps.length != 1) {
+ log.println("!!! Array lebgth returned is invalid - " +
+ ps.length) ;
+ result = false ;
+ }
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occured while getting Property state");
+ result = false;
+ }
+
+ tRes.tested("getPropertyStates()", result);
+ }
+
+
+ /**
+ * Sets the property to default, then compares the current property
+ * value to value received by method <code>getPropertyDefault</code>.
+ * Has <b> OK </b> status if the current proeprty value equals to
+ * default property. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getPropertyDefault</code>: we have to know what is
+ * default value</li></ul>
+ */
+ public void _setPropertyToDefault(){
+ requiredMethod("getPropertyDefault()") ;
+
+ if (pName == null) {
+ log.println("all found properties are read only");
+ tRes.tested("setPropertyToDefault()",Status.skipped(true));
+ return;
+ }
+
+ boolean result = true ;
+ try {
+ try {
+ oObj.setPropertyToDefault(pName);
+ }
+ catch(RuntimeException e) {
+ System.out.println("Ignoring RuntimeException: " + e.getMessage());
+ }
+ if ((properties[0].Attributes &
+ PropertyAttribute.MAYBEDEFAULT) != 0) {
+ Object actualDef = propDef ;
+ if (propDef instanceof Any) {
+ actualDef = ((Any)propDef).getObject() ;
+ }
+ Object actualVal = oPS.getPropertyValue(pName) ;
+ if (actualVal instanceof Any) {
+ actualVal = ((Any)actualVal).getObject() ;
+ }
+ result = util.ValueComparer.equalValue
+ (actualDef,actualVal) ;
+ log.println("Default value = '" + actualDef +
+ "', returned value = '"
+ + actualVal + "' for property " + pName) ;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occured while setting Property to default");
+ result=false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e +
+ "occured while testing property value");
+ result=false;
+ }
+
+ tRes.tested("setPropertyToDefault()", result);
+ }
+
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+ }// EOF _XPropertyState
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java b/qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java
new file mode 100644
index 000000000000..ef89c8448e7d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import com.sun.star.beans.PropertyState;
+import com.sun.star.uno.XInterface;
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertyWithState;
+import lib.Status;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.beans.XPropertyWithState</code>
+* interface methods :
+* <ul>
+* <li><code> getDefaultAsProperty()</code></li>
+* <li><code> getStateAsProperty()</code></li>
+* <li><code> setToDefaultAsProperty()</code></li>
+* </ul> <p>
+* @see com.sun.star.beans.XPropertyWithState
+*/
+
+public class _XPropertyWithState extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XPropertyWithState oObj;
+
+
+ /**
+ * Test calls the method.
+ * Test has ok status if no
+ * <CODE>com.sun.star.lang.WrappedTargetException</CODE>
+ * was thrown
+ */
+ public void _getDefaultAsProperty() {
+ try{
+
+ XInterface defaultState = (XInterface) oObj.getDefaultAsProperty();
+
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("'com.sun.star.lang.WrappedTargetException' was thrown"));
+ }
+
+ tRes.tested("getDefaultAsProperty()", true);
+ }
+
+ /**
+ * Test is ok if <CODE>getStateAsProperty()</CODE> returns
+ * as <CODE>PropertyState</CODE> which is not <CODE>null</CODE>
+ */
+ public void _getStateAsProperty() {
+
+ boolean res = true;
+
+ PropertyState propState = oObj.getStateAsProperty();
+
+ if (propState == null) {
+ log.println("the returned PropertyState is null -> FALSE");
+ res = false;
+ }
+
+ tRes.tested("getStateAsProperty()", res);
+ }
+
+ /**
+ * Test calls the method.
+ * Test has ok status if no
+ * <CODE>com.sun.star.lang.WrappedTargetException</CODE>
+ * was thrown
+ */
+ public void _setToDefaultAsProperty() {
+ try{
+
+ oObj.setToDefaultAsProperty();
+
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("'com.sun.star.lang.WrappedTargetException' was thrown"));
+ }
+
+ tRes.tested("setToDefaultAsProperty()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java
new file mode 100644
index 000000000000..0d783ad18e97
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java
@@ -0,0 +1,346 @@
+/*************************************************************************
+ *
+ * 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.beans;
+
+import com.sun.star.beans.GetDirectPropertyTolerantResult;
+import com.sun.star.beans.GetPropertyTolerantResult;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.SetPropertyTolerantFailed;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertyState;
+import com.sun.star.beans.XTolerantMultiPropertySet;
+import com.sun.star.uno.UnoRuntime;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import util.ValueChanger;
+import util.ValueComparer;
+
+
+public class _XTolerantMultiPropertySet extends MultiMethodTest {
+ public XTolerantMultiPropertySet oObj;
+ protected String[] namesOfDirectProperties = null;
+ protected String[] namesOfProperties = null;
+ protected Object[] valuesOfProperties = null;
+ protected Property[] properties = null;
+ protected XPropertyState pState = null;
+ protected XPropertySet PS = null;
+
+
+ /*
+ * Queries XPropertySet from the given Component and gets XPropertySetInfo
+ * from it to get the PropertyNames available and their Values<br>
+ * Then queries XPropertyState from the given Component
+ * to get the direct properties<br>
+ * Throws a lib StatusException if the Component doesn't support XPropertySet or XPropertyState
+ */
+ public void before() {
+ PS = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
+ tEnv.getTestObject());
+
+ if (PS == null) {
+ throw new StatusException(Status.failed(
+ "Component doesn't provide the needed XPropertySet"));
+ }
+
+ pState = (XPropertyState) UnoRuntime.queryInterface(
+ XPropertyState.class, tEnv.getTestObject());
+
+ if (pState == null) {
+ throw new StatusException(Status.failed(
+ "Component doesn't provide the needed XPropertyState"));
+ }
+
+ properties = PS.getPropertySetInfo().getProperties();
+ namesOfProperties = getProperties();
+ valuesOfProperties = getPropertyValues(namesOfProperties);
+ }
+
+ /*
+ * Calls the method getDirectPropertyValuesTolerant() and compares the resulting
+ * sequence with the one gained as direct values in the before() method.<br>
+ * Has OK state if both sequences equal.
+ */
+ public void _getDirectPropertyValuesTolerant() {
+ namesOfDirectProperties = getDirectProperties(properties);
+
+ GetDirectPropertyTolerantResult[] GDPR = oObj.getDirectPropertyValuesTolerant(
+ namesOfProperties);
+
+ boolean res = (GDPR.length == namesOfDirectProperties.length);
+
+ if (!res) {
+ log.println("Found: ");
+
+ for (int i = 0; i < GDPR.length; i++) {
+ log.println("\t" + GDPR[i].Name);
+ }
+
+ log.println("Expected: ");
+
+ for (int i = 0; i < namesOfDirectProperties.length; i++) {
+ log.println("\t" + namesOfDirectProperties[i]);
+ }
+ } else {
+ for (int i = 0; i < GDPR.length; i++) {
+ boolean localres = GDPR[i].Name.equals(
+ namesOfDirectProperties[i]);
+
+ if (!localres) {
+ log.println("Found: ");
+ log.println("\t" + GDPR[i].Name);
+ log.println("Expected: ");
+ log.println("\t" + namesOfDirectProperties[i]);
+ }
+
+ res &= localres;
+ }
+ }
+
+ tRes.tested("getDirectPropertyValuesTolerant()", res);
+ }
+
+ public void _getPropertyValuesTolerant() {
+ requiredMethod("getDirectPropertyValuesTolerant()");
+ GetPropertyTolerantResult[] GPR = oObj.getPropertyValuesTolerant(
+ namesOfProperties);
+
+ boolean res = (GPR.length == namesOfProperties.length);
+
+ if (!res) {
+ log.println("Length of sequences differs");
+ log.println("Found: " + GPR.length);
+ log.println("Expected: " + namesOfProperties.length);
+ } else {
+ for (int i = 0; i < GPR.length; i++) {
+ boolean localres = true;
+
+ if (!(GPR[i].Value instanceof com.sun.star.uno.Any)) {
+ localres = ValueComparer.equalValue(GPR[i].Value,
+ valuesOfProperties[i]);
+
+ }
+
+ if (!localres) {
+ log.println("Values differ for : " +
+ namesOfProperties[i]);
+ log.println("\t" + GPR[i].Value);
+ log.println("Expected: ");
+ log.println("\t" + valuesOfProperties[i]);
+ }
+
+ res &= localres;
+ }
+ }
+
+ tRes.tested("getPropertyValuesTolerant()", res);
+ }
+
+ public void _setPropertyValuesTolerant() {
+ requiredMethod("getPropertyValuesTolerant()");
+
+ SetPropertyTolerantFailed[] SPTF = null;
+
+ try {
+ SPTF = oObj.setPropertyValuesTolerant(namesOfProperties,
+ getNewValues(
+ valuesOfProperties));
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ }
+
+ //read only properties will throw a PropertyVetoExeption if they are set
+ int failures = 0;
+
+ for (int k = 0; k < SPTF.length; k++) {
+ if (SPTF[k].Result == com.sun.star.beans.TolerantPropertySetResultType.PROPERTY_VETO) {
+ failures++;
+ }
+ }
+
+ int roProps = getCountOfReadOnlyProperties();
+
+ boolean res = (failures == roProps);
+
+ if (!res) {
+ log.println("Failures: " + failures);
+ log.println("Count of R/O properties: " + roProps);
+
+ for (int i = 0; i < SPTF.length; i++) {
+ if (SPTF[i].Result == com.sun.star.beans.TolerantPropertySetResultType.PROPERTY_VETO) {
+ failures++;
+ log.println("Failed for " + SPTF[i].Name);
+ log.println("\t Result: " + SPTF[i].Result);
+ }
+ }
+ } else {
+ for (int i = 0; i < SPTF.length; i++) {
+ boolean localres = true;
+ GetPropertyTolerantResult[] GPR = oObj.getPropertyValuesTolerant(
+ namesOfProperties);
+
+ if ((!(GPR[i].Value instanceof com.sun.star.uno.Any)) &&
+ (SPTF[i].Result == com.sun.star.beans.TolerantPropertySetResultType.SUCCESS)) {
+ localres = ValueComparer.equalValue(GPR[i].Value,
+ valuesOfProperties[i]);
+ }
+
+ if (!localres) {
+ log.println("Values differ for : " +
+ namesOfProperties[i]);
+ log.println("\t" + GPR[i].Value);
+ log.println("Expected: ");
+ log.println("\t" + valuesOfProperties[i]);
+ }
+
+ res &= localres;
+ }
+ }
+
+ tRes.tested("setPropertyValuesTolerant()", res);
+ }
+
+ /*
+ * This method returns a sorted list of property names
+ * contained in a given sequence of properties that additionally
+ * have the state DIRECT_VALUE
+ */
+ protected String[] getDirectProperties(Property[] props) {
+ ArrayList direct = new ArrayList();
+
+ for (int i = 0; i < props.length; i++) {
+ String pName = props[i].Name;
+
+ try {
+ PropertyState state = pState.getPropertyState(pName);
+
+ if (state.equals(PropertyState.DIRECT_VALUE)) {
+ if (isUsable(pName)) direct.add(pName);
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Property '" + pName + "'");
+ }
+ }
+
+ Collections.sort(direct);
+
+ Object[] obj = direct.toArray();
+ String[] ret = new String[obj.length];
+
+ for (int i = 0; i < obj.length; i++) {
+ ret[i] = (String) obj[i];
+ }
+
+ return ret;
+ }
+
+ private boolean isUsable(String name) {
+ boolean isUsable=true;
+ if (name.startsWith("TextWriting")) isUsable = false;
+ if (name.startsWith("MetaFile")) isUsable = false;
+ return isUsable;
+ }
+
+ /*
+ * This method returns a sorted list of property names
+ * contained in a given sequence of properties
+ */
+ protected String[] getProperties() {
+ ArrayList names = new ArrayList();
+
+ for (int i = 0; i < properties.length; i++) {
+ String pName = properties[i].Name;
+ if (isUsable(pName)) names.add(pName);
+ }
+
+ Collections.sort(names);
+
+ Object[] obj = names.toArray();
+ String[] ret = new String[obj.length];
+
+ for (int i = 0; i < obj.length; i++) {
+ ret[i] = (String) obj[i];
+ }
+
+ return ret;
+ }
+
+ /*
+ * Returns the values of a given array of properties in an Object array
+ */
+ protected Object[] getPropertyValues(String[] propertyNames) {
+ Object[] values = new Object[propertyNames.length];
+
+ for (int i = 0; i < propertyNames.length; i++) {
+ try {
+ values[i] = PS.getPropertyValue(propertyNames[i]);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ return values;
+ }
+
+ protected int getCountOfReadOnlyProperties() {
+ int ro = 0;
+
+ for (int i = 0; i < properties.length; i++) {
+ Property property = properties[i];
+ boolean isWritable = ((property.Attributes & PropertyAttribute.READONLY) == 0);
+
+ if (!isWritable) {
+ ro++;
+ }
+ }
+
+ return ro;
+ }
+
+ protected Object[] getNewValues(Object[] oldValues) {
+ Object[] newValues = new Object[oldValues.length];
+
+ for (int i = 0; i < oldValues.length; i++) {
+ if (oldValues[i] instanceof com.sun.star.uno.Any) {
+ newValues[i] = oldValues[i];
+ } else {
+ newValues[i] = ValueChanger.changePValue(oldValues[i]);
+ }
+ }
+
+ return newValues;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/bridge/_XBridge.java b/qadevOOo/tests/java/ifc/bridge/_XBridge.java
new file mode 100644
index 000000000000..98f28bba0236
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/bridge/_XBridge.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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.bridge;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.connection.XConnection;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.bridge.XBridge</code>
+* interface methods :
+* <ul>
+* <li><code> getInstance()</code></li>
+* <li><code> getName()</code></li>
+* <li><code> getDescription()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInitialization.args'</code> (of type <code>Object[]</code>):
+* relation which contains arguments for Bridge initialization.
+* It used here to check description of the bridge. This array
+* must contain : [0] - the name of the bridge, [1] - the name of
+* protocol, [2] - <code>XConnection</code> reference to bridge
+* connection. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.bridge.XBridge
+*/
+public class _XBridge extends MultiMethodTest {
+
+ public XBridge oObj;
+
+ protected Object[] args;//for object relation 'XInitialization.args'
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ args = (Object[])tEnv.getObjRelation("XInitialization.args");
+
+ if (args == null) throw new StatusException(Status.failed
+ ("Relation 'XInitialization.args' not found")) ;
+ XInitialization xInit = (XInitialization)UnoRuntime.queryInterface(
+ XInitialization.class, oObj);
+ try {
+ xInit.initialize(args);
+ }
+ catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't initialize the bridge", e);
+ }
+ }
+
+ /**
+ * Tries to retrieve <code>ServiceManager</code> service
+ * using the bridge. <p>
+ * Has <b>OK</b> status if non null object returned.
+ */
+ public void _getInstance() {
+ XInterface xInt = (XInterface)oObj.getInstance(
+ "com.sun.star.lang.ServiceManager");
+
+ tRes.tested("getInstance()", xInt != null);
+ }
+
+ /**
+ * Retrieves the name of the bridge from relation and compares
+ * it to name returned by the method. <p>
+ * Has <b>OK</b> status if names are equal.
+ */
+ public void _getName() {
+ String expectedName = (String)args[0]; // args[0] - bridge name
+
+ String name = oObj.getName();
+
+ if (!tRes.tested("getName()", name.equals(expectedName))) {
+ log.println("getName() returns wrong result : \"" + name + "\"");
+ log.println("expected = \"" + expectedName + "\"");
+ }
+ }
+
+ /**
+ * Retrieves the description of the bridge and compares it with
+ * expected description composed using relation
+ * <code> ([protocol] + ":" + [connection description]) </code>. <p>
+ * Has <b>OK</b> status if description returned by the method
+ * is equal to expected one.
+ */
+ public void _getDescription() {
+ String protocol = (String)args[1]; // args[1] - protocol
+ XConnection xConnection = (XConnection)args[2]; // args[2] - connection
+ // expected description is protocol + ":" + xConnection.getDescription()
+ String expectedDescription =
+ protocol + ":" + xConnection.getDescription();
+
+ String description = oObj.getDescription();
+
+ if (!tRes.tested("getDescription()",
+ description.equals(expectedDescription))) {
+ log.println("getDescription() returns wrong result : \""
+ + description + "\"");
+ log.println("expected = \"" + expectedDescription + "\"");
+ }
+ }
+
+ /**
+ * Disposes object environment.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java b/qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java
new file mode 100644
index 000000000000..99f920e92019
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * 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.bridge;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests <code>com.sun.star.bridge.XBridgeFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createBridge()</code></li>
+* <li><code> getBridge()</code></li>
+* <li><code> getExistingBridges()</code></li>
+* </ul> <p>
+* @see com.sun.star.bridge.XBridgeFactory
+*/
+public class _XBridgeFactory extends MultiMethodTest {
+
+ public XBridgeFactory oObj = null;
+
+ private String bridgeName = null ;
+
+ AcceptorThread acceptorThread = null;
+
+ /**
+ * Interrupts the acceptor after test is finished
+ */
+ protected void after() {
+ acceptorThread.acc.stopAccepting();
+ if (acceptorThread.isAlive()) {
+ acceptorThread.interrupt();
+ }
+ }
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occured, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * the acceptor
+ */
+ private XAcceptor acc = null ;
+ /**
+ * If exception occured during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Gets an object which can call <code>accept</code> method.
+ */
+ public AcceptorThread(XAcceptor acc) {
+ this.acc = acc ;
+ }
+
+ /**
+ * Call <code>accept()</code> method.
+ */
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ /**
+ * Variable to make bridge names unique in different threads.
+ */
+ public static int uniqueSuffix = 0 ;
+ /**
+ * Object for synchronizing <code>uniqueSuffix</code> increment.
+ */
+ public static Object synchFlag = new Object() ;
+ /**
+ * Connection string
+ */
+ public String connectString;
+
+ /**
+ * Gets array of existing bridges. <p>
+ * Has <b>OK</b> status if method returns not null.
+ */
+ public void _getExistingBridges() {
+
+ XBridge[] bridges = oObj.getExistingBridges() ;
+
+ log.println("Existing bridges :") ;
+ for (int i = 0; i < bridges.length; i++)
+ log.println(" " + bridges[i].getDescription()) ;
+
+ if (bridges.length > 0) bridgeName = bridges[0].getName() ;
+
+ tRes.tested("getExistingBridges()", bridges != null) ;
+ }
+
+ /**
+ * First creates connection with StarOffice process, using environment
+ * property <code>'CNCSTR'</code>. Then cerates bridge with unique name
+ * using protocol specified in environment as <code>'PROTOCOL'</code>
+ * property. After that bridge is disposed. <p>
+ * Has <b>OK</b> status if value returned is not null
+ * and no exceptions were thrown.<p>
+ */
+ public void _createBridge() {
+ XBridge bridge = null;
+ XConnection conn = null ;
+ boolean result = false ;
+
+ // first creating a connection
+ try {
+ XInterface x = (XInterface)
+ ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.connection.Connector") ;
+
+ XConnector xCntr = (XConnector) UnoRuntime.queryInterface
+ (XConnector.class, x) ;
+
+ x = (XInterface) ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.connection.Acceptor") ;
+
+ XAcceptor xAccptr = (XAcceptor)UnoRuntime.queryInterface(
+ XAcceptor.class, x);
+ connectString = (String)tEnv.getObjRelation("CNNCTSTR");
+ acceptorThread = new AcceptorThread(xAccptr) ;
+ acceptorThread.start();
+
+ try {
+ Thread.sleep(500);
+ }
+ catch (java.lang.InterruptedException e) {}
+ conn = xCntr.connect(connectString) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create connection", e);
+ }
+
+ try {
+ String protocol = (String) tParam.get("PROTOCOL") ;
+ if (protocol == null) protocol = "urp" ;
+
+ String brName ;
+ synchronized (synchFlag) {
+ brName = "MyBridge" + (uniqueSuffix++) ;
+ }
+
+ log.println("Creating bridge with name " + brName) ;
+
+ bridge = oObj.createBridge(brName,
+ protocol, conn, null) ;
+
+
+ result = bridge != null ;
+ } catch (com.sun.star.bridge.BridgeExistsException e) {
+ log.println("Exception while bridge creating :" + e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while bridge creating :" + e) ;
+ }
+
+ tRes.tested("createBridge()", result) ;
+ }
+
+ /**
+ * Gets bridge by name and checks the bridge name returned. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code>getExestingBridges</code> : to have some bridge name
+ * to retrieve </li>
+ * </ul> <p>
+ * Has <b>OK</b> status if bridge successfully returned and it's name
+ * equals to name passed as parameter.
+ */
+ public void _getBridge() {
+ executeMethod("getExistingBridges()") ;
+
+ if (bridgeName == null) {
+ log.println("No name for getting the bridge") ;
+ return ;
+ }
+
+ XBridge br = oObj.getBridge(bridgeName) ;
+
+ tRes.tested("getBridge()", br != null &&
+ bridgeName.equals(br.getName())) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java b/qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java
new file mode 100644
index 000000000000..14448c8f742f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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.bridge;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.bridge.XInstanceProvider;
+import com.sun.star.bridge.XUnoUrlResolver;
+import com.sun.star.connection.ConnectionSetupException;
+import com.sun.star.connection.NoConnectException;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.bridge.XUnoUrlResolver</code>
+* interface methods :
+* <ul>
+* <li><code> resolve()</code></li>
+* </ul> <p>
+* @see com.sun.star.bridge.XUnoUrlResolver
+*/
+public class _XUnoUrlResolver extends MultiMethodTest {
+
+ // starting port and current port to choose
+ static int basePort = 0;
+ int curPort = 0;
+
+ public XUnoUrlResolver oObj;
+
+ /**
+ * Implementation for providing an instance
+ *
+ * @see com.sun.star.bridge.XInstanceProvider
+ */
+ class MyInstanceProvider implements XInstanceProvider {
+ /**
+ * a MultiServiceFactory for creating instances
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ private XMultiServiceFactory xMSF = null;
+
+ /**
+ * Construct object with a MultiServiceFactory
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ public MyInstanceProvider(XMultiServiceFactory xMSF) {
+ this.xMSF = xMSF;
+ }
+
+ /**
+ * get an instance by name
+ */
+ public Object getInstance(String aInstanceName)
+ throws com.sun.star.container.NoSuchElementException
+ {
+ try {
+ return xMSF.createInstance(aInstanceName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+ }
+
+ /**
+ * Thread for creating a bridge so the resolver can access it
+ */
+ class BridgeThread extends Thread {
+ private XBridgeFactory xBrdgFctr = null;
+ private XInstanceProvider xInstProv = null;
+ private XAcceptor xAcc = null;
+ private String connectString = null;
+
+ public XBridge xBridge = null;
+
+ public BridgeThread(XAcceptor xAcc, XBridgeFactory xBrdgFctr,
+ XInstanceProvider xInstProv, String connectString
+ ) {
+ this.xInstProv = xInstProv;
+ this.xBrdgFctr = xBrdgFctr;
+ this.xAcc = xAcc;
+ this.connectString = connectString;
+ }
+
+ public void run() {
+ try {
+ // create a connection
+ XConnection xCon = xAcc.accept(connectString);
+ // create a bridge over that conmnection
+ xBridge = xBrdgFctr.createBridge(
+ "MyBridge", "urp", xCon, xInstProv);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.bridge.BridgeExistsException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ }
+ /**
+ * Test calls the method using environment property
+ * <code>'CNCSTR'</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * object that support interface <code>XMultiServiceFactory</code> and
+ * no exceptions were thrown. <p>
+ * @see com.sun.star.lang.XMultiServiceFactory
+ */
+ public void _resolve() {
+ String connectStr = (String)tParam.get("CNCSTR");
+ int pIndex = connectStr.indexOf("port=") + 5;
+ connectStr = connectStr.substring(0, pIndex);
+ System.out.println("ConnectString: " + connectStr);
+
+ // select the port
+ basePort = ((Integer)tEnv.getObjRelation("PORT")).intValue();
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ connectStr += curPort;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ // get the bridge factory
+ XBridgeFactory xBrdgFctr = (XBridgeFactory)
+ UnoRuntime.queryInterface(XBridgeFactory.class,
+ tEnv.getObjRelation("BRIDGEFACTORY"));
+
+ // get the acceptor
+ XAcceptor xAcc = (XAcceptor)UnoRuntime.queryInterface(
+ XAcceptor.class, tEnv.getObjRelation("ACCEPTOR"));
+
+ // instance provider
+ XInstanceProvider xInstProv = new MyInstanceProvider(xMSF);
+ // thread for providing a bridge
+ BridgeThread brThread = new BridgeThread(xAcc, xBrdgFctr,
+ xInstProv, connectStr);
+ brThread.start();
+
+ try {
+ Thread.sleep(500);
+ }
+ catch(java.lang.InterruptedException e) {}
+ // get an instance from the remote
+ Object obj = oObj.resolve(
+ "uno:" + connectStr + ";urp;com.sun.star.lang.ServiceManager");
+ // got the instance?
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, obj);
+
+ if (brThread.isAlive())
+ brThread.interrupt();
+
+ tRes.tested("resolve()", oMSF != null);
+ } catch (NoConnectException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ } catch (ConnectionSetupException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ } catch (IllegalArgumentException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/chart/_BarDiagram.java b/qadevOOo/tests/java/ifc/chart/_BarDiagram.java
new file mode 100644
index 000000000000..f22709df85bc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_BarDiagram.java
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.BarDiagram</code>
+* service properties:
+* <ul>
+* <li><code>'Vertical'</code></li>
+* <li><code>'Deep'</code></li>
+* <li><code>'StackedBarsConnected'</code></li>
+* <li><code>'NumberOfLines'</code></li>
+* </ul>
+* Properties testing is automated
+* by <code>lib.MultiPropertyTest</code> except property
+* <code>'NumberOfLines'</code>. <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* <ul> <p>
+* @see com.sun.star.chart.BarDiagram
+* @see com.sun.star.chart.XChartDocument
+* @see com.sun.star.chart.XDiagram
+* @see lib.MultiPropertyTest
+*/
+public class _BarDiagram extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ oldDiagram = doc.getDiagram();
+ doc.setDiagram(bar);
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ log.println("Set it to 3D");
+ try {
+ oObj.setPropertyValue("Dim3D", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+
+ protected PropertyTester LineTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ int a = 0;
+ int b = 2;
+ if ( ((Integer) oldValue).intValue() == a)
+ return new Integer(b); else
+ return new Integer(a);
+ }
+ } ;
+
+ /**
+ * Tests property 'NumberOfLines'.
+ * This property tests when diagram in 2D-mode only
+ * except all other properties. This property is currently supported by
+ * two dimensional vertical bar charts only.
+ */
+ public void _NumberOfLines() {
+ log.println("Set it to 2D");
+ try {
+ oObj.setPropertyValue("Dim3D", new Boolean(false));
+ oObj.setPropertyValue("Vertical", new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+
+ log.println("Testing with custom Property tester") ;
+ testProperty("NumberOfLines", LineTester) ;
+ }
+} // EOF BarDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java b/qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java
new file mode 100644
index 000000000000..531ec39478ed
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.Chart3DBarProperties</code>
+* service properties:
+* <ul>
+* <li><code> SolidType</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* <ul> <p>
+* @see com.sun.star.chart.Chart3DBarProperties
+* @see com.sun.star.chart.XChartDocument
+* @see com.sun.star.chart.XDiagram
+*/
+public class _Chart3DBarProperties extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ doc.setDiagram(bar);
+ log.println("Change Diagram to 3D");
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ }
+ }
+
+ /**
+ * Sets the diagram back to 2D as 2D rendering is much faster for the following tests.
+ */
+ protected void after() {
+ log.println("Setting Diagram back to 2D");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ log.println("Change Diagram to 3D");
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ }
+ }
+
+} // finish class _Chart3DBarProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxis.java b/qadevOOo/tests/java/ifc/chart/_ChartAxis.java
new file mode 100644
index 000000000000..7fad534b1948
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxis.java
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.StatusException;
+import util.ValueChanger;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxis</code>
+* service properties:
+* <ul>
+* <li><code> ArrangeOrder</code></li>
+* <li><code> AutoMax</code></li>
+* <li><code> AutoMin</code></li>
+* <li><code> AutoOrigin</code></li>
+* <li><code> AutoStepHelp</code></li>
+* <li><code> AutoStepMain</code></li>
+* <li><code> DisplayLabels</code></li>
+* <li><code> GapWidth</code></li>
+* <li><code> HelpMarks</code></li>
+* <li><code> Logarithmic</code></li>
+* <li><code> Marks</code></li>
+* <li><code> Max</code></li>
+* <li><code> Min</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> Origin</code></li>
+* <li><code> Overlap</code></li>
+* <li><code> StepHelp</code></li>
+* <li><code> StepMain</code></li>
+* <li><code> TextBreak</code></li>
+* <li><code> TextRotation</code></li>
+* <li><code> TextCanOverlap</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxis
+*/
+public class _ChartAxis extends MultiPropertyTest {
+
+ /**
+ * Tests property 'Max'.
+ * Property 'AutoOrigin' sets to true and property 'AutoMax'
+ * sets to false before test.
+ */
+ public void _Max() {
+ try {
+ //if AutoOrigin isn't true then this property works only when
+ //current Origin is less then new value of Max
+ oObj.setPropertyValue("AutoOrigin", new Boolean(true));
+ oObj.setPropertyValue("AutoMax",new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("Max");
+ }
+
+ /**
+ * Tests property 'Min'.
+ * Property 'AutoOrigin' sets to true and property 'AutoMin'
+ * sets to false before test.
+ */
+ public void _Min() {
+ try {
+ //if AutoOrigin isn't true then this property works only when
+ //current Origin is greater then new value of Min
+ oObj.setPropertyValue("AutoOrigin", new Boolean(true));
+ oObj.setPropertyValue("AutoMin", new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("Min");
+ }
+
+ /**
+ * Tests property 'Origin'.
+ * Property 'Logarithmic' sets to false before test.
+ */
+ public void _Origin() {
+ try {
+ oObj.setPropertyValue("Logarithmic",new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("Origin");
+ }
+
+ protected PropertyTester StepMainTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ Double ValueToSet = (Double) ValueChanger.changePValue(oldValue);
+ double stm = ValueToSet.doubleValue();
+ stm = stm / 5;
+ return new Double(stm);
+ }
+ };
+
+ /**
+ * Tests property 'StepMain'.
+ * Property 'Logarithmic' and 'AutoStepMain' sets
+ * to false before test.
+ */
+ public void _StepMain() {
+ try {
+ oObj.setPropertyValue("AutoStepMain", new Boolean(false));
+ oObj.setPropertyValue("Logarithmic",new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("StepMain", StepMainTester);
+ }
+} // finish class _ChartAxis
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java
new file mode 100644
index 000000000000..daf1ca3cc122
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxisXSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasXAxis</code></li>
+* <li><code> HasXAxisDescription</code></li>
+* <li><code> HasXAxisGrid</code></li>
+* <li><code> HasXAxisHelpGrid</code></li>
+* <li><code> HasXAxisTitle</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxisXSupplier
+*/
+public class _ChartAxisXSupplier extends MultiPropertyTest {
+ public void _HasXAxis() {
+ try {
+ log.println("Property HasXAxis");
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasXAxis")).booleanValue();
+ if (!res)
+ oObj.setPropertyValue("HasXAxis", Boolean.TRUE);
+ // test connected property HasXAxisDescription
+ if (!((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue())
+ oObj.setPropertyValue("HasXAxisDescription", Boolean.TRUE);
+
+ oObj.setPropertyValue("HasXAxis", Boolean.FALSE);
+ boolean setVal = ((Boolean)oObj.getPropertyValue(
+ "HasXAxis")).booleanValue();
+ log.println("Start value: " + setVal);
+ // description should also be false now
+ setVal |= ((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Connected value axis description: " + setVal);
+
+ oObj.setPropertyValue("HasXAxis", Boolean.TRUE);
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasXAxis")).booleanValue();
+ log.println("Changed value: " + !setVal);
+
+ // description should be true again
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Changed connected value axis description: " + !setVal);
+
+ tRes.tested("HasXAxis", !setVal);
+ // leave axis untouched
+ oObj.setPropertyValue("HasXAxis", new Boolean(res));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ }
+
+ public void _HasXAxisDescription() {
+ requiredMethod("HasXAxis");
+ try {
+ log.println("Property HasXAxisDescription");
+ if (!((Boolean)oObj.getPropertyValue("HasXAxis")).booleanValue())
+ oObj.setPropertyValue("HasXAxis", Boolean.TRUE);
+
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Start value: " + res);
+
+ oObj.setPropertyValue("HasXAxisDescription", new Boolean(!res));
+ boolean setValue = ((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Changed value: " + setValue);
+ tRes.tested("HasXAxisDescription", res != setValue);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ }
+} // EOF ChartAxisXSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java
new file mode 100644
index 000000000000..40f6f1663513
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxisYSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasYAxis</code></li>
+* <li><code> HasYAxisDescription</code></li>
+* <li><code> HasYAxisGrid</code></li>
+* <li><code> HasYAxisHelpGrid</code></li>
+* <li><code> HasYAxisTitle</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxisYSupplier
+*/
+public class _ChartAxisYSupplier extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+
+ public void _HasYAxis() {
+ try {
+ log.println("Property HasYAxis");
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasYAxis")).booleanValue();
+ if (!res)
+ oObj.setPropertyValue("HasYAxis", Boolean.TRUE);
+ // test connected property HasYAxisDescription
+ if (!((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue())
+ oObj.setPropertyValue("HasYAxisDescription", Boolean.TRUE);
+
+ oObj.setPropertyValue("HasYAxis", Boolean.FALSE);
+ boolean setVal = ((Boolean)oObj.getPropertyValue(
+ "HasYAxis")).booleanValue();
+ log.println("Start value: " + setVal);
+ // description should also be false now
+ setVal |= ((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Connected value axis description: " + setVal);
+
+ oObj.setPropertyValue("HasYAxis", Boolean.TRUE);
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasYAxis")).booleanValue();
+ log.println("Changed value: " + !setVal);
+
+ // description should be true again
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Changed connected value axis description: "+!setVal);
+
+ tRes.tested("HasYAxis", !setVal);
+ // leave axis untouched
+ oObj.setPropertyValue("HasYAxis", new Boolean(res));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ }
+
+ public void _HasYAxisDescription() {
+ requiredMethod("HasYAxis");
+ try {
+ log.println("Property HasYAxisDescription");
+ if (!((Boolean)oObj.getPropertyValue("HasYAxis")).booleanValue())
+ oObj.setPropertyValue("HasYAxis", Boolean.TRUE);
+
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Start value: " + res);
+
+ oObj.setPropertyValue("HasYAxisDescription", new Boolean(!res));
+ boolean setValue = ((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Changed value: " + setValue);
+ tRes.tested("HasYAxisDescription", res != setValue);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ }
+
+} // EOF ChartAxisYSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java
new file mode 100644
index 000000000000..2de116ddb80a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java
@@ -0,0 +1,204 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxisZSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasZAxis</code></li>
+* <li><code> HasZAxisDescription</code></li>
+* <li><code> HasZAxisGrid</code></li>
+* <li><code> HasZAxisHelpGrid</code></li>
+* <li><code> HasZAxisTitle</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document</li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxisZSupplier
+*/
+public class _ChartAxisZSupplier extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ doc.setDiagram(bar);
+ log.println("Set it to 3D");
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ public void _HasZAxis() {
+ try {
+ log.println("Property HasZAxis");
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasZAxis")).booleanValue();
+ if (!res)
+ oObj.setPropertyValue("HasZAxis", Boolean.TRUE);
+ // test connected property HasZAxisDescription
+ if (!((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue())
+ oObj.setPropertyValue("HasZAxisDescription", Boolean.TRUE);
+
+ oObj.setPropertyValue("HasZAxis", Boolean.FALSE);
+ boolean setVal = ((Boolean)oObj.getPropertyValue(
+ "HasZAxis")).booleanValue();
+ log.println("Start value: " + setVal);
+ // description should also be false now
+ setVal |= ((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Connected value axis description: " + setVal);
+
+ oObj.setPropertyValue("HasZAxis", Boolean.TRUE);
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasZAxis")).booleanValue();
+ log.println("Changed value: " + !setVal);
+
+ // description should be true again
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Changed connected value axis description: " + !setVal);
+
+ tRes.tested("HasZAxis", !setVal);
+ // leave axis untouched
+ oObj.setPropertyValue("HasZAxis", new Boolean(res));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ }
+
+ public void _HasZAxisDescription() {
+ requiredMethod("HasZAxis");
+ try {
+ log.println("Property HasZAxisDescription");
+ if (!((Boolean)oObj.getPropertyValue("HasZAxis")).booleanValue())
+ oObj.setPropertyValue("HasZAxis", Boolean.TRUE);
+
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Start value: " + res);
+
+ oObj.setPropertyValue("HasZAxisDescription", new Boolean(!res));
+ boolean setValue = ((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Changed value: " + setValue);
+ tRes.tested("HasZAxisDescription", res != setValue);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ }
+
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // EOF ChartAxisZSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java b/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java
new file mode 100644
index 000000000000..2ae9ac7fa36b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+
+/**
+* Testing <code>com.sun.star.chart.ChartDataPointProperties</code>
+* service properties :
+* <ul>
+* <li><code> DataCaption</code></li>
+* <li><code> SymbolType</code></li>
+* <li><code> SymbolBitmapURL</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>space-metal.jpg</code> :
+* for test of property 'SymbolBitmapURL' </li>
+* <ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'LINE'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDataPointProperties
+*/
+public class _ChartDataPointProperties extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram Line = (XDiagram) tEnv.getObjRelation("LINE");
+ if (Line == null) throw new StatusException(Status.failed
+ ("Relation 'LINE' not found"));
+
+ doc.setDiagram(Line);
+ }
+
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ return utils.getFullTestURL("space-metal.jpg");
+ }
+ };
+
+ /**
+ * Tests property 'SymbolBitmapURL' using file <code>polibal.gif</code>.
+ */
+ public void _SymbolBitmapURL() {
+ try {
+ oObj.setPropertyValue(
+ "SymbolType",
+ new Integer(com.sun.star.chart.ChartSymbolType.BITMAPURL) );
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+
+ testProperty("SymbolBitmapURL", URLTester);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java b/qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java
new file mode 100644
index 000000000000..82dc477efed1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartDataRowProperties</code>
+* service properties :
+* <ul>
+* <li><code> Axis</code></li>
+* <li><code> DataErrorProperties</code></li>
+* <li><code> DataMeanValueProperties</code></li>
+* <li><code> DataRegressionProperties</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDataRowProperties
+*/
+public class _ChartDataRowProperties extends MultiPropertyTest {
+
+ public void _Axis() {
+ try {
+ Integer axis = (Integer) oObj.getPropertyValue("Axis");
+ int newValue;
+ if (axis.intValue()==2) {
+ newValue = 4;
+ } else {
+ newValue = 2;
+ }
+ oObj.setPropertyValue("Axis", new Integer(newValue));
+ axis = (Integer) oObj.getPropertyValue("Axis");
+ tRes.tested("Axis",axis.intValue()==newValue);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ tRes.tested("Axis",false);
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartDocument.java b/qadevOOo/tests/java/ifc/chart/_ChartDocument.java
new file mode 100644
index 000000000000..0bb5c2cf5e2b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartDocument.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartDocument</code>
+* service properties :
+* <ul>
+* <li><code> HasLegend</code></li>
+* <li><code> HasMainTitle</code></li>
+* <li><code> HasSubTitle</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDocument
+*/
+public class _ChartDocument extends MultiPropertyTest {
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartLegend.java b/qadevOOo/tests/java/ifc/chart/_ChartLegend.java
new file mode 100644
index 000000000000..33f7f9ce7283
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartLegend.java
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartLegend</code>
+* service properties :
+* <ul>
+* <li><code> Alignment</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartLegend
+*/
+public class _ChartLegend extends MultiPropertyTest {
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartStatistics.java b/qadevOOo/tests/java/ifc/chart/_ChartStatistics.java
new file mode 100644
index 000000000000..ca1fe56a8b59
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartStatistics.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartStatistics</code>
+* service properties :
+* <ul>
+* <li><code> RegressionCurves</code></li>
+* <li><code> ConstantErrorLow</code></li>
+* <li><code> ConstantErrorHigh</code></li>
+* <li><code> MeanValue</code></li>
+* <li><code> ErrorCategory</code></li>
+* <li><code> PercentageError</code></li>
+* <li><code> ErrorMargin</code></li>
+* <li><code> ErrorIndicator</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartStatistics
+*/
+public class _ChartStatistics extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java
new file mode 100644
index 000000000000..a44cb3731d57
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.chart.ChartSeriesAddress;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTableAddressSupplier</code>
+* service properties :
+* <ul>
+* <li><code> CategoriesRangeAddress</code></li>
+* <li><code> SeriesAddresses</code></li>
+* <li><code> MainTitleAddress</code></li>
+* <li><code> SubTitleAddress</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTableAddressSupplier
+*/
+public class _ChartTableAddressSupplier extends MultiPropertyTest {
+
+ /**
+ * Tests property 'SeriesAddresses'.
+ */
+ public void _SeriesAddresses() {
+ testProperty("SeriesAddresses", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ ChartSeriesAddress[] addr = (ChartSeriesAddress[]) oldValue ;
+ ChartSeriesAddress[] newAddr = null ;
+ if (addr.length > 1) {
+ newAddr = new ChartSeriesAddress[addr.length - 1] ;
+ System.arraycopy(addr, 0, newAddr, 0, addr.length - 1) ;
+ } else {
+ newAddr = addr ;
+ }
+
+ return newAddr ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTitle.java b/qadevOOo/tests/java/ifc/chart/_ChartTitle.java
new file mode 100644
index 000000000000..7c3176eedb65
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTitle.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import util.ValueChanger;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTitle</code>
+* service properties :
+* <ul>
+* <li><code> TextRotation</code></li>
+* <li><code> String</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTitle
+*/
+public class _ChartTitle extends MultiPropertyTest {
+
+ /**
+ * Tests property 'TextRotation'.
+ */
+ public void _TextRotation() {
+ testProperty("TextRotation", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ Object ValueToSet = ValueChanger.changePValue(oldValue);
+ int ro = ((Integer) ValueToSet).intValue() * 100;
+ return new Integer( ro );
+ }
+ } );
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java
new file mode 100644
index 000000000000..a2ec31aa9145
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTwoAxisXSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasSecondaryXAxis</code></li>
+* <li><code> HasSecondaryXAxisDescription</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTwoAxisXSupplier
+*/
+public class _ChartTwoAxisXSupplier extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ oldDiagram = doc.getDiagram();
+
+ doc.setDiagram(bar);
+ log.println("Set it to 3D");
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+} // EOF ChartTwoAxisXSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java
new file mode 100644
index 000000000000..fa29c50d9b20
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTwoAxisYSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasSecondaryYAxis</code></li>
+* <li><code> HasSecondaryYAxisDescription</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTwoAxisYSupplier
+*/
+public class _ChartTwoAxisYSupplier extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ oldDiagram = doc.getDiagram();
+
+ doc.setDiagram(bar);
+ log.println("Set it to 3D");
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+} // EOF ChartTwoAxisYSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_Diagram.java b/qadevOOo/tests/java/ifc/chart/_Diagram.java
new file mode 100644
index 000000000000..a5bc75a98792
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_Diagram.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.Diagram</code>
+* service properties :
+* <ul>
+* <li><code> DataCaption</code></li>
+* <li><code> DataRowSource</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.Diagram
+*/
+public class _Diagram extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java b/qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java
new file mode 100644
index 000000000000..a28cf52a48fb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.Dim3DDiagram</code>
+* service properties :
+* <ul>
+* <li><code> Dim3D</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.Dim3DDiagram
+*/
+public class _Dim3DDiagram extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+} // EOF Dim3DDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_LineDiagram.java b/qadevOOo/tests/java/ifc/chart/_LineDiagram.java
new file mode 100644
index 000000000000..a2555ea26f69
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_LineDiagram.java
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.LineDiagram</code>
+* service properties :
+* <ul>
+* <li><code> SymbolType</code></li>
+* <li><code> SymbolSize</code></li>
+* <li><code> SymbolBitmapURL</code></li>
+* <li><code> Lines</code></li>
+* <li><code> SplineType</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>space-metal.jpg</code> :
+* for test of property 'SymbolBitmapURL' </li>
+* <li> <code>crazy-blue.jpg</code> :
+* for test of property 'SymbolBitmapURL' </li>
+* <ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'LINE'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.LineDiagram
+*/
+public class _LineDiagram extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram Line = (XDiagram) tEnv.getObjRelation("LINE");
+ if (Line == null) throw new StatusException(Status.failed
+ ("Relation 'LINE' not found"));
+
+ oldDiagram = doc.getDiagram();
+ doc.setDiagram(Line);
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg"); else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ protected PropertyTester SymbolTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+
+ int a = com.sun.star.chart.ChartSymbolType.AUTO;
+ int b = com.sun.star.chart.ChartSymbolType.NONE;
+ if ( ((Integer) oldValue).intValue() == a)
+ return new Integer(b); else
+ return new Integer(a);
+ }
+ } ;
+
+ protected PropertyTester SplineTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+
+ int a = 0;
+ int b = 2;
+ if ( ((Integer) oldValue).intValue() == a)
+ return new Integer(b); else
+ return new Integer(a);
+ }
+ } ;
+
+ /**
+ * Tests property 'SymbolType'.
+ */
+ public void _SymbolType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("SymbolType", SymbolTester) ;
+ try {
+ oObj.setPropertyValue("SymbolType",new Integer(-2));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Tests property 'SplineType'.
+ */
+ public void _SplineType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("SplineType", SplineTester) ;
+ }
+
+ /**
+ * Tests property 'SymbolBitmapURL'.
+ */
+ public void _SymbolBitmapURL() {
+ log.println("Testing with custom Property tester") ;
+ try {
+ oObj.setPropertyValue("SymbolType",
+ new Integer(com.sun.star.chart.ChartSymbolType.BITMAPURL));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+
+ testProperty("SymbolBitmapURL", URLTester) ;
+ }
+} // EOF LineDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_StackableDiagram.java b/qadevOOo/tests/java/ifc/chart/_StackableDiagram.java
new file mode 100644
index 000000000000..a6bca2a0b131
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_StackableDiagram.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.StackableDiagram</code>
+* service properties :
+* <ul>
+* <li><code> Percent</code></li>
+* <li><code> Stacked</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'STACK'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.StackableDiagram
+*/
+public class _StackableDiagram extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram stack = (XDiagram) tEnv.getObjRelation("STACK");
+ if (stack == null) throw new StatusException(Status.failed
+ ("Relation 'STACK' not found"));
+
+ oldDiagram = doc.getDiagram();
+
+ doc.setDiagram(stack);
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+
+} // EOF StackableDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_StockDiagram.java b/qadevOOo/tests/java/ifc/chart/_StockDiagram.java
new file mode 100644
index 000000000000..d76875fe017c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_StockDiagram.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.StockDiagram</code>
+* service properties :
+* <ul>
+* <li><code> Volume</code></li>
+* <li><code> UpDown</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'STOCK'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.StockDiagram
+*/
+public class _StockDiagram extends MultiPropertyTest {
+
+ XDiagram oldDiagram = null;
+ XChartDocument doc = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ protected void before() {
+ log.println("Setting Diagram type to StockDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram stock = (XDiagram) tEnv.getObjRelation("STOCK");
+ if (stock == null) throw new StatusException(Status.failed
+ ("Relation 'STOCK' not found"));
+
+ oldDiagram = doc.getDiagram();
+ doc.setDiagram(stock);
+ oObj = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, doc.getDiagram());
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_X3DDisplay.java b/qadevOOo/tests/java/ifc/chart/_X3DDisplay.java
new file mode 100644
index 000000000000..16553df61ad9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_X3DDisplay.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.X3DDisplay;
+
+/**
+* Testing <code>com.sun.star.chart.X3DDisplay</code>
+* interface methods :
+* <ul>
+* <li><code> getWall()</code></li>
+* <li><code> getFloor()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.X3DDisplay
+*/
+public class _X3DDisplay extends MultiMethodTest {
+
+ public X3DDisplay oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getWall() {
+ result = true;
+
+ XPropertySet Wall = oObj.getWall();
+ result = (Wall != null);
+
+ tRes.tested("getWall()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getFloor() {
+ result = true;
+
+ XPropertySet Floor = oObj.getWall();
+ result = (Floor != null);
+
+ tRes.tested("getFloor()", result);
+ }
+
+} // EOF X3DDisplay
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java
new file mode 100644
index 000000000000..6e318e0acebc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisXSupplier;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XAxisXSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getXMainGrid()</code></li>
+* <li><code> getXAxisTitle()</code></li>
+* <li><code> getXAxis()</code></li>
+* <li><code> getXHelpGrid()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XAxisXSupplier
+*/
+public class _XAxisXSupplier extends MultiMethodTest {
+
+ public XAxisXSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXMainGrid() {
+ result = true;
+
+ XPropertySet MGrid = oObj.getXMainGrid();
+ result = (MGrid != null);
+
+ tRes.tested("getXMainGrid()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXAxisTitle() {
+ result = true;
+
+ XShape title = oObj.getXAxisTitle();
+ result = (title != null);
+
+ tRes.tested("getXAxisTitle()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXAxis() {
+ result = true;
+
+ XPropertySet axis = oObj.getXAxis();
+ result = (axis != null);
+
+ tRes.tested("getXAxis()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXHelpGrid() {
+ result = true;
+
+ XPropertySet HGrid = oObj.getXHelpGrid();
+ result = (HGrid != null);
+
+ tRes.tested("getXHelpGrid()", result);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java
new file mode 100644
index 000000000000..d5e75fa27131
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisYSupplier;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XAxisYSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getYMainGrid()</code></li>
+* <li><code> getYAxisTitle()</code></li>
+* <li><code> getYAxis()</code></li>
+* <li><code> getYHelpGrid()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XAxisYSupplier
+*/
+public class _XAxisYSupplier extends MultiMethodTest {
+
+ public XAxisYSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYMainGrid() {
+ result = true;
+
+ XPropertySet MGrid = oObj.getYMainGrid();
+ result = (MGrid != null);
+
+ tRes.tested("getYMainGrid()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYAxisTitle() {
+ result = true;
+
+ XShape title = oObj.getYAxisTitle();
+ result = (title != null);
+
+ tRes.tested("getYAxisTitle()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYAxis() {
+ result = true;
+
+ XPropertySet axis = oObj.getYAxis();
+ result = (axis != null);
+
+ tRes.tested("getYAxis()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYHelpGrid() {
+ result = true;
+
+ XPropertySet HGrid = oObj.getYHelpGrid();
+ result = (HGrid != null);
+
+ tRes.tested("getYHelpGrid()", result);
+ }
+} // EOF XAxisYSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java b/qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java
new file mode 100644
index 000000000000..9e7fd3212c53
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisZSupplier;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XAxisZSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getZMainGrid()</code></li>
+* <li><code> getZAxisTitle()</code></li>
+* <li><code> getZAxis()</code></li>
+* <li><code> getZHelpGrid()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XAxisZSupplier
+*/
+public class _XAxisZSupplier extends MultiMethodTest {
+ public XAxisZSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZMainGrid() {
+ result = true;
+
+ XPropertySet MGrid = oObj.getZMainGrid();
+ result = (MGrid != null);
+
+ tRes.tested("getZMainGrid()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZAxisTitle() {
+ result = true;
+
+ XShape title = oObj.getZAxisTitle();
+ result = (title != null);
+
+ tRes.tested("getZAxisTitle()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZAxis() {
+ result = true;
+
+ XPropertySet axis = oObj.getZAxis();
+ result = (axis != null);
+
+ tRes.tested("getZAxis()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZHelpGrid() {
+ result = true;
+
+ XPropertySet HGrid = oObj.getZHelpGrid();
+ result = (HGrid != null);
+
+ tRes.tested("getZHelpGrid()", result);
+ }
+
+} // EOF XAxisZSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XChartData.java b/qadevOOo/tests/java/ifc/chart/_XChartData.java
new file mode 100644
index 000000000000..98dad0741509
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XChartData.java
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import com.sun.star.chart.ChartDataChangeEvent;
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDataArray;
+import com.sun.star.chart.XChartDataChangeEventListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+
+/**
+* Testing <code>com.sun.star.chart.XChartData</code>
+* interface methods :
+* <ul>
+* <li><code> addChartDataChangeEventListener()</code></li>
+* <li><code> removeChartDataChangeEventListener()</code></li>
+* <li><code> getNotANumber()</code></li>
+* <li><code> isNotANumber()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XChartData
+*/
+public class _XChartData extends MultiMethodTest {
+ public XChartData oObj = null;
+ boolean result = true;
+ double nan = 0;
+ XChartDataArray dataArray = null;
+ boolean[] dataChanged = new boolean[2];
+ XChartDataChangeEventListener listener1 = new MyEventListener();
+ XChartDataChangeEventListener listener2 = new MyEventListener2();
+
+ /**
+ * Test calls the method adding two listeners and then changes data. <p>
+ * Has <b> OK </b> status if after data were changed
+ * listeners were called. <p>
+ */
+ public void _addChartDataChangeEventListener() {
+ dataChanged[0] = false;
+ dataChanged[1] = false;
+
+ oObj.addChartDataChangeEventListener(listener1);
+ oObj.addChartDataChangeEventListener(listener2);
+
+ dataArray = (XChartDataArray) UnoRuntime.queryInterface(
+ XChartDataArray.class, oObj);
+
+ double[][] data = dataArray.getData();
+ data[0][0] += 0.1;
+ dataArray.setData(data);
+
+ if (!dataChanged[0]) {
+ log.println("ChartDataChangeEventListener1 " +
+ "isn't called after changing data");
+ }
+
+ if (!dataChanged[1]) {
+ log.println("ChartDataChangeEventListener2 " +
+ "isn't called after changing data");
+ }
+
+ tRes.tested("addChartDataChangeEventListener()",
+ dataChanged[0] && dataChanged[1]);
+ }
+
+ /**
+ * Test calls the method for one listener, changes data,
+ * calls the method for other listener and again changes data. <p>
+ * Has <b> OK </b> status if listener is not called after removing. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>addChartDataChangeEventListener</code> : to have listeners
+ * that must be removed by the method </li>
+ * </ul>
+ */
+ public void _removeChartDataChangeEventListener() {
+ requiredMethod("addChartDataChangeEventListener()");
+
+ dataChanged[0] = false;
+ dataChanged[1] = false;
+
+ oObj.removeChartDataChangeEventListener(listener1);
+ dataArray = (XChartDataArray) UnoRuntime.queryInterface(
+ XChartDataArray.class, oObj);
+
+ double[][] data = dataArray.getData();
+ data[0][0] += 0.1;
+ dataArray.setData(data);
+ oObj.removeChartDataChangeEventListener(listener2);
+
+ if (dataChanged[0]) {
+ log.println("ChartDataChangeEventListener1 is " +
+ "called after removing listener");
+ }
+
+ tRes.tested("removeChartDataChangeEventListener()",
+ ((!dataChanged[0]) && (dataChanged[1])));
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the return value isn't equal to 1. <p>
+ */
+ public void _getNotANumber() {
+ result = true;
+
+ nan = oObj.getNotANumber();
+ log.println("Current NotANumber is " + nan);
+ result = nan != 1;
+
+ tRes.tested("getNotANumber()", result);
+ }
+
+ /**
+ * Test calls the method with NAN value and with non NAN value. <p>
+ * Has <b> OK </b> status if the method returns true for NAN value and
+ * returns false for other value<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getNotANumber</code> : to have the current NAN value </li>
+ * </ul>
+ */
+ public void _isNotANumber() {
+ requiredMethod("getNotANumber()");
+ result = true;
+
+ result = (oObj.isNotANumber(nan) && !oObj.isNotANumber(nan + 1));
+
+ tRes.tested("isNotANumber()", result);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+ class MyEventListener implements XChartDataChangeEventListener {
+ public void disposing(EventObject oEvent) {
+ System.out.println("Listener1 disposed");
+ }
+
+ public void chartDataChanged(ChartDataChangeEvent ev) {
+ dataChanged[0] = true;
+ }
+ }
+
+ class MyEventListener2 implements XChartDataChangeEventListener {
+ public void disposing(EventObject oEvent) {
+ System.out.println("Listener2 disposed");
+ }
+
+ public void chartDataChanged(ChartDataChangeEvent ev) {
+ dataChanged[1] = true;
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/chart/_XChartDataArray.java b/qadevOOo/tests/java/ifc/chart/_XChartDataArray.java
new file mode 100644
index 000000000000..1c6b9b8a10f7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XChartDataArray.java
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import com.sun.star.beans.XPropertySet;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.chart.XChartDataArray;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.XChartDataArray</code>
+* interface methods :
+* <ul>
+* <li><code> getColumnDescriptions()</code></li>
+* <li><code> getData()</code></li>
+* <li><code> getRowDescriptions()</code></li>
+* <li><code> setColumnDescriptions()</code></li>
+* <li><code> setData()</code></li>
+* <li><code> setRowDescriptions()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XChartDataArray
+*/
+public class _XChartDataArray extends MultiMethodTest {
+
+ public XChartDataArray oObj = null;
+ boolean bResult = true;
+ String[] colDscs = new String[3];
+ String[] rowDscs = new String[3];
+ double[][] data = null;
+ private boolean mbExcludeSetRowAndSetColumn = false;
+ private String msExcludeMessage;
+
+ protected void before() {
+ Object o = tEnv.getObjRelation("CRDESC");
+ if (o != null) {
+ mbExcludeSetRowAndSetColumn = true;
+ msExcludeMessage = (String)o;
+ }
+ if (!mbExcludeSetRowAndSetColumn) {
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ if(xProp != null) {
+ try {
+ boolean columnAsLabel = ((Boolean)xProp.getPropertyValue("ChartColumnAsLabel")).booleanValue();
+ boolean rowAsLabel = ((Boolean)xProp.getPropertyValue("ChartRowAsLabel")).booleanValue();
+ if (!columnAsLabel) {
+ xProp.setPropertyValue("ChartColumnAsLabel", Boolean.TRUE);
+ }
+ if (!rowAsLabel) {
+ xProp.setPropertyValue("ChartRowAsLabel", Boolean.TRUE);
+ }
+ }
+ catch(Exception e) {
+ // ignore
+ }
+ }
+ }
+ }
+
+ /**
+ * Test calls the method and restores new values. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setColumnDescriptions() {
+ bResult = true;
+
+ colDscs = oObj.getColumnDescriptions();
+ if (mbExcludeSetRowAndSetColumn) {
+ log.println(msExcludeMessage);
+ throw new StatusException(Status.skipped(true));
+ }
+ for (int i = 0; i < colDscs.length; i++) {
+ colDscs[i] = "Col" + i;
+ }
+ oObj.setColumnDescriptions(colDscs);
+
+ tRes.tested("setColumnDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and restores new values. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setColumnDescriptions </code></li>
+ * </ul>
+ */
+ public void _setRowDescriptions() {
+ bResult = true;
+
+ rowDscs = oObj.getRowDescriptions();
+ if (mbExcludeSetRowAndSetColumn) {
+ log.println(msExcludeMessage);
+ throw new StatusException(Status.skipped(true));
+ }
+ for (int i = 0; i < rowDscs.length; i++) {
+ rowDscs[i] = "Row" + i;
+ }
+ oObj.setRowDescriptions(rowDscs);
+
+ tRes.tested("setRowDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and restores new values. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setRowDescriptions </code></li>
+ * </ul>
+ */
+ public void _setData() {
+ rowDscs = oObj.getRowDescriptions();
+ colDscs = oObj.getColumnDescriptions();
+
+ bResult = true;
+ double[][] _data = oObj.getData();
+ data = _data;
+
+ for (int i = 0; i < rowDscs.length; i++) {
+ for (int j = 0; j < colDscs.length; j++)
+ data[i][j] = i * (j + 1);
+ }
+ oObj.setData(data);
+
+ tRes.tested("setData()", bResult);
+ }
+
+ /**
+ * Test calls the method and compare returned values with values restored
+ * after method <code>setColumnDescriptions</code>. <p>
+ * Has <b> OK </b> status if the returned values equils to restored values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData </code> : to set and restore new values </li>
+ * </ul>
+ */
+ public void _getColumnDescriptions() {
+ requiredMethod("setColumnDescriptions()");
+ bResult = true;
+
+ String[] dscs = oObj.getColumnDescriptions();
+ bResult &= dscs.length == colDscs.length;
+ if (bResult) {
+ for (int i = 0; i < dscs.length; i++) {
+ bResult &= dscs[i].equals(colDscs[i]);
+ }
+ }
+
+ tRes.tested("getColumnDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and compare returned values with values restored
+ * after method <code>setRowDescriptions</code>. <p>
+ * Has <b> OK </b> status if the returned values equils to restored values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData </code> : to set and restore new values </li>
+ * </ul>
+ */
+ public void _getRowDescriptions() {
+ requiredMethod("setRowDescriptions()");
+ bResult = true;
+
+ String[] dscs = oObj.getRowDescriptions();
+ bResult &= dscs.length == rowDscs.length;
+ if (bResult) {
+ for (int i = 0; i < dscs.length; i++) {
+ bResult &= dscs[i].equals(rowDscs[i]);
+ }
+ }
+
+ tRes.tested("getRowDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and compare returned values with values restored
+ * after method <code>setData</code>. <p>
+ * Has <b> OK </b> status if the returned values equils to restored values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData </code> : to set and restore new values </li>
+ * </ul>
+ */
+ public void _getData() {
+ requiredMethod("setData()");
+ bResult = true;
+
+ double[][] _data = oObj.getData();
+ data = _data;
+ for (int i = 0; i < rowDscs.length; i++) {
+ for (int j = 0; j < colDscs.length; j++) {
+ bResult &= data[i][j] == _data[i][j];
+ }
+ }
+
+ tRes.tested("getData()", bResult);
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XChartDocument.java b/qadevOOo/tests/java/ifc/chart/_XChartDocument.java
new file mode 100644
index 000000000000..1ce64a0b5ab0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XChartDocument.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XChartDocument</code>
+* interface methods :
+* <ul>
+* <li><code> getTitle()</code></li>
+* <li><code> getSubTitle()</code></li>
+* <li><code> getLegend()</code></li>
+* <li><code> getArea()</code></li>
+* <li><code> getDiagram()</code></li>
+* <li><code> setDiagram()</code></li>
+* <li><code> getData()</code></li>
+* <li><code> attachData()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DIAGRAM'</code> (of type <code>XDiagram</code>):
+* is used as parameter for method <code>setDiagram</code> </li>
+* <li> <code>'CHARTDATA'</code> (of type <code>XChartData</code>):
+* is used as parameter for method <code>attachData</code> </li>
+* </ul>
+*
+* @see com.sun.star.chart.XChartDocument
+*/
+public class _XChartDocument extends MultiMethodTest {
+
+ public XChartDocument oObj = null;
+ boolean result = true;
+ XDiagram diagram = null;
+ XChartData ChartData = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getTitle() {
+ XShape title = oObj.getTitle();
+ tRes.tested("getTitle()", title != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSubTitle() {
+ XShape subtitle = oObj.getSubTitle();
+ tRes.tested("getSubTitle()", subtitle != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getLegend() {
+ XShape legend = oObj.getLegend();
+ tRes.tested("getLegend()", legend != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getArea() {
+ XPropertySet area = oObj.getArea();
+ tRes.tested("getArea()", area != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getDiagram() {
+ diagram = oObj.getDiagram();
+ tRes.tested("getDiagram()", diagram != null);
+ }
+
+ /**
+ * Test compares type of diagram before method call and after.<p>
+ * Has <b> OK </b> status if diagram types are not equal. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDiagram </code> : to have diagram before method call</li>
+ * </ul>
+ *
+ * @see com.sun.star.chart.XDiagram
+ */
+ public void _setDiagram() {
+ requiredMethod("getDiagram()");
+ String oldType = diagram.getDiagramType();
+ XDiagram diag = (XDiagram)tEnv.getObjRelation("DIAGRAM");
+ oObj.setDiagram(diag);
+ String newType = oObj.getDiagram().getDiagramType();
+ tRes.tested("setDiagram()", !(oldType.equals(newType)));
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getData() {
+ ChartData = oObj.getData();
+ tRes.tested("getData()", ChartData != null);
+ }
+
+ /**
+ * Test compares data before method call and after. <p>
+ * Has <b> OK </b> status if the data before method call and
+ * after are not equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getData </code> : to have data before method call </li>
+ * </ul>
+ * @see com.sun.star.chart.XChartData
+ */
+ public void _attachData() {
+ requiredMethod("getData()");
+ XChartData data = (XChartData)tEnv.getObjRelation("CHARTDATA");
+ oObj.attachData(data);
+ XChartData newdata = oObj.getData();
+
+ tRes.tested("attachData()", !(newdata.equals(ChartData)));
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XDiagram.java b/qadevOOo/tests/java/ifc/chart/_XDiagram.java
new file mode 100644
index 000000000000..e91ba14cd61c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XDiagram.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XDiagram;
+
+/**
+* Testing <code>com.sun.star.chart.XDiagram</code>
+* interface methods :
+* <ul>
+* <li><code> getDiagramType()</code></li>
+* <li><code> getDataRowProperties()</code></li>
+* <li><code> getDataPointProperties()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ROWAMOUNT'</code> (of type <code>Integer</code>):
+* to have amount of rows </li>
+* <li> <code>'COLAMOUNT'</code> (of type <code>Integer</code>):
+* to have amount of columns </li>
+* <ul> <p>
+* @see com.sun.star.chart.XDiagram
+*/
+public class _XDiagram extends MultiMethodTest {
+
+ public XDiagram oObj = null;
+ boolean result = true;
+ Integer rowamount = null;
+ Integer colamount = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ rowamount = (Integer)tEnv.getObjRelation("ROWAMOUNT");
+ if (rowamount == null) throw new StatusException(Status.failed
+ ("Relation 'ROWAMOUNT' not found"));
+
+ colamount = (Integer)tEnv.getObjRelation("COLAMOUNT");
+ if (colamount == null) throw new StatusException(Status.failed
+ ("Relation 'COLAMOUNT' not found"));
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value start from 'com.sun.star.chart.' <p>
+ */
+ public void _getDiagramType() {
+ result = true;
+
+ String stype = oObj.getDiagramType();
+ log.println("Current Diagram Type is " + stype);
+ result = (stype.startsWith("com.sun.star.chart."));
+
+ tRes.tested("getDiagramType()", result);
+ }
+
+ /**
+ * Test calls the method for every row and checks returned value. <p>
+ * Has <b> OK </b> status if returned value for every row isn't null and
+ * no exceptions were thrown. <p>
+ */
+ public void _getDataRowProperties() {
+ result = true;
+
+ int rows = rowamount.intValue();
+ rows -= 1;
+ XPropertySet props = null;
+
+ log.println("There are " + rows + " rows.");
+ try {
+ for (int i = 0; i < rows; i++) {
+ props = oObj.getDataRowProperties(i);
+ if (props != null) {
+ log.println("Row " + i + " - OK");
+ } else {
+ log.println("Row " + i + " - FAILED");
+ result = false;
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception while get data row properties");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getDataRowProperties()", result);
+ }
+
+ /**
+ * Test calls the method for every point and checks returned value. <p>
+ * Has <b> OK </b> status if returned value for every point isn't null and
+ * no exceptions were thrown. <p>
+ */
+ public void _getDataPointProperties() {
+ result = true;
+
+ int rows = rowamount.intValue();
+ int cols = colamount.intValue();
+ XPropertySet props = null;
+
+ log.println("There are " + rows + " rows and " + cols + " cols.");
+
+ try {
+ for (int i = 0; i < rows; i++)
+ for (int j = 0; j < cols; j++) {
+ props = oObj.getDataPointProperties(i, j);
+ if (props != null) {
+ log.println("Row " + i + " Col " + j + " - OK");
+ } else {
+ log.println("Row " + i + " Col " + j + " - FAILED");
+ result = false;
+ }
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception while get data point properties");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getDataPointProperties()", result);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java b/qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java
new file mode 100644
index 000000000000..984838a65ae8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XStatisticDisplay;
+
+/**
+* Testing <code>com.sun.star.chart.XStatisticDisplay</code>
+* interface methods :
+* <ul>
+* <li><code> getMinMaxLine()</code></li>
+* <li><code> getUpBar()</code></li>
+* <li><code> getDownBar()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XStatisticDisplay
+*/
+public class _XStatisticDisplay extends MultiMethodTest {
+
+ public XStatisticDisplay oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getMinMaxLine() {
+ result = true;
+
+ XPropertySet MinMaxLine = oObj.getMinMaxLine();
+ result = (MinMaxLine != null);
+
+ tRes.tested("getMinMaxLine()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getUpBar() {
+ result = true;
+
+ XPropertySet UpBar = oObj.getUpBar();
+ result = (UpBar != null);
+
+ tRes.tested("getUpBar()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getDownBar() {
+ result = true;
+
+ XPropertySet DownBar = oObj.getDownBar();
+ result = (DownBar != null);
+
+ tRes.tested("getDownBar()", result);
+ }
+
+} // EOF XStatisticDisplay
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java
new file mode 100644
index 000000000000..3455f51c95d1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XTwoAxisXSupplier;
+
+/**
+* Testing <code>com.sun.star.chart.XTwoAxisXSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getSecondaryXAxis()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XTwoAxisXSupplier
+*/
+public class _XTwoAxisXSupplier extends MultiMethodTest {
+
+ public XTwoAxisXSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSecondaryXAxis() {
+ result = true;
+
+ XPropertySet SecXAxis = oObj.getSecondaryXAxis();
+ result = (SecXAxis != null);
+
+ tRes.tested("getSecondaryXAxis()", result);
+ }
+
+} // EOF XTwoAxisXSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java
new file mode 100644
index 000000000000..5786da65c2d1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XTwoAxisYSupplier;
+
+/**
+* Testing <code>com.sun.star.chart.XTwoAxisYSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getSecondaryYAxis()</code></li>
+* </ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.chart.XTwoAxisYSupplier
+*/
+public class _XTwoAxisYSupplier extends MultiMethodTest {
+
+ public XTwoAxisYSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSecondaryYAxis() {
+ result = true;
+
+ XPropertySet SecYAxis = oObj.getSecondaryYAxis();
+ result = (SecYAxis != null);
+
+ tRes.tested("getSecondaryYAxis()", result);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // EOF XTwoAxisYSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java b/qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java
new file mode 100644
index 000000000000..4c368c30fefe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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;
+
+import com.sun.star.configuration.XTemplateContainer;
+import lib.MultiMethodTest;
+
+
+public class _XTemplateContainer extends MultiMethodTest {
+
+ public XTemplateContainer oObj;
+
+ public void _getElementTemplateName() {
+ String tName = (String) tEnv.getObjRelation("TemplateName");
+ String oTName = oObj.getElementTemplateName();
+ log.println("TemplateName: "+oTName);
+ boolean res = oTName.equals(tName);
+ if (!res) {
+ log.println("Expected: "+tName);
+ log.println("Gained: "+oTName);
+ }
+ tRes.tested("getElementTemplateName()", res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java b/qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java
new file mode 100644
index 000000000000..52a0cd3f6b0d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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;
+
+import com.sun.star.configuration.XTemplateInstance;
+import lib.MultiMethodTest;
+
+
+public class _XTemplateInstance extends MultiMethodTest {
+
+ public XTemplateInstance oObj;
+
+
+ public void _getTemplateName() {
+ String expected = (String) tEnv.getObjRelation("TemplateInstance");
+ String getting = oObj.getTemplateName();
+ boolean res = getting.equals(expected);
+ if (!res) {
+ log.println("Expected: "+expected);
+ log.println("Getting: "+getting);
+ }
+ tRes.tested("getTemplateName()",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java b/qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java
new file mode 100644
index 000000000000..68d113ebb8b4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java
@@ -0,0 +1,265 @@
+/*************************************************************************
+ *
+ * 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.XBackend;
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XUpdateHandler;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XStringSubstitution;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+
+
+public class _XBackend extends MultiMethodTest {
+ public XBackend oObj;
+
+ public void _getOwnUpdateHandler() {
+ boolean res = true;
+
+ String noUpdate = (String) tEnv.getObjRelation("noUpdate");
+
+ if (noUpdate != null) {
+ log.println(noUpdate);
+ tRes.tested("getOwnUpdateHandler()", res);
+
+ return;
+ }
+
+ try {
+ XUpdateHandler aHandler = oObj.getOwnUpdateHandler(
+ "org.openoffice.Office.Linguistic");
+ res &= (aHandler != null);
+
+ if (aHandler == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getOwnUpdateHandler()", res);
+ }
+
+ public void _getUpdateHandler() {
+ boolean res = true;
+
+ String noUpdate = (String) tEnv.getObjRelation("noUpdate");
+
+ if (noUpdate != null) {
+ log.println(noUpdate);
+ tRes.tested("getUpdateHandler()", res);
+
+ return;
+ }
+
+ try {
+ XUpdateHandler aHandler = oObj.getUpdateHandler(
+ "org.openoffice.Office.TypeDetection",
+ "illegal");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ try {
+ XStringSubstitution sts = createStringSubstitution(
+ (XMultiServiceFactory) tParam.getMSF());
+ String ent = sts.getSubstituteVariableValue("$(inst)") +
+ "/share/registry";
+ XUpdateHandler aHandler = oObj.getUpdateHandler(
+ "org.openoffice.Office.Jobs",
+ ent);
+
+ if (aHandler == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdateHandler()", res);
+ }
+
+ public void _listLayers() {
+ boolean res = true;
+
+ try {
+ XStringSubstitution sts = createStringSubstitution(
+ (XMultiServiceFactory) tParam.getMSF());
+ String ent = sts.getSubstituteVariableValue("$(inst)") +
+ "/share/registry";
+ XLayer[] Layers = oObj.listLayers(
+ "org.openoffice.Office.Linguistic", ent);
+
+ for (int i = 0; i < Layers.length; i++) {
+ log.println("Checking Layer " + i);
+ res &= checkLayer(Layers[i]);
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("listLayers()", res);
+ }
+
+ public void _listOwnLayers() {
+ boolean res = true;
+
+ try {
+ XLayer[] Layers = oObj.listOwnLayers(
+ "org.openoffice.Office.Common");
+
+ for (int i = 0; i < Layers.length; i++) {
+ log.println("Checking Layer " + i);
+ res &= checkLayer(Layers[i]);
+ }
+ if (Layers.length==0) {
+ System.out.println("No Layers found -- FAILED");
+ res &= false;
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("listOwnLayers()", res);
+ }
+
+ protected boolean checkLayer(XLayer aLayer) {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aLayer.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ aLayer.readData(xLayerHandler);
+
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+
+ int sl = implCalled.indexOf("startLayer");
+
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+
+ int el = implCalled.indexOf("endLayer");
+
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+ }
+
+ public static XStringSubstitution createStringSubstitution(XMultiServiceFactory xMSF) {
+ Object xPathSubst = null;
+
+ try {
+ xPathSubst = xMSF.createInstance(
+ "com.sun.star.util.PathSubstitution");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+
+ if (xPathSubst != null) {
+ return (XStringSubstitution) UnoRuntime.queryInterface(
+ XStringSubstitution.class, xPathSubst);
+ } else {
+ return null;
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java b/qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java
new file mode 100644
index 000000000000..6a36c889985f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java
@@ -0,0 +1,181 @@
+/*************************************************************************
+ *
+ * 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.XBackendEntities;
+
+import lib.MultiMethodTest;
+
+
+public class _XBackendEntities extends MultiMethodTest {
+ String AdminEntity = "";
+ String OwnerEntity = "";
+ String adm = "";
+ public XBackendEntities oObj;
+
+ public void before() {
+ adm = (String) tEnv.getObjRelation("NoAdmin");
+ }
+
+ public void _getAdminEntity() {
+ if (adm != null) {
+ AdminEntity = adm;
+ log.println(
+ "This component doesn't have an AdminEntity, setting it to default");
+ tRes.tested("getAdminEntity()", true);
+
+ return;
+ }
+
+ AdminEntity = oObj.getAdminEntity();
+
+ boolean res = AdminEntity.endsWith("/share/registry");
+
+ if (!res) {
+ log.println("Expected the Entity to end with /share/registry");
+ log.println("getting: " + AdminEntity + " -- FAILED");
+ }
+
+ tRes.tested("getAdminEntity()", res);
+ }
+
+ public void _getOwnerEntity() {
+ OwnerEntity = oObj.getOwnerEntity();
+
+ boolean res = OwnerEntity.endsWith("/user/registry");
+
+ if (!res) {
+ log.println("Expected the Entity to end with /user/registry");
+ log.println("getting: " + OwnerEntity + " -- FAILED");
+ }
+
+ tRes.tested("getOwnerEntity()", res);
+ }
+
+ public void _isEqualEntity() {
+ boolean res = true;
+ boolean localRes = true;
+
+ try {
+ localRes = oObj.isEqualEntity("", "");
+ log.println(
+ "No Exception thrown for isEqualEntity(\"\",\"\") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Expected Exception (" + e + ") -- OK");
+ res &= true;
+ }
+
+ try {
+ localRes = oObj.isEqualEntity(AdminEntity, AdminEntity);
+
+ if (!localRes) {
+ log.println(
+ "isEqualEntity(AdminEntity,AdminEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+
+ localRes = oObj.isEqualEntity(OwnerEntity, OwnerEntity);
+
+ if (!localRes) {
+ log.println(
+ "isEqualEntity(OwnerEntity,OwnerEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+
+ localRes = !oObj.isEqualEntity(AdminEntity, OwnerEntity);
+
+ if (!localRes) {
+ log.println(
+ "isEqualEntity(AdminEntity,OwnerEntity) returns true -- FAILED");
+ }
+
+ res &= localRes;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("isEqualEntity()", res);
+ }
+
+ public void _supportsEntity() {
+ boolean res = true;
+ boolean localRes = true;
+
+ try {
+ localRes = oObj.supportsEntity("illegal");
+ log.println(
+ "No Exception thrown for supportsEntity(\"\") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Expected Exception (" + e + ") -- OK");
+ res &= true;
+ }
+
+ try {
+ localRes = oObj.supportsEntity(AdminEntity);
+
+ if (adm != null) {
+ Object msb = tEnv.getObjRelation("MSB") ;
+ if (msb == null){
+ localRes = !localRes;
+ log.println("This Component doesn't support the AdminEntity");
+ }
+ }
+
+ if (!localRes) {
+ log.println(
+ "supportsEntity(AdminEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+
+ localRes = oObj.supportsEntity(OwnerEntity);
+
+ if (!localRes) {
+ log.println(
+ "supportsEntity(OwnerEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("supportsEntity()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java b/qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java
new file mode 100644
index 000000000000..784f14b4b5b0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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 lib.MultiMethodTest;
+import util.XLayerHandlerImpl;
+
+public class _XLayer extends MultiMethodTest {
+
+ public XLayer oObj;
+
+ public void _readData() {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of nul argument");
+
+ try {
+ oObj.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ oObj.readData(xLayerHandler);
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+ int sl = implCalled.indexOf("startLayer");
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+ int el = implCalled.indexOf("endLayer");
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("readData()",res);
+ }
+
+}
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
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java
new file mode 100644
index 000000000000..39193787a857
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * 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.XBackend;
+import com.sun.star.configuration.backend.XLayerImporter;
+import lib.MultiMethodTest;
+
+public class _XLayerImporter extends MultiMethodTest {
+
+ public XLayerImporter oObj;
+ public XBackend xBackend = null;
+
+ public void _getTargetBackend() {
+ xBackend = oObj.getTargetBackend();
+ tRes.tested("getTargetBackend()", xBackend != null);
+ }
+
+ public void _importLayer() {
+ boolean res = false;
+ log.println("checking for exception is argument null is given");
+ try {
+ oObj.importLayer(null);
+ log.println("\tException expected -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res = true;
+ log.println("\tExpected exception was thrown -- OK");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res = false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res = false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res = false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ log.println("checking own implementation of XLayer");
+ try {
+ util.XLayerImpl xLayer = new util.XLayerImpl();
+ oObj.importLayer(xLayer);
+ if (! xLayer.hasBeenCalled()) {
+ log.println("\tXLayer hasn't been imported -- FAILED");
+ res &= false;
+ } else {
+ log.println("\tXLayer has been imported -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res &= false;
+ log.println("\tExpected exception "+ne+" was thrown -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res &= false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res &= false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res &= false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ tRes.tested("importLayer()",res);
+ }
+
+ public void _importLayerForEntity() {
+ boolean res = false;
+ log.println("checking for exception for argument (null,\"\")");
+ try {
+ oObj.importLayerForEntity(null,"");
+ log.println("\tException expected -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res = true;
+ log.println("\tExpected exception was thrown -- OK");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res = false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res = false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res = false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ log.println("checking own implementation of XLayer");
+ try {
+ util.XLayerImpl xLayer = new util.XLayerImpl();
+ oObj.importLayerForEntity(xLayer,"");
+ if (! xLayer.hasBeenCalled()) {
+ log.println("\tXLayer hasn't been imported -- FAILED");
+ res &= false;
+ } else {
+ log.println("\tXLayer has been imported -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res &= false;
+ log.println("\tExpected exception "+ne+" was thrown -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res &= false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res &= false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res &= false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ tRes.tested("importLayerForEntity()",res);
+ }
+
+ public void _setTargetBackend() {
+ requiredMethod("getTargetBackend()");
+ boolean res = false;
+ log.println("checking for exception if argument null is given");
+ try {
+ oObj.setTargetBackend(null);
+ log.println("\tException expected -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res = true;
+ log.println("\tExpected exception was thrown -- OK");
+ }
+
+ log.println("checking argument previously gained by getTargetBackend");
+ try {
+ oObj.setTargetBackend(xBackend);
+ log.println("\t No Exception thrown -- OK");
+ res &= true;
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res &= false;
+ log.println("\tException was thrown -- FAILED");
+ }
+
+ tRes.tested("setTargetBackend()",res);
+
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java b/qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java
new file mode 100644
index 000000000000..aae4743e01fc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java
@@ -0,0 +1,316 @@
+/*************************************************************************
+ *
+ * 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.XMultiLayerStratum;
+import com.sun.star.configuration.backend.XUpdatableLayer;
+import com.sun.star.lang.XMultiServiceFactory;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+
+
+public class _XMultiLayerStratum extends MultiMethodTest {
+ public XMultiLayerStratum oObj;
+ protected String aLayerID;
+
+ public void _getLayer() {
+ boolean res = true;
+
+ try {
+ XLayer aLayer = oObj.getLayer("", "");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ }
+
+ try {
+ XLayer aLayer = oObj.getLayer(aLayerID, "");
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+
+ res &= checkLayer(aLayer);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getLayer()", res);
+ }
+
+ public void _getLayers() {
+ boolean res = true;
+
+ try {
+ String[] LayerIds = new String[2];
+ LayerIds[0] = "1 /org/openoffice/Office/Jobs.xcu";
+ LayerIds[1] = "2 /org/openoffice/Office/Linguistic.xcu";
+
+ XLayer[] Layers = oObj.getLayers(LayerIds, "");
+ res = Layers.length == 2;
+ log.println("Getting two XLayers -- OK");
+ log.println("Checking first on "+LayerIds[0]);
+ res &= checkLayer(Layers[0]);
+ log.println("Checking second on "+LayerIds[1]);
+ res &= checkLayer(Layers[1]);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getLayers()", res);
+ }
+
+ public void _getMultipleLayers() {
+ boolean res = true;
+
+ try {
+ String[] LayerIds = new String[2];
+ LayerIds[0] = "1 /org/openoffice/Office/Jobs.xcu";
+ LayerIds[1] = "2 /org/openoffice/Office/Linguistic.xcu";
+ String[] Times = new String[2];
+ Times[0] = "";
+ Times[1] = "";
+
+ XLayer[] Layers = oObj.getMultipleLayers(LayerIds, Times);
+ res = Layers.length == 2;
+ log.println("Getting two XLayers -- OK");
+ log.println("Checking first on "+LayerIds[0]);
+ res &= checkLayer(Layers[0]);
+ log.println("Checking second on "+LayerIds[1]);
+ res &= checkLayer(Layers[1]);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getMultipleLayers()", res);
+ }
+
+ public void _getUpdatableLayer() {
+ boolean res = true;
+
+ try {
+ XUpdatableLayer aLayer = oObj.getUpdatableLayer("");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ XUpdatableLayer aLayer = oObj.getUpdatableLayer(aLayerID);
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+
+ res &= checkLayer(aLayer);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdatableLayer()", res);
+ }
+
+ public void _getUpdateLayerId() {
+ boolean res = true;
+
+ try {
+ String UpdateLayerID = oObj.getUpdateLayerId(
+ "org.openoffice.Office.TypeDetection",
+ "illegal");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ String ent = util.utils.getOfficeURL(
+ (XMultiServiceFactory) tParam.getMSF()) +
+ "/../share/registry";
+ String UpdateLayerID = oObj.getUpdateLayerId(
+ "org.openoffice.Office.Linguistic", ent);
+ res &= UpdateLayerID.endsWith("Linguistic.xcu");
+
+ if (!UpdateLayerID.endsWith("Linguistic.xcu")) {
+ log.println("\tExpected the id to end with Linguistic.xcu");
+ log.println("\tBut got " + UpdateLayerID);
+ log.println("\t=> FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception "+e+" -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdateLayerId()", res);
+ }
+
+ public void _listLayerIds() {
+ boolean res = true;
+
+ try {
+ String[] LayerIDs = oObj.listLayerIds(
+ "org.openoffice.Office.TypeDetection",
+ "illegal");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ String ent = util.utils.getOfficeURL(
+ (XMultiServiceFactory) tParam.getMSF()) +
+ "/../share/registry";
+ String[] LayerIDs = oObj.listLayerIds("org.openoffice.Office.Jobs",
+ ent);
+ res &= LayerIDs[0].endsWith("Jobs.xcu");
+ aLayerID = LayerIDs[0];
+
+ if (!LayerIDs[0].endsWith("Jobs.xcu")) {
+ log.println("\tExpected the id to end with Jobs.xcu");
+ log.println("\tBut got " + LayerIDs[0]);
+ log.println("\t=> FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("listLayerIds()", res);
+ }
+
+ protected boolean checkLayer(XLayer aLayer) {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aLayer.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ aLayer.readData(xLayerHandler);
+
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+
+ int sl = implCalled.indexOf("startLayer");
+
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+
+ int el = implCalled.indexOf("endLayer");
+
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java b/qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java
new file mode 100644
index 000000000000..36be98ebc1fb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java
@@ -0,0 +1,263 @@
+/*************************************************************************
+ *
+ * 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.XSchema;
+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.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+import util.XSchemaHandlerImpl;
+
+public class _XSchema extends MultiMethodTest {
+ public XSchema oObj;
+ XSchemaHandlerImpl xSchemaHandlerImpl = new XSchemaHandlerImpl();
+ String filename = null;
+
+ protected void before() {
+ filename = (String)tEnv.getObjRelation("ParsedFileName");
+ }
+
+ public void _readComponent() {
+ requiredMethod("readTemplates()");
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ oObj.readComponent(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking readComponent with own XSchemeHandler implementation");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readComponent(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+
+ System.out.println(implCalled);
+
+ int sc = implCalled.indexOf("startComponent");
+
+ if (sc < 0) {
+ log.println("startComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startComponent was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endComponent");
+
+ if (ec < 0) {
+ log.println("endComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endComponent was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("readComponent()", res);
+ reopenFile();
+ }
+
+ public void _readSchema() {
+ requiredMethod("readComponent()");
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readSchema(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking read data with own XSchemeHandler implementation");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readSchema(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+
+ int sc = implCalled.indexOf("startSchema");
+
+ if (sc < 0) {
+ log.println("startSchema wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startSchema was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endSchema");
+
+ if (ec < 0) {
+ log.println("endSchema wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endSchema was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ // check for the wrapped target exception
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readSchema(xSchemaHandlerImpl);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ tRes.tested("readSchema()", res);
+ reopenFile();
+ }
+
+ public void _readTemplates() {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ oObj.readTemplates(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking readComponent with own XSchemeHandler implementation");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readComponent(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+
+ int sc = implCalled.indexOf("startGroup");
+
+ if (sc < 0) {
+ log.println("startGroup wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startGroup was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endNode");
+
+ if (ec < 0) {
+ log.println("endNode wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endNode was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("readTemplates()", res);
+ reopenFile();
+ }
+
+ /**
+ * reopen the parsed file again, to avoid the wrapped target exception.
+ */
+ private void reopenFile() {
+ XSimpleFileAccess simpleAccess = null;
+ XInputStream xStream = null;
+ try {
+ Object fileacc = ((XMultiServiceFactory)tParam.getMSF()).createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ simpleAccess = (XSimpleFileAccess)
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+ log.println("Going to parse: "+filename);
+ xStream = simpleAccess.openFileRead(filename);
+ } catch (com.sun.star.uno.Exception e) {
+ }
+
+ XActiveDataSink xSink = (XActiveDataSink) UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+ xSink.setInputStream(xStream);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java b/qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java
new file mode 100644
index 000000000000..99346705b4fb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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.XSchema;
+import com.sun.star.configuration.backend.XSchemaSupplier;
+
+import lib.MultiMethodTest;
+import util.XSchemaHandlerImpl;
+
+public class _XSchemaSupplier extends MultiMethodTest {
+ public XSchemaSupplier oObj;
+
+ public void _getComponentSchema() {
+ boolean res = true;
+ XSchema aSchema = null;
+
+ try {
+ aSchema = oObj.getComponentSchema("org.openoffice.Office.Linguistic");
+ res &= (aSchema != null);
+
+ if (aSchema == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+
+ res &= checkSchema(aSchema);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+ tRes.tested("getComponentSchema()",res);
+ }
+
+ protected boolean checkSchema(XSchema aSchema) {
+ boolean res = false;
+ XSchemaHandlerImpl xSchemaHandlerImpl = new XSchemaHandlerImpl();
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aSchema.readTemplates(null);
+ log.println("NoException thrown for null argument -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking readComponent with own XSchemaHandler implementation");
+
+ try {
+ aSchema.readComponent(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+ int sc = implCalled.indexOf("startComponent");
+
+ if (sc < 0) {
+ log.println("startComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startComponent was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endComponent");
+
+ if (ec < 0) {
+ log.println("endComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endComponent was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java b/qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java
new file mode 100644
index 000000000000..4ff3e8518f71
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java
@@ -0,0 +1,152 @@
+/*
+ * _XSingleLayerStratum.java
+ *
+ * Created on 23. March 2004, 16:37
+ */
+package ifc.configuration.backend;
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XSingleLayerStratum;
+import com.sun.star.configuration.backend.XUpdatableLayer;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+
+
+public class _XSingleLayerStratum extends MultiMethodTest {
+ public XSingleLayerStratum oObj;
+
+ public void _getLayer() {
+ String aLayerID = "org.openoffice.Office.Common";
+ boolean res = true;
+
+ try {
+ XLayer aLayer = oObj.getLayer("", "");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ }
+
+ try {
+ XLayer aLayer = oObj.getLayer(aLayerID, "");
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+
+ res &= checkLayer(aLayer);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getLayer()", res);
+ }
+
+ public void _getUpdatableLayer() {
+ String aLayerID = "org.openoffice.Office.Common";
+ boolean res = true;
+
+ try {
+ XUpdatableLayer aLayer = oObj.getUpdatableLayer("");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ XUpdatableLayer aLayer = oObj.getUpdatableLayer(aLayerID);
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+
+ res &= checkLayer(aLayer);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdatableLayer()", res);
+ }
+
+ protected boolean checkLayer(XLayer aLayer) {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aLayer.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ aLayer.readData(xLayerHandler);
+
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+
+ int sl = implCalled.indexOf("startLayer");
+
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+
+ int el = implCalled.indexOf("endLayer");
+
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java b/qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java
new file mode 100644
index 000000000000..32049d8f7015
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java
@@ -0,0 +1,260 @@
+/*************************************************************************
+ *
+ * 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.TemplateIdentifier;
+import com.sun.star.configuration.backend.XUpdateHandler;
+import com.sun.star.uno.Type;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+import util.XLayerImpl;
+
+
+/**
+ *
+ * @author sw93809
+ */
+public class _XUpdateHandler extends MultiMethodTest {
+ public XUpdateHandler oObj;
+ protected XLayerHandlerImpl xLayerHandler = null;
+
+ public void before() {
+ xLayerHandler = (XLayerHandlerImpl) tEnv.getObjRelation("LayerHandler");
+
+ try {
+ xLayerHandler.startLayer();
+ xLayerHandler.overrideNode("org.openoffice.Setup", (short) 0,
+ false);
+ xLayerHandler.overrideNode("Office", (short) 0, false);
+ xLayerHandler.overrideProperty("ooSetupInstCompleted", (short) 0,
+ new Type(java.lang.String.class),
+ false);
+ xLayerHandler.setPropertyValue(new Boolean(false));
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupShowIntro", (short) 0,
+ new Type(java.lang.String.class),
+ false);
+ xLayerHandler.setPropertyValue(new Boolean(true));
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupLocales", (short) 0,
+ new Type(java.lang.String.class),
+ false);
+ xLayerHandler.setPropertyValue("en-US");
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideNode("Factories", (short) 0, false);
+ xLayerHandler.addOrReplaceNode("com.sun.star.chart.ChartDocument",
+ (short) 0);
+ xLayerHandler.overrideProperty("ooSetupFactoryEmptyDocumentURL",
+ (short) 0,
+ new Type(java.lang.String.class),
+ false);
+ xLayerHandler.setPropertyValue("private:factory/schart");
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupFactoryIcon", (short) 0,
+ new Type(java.lang.Long.class),
+ false);
+ xLayerHandler.setPropertyValue(new Integer(13));
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupFactoryShortName",
+ (short) 0,
+ new Type(java.lang.String.class),
+ false);
+ xLayerHandler.setPropertyValue("schart");
+ xLayerHandler.setPropertyValueForLocale("TemplateFile", "en-US");
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupFactoryTemplateFile",
+ (short) 0,
+ new Type(java.lang.String.class),
+ false);
+ xLayerHandler.setPropertyValue("empty");
+ xLayerHandler.endProperty();
+ xLayerHandler.addProperty("ooSetupFactoryTemplateFile", (short) 0,
+ new Type(java.lang.String.class));
+ xLayerHandler.addPropertyWithValue("ooSetupFactoryTemplateFile",
+ (short) 0, "TemplateFile");
+ xLayerHandler.endNode();
+
+ xLayerHandler.addOrReplaceNode("dropme", (short) 0);
+ xLayerHandler.overrideProperty("anyway", (short) 0,
+ new Type(java.lang.String.class),
+ false);
+ xLayerHandler.setPropertyValue("nice");
+ xLayerHandler.endProperty();
+ xLayerHandler.dropNode("dropme");
+ xLayerHandler.endNode();
+
+ xLayerHandler.addOrReplaceNodeFromTemplate("FromTemplate",
+ new com.sun.star.configuration.backend.TemplateIdentifier(
+ "org.openoffice.Setup",
+ "Setup"),
+ (short) 0);
+ xLayerHandler.endNode();
+
+ xLayerHandler.endNode();
+ xLayerHandler.endNode();
+ xLayerHandler.endNode();
+ xLayerHandler.endLayer();
+ } 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);
+ }
+ }
+
+ public void _addOrReplaceNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplaceNode()", true);
+ }
+
+ public void _addOrReplaceNodeFromTemplate() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplaceNodeFromTemplate()", true);
+ }
+
+ public void _addOrReplaceProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplaceProperty()", true);
+ }
+
+ public void _addOrReplacePropertyWithValue() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplacePropertyWithValue()", true);
+ }
+
+ public void _endNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("endNode()", true);
+ }
+
+ public void _endProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("endProperty()", true);
+ }
+
+ public void _endUpdate() {
+ requiredMethod("startUpdate()");
+ tRes.tested("endUpdate()", true);
+ }
+
+ public void _modifyNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("modifyNode()", true);
+ }
+
+ public void _modifyProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("modifyProperty()", true);
+ }
+
+ public void _removeNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("removeNode()", true);
+ }
+
+ public void _removeProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("removeProperty()", true);
+ }
+
+ public void _resetProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("resetProperty()", true);
+ }
+
+ public void _resetPropertyValue() {
+ requiredMethod("startUpdate()");
+ tRes.tested("resetPropertyValue()", true);
+ }
+
+ public void _resetPropertyValueForLocale() {
+ requiredMethod("startUpdate()");
+ tRes.tested("resetPropertyValueForLocale()", true);
+ }
+
+ public void _setPropertyValue() {
+ requiredMethod("startUpdate()");
+ tRes.tested("setPropertyValue()", true);
+ }
+
+ public void _setPropertyValueForLocale() {
+ requiredMethod("startUpdate()");
+ tRes.tested("setPropertyValueForLocale()", true);
+ }
+
+ public void _startUpdate() {
+ boolean res = true;
+
+ try {
+ XLayerImpl xLayer = (XLayerImpl) tEnv.getObjRelation("Layer");
+ log.println("Layer called (before): " + xLayer.hasBeenCalled());
+ oObj.startUpdate();
+ oObj.addOrReplaceNode("whatever", (short) 0);
+ oObj.addOrReplaceNodeFromTemplate("Office", (short) 0,
+ new TemplateIdentifier());
+ oObj.addOrReplaceProperty("prop", (short) 0,
+ new Type(java.lang.String.class));
+ oObj.addOrReplacePropertyWithValue("prop2", (short) 0, "this");
+ oObj.modifyProperty("ooSetupFactoryIcon", (short) 0, (short) 0,
+ new Type(java.lang.String.class));
+ oObj.resetPropertyValue();
+ oObj.resetPropertyValueForLocale("en-US");
+ oObj.endProperty();
+ oObj.modifyProperty("ooSetupFactoryEmptyDocumentURL", (short) 0,
+ (short) 0, new Type(java.lang.String.class));
+ oObj.setPropertyValue("newValue");
+ oObj.setPropertyValueForLocale("newValue-US", "de-DE");
+ oObj.endProperty();
+ oObj.removeProperty("ooSetupShowIntro");
+ oObj.modifyNode("org.openoffice.Setup", (short) 0, (short) 0, true);
+ oObj.removeNode("whatever");
+ oObj.resetProperty("prop");
+ oObj.endNode();
+ oObj.endNode();
+ oObj.endNode();
+ oObj.endUpdate();
+
+ log.println("Layer called (after): " + xLayer.hasBeenCalled());
+
+ res = xLayer.hasBeenCalled();
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected exception " + e.getMessage());
+ res = false;
+ } catch (com.sun.star.lang.IllegalAccessException e) {
+ log.println("Unexpected exception " + e.getMessage());
+ res = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected exception " + e.getMessage());
+ res = false;
+ }
+
+ tRes.tested("startUpdate()", res);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/connection/_XAcceptor.java b/qadevOOo/tests/java/ifc/connection/_XAcceptor.java
new file mode 100644
index 000000000000..7622c547253d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/connection/_XAcceptor.java
@@ -0,0 +1,323 @@
+/*************************************************************************
+ *
+ * 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.connection;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests methods of <code>XAcceptor</code> interface. <p>
+* Required relations :
+* <ul>
+* <li> <code>'XAcceptor.connectStr'</code> : String variable. Has
+* the following format :
+* <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+* the host where StarOffice is started. This string must be passed
+* as parameter to <code>accept()</code> method. </li>
+* <ul> <p>
+* This test <b>can not</b> be run in multiply threads.
+*/
+public class _XAcceptor extends MultiMethodTest {
+
+ protected PrintWriter log_ ;
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occured, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * If exception occured during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ private XAcceptor acc = null ;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Creates object which can call <code>accept</code> method
+ * of the Acceptor object specified.
+ */
+ public AcceptorThread(XAcceptor acc) {
+ this.acc = acc ;
+ }
+
+ /**
+ * Call <code>accept()</code> method.
+ */
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ public XAcceptor oObj = null;
+ protected String connectString = null ;
+
+ /**
+ * Retrieves object relation.
+ */
+ public void before() throws StatusException {
+ connectString = (String)
+ tEnv.getObjRelation("XAcceptor.connectStr") ;
+
+ log_ = log ;
+
+ if (connectString == null)
+ throw new StatusException("No object relation found",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * First part : Thread with acceptor created, and it starts listening.
+ * The main thread tries to connect to acceptor. Acception thread must
+ * return and valid connection must be returned by Acceptor. <p>
+ *
+ * Second part : Trying to create second acceptor which listen on
+ * the same port. Calling <code>accept()</code> method of the second
+ * Acceptor must rise appropriate exception. <p>
+ *
+ * Has OK status if both test parts executed properly.
+ */
+ public void _accept() {
+ boolean result = true ;
+ AcceptorThread acception = null,
+ dupAcception = null ;
+ XAcceptor dupAcceptor = null ;
+ XConnector xConnector = null ;
+
+ // creating services requierd
+ try {
+ Object oConnector = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.connection.Connector") ;
+
+ xConnector = (XConnector) UnoRuntime.queryInterface
+ (XConnector.class, oConnector) ;
+
+ XInterface acceptor = (XInterface) ((XMultiServiceFactory)
+ tParam.getMSF()).createInstance
+ ("com.sun.star.connection.Acceptor") ;
+
+ dupAcceptor = (XAcceptor) UnoRuntime.queryInterface
+ (XAcceptor.class, acceptor) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create service", e) ;
+ }
+
+ // Testing connection to the acceptor
+ try {
+ acception = new AcceptorThread(oObj) ;
+ acception.start() ;
+
+ try {
+ Thread.sleep(500);
+ }
+ catch (java.lang.InterruptedException e) {}
+
+ XConnection con = xConnector.connect(connectString) ;
+
+ if (con == null)
+ log.println("Connector returned : null") ;
+ else
+ log.println("Connector returned : " + con.getDescription()) ;
+
+ try {
+ acception.join(5 * 1000) ;
+ } catch(InterruptedException e) {}
+
+ if (acception.isAlive()) {
+
+ result = false ;
+ log.println("Method call haven't returned") ;
+
+ if (acception.acceptedCall == null)
+ log.println("Acceptor returned : null") ;
+ else
+ log.println("Acceptor returned : " +
+ acception.acceptedCall.getDescription()) ;
+ } else {
+ if (acception.ex != null) {
+ log.println("Exception occured in accept() thread :") ;
+ acception.ex.printStackTrace(log) ;
+ }
+
+ if (acception.acceptedCall == null)
+ log.println("Method returned : null") ;
+ else
+ log.println("Method returned : " +
+ acception.acceptedCall.getDescription()) ;
+
+ result &= acception.acceptedCall != null ;
+ }
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.connection.NoConnectException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } finally {
+ oObj.stopAccepting();
+ if (acception.isAlive()) {
+ acception.interrupt();
+ }
+ }
+
+ // duplicate acceptor test
+ // creating the additional acceptor which listens
+ // on the same port
+
+ log.println("___ Testing for accepting on the same port ...") ;
+
+ try {
+ dupAcception = new AcceptorThread(dupAcceptor) ;
+ dupAcception.start() ;
+
+ try {
+ dupAcception.join(1 * 1000) ;
+ } catch(InterruptedException e) {}
+
+
+ if (dupAcception.isAlive()) {
+ log.println("Duplicate acceptor is listening ...") ;
+
+ // now trying to accept on the same port as additional
+ // acceptor
+ acception = new AcceptorThread(oObj) ;
+ acception.start() ;
+
+ try {
+ acception.join(3 * 1000) ;
+ } catch(InterruptedException e) {}
+
+ if (acception.isAlive()) {
+ oObj.stopAccepting() ;
+ acception.interrupt() ;
+
+ log.println("Acceptor with the same port must cause"+
+ " an error but didn't") ;
+ result = false ;
+ } else {
+ log.println("Accepted call = " + acception.acceptedCall) ;
+ if (acception.ex == null) {
+ //result = false ;
+ log.println("No exception was thrown when trying"+
+ " to listen on the same port") ;
+ } else {
+ if (acception.ex instanceof
+ com.sun.star.connection.AlreadyAcceptingException ||
+ acception.ex instanceof
+ com.sun.star.connection.ConnectionSetupException) {
+
+ log.println("Rigth exception was thrown when trying"+
+ " to listen on the same port") ;
+ } else {
+ result = false ;
+ log.println("Wrong exception was thrown when trying"+
+ " to listen on the same port :") ;
+ acception.ex.printStackTrace(log) ;
+ }
+ }
+ }
+ }
+ } finally {
+ dupAcceptor.stopAccepting() ;
+ if (dupAcception.isAlive()) {
+ dupAcception.interrupt() ;
+ }
+ }
+
+ tRes.tested("accept()", result) ;
+ }
+
+ /**
+ * Starts thread with Acceptor and then calls <code>stopListening</code>
+ * method. <p>
+ * Has OK status if <code>accept</code> method successfully returns and
+ * rises no exceptions.
+ */
+ public void _stopAccepting() {
+ boolean result = true ;
+
+
+ AcceptorThread acception = new AcceptorThread(oObj) ;
+
+ acception.start() ;
+
+ oObj.stopAccepting() ;
+
+ try {
+ acception.join(3 * 1000) ;
+ } catch (InterruptedException e) {}
+
+ if (acception.isAlive()) {
+ acception.interrupt() ;
+
+ result = false ;
+ log.println("Method call haven't returned") ;
+
+ } else {
+ if (acception.ex != null) {
+ log.println("Exception occured in accept() thread :") ;
+ acception.ex.printStackTrace(log) ;
+ result = false ;
+ } else {
+ result = true ;
+ }
+
+ if (acception.acceptedCall == null)
+ log.println("accept() returned : null") ;
+ else
+ log.println("accept() returned : " +
+ acception.acceptedCall.getDescription()) ;
+ }
+
+ tRes.tested("stopAccepting()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/connection/_XConnector.java b/qadevOOo/tests/java/ifc/connection/_XConnector.java
new file mode 100644
index 000000000000..12ae67dedea3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/connection/_XConnector.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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.connection;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests methods of <code>XConnector</code> interface. <p>
+* Required relations :
+* <ul>
+* <li> <code>'XConnector.connectStr'</code> : String variable. Has
+* the following format :
+* <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+* the host where StarOffice is started. This string must be passed
+* as parameter to <code>accept()</code> method. </li>
+* <ul> <p>
+* This test <b>can not</b> be run in multiply threads.
+*/
+public class _XConnector extends MultiMethodTest {
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occured, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * the acceptor
+ */
+ private XAcceptor acc = null ;
+ /**
+ * If exception occured during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Gets an object which can call <code>accept</code> method.
+ */
+ public AcceptorThread(XAcceptor acc) {
+ this.acc = acc ;
+ }
+
+ /**
+ * Call <code>accept()</code> method.
+ */
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ public XConnector oObj = null;
+ protected String connectString = null ;
+
+ /**
+ * Retrieves object relation.
+ */
+ public void before() throws StatusException {
+ connectString = (String)
+ tEnv.getObjRelation("XConnector.connectStr") ;
+ if (connectString == null)
+ throw new StatusException("No object relation found",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * Thread with acceptor is created, and it starts listening.
+ * The main thread tries to connect to acceptor. Acception thread must
+ * return and a valid connection must be returned by Acceptor. <p>
+ *
+ */
+ public void _connect() {
+ boolean result = true ;
+ AcceptorThread acceptorThread = null;
+ XAcceptor xAcceptor = null ;
+ XConnection aCon = null;
+ XInterface x = null;
+
+ // create the acceptor
+ try {
+ x = (XInterface) (
+ (XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.connection.Acceptor") ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create service", e) ;
+ }
+
+ xAcceptor = (XAcceptor)UnoRuntime.queryInterface(XAcceptor.class, x);
+
+ acceptorThread = new AcceptorThread(xAcceptor) ;
+ acceptorThread.start() ;
+
+ try {
+ Thread.sleep(500);
+ }
+ catch (java.lang.InterruptedException e) {}
+
+ // connect to acceptor
+ try {
+ aCon = oObj.connect(connectString);
+
+ if (aCon == null)
+ log.println("Connector returned: null") ;
+ else
+ log.println("Connector returned: " + aCon.getDescription()) ;
+
+ try {
+ acceptorThread.join(30 * 1000) ;
+ } catch(InterruptedException e) {}
+
+ // connection not established
+ if (acceptorThread.isAlive()) {
+
+ result = false ;
+ log.println("Method call hasn't returned") ;
+
+ if (acceptorThread.acceptedCall == null)
+ log.println("Acceptor returned : null") ;
+ else
+ log.println("Acceptor returned : " +
+ acceptorThread.acceptedCall.getDescription()) ;
+ } else {
+ if (acceptorThread.ex != null) {
+ log.println("Exception occured in accept() thread :") ;
+ acceptorThread.ex.printStackTrace(log) ;
+ }
+
+ if (acceptorThread.acceptedCall == null)
+ log.println("Method returned : null") ;
+ else
+ log.println("Method returned : " +
+ acceptorThread.acceptedCall.getDescription()) ;
+
+ result &= acceptorThread.acceptedCall != null ;
+ }
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.connection.NoConnectException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } finally {
+ acceptorThread.acc.stopAccepting();
+ if (acceptorThread.isAlive()) {
+ acceptorThread.interrupt();
+ }
+ }
+
+ tRes.tested("connect()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/container/_XChild.java b/qadevOOo/tests/java/ifc/container/_XChild.java
new file mode 100644
index 000000000000..2c142573ef01
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XChild.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.container.XChild;
+import com.sun.star.container.XNamed;
+import com.sun.star.uno.UnoRuntime;
+
+/*
+* Testing <code>com.sun.star.container.XChild</code>
+* interface methods :
+* <ul>
+* <li><code> getParent()</code></li>
+* <li><code> setParent()</code></li>
+* </ul>
+* @see com.sun.star.container.XChild
+*/
+public class _XChild extends MultiMethodTest {
+
+ public XChild oObj = null;
+ public Object gotten = null;
+
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. Parent returned is stored.<p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getParent() {
+ gotten = oObj.getParent();
+ XNamed the_name = (XNamed) UnoRuntime.queryInterface(XNamed.class,gotten);
+ if (the_name != null)
+ log.println("Parent:"+the_name.getName());
+ tRes.tested("getParent()",gotten != null);
+ }
+
+ /**
+ * Sets existing parent and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getParent() </code> : to get the parent. </li>
+ * </ul>
+ */
+ public void _setParent() {
+ requiredMethod("getParent()") ;
+
+ String parentComment = (String) tEnv.getObjRelation("cannotSwitchParent");
+
+ if (parentComment != null) {
+ log.println(parentComment);
+ tRes.tested("setParent()",Status.skipped(true));
+ return;
+ }
+
+ try {
+ oObj.setParent(gotten);
+ tRes.tested("setParent()",true);
+ }
+ catch (com.sun.star.lang.NoSupportException ex) {
+ log.println("Exception occured during setParent()");
+ ex.printStackTrace(log);
+ tRes.tested("setParent()",false);
+ }
+
+ }
+
+} // finish class _XChild
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XContainer.java b/qadevOOo/tests/java/ifc/container/_XContainer.java
new file mode 100644
index 000000000000..e3122bc28f66
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XContainer.java
@@ -0,0 +1,370 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.container.ContainerEvent;
+import com.sun.star.container.XContainer;
+import com.sun.star.container.XContainerListener;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XNamingService;
+
+
+/**
+* Testing <code>com.sun.star.container.XContainer</code>
+* interface methods :
+* <ul>
+* <li><code> addContainerListener()</code></li>
+* <li><code> removeContainerListener()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE'</code> : Object which can be inserted into
+* container.</li>
+* <li> <code>'INSTANCE2'</code> : <b>(optional)</b>
+* Object which can be inserted into container. The relation
+* must be specified when container cann't contain two
+* identical objects. Replaces the first instance.</li>
+* <li> <code>'XContainer.Container'</code> (of type
+* <code>com.sun.star.container.XNameContainer</code>)
+* <b>optional</b> : is required when the tested component
+* doesn't implement <code>XNameContainer</code> and is used
+* for adding and removing elements.</li>
+* <ul> <p>
+* Object <b>must implement</b>
+* <code>com.sun.star.container.XNameContainer</code>.
+* <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.container.XContainer
+*/
+public class _XContainer extends MultiMethodTest {
+
+ public XContainer oObj = null;
+ private boolean bElementInserted = false;
+ private boolean bElementRemoved = false;
+ private boolean bElementReplaced = false;
+ private PrintWriter _log = null;
+ private XNameContainer NC = null ;
+ private XControlContainer CC = null ;
+ private XNamingService NV = null ;
+ private XNameReplace NR = null ;
+ private Object inst = null ;
+ private Object inst2 = null ;
+
+ /**
+ * Retrieves object relations, and tries to query object for
+ * <code>XNameContainer</code> interface.
+ * @throws StatusException If one of relations not found or
+ * object doesn't implement <code>XNameContainer</code> interface.
+ */
+ public void before() throws StatusException {
+ _log = log;
+
+ // do this test with a different object
+ Object altObj = tEnv.getObjRelation("XContainer.AlternateObject");
+ if (altObj != null) {
+ oObj = (XContainer)UnoRuntime.queryInterface(XContainer.class, altObj);
+ }
+
+ NC = (XNameContainer) UnoRuntime.queryInterface
+ (XNameContainer.class, oObj) ;
+
+ Object container = null;
+ if (NC == null) {
+ container = tEnv.getObjRelation("XContainer.Container") ;
+ }
+
+ if (container != null) {
+ if (container instanceof com.sun.star.awt.XControlContainer) {
+ CC = (XControlContainer) container;
+ } else if (container instanceof com.sun.star.uno.XNamingService) {
+ NV = (XNamingService) container;
+ } else if (container instanceof com.sun.star.container.XNameReplace) {
+ NR = (XNameReplace) container;
+ inst2 = tEnv.getObjRelation("XContainer.NewValue");
+ inst = tEnv.getObjRelation("XContainer.ElementName");
+ } else if (container instanceof com.sun.star.container.XNameContainer) {
+ NC = (XNameContainer) container;
+ }
+ }
+
+ if (NC == null && CC == null && NV == null && NR == null)
+ throw new StatusException(
+ Status.failed("Neither object implements XNameContainer" +
+ " nor relation 'XContainer.Container' found.")) ;
+
+ if (inst == null)
+ inst = tEnv.getObjRelation("INSTANCE");
+ if (inst == null) {
+ log.println("No INSTANCE ObjRelation!!! ");
+ throw new StatusException(Status.failed("No INSTANCE ObjRelation!!!")) ;
+ }
+ if (inst2 == null)
+ inst2 = tEnv.getObjRelation("INSTANCE2");
+ }
+
+ /**
+ * Listener implementation which just set flags on appropriate
+ * events.
+ */
+ public class MyListener implements XContainerListener {
+ public void elementInserted(ContainerEvent e) {
+ //_log.println("Element was inserted");
+ bElementInserted = true;
+ }
+ public void elementRemoved(ContainerEvent e) {
+ //_log.println("Element was removed");
+ bElementRemoved = true;
+ }
+ public void elementReplaced(ContainerEvent e) {
+ //_log.println("Element was replaced");
+ bElementReplaced = true;
+ }
+ public void disposing (EventObject obj) {}
+ };
+
+ MyListener listener = new MyListener();
+
+ /**
+ * Adds <code>MyListener</code> and performs all possible changes
+ * (insert, replace, remove) with container. The checks which
+ * events were called. <p>
+ * Has <b>OK</b> status if all methods of the listener were called.
+ */
+ public void _addContainerListener() {
+ boolean bResult = true;
+
+ oObj.addContainerListener(listener);
+ bResult &= performChanges();
+ //we can't replace if the container is XControlContainer
+ if (NC != null) bResult &= bElementReplaced;
+ // we do not remove and insert if the listener is triggered by XNameReplace
+ if (NR == null) bResult &= bElementRemoved;
+ if (NR == null) bResult &= bElementInserted;
+
+ if (!bResult) {
+ log.println("inserted was " + (bElementInserted ? "" : "NOT")
+ + " called.");
+
+ if (NC != null) {
+ log.println("replaced was " + (bElementReplaced ? "" : "NOT")
+ + " called.");
+ }
+ log.println("removed was " + (bElementRemoved ? "" : "NOT")
+ + " called.");
+ }
+
+ tRes.tested("addContainerListener()", bResult);
+ }
+
+ /**
+ * Removes listener added before and performs all possible changes
+ * (insert, replace, remove) with container. The checks which
+ * events were called. <p>
+ * Has <b>OK</b> status if no methods of the listener were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addContainerListener() </code> : to remove it now. </li>
+ * </ul>
+ */
+ public void _removeContainerListener() {
+ requiredMethod("addContainerListener()") ;
+
+ boolean bResult = true;
+ bElementReplaced = bElementRemoved = bElementInserted = false;
+
+ oObj.removeContainerListener(listener);
+ bResult &= performChanges();
+ bResult &= !bElementReplaced;
+ bResult &= !bElementRemoved;
+ bResult &= !bElementInserted;
+
+ tRes.tested("removeContainerListener()", bResult);
+ }
+
+ /**
+ * Inserts, replaces and finally removes object from container.
+ * Object is gotten from <code>'INSTANCE'</code> relation. If
+ * the relation <code>'INSTANCE2'</code> exists then the first
+ * instance is replaced with second.
+ */
+ protected boolean performChanges() {
+ if (CC != null) return performChanges2();
+ if (NV != null) return performChanges3();
+ if (NR != null) return performChanges4();
+ boolean bResult = true;
+ try {
+ String[] names = NC.getElementNames();
+ log.println("Elements count = " + names.length);
+ NC.insertByName("XContainer_dummy", inst);
+ names = NC.getElementNames();
+ log.println("Elements count = " + names.length);
+ if (inst2 == null) {
+ NC.replaceByName("XContainer_dummy", inst);
+ } else {
+ NC.replaceByName("XContainer_dummy", inst2);
+ }
+ NC.removeByName("XContainer_dummy");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured ");
+ ex.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException ex) {
+ log.println("Exception occured ");
+ ex.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.container.NoSuchElementException ex) {
+ log.println("Exception occured ");
+ ex.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.container.ElementExistException ex) {
+ log.println("Exception occured ");
+ ex.printStackTrace(log);
+ bResult = false;
+ }
+
+ return bResult;
+ }
+
+ /**
+ * In case no XNameContainer is available, but a XControlContainer
+ * instead.
+ * the XControl instance is inserted
+ * Method returns true if the count of Controls is changed afterwards
+ */
+ protected boolean performChanges2() {
+ int precount = CC.getControls().length;
+ CC.addControl("NewControl",(XControl) inst);
+ shortWait();
+ int count = CC.getControls().length;
+ CC.removeControl(CC.getControl("NewControl"));
+ shortWait();
+ return count>precount;
+ }
+
+ /**
+ * In case no XNameContainer is available, but a XNamingService
+ * instead.
+ * the instance is registered and revoked again
+ * Method return true if getRegisteredObject() works after
+ * registering and doesn't after revoke
+ */
+ protected boolean performChanges3() {
+ boolean res = true;
+ Object reg = null;
+
+ try {
+ reg = NV.getRegisteredObject("MyFactory");
+ NV.revokeObject("MyFactory");
+ } catch (Exception e) {
+
+ }
+
+ try {
+ NV.registerObject("MyFactory", inst);
+ reg = NV.getRegisteredObject("MyFactory");
+ res &= (reg != null);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ log.println("registerObject failed");
+ res &= false;
+ }
+
+ try {
+ NV.revokeObject("MyFactory");
+ reg = NV.getRegisteredObject("MyFactory");
+ log.println("revokeObject failed");
+ res &= false;
+ } catch (Exception e) {
+ res &= true;
+ }
+
+ return res;
+ }
+
+ /**
+ * In case no XNameContainer is available, but a XNamingReplace
+ * instead.
+ */
+ protected boolean performChanges4() {
+ boolean res = true;
+ Object newValue = inst2;
+ Object originalValue = null;
+ String name = null;
+
+ try {
+ name = (String)inst;
+ }
+ catch(java.lang.ClassCastException e) {
+ log.write("Expected String as object relations 'XContainer.ElementName'.");
+ e.printStackTrace(log);
+ return false;
+ }
+
+ try {
+ originalValue = NR.getByName(name);
+ NR.replaceByName(name, newValue);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ try {
+ NR.replaceByName(name, originalValue);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ return res;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XContainerQuery.java b/qadevOOo/tests/java/ifc/container/_XContainerQuery.java
new file mode 100644
index 000000000000..eb6fe34c5ff3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XContainerQuery.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.container.XContainerQuery;
+import com.sun.star.container.XEnumeration;
+
+
+/**
+* Testing <code>com.sun.star.container.XContainerQuery</code>
+* interface methods :
+* <ul>
+* <li><code> createSubSetEnumerationByProperties()</code></li>
+* <li><code> createSubSetEnumerationByQuery()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XContainerQuery.createSubSetEnumerationByProperties'</code> :
+* <code>NameValue[]</code> which is a valid argument for
+* <code>createSubSetEnumerationByProperties()</code>.</li>
+* <li> <code>'XContainerQuery.createSubSetEnumerationByQuery'</code> : <b>(optional)</b>
+* Normaly <code>createSubSetEnumerationByProperties()</code> covers all
+* possible queries. But for special cases, i.e. sorted output, the function
+* <code>createSubSetEnumerationByQuery()</code> was made. The special cases was not
+* implemented by default in the implemetation object. So this function could be
+* marked as <code>optional</code></li>
+* <ul> <p>
+* <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.container.XContainerQuery
+*/
+public class _XContainerQuery extends MultiMethodTest {
+
+ public XContainerQuery oObj = null;
+ private NamedValue[] m_querySequenze = null;
+ private String[] m_queryStrings = null;
+
+
+ /**
+ * Retrieves object relations
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() throws StatusException {
+
+ m_querySequenze = (NamedValue[]) tEnv.getObjRelation(
+ "XContainerQuery.createSubSetEnumerationByProperties");
+ if (m_querySequenze == null) {
+ throw new StatusException(
+ Status.failed("Could not get object relation " +
+ "'XContainerQuery.createSubSetEnumerationByProperties'")) ;
+ }
+
+ m_queryStrings = (String[]) tEnv.getObjRelation(
+ "XContainerQuery.createSubSetEnumerationByQuery");
+ if (m_queryStrings == null) {
+ log.println("Could not get object relation " +
+ "'XContainerQuery.createSubSetEnumerationByQuery'");
+ }
+ }
+
+
+ /**
+ * If object relation is available, the function was called with relation
+ * as parameter. The returned <code>XEnumeration</code> must not be null and
+ * elements of it must be valid.
+ * If object relation is not available, the result is always <code>true</coed>
+ */
+ public void _createSubSetEnumerationByQuery() {
+
+ boolean bResult = true;
+ if ( m_queryStrings == null ) {
+ log.println("This object does not have an implemetation for this function");
+ // This is not a bug, because it's a feature for future purposes
+ } else {
+ for (int i = 0; i < m_queryStrings.length; i++){
+ String queryString = m_queryStrings[i];
+ XEnumeration subSet = oObj.createSubSetEnumerationByQuery( queryString );
+
+ bResult &= subSet.hasMoreElements();
+
+ while (subSet.hasMoreElements()) {
+ try{
+ Object element = subSet.nextElement();
+
+ } catch (com.sun.star.container.NoSuchElementException e){
+ log.println("Exception occured ");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("Exception occured ");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+ }
+ }
+ }
+
+ tRes.tested("createSubSetEnumerationByQuery()", bResult);
+ }
+
+ /**
+ * The function was called with object relation
+ * as parameter. The returned <code>XEnumeration</code> must not be null and
+ * elements of it must be valid.
+ *
+ */
+ public void _createSubSetEnumerationByProperties() {
+
+ boolean bResult = true;
+
+ XEnumeration subSet = oObj.createSubSetEnumerationByProperties( m_querySequenze );
+
+ bResult = subSet.hasMoreElements();
+
+ while (subSet.hasMoreElements()) {
+ try{
+ Object element = subSet.nextElement();
+
+ } catch (com.sun.star.container.NoSuchElementException e){
+ log.println("Exception occured ");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("Exception occured ");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+ }
+
+ tRes.tested("createSubSetEnumerationByProperties()", bResult);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java b/qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java
new file mode 100644
index 000000000000..5339febb521a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XContentEnumerationAccess;
+import com.sun.star.container.XEnumeration;
+
+/**
+* Testing <code>com.sun.star.container.XContentEnumerationAccess</code>
+* interface methods :
+* <ul>
+* <li><code> createContentEnumeration()</code></li>
+* <li><code> getAvailableServiceNames()</code></li>
+* </ul> <p>
+* @see com.sun.star.container.XContentEnumerationAccess
+*/
+public class _XContentEnumerationAccess extends MultiMethodTest{
+ public XContentEnumerationAccess oObj = null;
+ String[] serviceNames = null;
+
+ /**
+ * Retrieves service names and stores them. <p>
+ * Has <b> OK </b> status if not <code>null</code>
+ * value returned.
+ */
+ public void _getAvailableServiceNames(){
+ boolean bResult = true;
+ try {
+ serviceNames = oObj.getAvailableServiceNames();
+ bResult = serviceNames != null ;
+ } catch (Exception e) {
+ log.println("Exception occured. " + e);
+ bResult = false;
+ }
+ tRes.tested("getAvailableServiceNames()", bResult);
+ }
+
+ /**
+ * If at least one service available then an enumeration for
+ * it created. <p>
+ * Has <b> OK </b> status if no services available or enumeration
+ * created for available service is not <code>null</code>.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getAvailableServiceNames()</code> :
+ * to have at least one service name for enumeration to create for.</li>
+ * </ul>
+ */
+ public void _createContentEnumeration(){
+ requiredMethod("getAvailableServiceNames()");
+
+ if (serviceNames.length == 0) {
+ log.println("No service name available") ;
+ tRes.tested("createContentEnumeration()", true) ;
+ return ;
+ }
+
+ boolean bResult = true;
+
+ log.println( "creating Enumeration" );
+ XEnumeration oEnum = oObj.createContentEnumeration(serviceNames[0]);
+ bResult &= oEnum != null;
+
+ tRes.tested( "createContentEnumeration()", bResult);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XElementAccess.java b/qadevOOo/tests/java/ifc/container/_XElementAccess.java
new file mode 100644
index 000000000000..e732db774c05
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XElementAccess.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XElementAccess;
+
+/**
+ * Testing <code>com.sun.star.container.XElementAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getElementType()</code></li>
+ * <li><code> hasElements()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XElementAccess
+ */
+public class _XElementAccess extends MultiMethodTest {
+ public XElementAccess oObj = null;
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>,
+ * only in the case the container is not empty.<p>
+ */
+ public void _hasElements(){
+ // Testing hasElements() method
+ tRes.tested( "hasElements()", oObj.hasElements() );
+ } // end hasElements
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns not null value.<p>
+ */
+ public void _getElementType(){
+ // Testing getElementType() method
+ com.sun.star.uno.Type type = oObj.getElementType();
+ tRes.tested( "getElementType()", type != null );
+ } // end ElementType
+
+} /// finished class _XElementAccess
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XEnumeration.java b/qadevOOo/tests/java/ifc/container/_XEnumeration.java
new file mode 100644
index 000000000000..eaf5a2d5991d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XEnumeration.java
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.WrappedTargetException;
+
+/**
+* Testing <code>com.sun.star.container.XEnumeration</code>
+* interface methods :
+* <ul>
+* <li><code> hasMoreElements()</code></li>
+* <li><code> nextElement()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ENUM'</code> (of type <code>XEnumerationAccess</code>):
+* This test creates its own oObj because the method nextElement()
+* will be modified this Object directly so other threads may be faild.
+* </li>
+* <ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.container.XEnumeration
+*/
+public class _XEnumeration extends MultiMethodTest {
+
+ public XEnumeration oObj = null;
+ public XEnumerationAccess Enum = null;
+
+ /**
+ * Retrieves relation and sets oObj to a separate enumeration
+ * created. Retrieves all elements from enumeration.<p>
+ * Has <b> OK </b> status if all elements successfully retrieved
+ * and exceptions occured.
+ */
+ public void _hasMoreElements() {
+ boolean result = true;
+
+ log.println("get all elements");
+ int counter = 0;
+ int tmpCounter = 0;
+ while ( oObj.hasMoreElements() ) {
+ try {
+ Object oAny = oObj.nextElement();
+ counter ++;
+ if (counter - tmpCounter > 10000) {
+ log.println(counter+ " Elements");
+ tmpCounter = counter;
+ }
+ } catch (WrappedTargetException e) {
+ log.println("hasMoreElements() : " + e);
+ result = false;
+ break;
+ } catch (NoSuchElementException e) {
+ log.println("hasMoreElements() : " + e);
+ result = false;
+ break;
+ }
+ }
+ Object expCount = tEnv.getObjRelation("ExpectedCount");
+ if (expCount != null) {
+ int ec = ((Integer) expCount).intValue();
+ boolean locResult = counter == ec;
+ if (!locResult) {
+ log.println("Not all Elements are returned: ");
+ log.println("\tExpected: "+ ec);
+ log.println("\tFound: "+counter);
+ }
+ result &= locResult;
+ }
+ tRes.tested("hasMoreElements()", result);
+ return;
+ } // end hasMoreElements
+
+ /**
+ * Calls the method (on starting this method there is no more elements
+ * in the enumeration. <p>
+ * Has <b> OK </b> status if only <code>NoSuchElementException</code>
+ * exception rises. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> hasMoreElements() </code> : it retrieves all elements </li>
+ * </ul>
+ */
+ public void _nextElement(){
+ requiredMethod("hasMoreElements()");
+ boolean result = true;
+ log.println("additional call must throw NoSuchElementException");
+
+ try {
+ Object oAny = oObj.nextElement();
+ log.println("nextElement: no exception!");
+ result = false;
+ } catch (WrappedTargetException e) {
+ log.println("nextElement: wrong exception!");
+ result = false;
+ } catch (NoSuchElementException e) {
+ log.println("nextElement: correct exception");
+ }
+
+ tRes.tested("nextElement()", result);
+
+ return;
+
+ } // end NextElement
+
+} //end XEnumeration
+
diff --git a/qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java b/qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java
new file mode 100644
index 000000000000..87de9304e309
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+
+
+/**
+* Testing <code>com.sun.star.container.XEnumerationAccess</code>
+* interface methods. <p>
+* Test is multithread compilant. <p>
+*/
+public class _XEnumerationAccess extends MultiMethodTest{
+ public XEnumerationAccess oObj = null;
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns not null value. <p>
+ */
+ public void _createEnumeration(){
+ log.println( "createing Enumeration" );
+ XEnumeration oEnum = oObj.createEnumeration();
+ tRes.tested( "createEnumeration()", oEnum != null );
+ return;
+ } // end createEnumeration()
+} // finish class _XEnumerationAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XHierarchicalName.java b/qadevOOo/tests/java/ifc/container/_XHierarchicalName.java
new file mode 100644
index 000000000000..c2723ccce0af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XHierarchicalName.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import com.sun.star.container.XHierarchicalName;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+public class _XHierarchicalName extends MultiMethodTest {
+ public XHierarchicalName oObj;
+
+ public void _composeHierarchicalName() {
+ String expName = (String) tEnv.getObjRelation("HierachicalName");
+ String element = (String) tEnv.getObjRelation("ElementName");
+ boolean res = false;
+
+ try {
+ String hn = oObj.composeHierarchicalName(element);
+ res = hn.startsWith(expName);
+
+ if (!res) {
+ log.println("Getting : " + hn +
+ " but expected it to start with " + expName);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception " + e.getMessage());
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("Exception " + e.getMessage());
+ }
+
+ tRes.tested("composeHierarchicalName()", res);
+ }
+
+ public void _getHierarchicalName() {
+ String hName = oObj.getHierarchicalName();
+ String expName = (String) tEnv.getObjRelation("HierachicalName");
+ boolean res = true;
+System.out.println("### "+hName);
+ if (expName != null) {
+ res = hName.startsWith(expName);
+
+ if (!res) {
+ log.println("Expected the name to start with " + expName);
+ log.println("got " + hName);
+ }
+ } else {
+ throw new StatusException(Status.failed(
+ "ObjectRelation 'HierachicalName' missing"));
+ }
+
+ tRes.tested("getHierarchicalName()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java b/qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java
new file mode 100644
index 000000000000..2270d68502ba
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XHierarchicalNameAccess;
+
+/**
+* Testing <code>com.sun.star.container.XHierarchicalNameAccess</code>
+* interface methods :
+* <ul>
+* <li><code> getByHierarchicalName()</code></li>
+* <li><code> hasByHierarchicalName()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ElementName'</code> (of type <code>String</code>):
+* name of the element which exists in the container. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.container.XHierarchicalNameAccess
+*/
+public class _XHierarchicalNameAccess extends MultiMethodTest{
+ public XHierarchicalNameAccess oObj = null;
+
+ /**
+ * Calls the method with existing and nonexisting
+ * element names. <p>
+ * Has <b>OK</b> status if for existing name <code>true</code>
+ * is returned and for nonexisting - <code>false</code>.
+ */
+ public void _hasByHierarchicalName(){
+ String name = (String) tEnv.getObjRelation("ElementName") ;
+ boolean res = oObj.hasByHierarchicalName(name) ;
+ name +="ItMakesThisNameNonExistantForSure";
+ boolean res2 = oObj.hasByHierarchicalName(name);
+ res &= !res2;
+ tRes.tested("hasByHierarchicalName()", res) ;
+ } // end _hasByHierarchicalName()
+
+ /**
+ * Tries to retrieve an element with existing name. <p>
+ * Has <b>OK</b> status if non null object is returned.
+ */
+ public void _getByHierarchicalName(){
+ String name = (String) tEnv.getObjRelation("ElementName") ;
+ Object res ;
+
+ try {
+ res = oObj.getByHierarchicalName(name) ;
+
+ } catch (NoSuchElementException e) {
+ log.println("Element with name '" + name +
+ "' doesn't exist in this container") ;
+ res = null ;
+ }
+
+ tRes.tested("getByHierarchicalName()", res != null) ;
+
+ } // end _getByHierarchicalName()
+
+} // finish class _XHierarchicalNameAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XIndexAccess.java b/qadevOOo/tests/java/ifc/container/_XIndexAccess.java
new file mode 100644
index 000000000000..c87a62baaf23
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XIndexAccess.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.lang.WrappedTargetException;
+
+/**
+* Testing <code>com.sun.star.container.XIndexAccess</code>
+* interface methods :
+* <ul>
+* <li><code> getCount()</code></li>
+* <li><code> getByIndex()</code></li>
+* </ul> <p>
+* Test seems to work properly in multithreaded environment.
+* @see com.sun.star.container.XIndexAccess
+*/
+public class _XIndexAccess extends MultiMethodTest {
+
+ public XIndexAccess oObj = null;
+
+ /**
+ * Number of elements in the container.
+ */
+ public int count = 0;
+
+ /**
+ * Get number of element in the container. <p>
+ * Has <b> OK </b> status if method returns number lager than -1.
+ */
+ public void _getCount() {
+ boolean result = true;
+ log.println("getting the number of the elements");
+ // hope we haven't a count lower than zerro ;-)
+ count = -1;
+ count = oObj.getCount();
+ result = (count != -1);
+ tRes.tested("getCount()", result);
+ } //end getCount()
+
+ /**
+ * This method tests the IndexAccess from the first element,
+ * the middle element and the last element. Finaly it test
+ * Exceptions which throws by a not available index. <p>
+ * Has <b> OK </b> status if first, middle and last elements
+ * successfully returned and has non null value; and if on
+ * invalid index parameter <code>IndexOutOfBoundException</code>
+ * is thrown.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCount() </code> : to have number of elements
+ * in container. </li>
+ * </ul>
+ */
+ public void _getByIndex() {
+ requiredMethod("getCount()");
+ // get count from holder
+
+ try {
+ Thread.sleep(200);
+ }
+ catch(java.lang.InterruptedException e) {}
+
+ boolean result = true;
+ boolean loc_result = true;
+ Object o = null;
+ log.println("Testing getByIndex()");
+
+ if (count > 0) {
+ // Check the first element
+ log.println("Check the first element");
+ result &= checkGetByIndex(0);
+
+ // Check the middle element
+ log.println("Check the middle element");
+ result &= checkGetByIndex(count /2);
+
+ // Check the last element
+ log.println("Check the last element");
+ result &= checkGetByIndex(count -1);
+
+ // Testing getByIndex with wrong params.
+ log.println("Testing getByIndex with wrong params.");
+ try {
+ log.println("getByIndex(" + count + ")");
+ loc_result = oObj.getByIndex(count) == null;
+ log.println("no exception thrown - FAILED");
+ result = false;
+ } catch (IndexOutOfBoundsException e) {
+ log.println("Expected exception cought! " + e + " OK");
+ } catch (WrappedTargetException e) {
+ log.println("Wrong exception! " + e + " FAILED");
+ result = false;
+ }
+ }
+
+ tRes.tested("getByIndex()", result);
+
+ } // end getByIndex
+
+ private boolean checkGetByIndex(int index){
+ Object o = null;
+ boolean result = true;
+ try {
+ log.println("getByIndex(" + index + ")");
+ o = oObj.getByIndex(index);
+
+ if ( tEnv.getObjRelation("XIndexAccess.getByIndex.mustBeNull") != null){
+ result = (o == null);
+ if (result) log.println("OK"); else log.println("FAILED -> not null");
+ } else {
+ result = (o != null);
+ if (result) log.println("OK"); else log.println("FAILED -> null");
+ }
+
+ } catch (WrappedTargetException e) {
+ log.println("Exception! " + e);
+ result = false;
+ } catch (IndexOutOfBoundsException e) {
+ log.println("Exception! " + e);
+ result = false;
+ }
+
+ return result;
+ }
+
+} // end XIndexAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XIndexContainer.java b/qadevOOo/tests/java/ifc/container/_XIndexContainer.java
new file mode 100644
index 000000000000..fcd9e80f7589
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XIndexContainer.java
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.IndexOutOfBoundsException;
+
+/**
+* Testing <code>com.sun.star.container.XIndexContainer</code>
+* interface methods :
+* <ul>
+* <li><code> insertByIndex()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be inserted. See below
+* for more information.</li>
+* <li> <code>'XIndexContainerINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurently. </li>
+* <ul> <p>
+* XIndexComtainer needs n ObjectRelations "INSTANCEn" , where n=1, ...,
+* THRCNT.<p>
+* When this interface tested by different threads, it must use different
+* instances to insert/remove - one for each thread.
+* <p>
+* That's why we use objRelation "XIndexComtainerINDEX" to store the number of
+* last taken instance. If there is no such relation, it initialize with 1.
+* <p>
+* This ObjectRelations should be necessary to create an Object,
+* which is insertable by insterByIndex()
+* INSTANCEn are n Objectrelations so that every thread can isert it's own
+* object. n depends on the variable THRCNT which and comes from API.INI
+* <p>
+* Why that:
+* If you insert the same Object by insertByIndex() several times you
+* don't insert the Object several times. The first insertByIndex() inserts
+* the Object to the Container but all other insertByIndex() changes
+* the Index in the Continer because it's the same Object. <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.container.XIndexContainer
+*/
+
+public class _XIndexContainer extends MultiMethodTest {
+ public XIndexContainer oObj = null;
+
+ int Index = 0;
+
+ /**
+ * First tries to insert proper object. Second tries to insert
+ * null value. For each test thread different objects are inserted
+ * on different indexes. For exmaple for the first started test index
+ * is 0 and object is get from relation 'INCTANCE1', and so on. <p>
+ * Has <b>OK</b> status if in the first case <code>getByIndex</code>
+ * method returns non null value and in the second <code>
+ * IndexOutOfBoundsException</code> was thrown.
+ */
+ public void _insertByIndex() {
+ boolean result = true;
+
+ log.println("get ObjRelation(\"XIndexContainerINDEX\")");
+ String sIndex = (String)tEnv.getObjRelation("XIndexContainerINDEX");
+ if (sIndex == null) {
+ log.println("No XIndexContainerINDEX - so set it to 1.");
+ tEnv.addObjRelation("XIndexContainerINDEX", Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XIndexContainerINDEX",
+ Integer.toString(Index));
+ }
+
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ Object oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ if (oInstance == null) {
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+ }
+
+ log.println("testing insertByIndex(\"" + Index + "\")...");
+ try {
+ oObj.insertByIndex(Index, oInstance);
+ result &= oObj.getByIndex(Index) != null ;
+ log.println("insertByIndex(\""+Index+"\")...OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("insertByIndex(\""+Index+"\"): " + e + " FLASE");
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertByIndex(\""+Index+"\"): " + e + " FLASE");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("insertByIndex(\""+Index+"\"): " + e + " FLASE");
+ result = false;
+ }
+
+ log.println("inserting a wrong Object occurs Exceptions ...");
+ try {
+ Object dummy = null;
+ oObj.insertByIndex(0, dummy);
+ log.println("No Exception: -> FALSE");
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Dummy-Exception: " + e + " -> OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("!!! Wrong Exception: " + e + " -> FAILED");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! Wrong Exception: " + e + " -> FAILED");
+ result = false;
+ }
+
+ tRes.tested("insertByIndex()", result);
+ }
+
+ /**
+ * Removes the element inserted by <code>insertByIndex</code> method test.
+ * The number of elements is checked before and after removing.
+ * Then tries to remove an element with invalid index and checks exceptions.
+ * <p>
+ * Has <b>OK</b> status if after removing number of elements decreases by
+ * one and <code>IndexOutOfBoundsException</code> is thrown on invalid index
+ * removing.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertByIndex </code> : to have an object which can be
+ * removed.</li>
+ * </ul>
+ */
+ public void _removeByIndex() {
+ requiredMethod("insertByIndex()");
+ boolean result = true;
+
+ log.println("testing removeByIndex() ...");
+
+ try {
+ log.println("remove " +Index);
+ int cnt1 = -1 , cnt2 = -1 ;
+ synchronized (oObj) {
+ cnt1 = oObj.getCount() ;
+ oObj.removeByIndex(Index);
+ cnt2 = oObj.getCount() ;
+ }
+ log.println("Count before removing : " + cnt1 +
+ ", and after : " + cnt2) ;
+
+ result &= cnt1 == cnt2 + 1 ;
+
+ log.println("1. removeByIndex(\""+Index+"\") ...OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ log.println("1. removeByIndex:(\""+Index+"\") " +
+ e + " - FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("1. removeByIndex:(\""+Index+"\") " +
+ e + " - FAILED");
+ }
+
+ log.println("removing a non existent object to get an exception");
+ try {
+ oObj.removeByIndex(100);
+ result = false;
+ log.println("2. removeByIndex(): Exception expected! - FAILED");
+ } catch (IndexOutOfBoundsException e) {
+ log.println("2. removeByIndex(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("2. removeByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ tRes.tested("removeByIndex()", result);
+ }
+}
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XIndexReplace.java b/qadevOOo/tests/java/ifc/container/_XIndexReplace.java
new file mode 100644
index 000000000000..b25dce3456ab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XIndexReplace.java
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.container.XIndexReplace</code>
+* interface methods :
+* <ul>
+* <li><code> replaceByIndex()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be replaced with. See below
+* for more information.</li>
+* <li> <code>'XIndexReplaceINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurently. </li>
+* <ul> <p>
+* XIndexReplace needs n ObjectRelations "INSTANCEn" , where n = 1, ..., THRCNT.
+* <p>
+* When this interface tested by different threads, it must use different
+* instances to replace - one for each thread.<p>
+* That's why we use objRelation "XIndexReplaceINDEX" to store the number of
+* last taken instance. If there is no such relation, it initialize with 1.
+* <p>
+* This ObjectRelations should be necessary to create an Object,
+* which is can be replaced by index
+* INSTANCEn are n Objectrelations so that every thread can isert it's own
+* object. n depends on the variable THRCNT which and comes from API.INI
+* <p>
+* Why that:
+* If you insert the same Object by replaceByIndex() several times you
+* don't insert the Object several times. The first replaceByIndex() inserts
+* the Object to the Container but all other replaceByIndex() changes
+* the Index in the Continer because it's the same Object. <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.container.XIndexReplace
+*/
+
+public class _XIndexReplace extends MultiMethodTest {
+ public XIndexReplace oObj = null;
+
+ /**
+ * Primarily tries to replace elements in a proper way :
+ * replaces the first, middle and the last element then
+ * checks if elements were properly replaced.
+ * Then wrong parameters are passed : invalid index and
+ * null value for replacing, and test checks for proper
+ * exceptions to be thrown. <p>
+ * In different threads it replaces elements with different
+ * objects.
+ * Has <b>OK</b> status if in the first (correct) case
+ * elements were successfully replaced (i.e. values got
+ * after replacing must be equal to those replaced with),
+ * and in the second case proper exceptions were thrown.
+ */
+ public void _replaceByIndex() {
+ boolean result = true;
+ Object old = null;
+ Object oInstance = null;
+ int Index = 0;
+
+ //get for every thread its own Object to insert it
+ log.println("get ObjRelation(\"XIndexReplaceINDEX\")");
+ String sIndex = (String)tEnv.getObjRelation("XIndexReplaceINDEX");
+ if (sIndex == null) {
+ log.println("No XIndexReplaceINDEX - so set it to 1.");
+ tEnv.addObjRelation("XIndexReplaceINDEX", Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XIndexReplaceINDEX", Integer.toString(Index));
+ }
+
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ if (oInstance == null) {
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+ }
+
+ log.println("testing replaceByIndex(0)...");
+
+ try {
+
+ log.println("Getting old object");
+ old = oObj.getByIndex(0);
+ oObj.replaceByIndex(0, oInstance);
+ result = !(oObj.getByIndex(0)).equals(old);
+ result = ! ValueComparer.equalValue(oObj,old);
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ result = false;
+ }
+
+
+ log.println("replace with a wrong Object occurs Exceptions ...");
+ try {
+ oObj.replaceByIndex(999, oInstance);
+ result = false;
+ log.println("1. replaceByIndex(): Exception expected! - FAILED");
+
+
+ XNameContainer xNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oObj) ;
+ String[] names = xNC.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" '" + names[i] + "'") ;
+ }
+ } catch (IndexOutOfBoundsException e) {
+ log.println("1. replaceByIndex(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ log.println("1. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("1. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ log.println("replace with a wrong Object occurs Exceptions ...");
+ try {
+ oObj.replaceByIndex(0, null);
+ result = false;
+ log.println("2. replaceByIndex(): Exception expected! - FAILED");
+
+
+ XNameContainer xNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oObj) ;
+ String[] names = xNC.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" '" + names[i] + "'") ;
+ }
+ } catch (IllegalArgumentException e) {
+ log.println("2. replaceByIndex(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("2. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ log.println("2. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ log.println("replace with the old object");
+ try {
+ oObj.replaceByIndex(0, old);
+ } catch (IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("replaceByIndex()", result);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNameAccess.java b/qadevOOo/tests/java/ifc/container/_XNameAccess.java
new file mode 100644
index 000000000000..be3909179f3d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNameAccess.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameAccess;
+
+/**
+* Testing <code>com.sun.star.container.XNameAccess</code> interface methods. <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+*/
+public class _XNameAccess extends MultiMethodTest {
+ public XNameAccess oObj = null;
+ public String[] Names = null;
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * not null value and no exceptions were thrown. <p>
+ */
+ public void _getElementNames() {
+ boolean result = true;
+ log.println("getting elements names");
+ Names = oObj.getElementNames();
+
+ result = (Names != null);
+ tRes.tested("getElementNames()", result);
+ return;
+ } // end getElementNames()
+
+ /**
+ * First test calls the method with existing element name,
+ * then with non existing. <p>
+ * Has <b> OK </b> status if in the first case the method returns
+ * true and in the second - false. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getElementNames </code> : to retrieve at least one
+ * element name. </li>
+ * </ul>
+ */
+ public void _hasByName() {
+ requiredMethod("getElementNames()");
+ log.println("testing hasByName() ...");
+
+ boolean result = true;
+ boolean loc_result = true;
+
+ String name = null;
+
+ if (Names.length != 0) {
+ name = Names[0];
+ log.println("testing hasByName() with valid name '" + name + "'");
+ loc_result = oObj.hasByName(name);
+ log.println("hasByName with valid names: " + loc_result);
+ result &= loc_result;
+ }
+
+ name = "non_existant_name__1234";
+ log.println("testing hasByName() with invalid name");
+ try {
+ loc_result = !oObj.hasByName(name);
+ } catch ( Exception nsee) {
+ log.println("Expected exception was thrown");
+ }
+ log.println("hasByName with invalid names: " + loc_result);
+ result &= loc_result;
+
+ tRes.tested("hasByName()", result);
+
+ return;
+ } // end hasByName()
+
+
+ /**
+ * First test calls the method with existing element name,
+ * then with non existing. <p>
+ * Has <b> OK </b> status if in the first case the method returns
+ * not null value and no exceptions were thrown,
+ * and in the second case <code>NoSuchElementException</code> was
+ * thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getElementNames </code> : to retrieve at least one
+ * element name. </li>
+ * </ul>
+ */
+ public void _getByName() {
+ log.println("reqiure getElementNames() ...");
+ requiredMethod("getElementNames()");
+ log.println("require getElementNames() ...OK");
+ log.println("testing getByName() ...");
+
+ boolean result = true;
+ boolean loc_result = true;
+
+ String name = null;
+
+ if (Names.length != 0) {
+ name = Names[0];
+ log.println("testing with valid name '" + name + "'");
+ try {
+ loc_result = (null != oObj.getByName(name));
+ } catch (Exception e) {
+ log.println("Exception! - FAILED");
+ log.println(e.toString());
+ loc_result = false;
+ }
+ log.println("getByName with valid name: " + loc_result);
+ result &= loc_result;
+ }
+
+ log.println("testing with non-existant name");
+ name = "non_existant_name__1234";
+ try {
+ loc_result = (null != oObj.getByName(name));
+ loc_result = false;
+ log.println("getByName: Exception expected - FAILED");
+ } catch (NoSuchElementException e) {
+ log.println("getByName: Expected exception - OK");
+ loc_result = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("getByName: Wrong exception - " + e + " - FAILED");
+ loc_result = false;
+ }
+
+ result &= loc_result;
+ tRes.tested("getByName()", result);
+
+ return;
+
+ } // end getByName()
+} /// finished class _XNameAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNameContainer.java b/qadevOOo/tests/java/ifc/container/_XNameContainer.java
new file mode 100644
index 000000000000..045a43f135e7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNameContainer.java
@@ -0,0 +1,259 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameContainer;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.container.XNameContainer</code>
+* interface methods :
+* <ul>
+* <li><code> insertByName()</code></li>
+* <li><code> removeByName()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be inserted. See below
+* for more information.</li>
+* <li> <code>'XNameContainerINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> <code>'XNameContainer.AllowDuplicateNames'</code> <b>optional</b>:
+* if this relation exists then container elements can have duplicate
+* names. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurently. </li>
+* <ul> <p>
+* XNameComtainer needs n ObjectRelations "INSTANCEn" , where n=1, ..., THRCNT.
+*
+* When this interface tested by different threads, it must use different
+* instances to insert/remove - one for each thread.
+*
+* That's why we use objRelation "XNameContainerINDEX" to store the number of
+* last taken instance. If there is no such relation, it initialize with 1.
+*
+* If you insert the same Object by insertByName() several times you
+* don't insert the Object several times. The first insertByName() inserts
+* the Object to the Container but all other insertByName() changes
+* the Name in the Continer because it's the same Object.
+* @see com.sun.star.container.XNameContainer
+*/
+
+public class _XNameContainer extends MultiMethodTest {
+ public XNameContainer oObj = null;
+ String Name = "XNameContainer";
+
+ /**
+ * First inserts object by name (different objects for different threads)
+ * and checks if it exists. Second, if duplicate names are not allowed
+ * test tries to insert element with the same name and checks for
+ * proper exception. Third, tries to add <code>null</code> element and
+ * checks for proper exception. <p>
+ * Has <b>OK</b> status if in the first case element added exists in
+ * the container, in the second case <code>ElementExistException</code>
+ * is thrown, and in the third case <code>IllegalArgumentException</code>
+ * is thrown.
+ */
+ public void _insertByName() {
+ boolean result = true;
+ int Index = 0;
+
+ //get for every thread its own Object to insert it
+ log.println("get ObjRelation(\"XNameContainerINDEX\")");
+ String sIndex = null ;
+ synchronized (tEnv) {
+ sIndex = (String)tEnv.getObjRelation("XNameContainerINDEX");
+ if (sIndex == null) {
+ log.println("No XNameContainerINDEX - so set it to 1.");
+ tEnv.addObjRelation("XNameContainerINDEX",Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XNameContainerINDEX",
+ Integer.toString(Index));
+ }
+ }
+ Name += Index ;
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ Object oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ if (oInstance == null) {
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+ }
+
+
+ log.println("testing insertByName(\""+Name+"\")...");
+ try {
+ String[] names = oObj.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" '" + names[i] + "'") ;
+ }
+
+ oObj.insertByName(Name, oInstance);
+
+ names = oObj.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+
+ result &= oObj.hasByName(Name) ;
+ log.println("insertByName(\""+Name+"\")...OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertByName(\""+Name+"\"): " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("insertByName(\""+Name+"\"): " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("insertByName(\""+Name+"\"): " + e + " FALSE");
+ result = false;
+ }
+
+ // if duplicate names is not allowed test for valid exception
+ if (tEnv.getObjRelation("XNameContainer.AllowDuplicateNames")==null) {
+ Object secondInstance = tEnv.getObjRelation("SecondInstance");
+ if (secondInstance != null) {
+ oInstance = secondInstance;
+ }
+ log.println("Trying to add element with the same name ...") ;
+ try {
+ oObj.insertByName(Name, oInstance);
+ result = false ;
+ log.println("!!! No exception were thrown !!!");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Wrong exception : " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! Wrong exception : " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("Right exception : " + e + " OK");
+ }
+ }
+
+ log.println("inserting a wrong Object occurs Exceptions ...");
+ try {
+ Object dummy = null;
+ oObj.insertByName("Dummy", dummy);
+ log.println("No Exception: -> FALSE");
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Dummy-Exception: " + e + " -> OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! This exception not expected: " +e+ " -> FAILED");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("!!! This exception not expected: " +e+ " -> FAILED");
+ result = false;
+ }
+
+ tRes.tested("insertByName()", result);
+
+ } // end insertByName()
+
+ /**
+ * Test removes element inserted before and checks if element
+ * still exists in the container. Second test tries to remove
+ * element with non-existing name and checks for proper exception. <p>
+ * Has <b> OK </b> status if in the first case element doesn't
+ * exist anymore (or duplicate names are allowed), and in the
+ * second case <code>NoSuchElementException</code> is thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertByName() </code> : to remove the element inserted
+ * in this test. </li>
+ * </ul>
+ */
+ public void _removeByName() {
+ try {
+ requiredMethod("insertByName()");
+ } catch (StatusException e) {
+ // removing the name anywhere
+ try {
+ oObj.removeByName(Name);
+ } catch (com.sun.star.container.NoSuchElementException e1) {
+ } catch (com.sun.star.lang.WrappedTargetException e1) {
+ }
+ }
+
+ boolean result = true;
+
+ log.println("testing removeByName() ...");
+
+ try {
+ log.println("remove " + Name);
+ String[] names = oObj.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ oObj.removeByName(Name);
+ boolean loc_res = !oObj.hasByName(Name) || tEnv.getObjRelation
+ ("XNameContainer.AllowDuplicateNames") != null ;
+ result &= loc_res ;
+ if (loc_res)
+ log.println("1. removeByName(\""+Name+"\") ...OK");
+ else
+ log.println("1. !!! Container still has element with name "
+ + Name) ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("1. removeByName:(\""+Name+"\") " + e + " - FAILED");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ log.println("1. removeByName:(\""+Name+"\") " + e + " - FAILED");
+ }
+
+ log.println("removing a non existent object to get an exception");
+ try {
+ oObj.removeByName(Name+ " dummy");
+ result = false;
+ log.println("2. removeByName(): Exception expected! - FAILED");
+ } catch (NoSuchElementException e) {
+ log.println("2. removeByName(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("2. removeByName(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ tRes.tested("removeByName()", result);
+
+ return;
+ } // end removeByName()
+} //XNameContainer
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNameReplace.java b/qadevOOo/tests/java/ifc/container/_XNameReplace.java
new file mode 100644
index 000000000000..a56edc5ce3db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNameReplace.java
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import com.sun.star.sheet.XCellRangeAddressable;
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.uno.UnoRuntime;
+/**
+* Testing <code>com.sun.star.container.XNameReplace</code>
+* interface methods :
+* <ul>
+* <li><code> replaceByName()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be replaced with. See below
+* for more information.</li>
+* <li> <code>'NAMEREPLACE'</code> <b>optional</b>: <code>String</code>
+* relation which represents element name to be replaced.
+* Some Objects can't replace the firsr that comes along, i.e.
+* SwXStyleFamily. It have some pool styles which can't be replaced.
+* So the test need a special object to replace it by name. </li>
+* <li> <code>'XNameReplaceINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurently. </li>
+* <ul> <p>
+* XNameReplace needs n ObjectRelations "INSTANCEn" , where n = 1, ..., THRCNT.
+* <p>
+* When this interface tested by different threads, it must use different instances
+* to replace - one for each thread.
+* <p>
+* That's why we use objRelation "XNameReplaceINDEX" to store the number of last
+* taken instance. If there is no such relation, it initialize with 1.
+* <p>
+* In one of the last steps the replaced object will be compared with the old
+* object. For that it is necessary that every thread replace it's own object.
+* INSTANCEn are n Objectrelations so that every thread can isert it's own
+* object. n depends on the variable THRCNT which and comes from API.INI
+* Some Object-Container can't replace the first that comes belong. So in
+* NAMEREPLACE you can determine a containerobject, which is replaceable. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.container.XNameReplace
+*/
+public class _XNameReplace extends MultiMethodTest {
+
+ public XNameReplace oObj = null;
+
+ /**
+ * First test retrieves instance to be replaced with for each interface thread.
+ * Then list of element names is retrieved, the first of them will
+ * be replaced. In special case when <code>'NAMEREPLACE'</code> relation
+ * exists, element with the specified name is replaced.
+ * Test replaces element and checks values of element with the
+ * specified name before and after replacement. <p>
+ * Has <b>OK</b> status if values before and after replacement are
+ * different.
+ */
+ public void _replaceByName(){
+ boolean result = true;
+ String[] oNames = null;
+
+ int Index = 0;
+
+ //get for every thread its own Object to insert it
+ log.println("get ObjRelation(\"XNameReplaceINDEX\")");
+ String sIndex = (String)tEnv.getObjRelation("XNameReplaceINDEX");
+ System.out.println("Index: "+sIndex);
+ if (sIndex == null) {
+ log.println("No XNameReplaceINDEX - so set it to 1.");
+ tEnv.addObjRelation("XNameReplaceINDEX", Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XNameReplaceINDEX", Integer.toString(Index));
+ }
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ Object oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ if (oInstance == null) {
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+ }
+
+ log.println("getting the existant object's name");
+ XNameAccess oNameAccess = (XNameAccess)UnoRuntime.queryInterface(
+ XNameAccess.class, oObj);
+ oNames = oNameAccess.getElementNames();
+ /* Some Objects can't replace the firsr that comes along, i.e.
+ SwXStyleFamily. It have some pool styles which can't be replaced.
+ So the test need a special object to replace it by name.
+ */
+ log.println("get ObjRelation(\"NAMEREPLACE\")");
+ Object oNameReplace = tEnv.getObjRelation("NAMEREPLACE");
+ if (oNameReplace != null) {
+ oNames[0] = oNameReplace.toString();
+ }
+
+ log.println("replaceByName()");
+ try {
+ boolean ok;
+ log.println("get current object '" + oNames[0] + "'");
+ Object old = oObj.getByName(oNames[0]) ;
+ log.println("replace object '" + oNames[0] + "' with another instance");
+ oObj.replaceByName(oNames[0],oInstance);
+ Object newEl = oObj.getByName(oNames[0]) ;
+
+ if (tEnv.getTestCase().getObjectName().equals("ScCellRangesObj")) {
+ ok = compareRanges(old, newEl);
+ } else {
+ ok = ! ValueComparer.equalValue(old, newEl);
+ }
+ result &= ok;
+ log.println("result of replace: " + ok);
+ log.println("replace back the old object");
+ oObj.replaceByName(oNames[0],old);
+ Object origEl = oObj.getByName(oNames[0]) ;
+
+ if (tEnv.getTestCase().getObjectName().equals("ScCellRangesObj")) {
+ ok = ! compareRanges(old, origEl);
+ } else {
+ ok = ValueComparer.equalValue(old, origEl);
+ }
+
+ result &= ok;
+ log.println("result of replace back: " + ok);
+ } catch (com.sun.star.lang.IllegalArgumentException e ) {
+ result = false;
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.container.NoSuchElementException e ) {
+ result = false;
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.WrappedTargetException e ) {
+ result = false;
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("replaceByName()", result);
+
+ } // end replaceByName()
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+ // method returns false if the ranges are equal and true otherwise
+
+ private boolean compareRanges(Object old, Object newEl) {
+ XCellRangeAddressable xCRA = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class,old);
+
+ XCellRangeAddressable xCRA2 = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class,newEl);
+
+ int orgStartCol = xCRA.getRangeAddress().StartColumn;
+ int orgEndCol = xCRA.getRangeAddress().EndColumn;
+ int orgStartRow = xCRA.getRangeAddress().StartRow;
+ int orgEndRow = xCRA.getRangeAddress().EndRow;
+
+ int newStartCol = xCRA2.getRangeAddress().StartColumn;
+ int newEndCol = xCRA2.getRangeAddress().EndColumn;
+ int newStartRow = xCRA2.getRangeAddress().StartRow;
+ int newEndRow = xCRA2.getRangeAddress().EndRow;
+
+ boolean ret = true;
+
+ if (orgStartCol == newStartCol) {
+ log.println("\t StartColumn is the same");
+ ret = false;
+ }
+
+ if (orgEndCol == newEndCol) {
+ log.println("\t EndColumn is the same");
+ ret = false;
+ }
+ if (orgStartRow == newStartRow) {
+ log.println("\t StartRow is the same");
+ ret = false;
+ }
+
+ if (orgEndRow == newEndRow) {
+ log.println("\t EndRow is the same");
+ ret = false;
+ }
+
+ return ret;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNamed.java b/qadevOOo/tests/java/ifc/container/_XNamed.java
new file mode 100644
index 000000000000..81d9130e17ca
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNamed.java
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import com.sun.star.container.XNamed;
+
+import lib.MultiMethodTest;
+
+import util.utils;
+
+
+/**
+* Testing <code>com.sun.star.container.XNamed</code>
+* interface methods :
+* <ul>
+* <li><code> getName()</code></li>
+* <li><code> setName()</code></li>
+* </ul>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'setName'</code> : of <code>Boolean</code>
+* type. If it exists then <code>setName</code> method
+* isn't to be tested and result of this test will be
+* equal to relation value.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.container.XNamed
+*/
+public class _XNamed extends MultiMethodTest {
+ public XNamed oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns non null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getName() {
+ // write to log what we try next
+ log.println("test for getName()");
+
+ boolean result = true;
+ boolean loc_result = true;
+ String name = null;
+
+ loc_result = ((name = oObj.getName()) != null);
+ log.println("getting the name \"" + name + "\"");
+
+ if (loc_result) {
+ log.println("... getName() - OK");
+ } else {
+ log.println("... getName() - FAILED");
+ }
+
+ result &= loc_result;
+ tRes.tested("getName()", result);
+ }
+
+ /**
+ * Sets a new name for object and checks if it was properly
+ * set. Special cases for the following objects :
+ * <ul>
+ * <li><code>ScSheetLinkObj</code> : name must be in form of URL.</li>
+ * <li><code>ScDDELinkObj</code> : name must contain link to cell in
+ * some external Sheet.</li>
+ * </ul>
+ * Has <b> OK </b> status if new name was successfully set, or if
+ * object environment contains relation <code>'setName'</code> with
+ * value <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getName() </code> : to be sure the method works</li>
+ * </ul>
+ */
+ public void _setName() {
+ String Oname = tEnv.getTestCase().getObjectName();
+ String nsn = (String) tEnv.getObjRelation("NoSetName");
+
+ if (nsn != null) {
+ Oname = nsn;
+ }
+
+ if ((Oname.indexOf("Exporter") > 0) || (nsn != null)) {
+ log.println("With " + Oname + " setName() doesn't work");
+ log.println("see idl-file for further information");
+ tRes.tested("setName()", true);
+
+ return;
+ }
+
+ requiredMethod("getName()");
+ log.println("testing setName() ... ");
+
+ String oldName = oObj.getName();
+ String NewName = (oldName == null) ? "XNamed" : oldName + "X";
+
+ String testobjname = tEnv.getTestCase().getObjectName();
+
+ if (testobjname.equals("ScSheetLinkObj")) {
+ // special case, here name is equals to links URL.
+ NewName = "file:///c:/somename/from/XNamed";
+ } else if (testobjname.equals("ScDDELinkObj")) {
+ String fileName = utils.getFullTestDocName("ScDDELinksObj.sdc");
+ NewName = "soffice|" + fileName + "!Sheet1.A2";
+ } else if (testobjname.equals("SwXAutoTextGroup")) {
+ //This avoids a GPF
+ NewName = "XNamed*1";
+ }
+
+ boolean result = true;
+ boolean loc_result = true;
+ Boolean sName = (Boolean) tEnv.getObjRelation("setName");
+
+ if (sName == null) {
+ log.println("set the name of object to \"" + NewName + "\"");
+ oObj.setName(NewName);
+ log.println("check that container has element with this name");
+
+ String name = oObj.getName();
+ log.println("getting the name \"" + name + "\"");
+ loc_result = name.equals(NewName);
+
+ if (loc_result) {
+ log.println("... setName() - OK");
+ } else {
+ log.println("... setName() - FAILED");
+ }
+
+ result &= loc_result;
+ oObj.setName(oldName);
+ } else {
+ log.println("The names for the object '" + testobjname +
+ "' are fixed.");
+ log.println("It is not possible to rename.");
+ log.println("So 'setName()' is always OK");
+ result = sName.booleanValue();
+ }
+
+ tRes.tested("setName()", result);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/container/_XSet.java b/qadevOOo/tests/java/ifc/container/_XSet.java
new file mode 100644
index 000000000000..191b107ebc08
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XSet.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+* Testing <code>com.sun.star.container.XSet</code>
+* interface methods :
+* <ul>
+* <li><code> has()</code></li>
+* <li><code> insert()</code></li>
+* <li><code> remove()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.container.XSet
+*/
+public class _XSet extends MultiMethodTest {
+
+ public static XSet oObj = null;
+
+ private Object element = null ;
+ private boolean hasResult = true ;
+
+ /**
+ * Inserts the element stored and removed before. <p>
+ * Has <b> OK </b> status if <code>has()</code> method returns
+ * <code>true</code>.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> remove() </code> : element from set is stored and
+ * removed </li>
+ * </ul>
+ */
+ public void _insert() {
+ boolean res = true ;
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ element = xMSF.createInstance(
+ "com.sun.star.reflection.TypeDescriptionProvider");
+
+
+ oObj.insert(element) ;
+
+ if (!oObj.has(element)) {
+ res = false ;
+ log.println("After adding element method has()" +
+ " returned false") ;
+ hasResult = false ;
+ }
+ } catch (com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("insert()", res) ;
+ }
+
+ /**
+ * Through <code>XEnumeration</code> interface an element from the set
+ * is retrieved. Then this element removed.<p>
+ * Has <b> OK </b> status if after removing <code>has()</code> method
+ * returns false.
+ */
+ public void _remove() {
+ requiredMethod("insert()");
+ boolean res = true ;
+
+ try {
+
+ // get an element to be removed/inserted
+
+ oObj.remove(element) ;
+
+ if (oObj.has(element)) {
+ res = false ;
+ log.println("After removing element method has()" +
+ " returned true") ;
+ hasResult = false ;
+ }
+
+
+
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ }
+
+ tRes.tested("remove()", res) ;
+ }
+
+ /**
+ * Does nothing. Testing performed in previous methods.<p>
+ * Has <b> OK </b> status if after <code>remove()</code> call
+ * methods returned <code>false</code>, and after <code>remove()</code>
+ * call methods returned <code>true</code>.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insert() </code> : here the method is checked </li>
+ * <li> <code> remove() </code> : here the method is checked </li>
+ * </ul>
+ */
+ public void _has() {
+
+ requiredMethod("insert()") ;
+ requiredMethod("remove()") ;
+
+ tRes.tested("has()", hasResult) ;
+ }
+
+} // finished class _XSet
+
diff --git a/qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java b/qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java
new file mode 100644
index 000000000000..c9343c60ec2f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.datatransfer;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.DataFlavor;
+import com.sun.star.datatransfer.XDataFormatTranslator;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.datatransfer.XDataFormatTranslator</code>
+* interface methods :
+* <ul>
+* <li><code> getSystemDataTypeFromDataFlavor()</code></li>
+* <li><code> getDataFlavorFromSystemDataType()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.datatransfer.XDataFormatTranslator
+*/
+public class _XDataFormatTranslator extends MultiMethodTest {
+
+ public XDataFormatTranslator oObj = null;
+
+ /**
+ * Get a system data type for 'text/html' MIME type. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getSystemDataTypeFromDataFlavor() {
+ DataFlavor df = new DataFlavor
+ ("text/html","HTML-Documents", new Type());
+ Object res = oObj.getSystemDataTypeFromDataFlavor(df);
+ tRes.tested("getSystemDataTypeFromDataFlavor()",res != null);
+ }
+
+ /**
+ * Gets data flavour from system data type, which was gotten
+ * from 'text/html' MIME type. <p>
+ * Has <b>OK</b> status if DataFlavour returned has 'text/hrml' MIME
+ * type.
+ */
+ public void _getDataFlavorFromSystemDataType() {
+ DataFlavor in = new DataFlavor
+ ("text/html","HTML-Documents", new Type());
+ Object res = oObj.getSystemDataTypeFromDataFlavor(in);
+ DataFlavor out = oObj.getDataFlavorFromSystemDataType(res);
+ tRes.tested("getDataFlavorFromSystemDataType()",
+ out.MimeType.equals("text/html"));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java b/qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java
new file mode 100644
index 000000000000..6835b2d87aaf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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.datatransfer;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.XMimeContentType;
+import com.sun.star.datatransfer.XMimeContentTypeFactory;
+
+/**
+* Testing <code>com.sun.star.datatransfer.XMimeContentTypeFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createMimeContentType()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.datatransfer.XMimeContentTypeFactory
+*/
+public class _XMimeContentTypeFactory extends MultiMethodTest {
+
+ public XMimeContentTypeFactory oObj = null;
+
+ /**
+ * First tries to create 'image/jpeg' MIME type and checks that
+ * valid <code>XMimeContentType</code> object was created.
+ * Second tries to create type with wrong argument and exception
+ * throwing is checked. <p>
+ * Has <b>OK</b> status if in the first case valid object is
+ * returned and in the second case <code>IllegalArgumentException</code>
+ * was thrown.
+ */
+ public void _createMimeContentType() {
+ boolean result = true ;
+ XMimeContentType type = null;
+
+ try {
+ type = oObj.createMimeContentType("image/jpeg") ;
+
+ if (type != null) {
+ String typeS = type.getFullMediaType() ;
+
+ log.println("MediaType = '" + type.getMediaType() + "'") ;
+ log.println("MediaSubType = '" + type.getMediaSubtype() + "'") ;
+ log.println("FullMediaType = '" + typeS + "'") ;
+
+ result = "image/jpeg".equals(typeS) ;
+ } else {
+ log.println("!!! Null was returned !!!") ;
+ result = false ;
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured : " ) ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ try {
+ type = oObj.createMimeContentType("nosuchtype") ;
+
+ log.println("!!! No exception was thrown on wrong MIME type !!!") ;
+ result = false ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Right exception was thrown." ) ;
+ }
+
+ tRes.tested("createMimeContentType()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java
new file mode 100644
index 000000000000..c8b13bc73fb4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * 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.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.datatransfer.DataFlavor;
+import com.sun.star.datatransfer.XTransferable;
+import com.sun.star.datatransfer.clipboard.XClipboard;
+import com.sun.star.datatransfer.clipboard.XClipboardOwner;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XClipboard</code>
+* interface methods :
+* <ul>
+* <li><code> getContents()</code></li>
+* <li><code> setContents()</code></li>
+* <li><code> getName()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.datatransfer.clipboard.XClipboard
+*/
+public class _XClipboard extends MultiMethodTest {
+
+ public XClipboard oObj;
+
+ MyTransferable myTransferable1;
+ MyTransferable myTransferable2;
+
+ MyOwner myOwner;
+
+ /**
+ * <code>XClipboardOwner</code> interface implementation which
+ * stores parameters passed to <code>lostOwnership</code> method.
+ */
+ class MyOwner implements XClipboardOwner {
+ XClipboard board;
+ XTransferable contents;
+
+ public void lostOwnership(XClipboard board, XTransferable contents) {
+ this.board = board;
+ this.contents = contents;
+ }
+
+ }
+
+ /**
+ * Simpliest <code>XTransferable</code> interface implementation.
+ */
+ class MyTransferable implements XTransferable {
+ public Object getTransferData(DataFlavor dataFlavor) {
+ return "";
+ }
+
+ public com.sun.star.datatransfer.DataFlavor[] getTransferDataFlavors() {
+ return new DataFlavor[0];
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor dataFlavor) {
+ return false;
+ }
+
+ }
+
+ /**
+ * Initially sets the content of the clipboard.
+ */
+ public void before() {
+ oObj.setContents(myTransferable1 = new MyTransferable(),
+ myOwner = new MyOwner());
+ }
+
+ /**
+ * Gets the name of the clipboard. <p>
+ * Has <b>OK</b> status if not <code>null</code> value returned.
+ */
+ public void _getName() {
+ String name = oObj.getName();
+ tRes.tested("getName()", name != null);
+ }
+
+ /**
+ * Gets the contents of the clipboard. <p>
+ * Has <b>OK</b> status if the content obtained is equal to content
+ * set in <code>before</code> method.
+ */
+ public void _getContents() {
+ tRes.tested("getContents()", oObj.getContents() == myTransferable1);
+ }
+
+ /**
+ * Sets new contents for the clipboard. Then checks if it was set,
+ * and if <code>lostOwnerShip()</code> notification of the prevoius
+ * contents was called with appropriate parameters.<p>
+ * Has <b> OK </b> status if <code>getContents</code> returns the same
+ * object which is set, and notification was received.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getContents() </code> : for right testing order </li>
+ * </ul>
+ */
+ public void _setContents() {
+ requiredMethod("getContents()");
+ myTransferable2 = new MyTransferable();
+
+ oObj.setContents(myTransferable2, new MyOwner());
+
+ log.println("sleeping for 1 second");
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("interrupted");
+ e.printStackTrace(log);
+ throw new StatusException("Operation interrupted", e);
+ }
+
+ tRes.tested("setContents()", oObj.getContents() == myTransferable2);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java
new file mode 100644
index 000000000000..186ede4922d3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.clipboard.XClipboardEx;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XClipboardEx</code>
+* interface methods :
+* <ul>
+* <li><code> getRenderingCapabilities()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.datatransfer.clipboard.XClipboardEx
+*/
+public class _XClipboardEx extends MultiMethodTest {
+
+ public XClipboardEx oObj;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _getRenderingCapabilities() {
+ byte caps = oObj.getRenderingCapabilities();
+ tRes.tested("getRenderingCapabilities()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java
new file mode 100644
index 000000000000..77a9a2d99284
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * 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.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.datatransfer.DataFlavor;
+import com.sun.star.datatransfer.XTransferable;
+import com.sun.star.datatransfer.clipboard.ClipboardEvent;
+import com.sun.star.datatransfer.clipboard.XClipboard;
+import com.sun.star.datatransfer.clipboard.XClipboardListener;
+import com.sun.star.datatransfer.clipboard.XClipboardNotifier;
+import com.sun.star.datatransfer.clipboard.XClipboardOwner;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XClipboardNotifier</code>
+* interface methods :
+* <ul>
+* <li><code> addClipboardListener()</code></li>
+* <li><code> removeClipboardListener()</code></li>
+* </ul> <p>
+* The object <b>must also implement</b> <code>XClipboard</code>
+* interface. <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.datatransfer.clipboard.XClipboardNotifier
+* @see com.sun.star.datatransfer.clipboard.XClipboard
+*/
+public class _XClipboardNotifier extends MultiMethodTest {
+
+ public XClipboardNotifier oObj;
+
+ /**
+ * <code>XClipboardOwner</code> interface implementation which
+ * stores parameters passed to <code>lostOwnership</code> method.
+ */
+ class MyOwner implements XClipboardOwner {
+ XClipboard board;
+ XTransferable contents;
+
+ public void lostOwnership(XClipboard board, XTransferable contents) {
+ this.board = board;
+ this.contents = contents;
+ }
+ }
+
+ /**
+ * Simpliest <code>XTransferable</code> interface implementation
+ * which supports "text/htmp" data type.
+ */
+ class MyTransferable implements XTransferable {
+ DataFlavor[] supportedFlavors;
+
+ public MyTransferable() {
+ supportedFlavors = new DataFlavor[] {
+ new DataFlavor("text/plain", "Plain text", new Type(String.class))
+ };
+ }
+
+ public Object getTransferData(DataFlavor dataFlavor) {
+ return "";
+ }
+
+ public DataFlavor[] getTransferDataFlavors() {
+ return supportedFlavors;
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor dataFlavor) {
+ return supportedFlavors[0].MimeType.equals(dataFlavor.MimeType);
+ }
+ }
+
+ /**
+ * Implementation of listener which registers its method calls.
+ */
+ class MyClipboardListener implements XClipboardListener {
+ boolean called = false;
+
+ public void changedContents(ClipboardEvent evt) {
+ called = true;
+ }
+
+ public void disposing(EventObject wvt) {
+ log.println("");
+ }
+ }
+
+ MyClipboardListener myListener;
+
+ /**
+ * Adds a listener and put a new contents into clipboard. <p>
+ * Has <b> OK </b> status if the listener was called on contents changing.
+ */
+ public void _addClipboardListener() {
+ oObj.addClipboardListener(myListener = new MyClipboardListener());
+
+ XClipboard board = (XClipboard)UnoRuntime.queryInterface(
+ XClipboard.class, tEnv.getTestObject());
+
+ board.setContents(new MyTransferable(), new MyOwner());
+
+ log.println("sleeping for 1 second");
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("interrupted");
+ e.printStackTrace(log);
+ throw new StatusException("Operation interrupted", e);
+ }
+
+ tRes.tested("addClipboardListener()", myListener.called);
+ }
+
+ /**
+ * Removes the listener and put a new contents into clipboard. <p>
+ * Has <b> OK </b> status if the listener was not called on contents
+ * changing.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>addClipboardListener()</code> </li>
+ * </ul>
+ */
+ public void _removeClipboardListener() {
+ try {
+ requiredMethod("addClipboardListener()");
+ myListener.called = false;
+ } finally {
+ oObj.removeClipboardListener(myListener);
+ }
+
+ XClipboard board = (XClipboard)UnoRuntime.queryInterface(
+ XClipboard.class, oObj);
+
+ board.setContents(new MyTransferable(), new MyOwner());
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("interrupted");
+ e.printStackTrace(log);
+ throw new StatusException("Operation interrupted", e);
+ }
+
+ tRes.tested("removeClipboardListener()", !myListener.called);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java
new file mode 100644
index 000000000000..c790d42df531
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.clipboard.XFlushableClipboard;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XFlushableClipboard</code>
+* interface methods :
+* <ul>
+* <li><code> flushClipboard()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.datatransfer.clipboard.XFlushableClipboard
+*/
+public class _XFlushableClipboard extends MultiMethodTest {
+
+ public XFlushableClipboard oObj;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _flushClipboard() {
+ oObj.flushClipboard();
+ tRes.tested("flushClipboard()",true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/document/_DocumentInfo.java b/qadevOOo/tests/java/ifc/document/_DocumentInfo.java
new file mode 100644
index 000000000000..6bb34e303329
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_DocumentInfo.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.util.DateTime;
+
+/**
+* Testing <code>com.sun.star.document.DocumentInfo</code>
+* service properties : <p>
+* <ul>
+* <li> <code> Author </code> </li>
+* <li> <code> AutoloadEnabled </code> </li>
+* <li> <code> AutoloadSecs </code> </li>
+* <li> <code> AutoloadURL </code> </li>
+* <li> <code> BlindCopiesTo </code> </li>
+* <li> <code> CopyTo </code> </li>
+* <li> <code> CreationDate </code> </li>
+* <li> <code> DefaultTarget </code> </li>
+* <li> <code> Description </code> </li>
+* <li> <code> InReplyTo </code> </li>
+* <li> <code> IsEncrypted </code> </li>
+* <li> <code> Keywords </code> </li>
+* <li> <code> MIMEType </code> </li>
+* <li> <code> ModifiedBy </code> </li>
+* <li> <code> ModifyDate </code> </li>
+* <li> <code> Newsgroups </code> </li>
+* <li> <code> Original </code> </li>
+* <li> <code> PrintDate </code> </li>
+* <li> <code> PrintedBy </code> </li>
+* <li> <code> Priority </code> </li>
+* <li> <code> Recipient </code> </li>
+* <li> <code> References </code> </li>
+* <li> <code> ReplyTo </code> </li>
+* <li> <code> Template </code> </li>
+* <li> <code> TemplateDate </code> </li>
+* <li> <code> Theme </code> </li>
+* <li> <code> Title </code> </li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.DocumentInfo
+*/
+public class _DocumentInfo extends MultiPropertyTest {
+
+ /**
+ * Overrides compare method. Can compare <code>DateTime</code>
+ * structures.
+ */
+ protected boolean compare(Object ob1, Object ob2) {
+ if (ob1 instanceof DateTime && ob2 instanceof DateTime) {
+ DateTime dt1 = (DateTime)ob1;
+ DateTime dt2 = (DateTime)ob2;
+
+ return dt1.Year == dt2.Year
+ && dt1.Month == dt2.Month
+ && dt1.Day == dt2.Day
+ && dt1.Hours == dt2.Hours
+ && dt1.Minutes == dt2.Minutes
+ && dt1.Seconds == dt2.Seconds
+ && dt1.HundredthSeconds == dt2.HundredthSeconds;
+ } else {
+ return super.compare(ob1, ob2);
+ }
+ }
+
+ /**
+ * Prints DateTime.
+ */
+ protected String toString(Object obj) {
+ if (obj instanceof DateTime) {
+ DateTime dt = (DateTime)obj;
+
+ return dt.Year + ":" + dt.Month + ":" + dt.Day
+ + ":" + dt.Hours + ":" + dt.Minutes
+ + ":" + dt.Seconds + ":" + dt.HundredthSeconds;
+ } else {
+ return super.toString(obj);
+ }
+ }
+
+ /**
+ * Tester for properties with <code>DateTime</code> type which
+ * creates new structure if old property value was null.
+ */
+ class DatePropertyTester extends PropertyTester {
+ protected Object getNewValue(String propName,
+ Object oldValue) {
+ if (oldValue == null || util.utils.isVoid(oldValue)) {
+ DateTime dt = new DateTime();
+
+ dt.Year = 2000;
+ dt.Month = 10;
+ dt.Day = 18;
+ dt.Hours = 19;
+ dt.Minutes = 41;
+
+ return dt;
+ } else {
+ return super.getNewValue(propName, oldValue);
+ }
+ }
+ }
+
+ /**
+ * Can be void.
+ */
+ public void _PrintDate() {
+ testProperty("PrintDate", new DatePropertyTester());
+ }
+
+ /**
+ * Can be void.
+ */
+ public void _TemplateDate() {
+ testProperty("TemplateDate", new DatePropertyTester());
+ }
+
+ /**
+ * Can be void.
+ */
+ public void _ModifyDate() {
+ testProperty("ModifyDate", new DatePropertyTester());
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_ExportFilter.java b/qadevOOo/tests/java/ifc/document/_ExportFilter.java
new file mode 100644
index 000000000000..e8801774c83a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_ExportFilter.java
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.document.ExportFilter</code>
+* service properties :
+* <ul>
+* <li><code> Type</code></li>
+* <li><code> UIName</code></li>
+* <li><code> DocumentService</code></li>
+* <li><code> FilterService</code></li>
+* <li><code> Flags</code></li>
+* <li><code> UserData</code></li>
+* <li><code> FileFormatVersion</code></li>
+* <li><code> TemplateName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.ExportFilter
+*/
+public class _ExportFilter extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_ImportFilter.java b/qadevOOo/tests/java/ifc/document/_ImportFilter.java
new file mode 100644
index 000000000000..a2d0afb809cc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_ImportFilter.java
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+/**
+* Testing <code>com.sun.star.document.ImportFilter</code>
+* service properties :
+* <ul>
+* <li><code> Type</code></li>
+* <li><code> UIName</code></li>
+* <li><code> DocumentService</code></li>
+* <li><code> FilterService</code></li>
+* <li><code> Flags</code></li>
+* <li><code> UserData</code></li>
+* <li><code> FileFormatVersion</code></li>
+* <li><code> TemplateName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.ImportFilter
+*/
+import lib.MultiPropertyTest;
+
+public class _ImportFilter extends MultiPropertyTest {
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_LinkTarget.java b/qadevOOo/tests/java/ifc/document/_LinkTarget.java
new file mode 100644
index 000000000000..166dae9de48e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_LinkTarget.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.document.LinkTarget</code>
+* service properties :
+* <ul>
+* <li><code> LinkDisplayName </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.LinkTarget
+*/
+public class _LinkTarget extends MultiPropertyTest {
+
+/*
+ public XPropertySet oObj = null; // oObj filled by MultiMethodTest
+
+ public void _LinkDisplayName() {
+ // check if Service is available
+ XServiceInfo xInfo = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, oObj);
+ String [] sa = xInfo.getSupportedServiceNames();
+
+ for (int i = 0; i < sa.length; i++) {
+ System.out.println(sa[i]);
+ }
+
+ if ( ! xInfo.supportsService("com.sun.star.document.LinkTarget")) {
+ log.println("Service not available !!!!!!!!!!!!!");
+ tRes.tested("Supported", false);
+ }
+ //the only property is read only
+ try {
+ String LDN = (String) oObj.getPropertyValue("LinkDisplayName");
+ tRes.tested("LinkDisplayName",LDN!=null);
+ }
+ catch (Exception ex) {
+ log.println("Exception occured during LinkDisplayName");
+ ex.printStackTrace(log);
+ tRes.tested("LinkDisplayName",false);
+ }
+
+ }// EOF LinkDisplayName
+*/
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_OfficeDocument.java b/qadevOOo/tests/java/ifc/document/_OfficeDocument.java
new file mode 100644
index 000000000000..71611b09985f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_OfficeDocument.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.document.OfficeDocument</code>
+* service properties :
+* <ul>
+* <li><code> AutomaticControlFocus</code></li>
+* <li><code> ApplyFormDesignMode</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.OfficeDocument
+*/
+public class _OfficeDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_Settings.java b/qadevOOo/tests/java/ifc/document/_Settings.java
new file mode 100644
index 000000000000..7cd31f5f137c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_Settings.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.i18n.XForbiddenCharacters;
+import com.sun.star.uno.UnoRuntime;
+import java.lang.reflect.Method;
+
+//import java.awt.print.PrinterJob;
+
+//import javax.print.PrintService;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/*
+ * Generic test for all properties contained in this service
+ */
+public class _Settings extends MultiPropertyTest {
+
+ /**
+ * This property accepts only values in a range of 1-3
+ * @see com.sun.star.document.PrinterIndependentLayout
+ */
+ public void _PrinterIndependentLayout() {
+ try{
+ Short oldVal = (Short) oObj.getPropertyValue("PrinterIndependentLayout");
+ Short newVal = oldVal.intValue() == 1 ? new Short("3") : new Short("1");
+
+
+ testProperty("PrinterIndependentLayout", oldVal, newVal);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ throw new StatusException(Status.failed("the property 'PrinterIndependentLayout' is unknown."));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ throw new StatusException(Status.failed("the property 'PrinterIndependentLayout' could not be tested."));
+ }
+ }
+
+ public void _PrinterName() {
+ Object[] oServices = null;
+ Exception ex = null;
+
+ try {
+ Class cPrinterJob = Class.forName("java.awt.print.PrinterJob");
+ Method lookupMethod = cPrinterJob.getDeclaredMethod("lookupPrintServices", new Class[0]);
+ Object retValue = lookupMethod.invoke(cPrinterJob, new Object[0]);
+ oServices = (Object[])retValue;
+ }
+ catch(java.lang.ClassNotFoundException e) {
+ ex = e;
+ }
+ catch(java.lang.NoSuchMethodException e) {
+ ex = e;
+ }
+ catch(java.lang.IllegalAccessException e) {
+ ex = e;
+ }
+ catch(java.lang.reflect.InvocationTargetException e) {
+ ex = e;
+ }
+
+ if (ex != null) {
+ // get Java version:
+ String javaVersion = System.getProperty("java.version");
+ throw new StatusException(Status.failed(
+ "Cannot execute test with current Java version (Java 1.4 required) " +
+ javaVersion + ": " + ex.getMessage()));
+ }
+// PrintService[] services = PrinterJob.lookupPrintServices();
+
+ if (oServices.length > 1) {
+ testProperty("PrinterName", getPrinterNameWithReflection(oServices[0]),
+ getPrinterNameWithReflection(oServices[1]));
+ } else {
+ log.println(
+ "checking this property needs at least two printers to be installed on your system");
+ throw new StatusException(Status.failed(
+ "only one printer installed so I can't change it"));
+ }
+ }
+
+ public void _ForbiddenCharacters() {
+ boolean res = true;
+
+ try {
+ //check if it is read only as specified
+ res &= isReadOnly("ForbiddenCharacters");
+
+ if (!isReadOnly("ForbiddenCharacters")) {
+ log.println(
+ "The Property 'ForbiddenCharacters' isn't readOnly as specified");
+ }
+
+ //check if the property has the right type
+ Object pValue = oObj.getPropertyValue("ForbiddenCharacters");
+ XForbiddenCharacters fc = (XForbiddenCharacters) UnoRuntime.queryInterface(
+ XForbiddenCharacters.class,
+ pValue);
+ res &= (fc != null);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(
+ "Exception while checking property 'ForbiddenCharacters' " +
+ e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "Exception while checking property 'ForbiddenCharacters' " +
+ e.getMessage());
+ }
+
+ tRes.tested("ForbiddenCharacters", res);
+ }
+
+ protected boolean isReadOnly(String PropertyName) {
+ boolean res = false;
+ Property[] props = oObj.getPropertySetInfo().getProperties();
+
+ for (int i = 0; i < props.length; i++) {
+ if (props[i].Name.equals(PropertyName)) {
+ res = ((props[i].Attributes & PropertyAttribute.READONLY) != 0);
+ }
+ }
+
+ return res;
+ }
+
+ private String getPrinterNameWithReflection(Object pService) {
+ String pName = null;
+ try {
+ Class cPrintService = Class.forName("javax.print.PrintService");
+ Method getNameMethod = cPrintService.getDeclaredMethod("getName", new Class[0]);
+ Object retValue = getNameMethod.invoke(pService, new Object[0]);
+ pName = (String)retValue;
+ }
+ // ignore all excptions: we already ran into one of these if Java is too old
+ catch(java.lang.ClassNotFoundException e) {
+ }
+ catch(java.lang.NoSuchMethodException e) {
+ }
+ catch(java.lang.IllegalAccessException e) {
+ }
+ catch(java.lang.reflect.InvocationTargetException e) {
+ }
+ return pName;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/document/_XActionLockable.java b/qadevOOo/tests/java/ifc/document/_XActionLockable.java
new file mode 100644
index 000000000000..bfba13d6bb2e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XActionLockable.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XActionLockable;
+
+/**
+* Testing <code>com.sun.star.document.XActionLockable</code>
+* interface methods :
+* <ul>
+* <li><code> isActionLocked()</code></li>
+* <li><code> addActionLock()</code></li>
+* <li><code> removeActionLock()</code></li>
+* <li><code> setActionLocks()</code></li>
+* <li><code> resetActionLocks()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.document.XActionLockable
+*/
+public class _XActionLockable extends MultiMethodTest {
+ public XActionLockable oObj = null;
+
+ /**
+ * Method addActionLock called first and then
+ * checked value returned by isActionLocked().<p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is true.
+ */
+ public void _isActionLocked() {
+ //determines if at least one lock exists
+ oObj.addActionLock();
+ boolean result = oObj.isActionLocked();
+ tRes.tested("isActionLocked()", result);
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _addActionLock() {
+ requiredMethod("resetActionLocks()");
+ oObj.addActionLock();
+ tRes.tested("addActionLock()", true);
+ }
+
+ /**
+ * Calls the method and check value returned by isActionLocked(). <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is false.
+ */
+ public void _removeActionLock() {
+ requiredMethod("addActionLock()");
+ oObj.removeActionLock();
+ boolean result = ! oObj.isActionLocked();
+ tRes.tested("removeActionLock()", result);
+ }
+
+ /**
+ * Calls the method with specific value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _setActionLocks() {
+ oObj.setActionLocks( nLock );
+ tRes.tested("setActionLocks()", true);
+ }
+
+ final short nLock = 8;
+
+ /**
+ * Calls the method and checks returned value.<p>
+ * Has <b> OK </b> status if the component is not currently
+ * locked and returned value is the same as locks number
+ * set by <code>setActionLocks</code> method test.
+ */
+ public void _resetActionLocks() {
+ requiredMethod("setActionLocks()");
+ short nLocksBeforeReset = oObj.resetActionLocks();
+ boolean result = !oObj.isActionLocked() && nLocksBeforeReset == nLock;
+ tRes.tested("resetActionLocks()", result);
+ }
+}// finish class _XActionLockable
+
diff --git a/qadevOOo/tests/java/ifc/document/_XDocumentInfo.java b/qadevOOo/tests/java/ifc/document/_XDocumentInfo.java
new file mode 100644
index 000000000000..c7b7ec582d1c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XDocumentInfo.java
@@ -0,0 +1,224 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XDocumentInfo;
+import com.sun.star.lang.ArrayIndexOutOfBoundsException;
+
+/**
+* Testing <code>com.sun.star.document.XDocumentInfo</code>
+* interface methods :
+* <ul>
+* <li><code> getUserFieldCount()</code></li>
+* <li><code> getUserFieldName()</code></li>
+* <li><code> setUserFieldName()</code></li>
+* <li><code> getUserFieldValue()</code></li>
+* <li><code> setUserFieldValue()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.document.XDocumentInfo
+*/
+public class _XDocumentInfo extends MultiMethodTest {
+
+ public XDocumentInfo oObj = null;
+
+ short fieldCount;
+
+ /**
+ * Gets user field count. <p>
+ * Has <b> OK </b> status if count is positive.
+ */
+ public void _getUserFieldCount() {
+ fieldCount = oObj.getUserFieldCount();
+ tRes.tested("getUserFieldCount()", fieldCount >= 0);
+ }
+
+ String[] oldNames;
+ String[] oldValues;
+
+ /**
+ * Retrieves all user field names and stores them. <p>
+ * Has <b> OK </b> status if no exceptions were thrown and
+ * names returned are not <code>null</code> values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getUserFieldCount() </code> : to obtain number of
+ * fields </li>
+ * </ul>
+ */
+ public void _getUserFieldName() {
+ requiredMethod("getUserFieldCount()");
+
+ oldNames = new String[fieldCount];
+
+ for (short i = 0; i < fieldCount; i++) {
+ try {
+ oldNames[i] = oObj.getUserFieldName(i);
+ if (oldNames[i] == null) {
+ tRes.tested("getUserFieldName()", false);
+ return;
+ }
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't get an user field name at " + i);
+ tRes.tested("getUserFieldName()", false);
+ return;
+ }
+ }
+
+ tRes.tested("getUserFieldName()", true);
+ }
+
+ /**
+ * For each field its name changed and the checked if it's properly
+ * changed. Finally old names are restored.<p>
+ * Has <b> OK </b> status if names were properly changed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getUserFieldName() </code> : to retrieve old names </li>
+ * </ul>
+ */
+ public void _setUserFieldName() {
+ requiredMethod("getUserFieldName()");
+
+ for (short i = 0; i < fieldCount; i++) {
+ String newName = oldNames[i] + "_new";
+
+ try {
+ oObj.setUserFieldName(i, newName);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't set an user field name at " + i);
+ tRes.tested("setUserFieldName()", false);
+ return;
+ }
+
+ try {
+ if (!newName.equals(oObj.getUserFieldName(i))) {
+ tRes.tested("setUserFieldName()", false);
+ return;
+ }
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't set an user field name at " + i);
+ tRes.tested("setUserFieldName()", false);
+ return;
+ } finally {
+ try {
+ oObj.setUserFieldName(i, oldNames[i]);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't restore an user field name at " + i);
+ tRes.tested("setUserFieldName()", false);
+ return;
+ }
+ }
+ }
+
+ tRes.tested("setUserFieldName()", true);
+ }
+
+
+ /**
+ * Retrieves all user field values and stores them. <p>
+ * Has <b> OK </b> status if no exceptions were thrown and
+ * values returned are not <code>null</code> values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getUserFieldCount() </code> : to obtain number of
+ * fields </li>
+ * </ul>
+ */
+ public void _getUserFieldValue() {
+ requiredMethod("getUserFieldCount()");
+
+ oldValues = new String[fieldCount];
+
+ for (short i = 0; i < fieldCount; i++) {
+ try {
+ oldValues[i] = oObj.getUserFieldValue(i);
+ if (oldValues[i] == null) {
+ tRes.tested("getUserFieldValue()", false);
+ return;
+ }
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't get an user field value at " + i);
+ tRes.tested("getUserFieldValue()", false);
+ return;
+ }
+ }
+
+ tRes.tested("getUserFieldValue()", true);
+ }
+
+ /**
+ * For each field its value changed and the checked if it's properly
+ * changed. Finally old values are restored.<p>
+ * Has <b> OK </b> status if values were properly changed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getUserFieldValue() </code> : to retrieve old values. </li>
+ * </ul>
+ */
+ public void _setUserFieldValue() {
+ requiredMethod("getUserFieldValue()");
+
+ for (short i = 0; i < fieldCount; i++) {
+ String newValue = oldValues[i] + "_new";
+
+ try {
+ oObj.setUserFieldValue(i, newValue);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't set an user field value at " + i);
+ tRes.tested("setUserFieldValue()", false);
+ return;
+ }
+
+ try {
+ if (!newValue.equals(oObj.getUserFieldValue(i))) {
+ tRes.tested("setUserFieldValue()", false);
+ return;
+ }
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't set an user field value at " + i);
+ tRes.tested("setUserFieldValue()", false);
+ return;
+ } finally {
+ try {
+ oObj.setUserFieldValue(i, oldNames[i]);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ log.println("Couldn't restore an user field value at " + i);
+ tRes.tested("setUserFieldValue()", false);
+ return;
+ }
+ }
+ }
+
+ tRes.tested("setUserFieldValue()", true);
+ }
+
+} // finish class _XDocumentInfo
+
diff --git a/qadevOOo/tests/java/ifc/document/_XDocumentInfoSupplier.java b/qadevOOo/tests/java/ifc/document/_XDocumentInfoSupplier.java
new file mode 100644
index 000000000000..e227017937c3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XDocumentInfoSupplier.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfo;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+
+/**
+ * test the XDocumentInfoSupplier interface.
+ */
+public class _XDocumentInfoSupplier extends MultiMethodTest {
+ public XDocumentInfoSupplier oObj = null;
+
+ public void _getDocumentInfo() {
+ // returns a com.sun.star.document.DocumentInfo
+ XDocumentInfo info = oObj.getDocumentInfo();
+ XPropertySet xPropertySet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, info);
+ String title = null;
+ try {
+ title = (String)xPropertySet.getPropertyValue("Title");
+ }
+ catch(Exception e) {
+ e.printStackTrace((java.io.PrintWriter)log);
+ title = null;
+ }
+ log.println("Got document title: " + title);
+ tRes.tested("getDocumentInfo()", title != null);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java b/qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java
new file mode 100644
index 000000000000..76a7be2593dc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import com.sun.star.io.IOException;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.document.XDocumentInsertable;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.document.XDocumentInsertable</code>
+* interface methods :
+* <ul>
+* <li><code> insertDocumentFromURL()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDocumentInsertable.Checker'</code>
+* (of type <code>_XDocumentInsertable.InsertChecker</code>)
+* <b> optional </b> :
+* relation for checking if document was inserted properly and
+* for obtaining document file name. For details see the class
+* description. If the relation doesn't exist default document
+* name is used, and <code>XTextRange</code> interface of
+* component is used for checking.</li>
+* <ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>XDocumentInsertable.sxw</code> : StarWriter document
+* which content started with 'XDocumentInsertable test.' string.
+* The file is needed if no other file name specified by relation.
+* </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.document.XDocumentInsertable
+*/
+public class _XDocumentInsertable extends MultiMethodTest {
+
+ public XDocumentInsertable oObj = null;
+ protected XTextRange range = null ;
+ protected static final String defaultFileName = "XDocumentInsertable.sxw" ;
+ protected InsertChecker checker = null ;
+ protected String fileName = defaultFileName ;
+
+ /**
+ * Abstract class for relation passing. It must check if
+ * document was inserted successfully and can specify its
+ * own document name to be inserted.
+ */
+ public static abstract class InsertChecker {
+ /**
+ * Must be overriden to check if document was
+ * successfully inserted.
+ * @return <code>true</code> if document was inserted.
+ */
+ public abstract boolean isInserted() ;
+ /**
+ * Can be overriden to specify different than default
+ * document name. This document must be situated in
+ * the test document disrectory, and its name must
+ * be specified relational to this directory. By
+ * default 'XDocumentInsertable.swx' file name returned.
+ * @return File name of the document to be inserted.
+ */
+ public String getFileNameToInsert() {
+ return defaultFileName ;
+ }
+ }
+
+ /**
+ * Retrieves object relation. If the relation is not found
+ * then the object tested is tried to query <code>XTextRange</code>
+ * interface for testing. If the relation is found then document name
+ * for testing is retrieved, else the default one is used.
+ *
+ * @throws StatusException If neither relation found nor
+ * <code>XTextRange</code> interface is queried.
+ */
+ public void before() {
+ checker = (InsertChecker)
+ tEnv.getObjRelation("XDocumentInsertable.Checker") ;
+
+ if (checker == null) {
+ log.println("Relaion not found, trying to query for "+
+ "XTextRange ...") ;
+ range = (XTextRange)
+ UnoRuntime.queryInterface (XTextRange.class, oObj) ;
+ if (range == null) {
+ log.println("XTextRange isn't supported by the component.");
+ throw new StatusException(Status.failed
+ ("XTextRange isn't supported and relation not found")) ;
+ }
+ } else {
+ fileName = checker.getFileNameToInsert();
+ }
+ }
+
+ /**
+ * Tries to insert document from URL specified by relation or
+ * from default URL. If no relation was passed, text range is
+ * checked for existance of loaded document content. In case
+ * if relation was found, then its <code>isInserted</code>
+ * method is used to check insertion.<p>
+ * A Second test uses an invalid URL and checks for correct exceptions.
+ *
+ * Has <b> OK </b> status if at first insertion was completed successfully
+ * and no exceptions were thrown and as second a expected excption was thrown. <p>
+ */
+ public void _insertDocumentFromURL() {
+ boolean result = true ;
+
+ try {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+ String docURL = utils.getFullTestURL(fileName) ;
+ log.println("Inserting document from URL '" + docURL + "'");
+ oObj.insertDocumentFromURL(docURL, szEmptyArgs);
+
+ if (checker == null) {
+ log.println("Checker is not specified, testing through "+
+ "XTextRange ...") ;
+ String text = range.getString() ;
+ log.println("Document text :\n" + text);
+ log.println("---");
+ result &= ( text.indexOf("XDocumentInsertable test.") >= 0 );
+ } else {
+ result &= checker.isInserted();
+ }
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while testing "+
+ "insertDocumentFromURL()");
+ ex.printStackTrace(log);
+ result = false ;
+ } catch (com.sun.star.io.IOException ex) {
+ log.println("Exception occured while testing "+
+ "insertDocumentFromURL()");
+ ex.printStackTrace(log);
+ result = false ;
+ }
+
+ try {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+ String docURL = "file:///c:/ThisIsAnInvaldURL";
+ log.println("Inserting document from URL '" + docURL + "'");
+ oObj.insertDocumentFromURL(docURL, szEmptyArgs);
+
+ result=false;
+
+ } catch (IOException ex) {
+ log.println("expected exception was thrown -> ok");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected exception was thrown -> ok");
+ }
+
+
+ tRes.tested("insertDocumentFromURL()", result);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+} // finish class _XDocumentInsertable
+
diff --git a/qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java b/qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java
new file mode 100644
index 000000000000..8a52ed436ef1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XEmbeddedObjectSupplier;
+
+/**
+* Testing <code>com.sun.star.document.XEmbeddedObjectSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getEmbeddedObject()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.document.XEmbeddedObjectSupplier
+*/
+public class _XEmbeddedObjectSupplier extends MultiMethodTest {
+
+ public XEmbeddedObjectSupplier oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getEmbeddedObject() {
+ tRes.tested("getEmbeddedObject()",
+ oObj.getEmbeddedObject() != null);
+ }
+} // finish class _XEmbeddedObjectSupplier
+
diff --git a/qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java b/qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java
new file mode 100644
index 000000000000..871133307dee
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XEventBroadcaster;
+import com.sun.star.document.XEventListener;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+
+public class _XEventBroadcaster extends MultiMethodTest {
+
+ public XEventBroadcaster oObj;
+ protected static boolean listenerCalled=false;
+ private static XEventListener listener=null;
+
+ public class MyEventListener implements XEventListener {
+
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ }
+
+ public void notifyEvent(com.sun.star.document.EventObject eventObject) {
+ System.out.println("EventObject "+eventObject.EventName);
+ listenerCalled = true;
+ }
+
+ }
+
+ private void switchFocus() {
+ XModel docModel = (XModel) UnoRuntime.queryInterface(
+ XModel.class,tEnv.getTestObject());
+ docModel.getCurrentController().getFrame().getContainerWindow().setFocus();
+ util.utils.shortWait(1000);
+ XController xc = (XController) UnoRuntime.queryInterface(XController.class,tEnv.getObjRelation("CONT2"));
+ xc.getFrame().getContainerWindow().setFocus();
+ }
+
+ public void _addEventListener() {
+ listener = new MyEventListener();
+ listenerCalled = false;
+ oObj.addEventListener(listener);
+ switchFocus();
+ util.utils.shortWait(1000);
+ tRes.tested("addEventListener()",listenerCalled);
+ }
+
+ public void _removeEventListener() {
+ requiredMethod("addEventListener()");
+ listenerCalled = false;
+ oObj.removeEventListener(listener);
+ switchFocus();
+ util.utils.shortWait(1000);
+ tRes.tested("removeEventListener()",!listenerCalled);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/document/_XEventsSupplier.java b/qadevOOo/tests/java/ifc/document/_XEventsSupplier.java
new file mode 100644
index 000000000000..daf0ff59d39a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XEventsSupplier.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameReplace;
+import com.sun.star.document.XEventsSupplier;
+
+/**
+* Testing <code>com.sun.star.document.XEventsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getEvents()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.document.XEventsSupplier
+*/
+public class _XEventsSupplier extends MultiMethodTest {
+
+ public XEventsSupplier oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getEvents() {
+
+ XNameReplace xNR = oObj.getEvents();
+ String str[] = xNR.getElementNames();
+ tRes.tested("getEvents()",xNR != null);
+ }
+
+} // finish class _XEventSupplier
+
diff --git a/qadevOOo/tests/java/ifc/document/_XExporter.java b/qadevOOo/tests/java/ifc/document/_XExporter.java
new file mode 100644
index 000000000000..581fe0de7821
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XExporter.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+
+/**
+* Testing <code>com.sun.star.document.XExporter</code>
+* interface methods :
+* <ul>
+* <li><code> setSourceDocument()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SourceDocument'</code> (of type <code>XComponent</code>):
+* the source document to be passed to the method. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.document.XExporter
+*/
+public class _XExporter extends MultiMethodTest {
+
+ public XExporter oObj = null;
+ public XComponent source = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ source = (XComponent) tEnv.getObjRelation("SourceDocument") ;
+
+ if (source == null) throw new StatusException(Status.failed
+ ("Relation not found")) ;
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ * Usually this interface is supported both with <code>XFilter</code>
+ * where source document setting is checked.
+ */
+ public void _setSourceDocument() {
+ boolean result = true ;
+
+ try {
+ oObj.setSourceDocument(source);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking :");
+ ex.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("setSourceDocument()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/document/_XFilter.java b/qadevOOo/tests/java/ifc/document/_XFilter.java
new file mode 100644
index 000000000000..dfdaa7acd735
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XFilter.java
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.document.XExporter;
+import com.sun.star.document.XFilter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.document.XFilter</code>
+* interface methods :
+* <ul>
+* <li><code> filter()</code></li>
+* <li><code> cancel()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'MediaDescriptor'</code> (of type <code>PropertyValue[]</code>):
+* the property set described in
+* <code>com.sun.star.document.MediaDescriptor</code>
+* </li>
+* <li> <code>'XFilter.Checker'</code> <b>(optional)</b> (of type
+* <code>ifc.document._XFilter.FilterChecker</code>) : implementation
+* of interface must allow checking that document was exported successfully.
+* If the relation doesn't exist then by default successfull filtering
+* assumed.
+* </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.document.XFilter
+*/
+public class _XFilter extends MultiMethodTest {
+
+ public static interface FilterChecker {
+ boolean checkFilter() ;
+ }
+
+ public XFilter oObj = null;
+ protected PropertyValue[] mDesc = null ;
+ protected FilterChecker checker = null ;
+ protected XComponent sourceDoc = null;
+ protected boolean dummy = false;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.<br>
+ * In case of Importers only a dummy implementation exists
+ * therefore the methods of this interface will be skipped
+ * in this case
+ */
+ public void before() {
+ String name = tEnv.getTestCase().getObjectName();
+ if (name.indexOf("Importer")>0) {
+ log.println(name+" contains only a dummy implementation");
+ log.println("therefore all methods are skipped");
+ dummy = true;
+ }
+ mDesc = (PropertyValue[]) tEnv.getObjRelation("MediaDescriptor") ;
+ checker = (FilterChecker) tEnv.getObjRelation("XFilter.Checker") ;
+ if (mDesc == null && !dummy) throw new StatusException(
+ Status.failed("Relation not found.")) ;
+ sourceDoc = (XComponent)tEnv.getObjRelation("SourceDocument");
+ try {
+ if (sourceDoc != null) {
+ XExporter xEx = (XExporter)UnoRuntime.queryInterface(
+ XExporter.class,oObj);
+ xEx.setSourceDocument(sourceDoc);
+ }
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {}
+ }
+
+ public void after() {
+ if (dummy) {
+ throw new StatusException(Status.skipped(true));
+ }
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _filter() {
+ if (dummy) {
+ tRes.tested("filter()", true);
+ return;
+ }
+ boolean result = true ;
+ result = oObj.filter(mDesc) ;
+
+ if (checker == null) {
+ log.println("!!! Warning : cann't check filter as no relation found");
+ } else {
+ result &= checker.checkFilter() ;
+ }
+
+ tRes.tested("filter()", result) ;
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _cancel() {
+ if (dummy) {
+ tRes.tested("cancel()",true);
+ return;
+ }
+ requiredMethod("filter()");
+ if (tEnv.getObjRelation("NoFilter.cancel()") != null) {
+ System.out.println("Cancel not tested.");
+ log.println("Method 'cancel()' is not working and therefore "+
+ "not tested.\nResult is set to SKIPPED.OK");
+ tRes.tested("cancel()", Status.skipped(true));
+ return;
+ }
+
+ boolean result = false ;
+ FilterThread newFilter = new FilterThread(oObj);
+ newFilter.mdesc = mDesc;
+ newFilter.start();
+ oObj.cancel();
+ while (newFilter.isAlive()) {
+ }
+ result = !newFilter.filterRes;
+ tRes.tested("cancel()", result) ;
+ }
+
+ /**
+ * Calls <code>filter()</code> method in a separate thread.
+ * Necessary to check if the cancel method works
+ */
+ protected class FilterThread extends Thread {
+
+ public boolean filterRes = true ;
+ private XFilter Filter = null ;
+ public PropertyValue[] mdesc = null;
+
+ public FilterThread(XFilter Filter) {
+ this.Filter = Filter ;
+ }
+
+ public void run() {
+ filterRes = Filter.filter(mdesc);
+ }
+ }
+
+}
+
+
+
diff --git a/qadevOOo/tests/java/ifc/document/_XImporter.java b/qadevOOo/tests/java/ifc/document/_XImporter.java
new file mode 100644
index 000000000000..2296bf5802df
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XImporter.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+
+/**
+* Testing <code>com.sun.star.document.XImporter</code>
+* interface methods :
+* <ul>
+* <li><code> setTargetDocument()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TargetDocument'</code> (of type <code>XComponent</code>):
+* the target document to be passed to the method. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.document.XImporter
+*/
+public class _XImporter extends MultiMethodTest {
+
+ public XImporter oObj = null;
+
+ /**
+ * Retrieves relation and sets target document. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured,
+ * really this method tested when the whole import result
+ * checked.
+ */
+ public void _setTargetDocument() {
+ boolean res = true;
+ try {
+ XComponent the_doc = (XComponent)
+ tEnv.getObjRelation("TargetDocument");
+ oObj.setTargetDocument(the_doc);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'setTargetDocument'");
+ ex.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("setTargetDocument()",res);
+
+ }
+
+} // finish class _XImporter
+
diff --git a/qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java b/qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java
new file mode 100644
index 000000000000..bc2c8da5e68f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.document.XLinkTargetSupplier;
+
+/**
+* Testing <code>com.sun.star.document.XLinkTargetSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getLinks()</code></li>
+* </ul> <p>
+* @see com.sun.star.document.XLinkTargetSupplier
+*/
+public class _XLinkTargetSupplier extends MultiMethodTest {
+
+ public XLinkTargetSupplier oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getLinks() {
+ XNameAccess links = oObj.getLinks();
+ String names[] = links.getElementNames();
+ tRes.tested("getLinks()", links != null);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java b/qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java
new file mode 100644
index 000000000000..02ebd9df736f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XMimeTypeInfo;
+import com.sun.star.lang.XComponent;
+
+/**
+ * Testing <code>com.sun.star.document.XMimeTypeInfo</code>
+ * interface methods :
+ * <ul>
+ * <li><code> supportsMimeType()</code></li>
+ * <li><code> getSupportedMimeTypeNames()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.document.XMimeTypeInfo
+ */
+public class _XMimeTypeInfo extends MultiMethodTest {
+
+ public XMimeTypeInfo oObj = null;
+ public XComponent source = null ;
+ public String[] smi = null;
+
+ /**
+ * Gets supported types and stores them. <p>
+ * Has <b> OK </b> status if at least one type exists.
+ */
+ public void _getSupportedMimeTypeNames() {
+ smi = oObj.getSupportedMimeTypeNames();
+ tRes.tested("getSupportedMimeTypeNames()", smi.length>0) ;
+ }
+
+ /**
+ * Calls the method for one supported type retrieved by
+ * <code>getSupportedMimeTypeNames</code> method and for
+ * bad type. <p>
+ *
+ * Has <b> OK </b> status if <code>true</code> returned for
+ * supported type and <code>false</code> for bad type.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedMimeTypeNames </code> : to have a list of
+ * supported types. </li>
+ * </ul>
+ */
+ public void _supportsMimeType() {
+ requiredMethod("getSupportedMimeTypeNames()");
+ boolean pos = false;
+ pos = oObj.supportsMimeType(smi[0]);
+ if (!pos) {
+ log.println("Method returns false for existing MimeType");
+ }
+ boolean neg = true;
+ neg = oObj.supportsMimeType("NoRealMimeType");
+ if (neg) {
+ log.println("Method returns true for non existing MimeType");
+ }
+ tRes.tested("supportsMimeType()", (pos && !neg)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/document/_XStandaloneDocumentInfo.java b/qadevOOo/tests/java/ifc/document/_XStandaloneDocumentInfo.java
new file mode 100644
index 000000000000..33996a2f6f5f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XStandaloneDocumentInfo.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XStandaloneDocumentInfo;
+import com.sun.star.io.IOException;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.document.XStandaloneDocumentInfo</code>
+* interface methods. <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DOCURL'</code> (of type <code>String</code>):
+* URL of document which info is loaded.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.document.XStandaloneDocumentInfo
+*/
+public class _XStandaloneDocumentInfo extends MultiMethodTest {
+
+ public XStandaloneDocumentInfo oObj = null;
+ String url = null;
+
+ protected void before() {
+ url = (String)tEnv.getObjRelation("DOCURL");
+ if (url == null) {
+ throw new StatusException
+ (Status.failed("Relation 'DOCURL' not found"));
+ }
+ }
+
+ String oldProp = null;
+ String newProp = null;
+ /**
+ * Sets new value of the property 'Author' and calls the method. <p>
+ * Has <b> OK </b> status if no exception occured.
+ */
+ public void _storeIntoURL() {
+ try {
+ oObj.loadFromURL(url);
+ XPropertySet propSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ oldProp = (String)propSet.getPropertyValue("Author");
+ newProp = oldProp + "_";
+ propSet.setPropertyValue("Author", newProp);
+
+ oObj.storeIntoURL(url);
+ tRes.tested("storeIntoURL()", true);
+ } catch (IOException e) {
+ log.println("Couldn't store to " + url
+ + " : " + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("storeIntoURL()", false);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get/set property 'Author':" + e);
+ tRes.tested("storeIntoURL()", false);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't get/set property 'Author':" + e);
+ tRes.tested("storeIntoURL()", false);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't get/set property 'Author':" + e);
+ tRes.tested("storeIntoURL()", false);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't get/set property 'Author':" + e);
+ tRes.tested("storeIntoURL()", false);
+ }
+ }
+
+ /**
+ * Calls the method and checks value of the property 'Author'. <p>
+ * Has <b> OK </b> status if no exception occured and value of the property
+ * 'Author' is equal to value that was set in the method
+ * <code>storeIntoURL</code>.
+ */
+ public void _loadFromURL() {
+ requiredMethod("storeIntoURL()");
+ try {
+ oObj.loadFromURL(url);
+ XPropertySet propSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ String resProp = (String)propSet.getPropertyValue("Author");
+ log.println("Was: '" + oldProp + "',Set: '" + newProp +
+ "', New: " + resProp + "'");
+ tRes.tested("loadFromURL()", resProp.equals(newProp) );
+ } catch (IOException e) {
+ log.println("Couldn't load from " + url
+ + " : " + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("loadFromURL()", false);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get/set property 'Author':" + e);
+ tRes.tested("loadFromURL()", false);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't get/set property 'Author':" + e);
+ tRes.tested("loadFromURL()", false);
+ }
+ }
+
+} // finish class _XStandaloneDocumentInfo
+
diff --git a/qadevOOo/tests/java/ifc/document/_XTypeDetection.java b/qadevOOo/tests/java/ifc/document/_XTypeDetection.java
new file mode 100644
index 000000000000..81342805f4df
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XTypeDetection.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.document.XTypeDetection;
+
+/**
+ * Testing <code>com.sun.star.document.XTypeDetection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> queryTypeByURL()</code></li>
+ * <li><code> queryTypeByDescriptor()</code></li>
+ * </ul> <p>
+ *
+ * The following predefined files needed to complete the test:
+ * <ul>
+ * <li> <code>XTypeDetection.sxw</code> : <b>Calc</b>
+ * document which extension is <b>sxw</b>. </li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.document.XTypeDetection
+ */
+public class _XTypeDetection extends MultiMethodTest {
+ public XTypeDetection oObj = null;
+
+ private String docURL = null;
+ private String bookmarkURL = null;
+
+ /**
+ * Get the document URL.
+ */
+ public void before() {
+ docURL = utils.getFullTestURL("XTypeDetection.sxw");
+ bookmarkURL = (String) tEnv.getObjRelation("XTypeDetection.bookmarkDoc");
+ }
+
+ /**
+ * Tries to detect type by writer document URL. <p>
+ *
+ * Has <b> OK </b> status if type returned contains
+ * 'writer' as substring.
+ */
+ public void _queryTypeByURL() {
+
+ boolean result = true ;
+ String type = oObj.queryTypeByURL(docURL) ;
+ result &= type.indexOf("writer") > -1;
+
+ tRes.tested("queryTypeByURL()", result) ;
+ }
+
+ /**
+ * Tries to detect type of the document using <i>flat</i>
+ * and <i>deep</i> detection. For flat detection a writer type
+ * must be returned (file has writer extension), but deep
+ * detection must return calc type (document has calc contents)<p>
+ *
+ * Has <b> OK </b> status if for the first case type contains
+ * 'writer' string and for the second 'calc' string.
+ */
+ public void _queryTypeByDescriptor() {
+ boolean result = true ;
+ boolean ok = true;
+ log.println("test document with wrong extension");
+ log.println("the document '" + docURL + "' is not what it seems to be ;-)");
+ PropertyValue[][] mediaDescr = new PropertyValue[1][1];
+ mediaDescr[0][0] = new PropertyValue();
+ mediaDescr[0][0].Name = "URL";
+ mediaDescr[0][0].Value = docURL;
+
+ String type = oObj.queryTypeByDescriptor(mediaDescr, false);
+ ok = type.indexOf("writer") > -1;
+ result &= ok;
+ log.println("flat detection should detect a writer and has detected '"+ type +"': " + ok);
+
+ type = oObj.queryTypeByDescriptor(mediaDescr, true);
+ ok = type.indexOf("calc") > -1;
+ result &= ok;
+ log.println("deep detection should detect a calc and has detected '"+ type +"': " + ok);
+
+ log.println("test dokument with bookmark: " + bookmarkURL);
+ mediaDescr = new PropertyValue[1][1];
+ mediaDescr[0][0] = new PropertyValue();
+ mediaDescr[0][0].Name = "URL";
+ mediaDescr[0][0].Value = bookmarkURL;
+ type = oObj.queryTypeByDescriptor(mediaDescr, true);
+ ok = type.indexOf("writer") > -1;
+ result &= ok;
+ log.println("deep detection should detect a writer and has detected '"+ type +"': " + ok);
+
+ tRes.tested("queryTypeByDescriptor()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java b/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java
new file mode 100644
index 000000000000..59c159229496
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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.document;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.document.XViewDataSupplier;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import lib.Status;
+
+/**
+ * Check the XViewDataSupplier interface.
+ * Test idea: take the property values from the index access, change one
+ * property value, put this into the index access and write it back.
+ * Get the property value again and check that the change made it.
+ */
+public class _XViewDataSupplier extends MultiMethodTest {
+ public XViewDataSupplier oObj = null;
+ XIndexAccess xAccess = null;
+ PropertyValue[] newProps = null;
+ PropertyValue[] oldProps = null;
+ String myview = "myview1";
+
+ public void _getViewData() {
+ xAccess = oObj.getViewData();
+// util.dbg.printInterfaces(xAccess);
+ if (xAccess != null) {
+ setViewID(xAccess, myview);
+ }
+ tRes.tested("getViewData()", true);
+ }
+
+ public void _setViewData() {
+ if (xAccess == null) {
+ log.println("No view data to change available");
+ tRes.tested("setViewData()", Status.skipped(true));
+ }
+ else {
+ // 2do: provide an own implementation of the XIndexAccess to set.
+ // this will work without "setViewData()", it just checks that a
+ // setViewData can be done.
+ oObj.setViewData(xAccess);
+ XIndexAccess xAccess2 = oObj.getViewData();
+ String newView = getViewID(xAccess2);
+ tRes.tested("setViewData()", newView.equals(myview));
+ }
+ }
+
+ private void setViewID(XIndexAccess xAccess, String value) {
+ XIndexContainer xIndexContainer = (XIndexContainer)UnoRuntime.queryInterface(XIndexContainer.class, xAccess);
+ int count = xAccess.getCount();
+ try {
+ if (count > 0) {
+ oldProps = (PropertyValue[])xAccess.getByIndex(0);
+ newProps = new PropertyValue[oldProps.length];
+ for (int j=0; j<oldProps.length; j++) {
+// log.println("Name: " + oldProps[j].Name);
+// log.println("Value: " + oldProps[j].Value.toString());
+ newProps[j] = new PropertyValue();
+ newProps[j].Name = oldProps[j].Name;
+ newProps[j].Handle = oldProps[j].Handle;
+ newProps[j].State = oldProps[j].State;
+ if (oldProps[j].Name.equals("ViewId")) {
+ newProps[j].Value = value;
+ }
+
+ }
+ xIndexContainer.insertByIndex(0, newProps);
+ }
+ }
+ catch(Exception e) {
+ e.printStackTrace((java.io.PrintWriter)log);
+ }
+ }
+
+ private String getViewID(XIndexAccess xAccess) {
+ String retValue = null;
+ int count = xAccess.getCount();
+ try {
+ if (count > 0) {
+ oldProps = (PropertyValue[])xAccess.getByIndex(0);
+ for (int j=0; j<oldProps.length; j++) {
+// log.println("Name: " + oldProps[j].Name);
+// log.println("Value: " + oldProps[j].Value.toString());
+ if (oldProps[j].Name.equals("ViewId")) {
+ retValue = (String)newProps[j].Value;
+ }
+
+ }
+ }
+ }
+ catch(Exception e) {
+ e.printStackTrace((java.io.PrintWriter)log);
+ }
+ return retValue;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java
new file mode 100644
index 000000000000..cfa23536a205
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _AreaShapeDescriptor extends MultiPropertyTest {
+
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg"); else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ protected PropertyTester StringTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(str1))
+ return str2; else
+ return str1;
+ }
+ } ;
+
+ public void _FillBitmapURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("FillBitmapURL", URLTester) ;
+ }
+
+ public String str1 = "";
+ public String str2 = "";
+
+ public void _FillGradientName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Gradient 1";
+ str2 = "Gradient 3";
+ testProperty("FillGradientName", StringTester) ;
+ }
+
+ public void _FillBitmapName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Sky";
+ str2 = "Blank";
+ testProperty("FillBitmapName", StringTester) ;
+ }
+
+ public void _FillTransparenceGradientName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Standard 1";
+ str2 = "Standard 2";
+ testProperty("FillTransparenceGradientName", StringTester) ;
+ }
+
+ public void _FillHatchName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Black 0 degrees";
+ str2 = "Black 45 degrees";
+ testProperty("FillHatchName", StringTester) ;
+ }
+
+ public void _FillBitmapMode() {
+ log.println("Testing with custom Property tester") ;
+ try {
+ Object getting = oObj.getPropertyValue("FillBitmapMode");
+ if (! (getting instanceof com.sun.star.drawing.BitmapMode)) {
+ log.println("getting the property 'FillBitmapMode'");
+ log.println("return "+ oObj.getClass().getName());
+ log.println("Expected was 'com.sun.star.drawing.BitmapMode'");
+ tRes.tested("FillBitmapMode",false);
+ } else testProperty("FillBitmapMode");
+ }
+ catch (Exception ex) {
+ log.println("Exception while checking 'FillBitmapMode'");
+ ex.printStackTrace(log);
+ tRes.tested("FillBitmapMode",false);
+ }
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_CaptionShape.java b/qadevOOo/tests/java/ifc/drawing/_CaptionShape.java
new file mode 100644
index 000000000000..a4c7441d63e0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_CaptionShape.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _CaptionShape extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java b/qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java
new file mode 100644
index 000000000000..68438641a353
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.ConnectorProperties</code>
+* service properties :
+* <ul>
+* <li><code> EdgeKind</code></li>
+* <li><code> EdgeNode1HorzDist</code></li>
+* <li><code> EdgeNode1VertDist</code></li>
+* <li><code> EdgeNode2HorzDist</code></li>
+* <li><code> EdgeNode2VertDist</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.ConnectorProperties
+*/
+public class _ConnectorProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java b/qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java
new file mode 100644
index 000000000000..6b9a27841ae5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.drawing.XShape;
+/**
+* Testing <code>com.sun.star.drawing.ConnectorShape</code>
+* service properties :
+* <ul>
+* <li><code> EdgeLine1Delta</code></li>
+* <li><code> EdgeLine2Delta</code></li>
+* <li><code> EdgeLine3Delta</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.ConnectorShape
+*/
+public class _ConnectorShape extends MultiPropertyTest {
+ public XShape[] conShapes = null;
+
+ protected void before() {
+ conShapes = (XShape[]) tEnv.getObjRelation("XConnectorShape.Shapes");
+ }
+
+ public void _EndShape() {
+ Object oldProp = null;
+ try {
+ oldProp = oObj.getPropertyValue("EndShape");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+ testProperty("EndShape",oldProp,conShapes[0]);
+ }
+
+ public void _StartShape() {
+ Object oldProp = null;
+ log.println("Special for StartShape");
+ try {
+ oldProp = oObj.getPropertyValue("StartShape");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+ testProperty("StartShape",oldProp,conShapes[1]);
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java
new file mode 100644
index 000000000000..509ca7b15a87
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _ConnectorShapeDescriptor extends MultiPropertyTest {
+
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+} // finish class _ConnectorShapeDescriptor
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java
new file mode 100644
index 000000000000..29b7be1de0cf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+
+public class _DimensioningShapeDescriptor extends MultiPropertyTest {
+
+/*
+ protected PropertyTester lengthTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+
+ int val = ((Integer)oldValue).intValue() ;
+ return new Integer(val + 100) ;
+ }
+ } ;
+*/
+
+} // finish class _ParagraphProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java b/qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java
new file mode 100644
index 000000000000..c74760addd35
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.DrawingDocument</code>
+* service properties :
+* <ul>
+* <li><code> TabStop</code></li>
+* <li><code> CharLocale</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.DrawingDocument
+*/
+public class _DrawingDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java b/qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java
new file mode 100644
index 000000000000..23e54d39d2e8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.uno.UnoRuntime;
+import util.ValueChanger;
+
+/**
+* Testing <code>com.sun.star.drawing.DrawingDocumentDrawView</code>
+* service properties :
+* <ul>
+* <li><code> IsMasterPageMode</code></li>
+* <li><code> IsLayerMode</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (of type <code>XDrawPage</code>):
+* a draw page which will be current page. </li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+*/
+public class _DrawingDocumentDrawView extends MultiPropertyTest {
+
+ XDrawPage drawPage = null;
+ static String test_name = "For DrawingDocumentDrawView";
+
+ protected void before() {
+ drawPage = (XDrawPage)tEnv.getObjRelation("DrawPage");
+ XNamed xNamed = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class, drawPage);
+ xNamed.setName(test_name);
+ }
+
+ /**
+ * Property tester which returns new <code>XDrawPage</code> object
+ * and compares draw pages.
+ */
+ protected PropertyTester CurPageTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return drawPage;
+ }
+
+ protected boolean compare(Object obj1, Object obj2) {
+ XNamed named1 = (XNamed)UnoRuntime.queryInterface(XNamed.class, obj1);
+ XNamed named2 = (XNamed)UnoRuntime.queryInterface(XNamed.class, obj2);
+ boolean res = false;
+
+ if (named1 != null && named2 != null) {
+ String name1 = named1.getName();
+ String name2 = named2.getName();
+ res = name1.equals(name2);
+ } else {
+ log.println("Interface XNamed not supported");
+ }
+
+ return res;
+ }
+
+ protected String toString(Object obj) {
+ XNamed named = (XNamed)UnoRuntime.queryInterface(XNamed.class, obj);
+ String res = (named == null) ? "null" : named.getName();
+ return res;
+ }
+ } ;
+
+ public void _CurrentPage() {
+ log.println("Testing with custom Property tester");
+ Object oldCurPage = null;
+ try {
+ oldCurPage = oObj.getPropertyValue("CurrentPage");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ }
+
+ testProperty("CurrentPage", CurPageTester);
+
+ try {
+ log.println("Back old current page");
+ oObj.setPropertyValue("CurrentPage", oldCurPage);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ public void _IsMasterPageMode() {
+ testProperty("IsMasterPageMode");
+ try {
+ oObj.setPropertyValue("IsMasterPageMode", new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ public void _IsLayerMode() {
+ testProperty("IsLayerMode");
+ try {
+ oObj.setPropertyValue("IsLayerMode", new Boolean(false));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ public void _ZoomType() {
+ Object oldValue=null;
+ Object newValue=null;
+ try {
+ oldValue = oObj.getPropertyValue("ZoomValue");
+ Object oldZoom = oObj.getPropertyValue("ZoomType");
+ Object newZoom = ValueChanger.changePValue(oldZoom);
+ oObj.setPropertyValue("ZoomType", newZoom);
+ newValue = oObj.getPropertyValue("ZoomValue");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ log.println("oldZoomValue: "+oldValue);
+ log.println("newZoomValue: "+newValue);
+ tRes.tested("ZoomType",(!oldValue.equals(newValue)));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_EllipseShape.java b/qadevOOo/tests/java/ifc/drawing/_EllipseShape.java
new file mode 100644
index 000000000000..5f312f823a97
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_EllipseShape.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.EllipseShape</code>
+* service properties :
+* <ul>
+* <li><code> CircleKind</code></li>
+* <li><code> CircleStartAngle</code></li>
+* <li><code> CircleEndAngle</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.EllipseShape
+*/
+public class _EllipseShape extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java
new file mode 100644
index 000000000000..c043369b5f29
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+
+public class _EllipseShapeDescriptor extends MultiPropertyTest {
+
+} // finish class _EllipseShapeDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_FillProperties.java b/qadevOOo/tests/java/ifc/drawing/_FillProperties.java
new file mode 100644
index 000000000000..ba1dc4925664
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_FillProperties.java
@@ -0,0 +1,219 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import com.sun.star.beans.XPropertySetInfo;
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.XBitmap;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Testing <code>com.sun.star.drawing.FillProperties</code>
+ * service properties :
+ * <ul>
+ * <li><code> FillStyle</code></li>
+ * <li><code> FillColor</code></li>
+ * <li><code> FillTransparence</code></li>
+ * <li><code> FillTransparenceGradientName</code></li>
+ * <li><code> FillTransparenceGradient</code></li>
+ * <li><code> FillGradientName</code></li>
+ * <li><code> FillGradient</code></li>
+ * <li><code> FillHatchName</code></li>
+ * <li><code> FillHatch</code></li>
+ * <li><code> FillBitmapName</code></li>
+ * <li><code> FillBitmap</code></li>
+ * <li><code> FillBitmapURL</code></li>
+ * <li><code> FillBitmapOffsetX</code></li>
+ * <li><code> FillBitmapOffsetY</code></li>
+ * <li><code> FillBitmapPositionOffsetX</code></li>
+ * <li><code> FillBitmapPositionOffsetY</code></li>
+ * <li><code> FillBitmapRectanglePoint</code></li>
+ * <li><code> FillBitmapLogicalSize</code></li>
+ * <li><code> FillBitmapSizeX</code></li>
+ * <li><code> FillBitmapSizeY</code></li>
+ * <li><code> FillBitmapMode</code></li>
+ * <li><code> FillBackground</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.drawing.FillProperties
+ */
+public class _FillProperties extends MultiPropertyTest {
+
+ XBitmap the_bitmap = null;
+ XBitmap the_secondBitmap = null;
+ /**
+ * Property tester which changes URL.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg"))) {
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ } else {
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ }
+ };
+ /**
+ * Property tester which switches two strings.
+ */
+ protected PropertyTester StringTester = new PropertyTester() {
+
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(str1)) {
+ return str2;
+ } else {
+ return str1;
+ }
+ }
+ };
+ /**
+ * Property tester which switches two XBitmap objects.
+ */
+ protected PropertyTester BitmapTester = new PropertyTester() {
+
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (util.ValueComparer.equalValue(oldValue, the_bitmap)) {
+ return the_secondBitmap;
+ } else {
+ return the_bitmap;
+ }
+ }
+ };
+
+ /**
+ * This property must have an URL format
+ */
+ public void _FillBitmapURL() {
+ log.println("Testing with custom Property tester");
+ testProperty("FillBitmapURL", URLTester);
+ }
+ public String str1 = "";
+ public String str2 = "";
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillGradientName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Gradient 1";
+ str2 = "Gradient 3";
+ testProperty("FillGradientName", StringTester);
+ }
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillBitmapName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Sky";
+ str2 = "Blank";
+ testProperty("FillBitmapName", StringTester);
+ }
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillTransparenceGradientName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Transparency 2";
+ str2 = "Transparency 1";
+ testProperty("FillTransparenceGradientName", StringTester);
+ }
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillHatchName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Black 0 degrees";
+ str2 = "Black 45 degrees";
+ testProperty("FillHatchName", StringTester);
+ }
+
+ /**
+ * This property is very interesting. After setting URL of bitmap you get
+ * <code>XBitmap</code> interface of the image file specified.
+ * The method first gets two different bitmaps and then tests the property.
+ */
+ public void _FillBitmap() {
+
+ String propName = "FillBitmap";
+
+ XPropertySetInfo info = oObj.getPropertySetInfo();
+
+ if (!info.hasPropertyByName(propName)) {
+ if (isOptional(propName)) {
+ // skipping optional property test
+ log.println("Property '" + propName + "' is optional and not supported");
+ tRes.tested(propName, true);
+ return;
+ }
+ } else {
+
+ try {
+
+ oObj.setPropertyValue("FillBitmapURL", util.utils.getFullTestURL("crazy-blue.jpg"));
+
+ the_bitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class), oObj.getPropertyValue("FillBitmap"));
+
+ oObj.setPropertyValue("FillBitmapURL", util.utils.getFullTestURL("space-metal.jpg"));
+
+ the_secondBitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class), oObj.getPropertyValue("FillBitmap"));
+
+ testProperty("FillBitmap", BitmapTester);
+
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+ }
+ }
+ }
+ }
diff --git a/qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java b/qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java
new file mode 100644
index 000000000000..836abbe75f85
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.drawing.GenericDrawPage</code>
+* service properties :
+* <ul>
+* <li><code> BorderBottom</code></li>
+* <li><code> BorderLeft</code></li>
+* <li><code> BorderRight</code></li>
+* <li><code> BorderTop</code></li>
+* <li><code> Height</code></li>
+* <li><code> Width</code></li>
+* <li><code> Number</code></li>
+* <li><code> Orientation</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.GenericDrawPage
+*/
+public class _GenericDrawPage extends MultiPropertyTest {
+
+ public void _Number() {
+ log.println("Number started");
+ boolean res = false;
+ log.println("trying to get the value");
+ try {
+ Short wat = (Short) oObj.getPropertyValue("Number");
+ if (wat == null) {
+ log.println("it is null");
+ } else {
+ log.println("it isn't null");
+ res=true;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("an UnknownPropertyException occured");
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("an WrappedTargetException occured");
+ }
+
+ tRes.tested("Number",res);
+ }
+
+ public void _UserDefinedAttributes() {
+ log.println("Userdefined started");
+ boolean res = false;
+ log.println("trying to get the value");
+ try {
+ Object wat = oObj.getPropertyValue("UserDefinedAttributes");
+ if (wat == null) {
+ log.println("it is null");
+ } else {
+ log.println("it isn't null");
+ res=true;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("an UnknownPropertyException occured");
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("an WrappedTargetException occured");
+ }
+
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+} // end of GenericDrawPage
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java b/qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java
new file mode 100644
index 000000000000..53afa0cd3cb0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _GenericDrawingDocument extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java
new file mode 100644
index 000000000000..4e2483dc8630
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.XBitmap;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.GraphicObjectShape</code>
+* service properties :
+* <ul>
+* <li><code> GraphicURL</code></li>
+* <li><code> GraphicStreamURL</code></li>
+* <li><code> GraphicObjectFillBitmap</code></li>
+* <li><code> AdjustLuminance</code></li>
+* <li><code> AdjustContrast</code></li>
+* <li><code> AdjustRed</code></li>
+* <li><code> AdjustGreen</code></li>
+* <li><code> AdjustBlue</code></li>
+* <li><code> Gamma</code></li>
+* <li><code> Transparency</code></li>
+* <li><code> GraphicColorMode</code></li>
+* <li><code> ImageMap</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Bitmap1', 'Bitmap2'</code> (of type <code>XBitmap</code>):
+* values to be set for property GraphicObjectFillBitmap </li>
+* <li> <code>'IMAP'</code>
+* (<code>com.sun.star.image.ImageMapRectangleObject</code> service instance):
+* is used to be added to ImageMap container.</li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.GraphicObjectShape
+*/
+public class _GraphicObjectShape extends MultiPropertyTest {
+
+ /**
+ * Property tester which changes URL.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg"); else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ /**
+ * Property tester which switches two XBitmap objects.
+ * It also uses two object relations with bitmaps.
+ */
+ protected PropertyTester BitmapTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue){
+ XBitmap aBitmap1=(XBitmap) tEnv.getObjRelation("Bitmap1");
+ XBitmap aBitmap2=(XBitmap) tEnv.getObjRelation("Bitmap2");
+ if (oldValue.equals(aBitmap1)) return aBitmap2;
+ else return aBitmap1;
+ }
+ } ;
+
+ public Any set = null;
+
+ /**
+ * Property tester which returns new <code>XIndexAccess</code> object.
+ */
+ protected PropertyTester ImapTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return set;
+ }
+ } ;
+
+
+ /**
+ * This property must have URL format
+ */
+ public void _GraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicURL", URLTester) ;
+ }
+
+ public void _GraphicStreamURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicStreamURL", URLTester) ;
+ }
+
+ public void _GraphicObjectFillBitmap() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicObjectFillBitmap", BitmapTester) ;
+ }
+
+ /**
+ * The test first retrieves ImageMap relation, then inserts it
+ * to the current container.
+ */
+ public void _ImageMap() {
+ if (! util.utils.hasPropertyByName(oObj,"ImageMap")) {
+ log.println("optional property 'ImageMap' isn't available");
+ tRes.tested("ImageMap",true);
+ return;
+ }
+ try {
+ boolean result = true;
+ Object imapObject = tEnv.getObjRelation("ImapObject");
+
+ if ( imapObject == null){
+ System.out.println("ERROR: object relation 'ImapObject' isn't available");
+ tRes.tested("ImageMap", false);
+ return;
+ }
+
+ Object o = oObj.getPropertyValue("ImageMap");
+ XIndexContainer xIndexContainer = (XIndexContainer)UnoRuntime.queryInterface(XIndexContainer.class, o);
+ util.dbg.printInterfaces(xIndexContainer);
+ int elementCountFirst = xIndexContainer.getCount();
+ xIndexContainer.insertByIndex(elementCountFirst, imapObject);
+
+ // this does not really change the property: the implementation
+ // behind "ImageMap" stays the same, but for a real change a C++
+ // implementation is needed. See css.lang.XUnoTunnel
+ oObj.setPropertyValue("ImageMap", xIndexContainer);
+ Object newObject = oObj.getPropertyValue("ImageMap");
+ xIndexContainer = (XIndexContainer)UnoRuntime.queryInterface(XIndexContainer.class, newObject);
+
+ int elementCountSecond = xIndexContainer.getCount();
+ result = (elementCountFirst + 1 == elementCountSecond);
+
+ tRes.tested("ImageMap", result);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while checking 'ImageMap'");
+ e.printStackTrace(log);
+ tRes.tested("ImageMap",false);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while checking 'ImageMap'");
+ e.printStackTrace(log);
+ tRes.tested("ImageMap",false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking 'ImageMap'");
+ e.printStackTrace(log);
+ tRes.tested("ImageMap",false);
+ }
+ catch(Exception e) {
+ e.printStackTrace(log);
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java
new file mode 100644
index 000000000000..21a113fd58f8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.XBitmap;
+
+public class _GraphicObjectShapeDescriptor extends MultiPropertyTest {
+
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg"); else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ protected PropertyTester BitmapTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ XBitmap aBitmap1=(XBitmap) tEnv.getObjRelation("Bitmap1");
+ XBitmap aBitmap2=(XBitmap) tEnv.getObjRelation("Bitmap2");
+ if (oldValue.equals(aBitmap1)) return aBitmap2; else return aBitmap1;
+ }
+ } ;
+
+ public void _GraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicURL", URLTester) ;
+ }
+
+ public void _GraphicObjectFillBitmap() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicObjectFillBitmap", BitmapTester) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_Layer.java b/qadevOOo/tests/java/ifc/drawing/_Layer.java
new file mode 100644
index 000000000000..62ab7ebbdd08
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_Layer.java
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.Layer</code>
+* service properties :
+* <ul>
+* <li><code> Name</code></li>
+* <li><code> IsVisible</code></li>
+* <li><code> IsPrintable</code></li>
+* <li><code> IsLocked</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.Layer
+*/
+public class _Layer extends MultiPropertyTest {
+
+}// end of _Layer.java
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_LineProperties.java b/qadevOOo/tests/java/ifc/drawing/_LineProperties.java
new file mode 100644
index 000000000000..b6fb1f2186a1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_LineProperties.java
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.LineDash;
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.LineProperties</code>
+* service properties :
+* <ul>
+* <li><code> LineStyle</code></li>
+* <li><code> LineDash</code></li>
+* <li><code> LineColor</code></li>
+* <li><code> LineTransparence</code></li>
+* <li><code> LineWidth</code></li>
+* <li><code> LineJoint</code></li>
+* <li><code> LineStartName</code></li>
+* <li><code> LineStart</code></li>
+* <li><code> LineEnd</code></li>
+* <li><code> LineStartCenter</code></li>
+* <li><code> LineStartWidth</code></li>
+* <li><code> LineEndCenter</code></li>
+* <li><code> LineEndWidth</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.LineProperties
+*/
+public class _LineProperties extends MultiPropertyTest {
+
+ /**
+ * Tester used for property LineStartName which can have
+ * only predefined String values.
+ */
+ protected PropertyTester LineTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals("Arrow"))
+ return "Square"; else
+ return "Arrow";
+ }
+ } ;
+
+ /**
+ * The property switched between 'Square' and 'Arrow' values.
+ */
+ public void _LineStartName() {
+ log.println("Testing with custom Property tester");
+ testProperty("LineStartName", LineTester) ;
+ }
+
+ public void _LineDash() {
+ LineDash aLineDash = new LineDash();
+ LineDash aLineDash2 = new LineDash();
+ aLineDash.DashLen = 5;
+ aLineDash2.DashLen = 1;
+ testProperty("LineDash",aLineDash,aLineDash2);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java
new file mode 100644
index 000000000000..1b3ae8920357
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.awt.Point;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+
+
+public class _LineShapeDescriptor extends MultiMethodTest {
+
+ public XPropertySet oObj = null; // oObj filled by MultiMethodTest
+
+
+ public void _LineColor() {
+ XServiceInfo xInfo = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, oObj);
+ if ( ! xInfo.supportsService
+ ("com.sun.star.drawing.LineShapeDescriptor")) {
+ log.println("Service not available !!!!!!!!!!!!!");
+ tRes.tested("Supported", false);
+ }
+ changeProp("LineColor");
+ }
+
+ public void _LineDash() {
+ changeProp("LineDash");
+ }
+ public void _LineEnd() {
+ changeProp("LineEnd");
+ }
+ public void _LineEndCenter() {
+ changeProp("LineEndCenter");
+ }
+ public void _LineEndWidth() {
+ changeProp("LineEndWidth");
+ }
+ public void _LineJoint() {
+ changeProp("LineJoint");
+ }
+ public void _LineStart() {
+ changeProp("LineStart");
+ }
+ public void _LineStartCenter() {
+ changeProp("LineStartCenter");
+ }
+ public void _LineStartWidth() {
+ changeProp("LineStartWidth");
+ }
+ public void _LineStyle() {
+ changeProp("LineStyle");
+ }
+ public void _LineTransparence() {
+ changeProp("LineTransparence");
+ }
+ public void _LineWidth() {
+ changeProp("LineWidth");
+ }
+
+ public void changeProp(String name) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+ try {
+ //waitForAllThreads();
+ gValue = oObj.getPropertyValue(name);
+ //waitForAllThreads();
+ if ( (name.equals("LineEnd")) || (name.equals("LineStart")) ) {
+ if (gValue == null) gValue = newPoints(null);
+ ValueToSet = newPoints( (Point[]) gValue);
+ }
+ else {
+ ValueToSet = ValueChanger.changePValue(gValue);
+ }
+ //waitForAllThreads();
+ oObj.setPropertyValue(name,ValueToSet);
+ sValue = oObj.getPropertyValue(name);
+
+
+ //check get-set methods
+ if (gValue.equals(sValue)) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ }
+ else {
+ log.println("Property '"+name+"' OK");
+ tRes.tested(name, true);
+ }
+ } catch (Exception e) {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+
+
+ } // end of ChangeProp
+
+ public Point[] newPoints(Point[] old) {
+
+ Point [] newP = new Point[3];
+
+ if (old == null) {
+ newP[0] = new Point(0, 2);
+ newP[1] = new Point(2, 0);
+ newP[2] = new Point(0, -2);
+ }
+ else {
+ newP = old;
+ newP[0].X += 1;
+ newP[1].X += 1;
+ newP[2].X += 1;
+ }
+ return newP;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java b/qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java
new file mode 100644
index 000000000000..6715d6c08e92
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.MeasureProperties</code>
+* service properties :
+* <ul>
+* <li><code> MeasureBelowReferenceEdge</code></li>
+* <li><code> MeasureHelpLine1Length</code></li>
+* <li><code> MeasureHelpLine2Length</code></li>
+* <li><code> MeasureHelpLineDistance</code></li>
+* <li><code> MeasureHelpLineOverhang</code></li>
+* <li><code> MeasureKind</code></li>
+* <li><code> MeasureLineDistance</code></li>
+* <li><code> MeasureOverhang</code></li>
+* <li><code> MeasureShowUnit</code></li>
+* <li><code> MeasureTextAutoAngle</code></li>
+* <li><code> MeasureTextAutoAngleView</code></li>
+* <li><code> MeasureTextFixedAngle</code></li>
+* <li><code> MeasureTextHorizontalPosition</code></li>
+* <li><code> MeasureTextVerticalPosition</code></li>
+* <li><code> MeasureTextIsFixedAngle</code></li>
+* <li><code> MeasureTextRotate90</code></li>
+* <li><code> MeasureTextUpsideDown</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.MeasureProperties
+*/
+public class _MeasureProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_MeasureShape.java b/qadevOOo/tests/java/ifc/drawing/_MeasureShape.java
new file mode 100644
index 000000000000..65b0d32134be
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_MeasureShape.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.MeasureShape</code>
+* service properties :
+* <ul>
+* <li><code> StartPosition</code></li>
+* <li><code> EndPosition</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.MeasureShape
+*/
+public class _MeasureShape extends MultiPropertyTest {
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java
new file mode 100644
index 000000000000..674444a361c7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.PolyPolygonBezierDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> PolygonKind</code></li>
+* <li><code> PolyPolygonBezier</code></li>
+* <li><code> Geometry</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.PolyPolygonBezierDescriptor
+*/
+public class _PolyPolygonBezierDescriptor extends MultiPropertyTest {
+
+} // finish class _PolyPolygonBezierDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java
new file mode 100644
index 000000000000..9b9c1ccbead3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.PolyPolygonDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> PolygonKind</code></li>
+* <li><code> PolyPolygon</code></li>
+* <li><code> Geometry</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.PolyPolygonDescriptor
+*/
+public class _PolyPolygonDescriptor extends MultiPropertyTest {
+
+} // finish class _PolyPolygonDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java
new file mode 100644
index 000000000000..2a09eeb4dac5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+
+/**
+* Testing <code>com.sun.star.drawing.RotationDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> RotateAngle</code></li>
+* <li><code> ShearAngle</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.RotationDescriptor
+*/
+public class _RotationDescriptor extends MultiPropertyTest {
+
+ /**
+ * Custom tester which increases value by 200
+ */
+ protected PropertyTester drawMeasureTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ int val = ((Integer)oldValue).intValue() ;
+ return new Integer(val + 200) ;
+ }
+ } ;
+
+ /**
+ * !!! DEPRECATED !!!
+ */
+ public void _RotationPointX() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("RotationPointX", drawMeasureTester) ;
+ }
+
+ /**
+ * !!! DEPRECATED !!!
+ */
+ public void _RotationPointY() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("RotationPointY", drawMeasureTester) ;
+ }
+
+ /**
+ * Tests the property with custom tester
+ */
+ public void _ShearAngle() {
+
+ Object noShear = tEnv.getObjRelation("NoShear");
+
+ if (noShear != null) {
+ log.println("This shape type doesn't support shear, see #85556#");
+ tRes.tested("ShearAngle",Status.skipped(true));
+ return;
+ }
+
+ try {
+ oObj.setPropertyValue("RotateAngle",new Short((short) 0));
+ } catch (Exception e) {
+ }
+ log.println("Testing with custom Property tester") ;
+ testProperty("ShearAngle", drawMeasureTester) ;
+ }
+
+ /**
+ * Tests the property with custom tester
+ */
+ public void _RotateAngle() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("RotateAngle", drawMeasureTester) ;
+ }
+
+} // finish class _RotationDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java
new file mode 100644
index 000000000000..00ff64c2a49d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _ShadowDescriptor extends MultiPropertyTest {
+
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+} // finish class _ShadowDescriptor
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java b/qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java
new file mode 100644
index 000000000000..8ea905755992
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.ShadowProperties</code>
+* service properties :
+* <ul>
+* <li><code> Shadow</code></li>
+* <li><code> ShadowColor</code></li>
+* <li><code> ShadowTransparence</code></li>
+* <li><code> ShadowXDistance</code></li>
+* <li><code> ShadowYDistance</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.ShadowProperties
+*/
+public class _ShadowProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_Shape.java b/qadevOOo/tests/java/ifc/drawing/_Shape.java
new file mode 100644
index 000000000000..5a64f7012b88
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_Shape.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.style.XStyle;
+
+/**
+* Testing <code>com.sun.star.drawing.Shape</code>
+* service properties :
+* <ul>
+* <li><code> ZOrder</code></li>
+* <li><code> LayerID</code></li>
+* <li><code> LayerName</code></li>
+* <li><code> Printable</code></li>
+* <li><code> MoveProtect</code></li>
+* <li><code> Name</code></li>
+* <li><code> SizeProtect</code></li>
+* <li><code> Style</code></li>
+* <li><code> Transformation</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Style1', 'Style2'</code>
+* (of type <code>com.sun.star.style.XStyle</code>):
+* relations used to change property 'Style'</li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.Shape
+*/
+public class _Shape extends MultiPropertyTest {
+
+ XStyle style1 = null;
+ XStyle style2 = null;
+
+ /**
+ * Custom tester which switches between two styles.
+ */
+ protected PropertyTester StyleTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (util.ValueComparer.equalValue(oldValue,style1))
+ return style2; else
+ return style1;
+ }
+ } ;
+
+ /**
+ * Custom tester for 'LayerName' property which switches two
+ * Strings ('layout' and 'controls').
+ */
+ protected PropertyTester StringTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (util.ValueComparer.equalValue(oldValue,"layout"))
+ return "controls"; else
+ return "layout";
+ }
+ } ;
+
+ /**
+ * Tested with custom StyleTester which switches between two
+ * styles.
+ */
+ public void _Style() {
+ log.println("Testing with custom Property tester") ;
+ style1 = (XStyle) tEnv.getObjRelation("Style1");
+ style2 = (XStyle) tEnv.getObjRelation("Style2");
+ testProperty("Style", StyleTester) ;
+ }
+
+ /**
+ * Tested with custom StringTester which switches two
+ * Strings ('layout' and 'controls')
+ */
+ public void _LayerName() {
+ if (tEnv.getTestCase().getObjectName().equals("SwXShape")) {
+ log.println("There is only one Layer for SwXShape");
+ log.println("Therefore this property can't be changed");
+ tRes.tested("LayerName",true);
+ } else if (tEnv.getTestCase().getObjectName().equals("ScShapeObj")) {
+ log.println("There is only one Layer for ScShapeObj");
+ log.println("Therefore this property can't be changed");
+ tRes.tested("LayerName",true);
+ } else if (tEnv.getTestCase().getObjectName().equals("ScAnnotationShapeObj")) {
+ log.println("There is only one Layer for ScAnnotationShapeObj");
+ log.println("Therefore this property can't be changed");
+ String aName = null;
+ try {
+ aName = (String) oObj.getPropertyValue ("LayerName");
+ log.println("LayerName: '"+aName+"'");
+ } catch (Exception e) {
+ e.printStackTrace (log);
+ }
+ tRes.tested("LayerName",aName != null);
+ } else {
+ log.println("Testing with custom Property tester") ;
+ testProperty("LayerName", StringTester) ;
+ }
+ }
+
+ public void _ZOrder() {
+ if (tEnv.getTestCase().getObjectName().equals("ScAnnotationShapeObj")) {
+ log.println("There is only one Layer for ScAnnotationShapeObj");
+ log.println("Therefore this property can't be changed");
+ tRes.tested("ZOrder",true);
+ } else {
+ testProperty("ZOrder", new Integer(0), new Integer(1));
+ }
+ }
+
+ public void _LayerID() {
+ if (tEnv.getTestCase().getObjectName().equals("ScAnnotationShapeObj")) {
+ log.println("There is only one Layer for ScAnnotationShapeObj");
+ log.println("Therefore this property can't be changed");
+ Short aID = null;
+ try {
+ aID = (Short) oObj.getPropertyValue ("LayerID");
+ log.println("LayerID: '"+aID.intValue ()+"'");
+ } catch (Exception e) {
+ e.printStackTrace (log);
+ }
+ tRes.tested("LayerID",aID != null);
+ } else {
+ log.println("Testing with custom Property tester") ;
+ testProperty("LayerID");
+ }
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java
new file mode 100644
index 000000000000..abeb24bf1e33
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.UnoRuntime;
+
+
+public class _ShapeDescriptor extends MultiMethodTest {
+
+ public XPropertySet oObj = null; // oObj filled by MultiMethodTest
+ public boolean ro = false;
+
+ public void _LayerID() {
+ com.sun.star.lang.XServiceInfo xInfo = (com.sun.star.lang.XServiceInfo)
+ UnoRuntime.queryInterface
+ (com.sun.star.lang.XServiceInfo.class, oObj);
+ if ( ! xInfo.supportsService("com.sun.star.drawing.ShapeDescriptor")) {
+ log.println("Service not available !!!!!!!!!!!!!");
+ tRes.tested("Supported", false);
+ }
+ ro = true;
+ changeProp("LayerID");
+ ro = false;
+ }
+ public void _LayerName() {
+ ro = true;
+ changeProp("LayerName");
+ ro = false;
+ }
+ public void _MoveProtect() {
+ changeProp("MoveProtect");
+ }
+ public void _Name() {
+ changeProp("Name");
+ }
+ public void _Printable() {
+ changeProp("Printable");
+ }
+ public void _SizeProtect() {
+ changeProp("SizeProtect");
+ }
+ public void _Style() {
+ changeProp("Style");
+ }
+
+ public void _Transformation() {
+ changeProp("Transformation");
+ }
+
+ public void changeProp(String name) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+
+ try {
+ //waitForAllThreads();
+ gValue = oObj.getPropertyValue(name);
+ //waitForAllThreads();
+ if (!ro) {
+ ValueToSet = ValueChanger.changePValue(gValue);
+ if ( name.equals("Style") ) {
+ ValueToSet = newStyle(gValue);
+ }
+ //waitForAllThreads();
+ oObj.setPropertyValue(name,ValueToSet);
+ sValue = oObj.getPropertyValue(name);
+ }
+
+ //check get-set methods
+ if (gValue.equals(sValue)) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ } else {
+ log.println("Property '"+name+"' OK");
+ tRes.tested(name, true);
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException ex) {
+ if (isOptional(name)) {
+ log.println("Property '"+name+
+ "' is optional and not supported");
+ tRes.tested(name,true);
+ } else {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ ex.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+ }
+ catch (Exception e) {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+
+
+ }// end of changeProp
+
+ public XStyle newStyle(Object oldStyle) {
+ XStyle Style1 = (XStyle) tEnv.getObjRelation("Style1");
+ XStyle Style2 = (XStyle) tEnv.getObjRelation("Style2");
+ XStyle back = null;
+ if ( (Style1!=null) && (Style2!=null) ) {
+ if ( ((XStyle) oldStyle).equals(Style1) ) {
+ back = Style2;
+ } else {
+ back = Style1;
+ }
+ }
+ return back;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_Text.java b/qadevOOo/tests/java/ifc/drawing/_Text.java
new file mode 100644
index 000000000000..588ff1efe3c4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_Text.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.container.XIndexReplace;
+
+public class _Text extends MultiPropertyTest {
+
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+ public void _NumberingRules() {
+ //This property is readOnly
+ boolean bResult = false;
+
+ try {
+ Object theRules2 = oObj.getPropertyValue( "NumberingRules" );
+ if (!(theRules2 instanceof com.sun.star.container.XIndexReplace)) {
+ log.println("Property 'NumberingRules' is an instance of "+
+ theRules2.getClass().getName());
+ log.println("Expected was an instance of "+
+ "com.sun.star.container.XIndexReplace");
+ }
+ log.println("Trying to cast property 'NumberingRules' "+
+ "to XIndexReplace");
+ XIndexReplace theRules = (XIndexReplace)
+ oObj.getPropertyValue( "NumberingRules" );
+ bResult = true;
+ } catch( Exception e ) {
+ log.println("Error occured while trying to get property"+
+ " 'NumberingRules'");
+ e.printStackTrace( log );
+ bResult = false;
+ }
+
+ tRes.tested( "NumberingRules", bResult);
+ }
+
+} // finish class _Text
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_TextProperties.java b/qadevOOo/tests/java/ifc/drawing/_TextProperties.java
new file mode 100644
index 000000000000..e7e8190e4a46
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_TextProperties.java
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.TextProperties</code>
+* service properties :
+* <ul>
+* <li><code> IsNumbering</code></li>
+* <li><code> NumberingRules</code></li>
+* <li><code> TextAutoGrowHeight</code></li>
+* <li><code> TextAutoGrowWidth</code></li>
+* <li><code> TextContourFrame</code></li>
+* <li><code> TextFitToSize</code></li>
+* <li><code> HorizontalAdjust</code></li>
+* <li><code> VerticalAdjust</code></li>
+* <li><code> TextLeftDistance</code></li>
+* <li><code> TextRightDistance</code></li>
+* <li><code> TextUpperDistance</code></li>
+* <li><code> TextLowerDistance</code></li>
+* <li><code> TextMaximumFrameHeight</code></li>
+* <li><code> TextMaximumFrameWidth</code></li>
+* <li><code> TextMinimumFrameHeight</code></li>
+* <li><code> TextMinimumFrameWidth</code></li>
+* <li><code> TextAnimationAmount</code></li>
+* <li><code> TextAnimationCount</code></li>
+* <li><code> TextAnimationDelay</code></li>
+* <li><code> TextAnimationDirection</code></li>
+* <li><code> TextAnimationKind</code></li>
+* <li><code> TextAnimationStartInside</code></li>
+* <li><code> TextAnimationStopInside</code></li>
+* <li><code> TextWritingMode</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.TextProperties
+*/
+public class _TextProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_TextShape.java b/qadevOOo/tests/java/ifc/drawing/_TextShape.java
new file mode 100644
index 000000000000..9fa917bae4a3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_TextShape.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.TextShape</code>
+* service properties :
+* <ul>
+* <li><code> CornerRadius</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.TextShape
+*/
+public class _TextShape extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java
new file mode 100644
index 000000000000..c5651534bf90
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiPropertyTest;
+
+
+public class _TextShapeDescriptor extends MultiPropertyTest {
+
+} // finish class _TextShapeDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java b/qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java
new file mode 100644
index 000000000000..319c5a7c2ee5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.drawing.ConnectionType;
+import com.sun.star.drawing.XConnectableShape;
+import com.sun.star.drawing.XConnectorShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XConnectorShape</code>
+* interface methods :
+* <ul>
+* <li><code> connectStart()</code></li>
+* <li><code> connectEnd()</code></li>
+* <li><code> disconnectBegin()</code></li>
+* <li><code> disconnectEnd()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XConnectorShape.Shapes'</code>
+* (of type <code>com.sun.star.drawing.XShape[]</code>):
+* an array of two shapes which <b>must</b> implement
+* <code>com.sun.star.drawing.XConnectableShape</code>
+* interface and are used for being connected by
+* connector shape.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XConnectorShape
+*/
+public class _XConnectorShape extends MultiMethodTest {
+
+ public XConnectorShape oObj = null; //oObj filled by MultiMethodTest
+ private XConnectableShape shape1 = null,
+ shape2 = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throw StatusException If the relation is not found or shapes don't
+ * support <code>XConnectableShape</code> interface.
+ */
+ public void before() {
+ log.println("No shapes implementing XConnectableShape still found.");
+ XShape[] shapes = (XShape[])
+ tEnv.getObjRelation("XConnectorShape.Shapes") ;
+ if (shapes == null) throw new StatusException(Status.failed
+ ("Relation not found.")) ;
+ shape1 = (XConnectableShape) UnoRuntime.queryInterface
+ (XConnectableShape.class, shapes[0]) ;
+ shape2 = (XConnectableShape) UnoRuntime.queryInterface
+ (XConnectableShape.class, shapes[1]) ;
+ if (shape1 == null || shape2 == null) throw new StatusException
+ (Status.failed("Shapes don't implement XConnectableShape"+
+ " interface.")) ;
+ }
+
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _connectStart() {
+ oObj.connectStart(shape1, ConnectionType.AUTO);
+
+ tRes.tested("connectStart()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _connectEnd() {
+ oObj.connectEnd(shape2, ConnectionType.AUTO);
+
+ tRes.tested("connectEnd()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> connectStart() </code> : first shape needs to be
+ * connected. </li>
+ * </ul>
+ */
+ public void _disconnectBegin() {
+ requiredMethod("connectStart()");
+
+ oObj.disconnectBegin(shape1);
+
+ tRes.tested("disconnectBegin()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> connectEnd() </code> : first shape needs to be
+ * connected. </li>
+ * </ul>
+ */
+ public void _disconnectEnd() {
+ requiredMethod("connectEnd()");
+
+ oObj.disconnectEnd(shape2);
+
+ tRes.tested("disconnectEnd()", true) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XControlShape.java b/qadevOOo/tests/java/ifc/drawing/_XControlShape.java
new file mode 100644
index 000000000000..7141ce155f3f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XControlShape.java
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import util.FormTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.drawing.XControlShape</code>
+* interface methods :
+* <ul>
+* <li><code> getControl()</code></li>
+* <li><code> setControl()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'xDoc'</code> (of type <code>XComponent</code>):
+* the document where shape tested is situated. This document
+* must also implement <code>XMultiServiceFactory</code> interface
+* to create some control model. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XControlShape
+*/
+public class _XControlShape extends MultiMethodTest {
+
+ public XControlShape oObj = null;
+
+ XControlModel model = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _getControl() {
+ model = oObj.getControl() ;
+
+ tRes.tested("getControl()", true) ;
+ }
+
+ /**
+ * With the help of document passed as relation, a new button control
+ * model is created and set as a control. <p>
+ * Has <b> OK </b> status if <code>getControl()</code> method returns
+ * the same control as was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getControl() </code> </li>
+ * </ul>
+ */
+ public void _setControl() {
+ requiredMethod("getControl()") ;
+
+ XInterface oNewControl = FormTools.createControl
+ ((XComponent)tEnv.getObjRelation("xDoc"), "ComboBox") ;
+
+ XControlModel xControl = (XControlModel) UnoRuntime.queryInterface
+ (XControlModel.class, oNewControl) ;
+
+ oObj.setControl(xControl) ;
+
+ XControlModel gControl = oObj.getControl() ;
+
+ if (oNewControl.equals(gControl))
+ tRes.tested("setControl()", true) ;
+ else {
+ log.println("Control set is not equal to control get") ;
+ tRes.tested("setControl()", false) ;
+ }
+ }
+
+} // finish class _XControlShape
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java
new file mode 100644
index 000000000000..5bbb6560fe59
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageDuplicator;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPageDuplicator</code>
+* interface methods :
+* <ul>
+* <li><code> duplicate()</code></li>
+* </ul> <p>
+* The object tested <b> must implement </b>
+* <code>XDrawPagesSupplier</code> interface to have access to draw
+* pages collection. <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.drawing.XDrawPageDuplicator
+*/
+public class _XDrawPageDuplicator extends MultiMethodTest {
+ public XDrawPageDuplicator oObj = null;
+
+ /**
+ * First queries object tested for <code>XDrawPagesSupplier</code>
+ * interface and obtains one draw page from document. Then it
+ * tries to duplicate it.<p>
+ * Has <b> OK </b> status if the method returns not null value and
+ * this value is not equal to the page which was duplicated. <p>
+ */
+ public void _duplicate(){
+ boolean result = false;
+ XInterface testobj = tEnv.getTestObject();
+ XDrawPagesSupplier PS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, testobj);
+ XDrawPages DPs = PS.getDrawPages();
+ XDrawPage DP = null;
+ try {
+ DP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),DPs.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while testing: " + e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while testing: " + e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while testing: " + e);
+ }
+
+ if (DP != null) {
+ XDrawPage newPage = oObj.duplicate(DP);
+ result = (newPage != null) && !(newPage.equals(DP));
+ }
+ tRes.tested("duplicate()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPageExpander.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPageExpander.java
new file mode 100644
index 000000000000..01afaee841c1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPageExpander.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageExpander;
+import com.sun.star.drawing.XDrawPages;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPageExpander</code>
+* interface methods :
+* <ul>
+* <li><code> expand()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (of type <code>XDrawPage</code>):
+* draw page to be expanded. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XDrawPageExpander
+*/
+public class _XDrawPageExpander extends MultiMethodTest {
+ public XDrawPageExpander oObj = null;
+
+ /**
+ * First the relation is retrieved. Then the method is called.<p>
+ * Has <b> OK </b> status if the method returns not null value. <p>
+ */
+ public void _expand() {
+ boolean result = true;
+ XDrawPage oDrawPage = (XDrawPage) tEnv.getObjRelation("DrawPage");
+ if ( oDrawPage == null ) {
+ // SKIPPED.FAILED - the ObjectRelation is not available
+ Status.failed( "ObjectRelation('DrawPages') XDrawPages n.a.");
+ return;
+ }
+ log.println("testing expand() ... ");
+
+ XDrawPages pages = oObj.expand(oDrawPage);
+ result = pages != null;
+
+ tRes.tested("expand()", result);
+ } // end expand
+} // end DrawPageExpander
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPageSummarizer.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPageSummarizer.java
new file mode 100644
index 000000000000..fe0d5a9eca77
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPageSummarizer.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.drawing.XDrawPageSummarizer;
+import com.sun.star.drawing.XDrawPages;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPageSummarizer</code>
+* interface methods :
+* <ul>
+* <li><code> summarize()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPages'</code> (of type <code>XDrawPages</code>):
+* a collection of pages to be summarized. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XDrawPageSummarizer
+*/
+public class _XDrawPageSummarizer extends MultiMethodTest {
+ public XDrawPageSummarizer oObj = null;
+
+ /**
+ * First the relation is retrieved. Then the method is called.<p>
+ * Has <b> OK </b> status if the method returns not null value. <p>
+ */
+ public void summarize(){
+ boolean result = true;
+ XDrawPages oDrawPages = (XDrawPages) tEnv.getObjRelation("DrawPages");
+ if ( oDrawPages == null ) {
+ // SKIPPED.FAILED - the ObjectRelation is not available
+ Status.failed( "ObjectRelation('DrawPages') XDrawPages n.a." );
+ return;
+ }
+ log.println("testing summarize() ... ");
+
+ oObj.summarize(oDrawPages);
+ result=true;
+
+ tRes.tested("summarize()", result);
+ } // end of summarize()
+
+} // end of XDrawPageSummarizer
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java
new file mode 100644
index 000000000000..c504e2d864ea
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XDrawPageSupplier extends MultiMethodTest {
+ public XDrawPageSupplier oObj = null;
+
+ public void _getDrawPage() {
+ XDrawPage xPage = oObj.getDrawPage();
+ log.println("xPage: " + util.utils.getImplName(xPage));
+ tRes.tested("getDrawPage()", xPage != null);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPages.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPages.java
new file mode 100644
index 000000000000..078fb1fba876
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPages.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPages</code>
+* interface methods :
+* <ul>
+* <li><code> insertNewByIndex()</code></li>
+* <li><code> remove()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XDrawPages
+*/
+public class _XDrawPages extends MultiMethodTest {
+ public XDrawPages oObj = null;
+ public XDrawPage DrawPage;
+
+ /**
+ * Inserts a draw page at index 0. Number of pages is obtained
+ * before and after insertion.<p>
+ * Has <b> OK </b> status if the value returned is not null and
+ * number of pages increases by one after insertion. <p>
+ */
+ public void _insertNewByIndex(){
+ boolean result = true;
+ log.println("testing insertNewByIndex() ... ");
+
+ int cntBefore = oObj.getCount();
+ DrawPage = oObj.insertNewByIndex(0);
+ int cntAfter = oObj.getCount();
+ result = DrawPage != null &&
+ cntAfter == cntBefore + 1 ;
+
+ tRes.tested("insertNewByIndex()", result);
+ } // end InsertNewByIndex
+
+ /**
+ * Removes the draw page inserted before. Number of pages is obtained
+ * before and after removing.<p>
+ * Has <b> OK </b> status if the number of pages decreases by one
+ * after removing. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertByIndex() </code> : the page to be removed must
+ * be inserted first.</li>
+ * </ul>
+ */
+ public void _remove(){
+ requiredMethod("insertNewByIndex()") ;
+
+ boolean result = true;
+ log.println("removing DrawPage...");
+
+ int cntBefore = oObj.getCount();
+ oObj.remove(DrawPage);
+ int cntAfter = oObj.getCount();
+ result = cntAfter + 1 == cntBefore ;
+
+ tRes.tested("remove()", result);
+ } // end remove()
+
+} // end XDrawPages
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java
new file mode 100644
index 000000000000..912051db3dcd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPagesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getDrawPages()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XDrawPagesSupplier
+*/
+public class _XDrawPagesSupplier extends MultiMethodTest {
+ public XDrawPagesSupplier oObj = null;
+
+ /**
+ * Gets draw page collection. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _getDrawPages(){
+ boolean result = true;
+ XDrawPages DrawPages = null;
+
+ log.println("testing getDrawPages() ... ");
+
+ DrawPages = oObj.getDrawPages();
+ result = DrawPages != null;
+
+ tRes.tested("getDrawPages()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawView.java b/qadevOOo/tests/java/ifc/drawing/_XDrawView.java
new file mode 100644
index 000000000000..643f68865de6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawView.java
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawView;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawView</code>
+* interface methods :
+* <ul>
+* <li><code> setCurrentPage()</code></li>
+* <li><code> getCurrentPage()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Pages'</code> (of type <code>XDrawPages</code>):
+* needed to have the access to pages collection.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XDrawView
+*/
+public class _XDrawView extends MultiMethodTest {
+
+ public XDrawView oObj = null;
+ public XDrawPage the_page = null;
+
+ /**
+ * This methods gets the current DrawPage.<p>
+ * Has <b> OK </b> status if the returned DrawPage
+ * isn't empty.
+ */
+ public void _getCurrentPage(){
+ the_page = oObj.getCurrentPage();
+ tRes.tested("getCurrentPage()",the_page != null);
+ } // end getCurrentPage
+
+ /**
+ * This methods sets the current DrawPage<br>
+ * First a new DrawPage is inserted in the document.
+ * Then this DrawPage is set as current Page.
+ * Has <b> OK </b> status if the getCurrentPage() method returns
+ * the DrawPage that was previously set.
+ * @see ifc.drawing._XDrawPages
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCurrentPage() </code> </li>
+ * </ul>
+ */
+ public void _setCurrentPage(){
+ requiredMethod("getCurrentPage()");
+ try {
+ XDrawPages the_pages = (XDrawPages) tEnv.getObjRelation("Pages");
+ the_pages.insertNewByIndex(0);
+ XDrawPage newPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),the_pages.getByIndex(1));
+ oObj.setCurrentPage(newPage);
+ XDrawPage getting = oObj.getCurrentPage();
+ boolean eq = newPage.equals(getting);
+ if (!eq) {
+ log.println("Getting: "+getting.hasElements());
+ log.println("Expected: "+newPage.hasElements());
+ }
+ //back to the previous page
+ oObj.setCurrentPage(the_page);
+ tRes.tested("setCurrentPage()",eq);
+ } catch (com.sun.star.lang.WrappedTargetException ex) {
+ log.println("Exception occured while checking 'setCurrentPage()'");
+ ex.printStackTrace(log);
+ tRes.tested("setCurrentPage()",false);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("Exception occured while checking 'setCurrentPage()'");
+ ex.printStackTrace(log);
+ tRes.tested("setCurrentPage()",false);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while checking 'setCurrentPage()'");
+ ex.printStackTrace(log);
+ tRes.tested("setCurrentPage()",false);
+ }
+ } // end setCurrentPage
+
+} // end DrawView
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java
new file mode 100644
index 000000000000..b0eb03245414
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.drawing.XGluePointsSupplier;
+
+/**
+* Testing <code>com.sun.star.drawing.XGluePointsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getGluePoints()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XGluePointsSupplier
+*/
+public class _XGluePointsSupplier extends MultiMethodTest {
+ public XGluePointsSupplier oObj = null;
+
+ /**
+ * Gets glue points collection. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _getGluePoints(){
+ boolean result = true;
+ XIndexContainer points = null;
+
+ log.println("testing getDrawPages() ... ");
+
+ points = oObj.getGluePoints();
+ result = points != null;
+
+ tRes.tested("getGluePoints()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XLayerManager.java b/qadevOOo/tests/java/ifc/drawing/_XLayerManager.java
new file mode 100644
index 000000000000..c971df91ee9b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XLayerManager.java
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+import util.XInstCreator;
+
+import com.sun.star.drawing.XLayer;
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.drawing.XLayerManager</code>
+* interface methods :
+* <ul>
+* <li><code> insertNewByIndex()</code></li>
+* <li><code> remove()</code></li>
+* <li><code> attachShapeToLayer()</code></li>
+* <li><code> getLayerForShape()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Shape'</code> (of type <code>util.XInstCreator</code>):
+* instance creator which can create shapes.</li>
+* <li> <code>'Shapes'</code>
+* (of type <code>com.sun.star.drawing.XShapes</code>):
+* The collection of shapes in the document. Is used
+* to add new created shapes.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XLayerManager
+*/
+public class _XLayerManager extends MultiMethodTest {
+
+ public XLayerManager oObj = null; // oObj filled by MultiMethodTest
+ XInstCreator shape = null;
+ public XInterface oShape = null;
+ public XLayer oL = null;
+
+ /**
+ * Inserts a new layer into collection. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _insertNewByIndex(){
+ log.println("insertNewByName() ... ");
+ oL = oObj.insertNewByIndex(0);
+ tRes.tested("insertNewByIndex()", oL != null);
+ }
+
+ /**
+ * First a shape created and inserted into the document using
+ * relations retrieved. Attaches this shape to layer created before. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertNewByIndex </code> : to have a layer attach to.</li>
+ * </ul>
+ */
+ public void _attachShapeToLayer() {
+ requiredMethod("insertNewByIndex()");
+ shape = (XInstCreator)tEnv.getObjRelation("Shape");
+ oShape = shape.createInstance();
+ XShape oSh = (XShape) oShape;
+ XShapes oShapes = (XShapes) tEnv.getObjRelation("Shapes");
+ oShapes.add(oSh);
+ boolean result = false;
+
+ log.println("attachShapeToLayer() ... ");
+
+ oObj.attachShapeToLayer((XShape) oShape,oL);
+ result = true;
+
+ tRes.tested("attachShapeToLayer()", result);
+ }
+
+ /**
+ * Gets the layer for shape which was attached before. <p>
+ * Has <b> OK </b> status if the names of layer get and
+ * the layer attached before are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> attachShapeToLayer() </code> </li>
+ * </ul>
+ */
+ public void _getLayerForShape() {
+ requiredMethod("attachShapeToLayer()");
+ log.println("getLayerForShape() ... ");
+ XLayer Lay1 = oL;
+ XLayer Lay2 = oObj.getLayerForShape((XShape)oShape);
+ Object Obj1 = null;
+ Object Obj2 = null;
+
+ try {
+ Obj1 = Lay1.getPropertyValue("Name");
+ Obj2 = Lay2.getPropertyValue("Name");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("getLayerForShape()",ValueComparer.equalValue(Obj1,Obj2));
+ }
+
+ /**
+ * Test removes the layer added before. Number of layers are get before
+ * and after removing.<p>
+ * Has <b> OK </b> status if number of layers decreases by one. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLayerForShape() </code> </li>
+ * </ul>
+ */
+ public void _remove () {
+ requiredMethod("getLayerForShape()");
+ boolean result = true ;
+ // get the current thread's holder
+ log.println("removing the Layer...");
+
+ int cntBefore = oObj.getCount();
+
+ try {
+ oObj.remove(oL);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ int cntAfter = oObj.getCount();
+
+ result = cntBefore == cntAfter + 1;
+
+ tRes.tested("remove()", result);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java
new file mode 100644
index 000000000000..770abc9c4eba
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XLayerSupplier;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XLayerSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getLayerManager()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XLayerSupplier
+*/
+public class _XLayerSupplier extends MultiMethodTest{
+ public XLayerSupplier oObj = null;
+
+ /**
+ * Gets the manager and it is queried for <code>XLayerManager</code>. <p>
+ * Has <b> OK </b> status if returned value is successfully
+ * queried for <code>XLayerManager</code>. <p>
+ */
+ public void _getLayerManager(){
+ XNameAccess oNA =null;
+ XLayerManager oLM = null;
+ boolean result = true;
+
+ log.println("testing getLayerManager() ... ");
+
+ oNA = oObj.getLayerManager();
+ oLM = (XLayerManager)
+ UnoRuntime.queryInterface ( XLayerManager.class, oNA);
+ result = oLM != null;
+
+ tRes.tested("getLayerManager()", result);
+ } // finished test
+
+} // end XLayerSupplier
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java b/qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java
new file mode 100644
index 000000000000..393469bd21e0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPageTarget;
+
+/**
+* Testing <code>com.sun.star.drawing.XMasterPageTarget</code>
+* interface methods :
+* <ul>
+* <li><code> getMasterPage()</code></li>
+* <li><code> setMasterPage()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'MasterPageSupplier'</code>
+* (of type <code>XDrawPages</code>):
+* the relation is used to create a new draw page. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XMasterPageTarget
+*/
+public class _XMasterPageTarget extends MultiMethodTest{
+
+ public XMasterPageTarget oObj = null;
+ public XDrawPage DrawPage = null;
+
+ /**
+ * Gets the master page and stores. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _getMasterPage(){
+ boolean result = false;
+ log.println("get the MasterPage");
+
+ DrawPage = oObj.getMasterPage();
+ result = DrawPage != null ;
+
+ tRes.tested("getMasterPage()",result);
+ }
+
+ /**
+ * Gets the pages supplier from relation. Then a new page is created,
+ * inserted and set as master page.<p>
+ * Has <b> OK </b> status if the master page get is equal to page
+ * which was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMasterPage() </code> : to get old master page.</li>
+ * </ul>
+ */
+ public void _setMasterPage() {
+ requiredMethod("getMasterPage()") ;
+
+ boolean result = true;
+ XDrawPage oNewPage = null;
+
+ XDrawPages oPages = (XDrawPages) tEnv.getObjRelation("MasterPageSupplier");
+ log.println("inserting new MasterPage");
+ oNewPage = oPages.insertNewByIndex(oPages.getCount());
+
+ // save the old MasterPage
+ XDrawPage oOldPage = DrawPage;
+
+ // set the new Page as MasterPage
+ log.println("set the new MasterPage");
+ oObj.setMasterPage(oNewPage);
+
+ // get the new MasterPage
+ DrawPage = oObj.getMasterPage();
+
+ // test the diffrent MasterPages
+ if (DrawPage.equals(oOldPage)) result = false;
+
+ tRes.tested("setMasterPage()",result);
+ }
+
+} // end of XMasterPageTarget
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java
new file mode 100644
index 000000000000..3cf4adae07aa
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPagesSupplier;
+
+/**
+* Testing <code>com.sun.star.drawing.XMasterPagesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getMasterPages()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XMasterPagesSupplier
+*/
+public class _XMasterPagesSupplier extends MultiMethodTest{
+ public XMasterPagesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the value returned is not null.
+ */
+ public void _getMasterPages(){
+ boolean result = false;
+ XDrawPages DrawPages = null;
+
+ log.println("get the MasterPages");
+
+ DrawPages = oObj.getMasterPages();
+ result = DrawPages != null;
+
+ tRes.tested("getMasterPages()",result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShape.java b/qadevOOo/tests/java/ifc/drawing/_XShape.java
new file mode 100644
index 000000000000..e774721c9fdc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShape.java
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.drawing.XShape</code>
+* interface methods :
+* <ul>
+* <li><code> getPosition()</code></li>
+* <li><code> setPosition()</code></li>
+* <li><code> getSize()</code></li>
+* <li><code> setSize()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'NoPos'</code> <b>optional</b>
+* (of type <code>Object</code>):
+* if this relation exists then position setting is
+* not supported by the object.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XShape
+*/
+public class _XShape extends MultiMethodTest {
+
+ public XShape oObj = null; //oObj filled by MultiMethodTest
+
+ Size sOld = new Size();
+ Point pOld = new Point();
+ Size sNew = new Size();
+ Point pNew = new Point();
+
+ /**
+ * Gets the size and stores it. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _getSize(){
+
+ boolean result = false;
+
+ log.println("get the size");
+
+ sOld = (Size) oObj.getSize();
+ result = true;
+
+ tRes.tested("getSize()", result);
+ }
+
+ /**
+ * Gets the current position and stores it if the object
+ * supports position setting. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown or object doesn't
+ * support position setting. <p>
+ */
+ public void _getPosition(){
+ boolean result = false;
+
+ String obj = (String) tEnv.getObjRelation("NoPos");
+ if (obj != null) {
+ log.println("Can't be used with "+obj);
+ result = true;
+ tRes.tested("getPosition()", result);
+ return;
+ }
+
+ log.println("get the position");
+ pOld = (Point) oObj.getPosition();
+ result = true;
+
+ tRes.tested("getPosition()", result);
+ }
+
+ /**
+ * Sets a new size different from the size get before. <p>
+ * Has <b> OK </b> status if the size returned by <code>getSize()</code>
+ * is equal to the size which was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSize() </code> : to set the original size changed.</li>
+ * </ul>
+ */
+ public void _setSize(){
+ requiredMethod("getSize()");
+
+ boolean result = true;
+
+ String obj = (String) tEnv.getObjRelation("NoSetSize");
+ if (obj != null) {
+ log.println("Can't be used with " + obj);
+ tRes.tested("setSize()", true);
+ return;
+ }
+ // get the current thread's holder
+ sNew = new Size(sOld.Width + 10,sOld.Height + 10) ;
+
+ //set new size
+ log.println("change the size");
+ try {
+ oObj.setSize(sNew);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while calling the method :" + e);
+ result = true ;
+ }
+
+ Size gSize = oObj.getSize() ;
+
+ log.println("Previously: "+sOld.Height+";"+sOld.Width);
+ log.println("Expected: "+sNew.Height+";"+sNew.Width);
+ log.println("Getting: "+gSize.Height+";"+gSize.Width);
+
+ //result &= util.ValueComparer.equalValue(sNew, gSize) ;
+ //errors in calculation from points/twips less then 1 are acceptable
+ result &= (sNew.Height-gSize.Height <= 2) && (sNew.Width-gSize.Width <= 2);
+
+ if (result && ((sNew.Height-gSize.Height != 0) || (sNew.Width-gSize.Width != 0))){
+ log.println("NOTE: there is a difference between the expected and the getted value. " +
+ "This might be ok because of problems in calculation from points <-> twips");
+ }
+ tRes.tested("setSize()", result);
+ }
+
+ /**
+ * If object doesn't support position setting the test does nothing.
+ * Else a new position is created and set.<p>
+ * Has <b> OK </b> status if get position is equal to set position or
+ * if the position setting isn't supported. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPosition() </code> : to change old position. </li>
+ * </ul>
+ */
+ public void _setPosition(){
+ requiredMethod("getPosition()");
+
+ boolean result = true;
+
+ String obj = (String) tEnv.getObjRelation("NoPos");
+ if (obj != null) {
+ log.println("Can't be used with " + obj);
+ tRes.tested("setPosition()", true);
+ return;
+ }
+
+ // get the current thread's holder
+ pNew = new Point(pOld.X + 100, pOld.Y + 100) ;
+ oObj.setPosition(pNew);
+
+ Point gPos = oObj.getPosition() ;
+
+ log.println("Previously: "+pOld.X+";"+pOld.Y);
+ log.println("Expected: "+pNew.X+";"+pNew.Y);
+ log.println("Getting: "+gPos.X+";"+gPos.Y);
+
+ result = !util.ValueComparer.equalValue(pOld, gPos) ;
+
+ tRes.tested("setPosition()", result);
+ }
+
+
+} // finish class _XShape
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java b/qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java
new file mode 100644
index 000000000000..d150aa986815
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeBinder;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeBinder</code>
+* interface methods :
+* <ul>
+* <li><code> bind()</code></li>
+* <li><code> unbind()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (must implement <code>XShapes</code>):
+* the collection of shapes in a document which used to create a group.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XShapeBinder
+*/
+public class _XShapeBinder extends MultiMethodTest {
+
+ public XShapeBinder oObj = null;
+ XShape group = null;
+ int countBeforeBind = 0;
+ XShapes oShapes = null;
+
+ /**
+ * Retrieves draw page collection from relation and binds them. <p>
+ *
+ * Has <b> OK </b> status if the shape group returned is not null
+ * number of shapes in collection is 1 (shapes are binded into a single
+ * shape). <p>
+ */
+ public void _bind () {
+ XDrawPage dp = (XDrawPage) tEnv.getObjRelation("DrawPage");
+ oShapes = (XShapes)UnoRuntime.queryInterface( XShapes.class, dp );
+ boolean result = false;
+ log.println("testing bind() ... ");
+ countBeforeBind = oShapes.getCount();
+ log.println("Count before bind:" + countBeforeBind);
+ group = oObj.bind(oShapes);
+ int countAfterBind = oShapes.getCount();
+ log.println("Count after bind:" + countAfterBind);
+ result = group != null && countAfterBind == 1;
+
+ tRes.tested("bind()", result);
+
+ }
+
+ /**
+ * Unbinds the group created before. <p>
+ *
+ * Has <b> OK </b> status if number of shapes in collection
+ * increases after the method call. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> bind() </code> : to create a shape group </li>
+ * </ul>
+ */
+ public void _unbind () {
+ requiredMethod("bind()");
+ boolean result = false;
+
+ // get the current thread's holder
+ log.println("unbinding the shape...");
+
+ oObj.unbind(group);
+ int countAfterUnbind = oShapes.getCount();
+ log.println("Count after unbind:" + countAfterUnbind);
+ result = countAfterUnbind >= countBeforeBind;
+
+ tRes.tested("unbind()", result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java b/qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java
new file mode 100644
index 000000000000..f83025c08a84
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeCombiner;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeCombiner</code>
+* interface methods :
+* <ul>
+* <li><code> combine()</code></li>
+* <li><code> split()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (must implement <code>XShapes</code>):
+* the collection of shapes in a document which used to create a group.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XShapeCombiner
+*/
+public class _XShapeCombiner extends MultiMethodTest {
+
+ public XShapeCombiner oObj = null; //filled by MultiMethodTest
+ protected XShape oGroup = null;
+ int countBeforeComb = 0;
+ XShapes oShapes = null;
+
+ /**
+ * Retrieves draw page collection from relation and combines them. <p>
+ * Has <b> OK </b> status if the shape group returned is not null nd
+ * number of shapes in collection is 1 (shapes are combined into a single
+ * shape). <p>
+ */
+ public void _combine () {
+ XDrawPage dp = (XDrawPage) tEnv.getObjRelation("DrawPage");
+ oShapes = (XShapes)UnoRuntime.queryInterface( XShapes.class, dp );
+
+ boolean result = false;
+
+ log.println("testing combine() ... ");
+ countBeforeComb = oShapes.getCount();
+ log.println("Count before combining:" + countBeforeComb);
+ oGroup = oObj.combine(oShapes);
+ int countAfterComb = oShapes.getCount();
+ log.println("Count after combining:" + countAfterComb);
+ result = oGroup != null && countAfterComb == 1;
+
+ tRes.tested("combine()", result);
+ }
+
+ /**
+ * Splits the group created before. <p>
+ *
+ * Has <b> OK </b> status if number of shapes in collection after
+ * <code>split</code> is the same as before <code>combine</code>. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> combine() </code> : to create a shape group </li>
+ * </ul>
+ */
+ public void _split() {
+ requiredMethod("combine()");
+
+ boolean result = false;
+
+ log.println("spiltting the shape...");
+
+ oObj.split(oGroup);
+ int countAfterSplit = oShapes.getCount();
+ log.println("Count after split:" + countAfterSplit);
+ result = countAfterSplit == countBeforeComb;
+
+ tRes.tested("split()", result);
+ } // end of split
+
+} // end of XShapeCombiner
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java
new file mode 100644
index 000000000000..6ebcc1897402
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XShapeDescriptor;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeDescriptor</code>
+* interface methods :
+* <ul>
+* <li><code> getShapeType()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XShapeDescriptor
+*/
+public class _XShapeDescriptor extends MultiMethodTest {
+
+ public XShapeDescriptor oObj = null;
+ boolean result = true;
+
+ /**
+ * Gets the type of shape. This type must be a service name which
+ * is supported by object (except of ChartObject and Frame shapes).
+ * The object is queried for <code>XServiceInfo</code> and
+ * the type is checked to be among supported service names.<p>
+ *
+ * Has <b> OK </b> status if the type is found among supported
+ * services. Or if the object represents a text frame.<p>
+ */
+ public void _getShapeType() {
+ result = false;
+
+ String stype = oObj.getShapeType();
+ log.println("Current Shape Type is " + stype);
+
+ XServiceInfo SI = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, oObj);
+
+ String[] serviceNames = SI.getSupportedServiceNames();
+
+ log.println("Supported services :");
+ for (int i = 0; i < serviceNames.length; i++) {
+ log.println(" " + serviceNames[i]);
+ if (serviceNames[i].equals(stype))
+ result = true;
+ }
+
+ //remark: we should provide the expected name as ObjRelation
+
+ //Chart has its own behaviour it always return 'ChartObject'
+ if (stype.equals("com.sun.star.chart.ChartObject")) result=true;
+ if (stype.equals("com.sun.star.drawing.ControlShape")) result=true;
+ if (stype.equals("com.sun.star.drawing.ClosedBezierShape")) result=true;
+ if (stype.equals("com.sun.star.drawing.CaptionShape")) result=true;
+
+ //Writer has its own behaviour it returns a 'FrameShape'
+ if (stype.equals("FrameShape")) result=true;
+
+ if (!result) {
+ log.println("Service " + stype + " not supported in the object.");
+ }
+
+ tRes.tested("getShapeType()", result);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java b/qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java
new file mode 100644
index 000000000000..5c7dd2d724f4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XShapeGroup;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeGroup</code>
+* interface methods :
+* <ul>
+* <li><code> enterGroup()</code></li>
+* <li><code> leaveGroup()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XShapeGroup
+*/
+public class _XShapeGroup extends MultiMethodTest {
+ public XShapeGroup oObj = null;
+
+ /**
+ * The method called.
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _enterGroup() {
+ log.println("Testing enterGroup()...");
+ oObj.enterGroup();
+ tRes.tested("enterGroup()", true);
+ }
+
+ /**
+ * The method called.
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _leaveGroup() {
+ log.println("Testing leaveGroup()...");
+ oObj.leaveGroup();
+ tRes.tested("leaveGroup()", true);
+ }
+
+} // end of _XShapeGroup
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java b/qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java
new file mode 100644
index 000000000000..9831886ca7c2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeGroup;
+import com.sun.star.drawing.XShapeGrouper;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeGrouper</code>
+* interface methods :
+* <ul>
+* <li><code> group()</code></li>
+* <li><code> ungroup()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (must implement <code>XShapes</code>):
+* the collection of shapes in a document which used to create a group.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XShapeGrouper
+*/
+public class _XShapeGrouper extends MultiMethodTest {
+
+ public XShapeGrouper oObj = null; // oObj filled by MultiMethodTest
+ XShape oGroup = null;
+ int countAfterGr = 0;
+ XShapes oShapes = null;
+
+ /**
+ * Retrieves draw page collection from relation and groups them. <p>
+ * Has <b> OK </b> status if the shape group returned is not null. <p>
+ */
+ public void _group() {
+ Object dp = tEnv.getObjRelation("DrawPage");
+ if (dp == null)
+ throw new StatusException(Status.failed("Relation not found")) ;
+
+ oShapes = (XShapes)UnoRuntime.queryInterface( XShapes.class, dp );
+ boolean result = false;
+ log.println("Grouping " + oShapes.getCount() + " shapes ... ");
+
+ int countBeforeGr = oShapes.getCount();
+ oGroup = oObj.group(oShapes);
+ countAfterGr = oShapes.getCount();
+ log.println("Number of shapes after grouping: " + countAfterGr);
+ result = oGroup != null ;
+ result &= countAfterGr < countBeforeGr;
+
+ tRes.tested("group()", result);
+ }
+
+ /**
+ * Ungroups the group created before. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> group() </code> : to create a shape group </li>
+ * </ul>
+ */
+ public void _ungroup() {
+ requiredMethod("group()");
+ boolean result = false;
+ log.println("ungrouping the shape...");
+
+ oObj.ungroup((XShapeGroup)oGroup);
+ int countAfterUnGr = oShapes.getCount();
+ log.println("Number of shapes after ungrouping: " + countAfterUnGr);
+
+ result = countAfterUnGr != countAfterGr;
+
+ tRes.tested("ungroup()", result);
+ }
+}
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapes.java b/qadevOOo/tests/java/ifc/drawing/_XShapes.java
new file mode 100644
index 000000000000..a28833819e09
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapes.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.drawing;
+
+import lib.MultiMethodTest;
+import util.XInstCreator;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.drawing.XShapes</code>
+* interface methods :
+* <ul>
+* <li><code> add()</code></li>
+* <li><code> remove()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Shape'</code> (of type <code>XShape</code>):
+* a shape which can be inserted into shape collection. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.drawing.XShapes
+*/
+public class _XShapes extends MultiMethodTest {
+
+ public XShapes oObj = null; // oObj filled by MultiMethodTest
+ XInstCreator shape = null;
+ XInterface oShape = null;
+
+
+ /**
+ * Retrieves a shape from relation and adds it to the collection.
+ * Number of shapes is checked before and after adding.<p>
+ * Has <b> OK </b> status if after adding number of shapes increases by
+ * 1. <p>
+ */
+ public void _add () {
+
+ boolean result = false;
+ shape = (XInstCreator)tEnv.getObjRelation("Shape");
+ oShape = shape.createInstance();
+ XShape oSh = (XShape) oShape;
+
+ log.println("testing add() ... ");
+
+ int cntBefore = oObj.getCount();
+ oObj.add(oSh);
+ int cntAfter = oObj.getCount();
+ result = cntBefore + 1 == cntAfter ;
+
+ tRes.tested("add()", result);
+ }
+
+ /**
+ * Removes the shape added before from the collection.
+ * Number of shapes is checked before and after removing.<p>
+ * Has <b> OK </b> status if after removing number of shapes decreases by
+ * 1. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> add() </code> : a shape added. </li>
+ * </ul>
+ */
+ public void _remove () {
+ requiredMethod("add()");
+ boolean result = false;
+
+ log.println("removing the shape...");
+
+ int cntBefore = oObj.getCount();
+ oObj.remove((XShape) oShape);
+ int cntAfter = oObj.getCount();
+ result = cntBefore == cntAfter + 1;
+
+ tRes.tested("remove()", result);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java b/qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java
new file mode 100644
index 000000000000..a43eaf6f53e8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java
@@ -0,0 +1,168 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+import com.sun.star.form.XLoadable;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.form.DataAwareControlModel</code>
+* service properties :
+* <ul>
+* <li><code> DataField</code></li>
+* <li><code> BoundField</code></li>
+* <li><code> LabelControl</code></li>
+* </ul> <p>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'FL'</code> as <code>com.sun.star.form.XLoadable</code>
+* implementation : used to connect control to data source. </li>
+* <li> <code>'LC'</code> as <code>com.sun.star.uno.XInterface</code>
+* implementation : as value for LableControl property (see property
+* documentation). </li>
+* <li> <code>'DataAwareControlModel.NewFieldName'</code> :
+* <b>optional</b> <code>String</code> relation which is used
+* for new value of DataFiled proeprty.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.form.DataAwareControlModel
+*/
+public class _DataAwareControlModel extends MultiPropertyTest {
+
+ /**
+ * First checks if <code>com.sun.star.form.DataAwareControlModel</code>
+ * service is supported by the object. Then <code>load</code> method
+ * of <code>'FL'</code> relation is called to connect control model
+ * to data source. Because the property is READONLY its value is
+ * just checked to be non null. After that model is disconnected. <p>
+ * Has <b> OK </b> status if the property has non null value. <p>
+ * The following property tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> DataField </code> : to bind the control to some database
+ * field.</li>
+ * </ul>
+ */
+ public void _BoundField() {
+ requiredMethod("DataField") ;
+
+ // This property is TRANSIENT and READONLY.
+ boolean bResult = true;
+ Object gValue = null;
+
+ // get the loader to load the form
+ XLoadable loader = (XLoadable) tEnv.getObjRelation("FL");
+
+ try {
+ if (loader.isLoaded()) {
+ loader.unload() ;
+ }
+ loader.load();
+ gValue = oObj.getPropertyValue("BoundField");
+ loader.unload();
+ bResult &= gValue != null;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ bResult = false;
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ bResult = false;
+ }
+ tRes.tested("BoundField", bResult);
+ }
+
+ /**
+ * Sets the property to a Database field name, and then checks
+ * if it was properly set. If <code>'DataAwareControlModel.NewFieldName'
+ * </code> relation is not found, then new property value is
+ * 'Address'. <p>
+ * Has <b> OK </b> status if the proeprty was properly set
+ * and no exceptions were thrown. If old and new values are equal
+ * the test is OK if no exceptions occured and the value remains
+ * the same.<p>
+ */
+ public void _DataField() {
+ String relVal = (String) tEnv.getObjRelation
+ ("DataAwareControlModel.NewFieldName") ;
+ final String newVal = relVal == null ? "Address" : relVal ;
+ testProperty("DataField", new PropertyTester() {
+ protected Object getNewValue(String p, Object oldVal) {
+ return newVal ;
+ }
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue, Exception exception)
+ throws java.lang.Exception{
+
+ if (exception == null && oldValue.equals(newValue)) {
+ boolean res = true ;
+ if (newValue.equals(resValue)) {
+ log.println("Old value is equal to new value ('" +
+ oldValue + "'). Possibly no other suitable fields found.") ;
+ } else {
+ log.println("The value was '" + oldValue + "', set to the" +
+ " same value, but result is '" + resValue + "' : FAILED") ;
+ res = false ;
+ }
+
+ tRes.tested(propName, res) ;
+ } else {
+ super.checkResult(propName, oldValue, newValue,
+ resValue, exception);
+ }
+ }
+ }) ;
+ }
+
+ /**
+ * Sets the new value (<code>'LC'</code> relation if <code>null</code>
+ * was before, and <code> null </code> otherwise and then checks if
+ * the value have successfully changed. <p>
+ * Has <b>OK</b> status if the value successfully changed.
+ */
+ public void _LabelControl() {
+ final XInterface xTextLabel = (XInterface)tEnv.getObjRelation("LC");
+
+ testProperty("LabelControl", new PropertyTester() {
+ protected Object getNewValue(String p, Object oldVal) {
+ if (utils.isVoid(oldVal)) return xTextLabel ;
+ else return super.getNewValue("LabelControl",oldVal);
+ }
+ }) ;
+ }
+
+ /**
+ * Forces environment recreateation.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_FormComponent.java b/qadevOOo/tests/java/ifc/form/_FormComponent.java
new file mode 100644
index 000000000000..094edfea935e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_FormComponent.java
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.FormComponent</code>
+* service properties :
+* <ul>
+* <li><code> Name</code></li>
+* </ul>
+* @see com.sun.star.form.FormComponent
+*/
+public class _FormComponent extends MultiPropertyTest {
+
+} // finish class _FormComponent
+
diff --git a/qadevOOo/tests/java/ifc/form/_FormControlModel.java b/qadevOOo/tests/java/ifc/form/_FormControlModel.java
new file mode 100644
index 000000000000..b33b70cfd1d5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_FormControlModel.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.FormControlModel</code>
+* service properties :
+* <ul>
+* <li><code> ClassId</code></li>
+* <li><code> TabIndex</code></li>
+* <li><code> Tag</code></li>
+* </ul>
+* @see com.sun.star.form.FormControlModel
+*/
+public class _FormControlModel extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java
new file mode 100644
index 000000000000..fc7112312b44
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.form.XApproveActionBroadcaster;
+import com.sun.star.form.XApproveActionListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.form.XApproveActionBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code> addApproveActionListener() </code></li>
+* <li><code> removeApproveActionListener() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XApproveActionBroadcaster
+*/
+public class _XApproveActionBroadcaster extends MultiMethodTest {
+ public XApproveActionBroadcaster oObj = null;
+
+ /**
+ * Class we need to test methods.
+ */
+ protected class TestListener implements XApproveActionListener {
+ public boolean approve = false ;
+
+ public void init() {
+ approve = false ;
+ }
+ public void disposing(EventObject ev) {}
+ public boolean approveAction(EventObject ev) {
+ log.println("XApproveActionListener: ActionListener was called");
+ return approve ;
+ }
+
+ }
+
+ private TestListener listener = new TestListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _addApproveActionListener() {
+ oObj.addApproveActionListener(listener) ;
+ tRes.tested("addApproveActionListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addApproveActionListener() </code> : adds listener to an
+ * object </li>
+ * </ul>
+ */
+ public void _removeApproveActionListener() {
+ requiredMethod("addApproveActionListener()");
+ listener.init() ;
+ listener.approve = true ;
+ oObj.removeApproveActionListener(listener);
+ tRes.tested("removeApproveActionListener()", true);
+ }
+
+
+ /**
+ * Just log output
+ */
+ protected void after() {
+ log.println("Skipping all XApproveActionBroadcaster methods, since they"
+ + " need user interaction");
+ throw new StatusException(Status.skipped(true));
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XBoundComponent.java b/qadevOOo/tests/java/ifc/form/_XBoundComponent.java
new file mode 100644
index 000000000000..a95dd18649a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XBoundComponent.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XBoundComponent;
+
+/**
+* Testing <code>com.sun.star.form.XBoundComponent</code>
+* interface methods :
+* <ul>
+* <li><code> commit()</code></li>
+* </ul> <p>
+* More deep tests of this interface are made in
+* <code>com.sun.star.form.XUpdateBroadcaster</code> interface
+* test as it is the ancestor of <code>XBoundComponent</code>
+* interface.
+* @see com.sun.star.form.XBoundComponent
+*/
+public class _XBoundComponent extends MultiMethodTest {
+
+ public XBoundComponent oObj = null;
+
+ public void _commit() {
+ oObj.commit() ;
+
+ tRes.tested("commit()",true);
+ }
+
+} //EOF of XBoundComponent
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XBoundControl.java b/qadevOOo/tests/java/ifc/form/_XBoundControl.java
new file mode 100644
index 000000000000..0015c812ff3b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XBoundControl.java
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XBoundControl;
+
+/**
+* Testing <code>com.sun.star.form.XBoundControl</code>
+* interface methods:
+* <ul>
+* <li><code> getLock() </code></li>
+* <li><code> setLock() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XBoundControl
+*/
+public class _XBoundControl extends MultiMethodTest {
+ public XBoundControl oObj = null;
+ public boolean defaultState = false;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _getLock() {
+ boolean res = false;
+ defaultState = oObj.getLock();
+ res = true;
+ tRes.tested("getLock()",res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if method locks input (set and gotten values are
+ * equal). <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLock() </code>: determines whether the input is
+ * currently locked or not </li>
+ * </ul>
+ */
+ public void _setLock() {
+ boolean res = false;
+ boolean toSet = !defaultState;
+
+ requiredMethod("getLock()");
+ oObj.setLock(toSet);
+ res = (oObj.getLock() != defaultState);
+ oObj.setLock(defaultState);
+ tRes.tested("setLock()", res);
+ }
+
+} //EOF of XBoundControl
+
diff --git a/qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java
new file mode 100644
index 000000000000..e4ad44e55185
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XWindow;
+import com.sun.star.form.XChangeBroadcaster;
+import com.sun.star.form.XChangeListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.form.XChangeBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code> addChangeListener() </code></li>
+* <li><code> removeChangeListener() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Win1'</code> (of type <code>XWindow</code>):
+* used to change context when testing interface methods</li>
+* <li> <code>'Win2'</code> (of type <code>XWindow</code>):
+* used to change context when testing interface methods </li>
+* <li> <code>'CONTROL'</code> (of type <code>XControl</code> and
+* must implement <code>XTextComponent</code> interface):
+* used to change context when testing interface methods </li>
+* <li> <code>'XChangeBroadcaster.Changer'</code>
+* (of type <code>ifc.form._XChangeBroadcaster.Changer</code>)
+* <b>optional</b> : this relation <b>must be specified</b> when
+* <code>XTextComponent</code> is not supported by the tested
+* component. It is used to change some component content
+* which must cause listener call. </li>
+* </ul> <p>
+*
+* <b>Prerequisites:</b> component must implement <code>XTextComponent</code>
+* interface for changing component's text which must cause listener call.
+* If the component cann't support the interface, then the relation
+* <code>'XChangeBroadcaster.Changer'</code> must be passed. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XChangeBroadcaster
+*/
+public class _XChangeBroadcaster extends MultiMethodTest {
+ public static XChangeBroadcaster oObj = null;
+ protected boolean changed = false;
+
+ /**
+ * This interface must be implemented by component and passed
+ * in relation if it doesn't support <code>XTextComponent</code>
+ * interface. It used to change the content of component.
+ */
+ public static interface Changer {
+ /**
+ * The method must change the component's content to
+ * cause a listener call.
+ */
+ public void change() ;
+ }
+
+ /**
+ * Class we need to test methods
+ */
+ protected class MyChangeListener implements XChangeListener {
+ public void disposing ( EventObject oEvent ) {}
+ public void changed ( EventObject oEvent ) {
+ System.out.println("Listener called");
+ changed = true;
+ }
+ }
+
+ protected XChangeListener listener = new MyChangeListener();
+ protected XTextComponent xText = null ;
+ protected Changer changer = null ;
+
+ /**
+ * Tries to query the tested component for <code>XTextComponent</code>
+ * interface and retrieves a relation
+ * <code>'XChangeBroadcaster.Changer'</code>.
+ * @throw StatusException If neither relation is found nor interface
+ * is queried.
+ */
+ public void before() {
+ xText = (XTextComponent)
+ UnoRuntime.queryInterface(XTextComponent.class,oObj);
+ changer = (Changer) tEnv.getObjRelation("XChangeBroadcaster.Changer") ;
+
+ if (xText == null && changer == null)
+ throw new StatusException(Status.failed
+ ("Neither 'XChangeBroadcaster.Changer' relation found " +
+ "nor XTextComponent is supported")) ;
+ }
+
+ /**
+ * Test calls the method, then object relations 'Win1', 'Win2', 'CONTROL'
+ * are obtained, and context is changed.<p>
+ * Has <b> OK </b> status if listener was called after context has changed.
+ */
+ public void _addChangeListener() {
+ log.println("Testing addChangeListener ...");
+ oObj.addChangeListener( listener );
+ XWindow win1 = (XWindow) tEnv.getObjRelation("Win1");
+ XWindow win2 = (XWindow) tEnv.getObjRelation("Win2");
+ win1.setFocus();
+
+ changeContent() ;
+ shortWait();
+
+ win2.setFocus();
+ XTextComponent TC = (XTextComponent)UnoRuntime.queryInterface
+ (XTextComponent.class,tEnv.getObjRelation("CONTROL"));
+ TC.setText("NOXChangeBroadcaster");
+ shortWait();
+ tRes.tested("addChangeListener()", changed);
+ }
+
+ /**
+ * Test calls the method, then object relations 'Win1', 'Win2', 'CONTROL'
+ * are obtained, and context is changed.<p>
+ * Has <b> OK </b> status if listener was not called after context has
+ * changed.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addChangeListener() </code> : adds the specified listener
+ * to receive the "changed" event</li>
+ * </ul>
+ */
+ public void _removeChangeListener() {
+ requiredMethod("addChangeListener()");
+ changed = false;
+ log.println("Testing removeChangeListener ...");
+ oObj.addChangeListener( listener );
+ XWindow win2 = (XWindow) tEnv.getObjRelation("Win2");
+ win2.setFocus();
+
+ changeContent() ;
+
+ win2.setFocus();
+ shortWait();
+ tRes.tested("removeChangeListener()", !changed);
+ }
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+ /**
+ * Changes the content of the component depending on whether
+ * <code>XTextComponent</code> is supported or not. If yes
+ * then the text is chahged, if not the relation <code>change()</code>
+ * method is used.
+ */
+ protected void changeContent() {
+ if (xText != null) {
+ xText.setText("XChangeBroadcaster".equals(xText.getText()) ?
+ "NoXChangeBroadcaster" : "XChangeBroadcaster") ;
+ } else {
+ changer.change();
+ }
+ }
+
+} // finished class _XChangeBroadcaster
+
diff --git a/qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java
new file mode 100644
index 000000000000..89359e331157
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import com.sun.star.form.XConfirmDeleteBroadcaster;
+import com.sun.star.form.XConfirmDeleteListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.sdb.RowChangeEvent;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.util.XConfirmDeleteBroadcaster</code>
+* interface methods :
+* <ul>
+* <li><code>addConfirmDeleteListener()</code></li>
+* <li><code>removeConfirmDeleteListener()</code></li>
+* </ul> <p>
+*
+* Result checking is not performed. Confirm delete
+* listeners are called only in case of
+* interaction with UI. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.util.XConfirmDeleteBroadcaster
+*/
+public class _XConfirmDeleteBroadcaster extends MultiMethodTest {
+ public XConfirmDeleteBroadcaster oObj = null;
+ protected boolean confirmed = false;
+ protected XConfirmDeleteListener mxConfirmDeleteListener =
+ new ConfirmDeleteImpl();
+
+ private class ConfirmDeleteImpl implements XConfirmDeleteListener {
+ public boolean confirmDelete(RowChangeEvent rowChangeEvent) {
+ confirmed = true;
+ return true;
+ }
+ public void disposing(EventObject eventObject) {
+ }
+ }
+
+ protected void addConfirmDeleteListener() {
+ oObj.addConfirmDeleteListener(mxConfirmDeleteListener);
+ tRes.tested("addConfirmDeleteListener()", true);
+ }
+
+ protected void removeConfirmDeleteListener() {
+ oObj.removeConfirmDeleteListener(mxConfirmDeleteListener);
+ tRes.tested("removeConfirmDeleteListener()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java
new file mode 100755
index 000000000000..c7c9e69bea38
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import com.sun.star.form.XDatabaseParameterBroadcaster;
+import com.sun.star.form.XDatabaseParameterListener;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.uno.UnoRuntime;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XDatabaseParameterBroadcaster extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XDatabaseParameterBroadcaster oObj = null ;
+ private CheckParameterListener listenerChecker = null;
+
+ /**
+ * Interface to implement so the call of the listener can be checked.
+ */
+ public static interface CheckParameterListener extends XDatabaseParameterListener {
+ /**
+ * Set a log of the listener, so messages of the listener get printed
+ * into the file of the interface
+ */
+ public void setLog(PrintWriter log);
+ /**
+ * Return True, when the listener was called correctly.
+ */
+ public boolean checkListener();
+ }
+
+ /**
+ * Get the object relation 'ParameterListenerChecker' and
+ * set the log inside of the implementation.
+ */
+ protected void before() {
+ listenerChecker = (CheckParameterListener)
+ tEnv.getObjRelation("ParameterListenerChecker");
+ listenerChecker.setLog((PrintWriter)log);
+ }
+
+ /**
+ */
+ public void _addParameterListener() {
+ oObj.addParameterListener(listenerChecker);
+ tRes.tested("addParameterListener()", true);
+ }
+
+ /**
+ */
+ public void _removeParameterListener() {
+ requiredMethod("addParameterListener()");
+
+ // trigger the action.
+ try {
+ XRowSet xRowSet = (XRowSet)UnoRuntime.queryInterface(XRowSet.class, oObj);
+ xRowSet.execute();
+ }
+ catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Exception in XDatabaseParameterBroadcaster test.");
+ log.println("This does not let the test fail, but should be inquired.");
+ e.printStackTrace((PrintWriter)log);
+ }
+ // was the listener called?
+ oObj.removeParameterListener(listenerChecker);
+ tRes.tested("removeParameterListener()", listenerChecker.checkListener());
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XFormController.java b/qadevOOo/tests/java/ifc/form/_XFormController.java
new file mode 100644
index 000000000000..1fa0c93f868b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XFormController.java
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XWindow;
+import com.sun.star.form.XFormController;
+import com.sun.star.form.XFormControllerListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.form.XFormController</code>
+* interface methods :
+* <ul>
+* <li><code> getCurrentControl()</code></li>
+* <li><code> addActivateListener()</code></li>
+* <li><code> removeActivateListener()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'otherWindow'</code>
+* (of type <code>com.sun.star.awt.XWindow</code>):
+* The another window is used to activate it, causing deactivating
+* of the component tested. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XFormController
+*/
+public class _XFormController extends MultiMethodTest {
+
+ public static XFormController oObj = null;
+ XWindow otherWind = null;
+
+ /**
+ * Listener which determines and stores events occured.
+ */
+ protected class MyListener implements XFormControllerListener {
+ public boolean activated = false ;
+ public boolean deactivated = false ;
+ public void disposing ( EventObject oEvent ) {}
+
+ public void init() {
+ activated = false;
+ deactivated = false;
+ }
+
+ public void formActivated(EventObject ev) {
+ activated = true ;
+ }
+
+ public void formDeactivated(EventObject ev) {
+ deactivated = true ;
+ }
+ }
+
+ MyListener listener = new MyListener() ;
+
+ /**
+ * Adds a listener, then switches focus between two windows.
+ * The current controller must be deactivated and activated.<p>
+ *
+ * Has <b> OK </b> status if listener <code>deactivate</code>
+ * and <code>activate</code> methods was called. <p>
+ */
+ public void _addActivateListener() {
+ requiredMethod("getCurrentControl()");
+ oObj.addActivateListener(listener) ;
+
+ XWindow wind = (XWindow)UnoRuntime.queryInterface(XWindow.class, cntrl);
+ wind.setFocus();
+ shortWait();
+ XWindow otherWind = (XWindow)tEnv.getObjRelation("otherWindow");
+ otherWind.setFocus();
+ shortWait();
+ log.println("activated = " + listener.activated +
+ ", deactivated = " + listener.deactivated) ;
+
+ tRes.tested("addActivateListener()",
+ listener.deactivated && listener.activated) ;
+ }
+
+ /**
+ * Removes the litener added before, then switches focus between two windows.
+ *
+ * Has <b> OK </b> status if no listener methods were called. <p>
+ */
+ public void _removeActivateListener() {
+ requiredMethod("addActivateListener()") ;
+
+ oObj.removeActivateListener(listener);
+ log.println("ActiveListener removed");
+ listener.init();
+
+ XWindow wind = (XWindow)UnoRuntime.queryInterface(XWindow.class, cntrl);
+ wind.setFocus();
+ shortWait();
+ XWindow otherWind = (XWindow)tEnv.getObjRelation("otherWindow");
+ otherWind.setFocus();
+ shortWait();
+ log.println("activated = " + listener.activated +
+ ", deactivated = " + listener.deactivated) ;
+
+ tRes.tested("removeActivateListener()",
+ !listener.activated && !listener.deactivated);
+ }
+
+ XControl cntrl;
+
+ /**
+ * Retrieves current control and searches for it among child controls.
+ *
+ * Has <b>OK</b> status if the current control was found among component
+ * children.
+ */
+ public void _getCurrentControl() {
+ cntrl = oObj.getCurrentControl();
+ XControl[] children = oObj.getControls() ;
+
+ boolean res = false;
+ for(int i = 0; i < children.length; i++) {
+ if (children[i].equals(cntrl)) {
+ log.println("Current control is equal to the object control" +
+ " #" + i + ":");
+ log.println(cntrl);
+ res = true;
+ break;
+ }
+ }
+
+ tRes.tested("getCurrentControl()", res) ;
+ }
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XFormsSupplier.java b/qadevOOo/tests/java/ifc/form/_XFormsSupplier.java
new file mode 100644
index 000000000000..1a8083413d6e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XFormsSupplier.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import com.sun.star.container.XNameContainer;
+
+public class _XFormsSupplier extends lib.MultiMethodTest {
+
+ public com.sun.star.form.XFormsSupplier oObj = null;
+
+ public void _getForms() {
+ XNameContainer forms = oObj.getForms();
+ if (!forms.hasElements()) {
+ log.println("NameContainer doesn't contain forms");
+ }
+ tRes.tested("getForms()",forms.hasElements());
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XGrid.java b/qadevOOo/tests/java/ifc/form/_XGrid.java
new file mode 100644
index 000000000000..92b7332ef74a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XGrid.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XGrid;
+
+/**
+* Testing <code>com.sun.star.form.XGrid</code>
+* interface methods :
+* <ul>
+* <li><code> getCurrentColumnPosition()</code></li>
+* <li><code> setCurrentColumnPosition(short nPos)</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XGrid
+*/
+public class _XGrid extends MultiMethodTest {
+ public XGrid oObj = null;
+ public short positionValue;
+
+ /**
+ * The method called. Then CurrentColumnPosition is obtained and
+ * compared with previously changed value.
+ * Has <b> OK </b> status if the method successfully returns
+ * and the returned value is correct.
+ */
+ public void _getCurrentColumnPosition() {
+ boolean result;
+
+ requiredMethod("setCurrentColumnPosition()");
+ log.println("Testing getCurrentColumnPosition()...");
+ if (oObj.getCurrentColumnPosition() == positionValue) {
+ result = true;
+ } else {
+ result = false;
+ }
+ tRes.tested("getCurrentColumnPosition()", result);
+ }
+
+ /**
+ * The method called. Then CurrentColumnPosition is obtained, changed
+ * and saved.
+ * Has <b> OK </b> status if no exceptions was occured.
+ */
+ public void _setCurrentColumnPosition() {
+ log.println("Testing setCurrentColumnPosition()...");
+ if (oObj.getCurrentColumnPosition() != 0) {
+ positionValue = 0;
+ } else {
+ positionValue = 1;
+ }
+ oObj.setCurrentColumnPosition(positionValue);
+ tRes.tested("setCurrentColumnPosition()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java b/qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java
new file mode 100644
index 000000000000..4128b26847d2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XGridColumnFactory;
+
+
+/**
+* Testing <code>com.sun.star.form.XGridColumnFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createColumn()</code></li>
+* <li><code> getColumnTypes()</code></li>
+* </ul>
+* Test is multithread compilant. <p>
+* @see com.sun.star.form.XGridColumnFactory
+*/
+public class _XGridColumnFactory extends MultiMethodTest {
+
+ public XGridColumnFactory oObj = null;
+
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns
+ * non null value.
+ */
+ public void _getColumnTypes() {
+
+ String[] types = oObj.getColumnTypes();
+ tRes.tested("getColumnTypes()",types!=null);
+ }
+
+ /**
+ * Creates column of type 'TextField'. <p>
+ * Has <b>OK</b> status if non null value returned.
+ */
+ public void _createColumn() {
+
+ try {
+ XPropertySet column = oObj.createColumn("TextField");
+ tRes.tested("createColumn()",column!=null);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while creating Column");
+ tRes.tested("createColumn()",false);
+ }
+ }
+} // finish class _XGridColumnFactory
+
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java b/qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java
new file mode 100644
index 000000000000..c3968a7e21ab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XGridFieldDataSupplier;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.form.XGridFieldDataSupplier</code>
+* interface methods :
+* <ul>
+* <li><code>queryFieldDataType()</code></li>
+* <li><code>queryFieldData()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XGridFieldDataSupplier
+*/
+public class _XGridFieldDataSupplier extends MultiMethodTest {
+ public XGridFieldDataSupplier oObj = null;
+
+ /**
+ * Calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is not null.
+ */
+ public void _queryFieldDataType() {
+ boolean[] dataType = oObj.queryFieldDataType(new Type(String.class));
+ tRes.tested("queryFieldDataType()", dataType != null);
+ }
+
+ /**
+ * Calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is not null.
+ */
+ public void _queryFieldData() {
+ Object[] data = oObj.queryFieldData(0, new Type(String.class));
+ tRes.tested("queryFieldData()", data != null);
+ }
+}// finish class _XGridFieldDataSupplier
+
diff --git a/qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java b/qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java
new file mode 100644
index 000000000000..63495f353872
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XImageProducer;
+import com.sun.star.form.XImageProducerSupplier;
+
+/**
+* Testing <code>com.sun.star.form.XImageProducerSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getImageProducer()</code></li>
+* </ul>
+* @see com.sun.star.form.XImageProducerSupplier
+*/
+public class _XImageProducerSupplier extends MultiMethodTest {
+
+ public XImageProducerSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns non null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getImageProducer() {
+ boolean bResult = false;
+ XImageProducer ip = oObj.getImageProducer();
+ bResult = ip!=null;
+ tRes.tested("getImageProducer()", bResult);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XLoadListener.java b/qadevOOo/tests/java/ifc/form/_XLoadListener.java
new file mode 100644
index 000000000000..fffc9c1178db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XLoadListener.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XLoadListener;
+
+/**
+* Testing <code>com.sun.star.form.XLoadListener</code>
+* interface methods :
+* <ul>
+* <li><code> loaded()</code></li>
+* <li><code> unloading()</code></li>
+* <li><code> unloaded()</code></li>
+* <li><code> reloading()</code></li>
+* <li><code> reloaded()</code></li>
+* </ul> <p>
+* This interface methods are not testable, because their
+* behaviour is not documented.
+* @see com.sun.star.form.XLoadListener
+*/
+public class _XLoadListener extends MultiMethodTest {
+
+ public XLoadListener oObj = null;
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _loaded() {
+ log.println("nothing to test here");
+ tRes.tested("loaded()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _reloaded() {
+ log.println("nothing to test here");
+ tRes.tested("reloaded()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _reloading() {
+ log.println("nothing to test here");
+ tRes.tested("reloading()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _unloaded() {
+ log.println("nothing to test here");
+ tRes.tested("unloaded()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _unloading() {
+ log.println("nothing to test here");
+ tRes.tested("unloading()",true);
+ }
+
+} //EOF of XLoadListener
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XLoadable.java b/qadevOOo/tests/java/ifc/form/_XLoadable.java
new file mode 100644
index 000000000000..347a3b7dc870
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XLoadable.java
@@ -0,0 +1,247 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XLoadable;
+
+/**
+* Testing <code>com.sun.star.form.XLoadable</code>
+* interface methods :
+* <ul>
+* <li><code> load()</code></li>
+* <li><code> unload()</code></li>
+* <li><code> reload()</code></li>
+* <li><code> isLoaded()</code></li>
+* <li><code> addLoadListener()</code></li>
+* <li><code> removeLoadListener()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XLoadable
+*/
+public class _XLoadable extends MultiMethodTest {
+
+ public XLoadable oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestLoadListener implements com.sun.star.form.XLoadListener {
+ public boolean disposingCalled = false ;
+ public boolean loadedCalled = false ;
+ public boolean reloadedCalled = false ;
+ public boolean reloadingCalled = false ;
+ public boolean unloadedCalled = false ;
+ public boolean unloadingCalled = false ;
+ private java.io.PrintWriter log = null ;
+
+ public TestLoadListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ log.println(" disposing was called.") ;
+ }
+
+ public void loaded(com.sun.star.lang.EventObject e) {
+ loadedCalled = true ;
+ log.println(" loaded was called.") ;
+ }
+
+ public void reloaded(com.sun.star.lang.EventObject e) {
+ reloadedCalled = true ;
+ log.println(" reloaded was called.") ;
+ }
+
+ public void reloading(com.sun.star.lang.EventObject e) {
+ reloadingCalled = true ;
+ log.println(" reloading was called.") ;
+ }
+
+ public void unloaded(com.sun.star.lang.EventObject e) {
+ unloadedCalled = true ;
+ log.println(" unloaded was called.") ;
+ }
+
+ public void unloading(com.sun.star.lang.EventObject e) {
+ unloadingCalled = true ;
+ log.println(" unloading was called.") ;
+ }
+ }
+
+ TestLoadListener loadListener = null ;
+
+ /**
+ * Creates new listener.
+ */
+ public void before() {
+ loadListener = new TestLoadListener(log) ;
+ }
+
+ /**
+ * Waits for 0.1 second. Used to get time for load completion.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {}
+ }
+
+ /**
+ * Loads the form. <p>
+ * Has <b> OK </b> status if <code>isLoaded()</code> returns
+ * <code>true</code> and listener method <code>loaded()</code>
+ * is called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isLoaded() </code> : to be sure form is not loaded </li>
+ * <li> <code> addLoadListener() </code> : to check if this listener method
+ * is called. </li>
+ * </ul>
+ */
+ public void _load() {
+ requiredMethod("isLoaded()") ;
+ requiredMethod("addLoadListener()") ;
+
+ boolean result = true ;
+ oObj.load() ;
+
+ shortWait() ;
+ result = oObj.isLoaded() && loadListener.loadedCalled ;
+
+ tRes.tested("load()", result) ;
+ }
+
+ /**
+ * Unloads the form. <p>
+ * Has <b> OK </b> status if <code>isLoaded()</code> returns
+ * <code>false</code> and listener method <code>unloaded()</code>
+ * is called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> reload() </code> : to be sure the form is loaded </li>
+ * <li> <code> addLoadListener() </code> : to check if this listener method
+ * is called. </li>
+ * </ul>
+ */
+ public void _unload() {
+ requiredMethod("reload()") ;
+ requiredMethod("addLoadListener()") ;
+
+ boolean result = true ;
+ oObj.unload() ;
+
+ shortWait() ;
+ result = !oObj.isLoaded() && loadListener.unloadedCalled ;
+
+ tRes.tested("unload()", result) ;
+ }
+
+ /**
+ * Reloads the form. <p>
+ * Has <b> OK </b> status if <code>isLoaded()</code> returns
+ * <code>true</code> and listener method <code>reloaded()</code>
+ * is called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> load() </code> : to be sure form is loaded </li>
+ * <li> <code> addLoadListener() </code> : to check if this listener method
+ * is called. </li>
+ * </ul>
+ */
+ public void _reload() {
+ requiredMethod("load()") ;
+ requiredMethod("addLoadListener()") ;
+
+ boolean result = true ;
+ oObj.reload() ;
+
+ shortWait() ;
+ result = oObj.isLoaded() && loadListener.reloadedCalled;
+
+ tRes.tested("reload()", result) ;
+ }
+
+ /**
+ * Checks if the component is already loaded. If yes it unloads
+ * it <p>
+ * Has <b> OK </b> status if finally <code>isLoaded()</code> method
+ * returns <code>false</code>.
+ */
+ public void _isLoaded() {
+
+ boolean isLoaded = oObj.isLoaded() ;
+ if (isLoaded) oObj.unload();
+ isLoaded = oObj.isLoaded() ;
+
+ tRes.tested("isLoaded()", !isLoaded) ;
+ }
+
+ /**
+ * Adds a listener. If its methods are called or not is checked
+ * in other object methods. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _addLoadListener() {
+
+ boolean result = true ;
+ oObj.addLoadListener(loadListener) ;
+
+ tRes.tested("addLoadListener()", result) ;
+ }
+
+ /**
+ * Removes the listener added before. <p>
+ * Has <b> OK </b> status if after <code>load()</code> call no
+ * listener methods were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> unload() </code> : to make this test run finally.</li>
+ * </ul>
+ */
+ public void _removeLoadListener() {
+ requiredMethod("unload()") ;
+
+ boolean result = true ;
+ oObj.removeLoadListener(loadListener) ;
+ loadListener.loadedCalled = false ;
+ oObj.load();
+
+ result = ! loadListener.loadedCalled ;
+
+ tRes.tested("removeLoadListener()", result) ;
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XReset.java b/qadevOOo/tests/java/ifc/form/_XReset.java
new file mode 100644
index 000000000000..324df29e9976
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XReset.java
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XReset;
+import com.sun.star.form.XResetListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.form.XReset</code>
+* interface methods :
+* <ul>
+* <li><code> reset()</code></li>
+* <li><code> addResetListener()</code></li>
+* <li><code> removeResetListener()</code></li>
+* </ul>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XReset
+*/
+public class _XReset extends MultiMethodTest {
+
+ public static XReset oObj = null;
+
+ /**
+ * Indicates if listeners must approve restes requests or not.
+ */
+ protected boolean approve = true;
+ /**
+ * Array of two elements, each of them indicates <code>resetted</code>
+ * call of appropriate listener.
+ */
+ protected boolean resetted[] = new boolean[2];
+ /**
+ * Array of two elements, each of them indicates
+ * <code>approveReset</code> call of appropriate listener.
+ */
+ protected boolean approveReset[] = new boolean[2];
+
+ /**
+ * The listener which sets flags (in array elements with index 0)
+ * on <code>resetted</code> and
+ * <code>approveReset</code> events. It approves reset request
+ * depending on <code>approve</code> field.
+ */
+ protected class MyResetListener implements XResetListener {
+ public void disposing ( EventObject oEvent ) {}
+ public boolean approveReset ( EventObject oEvent ) {
+ approveReset[0] = true;
+ //cancel the reset action
+ return approve;
+ }
+ public void resetted ( EventObject oEvent ) {
+ resetted[0] = true;
+ }
+ }
+
+
+ /**
+ * The listener which sets flags (in array elements with index 1)
+ * on <code>resetted</code> and
+ * <code>approveReset</code> events. It approves reset request
+ * depending on <code>approve</code> field.
+ */
+ protected class MyResetListener2 implements XResetListener {
+ public void disposing ( EventObject oEvent ) {}
+ public boolean approveReset ( EventObject oEvent ) {
+ approveReset[1] = true;
+ //don't cancel the reset action
+ return true;
+ }
+ public void resetted ( EventObject oEvent ) {
+ resetted[1] = true;
+ }
+ }
+
+ /**
+ * Listener which is added in test
+ */
+ protected XResetListener listener1 = new MyResetListener();
+ /**
+ * Listener which is added in test
+ */
+ protected XResetListener listener2 = new MyResetListener2();
+
+ /**
+ * Just adds two reset listeners. <p>
+ * Status for it is set later in <code>reset</code> method test.
+ */
+ public void _addResetListener() {
+
+ log.println("Testing addResetListener ...");
+ oObj.addResetListener( listener2 );
+ oObj.addResetListener( listener1 );
+
+ } // finished _addResetListener()
+
+ /**
+ * First calls <code>reset</code> method without approving
+ * the request, in this case only <code>approveReset</code>
+ * event must be called. Second calls <code>reset</code> with
+ * approving the request. In this case both listener's events
+ * must be called. <p>
+ * Has <b>OK</b> status for <code>reset</code> method if in
+ * the first case only <code>approveReset</code> method was
+ * called. <p>
+ * Has <b>OK</b> status for <code>addResetListener</code> method
+ * if in the second case both listener's methods were called.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addResetListener </code> : to have listeners added.</li>
+ * </ul>
+ */
+ public void _reset() {
+
+ executeMethod("addResetListener()");
+ log.println("Testing reset() ...");
+ approve = false;
+ oObj.reset();
+ shortWait();
+ tRes.tested("reset()", (approveReset[0] && (! resetted[0])));
+ approve = true;
+ oObj.reset();
+ shortWait();
+ tRes.tested("addResetListener()", (approveReset[1] && resetted[1]));
+
+ } // finished _reset
+
+ /**
+ * Removes the first listener, clears it's call flags, and
+ * calls <code>reset</code> method.<p>
+ * Has <b> OK </b> status if no methods of the listener removed
+ * were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> reset </code> : to test this method last. </li>
+ * </ul>
+ */
+ public void _removeResetListener() {
+ requiredMethod("reset()");
+ log.println("Testing removeResetListener ...");
+ approveReset[0] = resetted[0] = false;
+ oObj.removeResetListener(listener1);
+ oObj.reset();
+ shortWait();
+ tRes.tested("removeResetListener()", !approveReset[0] && !resetted[0]);
+ //removing the second listener here may avoid crashing the office
+
+ return;
+
+ } // finished _removeResetListener()
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+
+} // finished class _XRefresh
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XSubmit.java b/qadevOOo/tests/java/ifc/form/_XSubmit.java
new file mode 100644
index 000000000000..0a7fd40f6e0c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XSubmit.java
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.MouseEvent;
+import com.sun.star.awt.XControl;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XSubmit;
+import com.sun.star.form.XSubmitListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.form.XSubmit</code>
+* interface methods :
+* <ul>
+* <li><code> submit()</code></li>
+* <li><code> addSubmitListener()</code></li>
+* <li><code> removeSubmitListener()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XSubmit.Control'</code> <b>optional</b>
+* (of type <code>com.sun.star.awt.XControl</code>):
+* is used to pass as parameters to <code>submit</code>
+* method. <code>null</code> is passed if the relation
+* is not found.</li>
+* <ul> <p>
+*
+* Other <b> prerequicity </b> is the object must have
+* <code>TargetURL</code> property. <p>
+*
+* Short description : test adds two listeners, call
+* <code> submit </code> method and cecks if both listeners
+* were called. Then one listener is removed and after
+* <code> submit </code> method call it must not be called. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XSubmit
+*/
+public class _XSubmit extends MultiMethodTest {
+
+ public static XSubmit oObj = null;
+
+ public class MySubmitListener implements XSubmitListener {
+ public int called = 0 ;
+ public void disposing ( EventObject oEvent ) {
+ }
+ public boolean approveSubmit( EventObject oEvent ) {
+ called += 1;
+ System.out.println("Listener called");
+ return true;
+ }
+ }
+
+
+ MySubmitListener listener1 = new MySubmitListener();
+ MySubmitListener listener2 = new MySubmitListener();
+
+ /**
+ * Just adds two submit listeners. <p>
+ * Status of this method test is defined in <code>
+ * submit </code> method test.
+ */
+ public void _addSubmitListener() {
+ log.println("Testing addSubmitListener ...");
+ oObj.addSubmitListener( listener1 );
+ oObj.addSubmitListener( listener2 );
+ }
+
+ /**
+ * Before submision tries to set 'TargetURL' property
+ * of component to some value assuming that component
+ * supports <code>com.sun.star.form.HTMLForm</code>
+ * service.
+ * Then calls the <code> submit </code> method and checks
+ * if listener removed were not called, and other was
+ * called only once.<p>
+ *
+ * Has <b> OK </b> status for <code>submit</code> if
+ * listener was called at least ones, for
+ * <code>addSubmitListener</code> method if the remaining
+ * listener was called only once, for
+ * <code>removeSubmitListener</code> method if the removed
+ * listener was not called. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> removeSubmitListener </code> : to have one listener
+ * added and other removed.</li>
+ * </ul>
+ */
+ public void _submit() {
+ executeMethod("removeSubmitListener()");
+ log.println("Testing submit() ...");
+ XControl cntrl = (XControl) tEnv.getObjRelation("XSubmit.Control") ;
+
+ XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oObj) ;
+
+ if (xPS != null) {
+ try {
+ xPS.setPropertyValue("TargetURL", "someserver");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ }
+ } else {
+ log.println("!!! The tested compoennt doesn't support XPropertySet ");
+ }
+
+ oObj.submit(cntrl, new MouseEvent());
+ shortWait();
+
+ log.println("Listener1 called " + listener1.called + " times");
+ log.println("Listener2 called " + listener2.called + " times");
+
+ tRes.tested("addSubmitListener()", listener2.called == 1);
+ tRes.tested("removeSubmitListener()", listener1.called == 0);
+ tRes.tested("submit()", listener2.called > 0);
+ oObj.removeSubmitListener(listener2);
+ }
+
+ /**
+ * Just removes one of submit listeners. <p>
+ * Status of this method test is defined in <code>
+ * submit </code> method test.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> removeSubmitListener </code> : to have listeners added</li>
+ * </ul>
+ */
+ public void _removeSubmitListener() {
+ requiredMethod("addSubmitListener()");
+ oObj.removeSubmitListener(listener1);
+ }
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(200) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java
new file mode 100644
index 000000000000..4a527a5d98f1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java
@@ -0,0 +1,248 @@
+/*************************************************************************
+ *
+ * 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.form;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.form.XUpdateBroadcaster;
+import com.sun.star.form.XUpdateListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.form.XUpdateBroadcaster</code>
+* interface methods :
+* <ul>
+* <li><code> addUpdateListener()</code></li>
+* <li><code> removeUpdateListener()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XUpdateBroadcaster.Checker'</code> : <code>
+* _XUpdateBroadcaster.UpdateChecker</code> interface implementation
+* which can update, commit data and check if the data was successfully
+* commited.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.form.XUpdateBroadcaster
+*/
+public class _XUpdateBroadcaster extends MultiMethodTest {
+
+ public XUpdateBroadcaster oObj = null;
+ UpdateChecker checker = null ;
+
+ /**
+ * Interface for relation. Updating, commiting and checking
+ * if data was commited is object dependent behaviour.
+ */
+ public static interface UpdateChecker {
+ /**
+ * Method must make some data update in the object tested.
+ */
+ public void update() throws com.sun.star.uno.Exception ;
+ /**
+ * Method must commit data change made by method <code>update</code>.
+ */
+ public void commit() throws com.sun.star.uno.Exception ;
+ /**
+ * Checks if the data commited by <code>commit</code> method
+ * became permanent in data source.
+ * @return <code>true</code> if data was commited.
+ */
+ public boolean wasCommited() throws com.sun.star.uno.Exception ;
+ }
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ checker = (UpdateChecker)
+ tEnv.getObjRelation("XUpdateBroadcaster.Checker") ;
+ if (checker == null) {
+ log.println("Relation not found") ;
+ throw new StatusException("Relation not found",
+ new NullPointerException("Relation not found")) ;
+ }
+ }
+
+ /**
+ * Listener implementation, which can accept or reject update
+ * requests and store event calls.
+ */
+ protected class TestListener implements XUpdateListener {
+ /**
+ * Indicates must listener approve update requests or not.
+ */
+ public boolean approve = false ;
+ /**
+ * Indicates that <code>approveUpdate</code> method was called.
+ */
+ public boolean approveCalled = false ;
+ /**
+ * Indicates that <code>updated</code> method was called.
+ */
+ public boolean updateCalled = false ;
+
+ /**
+ * Clears all flags.
+ */
+ public void init() {
+ approveCalled = false ;
+ updateCalled = false ;
+ }
+ public void disposing(EventObject ev) {}
+ public boolean approveUpdate(EventObject ev) {
+ approveCalled = true ;
+ return approve ;
+ }
+ public void updated(EventObject ev) {
+ updateCalled = true ;
+ }
+ }
+
+ private TestListener listener = new TestListener();
+
+ /**
+ * The listener methods calls are checked twice with approving
+ * and rejecting updates. <p>
+ * Has <b>OK</b> status if on update rejected only <code>
+ * approveUpdate</code> listener method was called, and if
+ * on update approved <code>approveUpdate</code> and
+ * <code>updated</code> methods called, and data was commited
+ * to the source.
+ */
+ public void _addUpdateListener() {
+ boolean bResult = true;
+
+ oObj.addUpdateListener(listener) ;
+
+ try {
+ checker.update() ;
+ shortWait() ;
+ checker.commit() ;
+ shortWait() ;
+ boolean commited = checker.wasCommited() ;
+
+ shortWait() ;
+
+ bResult = listener.approveCalled &&
+ ! listener.updateCalled &&
+ ! commited ;
+
+ log.println("Calling with no approving : approveUpdate() was " +
+ (listener.approveCalled ? "":"NOT")+" called, updated() was "+
+ (listener.updateCalled ? "":"NOT")+" called, the value was " +
+ (commited ? "" : "NOT") + " commited.") ;
+
+ shortWait() ;
+
+ listener.init() ;
+ listener.approve = true ;
+ shortWait() ;
+ checker.update() ;
+ shortWait() ;
+ checker.commit() ;
+ shortWait() ;
+ commited = checker.wasCommited() ;
+
+ shortWait() ;
+
+ log.println("Calling with approving : approveUpdate() was " +
+ (listener.approveCalled ? "":"NOT")+" called, updated() was "+
+ (listener.updateCalled ? "":"NOT")+" called, the value was "+
+ (commited ? "" : "NOT") + " commited.") ;
+
+ bResult = listener.approveCalled &&
+ listener.updateCalled &&
+ commited ;
+ } catch (com.sun.star.uno.Exception e) {
+ bResult = false ;
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("addUpdateListener()", bResult);
+ }
+
+ /**
+ * Removes listener, updates data, and checks if no listener
+ * methods were called. <p>
+ * Has <b> OK </b> status if after listener removing no of its methods
+ * were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addUpdateListener </code> : to have a listener added.</li>
+ * </ul>
+ */
+ public void _removeUpdateListener() {
+ requiredMethod("addUpdateListener()");
+ boolean bResult = true;
+
+ listener.init() ;
+ listener.approve = true ;
+
+ oObj.removeUpdateListener(listener);
+
+ try {
+ checker.update() ;
+ shortWait() ;
+ checker.commit() ;
+
+ shortWait() ;
+
+ bResult = ! listener.approveCalled &&
+ ! listener.updateCalled ;
+ }
+ catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured during removeUpdateListener()");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ tRes.tested("removeUpdateListener()", bResult);
+ }
+
+ private void shortWait() {
+ try {
+ Thread.sleep(200);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java
new file mode 100644
index 000000000000..ba88f052b6d2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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.form.binding;
+
+import lib.MultiPropertyTest;
+
+public class _BindableDatabaseCheckBox extends MultiPropertyTest
+{
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java
new file mode 100644
index 000000000000..e5c490201c55
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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.form.binding;
+
+import lib.MultiPropertyTest;
+
+public class _BindableDatabaseRadioButton extends MultiPropertyTest
+{
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java b/qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java
new file mode 100644
index 000000000000..d8ecf916965b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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.form.binding;
+
+import com.sun.star.form.binding.XBindableValue;
+import com.sun.star.form.binding.XValueBinding;
+import com.sun.star.uno.Type;
+
+import java.util.ArrayList;
+
+import lib.MultiMethodTest;
+
+
+public class _XBindableValue extends MultiMethodTest {
+ public XBindableValue oObj;
+ protected XValueBinding xValueBinding = null;
+
+ public void _getValueBinding() {
+ requiredMethod("setValueBinding");
+
+ boolean res = true;
+ xValueBinding = oObj.getValueBinding();
+ res &= checkValueBinding(xValueBinding);
+ tRes.tested("getValueBinding()", res);
+ }
+
+ public void _setValueBinding() {
+ String rightOne = "";
+
+ try {
+ oObj.setValueBinding(new MyValueBinding());
+ rightOne = (String) oObj.getValueBinding().getValue(null);
+ } catch (com.sun.star.form.binding.IncompatibleTypesException e) {
+ e.printStackTrace();
+ }
+
+ boolean res = rightOne.equals("MyValueBinding");
+
+ if (!res) {
+ log.println("Excepted: MyValueBinding");
+ log.println("getting: " + rightOne);
+ }
+
+ tRes.tested("setValueBinding()", res);
+ }
+
+ protected boolean checkValueBinding(XValueBinding xValueBinding) {
+ boolean res = true;
+ Type[] types = xValueBinding.getSupportedValueTypes();
+ log.println("Checking: ");
+
+ for (int i = 0; i < types.length; i++) {
+ log.println("\t" + types[i].getTypeName());
+
+ boolean localRes = xValueBinding.supportsType(types[i]);
+
+ if (!localRes) {
+ log.println("\t\tsupportsType returns false -- FAILED");
+ } else {
+ log.println("\t\tis supported -- OK");
+ }
+
+ res &= localRes;
+ }
+
+ return res;
+ }
+
+ class MyValueBinding implements XValueBinding {
+ private Type[] TypeArray;
+ private ArrayList types = new ArrayList();
+
+ public com.sun.star.uno.Type[] getSupportedValueTypes() {
+ return TypeArray;
+ }
+
+ public Object getValue(com.sun.star.uno.Type type)
+ throws com.sun.star.form.binding.IncompatibleTypesException {
+ return "MyValueBinding";
+ }
+
+ public void setValue(Object obj)
+ throws com.sun.star.form.binding.IncompatibleTypesException,
+ com.sun.star.lang.NoSupportException {
+ }
+
+ public boolean supportsType(com.sun.star.uno.Type type) {
+ types.add(type);
+ TypeArray = new Type[types.size()];
+
+ for (int i = 0; i < types.size(); i++) {
+ TypeArray[i] = (Type) types.toArray()[i];
+ }
+
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/form/component/_CheckBox.java b/qadevOOo/tests/java/ifc/form/component/_CheckBox.java
new file mode 100644
index 000000000000..a35a5318203b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_CheckBox.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.CheckBox</code>
+* service properties :
+* <ul>
+* <li><code> DefaultState</code></li>
+* <li><code> RefValue</code></li>
+* </ul> <p>
+* @see com.sun.star.form.component.CheckBox
+*/
+public class _CheckBox extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_ComboBox.java b/qadevOOo/tests/java/ifc/form/component/_ComboBox.java
new file mode 100644
index 000000000000..6e81cf0718c2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ComboBox.java
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.ComboBox</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul> <p>
+* @see com.sun.star.form.component.ComboBox
+*/
+public class _ComboBox extends MultiPropertyTest {
+ // these properties don't needed in special code.
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_CommandButton.java b/qadevOOo/tests/java/ifc/form/component/_CommandButton.java
new file mode 100644
index 000000000000..88e2161bf5de
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_CommandButton.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.CommandButton</code>
+* service properties :
+* <ul>
+* <li><code> ButtonType</code></li>
+* <li><code> TargetFrame</code></li>
+* <li><code> TargetURL</code></li>
+* </ul>
+* @see com.sun.star.form.component.CommandButton
+*/
+public class _CommandButton extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_CurrencyField.java b/qadevOOo/tests/java/ifc/form/component/_CurrencyField.java
new file mode 100644
index 000000000000..d5395baebc30
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_CurrencyField.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.CurrencyField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultValue</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.CurrencyField
+*/
+public class _CurrencyField extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _DefaultValue() {
+ testProperty("DefaultValue", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return util.utils.isVoid(old) ? new Double(17.5) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+} // finish class _CurrencyField
+
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DataForm.java b/qadevOOo/tests/java/ifc/form/component/_DataForm.java
new file mode 100644
index 000000000000..2562994ec32a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DataForm.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.form.TabulatorCycle;
+import com.sun.star.uno.Enum;
+
+/**
+* Testing <code>com.sun.star.form.component.DataForm</code>
+* service properties :
+* <ul>
+* <li><code> MasterFields</code></li>
+* <li><code> DetailFields</code></li>
+* <li><code> Cycle</code></li>
+* <li><code> NavigationBarMode</code></li>
+* <li><code> AllowInserts</code></li>
+* <li><code> AllowUpdates</code></li>
+* <li><code> AllowDeletes</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DataForm
+*/
+public class _DataForm extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _NavigationBarMode() {
+ testProperty("NavigationBarMode", new PropertyTester() {
+ public String toString(Object obj) {
+ if (util.utils.isVoid(obj)) {
+ return "null";
+ } else {
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ }
+ });
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _Cycle() {
+ testProperty("Cycle", new PropertyTester() {
+ public Object getNewValue(String propName, Object oldValue) {
+ return TabulatorCycle.CURRENT;
+ }
+ public String toString(Object obj) {
+ if (util.utils.isVoid(obj))
+ return "null";
+ else
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ });
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java
new file mode 100644
index 000000000000..255153b2e0f0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.form.component ;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseComboBox</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* <li><code> ListSource</code></li>
+* <li><code> ListSourceType</code></li>
+* </ul> <p>
+* All properties are tested by class <code>MultiPropertyTest</code>
+* @see com.sun.star.form.component.DatabaseComboBox
+*/
+public class _DatabaseComboBox extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java
new file mode 100644
index 000000000000..6201f3cbe407
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+import util.dbg;
+
+import com.sun.star.form.TabulatorCycle;
+import com.sun.star.uno.Enum;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseForm</code>
+* service properties:
+* <ul>
+* <li><code> MasterFields</code></li>
+* <li><code> DetailFields</code></li>
+* <li><code> Cycle</code></li>
+* <li><code> NavigationBarMode</code></li>
+* <li><code> AllowInserts</code></li>
+* <li><code> AllowUpdates</code></li>
+* <li><code> AllowDeletes</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseForm
+*/
+public class _DatabaseForm extends MultiPropertyTest {
+
+ /**
+ * In this property test only debugging information output
+ * is customized.
+ */
+ public void _NavigationBarMode() {
+ dbg.printPropertyInfo(oObj, "NavigationBarMode");
+ testProperty("NavigationBarMode", new PropertyTester() {
+ public String toString(Object obj) {
+ if (obj == null) {
+ return "null";
+ } else {
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ }
+ });
+ }
+
+ /**
+ * This property new value is always fixed and debugging
+ * information output is customized.
+ */
+ public void _Cycle() {
+ dbg.printPropertyInfo(oObj, "Cycle");
+ testProperty("Cycle", new PropertyTester() {
+ public Object getNewValue(String propName, Object oldValue) {
+ return TabulatorCycle.CURRENT;
+ }
+
+ public String toString(Object obj) {
+ if (obj == null) {
+ return "null";
+ } else {
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ }
+ });
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java
new file mode 100644
index 000000000000..0e7cf7e499ac
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form.component ;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseFormattedField</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseFormattedField
+*/
+public class _DatabaseFormattedField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java
new file mode 100644
index 000000000000..8953e68263b5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseImageControl</code>
+* service properties :
+* <ul>
+* <li><code> ReadOnly</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseImageControl
+*/
+public class _DatabaseImageControl extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java
new file mode 100644
index 000000000000..2b2bcd9f28ff
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.form.component.DatabaseListBox</code>
+* service properties :
+* <ul>
+* <li><code> BoundColumn</code></li>
+* <li><code> ListSourceType</code></li>
+* </ul> <p>
+* All properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseListBox
+*/
+public class _DatabaseListBox extends MultiPropertyTest {
+ // these properties don't needed in special code.
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java b/qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java
new file mode 100644
index 000000000000..cedad761180d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.DatabasePatternField</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabasePatternField
+*/
+public class _DatabasePatternField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java
new file mode 100644
index 000000000000..2ff48480d0e7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseTextField</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* </ul> <p>
+* All properties are tested by class <code>MultiPropertyTest</code>
+* @see com.sun.star.form.component.DatabaseTextField
+*/
+public class _DatabaseTextField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DateField.java b/qadevOOo/tests/java/ifc/form/component/_DateField.java
new file mode 100644
index 000000000000..4241b543d1d3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DateField.java
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DateField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultDate</code></li>
+* </ul>
+* @see com.sun.star.form.component.DateField
+*/
+public class _DateField extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _DefaultDate() {
+ testProperty("DefaultDate", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Integer(20010507) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_FileControl.java b/qadevOOo/tests/java/ifc/form/component/_FileControl.java
new file mode 100644
index 000000000000..9b73a1d995d5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_FileControl.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.form.component.FileControl</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.FileControl
+*/
+public class _FileControl extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_FormattedField.java b/qadevOOo/tests/java/ifc/form/component/_FormattedField.java
new file mode 100644
index 000000000000..e75f212edbef
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_FormattedField.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.form.component ;
+
+import lib.MultiPropertyTest;
+
+public class _FormattedField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_GridControl.java b/qadevOOo/tests/java/ifc/form/component/_GridControl.java
new file mode 100644
index 000000000000..58412dc4667d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_GridControl.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.GridControl</code>
+* service properties :
+* <ul>
+* <li><code> Border</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> RowHeight</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.GridControl
+*/
+public class _GridControl extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _RowHeight() {
+ testProperty("RowHeight", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Integer(11) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Boolean(true) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Integer(342) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Integer(342) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+} // finish class _GridControl
+
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_HTMLForm.java b/qadevOOo/tests/java/ifc/form/component/_HTMLForm.java
new file mode 100644
index 000000000000..d592a979706c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_HTMLForm.java
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.HTMLForm</code>
+* service properties :
+* <ul>
+* <li><code> TargetFrame</code></li>
+* <li><code> TargetURL</code></li>
+* <li><code> SubmitMethod</code></li>
+* <li><code> SubmitEncoding</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.HTMLForm
+*/
+public class _HTMLForm extends MultiPropertyTest {
+
+} // finish class _HTMLForm
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_HiddenControl.java b/qadevOOo/tests/java/ifc/form/component/_HiddenControl.java
new file mode 100644
index 000000000000..3e895e9aa2c2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_HiddenControl.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.HiddenControl</code>
+* service properties :
+* <ul>
+* <li><code> HiddenValue</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.HiddenControl
+*/
+public class _HiddenControl extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_ImageButton.java b/qadevOOo/tests/java/ifc/form/component/_ImageButton.java
new file mode 100644
index 000000000000..772d41c23ab0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ImageButton.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.ImageButton</code>
+* service properties :
+* <ul>
+* <li><code> ButtonType</code></li>
+* <li><code> TargetFrame</code></li>
+* <li><code> TargetURL</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.ImageButton
+*/
+public class _ImageButton extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_ListBox.java b/qadevOOo/tests/java/ifc/form/component/_ListBox.java
new file mode 100644
index 000000000000..12cb1c9a5808
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ListBox.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.ListBox</code>
+* service properties :
+* <ul>
+* <li><code> DefaultSelection</code></li>
+* <li><code> ListSource</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.ListBox
+*/
+public class _ListBox extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java b/qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java
new file mode 100644
index 000000000000..0b4714d74cbb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _NavigationToolBar extends MultiPropertyTest {
+
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Integer(20010507) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Integer(20050507) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/form/component/_NumericField.java b/qadevOOo/tests/java/ifc/form/component/_NumericField.java
new file mode 100644
index 000000000000..12eb31bab662
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_NumericField.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.NumericField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultValue</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.NumericField
+*/
+public class _NumericField extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _DefaultValue() {
+ testProperty("DefaultValue", new PropertyTester() {
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Double(111.11) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_PatternField.java b/qadevOOo/tests/java/ifc/form/component/_PatternField.java
new file mode 100644
index 000000000000..67a109e28b4d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_PatternField.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.PatternField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.PatternField
+*/
+public class _PatternField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_RadioButton.java b/qadevOOo/tests/java/ifc/form/component/_RadioButton.java
new file mode 100644
index 000000000000..44e0ef9f7ed0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_RadioButton.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.RadioButton</code>
+* service properties :
+* <ul>
+* <li><code> DefaultState</code></li>
+* <li><code> RefValue</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.RadioButton
+*/
+public class _RadioButton extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_RichTextControl.java b/qadevOOo/tests/java/ifc/form/component/_RichTextControl.java
new file mode 100644
index 000000000000..e154930b4336
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_RichTextControl.java
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _RichTextControl extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/component/_ScrollBar.java b/qadevOOo/tests/java/ifc/form/component/_ScrollBar.java
new file mode 100644
index 000000000000..d2038667dd95
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ScrollBar.java
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _ScrollBar extends MultiPropertyTest{
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/component/_SpinButton.java b/qadevOOo/tests/java/ifc/form/component/_SpinButton.java
new file mode 100644
index 000000000000..1564705b004b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_SpinButton.java
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _SpinButton extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/component/_TextField.java b/qadevOOo/tests/java/ifc/form/component/_TextField.java
new file mode 100644
index 000000000000..1b552e184b19
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_TextField.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.TextField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.TextField
+*/
+public class _TextField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_TimeField.java b/qadevOOo/tests/java/ifc/form/component/_TimeField.java
new file mode 100644
index 000000000000..70dc2a75720b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_TimeField.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.form.component;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.form.component.TimeField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultTime</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.TimeField
+*/
+public class _TimeField extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _DefaultTime() {
+ testProperty("DefaultTime", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Integer(4321) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/submission/_XSubmission.java b/qadevOOo/tests/java/ifc/form/submission/_XSubmission.java
new file mode 100644
index 000000000000..14c8b37be71d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/submission/_XSubmission.java
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * 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.form.submission;
+
+import com.sun.star.form.submission.XSubmission;
+import com.sun.star.form.submission.XSubmissionVetoListener;
+
+import lib.MultiMethodTest;
+
+
+public class _XSubmission extends MultiMethodTest {
+ public XSubmission oObj = null;
+ public boolean HandlerWasCalled = false;
+
+ public void _addSubmissionVetoListener() {
+ log.println(
+ "submitting with VetoListener ... exception should appear");
+
+ boolean res = true;
+ XSubmissionVetoListener aListener = new MyListener();
+
+ try {
+ oObj.addSubmissionVetoListener(aListener);
+ oObj.submit();
+ res = false;
+ log.println(
+ "the expected exception wasn't thrown ... FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "Expected exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "OK");
+ }
+
+ try {
+ oObj.removeSubmissionVetoListener(aListener);
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while removing the listener) "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ tRes.tested("addSubmissionVetoListener()", res);
+ }
+
+ public void _removeSubmissionVetoListener() {
+ log.println(
+ "submitting with VetoListener ... exception should appear");
+
+ boolean res = true;
+ XSubmissionVetoListener aListener = new MyListener();
+
+ try {
+ oObj.addSubmissionVetoListener(aListener);
+ oObj.submit();
+ res = false;
+ log.println(
+ "the expected exception wasn't thrown ... FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "WrappedTargetException exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "OK");
+ }
+
+ log.println("removing the listener");
+
+ try {
+ oObj.removeSubmissionVetoListener(aListener);
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while removing the listener) "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ log.println("Sleeping 2s");
+
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {
+ // sleeping didn't work
+ }
+
+ log.println("... done");
+
+ log.println(
+ "submitting after VetoListener has been removed... no exception should appear");
+
+ try {
+ oObj.submit();
+ log.println("No Exception ... OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "WrappedTargetException was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ tRes.tested("removeSubmissionVetoListener()", res);
+ }
+
+ /** Calls submit and returns true if no exception was thrown
+ * then adds a SubmissionVetoListener and checks if the
+ * exception is thrown in case of a veto of this listener.
+ */
+ public void _submit() {
+ boolean res = true;
+ log.println(
+ "submitting without VetoListener ... no exception should appear");
+
+ try {
+ oObj.submit();
+ log.println("No Exception ... OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "Exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ tRes.tested("submit()", res);
+ }
+
+ public class MyListener implements XSubmissionVetoListener {
+ public void disposing(
+ com.sun.star.lang.EventObject eventObject) {
+ }
+
+ public void submitting(
+ com.sun.star.lang.EventObject eventObject)
+ throws com.sun.star.util.VetoException {
+ log.println("MyVetoListener was called");
+ throw new com.sun.star.util.VetoException(
+ "submission isn't allowed ...");
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java b/qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java
new file mode 100644
index 000000000000..dc003235e8b9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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.form.submission;
+
+import com.sun.star.form.submission.XSubmission;
+import com.sun.star.form.submission.XSubmissionSupplier;
+import com.sun.star.form.submission.XSubmissionVetoListener;
+import com.sun.star.task.XInteractionHandler;
+import lib.MultiMethodTest;
+
+public class _XSubmissionSupplier extends MultiMethodTest
+{
+ public XSubmissionSupplier oObj = null;
+ public boolean submitWasCalled = false;
+
+ public void _Submission() {
+ XSubmission stub = new MyXSubmission();
+ oObj.setSubmission (stub);
+ XSubmission xSubmission = oObj.getSubmission ();
+ try {
+ xSubmission.submit ();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception during submit "+e.getMessage ());
+ }
+ catch (com.sun.star.util.VetoException e) {
+ log.println("VetoException during submit "+e.getMessage ());
+ }
+ tRes.tested ("Submission()",submitWasCalled);
+ }
+
+ private class MyXSubmission implements XSubmission {
+
+ public void submit () throws com.sun.star.util.VetoException, com.sun.star.lang.WrappedTargetException
+ {
+ submitWasCalled=true;
+ log.println("MyXSubmission: someone called submit :-)");
+ }
+
+ public void submitWithInteraction( XInteractionHandler handler ) throws com.sun.star.util.VetoException, com.sun.star.lang.WrappedTargetException
+ {
+ log.println("MyXSubmission: someone called submitWithInteraction :-)");
+ }
+
+ public void addSubmissionVetoListener( XSubmissionVetoListener listener ) throws com.sun.star.lang.NoSupportException
+ {
+ throw new com.sun.star.lang.NoSupportException();
+ }
+
+ public void removeSubmissionVetoListener( XSubmissionVetoListener listener ) throws com.sun.star.lang.NoSupportException
+ {
+ throw new com.sun.star.lang.NoSupportException();
+ }
+
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/validation/_XValidatable.java b/qadevOOo/tests/java/ifc/form/validation/_XValidatable.java
new file mode 100644
index 000000000000..bc0b30a4f1d1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/validation/_XValidatable.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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.form.validation;
+
+import com.sun.star.form.validation.XValidatable;
+import com.sun.star.form.validation.XValidator;
+
+import lib.MultiMethodTest;
+
+
+public class _XValidatable extends MultiMethodTest {
+ public XValidatable oObj;
+
+ public void _getValidator() {
+ requiredMethod("setValidator()");
+
+ XValidator xValidator = oObj.getValidator();
+ boolean res = xValidator.isValid(Boolean.FALSE);
+ tRes.tested("getValidator()", res);
+ }
+
+ public void _setValidator() {
+ boolean res = false;
+
+ try {
+ oObj.setValidator(new MyValidator());
+
+ XValidator xValidator = oObj.getValidator();
+ String getting = xValidator.explainInvalid(null);
+ res = getting.equals("explainInvalid");
+
+ if (!res) {
+ log.println("\tExpected: explainInvalid");
+ log.println("\tGetting: " + getting);
+ log.println("FAILED");
+ }
+ } catch (com.sun.star.util.VetoException e) {
+ e.printStackTrace();
+ }
+
+ tRes.tested("setValidator()", res);
+ }
+
+ public class MyValidator implements XValidator {
+ public void addValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ }
+
+ public String explainInvalid(Object obj) {
+ return "explainInvalid";
+ }
+
+ public boolean isValid(Object obj) {
+ return true;
+ }
+
+ public void removeValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java b/qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java
new file mode 100644
index 000000000000..2a7e989418b2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java
@@ -0,0 +1,247 @@
+/*************************************************************************
+ *
+ * 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.form.validation;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XMultiPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.form.validation.XFormComponentValidityListener;
+import com.sun.star.form.validation.XValidatableFormComponent;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+import util.ValueChanger;
+
+import java.util.StringTokenizer;
+
+
+public class _XValidatableFormComponent extends MultiMethodTest
+{
+ public XValidatableFormComponent oObj;
+ protected XFormComponentValidityListener listener = null;
+ public boolean listenerCalled = false;
+ private String[] testPropsNames = null;
+ private int testPropsAmount = 0;
+
+ public void _addFormComponentValidityListener()
+ {
+ listener = new MyListener();
+
+ boolean res = true;
+
+ try
+ {
+ oObj.addFormComponentValidityListener(listener);
+ }
+ catch (com.sun.star.lang.NullPointerException e)
+ {
+ res = false;
+ e.printStackTrace();
+ }
+
+ changeAllProperties();
+ res &= listenerCalled;
+ tRes.tested("addFormComponentValidityListener()", res);
+ }
+
+ public void _getCurrentValue()
+ {
+ Object cValue = oObj.getCurrentValue();
+ tRes.tested("getCurrentValue()", true);
+ }
+
+ public void _isValid()
+ {
+ boolean res = oObj.isValid();
+ tRes.tested("isValid()", res);
+ }
+
+ public void _removeFormComponentValidityListener()
+ {
+ requiredMethod("isValid()");
+
+ boolean res = true;
+
+ try
+ {
+ oObj.removeFormComponentValidityListener(listener);
+ }
+ catch (com.sun.star.lang.NullPointerException e)
+ {
+ res = false;
+ e.printStackTrace();
+ }
+
+ listenerCalled = false;
+ changeAllProperties();
+ res &= !listenerCalled;
+ tRes.tested("removeFormComponentValidityListener()", true);
+ }
+
+ protected void changeAllProperties()
+ {
+ XMultiPropertySet mProps =
+ (XMultiPropertySet) UnoRuntime.queryInterface(
+ XMultiPropertySet.class, tEnv.getTestObject()
+ );
+ XPropertySetInfo propertySetInfo = mProps.getPropertySetInfo();
+ Property[] properties = propertySetInfo.getProperties();
+ getPropsToTest(properties);
+ log.println("Changing all properties");
+
+ Object[] gValues = mProps.getPropertyValues(testPropsNames);
+
+ for (int i = 0; i < testPropsAmount; i++)
+ {
+ Object oldValue = gValues[i];
+
+ if (
+ testPropsNames[i].equals("Value")
+ || testPropsNames[i].equals("Time")
+ || testPropsNames[i].equals("EffectiveValue")
+ )
+ {
+ oldValue = new Integer(10);
+ }
+
+ Object newValue = ValueChanger.changePValue(oldValue);
+ gValues[i] = newValue;
+
+ // System.out.println("#############################################");
+ // System.out.println("Name: "+testPropsNames[i]);
+ // System.out.println("OldValue: "+oldValue);
+ // System.out.println("NewValue: "+newValue);
+ // System.out.println("#############################################");
+ }
+
+ try
+ {
+ mProps.setPropertyValues(testPropsNames, gValues);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ log.println("Exception occured while setting properties");
+ e.printStackTrace(log);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ log.println("Exception occured while setting properties");
+ e.printStackTrace(log);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("Exception occured while setting properties");
+ e.printStackTrace(log);
+ }
+ // end of try-catch
+ }
+
+ //Get the properties being tested
+ private void getPropsToTest(Property[] properties)
+ {
+ String bound = "";
+
+ for (int i = 0; i < properties.length; i++)
+ {
+ Property property = properties[i];
+ String name = property.Name;
+ boolean isWritable =
+ ((property.Attributes & PropertyAttribute.READONLY) == 0);
+ boolean isNotNull =
+ ((property.Attributes & PropertyAttribute.MAYBEVOID) == 0);
+ boolean isBound =
+ ((property.Attributes & PropertyAttribute.BOUND) != 0);
+
+ //these have values that are interfaces we can't change
+ if (
+ name.equals("TextUserDefinedAttributes")
+ || name.equals("ReferenceDevice")
+ || name.equals("ParaUserDefinedAttributes")
+ )
+ {
+ isWritable = false;
+ }
+
+ if (
+ name.equals("Value") || name.equals("Time")
+ || name.equals("Date")
+ )
+ {
+ bound = (name + ";");
+ }
+
+ if (
+ isWritable && isNotNull && (name.indexOf("Format") < 0)
+ && !name.equals("Enabled")
+ )
+ {
+ bound += (name + ";");
+ }
+ }
+ // endfor
+
+ //get a array of bound properties
+ if (bound.equals(""))
+ {
+ bound = "none";
+ }
+
+ if (tEnv.getTestCase().getObjectName().indexOf("Formatted") > 0)
+ {
+ bound = "EffectiveValue;";
+ }
+
+ StringTokenizer ST = new StringTokenizer(bound, ";");
+ int nr = ST.countTokens();
+ testPropsNames = new String[nr];
+
+ for (int i = 0; i < nr; i++)
+ testPropsNames[i] = ST.nextToken();
+
+ testPropsAmount = nr;
+
+ return;
+ }
+
+ protected class MyListener implements XFormComponentValidityListener
+ {
+ public void componentValidityChanged(
+ com.sun.star.lang.EventObject eventObject
+ )
+ {
+ System.out.println("componentValidityChanged called");
+ listenerCalled = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject)
+ {
+ System.out.println("Listener Disposed");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java b/qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java
new file mode 100644
index 000000000000..055a3da4478b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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.form.validation;
+
+import com.sun.star.form.validation.XValidatable;
+import com.sun.star.form.validation.XValidator;
+import com.sun.star.form.validation.XValidityConstraintListener;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+
+public class _XValidityConstraintListener extends MultiMethodTest {
+ public XValidityConstraintListener oObj;
+ protected boolean ValidatorCalled = false;
+
+ public void _validityConstraintChanged() {
+ boolean res = false;
+ try {
+ XValidatable xValidatable = (XValidatable) UnoRuntime.queryInterface(
+ XValidatable.class,
+ tEnv.getTestObject());
+
+ log.println("adding Validator");
+ XValidator xValidator = new MyValidator();
+ xValidatable.setValidator(xValidator);
+ ValidatorCalled = false;
+
+ log.println("calling validityConstraintChanged()");
+ oObj.validityConstraintChanged(
+ new com.sun.star.lang.EventObject());
+ res = ValidatorCalled;
+ } catch (com.sun.star.util.VetoException e) {
+ e.printStackTrace();
+ }
+ tRes.tested("validityConstraintChanged()",res);
+ }
+
+ /*
+ * The validator to add this Listener implementation
+ *
+ */
+ public class MyValidator implements XValidator {
+ public void addValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ log.println("\t Validator::addValidityConstraintListener called");
+ }
+
+ public String explainInvalid(Object obj) {
+ log.println("\t Validator::explainInvalid() called");
+
+ return "explainInvalid";
+ }
+
+ public boolean isValid(Object obj) {
+ log.println("\t Validator::isValid() called");
+ ValidatorCalled = true;
+ return false;
+ }
+
+ public void removeValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ log.println("\t Validator::removeValidityConstraintListener called");
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/formula/_FormulaProperties.java b/qadevOOo/tests/java/ifc/formula/_FormulaProperties.java
new file mode 100644
index 000000000000..f78b6b024771
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/formula/_FormulaProperties.java
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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.formula;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.formula.FormulaProperties</code>
+* service properties :
+* <ul>
+* <li><code> Alignment</code></li>
+* <li><code> BaseFontHeight</code></li>
+* <li><code> CustomFontNameFixed</code></li>
+* <li><code> FontFixedIsItalic</code></li>
+* <li><code> FontFixedIsBold</code></li>
+* <li><code> CustomFontNameSans</code></li>
+* <li><code> FontSansIsItalic</code></li>
+* <li><code> FontSansIsBold</code></li>
+* <li><code> CustomFontNameSerif</code></li>
+* <li><code> FontSerifIsItalic</code></li>
+* <li><code> FontSerifIsBold</code></li>
+* <li><code> FontNameFunctions</code></li>
+* <li><code> FontFunctionsIsItalic</code></li>
+* <li><code> FontFunctionsIsBold</code></li>
+* <li><code> FontNameNumbers</code></li>
+* <li><code> FontNumbersIsItalic</code></li>
+* <li><code> FontNumbersIsBold</code></li>
+* <li><code> FontNameText</code></li>
+* <li><code> FontTextIsItalic</code></li>
+* <li><code> FontTextIsBold</code></li>
+* <li><code> FontNameVariables</code></li>
+* <li><code> FontVariablesIsItalic</code></li>
+* <li><code> FontVariablesIsBold</code></li>
+* <li><code> Formula</code></li>
+* <li><code> IsScaleAllBrackets</code></li>
+* <li><code> IsTextMode</code></li>
+* <li><code> RelativeFontHeightFunctions</code></li>
+* <li><code> RelativeFontHeightIndices</code></li>
+* <li><code> RelativeFontHeightLimits</code></li>
+* <li><code> RelativeFontHeightOperators</code></li>
+* <li><code> RelativeFontHeightText</code></li>
+* <li><code> RelativeBracketDistance</code></li>
+* <li><code> RelativeBracketExcessSize</code></li>
+* <li><code> RelativeFractionBarExcessLength</code></li>
+* <li><code> RelativeFractionBarLineWeight</code></li>
+* <li><code> RelativeFractionDenominatorDepth</code></li>
+* <li><code> RelativeFractionNumeratorHeight</code></li>
+* <li><code> RelativeIndexSubscript</code></li>
+* <li><code> RelativeIndexSuperscript</code></li>
+* <li><code> RelativeLineSpacing</code></li>
+* <li><code> RelativeLowerLimitDistance</code></li>
+* <li><code> RelativeMatrixColumnSpacing</code></li>
+* <li><code> RelativeMatrixLineSpacing</code></li>
+* <li><code> RelativeOperatorExcessSize</code></li>
+* <li><code> RelativeOperatorSpacing</code></li>
+* <li><code> RelativeRootSpacing</code></li>
+* <li><code> RelativeScaleBracketExcessSize</code></li>
+* <li><code> RelativeSpacing</code></li>
+* <li><code> RelativeSymbolMinimumHeight</code></li>
+* <li><code> RelativeSymbolPrimaryHeight</code></li>
+* <li><code> RelativeUpperLimitDistance</code></li>
+* <li><code> TopMargin</code></li>
+* <li><code> BottomMargin</code></li>
+* <li><code> LeftMargin</code></li>
+* <li><code> RightMargin</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.formula.FormulaProperties
+*/
+public class _FormulaProperties extends MultiPropertyTest {
+
+
+} // finish class _FormulaProperties
+
diff --git a/qadevOOo/tests/java/ifc/frame/_Desktop.java b/qadevOOo/tests/java/ifc/frame/_Desktop.java
new file mode 100644
index 000000000000..1e608f73fe8d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_Desktop.java
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.frame.Desktop</code>
+* service properties:
+* <ul>
+* <li><code> HasBeamer </code></li>
+* <li><code> HasCommonTaskBar </code></li>
+* <li><code> HasStylist </code></li>
+* <li><code> HasExplorer </code></li>
+* <li><code> HasFunctionBar </code></li>
+* <li><code> HasMacroBar </code></li>
+* <li><code> HasNavigator </code></li>
+* <li><code> HasObjectBar </code></li>
+* <li><code> HasOptionBar </code></li>
+* <li><code> HasStatusBar </code></li>
+* <li><code> HasToolBar </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.frame.Desktop
+*/
+public class _Desktop extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_Frame.java b/qadevOOo/tests/java/ifc/frame/_Frame.java
new file mode 100644
index 000000000000..a389bb17d242
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_Frame.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiPropertyTest;
+
+public class _Frame extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_FrameLoader.java b/qadevOOo/tests/java/ifc/frame/_FrameLoader.java
new file mode 100644
index 000000000000..06ffd1c4b358
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_FrameLoader.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.frame.FrameLoader</code>
+* service properties :
+* <ul>
+* <li><code> Types</code></li>
+* <li><code> UIName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.frame.FrameLoader
+*/
+public class _FrameLoader extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java b/qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java
new file mode 100644
index 000000000000..259cd21d9afa
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.frame.SynchronousFrameLoader</code>
+* service properties :
+* <ul>
+* <li><code> Types</code></li>
+* <li><code> UIName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.frame.SynchronousFrameLoader
+*/
+public class _SynchronousFrameLoader extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XComponentLoader.java b/qadevOOo/tests/java/ifc/frame/_XComponentLoader.java
new file mode 100644
index 000000000000..39e7a0b9bb49
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XComponentLoader.java
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.lang.XComponent;
+
+
+/**
+* Testing <code>com.sun.star.frame.XComponentLoader</code>
+* interface methods:
+* <ul>
+* <li><code> loadComponentFromURL() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XComponentLoader
+*/
+public class _XComponentLoader extends MultiMethodTest {
+ public XComponentLoader oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Method which tests the objects ability to load a
+ * component from URL. All available components are loaded by turns. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * @see XComponent
+ */
+ public void _loadComponentFromURL() {
+ boolean result = true;
+
+ log.println("testing loadComponentFromURL() ... ");
+ try {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+ String frameName = "_blank";
+ XComponent oDoc = null;
+
+ log.println("load writer doc that contains links");
+ PropertyValue [] szArgs = new PropertyValue [1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "UpdateDocMode";
+ Arg.Value = new Short(com.sun.star.document.UpdateDocMode.NO_UPDATE);
+ szArgs[0]=Arg;
+ String url = util.utils.getFullTestURL("Writer_link.sxw");
+ log.println("try to load '" + url + "'");
+ oDoc = oObj.loadComponentFromURL(
+ url, frameName, 0, szArgs);
+
+ try {
+ Thread.sleep(500);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ oDoc.dispose();
+
+ url = util.utils.getFullTestURL("Calc_Link.sxc");
+ log.println("try to load '" + url + "'");
+ oDoc = oObj.loadComponentFromURL(
+ url, frameName, 0, szArgs);
+
+ try {
+ Thread.sleep(500);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ oDoc.dispose();
+
+
+
+ log.println("load a blank impress doc");
+ Arg.Name = "OpenFlags";
+ Arg.Value = "S";
+ Arg.Handle = -1;
+ Arg.State = PropertyState.DEFAULT_VALUE;
+ szArgs[0]=Arg;
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/simpress", frameName, 0, szArgs );
+
+ log.println("disposing impress doc");
+ oDoc.dispose();
+
+ log.println("load a blank writer doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/swriter", frameName, 0, szEmptyArgs );
+
+ log.println("disposing writer doc");
+ oDoc.dispose();
+
+ log.println("load a blank calc doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/scalc", frameName, 0, szEmptyArgs );
+
+ log.println("disposing calc doc");
+ oDoc.dispose();
+
+ log.println("load a blank draw doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/sdraw", frameName, 0, szEmptyArgs );
+
+ log.println("disposing draw doc");
+ oDoc.dispose();
+
+ log.println("load a blank math doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/smath", frameName, 0, szEmptyArgs );
+
+ log.println("disposing math doc");
+ oDoc.dispose();
+
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while loading");
+ e.printStackTrace(log);
+ result=false;
+ }
+ catch (com.sun.star.io.IOException e) {
+ log.println("Exception occured while loading");
+ e.printStackTrace(log);
+ result=false;
+ }
+
+ tRes.tested("loadComponentFromURL()", result);
+ return;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XController.java b/qadevOOo/tests/java/ifc/frame/_XController.java
new file mode 100644
index 000000000000..dd2afe4ca825
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XController.java
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.util.XModifiable;
+
+
+/**
+* Testing <code>com.sun.star.frame.XController</code>
+* interface methods:
+* <ul>
+* <li><code> getFrame() </code></li>
+* <li><code> attachFrame() </code></li>
+* <li><code> getModel() </code></li>
+* <li><code> attachModel() </code></li>
+* <li><code> getViewData() </code></li>
+* <li><code> restoreViewData() </code></li>
+* <li><code> suspend() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Frame'</code> (of type <code>XFrame</code>):
+* any other frame, used for tests</li>
+* <li> <code>'FirstModel'</code> (of type <code>XModel</code>):
+* model of a controller tested</li>
+* <li> <code>'SecondModel'</code> (of type <code>XModel</code>):
+* other model, used for tests </li>
+* <li> <code>'HasViewData'</code> (of type <code>Boolean</code>):
+* (optional relation) if it exsists, so controller has no view data</li>
+* <li> <code>'SecondController'</code> (of type <code>XController</code>):
+* other controller, used for tests </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XController
+*/
+public class _XController extends MultiMethodTest {
+ public XController oObj = null;
+ public XModel firstModel = null;
+ public XModel secondModel = null;
+ public XFrame frame = null;
+ public Object ViewData = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns object, that's equal to
+ * previously obtained object relation 'Frame'.
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code> attachFrame() </code> : attachs frame obtained object
+ * relation 'Frame' </li>
+ * </ul>
+ */
+ public void _getFrame() {
+ requiredMethod("attachFrame()");
+ XFrame getting = oObj.getFrame();
+ boolean eq = getting.equals(frame);
+ if ( !eq ) {
+ log.println("Getting: " + getting.toString());
+ log.println("Expected: " + frame.toString());
+ }
+ tRes.tested("getFrame()", eq);
+ }
+
+ /**
+ * After obtaining a corresponding object relation test calls the method.
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _attachFrame() {
+ frame = (XFrame) tEnv.getObjRelation("Frame");
+ oObj.attachFrame(frame);
+ tRes.tested("attachFrame()", true);
+ }
+
+ /**
+ * At first object relation 'FirstModel' is gotten. Then test calls the
+ * method. <p>
+ * Has <b> OK </b> status if string repersentation of an object, returned by
+ * the method is equal to string representation of corresponding object
+ * relation.
+ */
+ public void _getModel() {
+ firstModel = (XModel) tEnv.getObjRelation("FirstModel");
+ XModel getting = oObj.getModel();
+ String out1 = "";
+ String out2 = "";
+ if ( (firstModel == null) ) out1="none";
+ else out1 = firstModel.toString();
+ if ( (getting == null) ) out2="none"; else out2 = getting.toString();
+ boolean eq = out1.equals(out2);
+ if ( !eq ) {
+ log.println("Getting: " + out2);
+ log.println("Expected: " + out1);
+ }
+ tRes.tested("getModel()", eq);
+ }
+
+ /**
+ * At first, we obtain an object relation 'SecondModel'. Then test calls
+ * the method and check result. <p>
+ * Has <b> OK </b> status if method returns true and attached model is
+ * equal to a model 'SecondModel' obtained before.
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getModel() </code> : returns model (XModel) of the
+ * XController object</li>
+ * </ul>
+ */
+ public void _attachModel() {
+ boolean result = false;
+
+ requiredMethod("getModel()");
+ secondModel = (XModel) tEnv.getObjRelation("SecondModel");
+ XModel gotBefore = oObj.getModel();
+ boolean attached = oObj.attachModel(secondModel);
+ XModel gotAfter = oObj.getModel();
+ if ( attached ) {
+ if ( ! gotBefore.equals(gotAfter) ) {
+ if ( gotAfter.equals(secondModel) ) {
+ result = true;
+ } else {
+ log.println("Attached and gotten models are not equal");
+ log.println("Getting: " + gotAfter.toString());
+ log.println("Expected: " + secondModel.toString());
+ }
+ } else {
+ log.println("method did not change model");
+ }
+ } else {
+ result=true;
+ log.println("attachModel() returns false");
+ log.println("as expected, see #82938");
+ }
+ tRes.tested("attachModel()", result);
+ oObj.attachModel(firstModel);
+ }
+
+ /**
+ * At first gotten object relation 'HasViewData' is checked. Then if
+ * 'HasViewData' is null, test calls the method. <p>
+ * Has <b> OK </b> status if obtained object relation is not null, or if
+ * the method does not return null.
+ */
+ public void _getViewData() {
+ if (tEnv.getObjRelation("HasViewData") != null) {
+ log.println("This Object has no View Data");
+ tRes.tested("getViewData()", true);
+ return;
+ }
+ ViewData = oObj.getViewData();
+ tRes.tested( "getViewData()", ViewData != null );
+ }
+
+ /**
+ * If obtained object relation 'HasViewData' is null, test calls the method.
+ * <p>Has <b> OK </b> status if obtained object relation is not null, or
+ * if no exceptions were thrown while method call.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getViewData() </code> : gets view data of an object. </li>
+ * </ul>
+ */
+ public void _restoreViewData() {
+ requiredMethod("getViewData()");
+ if (tEnv.getObjRelation("HasViewData") != null) {
+ log.println("This Object has no View Data");
+ tRes.tested("restoreViewData()", true);
+ return;
+ }
+ oObj.restoreViewData(ViewData);
+ tRes.tested( "restoreViewData()", true );
+ }
+
+ /**
+ * Has <b> OK </b> status if the method returns true.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> restoreViewData() </code> : restores view status of an
+ * object </li>
+ * </ul>
+ */
+ public void _suspend() {
+ requiredMethod("restoreViewData()");
+ XModifiable modify = (XModifiable) tEnv.getObjRelation("Modifiable");
+ if (modify != null) {
+ try {
+ modify.setModified(false);
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException, couldn't change Modify flag");
+ }
+ }
+ tRes.tested( "suspend()", oObj.suspend(true) );
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDesktop.java b/qadevOOo/tests/java/ifc/frame/_XDesktop.java
new file mode 100644
index 000000000000..996cc5af1ae9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDesktop.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.frame.XDesktop</code>
+* interface methods:
+* <ul>
+* <li><code> getComponents() </code></li>
+* <li><code> terminate() </code></li>
+* <li><code> addTerminateListener() </code></li>
+* <li><code> removeTerminateListener() </code></li>
+* <li><code> getCurrentComponent() </code></li>
+* <li><code> getCurrentFrame() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XDesktop
+*/
+public class _XDesktop extends MultiMethodTest {
+ public XDesktop oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method. Then elements enumeration is created and tested.<p>
+ * Has <b> OK </b> status if no exceptions were thrown.
+ */
+ public void _getComponents() {
+ XEnumerationAccess xComps = oObj.getComponents();
+ XEnumeration xEnum = xComps.createEnumeration();
+ boolean result = false;
+
+ try {
+ for (; xEnum.hasMoreElements();) {
+ XInterface xInt = null;
+ try {
+ xInt = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), xEnum.nextElement());
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ }
+ result = true;
+ } catch (WrappedTargetException e) {
+ log.println("Couldn't get a component : " + e.getMessage());
+ e.printStackTrace();
+ } catch (NoSuchElementException e) {
+ log.println("Couldn't get a component : " + e.getMessage());
+ e.printStackTrace();
+ }
+ tRes.tested("getComponents()", result);
+ }
+
+ /**
+ * Cannot test the method because it requires
+ * terminating StarOffice. Will add real test later.
+ */
+ public void _terminate() {
+ tRes.tested("terminate()", true);
+ }
+
+ /**
+ * Cannot test the method because of terminate().
+ * Will add real test later.
+ */
+ public void _addTerminateListener() {
+ tRes.tested("addTerminateListener()", true);
+ }
+
+ /**
+ * Cannot test the method because of terminate().
+ * Will add real test later.
+ */
+ public void _removeTerminateListener() {
+ tRes.tested("removeTerminateListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentComponent() {
+ tRes.tested("getCurrentComponent()",
+ oObj.getCurrentComponent() != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentFrame() {
+ tRes.tested("getCurrentFrame()", oObj.getCurrentFrame() != null);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatch.java b/qadevOOo/tests/java/ifc/frame/_XDispatch.java
new file mode 100644
index 000000000000..6fad036bec57
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatch.java
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.util.URL;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import com.sun.star.frame.XNotifyingDispatch;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.frame.DispatchResultEvent;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatch</code>
+* interface methods :
+* <ul>
+* <li><code> dispatch()</code></li>
+* <li><code> addStatusListener()</code></li>
+* <li><code> removeStatusListener()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDispatch.URL'</code> (of type <code>com.sun.star.util.URL
+* </code>): URL for passing to <code>dispatch()</code> method. </li>
+* <ul> <p>
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.frame.XNotifyingDispatch
+* @see ifc.frame._XDispatch
+* @see ifc.frame._XNotifyingDispatch
+*/
+
+public class _XDispatch extends MultiMethodTest {
+
+ public XDispatch oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestStatusListener implements
+ com.sun.star.frame.XStatusListener {
+ public boolean disposingCalled = false ;
+ public boolean statusChangedCalled = false ;
+ private java.io.PrintWriter log = null ;
+
+ public TestStatusListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ log.println(" disposing was called.") ;
+ }
+
+ public void statusChanged(com.sun.star.frame.FeatureStateEvent e) {
+ statusChangedCalled = true ;
+ log.println(" statusChanged was called.") ;
+ log.println(" FeatureURL = '" + e.FeatureURL + "'");
+ log.println(" FeatureDescriptor = '" + e.FeatureDescriptor + "'");
+ log.println(" IsEnabled = " + e.IsEnabled);
+ log.println(" Requery = " + e.Requery);
+ log.println(" State = '" + e.State.toString() + "'");
+ }
+
+ }
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestNotificationListener implements
+ com.sun.star.frame.XDispatchResultListener {
+ public boolean disposingCalled = false ;
+ public boolean finishedDispatch = false ;
+ private java.io.PrintWriter log = null ;
+
+ public TestNotificationListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ log.println(" disposing was called.") ;
+ }
+
+ public void dispatchFinished( DispatchResultEvent e) {
+ finishedDispatch = true ;
+ log.println(" dispatchFinished was called.") ;
+ }
+
+ }
+
+ TestStatusListener listener = null ;
+ TestNotificationListener notificationListener = null;
+ URL url = null ;
+
+ /**
+ * Not all implementations could call the
+ * <code>com.sun.star.frame.XStatusListener</code>. For this purposes the
+ * <code>com.sun.star.frame.XDispatchWithNotification</code> was designed.
+ * If <code>com.sun.star.frame.XStatusListener</code> was not called and
+ * <code>com.sun.star.frame.XStatusListener</code> is present, it was used
+ * to check listeners.
+ */
+ private boolean checkXDispatchWithNotification()
+ {
+ XNotifyingDispatch xND = (XNotifyingDispatch)
+ UnoRuntime.queryInterface(XNotifyingDispatch.class, oObj);
+ if ( xND != null) {
+ log.println(" XNotifyingDispatch found:");
+ PropertyValue[] arguments = (PropertyValue[])
+ tEnv.getObjRelation("XNotifyingDispatchArgument");
+
+ notificationListener = new TestNotificationListener(log) ;
+ xND.dispatchWithNotification(url, arguments, notificationListener);
+
+ try {
+ Thread.sleep(200);
+ }
+ catch(java.lang.InterruptedException e) {}
+
+ log.println(" Listener called: "+ notificationListener.finishedDispatch);
+
+ return notificationListener.finishedDispatch;
+ } else {
+ return false;
+ }
+
+ }
+ /**
+ * Retrieves object relations and creates new listeners.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ listener = new TestStatusListener(log) ;
+ url = (URL) tEnv.getObjRelation("XDispatch.URL") ;
+
+ if (url == null) throw new StatusException
+ (Status.failed("Relation not found.")) ;
+ }
+
+ /**
+ * Calls the method using URL from relation. <p>
+ * Has <b> OK </b> status if one listener (not removed) is called, and
+ * another (removed) is not.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>addStatusListener</code> :
+ * to check that the listener is called
+ * </li>
+ * </ul>
+ */
+ public void _dispatch() {
+ requiredMethod("addStatusListener()") ;
+
+ boolean result = true ;
+
+ oObj.dispatch(url, new PropertyValue[0]) ;
+
+ try {
+ Thread.sleep(200);
+ }
+ catch(java.lang.InterruptedException e) {}
+
+ log.println("Listener called: "+ listener.statusChangedCalled);
+
+ result = listener.statusChangedCalled;
+
+ if (result == false) {
+ result = checkXDispatchWithNotification();
+ }
+
+ tRes.tested("dispatch()", result) ;
+ }
+
+ /**
+ * Adds two listeners. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _addStatusListener() {
+
+ boolean result = true ;
+ oObj.addStatusListener(listener, url) ;
+
+ tRes.tested("addStatusListener()", result) ;
+ }
+
+ /**
+ * Removes the listener added before. <p>
+ * Has <b> OK </b> status if the dispatch call doesn't call the listener.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> dispatch() </code> : to have a listener to remove
+ * </li>
+ * </ul>
+ */
+ public void _removeStatusListener() {
+ requiredMethod("dispatch()") ;
+ listener.statusChangedCalled = false;
+ boolean result = true ;
+ oObj.removeStatusListener(listener, url) ;
+
+ oObj.dispatch(url, new PropertyValue[0]) ;
+
+ try {
+ Thread.sleep(200);
+ }
+ catch(java.lang.InterruptedException e) {}
+
+ System.out.println("Listener called: "+ listener.statusChangedCalled);
+
+ result = ! listener.statusChangedCalled;
+
+ tRes.tested("removeStatusListener()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java b/qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java
new file mode 100644
index 000000000000..d3091201070d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.FrameSearchFlag;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchProvider</code>
+* interface methods:
+* <ul>
+* <li><code> queryDispatch() </code></li>
+* <li><code> queryDispatches() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDispatchProvider.URL'</code> (of type <code>String</code>):
+* used to obtain unparsed url of DispatchProvider </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XDispatchProvider
+*/
+public class _XDispatchProvider extends MultiMethodTest {
+ public static XDispatchProvider oObj = null;
+ private String dispatchUrl = null ;
+
+ /**
+ * Retrieves object relation.
+ */
+ public void before() {
+ dispatchUrl = (String) tEnv.getObjRelation("XDispatchProvider.URL") ;
+ if (dispatchUrl == null) {
+ dispatchUrl = utils.getFullTestDocName("index.html");
+ }
+ log.println("Using URL: '" + dispatchUrl + "'");
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _queryDispatch() {
+ URL url = new URL();
+ String frameName = "_top";
+
+ url.Complete = dispatchUrl;
+ try {
+ XURLTransformer xParser=(XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of
+ // URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = dispatchUrl;
+ xParser.parseStrict(aParseURL);
+ url = aParseURL[0];
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't parse URL");
+ }
+ XDispatch xDispatch = oObj.queryDispatch(url,
+ frameName, FrameSearchFlag.ALL);
+ tRes.tested("queryDispatch()", xDispatch != null);
+ }
+
+ /**
+ * Before test calls the method, DispatchDescriptor sequence is defined.<p>
+ * Has <b> OK </b> status if the method does not return null, returned
+ * sequence length is equal to a number of DispatchDescriptors
+ * and returned sequence consists of non-null elements.
+ */
+ public void _queryDispatches() {
+ String name1 = "_self";
+ String name2 = "_top";
+ URL url1 = new URL();
+ URL url2 = new URL();
+
+ url1.Complete = dispatchUrl;
+ url2.Complete = dispatchUrl;
+ try {
+ log.println("Parsing URL");
+ XURLTransformer xParser = (XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of
+ // URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = dispatchUrl;
+ xParser.parseStrict(aParseURL);
+ url1 = aParseURL[0];
+ url2 = aParseURL[0];
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't parse URL");
+ }
+ DispatchDescriptor descs[] = new DispatchDescriptor[] {
+ new DispatchDescriptor(url1, name1, FrameSearchFlag.ALL),
+ new DispatchDescriptor(url2, name2, FrameSearchFlag.ALL)
+ };
+ XDispatch[] xDispatches = oObj.queryDispatches(descs);
+
+ if (xDispatches == null) {
+ log.println("queryDispatches() returned null");
+ tRes.tested("queryDispatches()", false);
+ return;
+ }
+
+ if (xDispatches.length != descs.length) {
+ log.println("queryDispatches() returned "
+ + xDispatches.length
+ + " amount of XDispatch instead of "
+ + descs.length);
+ tRes.tested("queryDispatches()", false);
+ return;
+ }
+
+ for (int i = 0; i < xDispatches.length; i++) {
+ if (xDispatches[i] == null) {
+ log.println("queryDispatches() result contains"
+ + " null object");
+ tRes.tested("queryDispatches()", false);
+ return;
+ }
+ }
+
+ tRes.tested("queryDispatches()", true);
+ return;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java b/qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java
new file mode 100644
index 000000000000..549731315d7c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XDispatchProviderInterception;
+import com.sun.star.frame.XDispatchProviderInterceptor;
+import com.sun.star.util.URL;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchProviderInterception</code>
+* interface methods :
+* <ul>
+* <li><code> registerDispatchProviderInterceptor()</code></li>
+* <li><code> releaseDispatchProviderInterceptor()</code></li>
+* </ul> <p>
+* @see com.sun.star.frame.XDispatchProviderInterception
+*/
+public class _XDispatchProviderInterception extends MultiMethodTest {
+
+ public XDispatchProviderInterception oObj = null;
+
+ /**
+ * Implementation of <code>XDispatchProviderInterceptor</code> interface
+ * which writes info about method calls to log, stores master and
+ * slave interceptors, and redirect all dispatch queries to the master
+ * provider.
+ */
+ public class TestInterceptor implements XDispatchProviderInterceptor {
+ private PrintWriter log = null ;
+ public XDispatchProvider master = null, slave = null ;
+
+ public TestInterceptor(PrintWriter log) {
+ this.log = log ;
+ }
+
+ public XDispatchProvider getSlaveDispatchProvider() {
+ log.println("getSlaveDispatchProvider() called.") ;
+ return slave;
+ }
+ public XDispatchProvider getMasterDispatchProvider() {
+ log.println("getMasterDispatchProvider() called.") ;
+ return master;
+ }
+ public void setSlaveDispatchProvider(XDispatchProvider prov) {
+ log.println("setSlaveDispatchProvider(" + prov + ") called.") ;
+ slave = prov ;
+ }
+ public void setMasterDispatchProvider(XDispatchProvider prov) {
+ log.println("setMasterDispatchProvider(" + prov + ") called.") ;
+ master = prov ;
+ }
+
+ public XDispatch queryDispatch(URL url, String frame, int flags) {
+ log.println("my queryDispatch('" + url.Complete + "', '" +
+ frame + "', " + flags + ") called.") ;
+ return slave.queryDispatch(url, frame, flags) ;
+ }
+ public XDispatch[] queryDispatches(DispatchDescriptor[] desc) {
+ log.println("my queryDispatches() called.") ;
+ return slave.queryDispatches(desc) ;
+ }
+ }
+
+
+ TestInterceptor interceptor = null ;
+ /**
+ * Cereates new interceptor implementation.
+ */
+ public void before() {
+ interceptor = new TestInterceptor(log) ;
+ }
+
+ /**
+ * Registers new interceptor implementation. <p>
+ * Has <b> OK </b> status if during registering interceptor's
+ * <code>setMasterDispatchProvider</code> method with non null
+ * parameter was called. <p>
+ */
+ public void _registerDispatchProviderInterceptor() {
+
+ boolean result = true ;
+ oObj.registerDispatchProviderInterceptor(interceptor) ;
+
+ result = interceptor.master != null ;
+
+ tRes.tested("registerDispatchProviderInterceptor()", result) ;
+ }
+
+ /**
+ * Releases interceptor. <p>
+ * Has <b> OK </b> status if during method call interceptor's
+ * <code>setMasterDispatchProvider</code> method with <code>null</code>
+ * parameter was called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerDispatchProviderInterceptor </code> </li>
+ * </ul>
+ */
+ public void _releaseDispatchProviderInterceptor() {
+ requiredMethod("registerDispatchProviderInterceptor()") ;
+
+ boolean result = true ;
+ oObj.releaseDispatchProviderInterceptor(interceptor) ;
+
+ result = interceptor.master == null ;
+
+ tRes.tested("releaseDispatchProviderInterceptor()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java
new file mode 100644
index 000000000000..0b1cd3afd430
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java
@@ -0,0 +1,224 @@
+ /*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XDispatchRecorder;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchRecorder</code>
+* interface methods:
+* <ul>
+* <li><code> startRecording() </code></li>
+* <li><code> recordDispatch() </code></li>
+* <li><code> recordDispatchAsComment() </code></li>
+* <li><code> endRecording() </code></li>
+* <li><code> getRecordedMacro() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XDispatchRecorder
+*/
+public class _XDispatchRecorder extends MultiMethodTest {
+ public static XDispatchRecorder oObj = null;
+
+ XFrame xFrame = null;
+ URL dispURL = null;
+ PropertyValue[] dispArgs = new PropertyValue[0];
+
+ protected void before() {
+ xFrame = (XFrame) tEnv.getObjRelation("XDispatchRecorder.Frame");
+
+ if (xFrame == null) {
+ throw new StatusException(Status.failed("Relation not found"));
+ }
+ }
+
+ public void _startRecording() {
+
+ oObj.startRecording(xFrame);
+ oObj.endRecording();
+ tRes.tested("startRecording()", true);
+ }
+
+ public void _getRecordedMacro() {
+
+ clearBuffer();
+
+ oObj.startRecording(xFrame);
+
+ log.println("dispatch calles via API must be recorded");
+ dispURL = utils.parseURL((XMultiServiceFactory)tParam.getMSF(), ".uno:InsertText");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.endRecording()";
+ dispArgs = new PropertyValue[] {prop};
+
+ log.println("Dispatching event for frame ...");
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xFrame);
+ XDispatch xDisp = xDispProv.queryDispatch(dispURL, "", 0);
+ xDisp.dispatch(dispURL, dispArgs);
+
+ shortWait();
+
+ log.println("Getting macro ... :");
+ String macro = oObj.getRecordedMacro();
+ log.println(macro);
+
+ log.println("Ending record ...");
+ oObj.endRecording();
+
+ boolean res = macro != null
+ && macro.indexOf(dispURL.Complete) > -1;
+ if (!res) log.println("Dispatch URL '" + dispURL.Complete
+ + "' was NOT found in macro - FAILED");
+
+ tRes.tested("getRecordedMacro()", res);
+ }
+
+ public void _endRecording() {
+
+ oObj.startRecording(xFrame);
+ oObj.endRecording();
+ String macro = oObj.getRecordedMacro();
+ boolean res = true;
+ if (macro.length() != 0){
+ log.println("'endRecording()' was called but macro buffer is not cleared: FALSE");
+ log.println(macro);
+ res = false;
+ }
+
+ tRes.tested("endRecording()", res);
+ }
+
+ public void _recordDispatch() {
+ clearBuffer();
+
+ oObj.startRecording(xFrame);
+
+ // positve test
+ dispURL = utils.parseURL((XMultiServiceFactory)tParam.getMSF(), ".uno:InsertText");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.recordDispatch()";
+ dispArgs = new PropertyValue[] {prop};
+
+ log.println("Recording dispatch ...");
+ oObj.recordDispatch(dispURL, dispArgs);
+
+ log.println("Getting macro ... :");
+ String macro = oObj.getRecordedMacro();
+ log.println(macro);
+
+ oObj.endRecording();
+
+ boolean res = macro != null
+ && macro.indexOf(dispURL.Complete) > -1
+ && macro.indexOf((String)dispArgs[0].Value) > -1;
+ if (!res) log.println("Dispatch URL '" + dispURL.Complete
+ + "' or its argument '" + dispArgs[0].Value
+ + "' was not found in macro returned - FAILED");
+
+ tRes.tested("recordDispatch()", res);
+ }
+
+ public void _recordDispatchAsComment() {
+ clearBuffer();
+
+ oObj.startRecording(xFrame);
+
+ dispURL = utils.parseURL((XMultiServiceFactory)tParam.getMSF(), ".uno:InsertText");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.recordDispatchAsComment()";
+ dispArgs = new PropertyValue[] {prop};
+
+ log.println("Recording dispatch ...");
+ oObj.recordDispatchAsComment(dispURL, dispArgs);
+
+ log.println("Getting macro ... :");
+ String macro = oObj.getRecordedMacro();
+ log.println(macro);
+
+ oObj.endRecording();
+
+ boolean res = macro != null
+ && macro.indexOf(dispURL.Complete) > -1
+ && macro.indexOf((String)dispArgs[0].Value) > -1;
+ if (!res) log.println("Dispatch URL '" + dispURL.Complete
+ + "' or its argument '" + dispArgs[0].Value
+ + "' was not found in macro returned - FAILED");
+
+ log.println("Checking if macro is commented ...");
+ int idx = macro.indexOf((String)dispArgs[0].Value);
+ int lineStartIdx = macro.lastIndexOf("\n", idx);
+ String lineStart = macro.substring(lineStartIdx + 1, idx).toLowerCase();
+ log.println("Line start is '" + lineStart + "'");
+
+ if (lineStart.startsWith("'") || lineStart.startsWith("rem")) {
+ log.println("Line is commented : OK");
+ } else {
+ log.println("Line is not commented : FAILED");
+ res =false;
+ }
+
+ tRes.tested("recordDispatchAsComment()", res);
+ }
+
+
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {}
+ }
+
+ private void clearBuffer() {
+ oObj.startRecording(xFrame);
+ oObj.endRecording();
+ String macro = oObj.getRecordedMacro();
+ if (macro.length() != 0){
+ log.println("ERROR: 'endRecording()' was called but macro buffer is not cleared!");
+ log.println(macro);
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java
new file mode 100644
index 000000000000..b6c1f06c5a7e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java
@@ -0,0 +1,245 @@
+ /*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XDispatchRecorder;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.frame.XDispatchRecorderSupplier;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchRecorderSupplier</code>
+* interface methods:
+* <ul>
+* <li><code> setDispatchRecorder() </code></li>
+* <li><code> getDispatchRecorder() </code></li>
+* <li><code> dispatchAndRecord() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XDispatchRecorderSupplier
+*/
+public class _XDispatchRecorderSupplier extends MultiMethodTest {
+ public static XDispatchRecorderSupplier oObj = null;
+
+ XComponent xTextDoc = null;
+ XDispatchRecorder recorder = null;
+ XDesktop desktop = null;
+
+ /**
+ * Simple <code>XDispatchRecorder</code> implementation
+ * which method <code>getRecordedMacro</code> returns a fixed
+ * string.
+ */
+ private static class MyRecorder implements XDispatchRecorder {
+ public void startRecording(XFrame p0) {}
+ public void recordDispatch(URL p0, PropertyValue[] p1) {}
+ public void recordDispatchAsComment(URL p0, PropertyValue[] p1) {}
+ public void endRecording(){}
+ public String getRecordedMacro() {
+ return "MyRecorder implementation";
+ }
+ }
+
+ /**
+ * Creates a new document which supplies a frame.
+ * Also a <code>com.sun.star.frame.Desktop</code>
+ * service created for obtaining document's frame.
+ */
+ protected void before() {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ Object inst = (XInterface)((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.frame.Desktop");
+ desktop = (XDesktop) UnoRuntime.queryInterface
+ (XDesktop.class, inst);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Creates an instance of <code>MyRecorder</code> and set if,
+ * then get the current recorder. Second case is setting
+ * recorder to null. Finally restores the old macro recorder. <p>
+ *
+ * Has <b>OK</b> status if in the first case custom recorder
+ * was successfully returned, and in second case current
+ * recorder is null.
+ */
+ public void _setDispatchRecorder() {
+ requiredMethod("getDispatchRecorder()");
+
+ boolean res = true,
+ locRes = true;
+ log.print("Setting custom macro recorder ...");
+ oObj.setDispatchRecorder(new MyRecorder());
+ XDispatchRecorder rec = oObj.getDispatchRecorder();
+
+ locRes = rec != null &&
+ "MyRecorder implementation".equals(rec.getRecordedMacro());
+ if (locRes) log.println("OK");
+ else log.println("FAILED");
+ res &= locRes;
+
+ log.print("Setting null dispatch recorder ...");
+ oObj.setDispatchRecorder(null);
+ locRes = oObj.getDispatchRecorder() == null;
+ if (locRes) log.println("OK");
+ else log.println("FAILED");
+ res &= locRes;
+
+ log.println("Setting old macro recorder ...");
+ oObj.setDispatchRecorder(recorder);
+
+ tRes.tested("setDispatchRecorder()", res);
+ }
+
+ /**
+ * Just gets the current recorder and stores it.
+ *
+ * Has <b>OK</b> status.
+ */
+ public void _getDispatchRecorder() {
+ recorder = oObj.getDispatchRecorder();
+ tRes.tested("getDispatchRecorder()", true);
+ }
+
+ /**
+ * First sets the current dispatch recorder to new
+ * <code>DispatchRecorder</code> instance if the current one
+ * is null. The a <code>Dispatch</code> instance is created
+ * which inserts some text into text document.
+ * A number of cases is checked :
+ * <ul>
+ * <li> A valid call : here the recorded macro must contain
+ * inserted string and URL </li>
+ * <li> Call with invalid URL : the macro recorded must not
+ * contain this URL </li>
+ * <li> Call with null dispatcher : checking for GPF </li>
+ * <li> Call with the current recorder set to null :
+ * checking for GPF </li>
+ * </ul>
+ *
+ * Has <b>OK</b> status if all cases are OK.
+ */
+ public void _dispatchAndRecord() {
+ requiredMethod("getDispatchRecorder()");
+
+ boolean res = true;
+ if (recorder == null) {
+ try {
+ Object inst = ((XMultiServiceFactory) tParam.getMSF()).createInstance
+ ("com.sun.star.comp.framework.DispatchRecorder");
+ recorder = (XDispatchRecorder) UnoRuntime.queryInterface
+ (XDispatchRecorder.class, inst);
+ oObj.setDispatchRecorder(recorder);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Couldn't create recorder", e);
+ }
+ }
+
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {}
+
+ XModel model = (XModel) UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XFrame fr = model.getCurrentController().getFrame();
+
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, fr);
+
+ URL dispURL = utils.parseURL((XMultiServiceFactory) tParam.getMSF(), ".uno:InsertText");
+
+ XDispatch xDisp = xDispProv.queryDispatch(dispURL,"",0);
+
+ PropertyValue[] args = new PropertyValue[1];
+ args[0] = new PropertyValue();
+ args[0].Name = "Text";
+ args[0].Value = "XDispatchRecorderSupplier";
+
+ log.print("Dispatching and recording ...");
+ oObj.dispatchAndRecord(dispURL, args, xDisp);
+
+ String macro = recorder.getRecordedMacro();
+ boolean locRes = macro != null &&
+ macro.indexOf("XDispatchRecorderSupplier")>-1 &&
+ macro.indexOf(".uno:InsertText")>-1;
+ if (locRes) log.println("OK");
+ else log.println("FAILED");
+ res &= locRes;
+ log.println("Recorder macro :\n" + macro);
+
+ log.print("Trying to set dispatch with null Dispatcher ...");
+ try {
+ oObj.dispatchAndRecord(dispURL, args, null);
+ log.println("OK");
+ } catch (java.lang.Exception e){
+ log.println("Exception is OK: " + e);
+ }
+
+ log.print("Trying to set dispatch recorder to null and record ...");
+ oObj.setDispatchRecorder(null);
+ try {
+ oObj.dispatchAndRecord(dispURL, args, xDisp);
+ log.println("OK");
+ } catch (java.lang.Exception e){
+ log.println("Exception is OK: " + e);
+ }
+
+ oObj.setDispatchRecorder(recorder);
+
+ tRes.tested("dispatchAndRecord()", res);
+ }
+
+ /**
+ * Disposes the document created in <code>before()</code>
+ */
+ protected void after() {
+ xTextDoc.dispose();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java b/qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java
new file mode 100644
index 000000000000..5bd47fa83904
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java
@@ -0,0 +1,276 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.Property;
+import com.sun.star.frame.XDocumentTemplates;
+import com.sun.star.frame.XStorable;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentAccess;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+/**
+* Testing <code>com.sun.star.frame.XDesktop</code>
+* interface methods:
+* <ul>
+* <li><code> getContent() </code></li>
+* <li><code> storeTemplate() </code></li>
+* <li><code> addTemplate() </code></li>
+* <li><code> removeTemplate() </code></li>
+* <li><code> renameTemplate() </code></li>
+* <li><code> addGroup() </code></li>
+* <li><code> removeGroup() </code></li>
+* <li><code> renameGroup() </code></li>
+* <li><code> update() </code></li>
+* </ul><p>
+*/
+public class _XDocumentTemplates extends MultiMethodTest {
+ public XDocumentTemplates oObj = null; // oObj filled by MultiMethodTest
+ protected XContent content = null;
+ /**
+ * Test calls the method and prints contents list to log.<p>
+ * Has <b> OK </b> status if the XContent isn't empty.
+ */
+ public void _getContent() {
+ content = oObj.getContent();
+ log.println("Content list:" + getContentList(content));
+ tRes.tested("getContent()", content != null);
+ }
+
+ /**
+ * Test calls the method and checks that new group was added. <p>
+ * Has <b> OK </b> status if method returns true and new group was added.
+ */
+ public void _addGroup() {
+ requiredMethod("getContent()");
+ if (getSubContent(content, "XDocumentTemplatesTemp") != null ) {
+ oObj.removeGroup("XDocumentTemplatesTemp");
+ }
+ if (getSubContent(content, "XDocumentTemplates") != null ) {
+ oObj.removeGroup("XDocumentTemplates");
+ }
+ boolean res = oObj.addGroup("XDocumentTemplatesTemp");
+ log.println("Method returned: " + res);
+ res &= getSubContent(content, "XDocumentTemplatesTemp") != null;
+ tRes.tested("addGroup()", res);
+ }
+
+ XContent groupContent = null;
+ /**
+ * Test calls the method and checks that content has no group with old name
+ * and that content has group with new name. <p>
+ * Has <b> OK </b> status if method returns true, content has no group with
+ * old name and content has group with new name.<p>
+ */
+ public void _renameGroup() {
+ requiredMethod("addGroup()");
+ boolean res = oObj.renameGroup("XDocumentTemplatesTemp",
+ "XDocumentTemplates");
+ log.println("Method returned: " + res);
+ groupContent = getSubContent(content, "XDocumentTemplates");
+ res &= getSubContent(content, "XDocumentTemplatesTemp") == null;
+ res &= groupContent != null;
+ tRes.tested("renameGroup()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has new template. <p>
+ * Has <b> OK </b> status if method returns true and group content has new
+ * template.<p>
+ */
+ public void _addTemplate() {
+ requiredMethod("renameGroup()");
+ String testDoc = utils.getFullTestURL("report.stw");
+ log.println("Adding template from " + testDoc);
+ boolean res = oObj.addTemplate("XDocumentTemplates",
+ "ANewTemplateTemp",testDoc);
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "ANewTemplateTemp") != null;
+ tRes.tested("addTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has no template with
+ * old name and that group content has template with new name. <p>
+ * Has <b> OK </b> status if method returns true, group content has no
+ * template with old name and group content has template with new name.<p>
+ */
+ public void _renameTemplate() {
+ requiredMethod("addTemplate()");
+ boolean res = oObj.renameTemplate("XDocumentTemplates",
+ "ANewTemplateTemp",
+ "ANewTemplate");
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "ANewTemplateTemp") == null;
+ res &= getSubContent(groupContent, "ANewTemplate") != null;
+
+ tRes.tested("renameTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has new template. <p>
+ * Has <b> OK </b> status if method returns true and new template was created.<p>
+ */
+ public void _storeTemplate() {
+ requiredMethod("renameGroup()");
+ XStorable store = (XStorable) tEnv.getObjRelation("Store");
+ boolean res = oObj.storeTemplate("XDocumentTemplates",
+ "NewStoreTemplate",
+ store);
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "NewStoreTemplate") != null;
+ tRes.tested("storeTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has no deleted template. <p>
+ * Has <b> OK </b> status if method returns true and group content has no
+ * deleted template.<p>
+ */
+ public void _removeTemplate() {
+ requiredMethod("renameTemplate()");
+ boolean res = oObj.removeTemplate("XDocumentTemplates", "ANewTemplate");
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "ANewTemplate") == null;
+ tRes.tested("removeTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that content has no deleted group. <p>
+ * Has <b> OK </b> status if method returns true and content has no deleted
+ * group.<p>
+ */
+ public void _removeGroup() {
+ requiredMethod("renameGroup()");
+ executeMethod("renameTemplate()");
+ boolean res = oObj.removeGroup("XDocumentTemplates");
+ log.println("Method returned: " + res);
+ res &= getSubContent(content, "XDocumentTemplates") == null;
+ tRes.tested("removeGroup()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exception occurs.<p>
+ */
+ public void _update() {
+ oObj.update();
+ tRes.tested("update()",true);
+ }
+
+ /**
+ * Returns the string representation of content passed as parameter.
+ */
+ protected String getContentList(XContent content) {
+ XResultSet statRes = getStatResultSet(content);
+ String ret = "";
+ try {
+ statRes.first();
+ XRow row = (XRow)UnoRuntime.queryInterface(XRow.class, statRes);
+ while(! statRes.isAfterLast()) {
+ ret += "\n " + row.getString(1);
+ statRes.next();
+ }
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception occured:" + e);
+ }
+
+ return ret;
+ }
+
+ protected XResultSet getStatResultSet(XContent content) {
+ XResultSet statResSet = null;
+ try {
+ statResSet = getDynaResultSet(content).getStaticResultSet();
+ } catch(com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("Exception occured:" + e);
+ }
+ return statResSet;
+ }
+
+ protected XDynamicResultSet getDynaResultSet(XContent content) {
+ Command command = new Command();
+ OpenCommandArgument2 comArg = new OpenCommandArgument2();
+ Property[] comProps = new Property[1];
+ comArg.Mode = com.sun.star.ucb.OpenMode.ALL;
+ comProps[0] = new Property();
+ comProps[0].Name = "Title";
+ comArg.Properties = comProps;
+
+ command.Name = "open";
+ command.Handle = -1;
+ command.Argument = comArg;
+
+ XCommandProcessor comProc = (XCommandProcessor)
+ UnoRuntime.queryInterface(XCommandProcessor.class, content);
+
+ XDynamicResultSet DynResSet = null;
+ try {
+ DynResSet = (XDynamicResultSet) AnyConverter.toObject(
+ new Type(XDynamicResultSet.class),comProc.execute(command, 0, null));
+ } catch(com.sun.star.ucb.CommandAbortedException e) {
+ log.println("Couldn't execute command:" + e);
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Couldn't execute command:" + e);
+ }
+
+ return DynResSet;
+ }
+
+ protected XContent getSubContent(XContent content, String subName) {
+ XResultSet statRes = getStatResultSet(content);
+ XRow row = (XRow)UnoRuntime.queryInterface(XRow.class, statRes);
+ XContentAccess contAcc = (XContentAccess)
+ UnoRuntime.queryInterface(XContentAccess.class, statRes);
+ XContent subContent = null;
+ try {
+ statRes.first();
+ while(!statRes.isAfterLast()) {
+ if ( subName.equals(row.getString(1)) ) {
+ subContent = contAcc.queryContent();
+ }
+ statRes.next();
+ }
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Exception occured:" + e);
+ }
+
+ return subContent;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XFrame.java b/qadevOOo/tests/java/ifc/frame/_XFrame.java
new file mode 100644
index 000000000000..aaf59e61ee59
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFrame.java
@@ -0,0 +1,583 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.awt.XWindow;
+//import com.sun.star.awt.XWindow;
+import com.sun.star.frame.FrameAction;
+import com.sun.star.frame.FrameActionEvent;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFrameActionListener;
+import com.sun.star.frame.XFramesSupplier;
+import com.sun.star.lang.EventObject;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.TestEnvironment;
+
+/**
+* Testing <code>com.sun.star.frame.XFrame</code>
+* interface methods:
+* <ul>
+* <li><code> getName() </code></li>
+* <li><code> setName() </code></li>
+* <li><code> activate() </code></li>
+* <li><code> deactivate() </code></li>
+* <li><code> isActive() </code></li>
+* <li><code> addFrameActionListener() </code></li>
+* <li><code> removeFrameActionListener() </code></li>
+* <li><code> getCreator() </code></li>
+* <li><code> getComponentWindow() </code></li>
+* <li><code> getContainerWindow() </code></li>
+* <li><code> getController() </code></li>
+* <li><code> isTop() </code></li>
+* <li><code> findFrame() </code></li>
+* <li><code> contextChanged() </code></li>
+* <li><code> setCreator() </code></li>
+* <li><code> setComponent() </code></li>
+* <li><code> initialize() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XFrame'</code> (of type <code>XFrame</code>)
+* <b>optional</b>: any frame named 'XFrame'.
+* Could be used by <code>findFrame</code> method to try
+* to find other frame than itself.</li>
+*
+* <li> <code>'Desktop'</code> (of type <code>Object</code>):
+* if exsists, then desktop component is tested</li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XFrame
+*/
+public class _XFrame extends MultiMethodTest {
+ final FrameAction[] actionEvent = new FrameAction[1] ;
+ final boolean[] listenerCalled = new boolean[] {false} ;
+ final boolean[] activatedCalled = new boolean[] {false} ;
+ final boolean[] deactivatedCalled = new boolean[] {false} ;
+ final TestFrameActionListener listener =
+ new TestFrameActionListener() ;
+ public static XFrame oObj = null;
+
+ /**
+ * Class used to test listeners.
+ */
+ private class TestFrameActionListener
+ implements XFrameActionListener {
+
+ public void frameAction(FrameActionEvent e) {
+ listenerCalled[0] = true ;
+ activatedCalled[0] |= e.Action == FrameAction.FRAME_ACTIVATED;
+ deactivatedCalled[0] |= e.Action == FrameAction.FRAME_DEACTIVATING;
+ actionEvent[0] = e.Action;
+ }
+
+ public void disposing(EventObject e) {}
+
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getName() {
+ String name = oObj.getName() ;
+ if (name == null)
+ log.println("getName() returned null: FAILED") ;
+
+ tRes.tested("getName()", name!=null) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if set and gotten names are equal.
+ */
+ public void _setName() {
+ String sName = "XFrame" ;
+
+ oObj.setName(sName);
+ String gName = oObj.getName();
+ boolean res = sName.equals(gName);
+ if (! res)
+ log.println("setName('" + sName +
+ "'), but getName() return '" + gName + "'") ;
+ tRes.tested("setName()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _activate() {
+ oObj.activate() ;
+ tRes.tested("activate()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _deactivate() {
+ oObj.deactivate() ;
+ oObj.activate() ;
+ tRes.tested("deactivate()", true) ;
+ }
+
+ /**
+ * Test calls the method. Then frame is deactivated and method called
+ * again. <p>
+ * Has <b> OK </b> status if isDesktop() returns true or if the method
+ * always display real status of a frame during activation/deactivation.
+ */
+ public void _isActive() {
+ boolean result = true;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop is always active");
+ tRes.tested("isActive()", oObj.isActive()) ;
+ return;
+ }
+
+ oObj.deactivate();
+ result &= !oObj.isActive();
+ if (oObj.isActive())
+ log.println("after deactivate() method call, isActive() returned true");
+ oObj.activate();
+ result &= oObj.isActive();
+ if (!oObj.isActive())
+ log.println("after activate() method call, isActive() returned false") ;
+ boolean res = isDesktop(log,tEnv,"isActive()");
+ if (res) result=res;
+
+ tRes.tested("isActive()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then frame status (activated/deactivated) is
+ * changed, and the listener is checked.<p>
+ * Has <b> OK </b> status if isDesktop() method returnes true, or if the
+ * listener was called and frame was activated.
+ */
+ public void _addFrameActionListener() {
+ boolean result = true ;
+
+ oObj.addFrameActionListener(listener) ;
+ oObj.activate() ;
+ oObj.deactivate() ;
+ oObj.activate() ;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("No actions supported by Desktop");
+ tRes.tested("addFrameActionListener()", true) ;
+ return;
+ }
+
+ try {
+ Thread.sleep(500);
+ }catch (InterruptedException ex) {}
+
+
+ if (!listenerCalled[0]) {
+ log.println("listener was not called.") ;
+ result = false ;
+ } else {
+ if (!activatedCalled[0]) {
+ log.println("Listener was called, FRAME_ACTIVATED was not") ;
+ result = false ;
+ }
+ if (!deactivatedCalled[0]) {
+ log.println("Listener was called, FRAME_DEACTIVATING was not") ;
+ result = false ;
+ }
+ }
+
+ boolean res = isDesktop(log, tEnv, "addFrameActionListener()");
+ if (res) result=res;
+
+ tRes.tested("addFrameActionListener()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then frame status (activated/deactivated) is
+ * changed, and the listener is checked.<p>
+ * Has <b> OK </b> status if isDesktop() method returns true, or if the
+ * method actually removes listener so it does not react on
+ * activate/deactivate events. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addFrameActionListener() </code>: adds action listener
+ * to a frame </li>
+ * </ul>
+ */
+ public void _removeFrameActionListener() {
+ boolean result = true;
+
+ requiredMethod("addFrameActionListener()");
+ listenerCalled[0] = false;
+ oObj.removeFrameActionListener(listener);
+ oObj.activate();
+ oObj.deactivate();
+ oObj.activate();
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("No actions supported by Desktop");
+ tRes.tested("removeFrameActionListener()", true) ;
+ return;
+ }
+
+ if (listenerCalled[0])
+ log.println("Listener wasn't removed, and was called");
+ boolean res = isDesktop(log, tEnv, "removeFrameActionListener()");
+ if (res) result=res; else result = (!listenerCalled[0]);
+
+ tRes.tested("removeFrameActionListener()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or if the method
+ * does not return null.
+ */
+ public void _getCreator() {
+ boolean result = true;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no creator");
+ tRes.tested("getCreator()", true) ;
+ return;
+ }
+
+ XFramesSupplier creator = oObj.getCreator() ;
+ if (creator == null)
+ log.println("getCreator() returns null") ;
+ boolean res = isDesktop(log,tEnv,"getCreator()");
+ if (res) result=res; else result = (creator != null);
+ tRes.tested("getCreator()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or if the method
+ * does not return null.
+ */
+ public void _getComponentWindow() {
+ boolean result = true;
+
+ XWindow win = oObj.getComponentWindow() ;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no component window");
+ tRes.tested("getComponentWindow()", true) ;
+ return;
+ }
+
+ if (win == null)
+ log.println("getComponentWindow() returns null") ;
+ boolean res = isDesktop(log,tEnv,"getComponentWindow()");
+ if (res) result=res; else result = (win != null);
+ tRes.tested("getComponentWindow()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or if the method
+ * does not return null.
+ */
+ public void _getContainerWindow() {
+ boolean result = true;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no container window");
+ tRes.tested("getContainerWindow()", true) ;
+ return;
+ }
+
+ XWindow win = oObj.getContainerWindow() ;
+ if (win == null)
+ log.println("getContainerWindow() returns null") ;
+ boolean res = isDesktop(log,tEnv,"getContainerWindow()");
+ if (res) result=res; else result = (win != null);
+ tRes.tested("getContainerWindow()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then returned controller is checked. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or
+ * if the method returns non-null controller, having frame that's equal to
+ * a (XFrame) oObj.
+ */
+ public void _getController() {
+ boolean result = true;
+ XController ctrl = oObj.getController();
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no controller");
+ tRes.tested("getController()", true) ;
+ return;
+ }
+
+ if (ctrl == null) {
+ log.println("getController() returns null");
+ result = false;
+ } else {
+ XFrame frm = ctrl.getFrame();
+ if (!oObj.equals(frm)) {
+ log.println("Frame returned by controller not " +
+ "equals to frame testing");
+ result = false;
+ }
+ }
+ boolean res = isDesktop(log, tEnv, "getController()");
+ if (res) result=res;
+ tRes.tested("getController()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _isTop() {
+ log.println("isTop() = " + oObj.isTop());
+ tRes.tested("isTop()", true) ;
+ }
+
+ /**
+ * After obtaining an object relation 'XFrame', test tries to find a frame
+ * named 'XFrame'. <p>
+ * Has <b> OK </b> status if the method returns non-null object that's equal
+ * to previously obtained object relation.
+ */
+ public void _findFrame() {
+ boolean result = true ;
+
+ XFrame aFrame = (XFrame) tEnv.getObjRelation("XFrame");
+
+ if (aFrame != null) {
+ log.println("Trying to find a frame with name 'XFrame' ...");
+ XFrame frame = oObj.findFrame("XFrame",
+ com.sun.star.frame.FrameSearchFlag.GLOBAL) ;
+ if (frame == null) {
+ log.println("findFrame(\"XFrame,com.sun.star.frame.FrameSearchFlag.GLOBAL\") returns null") ;
+ result = false ;
+ } else if ( !aFrame.equals(frame) ) {
+ log.println("findFrame(\"XFrame,com.sun.star.frame.FrameSearchFlag.GLOBAL\") "
+ + " returns frame which is not equal to passed in relation") ;
+ result = false ;
+ }
+ }
+
+ log.println("Trying to find a frame with name '_self' ...");
+ XFrame frame = oObj.findFrame("_self",
+ com.sun.star.frame.FrameSearchFlag.AUTO) ;
+ if (frame == null) {
+ log.println("findFrame(\"_self\") returns null") ;
+ result = false ;
+ } else if ( !oObj.equals(frame) ) {
+ log.println("findFrame(\"_self\") "
+ + " returns frame which is not equal to tested") ;
+ result = false ;
+ }
+
+ tRes.tested("findFrame()", result) ;
+ }
+
+ /**
+ * At first new listener is added, then test calls the method and result
+ * is checked. <p>
+ * Has <b> OK </b> status if isDesktop() method returnes true or if the
+ * listener was called and proper event past to listener.
+ */
+ public void _contextChanged() {
+ boolean result = true;
+ TestFrameActionListener listener = new TestFrameActionListener();
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop cann't change context");
+ tRes.tested("contextChanged()", true) ;
+ return;
+ }
+
+ listenerCalled[0] = false;
+ oObj.addFrameActionListener(listener);
+ try {
+ oObj.contextChanged();
+ if ( !listenerCalled[0] ) {
+ log.println("listener was not called on contextChanged() call.") ;
+ result = false;
+ } else if (actionEvent[0] != FrameAction.CONTEXT_CHANGED) {
+ log.println("listener was called, but Action != CONTEXT_CHANGED") ;
+ result = false;
+ }
+ } finally {
+ oObj.removeFrameActionListener(listener);
+ }
+
+ boolean res = isDesktop(log, tEnv, "contextChanged()");
+ if (res) result = res;
+ tRes.tested("contextChanged()", result);
+ }
+
+
+ /**
+ * Test calls the method. Remembered old creater is restored at the end. <p>
+ * Has <b> OK </b> status if the method sucessfully set new value to (XFrame)
+ * oObj object.
+ */
+ public void _setCreator() {
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no creator");
+ tRes.tested("setCreator()", true) ;
+ return;
+ }
+
+ XFramesSupplier oldCreator = oObj.getCreator() ;
+ oObj.setCreator(null) ;
+ tRes.tested("setCreator()", oObj.getCreator() == null) ;
+ oObj.setCreator(oldCreator) ;
+ }
+
+ /**
+ * Test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if method returns true, and values, set by the
+ * method are nulls, or if method returns false, and values are not changed.
+ * This method destroy the object. Therfore all other methods have to be
+ * executed before :
+ * <ul>
+ * <li> <code> getName() </code>
+ * <li> <code> setName() </code>
+ * <li> <code> activate() </code>
+ * <li> <code> deactivate() </code>
+ * <li> <code> isActive() </code>
+ * <li> <code> addFrameActionListener() </code>
+ * <li> <code> getComponentWindow() </code>
+ * <li> <code> getContainerWindow() </code>
+ * <li> <code> getController() </code>
+ * <li> <code> isTop() </code>
+ * <li> <code> findFrame() </code>
+ * <li> <code> contextChanged() </code>
+ * <li> <code> setCreator() </code>
+ * object</li>
+ * </ul>
+ */
+ public void _setComponent() {
+ // setComponent() destr
+ requiredMethod("getName()") ;
+ requiredMethod("setName()") ;
+ requiredMethod("activate()") ;
+ requiredMethod("deactivate()") ;
+ requiredMethod("isActive()") ;
+ requiredMethod("addFrameActionListener()") ;
+ requiredMethod("getComponentWindow()") ;
+ requiredMethod("getContainerWindow()") ;
+ requiredMethod("getController()") ;
+ requiredMethod("isTop()") ;
+ requiredMethod("findFrame()") ;
+ requiredMethod("contextChanged()") ;
+ requiredMethod("setCreator()") ;
+
+ boolean result = true;
+
+ XWindow oldWindow = oObj.getComponentWindow();
+ XController oldController = oObj.getController();
+ boolean rs = oObj.setComponent(null, null);
+ if (rs) { // component must be changed
+ result &= oObj.getComponentWindow() == null;
+ result &= oObj.getController() == null;
+ if (!result)
+ log.println("setComponent() returns true, but component is " +
+ "not changed.");
+ } else { // frame is not allowed to change component
+ result &= oObj.getComponentWindow() == oldWindow ;
+ result &= oObj.getController() == oldController ;
+ if (!result)
+ log.println("setComponent() returns false, but component is" +
+ "changed.");
+ }
+ tRes.tested("setComponent()", result);
+
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns.
+ * In case a frame should initialised twice, a
+ * <CODE>com.sun.star.uno.RuntimeException</CODE> was thron. This is ok. But since
+ * a com.sun.star.uno.RuntimeException could thrown in any state the message of
+ * the exception must contain a defined string. In this case the test get an
+ * <CODE>OK</CODE> status.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setComponent() </code> : sets window and controller to the
+ * object</li>
+ * </ul>
+ */
+ public void _initialize() {
+ requiredMethod("setComponent()") ;
+ XWindow win = oObj.getContainerWindow() ;
+ boolean bOK = true;
+ try {
+ oObj.initialize(win) ;
+ } catch (com.sun.star.uno.RuntimeException e){
+ String message="Frame::initialized() is called more then once, which isnt usefull nor allowed.";
+ if (e.toString().indexOf(message) != -1){
+ log.println(e.toString());
+ log.println("methods throws exception, but it's OK");
+ }else{
+ log.println(e.toString());
+ bOK=false;
+ }
+
+ }
+ tRes.tested("initialize()", bOK) ;
+ }
+
+ /**
+ * Checks does relation 'Desktop' exist. Returns true if exist.
+ */
+ public static boolean isDesktop(PrintWriter log,
+ TestEnvironment env, String method) {
+ Object isD = env.getObjRelation("Desktop");
+ if (isD != null) {
+ log.println("The Desktop doesn't support the method " + method);
+ log.println("It will always return true");
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ public void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java b/qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java
new file mode 100644
index 000000000000..b95e438972ac
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.frame.FrameActionEvent;
+import com.sun.star.frame.XFrameActionListener;
+import lib.MultiMethodTest;
+
+public class _XFrameActionListener extends MultiMethodTest {
+
+ public XFrameActionListener oObj = null;
+
+
+ public void _frameAction() {
+ FrameActionEvent event = new FrameActionEvent();
+ oObj.frameAction(event);
+ tRes.tested("frameAction()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XFrameLoader.java b/qadevOOo/tests/java/ifc/frame/_XFrameLoader.java
new file mode 100644
index 000000000000..a914d3e711b9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFrameLoader.java
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFrameLoader;
+import com.sun.star.frame.XLoadEventListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.frame.XFrameLoader</code>
+* interface methods :
+* <ul>
+* <li><code> load()</code></li>
+* <li><code> cancel()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'FrameLoader.URL'</code> (of type <code>String</code>):
+* an url or component to be loaded </li>
+* <li> <code>'FrameLoader.Frame'</code> <b>(optional)</b>
+* (of type <code>com.sun.star.frame.XFrame</code>):
+* a target frame where component to be loaded. If this
+* relation is ommited then a text document created and its
+* frame is used. </li>
+* <li> <code>'FrameLoader.args'</code> <b>(optional)</b>
+* (of type <code>Object[]</code>):
+* necessary arguuments for loading a component. If ommited
+* then zero length array is passed as parameter</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XFrameLoader
+*/
+public class _XFrameLoader extends MultiMethodTest {
+
+ public XFrameLoader oObj = null; // oObj filled by MultiMethodTest
+ private String url = null ;
+ private XFrame frame = null ;
+ private PropertyValue[] args = new PropertyValue[0] ;
+
+ /**
+ * Implemetation of load listener which geristers all it's calls.
+ */
+ protected class TestListener implements XLoadEventListener {
+ public boolean finished = false ;
+ public boolean cancelled = false ;
+
+ public void loadFinished(XFrameLoader l) {
+ finished = true ;
+ }
+ public void loadCancelled(XFrameLoader l) {
+ cancelled = true ;
+ }
+ public void disposing(EventObject e) {}
+ }
+
+ TestListener listener = new TestListener() ;
+ XComponent frameSup = null ;
+
+ /**
+ * Retrieves all relations. If optional ones are not found
+ * creates their default values. <p>
+ * @throws StatusException If one of required relations not found.
+ */
+ public void before() {
+ url = (String) tEnv.getObjRelation("FrameLoader.URL") ;
+ frame = (XFrame) tEnv.getObjRelation("FrameLoader.Frame") ;
+
+ if (frame == null) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ frameSup = SOF.createTextDoc( null );
+
+ Object oDsk = ((XMultiServiceFactory)tParam.getMSF())
+ .createInstance("com.sun.star.frame.Desktop") ;
+ XDesktop dsk = (XDesktop)
+ UnoRuntime.queryInterface(XDesktop.class, oDsk) ;
+
+ shortWait() ;
+ frame = dsk.getCurrentFrame() ;
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create a frame.", e );
+ }
+ }
+
+ Object args = tEnv.getObjRelation("FrameLoader.args") ;
+ if (args != null) this.args = (PropertyValue[]) args ;
+
+ if (url == null /*|| frame == null*/) {
+ throw new StatusException
+ (Status.failed("Some relations not found")) ;
+ }
+ }
+
+ private boolean loaded = false ;
+
+ /**
+ * Firts <code>cancel</code> method test is called.
+ * If in that test loaing process was interrupted by
+ * <code>cancel</code> call then <code>load</code> test
+ * executes. It loads a component, waits some moment to
+ * listener have a chance to be called and then checks
+ * if the load listener was called. <p>
+ * Has <b>OK</b> status if <code>cancel</code> method test
+ * didn't interrupt loading and it was successfull, or
+ * if in this method it loads successfull and listener's
+ * <code>finished</code> method was called.
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> cancel() </code> </li>
+ * </ul>
+ */
+ public void _load() {
+ executeMethod("cancel()") ;
+
+ if (!loaded) {
+ oObj.load(frame, url, args, listener) ;
+
+ shortWait();
+
+ loaded = listener.finished ;
+ }
+
+ tRes.tested("load()", loaded) ;
+ }
+
+ /**
+ * Starts to load a component and then immediatly tries to
+ * cancel the process. <p>
+ * Has <b>OK</b> status if the process was cancelled or
+ * finished (appropriate listener methods were called).
+ */
+ public void _cancel() {
+ boolean result = true ;
+
+ oObj.load(frame, url, args, listener) ;
+ oObj.cancel() ;
+
+ shortWait();
+
+ if (listener.cancelled) {
+ log.println("Loading was canceled.") ;
+ }
+ if (listener.finished) {
+ log.println("Loading was finished.") ;
+ loaded = true ;
+ }
+ if (!listener.cancelled && !listener.finished) {
+ log.println("Loading was not canceled and not finished") ;
+ result = false ;
+ }
+
+ tRes.tested("cancel()", result) ;
+ }
+
+ public void after() {
+ if (frameSup != null) frameSup.dispose() ;
+ frame.dispose();
+ }
+
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java b/qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java
new file mode 100644
index 000000000000..bd6bcd7a4f86
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFramesSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.frame.XFramesSupplier</code>
+* interface methods:
+* <ul>
+* <li><code> getActiveFrame() </code></li>
+* <li><code> getFrames() </code></li>
+* <li><code> setActiveFrame() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XFramesSupplier
+*/
+public class _XFramesSupplier extends MultiMethodTest {
+ public static XFramesSupplier oObj = null;
+ protected XIndexAccess frames = null ;
+ protected XFrame active = null ;
+ protected int activeIdx = -1 ;
+
+ /**
+ * Test calls the method, then result is checked. Also active frame index
+ * is saved in activeIdx variable.<p>
+ *
+ * Has <b> OK </b> status if the method does not return null and the object
+ * contains returned frame. Or if no frames available and the method
+ * returns null.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFrames() </code> : obtains frames from the object </li>
+ * </ul>
+ */
+ public void _getActiveFrame() {
+ boolean result = true ;
+
+ requiredMethod("getFrames()") ;
+ active = oObj.getActiveFrame() ;
+ if (active == null) {
+ // if no child frames then no active frame could be
+ result = oObj.getFrames().getCount() == 0;
+ log.println("getActiveFrame() returned null") ;
+ }
+ else {
+ boolean hasActiveFrame = false ;
+ for (int i = 0; i < frames.getCount(); i++) {
+ XFrame fr = null ;
+ try {
+ fr = null;
+ try {
+ fr = (XFrame) AnyConverter.toObject(
+ new Type(XFrame.class),frames.getByIndex(i));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ }
+ if (active.equals(fr)) {
+ hasActiveFrame = true ;
+ activeIdx = i ;
+ }
+ }
+ if (!hasActiveFrame) {
+ log.println("getActiveFrame() isn't contained " +
+ "in getFrames() collection") ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getActiveFrame()", result) ;
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method does not return null,
+ * number of returned frames is not zero and each of them is not null too.
+ */
+ public void _getFrames() {
+ boolean result = true ;
+ int cnt = 0;
+
+ frames = oObj.getFrames() ;
+ if (frames != null) {
+ cnt = frames.getCount() ;
+// if (cnt == 0) result = false ;
+ log.println("There are " + cnt + " frames.") ;
+ } else {
+ log.println("getFrames() returned null !!!") ;
+ result = false ;
+ }
+ for (int i = 0; i < cnt; i++) {
+ try {
+ if (frames.getByIndex(i) == null) {
+ log.println("Frame(" + i + ") == null") ;
+ result = false ;
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ }
+ }
+
+ tRes.tested("getFrames()", result) ;
+ }
+
+ /**
+ * After selecting frame to be activated, test calls the method. <p>
+ *
+ * Has <b> OK </b> status if set and gotten active frames are equal.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getActiveFrame() </code> : gets active frame </li>
+ * </ul>
+ */
+ public void _setActiveFrame() {
+ boolean result = true ;
+ XFrame sFrame = null ;
+
+ requiredMethod("getActiveFrame()") ;
+ if (frames.getCount() > 1) {
+ try {
+ if (activeIdx != 0)
+ try {
+ sFrame = (XFrame) AnyConverter.toObject(
+ new Type(XFrame.class),frames.getByIndex(0));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ else
+ try {
+ sFrame = (XFrame) AnyConverter.toObject(
+ new Type(XFrame.class),frames.getByIndex(1));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ }
+ } else if (frames.getCount() > 0) {
+ sFrame = active ;
+ } else {
+ sFrame = null;
+ }
+
+ oObj.setActiveFrame(sFrame) ;
+ XFrame gFrame = oObj.getActiveFrame() ;
+ if (!(gFrame == null && sFrame == null
+ || sFrame.equals(gFrame))) {
+
+ log.println("Active frame set is not equal frame get: FAILED");
+ result = false ;
+ }
+
+ tRes.tested("setActiveFrame()", result) ;
+ }
+
+} // finished class _XFramesSupplier
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java b/qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java
new file mode 100644
index 000000000000..2d644d2b2391
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.frame.XInplaceLayout;
+import lib.MultiMethodTest;
+
+public class _XInplaceLayout extends MultiMethodTest {
+ public XInplaceLayout oObj = null;
+
+ public void _setInplaceMenuBar() {
+ log.print("This method exists for inplace editing with own modules. ");
+ log.println("It makes no sense to call it from Java.");
+// oObj.setInplaceMenuBar(l);
+ tRes.tested("setInplaceMenuBar()", true);
+ }
+
+ public void _resetInplaceMenuBar() {
+ requiredMethod("setInplaceMenuBar()");
+ oObj.resetInplaceMenuBar();
+ tRes.tested("resetInplaceMenuBar()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XLayoutManager.java b/qadevOOo/tests/java/ifc/frame/_XLayoutManager.java
new file mode 100644
index 000000000000..34fd55182e92
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XLayoutManager.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.awt.Point;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XLayoutManager;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.Size;
+import com.sun.star.ui.DockingArea;
+import com.sun.star.ui.XUIElement;
+import lib.MultiMethodTest;
+import util.utils;
+
+public class _XLayoutManager extends MultiMethodTest {
+ public XLayoutManager oObj = null;
+
+ private XFrame xFrame = null;
+ private String sElementName = "private:resource/menubar/myMenu";
+
+ public void before() {
+ xFrame = (XFrame)tEnv.getObjRelation("XLayoutManager.Frame");
+ }
+
+ public void _attachFrame() {
+ oObj.attachFrame(xFrame);
+ tRes.tested("attachFrame()", true);
+ }
+
+ public void _createElement() {
+ requiredMethod("attachFrame()");
+ oObj.createElement(sElementName);
+ tRes.tested("createElement()", true);
+ }
+
+ public void _destroyElement() {
+ requiredMethod("getElement()");
+ requiredMethod("getElements()");
+ oObj.destroyElement(sElementName);
+ tRes.tested("destroyElement()", true);
+ }
+
+ public void _doLayout() {
+ oObj.doLayout();
+ tRes.tested("doLayout()", true);
+ }
+
+ public void _dockWindow() {
+ requiredMethod("createElement()");
+ Point p = new Point();
+ p.X = 0;
+ p.Y = 0;
+ oObj.dockWindow(sElementName, DockingArea.DOCKINGAREA_TOP, p);
+ tRes.tested("dockWindow()", true);
+ }
+
+ public void _floatWindow() {
+ requiredMethod("createElement()");
+ oObj.floatWindow(sElementName);
+ tRes.tested("floatWindow()", true);
+ }
+
+ public void _getCurrentDockingArea() {
+ requiredMethod("attachFrame()");
+ Rectangle rect = oObj.getCurrentDockingArea();
+ tRes.tested("getCurrentDockingArea()", rect != null);
+ }
+
+ public void _getElement() {
+ requiredMethod("createElement()");
+ XUIElement xElement = oObj.getElement(sElementName);
+ tRes.tested("getElement()", true);
+ }
+
+ public void _getElementPos() {
+ Point p = oObj.getElementPos(sElementName);
+ tRes.tested("getElementPos()", p != null);
+ }
+
+ public void _getElementSize() {
+ Size s = oObj.getElementSize(sElementName);
+ tRes.tested("getElementSize()", s != null);
+ }
+
+ public void _getElements() {
+ requiredMethod("createElement()");
+ XUIElement[] xElements = oObj.getElements();
+ for (int i=0; i<xElements.length; i++) {
+ Object o = xElements[i].getRealInterface();
+ log.println("Element " + i + ": " + o.toString() + " " + utils.getImplName(o));
+ }
+ tRes.tested("getElements()", xElements != null);
+ }
+
+ public void _hideElement() {
+ boolean hidden = oObj.hideElement(sElementName);
+ tRes.tested("hideElement()", true);
+ }
+
+ public void _isElementDocked() {
+ boolean docked = oObj.isElementDocked(sElementName);
+ tRes.tested("isElementDocked()", true);
+ }
+
+ public void _isElementFloating() {
+ boolean docked = oObj.isElementFloating(sElementName);
+ tRes.tested("isElementFloating()", true);
+ }
+
+ public void _isElementVisible() {
+ boolean docked = oObj.isElementVisible(sElementName);
+ tRes.tested("isElementVisible()", true);
+ }
+
+ public void _lock() {
+ oObj.lock();
+ tRes.tested("lock()", true);
+ }
+
+ public void _reset() {
+ oObj.reset();
+ tRes.tested("reset()", true);
+ }
+
+ public void _setDockingAreaAcceptor() {
+ oObj.setDockingAreaAcceptor(null);
+ tRes.tested("setDockingAreaAcceptor()", true);
+ }
+
+ public void _setElementPos() {
+ requiredMethod("createElement()");
+ Point p = new Point();
+ p.X = 0;
+ p.Y = 150;
+ oObj.setElementPos(sElementName, p);
+ tRes.tested("setElementPos()", true);
+ }
+
+ public void _setElementPosSize() {
+ requiredMethod("createElement()");
+ Point p = new Point();
+ p.X = 150;
+ p.Y = 0;
+ Size size = new Size();
+ size.Height = 50;
+ size.Width = 80;
+ oObj.setElementPosSize(sElementName, p, size);
+ tRes.tested("setElementPosSize()", true);
+ }
+
+ public void _setElementSize() {
+ requiredMethod("createElement()");
+ Size size = new Size();
+ size.Height = 80;
+ size.Width = 50;
+ oObj.setElementSize(sElementName, size);
+ tRes.tested("setElementSize()", true);
+ }
+
+ public void _showElement() {
+ requiredMethod("createElement()");
+ boolean shown = oObj.showElement(sElementName);
+ tRes.tested("showElement()", true);
+
+ }
+
+ public void _unlock() {
+ requiredMethod("lock()");
+ oObj.unlock();
+ tRes.tested("unlock()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XModel.java b/qadevOOo/tests/java/ifc/frame/_XModel.java
new file mode 100644
index 000000000000..6fa133e28780
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XModel.java
@@ -0,0 +1,258 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.view.XSelectionSupplier;
+
+import lib.MultiMethodTest;
+
+
+/**
+* Testing <code>com.sun.star.frame.XModel</code>
+* interface methods:
+* <ul>
+* <li><code> attachResource() </code></li>
+* <li><code> connectController() </code></li>
+* <li><code> disconnectController() </code></li>
+* <li><code> getArgs() </code></li>
+* <li><code> getCurrentController() </code></li>
+* <li><code> getCurrentSelection() </code></li>
+* <li><code> getURL() </code></li>
+* <li><code> hasControllersLocked() </code></li>
+* <li><code> lockControllers() </code></li>
+* <li><code> setCurrentController() </code></li>
+* <li><code> unlockControllers() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CONT2'</code> (of type <code>XController</code>):
+* a controller used as an argument for several test methods </li>
+* <li> <code>'TOSELECT'</code> (of type <code>Object</code>):
+* something, we want to select from document </li>
+* <li> <code>'SELSUPP'</code> (of type <code>XSelectionSupplier</code>):
+* supplier, we use to select something in a document </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XModel
+*/
+public class _XModel extends MultiMethodTest {
+ public XModel oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns true.
+ */
+ public void _attachResource() {
+ log.println("opening DataSourceBrowser");
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ result = oObj.attachResource(".component:DB/DataSourceBrowser", noArgs);
+ tRes.tested("attachResource()", result);
+ }
+
+ /**
+ * After obtaining object relation 'CONT2' and storing old controller,
+ * test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if controller, gotten after method call is not
+ * equal to a previous controller.
+ */
+ public void _connectController() {
+ XController cont2 = (XController) tEnv.getObjRelation("CONT2");
+ XController old = oObj.getCurrentController();
+ result = false;
+
+ if (cont2 == null) {
+ log.println("No controller no show");
+ } else {
+ oObj.connectController(cont2);
+
+ String oldFrame = old.getFrame().getName();
+ String newFrame = cont2.getFrame().getName();
+ result = (!oldFrame.equals(newFrame));
+ }
+
+ tRes.tested("connectController()", result);
+ }
+
+ /**
+ * After obtaining object relation 'CONT2', test calls the method,
+ * then result is checked.<p>
+ * Has <b> OK </b> status if controller, gotten after method call is not
+ * equal to a controller we use as an argument to method.
+ */
+ public void _disconnectController() {
+ XController cont2 = (XController) tEnv.getObjRelation("CONT2");
+ result = false;
+
+ if (cont2 == null) {
+ log.println("No controller no show");
+ } else {
+ oObj.disconnectController(cont2);
+ result = (oObj.getCurrentController() != cont2);
+ }
+
+ tRes.tested("disconnectController()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getArgs() {
+ tRes.tested("getArgs()", oObj.getArgs() != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentController() {
+ XController ctrl = oObj.getCurrentController();
+ tRes.tested("getCurrentController()", ctrl != null);
+ }
+
+ /**
+ * After obtaining object relations 'SELSUPP' and 'TOSELECT', test prepares
+ * selection and calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentSelection() {
+ XSelectionSupplier selsupp = (XSelectionSupplier) tEnv.getObjRelation(
+ "SELSUPP");
+ Object toSelect = tEnv.getObjRelation("TOSELECT");
+ result = false;
+
+ if (selsupp == null) {
+ log.println("No Selection Supplier no show");
+ } else {
+ try {
+ selsupp.select(toSelect);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while select:");
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ Object sel = oObj.getCurrentSelection();
+ result = (sel != null);
+ }
+
+ tRes.tested("getCurrentSelection()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getURL() {
+ String url = oObj.getURL();
+ log.println("The url: " + url);
+ tRes.tested("getURL()", url != null);
+ }
+
+ /**
+ * if controller is not locked, test calls the method. <p>
+ * Has <b> OK </b> status if the method returns true. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> lockControllers() </code> : locks controllers </li>
+ * </ul>
+ */
+ public void _hasControllersLocked() {
+ requiredMethod("lockControllers()");
+ tRes.tested("hasControllersLocked()", oObj.hasControllersLocked());
+ }
+
+ /**
+ * Test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if method locks controllers.
+ */
+ public void _lockControllers() {
+ oObj.lockControllers();
+ result = oObj.hasControllersLocked();
+ tRes.tested("lockControllers()", result);
+ }
+
+ /**
+ * After obtaining object relation 'CONT2' and storing old controller,
+ * controller cont2 is connected, then this controller is
+ * setting as current.
+ * Sets the old controller as current.
+ * <p>Has <b> OK </b> status if set and gotten controllers are not equal.
+ */
+ public void _setCurrentController() {
+ XController cont2 = (XController) tEnv.getObjRelation("CONT2");
+ XController old = oObj.getCurrentController();
+ result = false;
+
+ if (cont2 == null) {
+ log.println("No controller no show");
+ } else {
+ oObj.connectController(cont2);
+
+ try {
+ oObj.setCurrentController(cont2);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.print("Cannot set current controller:");
+ e.printStackTrace(log);
+ }
+
+ result = (oObj.getCurrentController() != old);
+
+ try {
+ oObj.setCurrentController(old);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.print("Cannot set current controller:");
+ e.printStackTrace(log);
+ }
+ }
+
+ tRes.tested("setCurrentController()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if method unlocks controllers.
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> hasControllersLocked() </code> : checks if controllers are
+ * locked </li>
+ * </ul>
+ */
+ public void _unlockControllers() {
+ requiredMethod("hasControllersLocked()");
+ oObj.unlockControllers();
+ result = !oObj.hasControllersLocked();
+ tRes.tested("unlockControllers()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XModuleManager.java b/qadevOOo/tests/java/ifc/frame/_XModuleManager.java
new file mode 100755
index 000000000000..375500f89bb6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XModuleManager.java
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.beans.PropertyValue;
+
+import com.sun.star.frame.XModuleManager;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.frame.UnknownModuleException;
+
+
+/**
+* Testing <code>com.sun.star.frame.XModuleManager</code>
+* interface methods:
+* <ul>
+* <li><code> identify() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XModuleManager.XFrame'</code> (of type <code>PropertyValue[]</code>):
+* PropertyValue[n].Value : a XFrame
+* PropertyValue[n].Name : the expected return value of <code>idendify()</code></li>
+* <li> <code>'XModuleManager.XController'</code> (of type <code>PropertyValue[]</code>):
+* PropertyValue[n].Value : a XController
+* PropertyValue[n].Name : the expected return value of <code>idendify()</code></li>
+* <li> <code>'XModuleManager.XModel'</code> (of type <code>PropertyValue[]</code>):
+* PropertyValue[n].Value : a XFrame
+* PropertyValue[n].Name : the expected return value of <code>idendify()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XModuleManager
+*/
+public class _XModuleManager extends MultiMethodTest {
+ /** Test calls the method. <p>
+ * The onject relations <CODE>XModuleManager.XFrame</CODE>,
+ * <CODE>XModuleManager.XController</CODE> and <CODE>XModuleManager.XModel</CODE>
+ * are sequenzes of <CODE>PropertyValue</CODE>. The value of a PropertyValue
+ * containes a <CODE>XFrame</CODE>, <CODE>XController</CODE> or a
+ * <CODE>XModel</CODE>. The name of the PropertyValue contains the expected return
+ * value of method <CODE>indetify()</CODE> if the method was called with
+ * coresponding value.<p>
+ * As enhancement the method <CODE>identify()</CODE> was called with incvalid
+ * parameter. In this case the thrown exceptions was catched.
+ */
+ public XModuleManager oObj = null;
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns expected values, that's equal to
+ * previously obtained object relation 'Frame'.
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code> attachFrame() </code> : attachs frame obtained object
+ * relation 'Frame' </li>
+ * </ul>
+ */
+
+ private PropertyValue[] xFrameSeq = null;
+ private PropertyValue[] xControllerSeq = null;
+ private PropertyValue[] xModelSeq = null;
+ /** Retrieves object relations. */
+
+ public void before() {
+
+ xFrameSeq = (PropertyValue[]) tEnv.getObjRelation("XModuleManager.XFrame") ;
+
+ if (xFrameSeq == null) throw new StatusException
+ (Status.failed("Relation 'xFrameSeq' not found.")) ;
+
+
+ xControllerSeq = (PropertyValue[]) tEnv.getObjRelation("XModuleManager.XController") ;
+
+ if (xControllerSeq == null) throw new StatusException
+ (Status.failed("Relation 'xControllerSeq' not found.")) ;
+
+
+ xModelSeq = (PropertyValue[]) tEnv.getObjRelation("XModuleManager.XModel") ;
+
+ if (xModelSeq == null) throw new StatusException
+ (Status.failed("Relation 'xModelSeq' not found.")) ;
+ }
+
+ /** The method <CODE>identify()</CODE> was tesed for every entry in sequeze of
+ * object relations.
+ */
+ public void _identify() {
+ boolean ok = true;
+ log.println("testing frame sequenze...");
+ ok &= testSequenze(xFrameSeq);
+ log.println("testing controller sequenze...");
+ ok &= testSequenze(xControllerSeq);
+ log.println("testing model sequenze...");
+ ok &= testSequenze(xModelSeq);
+ tRes.tested("identify()", ok);
+
+ log.println("testing invalid objects...");
+ try{
+ oObj.identify(oObj);
+ } catch (IllegalArgumentException e){
+ log.println("expected exception.");
+ } catch (UnknownModuleException e){
+ log.println("expected exception.");
+ }
+ }
+
+ private boolean testSequenze(PropertyValue[] sequenze){
+ boolean ok = true;
+ for (int i = 0 ; i < sequenze.length; i++){
+ try{
+ log.println("testing '" + sequenze[i].Name + "'");
+ if (oObj.identify(sequenze[i].Value).equals(
+ sequenze[i].Name)){
+ ok &= ok;
+ }else{
+ log.println("failure: returned value: '" +
+ oObj.identify(sequenze[i].Value) +
+ "' ,expected value: '" + sequenze[i].Name + "'");
+ ok = false;
+ }
+ } catch (IllegalArgumentException e){
+ log.println("Could not get value of sequenze '" +
+ sequenze[i].Name + "'");
+ return false;
+
+ } catch (UnknownModuleException e){
+ log.println("Could not indetify value of sequenze '" +
+ sequenze[i].Name + "'");
+ return false;
+ }
+ }
+ return ok;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java b/qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java
new file mode 100644
index 000000000000..8402aac41db2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.util.URL;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import com.sun.star.frame.XNotifyingDispatch;
+import com.sun.star.frame.DispatchResultEvent;
+
+/**
+* Testing <code>com.sun.star.frame.XNotifyingDispatch</code>
+* interface methods :
+* <ul>
+* <li><code> dispatchWithNotification()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDispatch.URL'</code> (of type <code>com.sun.star.util.URL
+* </code>): URL for passing to <code>dispatch()</code> method. </li>
+* <li> <code>[OPTIONAL] 'XNotifyingDispatchArgument'</code>
+* (of type sequence<code>com::sun::star::beans::PropertyValue
+* </code>): argumets for <code>dispatchWithNotification()</code> method. </li>
+* <ul> <p>
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.frame.XNotifyingDispatch
+* @see ifc.frmae._XDispatch
+*/
+public class _XNotifyingDispatch extends MultiMethodTest {
+
+ public XNotifyingDispatch oObj = null;
+
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected class TestNotificationListener implements
+ com.sun.star.frame.XDispatchResultListener {
+ public boolean disposingCalled = false ;
+ public boolean finishedDispatch = false ;
+ private java.io.PrintWriter log = null ;
+
+ public TestNotificationListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ disposingCalled = true ;
+ log.println(" disposing was called.") ;
+ }
+
+ public void dispatchFinished( DispatchResultEvent e) {
+ finishedDispatch = true ;
+ log.println(" dispatchFinished was called.") ;
+ }
+
+ }
+
+ TestNotificationListener notificationListener = null;
+ PropertyValue[] arguments = null;
+ URL url = null ;
+
+ /**
+ * Retrieves object relations and creates new listeners.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ notificationListener = new TestNotificationListener(log) ;
+ url = (URL) tEnv.getObjRelation("XDispatch.URL") ;
+
+ if (url == null) throw new StatusException
+ (Status.failed("Relation not found.")) ;
+
+ arguments = (PropertyValue[])
+ tEnv.getObjRelation("XNotifyingDispatchArgument");
+ }
+
+ /**
+ * Calls the method using URL and arguments from relation. <p>
+ * Has <b> OK </b> status if listener is called.
+ * The following method tests are to be completed successfully before :
+ */
+ public void _dispatchWithNotification() {
+
+ boolean result = true ;
+
+ oObj.dispatchWithNotification(url, arguments, notificationListener);
+
+ try {
+ Thread.sleep(200);
+ }
+ catch(java.lang.InterruptedException e) {}
+
+ log.println("Listener called: "+ notificationListener.finishedDispatch);
+
+ result = notificationListener.finishedDispatch;
+
+
+ tRes.tested("dispatchWithNotification()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java b/qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java
new file mode 100644
index 000000000000..f057e64824c5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.awt.XPopupMenu;
+import com.sun.star.frame.XPopupMenuController;
+import lib.MultiMethodTest;
+
+public class _XPopupMenuController extends MultiMethodTest {
+ public XPopupMenuController oObj = null;
+
+ public void before() {
+
+ }
+
+ public void _setPopupMenu() {
+ XPopupMenu xMenu = new PopupMenuImpl();
+ oObj.setPopupMenu(xMenu);
+ tRes.tested("setPopupMenu()", true);
+ }
+
+ public void _updatePopupMenu() {
+ oObj.updatePopupMenu();
+ tRes.tested("updatePopupMenu()", true);
+ }
+
+ private class PopupMenuImpl implements XPopupMenu {
+
+ public void addMenuListener(com.sun.star.awt.XMenuListener xMenuListener) {
+ System.out.println("addMenuListener called.");
+ }
+
+ public void checkItem(short param, boolean param1) {
+ System.out.println("checkItemListener called.");
+ }
+
+ public void enableItem(short param, boolean param1) {
+ System.out.println("enableItem called.");
+ }
+
+ public short execute(com.sun.star.awt.XWindowPeer xWindowPeer, com.sun.star.awt.Rectangle rectangle, short param) {
+ System.out.println("execute called.");
+ return 0;
+ }
+
+ public short getDefaultItem() {
+ System.out.println("getDefaultItem called.");
+ return 0;
+ }
+
+ public short getItemCount() {
+ System.out.println("getItemCount called.");
+ return 0;
+ }
+
+ public short getItemId(short param) {
+ System.out.println("getItemId called.");
+ return 0;
+ }
+
+ public short getItemPos(short param) {
+ System.out.println("getItemPos called.");
+ return 0;
+ }
+
+ public String getItemText(short param) {
+ System.out.println("getItemText called.");
+ return "Hi.";
+ }
+
+ public com.sun.star.awt.XPopupMenu getPopupMenu(short param) {
+ System.out.println("getPopupMenu called.");
+ return this;
+ }
+
+ public void insertItem(short param, String str, short param2, short param3) {
+ System.out.println("insertItem called.");
+ }
+
+ public void insertSeparator(short param) {
+ System.out.println("insertSeparator called.");
+ }
+
+ public boolean isItemChecked(short param) {
+ System.out.println("isItemChecked called.");
+ return false;
+ }
+
+ public boolean isItemEnabled(short param) {
+ System.out.println("isItemEnabled called.");
+ return false;
+ }
+
+ public void removeItem(short param, short param1) {
+ System.out.println("removeItem called.");
+ }
+
+ public void removeMenuListener(com.sun.star.awt.XMenuListener xMenuListener) {
+ System.out.println("removeMenuListener called.");
+ }
+
+ public void setDefaultItem(short param) {
+ System.out.println("setDefaultItem called.");
+ }
+
+ public void setItemText(short param, String str) {
+ System.out.println("setItemText called.");
+ }
+
+ public void setPopupMenu(short param, com.sun.star.awt.XPopupMenu xPopupMenu) {
+ System.out.println("setPopupMenu called.");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XStatusListener.java b/qadevOOo/tests/java/ifc/frame/_XStatusListener.java
new file mode 100644
index 000000000000..23f71df14e78
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XStatusListener.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.frame.FeatureStateEvent;
+import com.sun.star.frame.XStatusListener;
+import lib.MultiMethodTest;
+
+public class _XStatusListener extends MultiMethodTest {
+ public XStatusListener oObj = null;
+
+
+ public void before() {
+
+ }
+
+ public void _statusChanged() {
+ FeatureStateEvent event = new FeatureStateEvent();
+ oObj.statusChanged(event);
+ tRes.tested("statusChanged()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XStorable.java b/qadevOOo/tests/java/ifc/frame/_XStorable.java
new file mode 100644
index 000000000000..4edc1eb45e54
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XStorable.java
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XStorable;
+import com.sun.star.io.IOException;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+* Testing <code>com.sun.star.frame.XStorable</code>
+* interface methods:
+* <ul>
+* <li><code> getLocation() </code></li>
+* <li><code> hasLocation() </code></li>
+* <li><code> isReadonly() </code></li>
+* <li><code> storeAsURL() </code></li>
+* <li><code> storeToURL() </code></li>
+* <li><code> store() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XStorable
+*/
+public class _XStorable extends MultiMethodTest {
+ public XStorable oObj = null; // oObj filled by MultiMethodTest
+ String storeUrl;
+ boolean stored;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status in three cases:
+ * <ol>
+ * <li>An object has location stored in. Then if method does not return
+ * null, it has <b> OK </b> status</li>
+ * <li>An object has no location stored in. Then method storeAsURL() is
+ * called, and if url is not null and equals to a url where component
+ * was stored, method has <b> OK </b> status</li>
+ * <li>An object has no location stored in. Then method storeAsURL() is
+ * called, and if url is null and method returns null too, method
+ * has <b> OK </b> status </li>
+ * </ol><p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> storeAsURL() </code> : stores the object's persistent data
+ * to a URL and lets the object become the representation of this new
+ * URL</li>
+ * </ul>
+ */
+ public void _getLocation() {
+ if (oObj.hasLocation()) {
+ // if it has location it should know it
+ tRes.tested("getLocation()", oObj.getLocation() != null);
+ } else {
+ // else try to obtain location
+ requiredMethod("storeAsURL()");
+ if (storeUrl != null) {
+ // if stored succesfully - check location
+ log.println(oObj.getLocation() + "--" + storeUrl);
+ tRes.tested("getLocation()",
+ storeUrl.equals(oObj.getLocation()));
+ } else {
+ // if not - it should not have a location
+ tRes.tested("getLocation()", oObj.getLocation() == null);
+ }
+ }
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if stored url is not null and method does not
+ * return null or if stored url is null and the method returns null.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> storeAsURL() </code>: stores the object's persistent data
+ * to a URL and lets the object become the representation of this new
+ * URL</li>
+ * </ul>
+ */
+ public void _hasLocation() {
+ requiredMethod("storeAsURL()");
+ if (storeUrl != null) {
+ // if stored succesfully - it should have a location
+ tRes.tested("hasLocation()", oObj.hasLocation());
+ } else {
+ // if not - it should not
+ tRes.tested("hasLocation()", !oObj.hasLocation());
+ }
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if value, returned by the method is not equal to
+ * 'stored' variable. ( If it's readonly it should not have been stored. )
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> store() </code> : stores data to the URL from which it
+ * was loaded </li>
+ * </ul>
+ */
+ public void _isReadonly() {
+ requiredMethod("store()");
+ tRes.tested("isReadonly()", oObj.isReadonly() != stored);
+ }
+
+ /**
+ * Object is stored into temporary directory. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _storeAsURL() {
+ // getting an url to store
+ String url = (String) utils.getOfficeTemp(
+ (XMultiServiceFactory)tParam.getMSF());
+
+ if (url != null) {
+ url += "xstorable.store.as.test";
+ log.println("store as '" + url + "'");
+ try {
+ oObj.storeAsURL(url, new PropertyValue[0]);
+ storeUrl = url;
+ tRes.tested("storeAsURL()", true);
+ } catch (IOException e) {
+ log.println("Couldn't store as "+url+" : "+e.getMessage());
+ e.printStackTrace(log);
+ storeUrl = null;
+ tRes.tested("storeAsURL()", false);
+ }
+ } else {
+ log.println("an url to store is not found");
+ }
+ }
+
+ /**
+ * Object is stored into temporary directory. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _storeToURL() {
+ // getting an url to store
+ String url = (String) utils.getOfficeTemp(
+ (XMultiServiceFactory)tParam.getMSF());
+
+ if (url != null) {
+ url += "xstorable.store.as.test";
+ log.println("store to '" + url + "'");
+ try {
+ oObj.storeToURL(url, new PropertyValue[0]);
+ tRes.tested("storeToURL()", true);
+ } catch (IOException e) {
+ log.println("Couldn't store to "+url+" : "+e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("storeToURL()", false);
+ }
+ } else {
+ log.println("an url to store is not found");
+ }
+ }
+
+ /**
+ * Test calls the method. Then result is checked.<p>
+ * Has <b> OK </b> status if:
+ * <ol>
+ * <li>component was stored, object is not readonly and has location</li>
+ * <li>exception occured because of component is readonly
+ * and wasn't stored</li>
+ * </ol>
+ */
+ public void _store() {
+ IOException ioE = null;
+
+ try {
+ oObj.store();
+ stored = true;
+ } catch (IOException e) {
+ stored = false;
+ ioE = e;
+ }
+ if (oObj.hasLocation() && !oObj.isReadonly()) {
+ tRes.tested("store()", stored);
+ if (!stored) {
+ log.println("Couldn't store : " + ioE.getMessage());
+ ioE.printStackTrace(log);
+ }
+ } else {
+ tRes.tested("store()", !stored);
+ if (stored) {
+ if (!oObj.hasLocation()) {
+ log.println("Shouldn't store successfully"
+ + " a document without location");
+ } else {
+ log.println("Shouldn't store successfully"
+ + " a read-only document");
+ }
+ }
+ }
+ }
+
+}// finished class _XStorable
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java b/qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java
new file mode 100644
index 000000000000..2f430afa6e39
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XSynchronousFrameLoader;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Testing <code>com.sun.star.frame.XSynchronousFrameLoader</code>
+ * interface methods :
+ * <ul>
+ * <li><code> load()</code></li>
+ * <li><code> cancel()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'FrameLoader.URL'</code> (of type <code>String</code>):
+ * an url of component to be loaded </li>
+ * <li> <code>'FrameLoader.Frame'</code> <b>(optional)</b>
+ * (of type <code>com.sun.star.frame.XFrame</code>):
+ * a target frame where component to be loaded. If this
+ * relation is ommited then a text document created and its
+ * frame is used. </li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.frame.XSynchronousFrameLoader
+ */
+public class _XSynchronousFrameLoader extends MultiMethodTest {
+
+ public XSynchronousFrameLoader oObj = null; // oObj filled by MultiMethodTest
+ private String url = null ;
+ private XFrame frame = null ;
+ private XComponent frameSup = null ;
+ private PropertyValue[] descr = null;
+
+ /**
+ * Retrieves all relations. If optional relation
+ * <code>FrameLoader.Frame</code> not found
+ * creates a new document and otains its frame for loading. <p>
+ *
+ * Also <code>MediaDescriptor</code> is created using
+ * URL from <code>FrameLoader.URL</code> relation.
+ *
+ * @throws StatusException If one of required relations not found.
+ */
+ public void before() {
+ url = (String) tEnv.getObjRelation("FrameLoader.URL") ;
+ frame = (XFrame) tEnv.getObjRelation("FrameLoader.Frame") ;
+
+ if (url == null) {
+ throw new StatusException(Status.failed("Some relations not found")) ;
+ }
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)tParam.getMSF() );
+
+ XURLTransformer xURLTrans = null;
+
+ // if frame is not contained in relations the writer frmame will be used.
+ if (frame == null) {
+ try {
+ log.println( "creating a textdocument" );
+ frameSup = SOF.createTextDoc( null );
+
+ Object oDsk = (
+ (XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.frame.Desktop") ;
+ XDesktop dsk = (XDesktop) UnoRuntime.queryInterface
+ (XDesktop.class, oDsk) ;
+ frame = dsk.getCurrentFrame() ;
+
+ Object o = (
+ (XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.util.URLTransformer") ;
+ xURLTrans = (XURLTransformer) UnoRuntime.queryInterface
+ (XURLTransformer.class, o) ;
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create a document.", e );
+ }
+ }
+
+ URL[] urlS = new URL[1];
+ urlS[0] = new URL();
+ urlS[0].Complete = url;
+ boolean res = xURLTrans.parseStrict(urlS);
+ log.println("Parsing URL '" + url + "': " + res);
+ descr = new PropertyValue[1] ;
+ descr[0] = new PropertyValue();
+ descr[0].Name = "URL" ;
+ descr[0].Value = urlS[0] ;
+ }
+
+
+ /**
+ * Tries to load component to a frame. <p>
+ * Has <b> OK </b> status if <code>true</code> is returned.
+ */
+ public void _load() {
+ boolean result = oObj.load(descr, frame) ;
+
+ tRes.tested("load()", result) ;
+ }
+
+ /**
+ * Tries to load component to a frame in separate thread to
+ * avoid blocking of the current thread and imediately
+ * cancels loading. <p>
+ *
+ * Has <b> OK </b> status if <code>flase</code> is returned,
+ * i.e. loading was not completed.
+ */
+ public void _cancel() {
+ requiredMethod("load()") ;
+
+ final boolean[] result = new boolean[1] ;
+
+ (new Thread() {
+ public void run() {
+ result[0] = oObj.load(descr, frame);
+ }
+ }).start();
+
+ oObj.cancel() ;
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ex) {}
+
+
+ tRes.tested("cancel()", !result[0]) ;
+ }
+
+ /**
+ * Disposes document if it was created for frame supplying.
+ */
+ protected void after() {
+ if (frameSup != null) {
+ frameSup.dispose();
+ }
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java b/qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java
new file mode 100644
index 000000000000..c6702fd9dec1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.XTasksSupplier;
+
+
+/**
+* Testing <code>com.sun.star.frame.XTasksSupplier</code>
+* interface methods:
+* <ul>
+* <li><code> getActiveTask() </code></li>
+* <li><code> getTasks() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.frame.XTasksSupplier
+*/
+public class _XTasksSupplier extends MultiMethodTest {
+ public static XTasksSupplier oObj = null;
+
+ /**
+ * DEPRECATED. <p>
+ * Has <b> OK </b> status .
+ */
+ public void _getActiveTask() {
+// XTask active = oObj.getActiveTask() ;
+// if (active == null)
+// log.println("There is no active task");
+// else
+// log.println("Active task: " + active.getName());
+ log.println("DEPRECATED");
+
+ tRes.tested("getActiveTask()", true) ;
+ } // finished _getTasks()
+
+ /**
+ * DEPRECATED. <p>
+ * Has <b> OK </b> status.
+ */
+ public void _getTasks() {
+// int cnt = 0 ;
+// boolean result = true ;
+// XTask task = null ;
+//
+// XEnumerationAccess enumAcc = oObj.getTasks() ;
+// XEnumeration enum = enumAcc.createEnumeration() ;
+// while (enum.hasMoreElements()) {
+// cnt ++ ;
+// try {
+// task = (XTask) enum.nextElement() ;
+// } catch (com.sun.star.container.NoSuchElementException e) {
+// e.printStackTrace(log);
+// } catch (com.sun.star.lang.WrappedTargetException e) {
+// e.printStackTrace(log);
+// }
+// if (task == null)
+// log.println("" + cnt + " task: null !!!") ;
+// else
+// log.println("" + cnt + " task: " + task.getName()) ;
+// result &= (task != null) ;
+// }
+// log.println("Totaly tasks: " + cnt) ;
+//
+// if (cnt > 0 && result) tRes.tested("getTasks()", true) ;
+
+ log.println("DEPRECATED");
+
+ tRes.tested("getTasks()", true);
+
+ } // finished _removeResetListener()
+
+} // finished class _XTaskSupplier
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java b/qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java
new file mode 100644
index 000000000000..34441e23e36d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.frame;
+
+import com.sun.star.frame.XUIControllerRegistration;
+import lib.MultiMethodTest;
+
+public class _XUIControllerRegistration extends MultiMethodTest {
+ public XUIControllerRegistration oObj = null;
+ private String aRegisteredController = null;
+ private String aController = ".uno:MySecondController";
+
+ public void before() {
+ aRegisteredController = (String)tEnv.getObjRelation("XUIControllerRegistration.RegisteredController");
+ }
+
+
+ public void _registerController() {
+ oObj.registerController(aController, "", "com.sun.star.comp.framework.FooterMenuController");
+ oObj.registerController(aRegisteredController, "", "com.sun.star.comp.framework.HeaderMenuController");
+ tRes.tested("registerController()", true);
+ }
+
+ public void _deregisterController() {
+ requiredMethod("registerController()");
+ oObj.deregisterController(aController, "");
+ tRes.tested("deregisterController()", true);
+ }
+
+ public void _hasController() {
+ requiredMethod("registerController()");
+ requiredMethod("deregisterController()");
+ boolean res = oObj.hasController(aRegisteredController, "");
+ res &= !oObj.hasController(aController, "");
+ tRes.tested("hasController()", res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java b/qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java
new file mode 100644
index 000000000000..7589bc8774c8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java
@@ -0,0 +1,681 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.i18n.Boundary;
+import com.sun.star.i18n.LineBreakHyphenationOptions;
+import com.sun.star.i18n.LineBreakResults;
+import com.sun.star.i18n.LineBreakUserOptions;
+import com.sun.star.i18n.ScriptType;
+import com.sun.star.i18n.WordType;
+import com.sun.star.i18n.XBreakIterator;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XBreakIterator</code>
+* interface methods :
+* <ul>
+* <li><code> nextCharacters()</code></li>
+* <li><code> previousCharacters()</code></li>
+* <li><code> nextWord()</code></li>
+* <li><code> previousWord()</code></li>
+* <li><code> getWordBoundary()</code></li>
+* <li><code> getWordType()</code></li>
+* <li><code> isBeginWord()</code></li>
+* <li><code> isEndWord()</code></li>
+* <li><code> beginOfSentence()</code></li>
+* <li><code> endOfSentence()</code></li>
+* <li><code> getLineBreak()</code></li>
+* <li><code> beginOfScript()</code></li>
+* <li><code> endOfScript()</code></li>
+* <li><code> nextScript()</code></li>
+* <li><code> previousScript()</code></li>
+* <li><code> getScriptType()</code></li>
+* <li><code> beginOfCharBlock()</code></li>
+* <li><code> endOfCharBlock()</code></li>
+* <li><code> nextCharBlock()</code></li>
+* <li><code> previousCharBlock()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Locale'</code>
+* (of type <code>com.sun.star.lang.Locale</code>):
+* this locale is used as locale argument for tested methods.
+* </li>
+* <li> <code>'UnicodeString'</code>
+* (of type <code>String</code>): Unicode string which is passed
+* to methods except 'CharacterBlock' methods.
+* </li>
+* <ul> <p>
+* @see com.sun.star.i18n.XBreakIterator
+*/
+public class _XBreakIterator extends MultiMethodTest {
+
+ public XBreakIterator oObj = null;
+
+ Locale locale = null;
+ String UnicodeString = null;
+
+ short wordType = WordType.ANYWORD_IGNOREWHITESPACES;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ protected void before() {
+ locale = (Locale)tEnv.getObjRelation("Locale");
+ if (locale == null) {
+ throw new StatusException
+ (Status.failed("Relation 'Locale' not found")) ;
+ }
+
+ UnicodeString = (String)tEnv.getObjRelation("UnicodeString");
+ if (UnicodeString == null) {
+ throw new StatusException(Status.failed
+ ("Relation 'UnicodeString' not found")) ;
+ }
+ }
+
+ /**
+ * Compares returned next character positions with expected values. <p>
+ *
+ * Has <b>OK</b> status if position after travel and traveled length
+ * has expected values.
+ */
+ public void _nextCharacters() {
+ short nCharacterIteratorMode =
+ com.sun.star.i18n.CharacterIteratorMode.SKIPCHARACTER;
+
+ int strLength = UnicodeString.length();
+
+ //Start from position : Travel ... chars :
+ // Actual position after : How many chars traveled
+ int[][] nextCharacters = {
+ { 1, 5000, strLength , strLength - 1 },
+ { 10, 6, 16, 6}};
+
+ boolean bRes = true;
+
+ for(int i = 0; i < nextCharacters.length; i++) {
+ int[] lDone = new int[1];
+ long lRes = oObj.nextCharacters(UnicodeString, nextCharacters[i][0],
+ locale, nCharacterIteratorMode, nextCharacters[i][1], lDone);
+ log.println("Expected result is: lRes = " + nextCharacters[i][2] +
+ "; lDone = " + nextCharacters[i][3] );
+ log.println("Actual result is: lRes = " + lRes +
+ "; lDone = " + lDone[0] );
+
+ bRes = bRes && lRes == nextCharacters[i][2];
+ bRes = bRes && lDone[0] == nextCharacters[i][3];
+ }
+
+ tRes.tested("nextCharacters()", bRes);
+ }
+
+ /**
+ * Compares returned previous character positions with expected values. <p>
+ *
+ * Has <b>OK</b> status if position after travel and traveled length
+ * has expected values.
+ */
+ public void _previousCharacters() {
+ short nCharacterIteratorMode =
+ com.sun.star.i18n.CharacterIteratorMode.SKIPCHARACTER;
+
+
+ //Start from position : Travel ... chars : Actual position after :
+ //How many chars traveled
+ int[][] previousCharacters = {
+ {5, 5000, 0, 5},
+ {10, 6, 4, 6}};
+
+ boolean bRes = true;
+ for(int i = 0; i < previousCharacters.length; i++) {
+ int[] lDone = new int[1];
+ int lRes = oObj.previousCharacters(UnicodeString,
+ previousCharacters[i][0],
+ locale, nCharacterIteratorMode,
+ previousCharacters[i][1], lDone);
+ log.println("Expected result is: lRes = " + previousCharacters[i][2]
+ + "; lDone = " + previousCharacters[i][3] );
+ log.println("Actual result is: lRes = " + lRes
+ + "; lDone = " + lDone[0]);
+
+ bRes = bRes && lRes == previousCharacters[i][2];
+ bRes = bRes && lDone[0] == previousCharacters[i][3];
+ }
+
+ tRes.tested("previousCharacters()", bRes);
+ }
+
+ Vector vBounds = new Vector();
+
+ /**
+ * Saves bounds of all returned words for the future tests. <p>
+ * Has <b>OK</b> status.
+ */
+ public void _nextWord() {
+ int i = 0;
+
+ while( i < UnicodeString.length() - 1 ) {
+ Boundary bounds = oObj.nextWord
+ (UnicodeString, i, locale, wordType);
+ if (bounds.endPos - bounds.startPos > 3) {
+ vBounds.add( bounds );
+ log.println("Word " + vBounds.size() + "("
+ + bounds.startPos + "," + bounds.endPos + "): '" +
+ UnicodeString.substring(bounds.startPos,
+ bounds.endPos) + "'");
+ }
+ i = bounds.endPos - 1;
+ }
+ log.println("In text there are " + vBounds.size()
+ + " words, if count from left to right");
+ tRes.tested("nextWord()", true);
+ }
+
+ /**
+ * Compares number of word bounds with number of word bounds saved
+ * by the method _nextWord().<p>
+ * Has <b>OK</b> status if number of word bounds are equal.
+ */
+ public void _previousWord() {
+ requiredMethod("nextWord()");
+
+ int i = UnicodeString.length() - 1;
+ Vector vPrevBounds = new Vector();
+ while( i > 0 ) {
+ Boundary bounds =
+ oObj.previousWord(UnicodeString, i, locale, wordType);
+ if (bounds.endPos - bounds.startPos > 3) {
+ vPrevBounds.add( bounds );
+ log.println("Word " + vPrevBounds.size() + "("
+ + bounds.startPos + "," + bounds.endPos + "): '"
+ + UnicodeString.substring(bounds.startPos, bounds.endPos)
+ + "'");
+ }
+ i = bounds.startPos;
+ }
+ log.println("In text there are " + vPrevBounds.size()
+ + " words, if count from right to left");
+ tRes.tested("previousWord()", vPrevBounds.size() == vBounds.size() );
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * computes bounds of the word, passing its internal character position.<p>
+ *
+ * Has <b>OK</b> status if bounds calculated by <code>getWordBoundary()</code>
+ * method are the same as bounds obtained by <code>nextWord</code> method.
+ */
+ public void _getWordBoundary() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ // calculate middle of the word
+ Boundary iBounds = (Boundary)vBounds.get(i);
+ int iPos = (iBounds.endPos - iBounds.startPos) / 2
+ + iBounds.startPos;
+ Boundary bounds = oObj.getWordBoundary(UnicodeString, iPos,
+ locale, wordType, true);
+ log.println("Expected result is: startPos = " + iBounds.startPos +
+ "; endPos = " + iBounds.endPos);
+ log.println("Actual result is: startPos = " + bounds.startPos
+ + "; endPos = " + bounds.endPos + " Word is: '"
+ + UnicodeString.substring(bounds.startPos, bounds.endPos) + "'");
+
+ bRes = bRes && iBounds.startPos == bounds.startPos;
+ bRes = bRes && iBounds.endPos == bounds.endPos;
+ }
+
+ tRes.tested("getWordBoundary()", bRes);
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * get its type, passing its internal character position.<p>
+ *
+ * Has <b>OK</b> status if every word has type <code>WordType.ANY_WORD</code>
+ */
+ public void _getWordType() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ // calculate middle of the word
+ Boundary iBounds = (Boundary)vBounds.get(i);
+ int iPos = (iBounds.endPos - iBounds.startPos) / 2
+ + iBounds.startPos;
+
+ short type = oObj.getWordType(UnicodeString, iPos, locale);
+
+ bRes = bRes && type == WordType.ANY_WORD;
+ }
+
+ tRes.tested("getWordType()", bRes);
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * tries to determine if the character at a position starts a word.
+ * First word starting position is passed, then internal character
+ * position is passed. <p>
+ * Has <b>OK</b> status if in the first case <code>true</code>
+ * returned and in the second - <code>false</code> for every word.
+ */
+ public void _isBeginWord() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ Boundary iBounds = (Boundary)vBounds.get(i);
+ boolean isBegin = oObj.isBeginWord(UnicodeString, iBounds.startPos,
+ locale, WordType.ANY_WORD);
+ bRes = bRes && isBegin;
+ boolean isNotBegin = !oObj.isBeginWord(UnicodeString,
+ iBounds.startPos + 1, locale, WordType.ANY_WORD);
+ bRes = bRes && isNotBegin;
+
+ log.println("At position + " + iBounds.startPos
+ + " isBeginWord? " + isBegin);
+ log.println("At position + " + (iBounds.startPos + 1)
+ + " isBeginWord? " + !isNotBegin);
+ }
+
+ tRes.tested("isBeginWord()", bRes);
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * tries to determine if the character at a position ends a word.
+ * First word ending position is passed, then internal character
+ * position is passed. <p>
+ *
+ * Has <b>OK</b> status if in the first case <code>true</code>
+ * returned and in the second - <code>false</code> for every word.
+ */
+ public void _isEndWord() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ Boundary iBounds = (Boundary)vBounds.get(i);
+ boolean isEnd = oObj.isEndWord(UnicodeString, iBounds.endPos,
+ locale, WordType.ANY_WORD);
+ bRes = bRes && isEnd;
+ boolean isNotEnd = !oObj.isEndWord(UnicodeString,
+ iBounds.endPos - 1, locale, WordType.ANY_WORD);
+ bRes = bRes && isNotEnd;
+
+ log.println("At position + " + iBounds.endPos
+ + " isEndWord? " + isEnd);
+ log.println("At position + " + (iBounds.endPos - 1)
+ + " isEndWord? " + !isNotEnd);
+ }
+
+ tRes.tested("isEndWord()", bRes);
+ }
+
+ Vector vSentenceStart = new Vector();
+ /**
+ * Tries to find all sentences starting positions passing every character
+ * as position parameter and stores them. Then tries to pass invalid
+ * position parameters.
+ *
+ * Has <b>OK</b> status if -1 is returned for wrong position arguments.
+ */
+ public void _beginOfSentence() {
+ int iPos = 0;
+ while( iPos < UnicodeString.length() ) {
+ Integer start = new Integer( oObj.beginOfSentence(UnicodeString,
+ iPos, locale) );
+ if (start.intValue() >= 0 && !vSentenceStart.contains(start) ) {
+ vSentenceStart.add( start );
+ log.println("Sentence " + vSentenceStart.size()
+ + " : start from position " + start);
+ }
+ iPos++;
+ }
+
+ //test for invalid nStartPosition
+ boolean bRes = oObj.beginOfSentence(UnicodeString, -10, locale) == -1;
+ bRes &= oObj.beginOfSentence(UnicodeString,
+ UnicodeString.length() + 1, locale) == -1;
+
+ if (!bRes) {
+ log.println("When invalid position, returned value isn't equal to -1");
+ }
+
+ tRes.tested("beginOfSentence()", bRes);
+ }
+
+ /**
+ * For every sentence starting position found in
+ * <code>beginOfSentence()</code> test tries to compute end
+ * position of a sentence and checks that the end position is
+ * greater than starting.
+ * Then wrong position arguments are passed.
+ *
+ * Has <b>OK</b> status if the end position of every sentence
+ * greater than starting and -1 returned for invalid arguments.
+ */
+ public void _endOfSentence() {
+ boolean bRes = true;
+ for(int i = 0; i < vSentenceStart.size(); i++) {
+ int start = ((Integer)vSentenceStart.get(i)).intValue();
+ int end = oObj.endOfSentence(UnicodeString, start, locale);
+ bRes &= end > start;
+ log.println("Sentence " + i + " range is [" + start + ", "
+ + end + "]");
+ }
+
+ //test for invalid nStartPosition
+ boolean bInvRes = oObj.endOfSentence(UnicodeString, -10, locale) == -1;
+ bInvRes &= oObj.endOfSentence(UnicodeString,
+ UnicodeString.length() + 1, locale) == -1;
+
+ if (!bInvRes) {
+ log.println("When invalid position, returned value isn't equal to -1");
+ }
+
+ tRes.tested("endOfSentence()", bRes && bInvRes);
+ }
+
+ /**
+ * Tries to break a string in position other than 0 iterating characters
+ * from the string beginning (Hyphenation is not used for a while). <p>
+ *
+ * Has <b>OK</b> status if non-zero break position was found and it is
+ * less or equal than position we trying to break.
+ */
+ public void _getLineBreak() {
+ boolean bRes = true;
+ LineBreakResults lineBreakResults;
+ LineBreakHyphenationOptions lineBreakHyphenationOptions =
+ new LineBreakHyphenationOptions();
+ LineBreakUserOptions lineBreakUserOptions = new LineBreakUserOptions();
+
+ lineBreakUserOptions.applyForbiddenRules = false;
+ lineBreakUserOptions.allowHyphenateEnglish = false;
+
+ int breakPos = 0;
+ int pos = 0;
+
+ while(breakPos == 0 && pos < UnicodeString.length() ) {
+ lineBreakResults = oObj.getLineBreak(UnicodeString, pos,
+ locale, 0, lineBreakHyphenationOptions, lineBreakUserOptions);
+ breakPos = lineBreakResults.breakIndex;
+ pos++;
+ }
+
+ // finally the position of break must be found in the middle and
+ // it must be before the break position specified
+ bRes = breakPos <= pos && breakPos > 0;
+
+ if (!bRes) {
+ log.println("The last position was: " + pos
+ + ", and the break position was: " + breakPos);
+ }
+
+ tRes.tested("getLineBreak()", bRes);
+ }
+
+ // Asian type script
+ private static String katakana = new String(new char[] {0x30A1, 0x30A2}) ;
+ // Weak type script
+ private static String arrows = new String(new char[] {0x2190, 0x2191}) ;
+ // Complex type script
+ private static String arabic = new String(new char[] {0x0641, 0x0642}) ;
+
+ /**
+ * Tries to find the begining of the nearest script specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the starting position of script is returned.
+ */
+ public void _beginOfScript() {
+ String multiScript = "ab" + katakana ;
+
+ int pos = oObj.beginOfScript(multiScript, 3, ScriptType.ASIAN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("beginOfScript()", pos == 2) ;
+ }
+
+ /**
+ * Tries to find the end of the nearest script specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the end position of script is returned.
+ */
+ public void _endOfScript() {
+ String multiScript = "ab" + katakana + "cd" ;
+
+ int pos = oObj.endOfScript(multiScript, 2, ScriptType.ASIAN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("endOfScript()", pos == 4) ;
+ }
+
+ /**
+ * Tries to find the next script starting position specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the appropriate position is returned.
+ */
+ public void _nextScript() {
+ String multiScript = "ab" + katakana + "cd" ;
+
+ int pos = oObj.nextScript(multiScript, 0, ScriptType.LATIN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("nextScript()", pos == 4) ;
+ }
+
+ /**
+ * Tries to find the previous script starting position specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the appropriate position is returned.
+ */
+ public void _previousScript() {
+ String multiScript = "ab" + katakana + "cd" ;
+
+ int pos = oObj.previousScript(multiScript, 5, ScriptType.ASIAN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("previousScript()", pos == 2) ;
+ }
+
+ /**
+ * Tries to determine script type (of all four types). <p>
+ * Has <b>OK</b> status if <code>LATIN</code> type returned
+ * for ACSII character, <code>ASIAN</code> for Katakana Unicode
+ * codepoints, <code>COMPLEX</code> for Arabic Unicode
+ * codepoints and <code>WEAK</code> for codepoints from Arrows
+ * Unicode block.
+ */
+ public void _getScriptType() {
+ boolean res = true ;
+
+ res &= oObj.getScriptType("abcd", 0) == ScriptType.LATIN ;
+ res &= oObj.getScriptType(katakana, 0) == ScriptType.ASIAN;
+ res &= oObj.getScriptType(arabic, 0) == ScriptType.COMPLEX ;
+ res &= oObj.getScriptType(arrows, 0) == ScriptType.WEAK ;
+
+ tRes.tested("getScriptType()", res) ;
+ }
+
+ boolean bCharBlockRes = true;
+
+ protected short getCharBlockType(int pos) {
+ short i = 1;
+ short cType = 0;
+ while (i < 31) {
+ if (oObj.beginOfCharBlock(UnicodeString, pos, locale, i) != -1) {
+ cType = i;
+ i = 100;
+ }
+ i++;
+ }
+
+ return cType;
+ }
+
+ Vector vCharBlockBounds = new Vector();
+ Vector vCharBlockTypes = new Vector();
+
+ /**
+ * Creates array of all char blocks with their boundaries and
+ * types using <code>beginOfCharBlock()</code> and
+ * <code>endOfCharBlock()</code> methods. <p>
+ *
+ * Has <b>OK</b> status if the end of each boundary is the same
+ * as start of the next one and if the start of the first block
+ * has position 0 and the end of the last block is at the end
+ * of the whole string.
+ */
+ public void _beginOfCharBlock() {
+ int iPos = 0;
+
+ while( iPos < UnicodeString.length() && iPos > -1) {
+ short charType = getCharBlockType(iPos);
+ int startPos = oObj.beginOfCharBlock(UnicodeString, iPos,
+ locale, charType);
+ int endPos = oObj.endOfCharBlock(UnicodeString, iPos,
+ locale, charType);
+ iPos = endPos;
+ vCharBlockBounds.add(new Boundary(startPos, endPos));
+ log.println("" + vCharBlockBounds.size() + "). Bounds: ["
+ + startPos + "," + endPos + "]; Type = " + charType);
+ vCharBlockTypes.add(new Short(charType));
+ }
+
+ for(int i = 0; i < vCharBlockBounds.size() - 1; i++) {
+ int endPos = ((Boundary)vCharBlockBounds.get(i)).endPos;
+ int startPos = ((Boundary)vCharBlockBounds.get(i + 1)).startPos;
+ bCharBlockRes &= endPos == startPos;
+ }
+
+ log.println("Testing for no intersections : " + bCharBlockRes);
+ int startPos = ((Boundary)vCharBlockBounds.get(0)).startPos;
+ bCharBlockRes &= startPos == 0;
+ int endPos = ((Boundary)vCharBlockBounds.get
+ (vCharBlockBounds.size() - 1)).endPos;
+ bCharBlockRes &= endPos == UnicodeString.length();
+ log.println("Regions should starts with 0 and ends with "
+ + UnicodeString.length());
+
+ tRes.tested("beginOfCharBlock()", bCharBlockRes);
+ }
+
+ /**
+ * Testing of this method is performed in <code>beginOfCharBlock()</code>
+ * method test. <p>
+ *
+ * Has the status same as <code>beginOfCharBlock()</code> method status.
+ */
+ public void _endOfCharBlock() {
+ requiredMethod("beginOfCharBlock()");
+ tRes.tested("endOfCharBlock()", bCharBlockRes);
+ }
+
+ /**
+ * For every character block obtained in <code>beginOfCharBlock()</code>
+ * method test (except the first) tries to find its starting position
+ * by mean of <code>nextCharBlock()</code> method passing as position
+ * argument the position before the start of a block. <p>
+ *
+ * Has <b>OK</b> status if the start of every block was found and it's
+ * equal to this block boundary start.
+ */
+ public void _nextCharBlock() {
+ requiredMethod("beginOfCharBlock()");
+
+ boolean bRes = true;
+ for(int i = 0; i < vCharBlockBounds.size(); i++) {
+ Boundary bounds = (Boundary)vCharBlockBounds.get(i);
+ Short type = (Short)vCharBlockTypes.get(i);
+ if (bounds.startPos - 1 < 0) continue;
+ int iPos = oObj.nextCharBlock(UnicodeString, bounds.startPos - 1,
+ locale, type.shortValue());
+ if (iPos != bounds.startPos) {
+ bRes = false;
+ log.println("nextCharBlock(UnicodeString, "
+ + (bounds.startPos - 1) + ", locale, " + type
+ + ") should return " + bounds.startPos);
+ log.println("... and actual value is " + iPos);
+ }
+ }
+
+ tRes.tested("nextCharBlock()", bRes);
+ }
+
+ /**
+ * For every character block obtained in <code>beginOfCharBlock()</code>
+ * method test (except the first) tries to find its starting position
+ * by mean of <code>previousCharBlock()</code> method passing as position
+ * argument the position after the end of a block. <p>
+ *
+ * Has <b>OK</b> status if the start of every block was found and it's
+ * equal to this block boundary start.
+ */
+ public void _previousCharBlock() {
+ requiredMethod("beginOfCharBlock()");
+
+ boolean bRes = true;
+ for(int i = 0; i < vCharBlockBounds.size(); i++) {
+ Boundary bounds = (Boundary)vCharBlockBounds.get(i);
+ Short type = (Short)vCharBlockTypes.get(i);
+ int iPos = oObj.previousCharBlock(UnicodeString,
+ bounds.endPos + 1, locale, type.shortValue());
+ if (iPos != bounds.startPos) {
+ bRes = false;
+ log.println("previousCharBlock(UnicodeString, "
+ + (bounds.endPos + 1) + ", locale, " + type
+ + ") should return " + bounds.startPos);
+ log.println("... and actual value is " + iPos);
+ }
+ }
+
+ tRes.tested("previousCharBlock()", bRes);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XCalendar.java b/qadevOOo/tests/java/ifc/i18n/_XCalendar.java
new file mode 100644
index 000000000000..5453eefa49cb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XCalendar.java
@@ -0,0 +1,561 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.CalendarDisplayIndex;
+import com.sun.star.i18n.CalendarFieldIndex;
+import com.sun.star.i18n.CalendarItem;
+import com.sun.star.i18n.XCalendar;
+import com.sun.star.i18n.XLocaleData;
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.i18n.XCalendar</code>
+* interface methods :
+* <ul>
+* <li><code> loadDefaultCalendar()</code></li>
+* <li><code> loadCalendar()</code></li>
+* <li><code> getLoadedCalendar()</code></li>
+* <li><code> getAllCalendars()</code></li>
+* <li><code> getUniqueID()</code></li>
+* <li><code> setDateTime()</code></li>
+* <li><code> getDateTime()</code></li>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> isValid()</code></li>
+* <li><code> addValue()</code></li>
+* <li><code> getFirstDayOfWeek()</code></li>
+* <li><code> setFirstDayOfWeek()</code></li>
+* <li><code> setMinimumNumberOfDaysForFirstWeek()</code></li>
+* <li><code> getMinimumNumberOfDaysForFirstWeek()</code></li>
+* <li><code> getNumberOfMonthsInYear()</code></li>
+* <li><code> getNumberOfDaysInWeek()</code></li>
+* <li><code> getMonths()</code></li>
+* <li><code> getDays()</code></li>
+* <li><code> getDisplayName()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.i18n.XCalendar
+*/
+public class _XCalendar extends MultiMethodTest {
+ private boolean debug = false;
+ public XCalendar oObj = null;
+ public String[][] calendars;
+ public int[] count;
+ public double newDTime = 1000.75;
+ public short newValue = 2;
+ public short firstDay = 2;
+ public short mdfw = 3;
+ double aOriginalDTime = 0;
+ Locale[] installed_locales;
+
+ public void before() {
+ XLocaleData locData = null;
+ try {
+ locData = (XLocaleData) UnoRuntime.queryInterface(
+ XLocaleData.class,
+ ((XMultiServiceFactory)tParam.getMSF()).createInstance(
+ "com.sun.star.i18n.LocaleData"));
+ } catch (com.sun.star.uno.Exception e) {
+
+ }
+ installed_locales = locData.getAllInstalledLocaleNames();
+ calendars = new String[installed_locales.length][];
+ count = new int[installed_locales.length];
+ oObj.loadDefaultCalendar(installed_locales[0]);
+ aOriginalDTime = oObj.getDateTime();
+
+ debug = tParam.getBool("DebugIsActive");
+ }
+
+ /**
+ * Restore the changed time during the test to the original value of the
+ * machine: has to be correct for the following interface tests.
+ */
+ public void after() {
+ oObj.loadDefaultCalendar(installed_locales[0]);
+ oObj.setDateTime(aOriginalDTime);
+ }
+
+ /**
+ * Loads default calendar for different locales. <p>
+ * Has <b> OK </b> status if method loads calendar, that is
+ * default for a given locale.
+ */
+ public void _loadDefaultCalendar() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadDefaultCalendar(installed_locales[i]);
+ if (oObj.getLoadedCalendar().Default) {
+ //log.println(lang + " ... OK");
+ } else {
+ log.println(lang + " ... FAILED");
+ }
+ res &= oObj.getLoadedCalendar().Default;
+ }
+
+ tRes.tested("loadDefaultCalendar()", res);
+ }
+
+ /**
+ * Tries to obtain calendars for a number of locales. <p>
+ * Has <b> OK </b> status if the method returns more than zero calendars for
+ * every locale.
+ */
+ public void _getAllCalendars() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ calendars[i] = oObj.getAllCalendars(installed_locales[i]);
+ count[i] = calendars[i].length-1;
+ if (calendars[i].length > 0) {
+ //log.println(lang + " ... OK");
+ } else {
+ log.println(lang + " ... FAILED");
+ }
+ res &= (calendars[i].length > 0);
+ }
+ tRes.tested("getAllCalendars()", res);
+ }
+
+ /**
+ * Loads calendars for a number of locales. <p>
+ * Has <b> OK </b> status if loaded calendar names are equal to gotten
+ * calendar names after loading.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAllCalendars() </code> : gets all calendars for a given
+ * locale </li>
+ * </ul>
+ */
+ public void _loadCalendar() {
+ boolean res = true;
+ requiredMethod("getAllCalendars()");
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadCalendar(calendars[i][0], installed_locales[i]);
+ if (calendars[i][0].equals(oObj.getLoadedCalendar().Name)) {
+ //log.println(lang + " ... OK");
+ } else {
+ log.println(lang + " ... FAILED");
+ }
+ res &= calendars[i][0].equals(oObj.getLoadedCalendar().Name);
+ }
+
+ tRes.tested("loadCalendar()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if loaded calendar names are equal to gotten
+ * calendar names after loading.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> loadCalendar() </code> : loads calendar using a given name
+ * and locale </li>
+ * </ul>
+ */
+ public void _getLoadedCalendar() {
+ boolean res = true;
+
+ requiredMethod("loadCalendar()");
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadCalendar(calendars[i][0], installed_locales[i]);
+ if (calendars[i][0].equals(oObj.getLoadedCalendar().Name)) {
+ //log.println(lang + " ... OK");
+ } else {
+ log.println(lang + " ... FAILED");
+ }
+ res &= calendars[i][0].equals(oObj.getLoadedCalendar().Name);
+ }
+ tRes.tested("getLoadedCalendar()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value that's equal to a
+ * calendar name. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> loadCalendar() </code> : loads calendar using a given name
+ * and locale </li>
+ * </ul>
+ */
+ public void _getUniqueID() {
+ boolean res = true;
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadCalendar(calendars[i][0], installed_locales[i]);
+ String uID = oObj.getUniqueID();
+ if (uID.equals(calendars[i][0])) {
+ //log.println(lang + " ... OK");
+ } else {
+ log.println(lang + " ... FAILED");
+ }
+ res &= uID.equals(calendars[i][0]);
+ }
+
+ tRes.tested("getUniqueID()",res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+
+ public void _setDateTime() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.setDateTime(newDTime);
+ double aDTime = oObj.getDateTime();
+ if (aDTime == newDTime) {
+ //log.println(lang + " ... OK");
+ } else {
+ log.println(lang + " ... FAILED");
+ }
+ res &= (aDTime == newDTime);
+ }
+
+ tRes.tested("setDateTime()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+
+ public void _getDateTime() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.setDateTime(newDTime);
+ double aDTime = oObj.getDateTime();
+ if (aDTime == newDTime) {
+ //log.println(lang + " ... OK");
+ } else {
+ log.println(lang + " ... FAILED");
+ }
+ res &= (aDTime == newDTime);
+ }
+ tRes.tested("getDateTime()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+
+ public void _setValue() {
+ boolean res = true;
+ for (int i=0; i<installed_locales.length; i++) {
+ String error = "";
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Variant +
+ ", Name: "+calendars[i][count[i]];
+ String[] names = new String[]{"DAY_OF_MONTH",
+ "HOUR","MINUTE","SECOND","MILLISECOND",
+ "YEAR","MONTH"};
+ oObj.loadCalendar(calendars[i][count[i]],installed_locales[i]);
+ short[] fields = new short[]{CalendarFieldIndex.DAY_OF_MONTH,
+ CalendarFieldIndex.HOUR,
+ CalendarFieldIndex.MINUTE,
+ CalendarFieldIndex.SECOND,
+ CalendarFieldIndex.MILLISECOND,
+ CalendarFieldIndex.YEAR,
+ CalendarFieldIndex.MONTH
+ };
+ for (int k=0; k<fields.length;k++) {
+
+ oObj.setDateTime(0.0);
+
+ // save the current values for debug purposes
+ short[] oldValues = new short[fields.length];
+ for (int n=0; n < oldValues.length; n++){
+ oldValues[n] = oObj.getValue(fields[n]);
+ }
+
+ short set = oObj.getValue(fields[k]);
+ if (fields[k] == CalendarFieldIndex.MONTH) set = newValue;
+ oObj.setValue(fields[k],set);
+ short get = oObj.getValue(fields[k]);
+ if (get != set) {
+ if (debug)
+ log.println("ERROR occure: tried to set " + names[k] + " to value " + set);
+ log.println("list of values BEFORE set " + names[k] + " to value " + set + ":");
+ for (int n=0; n < oldValues.length; n++){
+ log.println(names[n] + ":" + oldValues[n]);
+ }
+ log.println("list of values AFTER set " + names[k] + " to value " + set + ":");
+ for (int n=0; n < fields.length;n++){
+ log.println(names[n] + ":" + oObj.getValue(fields[n]));
+ }
+
+ error += "failed for "+names[k]+" expected "+
+ set+" gained "+get+" ; \n";
+ }
+ }
+ if (error.equals("")) {
+ log.println(lang + " ... OK");
+ } else {
+ log.println("*** "+lang + " ... FAILED ***");
+ log.println(error);
+ }
+ res &= (error.equals(""));
+ }
+
+ tRes.tested("setValue()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+
+ public void _getValue() {
+ boolean res = true;
+
+ requiredMethod("setValue()");
+ short aValue = oObj.getValue(CalendarFieldIndex.MONTH);
+ res &= (aValue == newValue);
+ if (!res){
+ log.println("the returned value is not the expected value:");
+ log.println("expexted: " + newValue + " returned value: " + aValue);
+ }
+ tRes.tested("getValue()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if value, added by the method is greater than
+ * previously defined "newValue".
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue() </code> : gets the value of a field </li>
+ * </ul>
+ */
+ public void _addValue() {
+ boolean res = true;
+
+ requiredMethod("getValue()");
+ oObj.addValue(CalendarFieldIndex.MONTH, 1);
+ short aValue = oObj.getValue(CalendarFieldIndex.MONTH);
+ res &= (aValue > newValue);
+ if (!res){
+ log.println("the returned value is not the expected value:");
+ log.println("expexted: " + newValue + " returned value: " + aValue);
+ }
+ tRes.tested("addValue()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setFirstDayOfWeek() {
+ boolean res = true;
+
+ oObj.setFirstDayOfWeek(firstDay);
+ res &= true;
+ tRes.tested("setFirstDayOfWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value that is equal to
+ * value set before. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFirstDayOfWeek() </code> : set the first day of a
+ * week</li>
+ * </ul>
+ */
+ public void _getFirstDayOfWeek() {
+ boolean res = true;
+
+ requiredMethod("setFirstDayOfWeek()");
+ short aFirstDayOfWeek = oObj.getFirstDayOfWeek();
+ res &= (aFirstDayOfWeek == firstDay);
+ tRes.tested("getFirstDayOfWeek()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setMinimumNumberOfDaysForFirstWeek() {
+ boolean res = true;
+
+ oObj.setMinimumNumberOfDaysForFirstWeek(mdfw);
+ res &= true;
+ tRes.tested("setMinimumNumberOfDaysForFirstWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value that is equal to
+ * value set before. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setMinimumNumberOfDaysForFirstWeek() </code> : sets how
+ * many days of a week must reside in the first week of a year</li>
+ * </ul>
+ */
+ public void _getMinimumNumberOfDaysForFirstWeek() {
+ boolean res = true;
+
+ requiredMethod("setMinimumNumberOfDaysForFirstWeek()");
+ short aShort = oObj.getMinimumNumberOfDaysForFirstWeek();
+ res &= (aShort == mdfw);
+ tRes.tested("getMinimumNumberOfDaysForFirstWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns 12.
+ */
+ public void _getNumberOfMonthsInYear() {
+ boolean res = true;
+ short aShort = oObj.getNumberOfMonthsInYear();
+
+ res &= (aShort == (short) 12);
+ tRes.tested("getNumberOfMonthsInYear()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns 7.
+ */
+ public void _getNumberOfDaysInWeek() {
+ boolean res = true;
+ short aShort = oObj.getNumberOfDaysInWeek();
+
+ res &= (aShort == (short) 7);
+ tRes.tested("getNumberOfDaysInWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if length of array, returned by the method is 12.
+ */
+ public void _getMonths() {
+ boolean res = true;
+ CalendarItem[] months = oObj.getMonths();
+
+ res &= (months.length == 12);
+ tRes.tested("getMonths()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if length of array, returned by the method is 7.
+ */
+ public void _getDays() {
+ boolean res = true;
+ CalendarItem[] Days = oObj.getDays();
+
+ res &= (Days.length == 7);
+ tRes.tested("getDays()", res);
+ }
+
+ /**
+ * After loading calendar, test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if length of string, returned by the method is 3.
+ */
+ public void _getDisplayName() {
+ boolean res = true;
+
+ oObj.loadCalendar(calendars[0][0],installed_locales[0]);
+ String DisplayName = oObj.getDisplayName(CalendarDisplayIndex.MONTH,
+ newValue, (short) 0);
+ res &= (DisplayName.length() == 3);
+ tRes.tested("getDisplayName()", res);
+ }
+
+
+ /**
+ * The test sets obviously wrong value, then calls a method. After that the
+ * test sets correct value, and again calls a method. <p>
+ * Has <b> OK </b> status if the method returns true when valid month is
+ * set, and if the method returns false when set month is not valid.
+ */
+ public void _isValid() {
+ boolean res = true;
+
+ oObj.loadDefaultCalendar(installed_locales[0]);
+ oObj.setValue(CalendarFieldIndex.MONTH, (short) 37);
+ res &= !oObj.isValid();
+ oObj.setValue(CalendarFieldIndex.MONTH, (short) 10);
+ res &= oObj.isValid();
+
+ tRes.tested("isValid()", res);
+ }
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param localeIndex index of needed locale.
+ */
+/* public Locale getLocale(int localeIndex) {
+ return new Locale(languages[localeIndex], countries[localeIndex], "");
+ }*/
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java b/qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java
new file mode 100644
index 000000000000..e81b8aa68307
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java
@@ -0,0 +1,416 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.KParseTokens;
+import com.sun.star.i18n.KParseType;
+import com.sun.star.i18n.ParseResult;
+import com.sun.star.i18n.XCharacterClassification;
+import com.sun.star.lang.Locale;
+
+/**
+ * Testing <code>com.sun.star.i18n.XCharacterClassification</code>
+ * interface methods:
+ * <ul>
+ * <li><code> toUpper() </code></li>
+ * <li><code> toLower() </code></li>
+ * <li><code> toTitle() </code></li>
+ * <li><code> getType() </code></li>
+ * <li><code> getCharacterType() </code></li>
+ * <li><code> getStringType() </code></li>
+ * <li><code> getCharacterDirection() </code></li>
+ * <li><code> getScript() </code></li>
+ * <li><code> parseAnyToken() </code></li>
+ * <li><code> parsePredefinedToken() </code></li>
+ * </ul><p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.i18n.XCharacterClassification
+ */
+public class _XCharacterClassification extends MultiMethodTest {
+ public XCharacterClassification oObj = null;
+ public String[] languages = new String[]{"de","en","es","fr","ja","ko","zh"};
+ public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","CN"};
+
+ public String[] charstyles_java = new String[] {"UNASSIGNED","UPPERCASE_LETTER",
+ "LOWERCASE_LETTER","TITLECASE_LETTER","MODIFIER_LETTER","OTHER_LETTER",
+ "NON_SPACING_MARK","ENCLOSING_MARK","COMBINING_SPACING_MARK",
+ "DECIMAL_DIGIT_NUMBER","LETTER_NUMBER","OTHER_NUMBER","SPACE_SEPARATOR",
+ "LINE_SEPARATOR","PARAGRAPH_SEPARATOR","CONTROL","FORMAT","none17",
+ "PRIVATE_USE","none19","DASH_PUNCTUATION","START_PUNCTUATION","END_PUNCTUATION",
+ "CONNECTOR_PUNCTUATION","OTHER_PUNCTUATION","MATH_SYMBOL","CURRENCY_SYMBOL",
+ "MODIFIER_SYMBOL","OTHER_SYMBOL"};
+
+ public String[] charstyles_office = new String[] {"UNASSIGNED","UPPERCASE_LETTER",
+ "LOWERCASE_LETTER","TITLECASE_LETTER","MODIFIER_LETTER","OTHER_LETTER",
+ "NON_SPACING_MARK","ENCLOSING_MARK","COMBINING_SPACING_MARK",
+ "DECIMAL_DIGIT_NUMBER","LETTER_NUMBER","OTHER_NUMBER","SPACE_SEPARATOR",
+ "LINE_SEPARATOR","PARAGRAPH_SEPARATOR","CONTROL","FORMAT","PRIVATE_USE",
+ "OTHER_PUNCTUATION","DASH_PUNCTUATION","START_PUNCTUATION","END_PUNCTUATION",
+ "CONNECTOR_PUNCTUATION",
+ "OTHER_PUNCTUATION","MATH_SYMBOL","CURRENCY_SYMBOL","MODIFIER_SYMBOL",
+ "OTHER_SYMBOL","INITIAL_PUNCTUATION","FINAL_PUNCTUATION","GENERAL_TYPES_COUNT"};
+
+ public String[] unicode_script = new String[] {"U_BASIC_LATIN","U_LATIN_1_SUPPLEMENT",
+ "U_LATIN_EXTENDED_A","U_LATIN_EXTENDED_B","U_IPA_EXTENSIONS","U_SPACING_MODIFIER_LETTERS",
+ "U_COMBINING_DIACRITICAL_MARKS","U_GREEK","U_CYRILLIC","U_ARMENIAN","U_HEBREW",
+ "U_ARABIC","U_SYRIAC","U_THAANA","U_DEVANAGARI","U_BENGALI","U_GURMUKHI",
+ "U_GUJARATI","U_ORIYA","U_TAMIL","U_TELUGU","U_KANNADA","U_MALAYALAM",
+ "U_SINHALA","U_THAI","U_LAO","U_TIBETAN","U_MYANMAR","U_GEORGIAN",
+ "U_HANGUL_JAMO","U_ETHIOPIC","U_CHEROKEE","U_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS",
+ "U_OGHAM","U_RUNIC","U_KHMER","U_MONGOLIAN","U_LATIN_EXTENDED_ADDITIONAL",
+ "U_GREEK_EXTENDED","U_GENERAL_PUNCTUATION","U_SUPERSCRIPTS_AND_SUBSCRIPTS",
+ "U_CURRENCY_SYMBOLS","U_COMBINING_MARKS_FOR_SYMBOLS","U_LETTERLIKE_SYMBOLS",
+ "U_NUMBER_FORMS","U_ARROWS","U_MATHEMATICAL_OPERATORS","U_MISCELLANEOUS_TECHNICAL",
+ "U_CONTROL_PICTURES","U_OPTICAL_CHARACTER_RECOGNITION","U_ENCLOSED_ALPHANUMERICS",
+ "U_BOX_DRAWING","U_BLOCK_ELEMENTS","U_GEOMETRIC_SHAPES","U_MISCELLANEOUS_SYMBOLS",
+ "U_DINGBATS","U_BRAILLE_PATTERNS","U_CJK_RADICALS_SUPPLEMENT","U_KANGXI_RADICALS",
+ "U_IDEOGRAPHIC_DESCRIPTION_CHARACTERS","U_CJK_SYMBOLS_AND_PUNCTUATION",
+ "U_HIRAGANA","U_KATAKANA","U_BOPOMOFO","U_HANGUL_COMPATIBILITY_JAMO","U_KANBUN",
+ "U_BOPOMOFO_EXTENDED","U_ENCLOSED_CJK_LETTERS_AND_MONTHS","U_CJK_COMPATIBILITY",
+ "U_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A","U_CJK_UNIFIED_IDEOGRAPHS","U_YI_SYLLABLES",
+ "U_YI_RADICALS","U_HANGUL_SYLLABLES","U_HIGH_SURROGATES","U_HIGH_PRIVATE_USE_SURROGATES",
+ "U_LOW_SURROGATES","U_PRIVATE_USE_AREA","U_CJK_COMPATIBILITY_IDEOGRAPHS",
+ "U_ALPHABETIC_PRESENTATION_FORMS","U_ARABIC_PRESENTATION_FORMS_A","U_COMBINING_HALF_MARKS",
+ "U_CJK_COMPATIBILITY_FORMS","U_SMALL_FORM_VARIANTS","U_ARABIC_PRESENTATION_FORMS_B",
+ "U_SPECIALS","U_HALFWIDTH_AND_FULLWIDTH_FORMS","U_CHAR_SCRIPT_COUNT","U_NO_SCRIPT"};
+
+ /**
+ * Test calls the method for different locales. Then each result is compared
+ * with a string, converted to a upper case using
+ * <code>java.lang.String</code> method <code>toUpperCase()</code>.<p>
+ * Has <b> OK </b> status if string, returned by the method is equal to
+ * a string that is returned by String.toUpperCase() for all locales.
+ */
+ public void _toUpper() {
+ boolean res = true;
+ char[] characters = new char[]{586,65,97,498,721,4588,772,8413,3404};
+ String toCheck = new String(characters);
+ String get = "";
+ String exp = "";
+
+ for (int i=0;i<7;i++) {
+ get = oObj.toUpper(toCheck, 0, toCheck.length(), getLocale(i));
+ exp = toCheck.toUpperCase(
+ new java.util.Locale(languages[i], countries[i]));
+ res &= get.equals(exp);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i] +
+ " ; country=" + countries[i]);
+ log.println("Expected: " + exp);
+ log.println("Gained : " + get);
+ }
+ }
+ tRes.tested("toUpper()", res);
+ }
+
+ /**
+ * Test calls the method for different locales. Then each result is compared
+ * with a string, converted to a lower case using
+ * <code>java.lang.String</code> method <code>toLowerCase()</code>.<p>
+ * Has <b> OK </b> status if string, returned by the method is equal to
+ * a string that is returned by String.toLowerCase() for all locales.
+ */
+ public void _toLower() {
+ boolean res = true;
+ char[] characters = new char[]{586,65,97,498,721,4588,772,8413,3404};
+ String toCheck = new String(characters);
+ String get = "";
+ String exp = "";
+
+ for (int i=0;i<7;i++) {
+ get = oObj.toLower(toCheck,0,toCheck.length(),getLocale(i));
+ exp = toCheck.toLowerCase(
+ new java.util.Locale(languages[i],countries[i]));
+ res &= get.equals(exp);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ log.println("Expected: " + exp);
+ log.println("Gained : " + get);
+ }
+ }
+ tRes.tested("toLower()", res);
+ }
+
+ /**
+ * Test calls the method for different locales. Then each result is compared
+ * with a string, converted to a title case using
+ * <code>java.lang.Character</code> method <code>toTitleCase()</code>.<p>
+ * Has <b> OK </b> status if string, returned by the method is equal to
+ * a string that was converted using Character.toTitleCase() for all locales.
+ */
+ public void _toTitle() {
+ boolean res = true;
+ String toCheck = new String(new char[]{8112});
+ String get = "";
+ String exp = "";
+
+ for (int i=0;i<7;i++) {
+ get = oObj.toTitle(toCheck, 0, 1, getLocale(i));
+ exp = new String(
+ new char[]{Character.toTitleCase(toCheck.toCharArray()[0])});
+ res &= get.equals(exp);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ log.println("Expected: " + exp);
+ log.println("Gained : " + get);
+ }
+ }
+ tRes.tested("toTitle()", res);
+ }
+
+ /**
+ * At first we define <code>int[]</code> and <code>char[]</code> arrays of
+ * unicode symbol numbers, arranged as sequences, where symbols are sorted
+ * by type, so the character of <code>i<sup><small>th</small></sup></code>
+ * type is located on <code>i<sup><small>th</small></sup></code> position.<p>
+ * Has <b> OK </b> status if for all 30 types the method returns value, that
+ * is equal to an element number.<p>
+ * @see com.sun.star.i18n.CharType
+ */
+ public void _getType() {
+ boolean res = true;
+ char[] characters = new char[]{586,65,97,498,721,4588,772,8413,3404,
+ 48,8544,179,32,8232,8233,144,8204,57344,56320,173,40,41,95,3852,247,
+ 3647,901,3896,171,187};
+ int[] charsInt = new int[]{586,65,97,498,721,4588,772,8413,3404,48,
+ 8544,179,32,8232,8233,144,8204,57344,56320,173,40,41,95,3852,247,
+ 3647,901,3896,171,187};
+ String toCheck = new String(characters);
+
+ for (int i=0;i<characters.length;i++) {
+ int get = oObj.getType(toCheck, i);
+ res &= (charstyles_office[get] == charstyles_office[i]);
+ if (!res) {
+ log.println("Code :" + Integer.toHexString(charsInt[i]));
+ log.println("Gained: " + charstyles_office[get]);
+ log.println("Expected : " + charstyles_office[i]);
+ }
+ }
+ tRes.tested("getType()", res);
+ }
+
+ /**
+ * After defining string to be checked and array of expected types, test
+ * calls the method for each character of a string and for all locales.<p>
+ * Has <b> OK </b> status if the method returns type, expected for a given
+ * character and locale.
+ */
+ public void _getCharacterType() {
+ boolean res = true;
+ String toCheck = "Ab0)";
+ int[] expected = new int[]{226,228,97,32};
+
+ for (int i=0;i<toCheck.length();i++) {
+ for (int j=1;j<7;j++) {
+ int get = oObj.getCharacterType(toCheck, i, getLocale(j));
+ res &= (get == expected[i]);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[j] +
+ " ; country=" + countries[j]);
+ log.println("Sysmbol :" + toCheck.toCharArray()[i]);
+ log.println("Gained: " + get);
+ log.println("Expected : " + expected[i]);
+ }
+ }
+ }
+ tRes.tested("getCharacterType()", res);
+ }
+
+ /**
+ * After defining array of strings to be checked and array of expected types,
+ * test calls the method for each string of an array and for all locales.<p>
+ * Has <b> OK </b> status if the method returns type, expected for a given
+ * string and locale.
+ */
+ public void _getStringType() {
+ boolean res = true;
+ String[] toCheck = new String[]{"01234","AAAAA","bbbbb","AA()bb"};
+ int[] exp = new int[]{97,226,228,230};
+
+ for (int j=0;j<toCheck.length;j++) {
+ for (int i=0;i<7;i++) {
+ int get = oObj.getStringType(toCheck[j], 0,
+ toCheck[j].length(), getLocale(i));
+ res &= (get == exp[j]);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i] +
+ " ; country=" + countries[i]);
+ log.println("Expected: " + exp[j]);
+ log.println("Gained : " + get);
+ }
+ }
+ }
+ tRes.tested("getStringType()", res);
+ }
+
+ /**
+ * After string to be checked is initialized (all symbols are sorted
+ * by direction, so the character of <code>i<sup><small>th</small></sup></code>
+ * direction is located on <code>i<sup><small>th</small></sup></code>
+ * position), test calls the method for every character of that string. <p>
+ * Has <b> OK </b> status if the method returns direction, that's equal to
+ * a symbol position in the string.
+ */
+ public void _getCharacterDirection() {
+ boolean res = true;
+ String toCheck = new String(new char[]{65,1470,48,47,35,1632,44,10,
+ 9,12,33,8234,8237,1563,8235,8238,8236,768,1});
+ for (short i=0;i<19;i++) {
+ short get = oObj.getCharacterDirection(toCheck, i);
+ res &= (get == i);
+ if (!res) {
+ log.println("Code :" + toCheck.toCharArray()[i]);
+ log.println("Gained: " + get);
+ log.println("Expected: " + i);
+ }
+ }
+ tRes.tested("getCharacterDirection()", res);
+ }
+
+ /**
+ * At first we define <code>int[]</code> and <code>char[]</code> arrays of
+ * unicode symbol numbers, arranged as sequences, where symbols are sorted
+ * by type, so the character of <code>i<sup><small>th</small></sup></code>
+ * type is located on <code>i<sup><small>th</small></sup></code> position.<p>
+ * Has <b> OK </b> status if for each character method returns value, that
+ * is equal to a number where element is located in array. Also method has
+ * <b> OK </b> status for symbol with code 55296, because it doesn't work
+ * since it hasn't the right neighborhood.<p>
+ * @see http://ppewww.ph.gla.ac.uk/~flavell/unicode/unidata.html
+ */
+ public void _getScript() {
+ boolean res = true;
+ char[] characters = new char[]{65,128,256,384,592,750,773,924,1030,1331,1448,
+ 1569,1792,1936,2313,2465,2570,2707,2822,2972,3079,3240,3337,3464,3590,
+ 3745,3906,4097,4274,4357,4621,5040,5200,5776,5806,6030,6155,7683,7943,
+ 8202,8319,8352,8413,8452,8545,8616,8715,8965,9217,9281,9336,9474,9608,9719,
+ 9734,9999,10247,11911,12034,12274,12294,12358,12456,12552,12605,12688,12727,
+ 12806,13065,13312,19968,40964,42152,44032,55296,56192,56320,57344,63744,
+ 64257,64370,65056,65073,65131,65146,65532,65288};
+ int[] charsInt = new int[]{65,128,256,384,592,750,773,924,1030,1331,1448,
+ 1569,1792,1936,2313,2465,2570,2707,2822,2972,3079,3240,3337,3464,3590,
+ 3745,3906,4097,4274,4357,4621,5040,5200,5776,5806,6030,6155,7683,7943,
+ 8202,8319,8352,8413,8452,8545,8616,8715,8965,9217,9281,9336,9474,9608,9719,
+ 9734,9999,10247,11911,12034,12274,12294,12358,12456,12552,12605,12688,12727,
+ 12806,13065,13312,19968,40964,42152,44032,55296,56192,56320,57344,63744,
+ 64257,64370,65056,65073,65131,65146,65532,65288};
+ String toCheck = new String(characters);
+
+ for (int i=0;i<characters.length;i++) {
+ int get = oObj.getScript(toCheck, i);
+ res &= (get == i);
+ //The HIGH_SURROGATE 55296 doesn't work since it hasn't the right
+ //neighborhood
+ if (toCheck.substring(i, i + 1).hashCode() == 55296) res = true;
+ if (!res) {
+ log.println("-- " + toCheck.substring(i, i + 1).hashCode());
+ log.println("Code: " + Integer.toHexString(charsInt[i]));
+ log.println("Gained: " + unicode_script[get]);
+ log.println("Expected: " + unicode_script[i]);
+ }
+ }
+ tRes.tested("getScript()", res);
+ }
+
+ /**
+ * After defining a string to be parsed and parse conditions (flags), test
+ * calls the method for different locales three times with different parameters,
+ * checking result after every call. <p>
+ * Has <b> OK </b> status if the method returns right results all three
+ * times.
+ */
+ public void _parseAnyToken() {
+ int nStartFlags = KParseTokens.ANY_ALPHA | KParseTokens.ASC_UNDERSCORE;
+ int nContFlags = KParseTokens.ANY_ALNUM | KParseTokens.ASC_UNDERSCORE
+ | KParseTokens.ASC_DOT;
+ String toCheck = " 18 i18n ^";
+ ParseResult pRes = null;
+ boolean res = true;
+
+ for (int i=0;i<7;i++) {
+ pRes = oObj.parseAnyToken(toCheck, 1, getLocale(i),
+ nStartFlags, "", nContFlags, "");
+ res = ( (pRes.CharLen==2)
+ && (pRes.TokenType==32)
+ && (pRes.Value==18.0) );
+ pRes = oObj.parseAnyToken(toCheck, 4, getLocale(i),
+ nStartFlags, "", nContFlags, "");
+ res &= ( (pRes.CharLen==4)
+ && (pRes.TokenType==4)
+ && (pRes.Value==0.0) );
+ pRes = oObj.parseAnyToken(toCheck, 9, getLocale(i),
+ nStartFlags, "", nContFlags, "");
+ res &= ( (pRes.CharLen==1)
+ && (pRes.TokenType==1)
+ && (pRes.Value==0.0) );
+ }
+ tRes.tested("parseAnyToken()", res);
+ }
+
+ /**
+ * After defining a string to be parsed and parse conditions (flags), test
+ * calls the method for different locales two times with different parameters,
+ * checking result after every call. <p>
+ * Has <b> OK </b> status if the method returns right results.
+ */
+ public void _parsePredefinedToken() {
+ int nStartFlags = KParseTokens.ANY_ALPHA | KParseTokens.ASC_UNDERSCORE;
+ int nContFlags = nStartFlags;
+ String toCheck = " 18 int";
+ ParseResult pRes = null;
+ boolean res = true;
+
+ for (int i=0;i<7;i++) {
+ pRes = oObj.parsePredefinedToken(KParseType.IDENTNAME, toCheck,
+ 1, getLocale(i), nStartFlags, "", nContFlags, "");
+ res = (pRes.CharLen==0);
+ pRes = oObj.parsePredefinedToken(KParseType.IDENTNAME, toCheck,
+ 4, getLocale(i), nStartFlags, "", nContFlags, "");
+ res &= ( (pRes.CharLen==3)
+ && (pRes.TokenType==4)
+ && (pRes.Value==0.0) );
+ }
+ tRes.tested("parsePredefinedToken()", res);
+ }
+
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param localeIndex index of needed locale.
+ */
+ private Locale getLocale(int k) {
+ return new Locale(languages[k],countries[k],"");
+ }
+
+
+} // end XCharacterClassification
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XCollator.java b/qadevOOo/tests/java/ifc/i18n/_XCollator.java
new file mode 100644
index 000000000000..1905ca9a68ea
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XCollator.java
@@ -0,0 +1,430 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import java.text.Collator;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.CollatorOptions;
+import com.sun.star.i18n.XCollator;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XCollator</code>
+* interface methods :
+* <ul>
+* <li><code> compareSubstring()</code></li>
+* <li><code> compareString()</code></li>
+* <li><code> loadDefaultCollator()</code></li>
+* <li><code> loadCollatorAlgorithm()</code></li>
+* <li><code> listCollatorAlgorithms()</code></li>
+* <li><code> loadCollatorAlgorithmWithEndUserOption()</code></li>
+* <li><code> listCollatorOptions()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.i18n.XCollator
+*/
+public class _XCollator extends MultiMethodTest {
+ public XCollator oObj = null;
+ private String[] alg = null ;
+ private int[] opt = null ;
+ Locale loc = new Locale("en", "EN", "");
+
+ /**
+ * Just retrieves a list of algorithms. <p>
+ * Has <b>OK</b> status if non-zero length array returned.
+ */
+ public void _listCollatorAlgorithms() {
+ alg = oObj.listCollatorAlgorithms(loc) ;
+ log.println("Collator algorithms :");
+ if (alg != null) {
+ for (int i = 0; i < alg.length; i++) {
+ log.println(" '" + alg[i] + "'") ;
+ }
+ tRes.tested("listCollatorAlgorithms()", alg.length > 0) ;
+ } else {
+ tRes.tested("listCollatorAlgorithms()", false) ;
+ }
+ }
+
+ /**
+ * Just gets a list of options for some collator. <p>
+ * Has <b>OK</b> status if not null value returned.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> listCollatorAlgorithms </code> : to have some
+ * algorithm name. </li>
+ * </ul>
+ */
+ public void _listCollatorOptions() {
+ requiredMethod("listCollatorAlgorithms()") ;
+ opt = oObj.listCollatorOptions(alg[0]) ;
+ log.println("Collator '" + alg[0] + "' options :");
+ if (opt != null) {
+ for (int i = 0; i < opt.length; i++) {
+ log.println(" " + opt[i]) ;
+ }
+ tRes.tested("listCollatorOptions()", true) ;
+ } else {
+ tRes.tested("listCollatorOptions()", false) ;
+ }
+ }
+
+ /**
+ * Calls the method with no options and with options(IGNORE_CASE),
+ * compares strings.<p>
+ * Has <b>OK</b> status if compareString() returned correct values.
+ */
+ public void _loadDefaultCollator() {
+ oObj.loadDefaultCollator(loc, 0);
+ boolean res = oObj.compareString("A", "a") != 0;
+ oObj.loadDefaultCollator(loc,
+ CollatorOptions.CollatorOptions_IGNORE_CASE);
+ res &= oObj.compareString("a", "A") == 0;
+ tRes.tested("loadDefaultCollator()", res) ;
+ }
+
+ /**
+ * Calls the method with no options and with options(IGNORE_CASE),
+ * compares strings.<p>
+ * Has <b>OK</b> status if compareString() returned correct values.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> listCollatorAlgorithms </code> : to have some
+ * algorithm name. </li>
+ * </ul>
+ */
+ public void _loadCollatorAlgorithm() {
+ requiredMethod("listCollatorAlgorithms()");
+ oObj.loadCollatorAlgorithm(alg[0], loc,
+ CollatorOptions.CollatorOptions_IGNORE_CASE);
+ boolean res = oObj.compareString("A", "a") == 0;
+ oObj.loadCollatorAlgorithm(alg[0], loc, 0);
+ res &= oObj.compareString("a", "A") != 0;
+ tRes.tested("loadCollatorAlgorithm()", res);
+ }
+
+ /**
+ * Calls the method with no options and with options(IGNORE_CASE),
+ * compares strings.<p>
+ * Has <b>OK</b> status if compareString() returned correct values.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> listCollatorAlgorithms </code> : to have some
+ * algorithm name. </li>
+ * </ul>
+ */
+ public void _loadCollatorAlgorithmWithEndUserOption() {
+ requiredMethod("listCollatorAlgorithms()");
+ oObj.loadCollatorAlgorithmWithEndUserOption(alg[0], loc,
+ new int[] {0});
+ boolean res = oObj.compareString("A", "a") != 0;
+ oObj.loadCollatorAlgorithmWithEndUserOption(alg[0], loc,
+ new int[] {CollatorOptions.CollatorOptions_IGNORE_CASE});
+ res = oObj.compareString("A", "a") == 0;
+ tRes.tested("loadCollatorAlgorithmWithEndUserOption()", res);
+ }
+
+ /**
+ * Test is performed for locales : en, ru, ja, zh, ko.
+ * Default collator is loaded for each locale. Then collation
+ * is performed for different combination of symbols from range of
+ * this locale.<p>
+ * Has <b>OK</b> status if comparing of different strings
+ * returns not 0 value, then comparing in the opposite
+ * order returns value with opposite sign, and comparing
+ * of two equal strings returns 0. The such comparing is performed
+ * for one character strings.
+ */
+ public void _compareSubstring() {
+ boolean result = true ;
+ char[] chars = new char[2] ;
+ Collator col = null ;
+
+ log.println(" #### Testing English locale ####") ;
+ oObj.loadDefaultCollator(loc, 0) ;
+ col = Collator.getInstance(new java.util.Locale("en", "EN")) ;
+ for (char ch = 0x0020; ch < 0x007F; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing Russian locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ru", "RU", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ru", "RU")) ;
+ for (char ch = 0x0410; ch < 0x0450; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing Japan locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ja", "JP", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ja", "JP")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing China locale ####") ;
+ oObj.loadDefaultCollator(new Locale("zh", "CN", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("zh", "CN")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing Korean locale ####") ;
+ oObj.loadDefaultCollator(new Locale("ko", "KR", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ko", "KR")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ tRes.tested("compareSubstring()", result) ;
+ }
+
+ /**
+ * Test is performed for locales : en, ru, ja, zh, ko.
+ * Default collator is loaded for each locale. Then collation
+ * is performed for different combination of symbols from range of
+ * this locale.<p>
+ * Has <b>OK</b> status if comparing of different strings
+ * returns not 0 value, then comparing in the opposite
+ * order returns value with opposite sign, and comparing
+ * of two equal strings returns 0. The such comparing is performed
+ * for one character strings.
+ */
+ public void _compareString() {
+ boolean result = true ;
+ char[] chars = new char[2] ;
+ Collator col = null ;
+ log.println(" #### Testing English locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("en", "EN", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("en", "EN")) ;
+ for (char ch = 0x0020; ch < 0x007F; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing Russian locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ru", "RU", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ru", "RU")) ;
+ for (char ch = 0x0410; ch < 0x0450; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing Japan locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ja", "JP", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ja", "JP")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing China locale ####") ;
+ oObj.loadDefaultCollator(new Locale("zh", "CN", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("zh", "CN")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing Korean locale ####") ;
+ oObj.loadDefaultCollator(new Locale("ko", "KR", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ko", "KR")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ tRes.tested("compareString()", result) ;
+ }
+
+
+ /**
+ * Testing compareString() method. At first method is testing single chars
+ * comparing, then strings comparing.
+ * @param locChar sequence of at list two characters of a given locale
+ * to be used in comparing.
+ * @param col Collator for a given locale
+ * @return true if:
+ * <ol>
+ * <li> if comparing of two identical characters returns zero</li>
+ * <li> if comparing of two different characters returns non zero</li>
+ * <li> if comparing of two identical strings, composed of given chars
+ * returns zero</li>
+ * <li> if comparing of two different strings, composed of given chars
+ * returns non zero</li>
+ * </ol>
+ */
+ public boolean testCompareString(char[] locChar, Collator col) {
+ boolean result = true;
+ int res;
+ String msg = "";
+
+ String char0 = "_"+new String(new char[] {locChar[0]});
+ String char1 = "_"+new String(new char[] {locChar[1]});
+ res = oObj.compareString(char0 , char0) ;
+ if (res != 0) {
+ msg += " Testing collation of single equal characters ("
+ + toUnicode(char0) + ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ res = oObj.compareString(char0, char1) ;
+ if (res == 0) {
+ msg += " Testing collation of single different" +
+ " characters (" + toUnicode(char0+char1) +
+ ") ... FAILED (0 returned)\n" ;
+ msg += " Java collator returned " +
+ col.compare(char0, char1) + "\n" ;
+ result = false ;
+ } else { // opposite order - sum of results must be 0
+ res += oObj.compareString(char1, char0) ;
+ if (res != 0) {
+ msg += " Testing collation of single different" +
+ " characters (" + toUnicode(char0+char1) +
+ ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ }
+
+ String str1 = new String(new char[] {locChar[0], locChar[0],
+ locChar[1], locChar[1], locChar[1]}) ;
+ String str2 = new String(new char[] {locChar[0], locChar[0],
+ locChar[0], locChar[1], locChar[1]}) ;
+
+ res = oObj.compareString(str1 , str1) ;
+ if (res != 0) {
+ msg += " Testing collation of equal strings (" +
+ toUnicode(str1) + ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ res = oObj.compareString(str1, str2) ;
+ if (res == 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1) + "),(" + toUnicode(str2) +
+ ")) ... FAILED (0 returned)\n" ;
+ msg += " Java collator returned " +
+ col.compare(str1, str2) + "\n" ;
+ result = false ;
+ } else { // opposite order - sum of results must be
+ res += oObj.compareString(str2, str1) ;
+ if (res != 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1) + "),(" + toUnicode(str2) +
+ ")) ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ }
+
+ if (!result) {
+ log.println(msg) ;
+ }
+ return result ;
+ }
+
+
+ /**
+ * Testing compareSubstring() method. Method is testing substrings comparing.
+ * @param locChar sequence of at list two characters of a given locale
+ * to be used in comparing.
+ * @param col Collator for a given locale
+ * @return true if:
+ * <ol>
+ * <li> if comparing of two identical substrings of strings, composed
+ * of given chars returns zero</li>
+ * <li> if comparing of two different substrings of strings, composed
+ * of given chars returns non zero</li>
+ * </ol>
+ */
+ public boolean testCompareSubstring(char[] locChar, Collator col) {
+ boolean result = true ;
+ int res ;
+ String msg = "" ;
+
+ String str1 = new String(new char[] {locChar[0], locChar[0],
+ locChar[1], locChar[1], locChar[1]}) ;
+ String str2 = new String(new char[] {locChar[0], locChar[0],
+ locChar[0], locChar[1], locChar[1]}) ;
+
+ res = oObj.compareSubstring(str1, 1, 2 , str2, 2, 2) ;
+ if (res != 0) {
+ msg += " Testing collation of equal substrings (" +
+ toUnicode(str1) + ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ res = oObj.compareSubstring(str1, 1, 2, str2, 1, 2) ;
+ if (res == 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1.substring(1, 3)) + "),(" +
+ toUnicode(str2.substring(1, 3))
+ + ")) ... FAILED (0 returned)\n" ;
+ msg += " Java collator returned " + col.compare
+ (str1.substring(1, 3), str2.substring(1, 3)) + "\n" ;
+ result = false ;
+ } else { // opposite order - sum of results must be
+ res += oObj.compareSubstring(str2, 1, 2, str1, 1, 2) ;
+ if (res != 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1) + "),(" + toUnicode(str2) +
+ ")) ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ }
+
+ if (!result) {
+ log.println(msg) ;
+ }
+ return result ;
+ }
+
+
+ /**
+ * Transforms string to unicode hex codes.
+ * @param str String to be transformed
+ */
+ public String toUnicode(String str) {
+ char[] chars = str.toCharArray() ;
+ String res = "" ;
+ for (int i = 0; i < chars.length; i++) {
+ if (i != 0) res += "," ;
+ res += Integer.toHexString(chars[i]) ;
+ }
+ return res ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java b/qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java
new file mode 100644
index 000000000000..8004a4eb97b0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import com.sun.star.i18n.CalendarDisplayCode;
+import com.sun.star.i18n.NativeNumberMode;
+import com.sun.star.i18n.XExtendedCalendar;
+import com.sun.star.i18n.XLocaleData;
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XExtendedCalendar extends MultiMethodTest {
+ public XExtendedCalendar oObj = null;
+ boolean useUSENLocale = false;
+ /**
+ * Load a calendar
+ */
+ public void before() {
+ Locale[] installed_locales = null;
+ XLocaleData locData = null;
+ try {
+ locData = (XLocaleData) UnoRuntime.queryInterface(
+ XLocaleData.class,
+ ((XMultiServiceFactory)tParam.getMSF()).createInstance(
+ "com.sun.star.i18n.LocaleData"));
+ } catch (com.sun.star.uno.Exception e) {
+
+ }
+ installed_locales = locData.getAllInstalledLocaleNames();
+ // use first Locale as fallback, if US-English is not found
+ Locale lo = installed_locales[0];
+ for (int i=0; i<installed_locales.length; i++) {
+ // search for "en" and "US"
+ if (installed_locales[i].Language.equals("en") &&
+ installed_locales[i].Country.equals("US")) {
+ lo = installed_locales[i];
+ useUSENLocale = true;
+ }
+ }
+ log.println("Choose Locale: '" + lo.Language + "', '" + lo.Country + "'");
+ oObj.loadDefaultCalendar(lo);
+ }
+
+
+ public void _getDisplayString() {
+ // against regression: the current state is the right one.
+ boolean result = true;
+ String[] displayString = new String[6];
+ // build the defaults with the Java Calendar functions
+ String[] expectedStringResult = new String[6];
+ Calendar cal = new GregorianCalendar();
+ Date actualDate = cal.getTime();
+
+ SimpleDateFormat sdf = getSDF("yy");
+ expectedStringResult[0] = "AD" + sdf.format(actualDate);
+
+ sdf = getSDF("yyyy");
+ expectedStringResult[1] = "AD" + sdf.format(actualDate);
+
+ sdf = getSDF("MM");
+ expectedStringResult[2] = sdf.format(actualDate);
+
+ int month = cal.get(Calendar.MONTH) + 1;
+ String quarter = "Q1";
+ String longQuarter = "1st quarter";
+ if (month > 3 && month < 7) { quarter = "Q2"; longQuarter = "2nd quarter"; }
+ else if (month > 6 && month < 10) { quarter = "Q3"; longQuarter = "3rd quarter"; }
+ else if (month > 10 && month < 13) {quarter = "Q4"; longQuarter = "4th quarter"; }
+ expectedStringResult[3] = quarter;
+ expectedStringResult[4] = longQuarter;
+
+ sdf = getSDF("MMMM");
+ expectedStringResult[5] = sdf.format(actualDate);
+
+ displayString[0] = oObj.getDisplayString(CalendarDisplayCode.SHORT_YEAR_AND_ERA, NativeNumberMode.NATNUM0);
+ displayString[1] = oObj.getDisplayString(CalendarDisplayCode.LONG_YEAR_AND_ERA, NativeNumberMode.NATNUM0);
+ displayString[2] = oObj.getDisplayString(CalendarDisplayCode.LONG_MONTH, NativeNumberMode.NATNUM0);
+ displayString[3] = oObj.getDisplayString(CalendarDisplayCode.SHORT_QUARTER, NativeNumberMode.NATNUM0);
+ displayString[4] = oObj.getDisplayString(CalendarDisplayCode.LONG_QUARTER, NativeNumberMode.NATNUM0);
+ displayString[5] = oObj.getDisplayString(CalendarDisplayCode.LONG_MONTH_NAME, NativeNumberMode.NATNUM0);
+
+ for (int i=0; i<displayString.length; i++) {
+ boolean locResult = false;
+ if (useUSENLocale) {
+ locResult = displayString[i].equals(expectedStringResult[i]);
+ if (!locResult)
+ log.println("getDisplayString() result " + i + ": '" + displayString[i]
+ + "', expected: '" + expectedStringResult[i] + "'");
+ result &= locResult;
+ }
+ else { // no defaults for other locales, just expect a String
+ locResult &= displayString[i] != null;
+ if (!locResult)
+ log.println("getDisplayString() result " + i + " was 'null'");
+ result &= locResult;
+ }
+ }
+ tRes.tested("getDisplayString()", result);
+ }
+
+ private SimpleDateFormat getSDF(String format){
+ if (useUSENLocale) return new SimpleDateFormat(format, java.util.Locale.US);
+ return new SimpleDateFormat(format);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java b/qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java
new file mode 100755
index 000000000000..2443156b0baf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java
@@ -0,0 +1,336 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import com.sun.star.i18n.CollatorOptions;
+import com.sun.star.i18n.XExtendedIndexEntrySupplier;
+import com.sun.star.lang.Locale;
+
+import java.util.HashMap;
+
+import lib.MultiMethodTest;
+
+
+public class _XExtendedIndexEntrySupplier extends MultiMethodTest {
+ public XExtendedIndexEntrySupplier oObj;
+ protected Locale[] locales = null;
+ protected HashMap algorithms = new HashMap();
+
+ public void _compareIndexEntry() {
+ requiredMethod("getIndexKey()");
+ Locale locale = new Locale("zh", "CN", "");
+ String val1 = new String(new char[]{UnicodeStringPair.getUnicodeValue(0), UnicodeStringPair.getUnicodeValue(1)});
+ String val2 = new String(new char[]{UnicodeStringPair.getUnicodeValue(1), UnicodeStringPair.getUnicodeValue(0)});
+ short result1 = oObj.compareIndexEntry(val1, "", locale, val1, "", locale);
+ short result2 = oObj.compareIndexEntry(val1, "", locale, val2, "", locale);
+ short result3 = oObj.compareIndexEntry(val2, "", locale, val1, "", locale);
+
+ tRes.tested("compareIndexEntry()", result1 == 0 && result2 + result3 == 0);
+ }
+
+ /*
+ * gets the list of all algorithms for each listed language
+ * is OK if everyone of the returned lists are filled
+ */
+ public void _getAlgorithmList() {
+ requiredMethod("getLocaleList()");
+
+ boolean result = true;
+ boolean locResult = false;
+
+ for (int i = 0; i < locales.length; i++) {
+ String[] algNames = oObj.getAlgorithmList(locales[i]);
+ algorithms.put(new Integer(i), algNames);
+
+ locResult = algNames != null && algNames.length > 0;
+ System.out.println("Locale " + i + ": " + locales[i].Country+","+locales[i].Language);
+
+ for (int j=0; j<algNames.length; j++) {
+ System.out.println("\tAlgorithm " + j + ": " + algNames[j]);
+ }
+
+ if (!locResult) {
+ log.println("No Algorithm found for " + locales[i].Country +
+ "," + locales[i].Language);
+ }
+
+ result &= locResult;
+ }
+
+ tRes.tested("getAlgorithmList()", result);
+ }
+
+ public void _getIndexKey() {
+ requiredMethod("loadAlgorithm()");
+ char[] characters = new char[] { 19968 };
+ String getIndexFor = new String(characters);
+ for (int i = 0; i < locales.length; i++) {
+ log.println("Language: " + locales[i].Language);
+
+ for (int j = 0; j < algorithms.size(); j++) {
+ String[] algs = (String[])algorithms.get(new Integer(j));
+ for (int k=0;k<algs.length;k++) {
+ log.println("\t Algorythm :" +
+ algs[k]);
+ oObj.loadAlgorithm(locales[i], algs[k], CollatorOptions.CollatorOptions_IGNORE_CASE);
+ log.println("\t\t Get: " +
+ oObj.getIndexKey(getIndexFor, "", locales[i]));
+ }
+ }
+ }
+ tRes.tested("getIndexKey()", true);
+ }
+
+ /*
+ * gets a list of all locales, is OK if this list isn't empty
+ */
+ public void _getLocaleList() {
+ locales = oObj.getLocaleList();
+ tRes.tested("getLocaleList()", locales.length > 0);
+ }
+
+ /*
+ * gets one phonetic canidate for the chinese local
+ * is ok if 'yi' is returned as expected.
+ */
+ public void _getPhoneticCandidate() {
+ requiredMethod("getLocaleList()");
+
+ boolean res = true;
+
+ Locale loc = new Locale("zh", "CN", "");
+
+ for (int i = 0;i<UnicodeStringPair.getValCount();i++) {
+
+ char[] c = new char[]{UnicodeStringPair.getUnicodeValue(i)};
+
+ String getting = oObj.getPhoneticCandidate(new String(c), loc);
+
+ boolean locResult = getting.equals(UnicodeStringPair.getExpectedPhoneticString(i));
+
+ if (!locResult) {
+ log.println("Char: "+ c[0] + " (" + (int)c[0] + ")");
+ log.println("Expected " + UnicodeStringPair.getExpectedPhoneticString(i));
+ log.println("Getting " + getting);
+ }
+
+ res &= locResult;
+ }
+ tRes.tested("getPhoneticCandidate()", res);
+ }
+
+ /*
+ * loads all algorithms available in all language.
+ * Is OK if no exception occurs and the method returns
+ * true for each valid algorithm and false otherwise
+ */
+ public void _loadAlgorithm() {
+ requiredMethod("getAlgorithmList()");
+
+ boolean res = true;
+
+ for (int i = 0; i < algorithms.size(); i++) {
+ String[] names = (String[]) algorithms.get(new Integer(i));
+ log.println("loading algorithms for " + locales[i].Country +
+ "," + locales[i].Language);
+
+ for (int j = 0; j < names.length; j++) {
+ log.println("\t Loading " + names[j]);
+
+ boolean localres = oObj.loadAlgorithm(locales[i], names[j],
+ CollatorOptions.CollatorOptions_IGNORE_CASE);
+
+ if (!localres) {
+ log.println("\t ... didn't work - FAILED");
+ } else {
+ log.println("\t ... worked - OK");
+ }
+
+ res &= localres;
+ }
+
+/* log.println("\tTrying to load 'dummy' algorithm");
+
+ boolean localres = !oObj.loadAlgorithm(locales[i], "dummy",
+ CollatorOptions.CollatorOptions_IGNORE_WIDTH);
+
+ if (!localres) {
+ log.println("\t ... didn't work as expected - FAILED");
+ } else {
+ log.println("\t ... worked - OK");
+ }
+
+ res &= localres;*/
+ }
+
+ tRes.tested("loadAlgorithm()", res);
+ }
+
+ /*
+ * checks the method usePhoneticEntry(). Only the languages ja, ko and zh
+ * should return true. Has OK state if exactly this is the case.
+ */
+ public void _usePhoneticEntry() {
+ requiredMethod("getLocaleList()");
+
+ boolean res = true;
+
+ for (int i = 0; i < locales.length; i++) {
+ boolean expected = false;
+
+ if (locales[i].Language.equals("ja") ||
+ locales[i].Language.equals("ko") ||
+ locales[i].Language.equals("zh")) {
+ expected = true;
+ }
+
+ boolean locResult = oObj.usePhoneticEntry(locales[i]) == expected;
+
+ if (!locResult) {
+ log.println("Failure for language " + locales[i].Language);
+ log.println("Expected " + expected);
+ log.println("Getting " + oObj.usePhoneticEntry(locales[i]));
+ }
+
+ res &= locResult;
+ }
+
+ tRes.tested("usePhoneticEntry()", res);
+ }
+
+ /**
+ * Helper class to handle the phonetic equivalence of unicode characters
+ * This class delivers an amount oif unicode characters and the equivalent phonetics
+ * for the "getPhoneticCandidate" test. Euivalents are only usable for zh,CN locale.
+ */
+ public static class UnicodeStringPair {
+ final static int valCount = 78;
+ static String[] sStringEquivalence = null;
+ static char[] iUnicodeEquivalence = null;
+
+ static {
+ sStringEquivalence = new String[valCount];
+ iUnicodeEquivalence = new char[valCount];
+ fillValues();
+ }
+
+ public static int getValCount() {
+ return valCount;
+ }
+
+ public static String getExpectedPhoneticString(int index) {
+ if (index >= valCount) return null;
+ return sStringEquivalence[index];
+ }
+
+ public static char getUnicodeValue(int index) {
+ if (index > valCount) return 0;
+ return iUnicodeEquivalence[index];
+ }
+
+ private static void fillValues() {
+ iUnicodeEquivalence[0] = 20049; sStringEquivalence[0] = "zhong";
+ iUnicodeEquivalence[1] = 19968; sStringEquivalence[1] = "yi";
+ iUnicodeEquivalence[2] = 19969; sStringEquivalence[2] = "ding";
+ iUnicodeEquivalence[3] = 19970; sStringEquivalence[3] = "kao";
+ iUnicodeEquivalence[4] = 19971; sStringEquivalence[4] = "qi";
+ iUnicodeEquivalence[5] = 19972; sStringEquivalence[5] = "shang";
+ iUnicodeEquivalence[6] = 19973; sStringEquivalence[6] = "xia";
+ iUnicodeEquivalence[7] = 19975; sStringEquivalence[7] = "wan";
+ iUnicodeEquivalence[8] = 19976; sStringEquivalence[8] = "zhang";
+ iUnicodeEquivalence[9] = 19977; sStringEquivalence[9] = "san";
+ iUnicodeEquivalence[10] = 19978; sStringEquivalence[10] = "shang";
+ iUnicodeEquivalence[11] = 19979; sStringEquivalence[11] = "xia";
+ iUnicodeEquivalence[12] = 19980; sStringEquivalence[12] = "ji";
+ iUnicodeEquivalence[13] = 19981; sStringEquivalence[13] = "bu";
+ iUnicodeEquivalence[14] = 19982; sStringEquivalence[14] = "yu";
+ iUnicodeEquivalence[15] = 19983; sStringEquivalence[15] = "mian";
+ iUnicodeEquivalence[16] = 19984; sStringEquivalence[16] = "gai";
+ iUnicodeEquivalence[17] = 19985; sStringEquivalence[17] = "chou";
+ iUnicodeEquivalence[18] = 19986; sStringEquivalence[18] = "chou";
+ iUnicodeEquivalence[19] = 19987; sStringEquivalence[19] = "zhuan";
+ iUnicodeEquivalence[20] = 19988; sStringEquivalence[20] = "qie";
+ iUnicodeEquivalence[21] = 19989; sStringEquivalence[21] = "pi";
+ iUnicodeEquivalence[22] = 19990; sStringEquivalence[22] = "shi";
+ iUnicodeEquivalence[23] = 19991; sStringEquivalence[23] = "shi";
+ iUnicodeEquivalence[24] = 19992; sStringEquivalence[24] = "qiu";
+ iUnicodeEquivalence[25] = 19993; sStringEquivalence[25] = "bing";
+ iUnicodeEquivalence[26] = 19994; sStringEquivalence[26] = "ye";
+ iUnicodeEquivalence[27] = 19995; sStringEquivalence[27] = "cong";
+ iUnicodeEquivalence[28] = 19996; sStringEquivalence[28] = "dong";
+ iUnicodeEquivalence[29] = 19997; sStringEquivalence[29] = "si";
+ iUnicodeEquivalence[30] = 19998; sStringEquivalence[30] = "cheng";
+ iUnicodeEquivalence[31] = 19999; sStringEquivalence[31] = "diu";
+ iUnicodeEquivalence[32] = 20000; sStringEquivalence[32] = "qiu";
+ iUnicodeEquivalence[33] = 20001; sStringEquivalence[33] = "liang";
+ iUnicodeEquivalence[34] = 20002; sStringEquivalence[34] = "diu";
+ iUnicodeEquivalence[35] = 20003; sStringEquivalence[35] = "you";
+ iUnicodeEquivalence[36] = 20004; sStringEquivalence[36] = "liang";
+ iUnicodeEquivalence[37] = 20005; sStringEquivalence[37] = "yan";
+ iUnicodeEquivalence[38] = 20006; sStringEquivalence[38] = "bing";
+ iUnicodeEquivalence[39] = 20007; sStringEquivalence[39] = "sang";
+ iUnicodeEquivalence[40] = 20008; sStringEquivalence[40] = "shu";
+ iUnicodeEquivalence[41] = 20009; sStringEquivalence[41] = "jiu";
+ iUnicodeEquivalence[42] = 20010; sStringEquivalence[42] = "ge";
+ iUnicodeEquivalence[43] = 20011; sStringEquivalence[43] = "ya";
+ iUnicodeEquivalence[44] = 20012; sStringEquivalence[44] = "qiang";
+ iUnicodeEquivalence[45] = 20013; sStringEquivalence[45] = "zhong";
+ iUnicodeEquivalence[46] = 20014; sStringEquivalence[46] = "ji";
+ iUnicodeEquivalence[47] = 20015; sStringEquivalence[47] = "jie";
+ iUnicodeEquivalence[48] = 20016; sStringEquivalence[48] = "feng";
+ iUnicodeEquivalence[49] = 20017; sStringEquivalence[49] = "guan";
+ iUnicodeEquivalence[50] = 20018; sStringEquivalence[50] = "chuan";
+ iUnicodeEquivalence[51] = 20019; sStringEquivalence[51] = "chan";
+ iUnicodeEquivalence[52] = 20020; sStringEquivalence[52] = "lin";
+ iUnicodeEquivalence[53] = 20021; sStringEquivalence[53] = "zhuo";
+ iUnicodeEquivalence[54] = 20022; sStringEquivalence[54] = "zhu";
+ iUnicodeEquivalence[55] = 20024; sStringEquivalence[55] = "wan";
+ iUnicodeEquivalence[56] = 20025; sStringEquivalence[56] = "dan";
+ iUnicodeEquivalence[57] = 20026; sStringEquivalence[57] = "wei";
+ iUnicodeEquivalence[58] = 20027; sStringEquivalence[58] = "zhu";
+ iUnicodeEquivalence[59] = 20028; sStringEquivalence[59] = "jing";
+ iUnicodeEquivalence[60] = 20029; sStringEquivalence[60] = "li";
+ iUnicodeEquivalence[61] = 20030; sStringEquivalence[61] = "ju";
+ iUnicodeEquivalence[62] = 20031; sStringEquivalence[62] = "pie";
+ iUnicodeEquivalence[63] = 20032; sStringEquivalence[63] = "fu";
+ iUnicodeEquivalence[64] = 20033; sStringEquivalence[64] = "yi";
+ iUnicodeEquivalence[65] = 20034; sStringEquivalence[65] = "yi";
+ iUnicodeEquivalence[66] = 20035; sStringEquivalence[66] = "nai";
+ iUnicodeEquivalence[67] = 20037; sStringEquivalence[67] = "jiu";
+ iUnicodeEquivalence[68] = 20038; sStringEquivalence[68] = "jiu";
+ iUnicodeEquivalence[69] = 20039; sStringEquivalence[69] = "tuo";
+ iUnicodeEquivalence[70] = 20040; sStringEquivalence[70] = "me";
+ iUnicodeEquivalence[71] = 20041; sStringEquivalence[71] = "yi";
+ iUnicodeEquivalence[72] = 20043; sStringEquivalence[72] = "zhi";
+ iUnicodeEquivalence[73] = 20044; sStringEquivalence[73] = "wu";
+ iUnicodeEquivalence[74] = 20045; sStringEquivalence[74] = "zha";
+ iUnicodeEquivalence[75] = 20046; sStringEquivalence[75] = "hu";
+ iUnicodeEquivalence[76] = 20047; sStringEquivalence[76] = "fa";
+ iUnicodeEquivalence[77] = 20048; sStringEquivalence[77] = "le";
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java b/qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java
new file mode 100644
index 000000000000..caea6c06541a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import com.sun.star.i18n.TransliterationModules;
+import com.sun.star.i18n.XExtendedTransliteration;
+import com.sun.star.lang.Locale;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XExtendedTransliteration extends MultiMethodTest {
+ public XExtendedTransliteration oObj = null;
+// private Locale loc = new Locale("ja", "JP", "") ;
+ private Locale loc = new Locale("en", "US", "") ;
+
+ public void before() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ }
+
+ /**
+ * Check lowercase - uppercase conversion of chars
+ */
+ public void _transliterateChar2Char() {
+ boolean result = true;
+ char in = 'a';
+ char out = ' ';
+ try {
+ out = oObj.transliterateChar2Char(in) ;
+ result &= out == 'A';
+ in = '$'; // should not be changed
+ out = oObj.transliterateChar2Char(in) ;
+ result &= out == '$';
+ }
+ catch(com.sun.star.i18n.MultipleCharsOutputException e) {
+ e.printStackTrace((java.io.PrintWriter)log);
+ }
+ tRes.tested("transliterateChar2Char()", result);
+ }
+
+ /**
+ * Check lowercase - uppercase conversion of char to string
+ */
+ public void _transliterateChar2String() {
+ boolean result = true;
+ char in = 'a';
+ String out = null;
+ out = oObj.transliterateChar2String('a') ;
+ result &= out.equals("A");
+ in = '$'; // should not be changed
+ out = oObj.transliterateChar2String(in) ;
+ result &= out.equals("$");
+ tRes.tested("transliterateChar2String()", result);
+ }
+
+ /**
+ * Check lowercase - uppercase conversion of strings
+ */
+ public void _transliterateString2String() {
+ boolean result = true;
+ String in = "aAbBcC";
+ String out = null;
+ out = oObj.transliterateString2String(in, 0, 6) ;
+ result &= out.equals("AABBCC");
+ in = "$"; // should not be changed
+ out = oObj.transliterateString2String(in, 0, 1) ;
+ result &= out.equals("$");
+ tRes.tested("transliterateString2String()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java b/qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java
new file mode 100644
index 000000000000..903068b152aa
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.XIndexEntrySupplier;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XIndexEntrySupplier</code>
+* interface methods:
+* <ul>
+* <li><code> getIndexCharacter() </code></li>
+* <li><code> getIndexFollowPageWord() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.i18n.XIndexEntrySupplier
+*/
+public class _XIndexEntrySupplier extends MultiMethodTest {
+ public XIndexEntrySupplier oObj = null;
+ public String[] languages = new String[]{"de","en","es","fr","ja","ko","zh"};
+ public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","CN"};
+ public String[] onePage = new String[]{"f.","p."," s."," sv","p.","",""};
+ public String[] morePages = new String[]{"ff.","pp."," ss."," sv","pp.","",""};
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns right index for several
+ * locales and word.
+ */
+ public void _getIndexCharacter() {
+ boolean res = true;
+ log.println("getIndexCharacter('chapter', getLocale(i), '')");
+ for (int i=0; i<7; i++) {
+ log.print("getIndexCharacter('chapter', " + countries[i] + ") :");
+ String get = oObj.getIndexCharacter("chapter", getLocale(i), "");
+ log.println(get);
+ res &= get.equals("C");
+ }
+ tRes.tested("getIndexCharacter()", res);
+ }
+
+ /**
+ * Test calls the method with two different parameters: for one page and
+ * for several pages, after every call result is checked. <p>
+ * Has <b> OK </b> status if method returns right index for several locales.
+ */
+ public void _getIndexFollowPageWord() {
+ boolean res = true;
+
+ for (int i=0; i<7; i++) {
+ String get = oObj.getIndexFollowPageWord(true, getLocale(i));
+ if (! get.equals(morePages[i]) ) {
+ log.println("Language: " + languages[i]);
+ log.println("Getting: #" + get + "#");
+ log.println("Expected: #" + morePages[i] + "#");
+ }
+ res &= get.equals(morePages[i]);
+ get = oObj.getIndexFollowPageWord(false,getLocale(i));
+ if (! get.equals(onePage[i]) ) {
+ log.println("Language: " + languages[i]);
+ log.println("Getting: #" + get + "#");
+ log.println("Expected: #" + onePage[i] + "#");
+ }
+ res &= get.equals(onePage[i]);
+ }
+ tRes.tested("getIndexFollowPageWord()", res);
+ }
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param localeIndex index of needed locale.
+ * @return Locale by the index from arrays defined above
+ */
+ public Locale getLocale(int k) {
+ return new Locale(languages[k], countries[k], "");
+ }
+
+
+} // end XIndexEntrySupplier
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XLocaleData.java b/qadevOOo/tests/java/ifc/i18n/_XLocaleData.java
new file mode 100644
index 000000000000..fcb1f4b266a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XLocaleData.java
@@ -0,0 +1,497 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.Calendar;
+import com.sun.star.i18n.Currency;
+import com.sun.star.i18n.ForbiddenCharacters;
+import com.sun.star.i18n.FormatElement;
+import com.sun.star.i18n.Implementation;
+import com.sun.star.i18n.LanguageCountryInfo;
+import com.sun.star.i18n.LocaleDataItem;
+import com.sun.star.i18n.XLocaleData;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XLocaleData</code>
+* interface methods:
+* <ul>
+* <li><code> getLanguageCountryInfo() </code></li>
+* <li><code> getLocaleItem() </code></li>
+* <li><code> getAllCalendars() </code></li>
+* <li><code> getAllCurrencies() </code></li>
+* <li><code> getAllFormats() </code></li>
+* <li><code> getCollatorImplementations() </code></li>
+* <li><code> getSearchOptions() </code></li>
+* <li><code> getCollationOptions() </code></li>
+* <li><code> getTransliterations() </code></li>
+* <li><code> getForbiddenCharacters() </code></li>
+* <li><code> getReservedWord() </code></li>
+* <li><code> getAllInstalledLocaleNames() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.i18n.XLocaleData
+*/
+public class _XLocaleData extends MultiMethodTest {
+ public XLocaleData oObj = null;
+ public String[] languages = new String[]{"de","en","es","fr","ja","ko","ko"};
+ public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","KR"};
+
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if structure, returned by the method includes
+ * correct values of fields 'Language' and 'Country' for all given locales.
+ */
+ public void _getLanguageCountryInfo() {
+ boolean res = true;
+ LanguageCountryInfo lci = null;
+
+ for (int i=0;i<7;i++) {
+ lci = oObj.getLanguageCountryInfo(getLocale(i));
+ /* For debug purposes
+ log.println("Using: language="+languages[i]+" ; country="+countries[i]);
+ log.println("Getting: ");
+ log.println("\t Language="+lci.Language);
+ log.println("\t LanguageDefaultName="+lci.LanguageDefaultName);
+ log.println("\t Country="+lci.Country);
+ log.println("\t CountryDefaultName="+lci.CountryDefaultName);
+ boolean lang = ( lci.Language.equals(languages[i]) );
+ if (!lang) log.println("getting false for language: "+lci.LanguageDefaultName);
+ lang = ( lci.Country.equals(countries[i]) );
+ if (!lang) log.println("getting false for country: "+lci.CountryDefaultName);
+ */
+ res &= ( ( lci.Language.equals(languages[i]) ) && ( lci.Country.equals(countries[i]) ) );
+ }
+ tRes.tested("getLanguageCountryInfo()",res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if structure, returned by the method consists of
+ * non empty strings for all given locales.
+ */
+ public void _getLocaleItem() {
+ boolean res = true;
+ LocaleDataItem ldi = null;
+
+ for (int i=0;i<7;i++) {
+ ldi = oObj.getLocaleItem(getLocale(i));
+
+ boolean locRes = true ;
+
+ locRes &= (! ldi.dateSeparator.equals(""));
+ locRes &= (! ldi.decimalSeparator.equals(""));
+ locRes &= (! ldi.doubleQuotationEnd.equals(""));
+ locRes &= (! ldi.doubleQuotationStart.equals(""));
+ locRes &= (! ldi.listSeparator.equals(""));
+ locRes &= (! ldi.LongDateDayOfWeekSeparator.equals(""));
+ locRes &= (! ldi.LongDateDaySeparator.equals(""));
+ locRes &= (! ldi.LongDateMonthSeparator.equals(""));
+ locRes &= (! ldi.LongDateYearSeparator.equals(""));
+ locRes &= (! ldi.measurementSystem.equals(""));
+ locRes &= (! ldi.quotationEnd.equals(""));
+ locRes &= (! ldi.quotationStart.equals(""));
+ locRes &= (! ldi.thousandSeparator.equals(""));
+ locRes &= (! ldi.time100SecSeparator.equals(""));
+ locRes &= (! ldi.timeAM.equals(""));
+ locRes &= (! ldi.timePM.equals(""));
+ locRes &= (! ldi.timeSeparator.equals(""));
+ locRes &= (! ldi.unoID.equals(""));
+
+ if (!locRes) {
+ /* for debugging puposes
+ log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ log.println("Getting: ");
+ log.println("\t DateSeparator="+ldi.dateSeparator);
+ log.println("\t decimalSeparator="+ldi.decimalSeparator);
+ log.println("\t doubleQuotationEnd="+ldi.doubleQuotationEnd);
+ log.println("\t doubleQuotationStart="+ldi.doubleQuotationStart);
+ log.println("\t listSeparator="+ldi.listSeparator);
+ log.println("\t LongDateDayOfWeekSeparator="+ldi.LongDateDayOfWeekSeparator+"end");
+ log.println("\t LongDateDaySeparator="+ldi.LongDateDaySeparator+"end");
+ log.println("\t LongDateMonthSeparator="+ldi.LongDateMonthSeparator+"end");
+ log.println("\t LongDateYearSeparator="+ldi.LongDateYearSeparator+"end");
+ log.println("\t measurementSystem="+ldi.measurementSystem);
+ log.println("\t quotationEnd="+ldi.quotationEnd);
+ log.println("\t quotationStart="+ldi.quotationStart);
+ log.println("\t thousandSeparator="+ldi.thousandSeparator);
+ log.println("\t time100SecSeparator="+ldi.time100SecSeparator);
+ log.println("\t timeAM="+ldi.timeAM);
+ log.println("\t timePM="+ldi.timePM);
+ log.println("\t timeSeparator="+ldi.timeSeparator);
+ log.println("\t unoID="+ldi.unoID);
+ */
+ }
+ }
+ tRes.tested("getLocaleItem()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all elements of the returned sequence are
+ * correct for all given locales. (boolean method goodCalendar() with a
+ * calendar as an argument returns true)
+ */
+ public void _getAllCalendars() {
+ boolean res = true;
+ boolean printit = false;
+ Calendar[] calendar = new Calendar[1];
+
+ for (int i=0;i<7;i++) {
+ calendar = oObj.getAllCalendars(getLocale(i));
+ for (int j=0;j<calendar.length;j++) {
+ if (! goodCalendar(calendar[j]) ) {
+ printit = true;
+ }
+ res &= goodCalendar(calendar[j]);
+ }
+ if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ printit = false;
+ }
+ tRes.tested("getAllCalendars()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all elements of the returned sequence are
+ * correct for all given locales. (boolean method goodCurrency() with a
+ * currency as an argument returns true)
+ */
+ public void _getAllCurrencies() {
+ boolean res = true;
+ boolean printit = false;
+ Currency[] currency = new Currency[1];
+
+ for (int i=0;i<7;i++) {
+ currency = oObj.getAllCurrencies(getLocale(i));
+ for (int j=0;j<currency.length;j++) {
+ if (! goodCurrency(currency[j]) ) {
+ printit=true;
+ }
+ res &= goodCurrency(currency[j]);
+ }
+ if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ printit =false;
+ }
+ tRes.tested("getAllCurrencies()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all elements of the returned sequence are
+ * correct for all given locales. (boolean method goodFormat() with a
+ * format as an argument returns true)
+ */
+ public void _getAllFormats() {
+ boolean res = true;
+ boolean printit = false;
+ FormatElement[] format = new FormatElement[1];
+
+ for (int i=0;i<7;i++) {
+ format = oObj.getAllFormats(getLocale(i));
+ for (int j=0;j<format.length;j++) {
+ if (! goodFormat(format[j]) ) {
+ printit = true;
+ }
+ res &= goodFormat(format[j]);
+ }
+ if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ printit =false;
+ }
+ tRes.tested("getAllFormats()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all structs, returned by the method have non
+ * empty field 'UnoID' for all given locales.
+ */
+ public void _getCollatorImplementations() {
+ boolean res = true;
+ boolean printit = false;
+ Implementation[] impl = new Implementation[1];
+
+ for (int i=0;i<7;i++) {
+ impl = oObj.getCollatorImplementations(getLocale(i));
+ for (int j=0;j<impl.length;j++) {
+ if ((impl[j].unoID.equals(""))) {
+ printit = true;
+ }
+ res &= (!impl[j].unoID.equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getCollatorImplementations()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getSearchOptions() {
+ boolean res = true;
+ boolean printit = false;
+ String[] str = new String[1];
+
+ for (int i=0;i<7;i++) {
+ str = oObj.getSearchOptions(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if ((str[j].equals(""))) {
+ printit = true;
+ }
+ res &= (!str.equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getSearchOptions()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getCollationOptions() {
+ boolean res = true;
+ boolean printit = false;
+ String[] str = new String[1];
+
+ for (int i=0;i<7;i++) {
+ str = oObj.getCollationOptions(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if ((str[j].equals(""))) {
+ printit = true;
+ }
+ res &= (!str.equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getCollationOptions()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getTransliterations() {
+ boolean res = true;
+ boolean printit = false;
+ String[] str = new String[1];
+
+ for (int i=0;i<7;i++) {
+ str = oObj.getTransliterations(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if ((str[j].equals(""))) {
+ printit = true;
+ }
+ res &= (!str.equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getTransliterations()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if the method returns structure with non-empty
+ * fields for all given locales.
+ */
+ public void _getForbiddenCharacters() {
+ boolean res = true;
+ ForbiddenCharacters fc = null;
+
+ //the forbidden characters are only available for the asian languages
+ for (int i=4;i<7;i++) {
+ fc = oObj.getForbiddenCharacters(getLocale(i));
+ res &= !( fc.beginLine.equals("") || fc.endLine.equals("") );
+ if ( !res ) {
+ log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ }
+ }
+ tRes.tested("getForbiddenCharacters()", res);
+ }
+
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getReservedWord() {
+ boolean res = true;
+ boolean printit = false;
+ String[] str = new String[1];
+
+ for (int i=0;i<7;i++) {
+ str = oObj.getReservedWord(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if ((str[j].equals(""))) {
+ printit = true;
+ }
+ res &= (!str.equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getReservedWord()", res);
+ }
+
+
+ /**
+ * Test calls the method. Then result is checked for all given locales.<p>
+ * Has <b> OK </b> status if locale sequence, returned by the method contains
+ * given locales.
+ */
+ public void _getAllInstalledLocaleNames() {
+ boolean res = true;
+ Locale[] locs = oObj.getAllInstalledLocaleNames();
+
+ //check if the languages used here are part of this array
+ for (int i=0;i<7;i++) {
+ res &= contains(locs, getLocale(i));
+ }
+ tRes.tested("getAllInstalledLocaleNames()",res);
+ }
+
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param localeIndex index of needed locale.
+ * @return Locale by the index from arrays defined above
+ */
+ public Locale getLocale(int k) {
+ return new Locale(languages[k],countries[k],"");
+ }
+
+ /**
+ * Method checks given calendar for non empty fields.
+ * @param calendar Calendar to be checked
+ */
+ public boolean goodCalendar(Calendar calendar) {
+ boolean good = true;
+ for (int i=0;i<calendar.Days.length;i++) {
+ //log.println("Day "+i+"(AbbrevName): "+calendar.Days[i].AbbrevName);
+ good &= (! calendar.Days[i].AbbrevName.equals("") );
+ //log.println("Day "+i+"(FullName): "+calendar.Days[i].FullName);
+ good &= (! calendar.Days[i].FullName.equals("") );
+ //log.println("Day "+i+"(ID): "+calendar.Days[i].ID);
+ good &= (! calendar.Days[i].ID.equals("") );
+ }
+ for (int i=0;i<calendar.Months.length;i++) {
+ //log.println("Day "+i+"(AbbrevName): "+calendar.Months[i].AbbrevName);
+ good &= (! calendar.Months[i].AbbrevName.equals("") );
+ //log.println("Day "+i+"(FullName): "+calendar.Months[i].FullName);
+ good &= (! calendar.Months[i].FullName.equals("") );
+ //log.println("Day "+i+"(ID): "+calendar.Months[i].ID);
+ good &= (! calendar.Months[i].ID.equals("") );
+ }
+ for (int i=0;i<calendar.Eras.length;i++) {
+ //log.println("Era "+i+"(AbbrevName): "+calendar.Eras[i].AbbrevName);
+ good &= (! calendar.Eras[i].AbbrevName.equals("") );
+ //log.println("Era "+i+"(FullName): "+calendar.Eras[i].FullName);
+ good &= (! calendar.Eras[i].FullName.equals("") );
+ //log.println("Era "+i+"(ID): "+calendar.Eras[i].ID);
+ good &= (! calendar.Eras[i].ID.equals("") );
+ }
+ //log.println("Start of Week: "+calendar.StartOfWeek);
+ good &= (! calendar.StartOfWeek.equals("") );
+ //log.println("MinimumNumberOfDaysForFirstWeek: "+calendar.MinimumNumberOfDaysForFirstWeek);
+ //log.println("Default: "+calendar.Default);
+ //log.println("Name: "+calendar.Name);
+ good &= (! calendar.Name.equals("") );
+ return good;
+ }
+
+ /**
+ * Method checks given currency for non empty fields.
+ * @param currency Currency to be checked
+ */
+ public boolean goodCurrency(Currency currency) {
+ boolean good = true;
+ good &= (!currency.BankSymbol.equals(""));
+ good &= (!currency.Name.equals(""));
+ good &= (!currency.Symbol.equals(""));
+ return good;
+ }
+
+ /**
+ * Method checks given format for non empty fields.
+ * @param format Format to be checked
+ */
+ public boolean goodFormat(FormatElement format) {
+ boolean good = true;
+ good &= (!format.formatCode.equals(""));
+ good &= (!format.formatKey.equals(""));
+ good &= (!format.formatType.equals(""));
+ good &= (!format.formatUsage.equals(""));
+ return good;
+ }
+
+ /**
+ * Method checks that locale sequence contains given locale.
+ * @param locs Locale sequence
+ * @param oneLoc given locale
+ */
+ public boolean contains(Locale[] locs, Locale oneLoc) {
+ boolean cont = false;
+ for (int j=0;j<locs.length;j++) {
+ if ( (locs[j].Country.equals(oneLoc.Country)) &&
+ (locs[j].Language.equals(oneLoc.Language)) ) {
+ cont=true;
+ break;
+ }
+ }
+ if (!cont) log.println("Not contained: " + oneLoc.Language);
+ return cont;
+ }
+
+} // end XLocaleData
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java b/qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java
new file mode 100644
index 000000000000..0566e27112c4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.KNumberFormatType;
+import com.sun.star.i18n.KNumberFormatUsage;
+import com.sun.star.i18n.NumberFormatCode;
+import com.sun.star.i18n.NumberFormatIndex;
+import com.sun.star.i18n.XNumberFormatCode;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XNumberFormatCode</code>
+* interface methods:
+* <ul>
+* <li><code> getDefault() </code></li>
+* <li><code> getFormatCode() </code></li>
+* <li><code> getAllFormatCode() </code></li>
+* <li><code> getAllFormatCodes() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.i18n.XNumberFormatCode
+*/
+public class _XNumberFormatCode extends MultiMethodTest {
+ public XNumberFormatCode oObj = null;
+ public String[] languages = new String[]
+ {"de","en","es","fr","ko","ko","zh"};
+ public String[] countries = new String[]
+ {"DE","US","ES","FR","KR","KR","CN"};
+
+ /**
+ * Test calls the method twice with two different format types as
+ * parameters for each locale. Result is checked after every call.<p>
+ * Has <b> OK </b> status if both times returned structure's field 'Code'
+ * does not equal to empty string.
+ */
+ public void _getDefault() {
+ boolean res = true;
+ NumberFormatCode nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getDefault(KNumberFormatType.SHORT,
+ KNumberFormatUsage.DATE, getLocale(i));
+ String str = nfc.Code;
+ if (str.equals("")) {
+ log.println("'NumberFormat.code.equals(\"\") = true' for"
+ + " language: " + languages[i]);
+ log.println("Usage: oObj.getDefault(KNumberFormatType.SHORT,"
+ + " KNumberFormatUsage.DATE,new Locale(" + languages[i]
+ + "," + countries[i] + ",\"\");");
+ }
+ res &= !str.equals("");
+
+ nfc = oObj.getDefault(KNumberFormatType.LONG,
+ KNumberFormatUsage.DATE,getLocale(i));
+ str = nfc.Code;
+ if (str.equals("")) {
+ log.println("'NumberFormat.code.equals(\"\") = true' for "
+ + "language: " + languages[i]);
+ log.println("Usage: oObj.getDefault(KNumberFormatType.LONG,"
+ + " KNumberFormatUsage.DATE,new Locale(" + languages[i]
+ + "," + countries[i] + ",\"\");");
+ }
+ res &= ( ! str.equals("") );
+ }
+ tRes.tested("getDefault()", res);
+ }
+
+ /**
+ * Test calls the method twice for each locale with two different arguments.
+ * After every call result is checked.<p>
+ * Has <b> OK </b> status if both times returned structure's field 'Code'
+ * does not equal to a empty string.
+ */
+ public void _getFormatCode() {
+ boolean res = true;
+ NumberFormatCode nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getFormatCode
+ (NumberFormatIndex.DATE_SYSTEM_SHORT,getLocale(i));
+ res &= ( ! nfc.Code.equals("") );
+ nfc = oObj.getFormatCode
+ (NumberFormatIndex.DATE_SYSTEM_LONG,getLocale(i));
+ res &= ( ! nfc.Code.equals("") );
+ }
+ tRes.tested("getFormatCode()", res);
+ }
+
+ /**
+ * Test calls the method twice with two different arguments for each locale.
+ * After every call result is checked.<p>
+ * Has <b> OK </b> status if both times returned array's length does not
+ * equal to zero.
+ */
+ public void _getAllFormatCode() {
+ boolean res = true;
+ NumberFormatCode[] nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getAllFormatCode(KNumberFormatUsage.DATE, getLocale(i));
+ res &= ( nfc.length != 0 );
+ nfc = oObj.getAllFormatCode(KNumberFormatUsage.TIME, getLocale(i));
+ res &= ( nfc.length != 0 );
+ }
+ tRes.tested("getAllFormatCode()", res);
+ }
+
+ /**
+ * Test calls the method for each locale. <p>
+ * Has <b> OK </b> status if returned array's length does not equal to zero.
+ */
+ public void _getAllFormatCodes() {
+ boolean res = true;
+ NumberFormatCode[] nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getAllFormatCodes(getLocale(i));
+ res &= ( nfc.length != 0 );
+ }
+ tRes.tested("getAllFormatCodes()", res);
+ }
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param localeIndex index of needed locale.
+ * @return Locale by the index from arrays defined above
+ */
+ public Locale getLocale(int k) {
+ return new Locale(languages[k], countries[k], "");
+ }
+
+
+
+} // end XNumberFormatCode
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XTransliteration.java b/qadevOOo/tests/java/ifc/i18n/_XTransliteration.java
new file mode 100644
index 000000000000..ea8502d31f29
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XTransliteration.java
@@ -0,0 +1,456 @@
+/*************************************************************************
+ *
+ * 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.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.TransliterationModules;
+import com.sun.star.i18n.TransliterationModulesNew;
+import com.sun.star.i18n.TransliterationType;
+import com.sun.star.i18n.XTransliteration;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XTransliteration</code>
+* interface methods :
+* <ul>
+* <li><code> getName()</code></li>
+* <li><code> getType()</code></li>
+* <li><code> loadModule()</code></li>
+* <li><code> loadModuleNew()</code></li>
+* <li><code> loadModuleByImplName()</code></li>
+* <li><code> loadModulesByImplNames()</code></li>
+* <li><code> getAvailableModules()</code></li>
+* <li><code> transliterate()</code></li>
+* <li><code> folding()</code></li>
+* <li><code> equals()</code></li>
+* <li><code> transliterateRange()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.i18n.XTransliteration
+*/
+public class _XTransliteration extends MultiMethodTest {
+
+ public XTransliteration oObj = null;
+ private String[] mod = null ;
+ private Locale loc = new Locale("en", "EN", "") ;
+
+ /**
+ * Gets all available transliteration modules. <p>
+ * Has <b>OK</b> status if array returned has at least
+ * one module name.
+ */
+ public void _getAvailableModules() {
+ mod = oObj.getAvailableModules(loc, TransliterationType.ONE_TO_ONE);
+
+ if (mod != null) {
+ log.println("Available modules :") ;
+ for (int i = 0; i < mod.length; i++) {
+ log.println(" '" + mod[i] + "'") ;
+ }
+ } else {
+ log.println("!!! NULL returned !!!") ;
+ }
+
+ tRes.tested("getAvailableModules()", mod != null && mod.length > 0) ;
+ }
+
+ /**
+ * Calls the method for load IGNORE_CASE module and checks the name returned
+ * by the method <code>getName</code>. <p>
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "case ignore (generic)".
+ */
+ public void _loadModule() {
+ log.println("Load module IGNORE_CASE");
+ oObj.loadModule(TransliterationModules.IGNORE_CASE, loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("case ignore (generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModule()", res );
+ }
+
+ /**
+ * Loads <code>LOWERCASE_UPPERCASE</code> module and checks the current
+ * name of object. <p>
+ *
+ * Has <b>OK</b> status if the name of the object is equals to
+ * 'lower_to_upper(generic)'
+ */
+ public void _loadModuleNew() {
+ boolean result = true ;
+
+ oObj.loadModuleNew(
+ new TransliterationModulesNew[]
+ {TransliterationModulesNew.LOWERCASE_UPPERCASE}, loc);
+
+ String name = oObj.getName();
+ result = name.equals("lower_to_upper(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModuleNew()", result);
+ }
+
+ /**
+ * Calls the method for load LOWERCASE_UPPERCASE module and
+ * checks the name returned by the method <code>getName</code>. <p>
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "lower_to_upper(generic)".
+ */
+ public void _loadModuleByImplName() {
+ log.println("Load module LOWERCASE_UPPERCASE");
+ oObj.loadModuleByImplName("LOWERCASE_UPPERCASE", loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("lower_to_upper(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModuleByImplName()", res);
+ }
+
+ /**
+ * Calls the method for load UPPERCASE_LOWERCASE module and
+ * checks the name returned by the method <code>getName</code>. <p>
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "upper_to_lower(generic)".
+ */
+ public void _loadModulesByImplNames() {
+ log.println("Load module UPPERCASE_LOWERCASE");
+ oObj.loadModulesByImplNames(new String[]{"UPPERCASE_LOWERCASE"}, loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("upper_to_lower(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModulesByImplNames()", res);
+ }
+
+ /**
+ * Loads <code>LOWERCASE_UPPERCASE</code> module and checks current type.
+ * <p>Has <b>OK</b> status if the type is <code>ONE_TO_ONE</code>
+ */
+ public void _getType() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ boolean result = oObj.getType() == TransliterationType.ONE_TO_ONE;
+ tRes.tested("getType()", result);
+ }
+
+ /**
+ * Loads UPPERCASE_LOWERCASE module and
+ * checks the name returned by the method <code>getName</code>. <p>
+ *
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "upper_to_lower(generic)".
+ */
+ public void _getName() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("lower_to_upper(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("getName()", res);
+ }
+
+ /**
+ * First loads <code>LOWERCASE_UPPERCASE</code> module.
+ * Then tries to transliterate (make uppercase) a substring. <p>
+ * Has <b>OK</b> status if all chars were made uppercase,
+ * and array returned has size as substring length, and its
+ * elements are positions of substring characters in the source
+ * string.
+ */
+ public void _transliterate() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ int[][] offs = new int[1][] ;
+
+ String out = oObj.transliterate("AaBbCc", 1, 4, offs) ;
+
+ boolean result = "ABBC".equals(out) && offs[0].length == 4 &&
+ offs[0][0] == 1 &&
+ offs[0][1] == 2 &&
+ offs[0][2] == 3 &&
+ offs[0][3] == 4 ;
+
+ tRes.tested("transliterate()", result) ;
+ }
+
+
+ /**
+ * First loads <code>LOWERCASE_UPPERCASE</code> module.
+ * Tries to transliterate a range of two characters. <p>
+ * Has <b>OK</b> status if the appropriate String array
+ * returned (not null, length = 4, with two ranges
+ * (a, i), (A, I) in any order).
+ */
+ public void _transliterateRange() {
+ oObj.loadModule(TransliterationModules.IGNORE_CASE, loc);
+
+ String[] out = oObj.transliterateRange("a", "i") ;
+
+ log.println("transliterateRange return:");
+ for(int i = 0; i < out.length; i++) {
+ log.println(out[i]);
+ }
+
+ boolean bOK = out != null &&
+ out.length == 4 &&
+ ("A".equals(out[0]) && "I".equals(out[1]) &&
+ "a".equals(out[2]) && "i".equals(out[3])) ||
+ ("a".equals(out[0]) && "i".equals(out[1]) &&
+ "A".equals(out[2]) && "I".equals(out[3])) ;
+
+ if (!bOK) {
+ log.println("Unexpected range returned :");
+ for (int i = 0; i < out.length; i++) {
+ log.print("'" + out[i] +"', ");
+ }
+ log.println();
+ }
+
+ tRes.tested("transliterateRange()", bOK);
+ }
+
+ /**
+ * This method is used internally by <code>equals</code>
+ * method so it indirectly tested in this method. <p>
+ * Always has <b>OK</b> status.
+ */
+ public void _folding() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ int[][] offs = new int[1][] ;
+
+ String out = oObj.folding("AaBbCc", 1, 4, offs) ;
+
+ boolean result = "ABBC".equals(out) && offs[0].length == 4 &&
+ offs[0][0] == 1 &&
+ offs[0][1] == 2 &&
+ offs[0][2] == 3 &&
+ offs[0][3] == 4 ;
+
+
+ tRes.tested("folding()", result) ;
+ }
+
+
+ /**
+ * First loads <code>LOWERCASE_UPPERCASE</code> module.
+ * Tries to compare two equal substrings. <p>
+ * Has <b>OK</b> status if the method returned <code>true</code>.
+ */
+ public void _equals() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ int[] match1 = new int[1],
+ match2 = new int[1] ;
+
+ boolean res = oObj.equals("aAbBcC", 1, 3, match1, "aAbBcC", 1,
+ 3, match2) ;
+
+ log.println("Returned : " + res + " Match1 = " + match1[0] +
+ " Match2 = " + match2[0]) ;
+
+ tRes.tested("equals()", res) ;
+ }
+
+ /**
+ * Test performed for sets of equal substrings, not equal
+ * substrings, and with out of bounds offset and length
+ * parameters.<p>
+ *
+ * Has <b>OK</b> status if comparings of equal substrings
+ * always return 0, if comparisons of none equal returns
+ * proper value according to lexicographical order and if
+ * comparisons with invalid parameters return none 0 value.
+ */
+ public void _compareSubstring() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ boolean result = true ;
+
+ // substrings below must be equal
+ result &= testSubstring("", 0, 0, "", 0, 0, 0) ;
+ result &= testSubstring("aa", 1, 0, "", 0, 0, 0) ;
+ result &= testSubstring("aa", 1, 0, "aa", 2, 0, 0) ;
+ result &= testSubstring("a", 0, 1, "a", 0, 1, 0) ;
+ result &= testSubstring("ab", 0, 2, "ab", 0, 2, 0) ;
+ result &= testSubstring("abc", 1, 2, "abc", 1, 2, 0) ;
+ result &= testSubstring("abcdef", 0, 3, "123abc", 3, 3, 0) ;
+ result &= testSubstring("abcdef", 1, 1, "123abc", 4, 1, 0) ;
+
+ // substrings below must NOT be equal
+ result &= testSubstring("a", 0, 1, "a", 0, 0, 1) ;
+ result &= testSubstring("aaa", 1, 1, "", 0, 0, 1) ;
+ result &= testSubstring("bbb", 2, 1, "aaa", 2, 1, 1) ;
+ result &= testSubstring("abc", 0, 3, "abc", 0, 2, 1) ;
+ result &= testSubstring("bbc", 1, 2, "bbc", 0, 2, 1) ;
+
+ // testing with wrong offsets and lengths
+
+ tRes.tested("compareSubstring()", result) ;
+ }
+
+ /**
+ * Performs tesing of two substrings. Also testing of opposite
+ * substrings order performed.
+ * @return <code>true</code> if substrings are equal and retruned
+ * value is 0 for both orders,
+ * if substrings are different and expected value
+ * returned for direct order and opposite value returned for
+ * opposite order.
+ */
+ private boolean testSubstring(String str1, int p1, int len1,
+ String str2, int p2, int len2, int expRes) {
+
+ boolean ret = true ;
+
+ int res = -666 ;
+ try {
+ res = oObj.compareSubstring(str1, p1, len1, str2, p2, len2);
+ } catch (java.lang.NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res != expRes) {
+ log.print("Comparing FAILED; return: " + res + ", expected: " +
+ expRes + " ");
+ ret = false ;
+ } else {
+ log.print("Comparing OK : ");
+ }
+ log.println("('" + str1 + "', " + p1 + ", " + len1 + ", '" +
+ str2 + "', " + p2 + ", " + len2 + ")");
+
+ res = -666 ;
+ try {
+ res = oObj.compareSubstring(str2, p2, len2, str1, p1, len1);
+ } catch (java.lang.NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res != -expRes) {
+ log.print("Comparing FAILED; return: " + res + ", expected: " +
+ -expRes + " ");
+ ret = false ;
+ } else {
+ log.print("Comparing OK :");
+ }
+ log.println("('" + str2 + "', " + p2 + ", " + len2 + ", '" +
+ str1 + "', " + p1 + ", " + len1 + ")");
+
+ return ret ;
+ }
+
+ /**
+ * Test performed for sets of equal strings and not equal
+ * strings.<p>
+ *
+ * Has <b>OK</b> status if comparings of equal strings
+ * always return 0 and if comparisons of none equal returns
+ * proper value according to lexicographical order .
+ */
+ public void _compareString() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ boolean result = true ;
+
+ result &= testString("", "", 0) ;
+ result &= testString("a", "", 1) ;
+ result &= testString("a", "a", 0) ;
+ result &= testString("A", "a", 0) ;
+ result &= testString("b", "a", 1) ;
+ result &= testString("\n", "\n", 0) ;
+ result &= testString("\n", "\t", 1) ;
+ result &= testString("aaa", "aaa", 0) ;
+ result &= testString("aaA", "aaa", 0) ;
+ result &= testString("aaa", "aa", 1) ;
+ result &= testString("ab", "aaa", 1) ;
+ result &= testString("aba", "aa", 1) ;
+ result &= testString("aaa\t\na", "aaa\t\na", 0) ;
+ result &= testString("aaa\t\nb", "aaa\t\na", 1) ;
+
+ tRes.tested("compareString()", result) ;
+ }
+
+ /**
+ * Performs tesing of two strings. If the expected value is not 0
+ * (i.e. strings are not equal), then also testing of opposite
+ * strings order performed.
+ * @return <code>true</code> if strings are equal and retruned
+ * value is 0, if strings are different and expected value
+ * returned for direct order and opposite value returned for
+ * opposite order.
+ */
+ protected boolean testString(String str1, String str2, int expRes) {
+ if (expRes == 0) return testString(str1, str2, expRes, false) ;
+ return testString(str1, str2, expRes, true) ;
+ }
+
+ private boolean testString(String str1, String str2, int expRes,
+ boolean testReverse) {
+
+ boolean ret = true ;
+
+ int res = -666 ;
+ try {
+ res = oObj.compareString(str1, str2);
+ } catch (java.lang.NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res == expRes) {
+ log.println("Comparing of '" + str1 + "' and '" + str2 + "' OK" );
+ } else {
+ log.println("Comparing of '" + str1 + "' and '" + str2 +
+ "' FAILED; return: " + res + ", expected: " + expRes);
+ ret = false ;
+ }
+
+ if (!testReverse) return ret ;
+
+ res = -666 ;
+ try {
+ res = oObj.compareString(str2, str1);
+ } catch (java.lang.NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res == -expRes) {
+ log.println("Comparing of '" + str2 + "' and '" + str1 + "' OK" );
+ } else {
+ log.println("Comparing of '" + str2 + "' and '" + str1 +
+ "' FAILED; return: " + res + ", expected: " + -expRes);
+ ret = false ;
+ }
+
+ return ret ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java b/qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java
new file mode 100644
index 000000000000..8bf57eb657fe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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.inspection;
+
+import com.sun.star.inspection.XObjectInspector;
+import com.sun.star.inspection.XObjectInspectorModel;
+import com.sun.star.inspection.XObjectInspectorUI;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.inspection.XObjectInspector</code>
+ * interface methods :
+ * <ul>
+ * <li><code> inspect()</code></li>
+ * <li><code> InspectorModel()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XObjectInspector.toInspect'</code>
+ * (of type <code>Object []</code>):
+ * acceptable collection of one or more objects which can be inspected by <code>inspect()</code> </li>
+ * <ul> <p>
+ *
+ */
+
+public class _XObjectInspector extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XObjectInspector oObj = null;
+ /**
+ * This variable was filled with the object relation
+ * <CODE>XObjectInspector.toInspect</CODE> and was used to
+ * test the method <CODE>inspect()</CODE>
+ */
+ public Object[] oInspect = null;
+ /**
+ * This variable was filled with the object relation
+ * <CODE>XObjectInspector.InspectorModelToSet</CODE> and was used to
+ * test the method <CODE>setInspectorModel()</CODE>
+ */
+ public XObjectInspectorModel xSetModel = null;
+
+ /**
+ * get object relations
+ * <ul>
+ * <li>XObjectInspector.toInspect</li>
+ * </ul>
+ */
+ public void before() {
+
+ oInspect = (Object[]) tEnv.getObjRelation("XObjectInspector.toInspect");
+
+ if (oInspect == null) throw new StatusException
+ (Status.failed("Relation 'XObjectInspector.toInspect' not found.")) ;
+
+ xSetModel = (XObjectInspectorModel) tEnv.getObjRelation("XObjectInspector.InspectorModelToSet");
+
+ if (xSetModel == null) throw new StatusException
+ (Status.failed("Relation 'XObjectInspector.InspectorModelToSet' not found.")) ;
+ }
+
+ /**
+ * Inspects a new collection of one or more objects given by object realtion
+ * <CODE>XObjectInspector.toInspect</CODE><br>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _inspect() {
+
+ boolean result = true;
+
+ try {
+ oObj.inspect(oInspect);
+
+ } catch (com.sun.star.util.VetoException e){
+ log.println("ERROR:" + e.toString());
+ result = false;
+ }
+
+ tRes.tested("inspect()", result) ;
+ }
+
+ /**
+ * First call the method <CODE>getInspectorModel()</CODE> and save the value<br>
+ * Second call the method <CODE>setInspectorModel()</CODE> with the module variable
+ * <CODE>xSetModel</CODE> as parameter.<br> Then <CODE>getInspectorModel()</CODE>
+ * was called and the returned valued was compared to the saved variable
+ * <CODE>xSetModel</CODE><br>
+ * Has <CODE>OK</CODE> status if the returned value is equal to
+ * <CODE>xSetModel</CODE>.and the saved value is not null.
+ */
+ public void _InspectorModel() {
+
+ log.println("testing 'getInspectorModel()'...");
+ XObjectInspectorModel xGetModel = oObj.getInspectorModel() ;
+
+ boolean result = xGetModel != null;
+
+ log.println(result? "got a not null object -> OK" : "got a NULL object -> FAILED");
+
+ log.println("testing 'setInspectorModel()'...");
+ oObj.setInspectorModel(xSetModel);
+
+ XObjectInspectorModel xNewModel = oObj.getInspectorModel();
+
+ if (result) oObj.setInspectorModel(xGetModel);
+
+ result &= xSetModel.equals(xNewModel);
+
+ tRes.tested("InspectorModel()", result) ;
+ }
+
+ /**
+ * Calls the method <CODE>getInspectorUI()</CODE>
+ * Has <b>OK</b> returned value is not null
+ */
+ public void _InspectorUI() {
+
+ XObjectInspectorUI oUI = oObj.getInspectorUI();
+
+ tRes.tested("InspectorUI()", oUI != null) ;
+
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java b/qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java
new file mode 100644
index 000000000000..e03cb51a1c5f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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.inspection;
+
+import com.sun.star.inspection.PropertyCategoryDescriptor;
+import com.sun.star.inspection.XObjectInspectorModel;
+import lib.MultiMethodTest;
+
+
+
+/**
+ * Testing <code>com.sun.star.inspection.XObjectInspectorModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> describeCategories()</code></li>
+ * <li><code> getHandlerFactories()</code></li>
+ * <li><code> getPropertyOrderIndex()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ *
+ */
+public class _XObjectInspectorModel extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XObjectInspectorModel oObj = null;
+
+ /**
+ * calls the method <CODE>getHandlerFactories()</CODE>
+ * Has <b>OK</b> status if returned value is not null.
+ */
+ public void _HandlerFactories() {
+
+ Object[] HandlerFactories = oObj.getHandlerFactories();
+
+ tRes.tested("HandlerFactories()", HandlerFactories != null) ;
+ }
+
+ /**
+ * Call the method <CODE>getPropertyOrderIndex()</CODE> with an invalid propety name.
+ * Has <CODE>OK</CODE> status if the returned index is "0".
+ */
+ public void _getPropertyOrderIndex() {
+
+ int index = 0;
+ boolean result = true;
+
+ log.println("try to get index of INvalid property name 'InvalidPropertyName' ...");
+ index = oObj.getPropertyOrderIndex("InvalidPropertyName");
+ log.println("index is: " + index);
+ result = (index == 0);
+
+ tRes.tested("getPropertyOrderIndex()", result) ;
+ }
+
+ /**
+ * Call the method <CODE>describeCategories()</CODE>
+ * Has <b>OK</b> status if returned value is not null.
+ */
+ public void _describeCategories() {
+
+ PropertyCategoryDescriptor[] categories = oObj.describeCategories();
+
+ tRes.tested("describeCategories()", categories != null) ;
+ }
+
+ /**
+ * Call the method <CODE>getHasHelpSection()</CODE>
+ * Has <b>OK</b> status if method returned </CODE>true</CODE>
+ */
+ public void _HasHelpSection() {
+
+ boolean hasHelpSection = oObj.getHasHelpSection();
+
+ tRes.tested("HasHelpSection()", hasHelpSection) ;
+ }
+
+ /**
+ * Call the method <CODE>getMinHelpTextLines()</CODE>
+ * Has <b>OK</b> status if returned value equals to object relation 'minHelpTextLines'
+ */
+ public void _MinHelpTextLines() {
+
+ Integer minHelpTextLines = (Integer) tEnv.getObjRelation("minHelpTextLines");
+
+ int getMinHelpTextLines = oObj.getMinHelpTextLines();
+
+ boolean result = (minHelpTextLines.intValue() == getMinHelpTextLines);
+
+ if (!result)
+ log.println("FAILED: value:" + minHelpTextLines + " getted value:" + getMinHelpTextLines);
+
+ tRes.tested("MinHelpTextLines()", result) ;
+ }
+
+ /**
+ * Call the method <CODE>getMaxHelpTextLines())</CODE>
+ * Has <b>OK</b> status if returned value equals to object relation 'maxHelpTextLines'
+ */
+ public void _MaxHelpTextLines() {
+
+ Integer maxHelpTextLines = (Integer) tEnv.getObjRelation("maxHelpTextLines");
+
+ int getMaxHelpTextLines = oObj.getMaxHelpTextLines();
+
+ boolean result = (maxHelpTextLines.intValue() == getMaxHelpTextLines);
+
+ if (!result)
+ log.println("FAILED: expected value:" + maxHelpTextLines + " getted value:" + getMaxHelpTextLines);
+
+ tRes.tested("MaxHelpTextLines()", result);
+ }
+
+ public void _IsReadOnly() {
+ boolean readOnly = oObj.getIsReadOnly();
+
+ oObj.setIsReadOnly(!readOnly);
+
+ boolean result = (readOnly != oObj.getIsReadOnly());
+ if (!result){
+ log.println("FAILED: could not change 'IsReadOnly' to value '" + !readOnly + "'");
+ }
+
+ oObj.setIsReadOnly(readOnly);
+
+ result &= (readOnly == oObj.getIsReadOnly());
+ if (!result){
+ log.println("FAILED: could not change back 'IsReadOnly' to value '" + !readOnly + "'");
+ }
+
+ tRes.tested("IsReadOnly()", result);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/io/_XActiveDataControl.java b/qadevOOo/tests/java/ifc/io/_XActiveDataControl.java
new file mode 100644
index 000000000000..1203fdeecbcb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XActiveDataControl.java
@@ -0,0 +1,249 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.io.XActiveDataControl;
+import com.sun.star.io.XStreamListener;
+import com.sun.star.lang.EventObject;
+
+/**
+ * Testing <code>com.sun.star.io.XActiveDataControl</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addListener()</code></li>
+ * <li><code> removeListener()</code></li>
+ * <li><code> start()</code></li>
+ * <li><code> terminate()</code></li>
+ * </ul> <p>
+ *
+ * Tests <code>XActiveDataControl</code> interface. First, it registers a listener
+ * and performs <code>start()</code> and <code>terminate()</code> calls. The
+ * events received in the listener are analyzed to verify the result.<p>
+ *
+ * @see com.sun.star.io.XActiveDataControl
+ */
+public class _XActiveDataControl extends MultiMethodTest {
+
+ /**
+ * Contains the object under test.
+ */
+ public XActiveDataControl oObj = null;
+
+ /**
+ * Indicates that the <code>XStreamListener.started()</code> method has
+ * been called.
+ */
+ private boolean startCalled = false;
+
+ /**
+ * Indicates that the <code>XStreamListener.terminated()</code> method has
+ * been called.
+ */
+ private boolean terminateCalled = false;
+
+ /**
+ * Indicates that the <code>XEventListener.closed()</code> method has
+ * been called.
+ */
+ private boolean closeCalled = false;
+
+ /**
+ * Indicates that the <code>XStreamListener.error()</code> method has
+ * been called.
+ */
+ private boolean errorCalled = false;
+
+ /**
+ * Contains the error, if <code>XStreamListener.error(Object error)</code>
+ * method was called.
+ */
+ private Object error;
+
+ /**
+ * Indicates that the <code>XEventListener.disposing()</code> method has
+ * been called.
+ */
+ private boolean smthngElseCalled = false;
+
+ /**
+ * The listener is used to verify results of the methods.
+ */
+ private TestStreamListener listener = new TestStreamListener();
+
+ /**
+ * XStreamListener implementation. Sets variables
+ * (<cod>estartedCalled</code>, <code>terminatedCalled</code>, etc.) to
+ * <tt>true</tt> if the appropriate method was called (for example, if
+ * <code>started()</code> was called, the <code>startedCalled</code>
+ * field is set).
+ */
+ private class TestStreamListener implements XStreamListener {
+ public void started() {
+ startCalled = true ;
+ }
+ public void terminated() {
+ terminateCalled = true ;
+ }
+ public void error(Object e) {
+ error = e;
+ errorCalled = true ;
+ }
+ public void closed() {
+ closeCalled = true ;
+ }
+ public void disposing(EventObject e) {
+ smthngElseCalled = true ;
+ }
+
+ }
+
+ /**
+ * Tests <code>addListener()</code>. The verification is performed later, in
+ * <code>_terminate()</code> method.
+ */
+ public void _addListener() {
+ oObj.addListener(listener);
+ }
+
+ /**
+ * Starts the data activity (e.g. data pump). Verifictation is performed
+ * later, in <code>_terminate()</code> method.
+ */
+ public void _start() {
+ executeMethod("addListener()");
+
+ oObj.start();
+
+ // waiting a little bit for data transfered
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(Status.failed(e.getMessage()));
+ }
+ }
+
+ /**
+ * Tests <code>removeListener()</code>. Before, it ensures that other
+ * tests are perforemed and that <code>addListener()</code> is okay. Then,
+ * calls <code>XActiveDataControl.start()</code> and checks that no method
+ * of the listener was called.
+ */
+ public void _removeListener() {
+ // performing other tests before, so, that don't break them
+ try {
+ executeMethod("terminate()");
+ } catch (StatusException e) {
+ // the result doesn't matter
+ }
+
+ // check that addListener() is okay
+ requiredMethod("addListener()");
+
+ // clearing previous records
+ startCalled = false;
+ terminateCalled = false;
+ errorCalled = false;
+ error = null;
+ smthngElseCalled = false;
+
+ // removing the listener
+ oObj.removeListener(listener);
+
+ // starting the activity
+ oObj.start();
+
+ // wait a little bit to allow for listeners to be called
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(Status.failed(e.getMessage()));
+ }
+
+ // check that no removed listener's method was called
+ tRes.tested("removeListener()",!startCalled &&
+ !terminateCalled && !errorCalled && !smthngElseCalled) ;
+ }
+
+ /**
+ * Tests <code>terminate()</code>. First, ensures that <code>start()</code>
+ * has been called. Then, verifies <code>start()</code>,
+ * <code>addListener()</code> and <code>terminate()</code> results, by
+ * checking that the appropriate listener's methods have been called.
+ */
+ public void _terminate() {
+ // ensuring that the activity has been started
+ executeMethod("start()");
+
+ // terminating the activity
+ oObj.terminate();
+
+ // waiting a little bit for listeners to be called
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(Status.failed(e.getMessage()));
+ }
+
+ // check, if any error occured
+ if (errorCalled) {
+ Status.failed("Unexpected error");
+ log.println("Unexpected error " + error);
+ ((Exception)error).printStackTrace(log);
+ }
+
+ // verification of start() method - startedCalled method should be
+ // called
+ if (!tRes.tested("start()", startCalled)) {
+ log.println("XStreamListener.started() was not called()");
+ }
+
+ // check that any listener method is called
+ tRes.tested("addListener()", startCalled ||
+ terminateCalled || errorCalled || smthngElseCalled);
+
+ // checking that terminated() has been called or streams were closed
+ // before terminate() call, in this case termination has no sense.
+ tRes.tested("terminate()", terminateCalled || closeCalled);
+ }
+
+ /**
+ * Disposes the test environment, since it is used.
+ */
+ public void after() {
+ this.disposeEnvironment();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/io/_XActiveDataSink.java b/qadevOOo/tests/java/ifc/io/_XActiveDataSink.java
new file mode 100644
index 000000000000..5a1c5f054719
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XActiveDataSink.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XInputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XActiveDataSink</code>
+* interface methods :
+* <ul>
+* <li><code> setInputStream()</code></li>
+* <li><code> getInputStream()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'InputStream'</code>
+* (of type <code>com.sun.star.io.XInputStream</code>):
+* acceptable input stream which can be set by <code>setInputStream</code> </li>
+* <ul> <p>
+*
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XActiveDataSink
+*/
+public class _XActiveDataSink extends MultiMethodTest {
+
+ public XActiveDataSink oObj = null;
+
+ private XInputStream iStream = null;
+
+ /**
+ * Take the XInputStream from the environment for setting and getting
+ */
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("InputStream");
+ iStream = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, x) ;
+ }
+
+ /**
+ * Just sets new input stream. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _setInputStream() {
+ oObj.setInputStream(iStream) ;
+
+ tRes.tested("setInputStream()", true) ;
+ }
+
+ /**
+ * First retrieves current input stream, then sets to new
+ * input stream (if old was <code>null</code>) or to null.
+ * Then input stream retrieved again and checked to be not
+ * equal to the old one. <p>
+ * Has <b>OK</b> status if old and new streams retrieved are
+ * not equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setInputStream() </code> : to be sure the method
+ * works without exceptions. </li>
+ * </ul>
+ */
+ public void _getInputStream() {
+ requiredMethod("setInputStream()") ;
+
+ Object oldStream = oObj.getInputStream() ;
+ XInputStream newStream = oldStream == null ? iStream : null ;
+
+ oObj.setInputStream(newStream) ;
+ Object getStream = oObj.getInputStream() ;
+
+ tRes.tested("getInputStream()", getStream != oldStream) ;
+ }
+
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/io/_XActiveDataSource.java b/qadevOOo/tests/java/ifc/io/_XActiveDataSource.java
new file mode 100644
index 000000000000..a363dd5edeb8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XActiveDataSource.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XActiveDataSource</code>
+* interface methods:
+* <ul>
+* <li><code>setOutputStream()</code></li>
+* <li><code>getOutputStream()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'OutputStream'</code>
+* (of type <code>com.sun.star.io.OutputStream</code>):
+* acceptable output stream which can be set by <code>setOutputStream</code> </li>
+* <ul> <p>
+*
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+*/
+public class _XActiveDataSource extends MultiMethodTest {
+
+ public XActiveDataSource oObj = null;
+
+ private XOutputStream oStream = null;
+
+ /**
+ * Take the XOutputStream from the environment for setting and getting.
+ */
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("OutputStream");
+ oStream = (XOutputStream) UnoRuntime.queryInterface
+ (XOutputStream.class, x) ;
+ }
+
+ /**
+ * Test calls the method using interface <code>XOutputStream</code>
+ * received in method <code>before()</code> as parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setOutputStream() {
+ oObj.setOutputStream(oStream);
+ tRes.tested("setOutputStream()", true);
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set in the method <code>setOutputStream()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setOutputStream() </code></li>
+ * </ul>
+ */
+ public void _getOutputStream() {
+ requiredMethod("setOutputStream()");
+
+ tRes.tested("getOutputStream()",
+ oStream.equals(oObj.getOutputStream()));
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XConnectable.java b/qadevOOo/tests/java/ifc/io/_XConnectable.java
new file mode 100644
index 000000000000..471714aeee23
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XConnectable.java
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XConnectable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XConnectable</code>
+* interface methods:
+* <ul>
+* <li><code>setPredecessor()</code></li>
+* <li><code>getPredecessor()</code></li>
+* <li><code>setSuccessor()</code></li>
+* <li><code>getSuccessor()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Connectable'</code> (supports the <code>XConnectable</code>
+* interface):
+* another 0bject to connect </li>
+* </ul>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XConnectable
+*/
+public class _XConnectable extends MultiMethodTest {
+
+ public XConnectable oObj = null;
+
+ private XConnectable xConnect = null ;
+
+ /**
+ * Get another connectable object from object relations.
+ */
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("Connectable");
+ xConnect = (XConnectable)UnoRuntime.queryInterface(
+ XConnectable.class, x) ;
+ }
+
+ /**
+ * Test calls the method using interface <code>XConnectable</code>
+ * received in method <code>before()</code> as parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setPredecessor() {
+ oObj.setPredecessor(xConnect) ;
+
+ tRes.tested("setPredecessor()", true) ;
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set in the method <code>setPredecessor()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setPredecessor() </code></li>
+ * </ul>
+ */
+ public void _getPredecessor() {
+ requiredMethod("setPredecessor()") ;
+
+ XConnectable gConnect = oObj.getPredecessor() ;
+
+ tRes.tested("getPredecessor()", xConnect.equals(gConnect)) ;
+ }
+
+ /**
+ * Test calls the method using interface <code>XConnectable</code>
+ * received in method <code>before()</code> as parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setSuccessor() {
+ oObj.setSuccessor(xConnect) ;
+
+ tRes.tested("setSuccessor()", true) ;
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set in the method <code>setSuccessor()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setSuccessor() </code></li>
+ * </ul>
+ */
+ public void _getSuccessor() {
+ requiredMethod("setSuccessor()") ;
+
+ XConnectable gConnect = oObj.getSuccessor() ;
+
+ tRes.tested("getSuccessor()", xConnect.equals(gConnect)) ;
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XDataInputStream.java b/qadevOOo/tests/java/ifc/io/_XDataInputStream.java
new file mode 100644
index 000000000000..b4015abacc82
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XDataInputStream.java
@@ -0,0 +1,421 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XDataOutputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XDataInputStream</code>
+* interface methods:
+* <ul>
+* <li><code>readBoolean()</code></li>
+* <li><code>readByte()</code></li>
+* <li><code>readChar()</code></li>
+* <li><code>readShort()</code></li>
+* <li><code>readLong()</code></li>
+* <li><code>readHyper()</code></li>
+* <li><code>readFloat()</code></li>
+* <li><code>readDouble()</code></li>
+* <li><code>readUTF()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'StreamData'</code> (of type <code>Vector</code>):
+* vector of data for comparing with data that obtained from stream </li>
+* <li> <code>'StreamWriter'</code> (of type <code>XDataOutputStream</code>):
+* a possiblitiy to write values to the stream. </li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XDataInputStream
+* @see java.util.Vector
+*/
+public class _XDataInputStream extends MultiMethodTest {
+
+ public XDataInputStream oObj = null;
+ public XDataOutputStream oStream = null;
+
+ // values that are written
+ private boolean writeBoolean;
+ private byte writeByte;
+ private char writeChar;
+ private double writeDouble;
+ private float writeFloat;
+ private long writeHyper;
+ private int writeLong;
+ private short writeShort;
+ private String writeUTF;
+
+
+ /**
+ * Retrieves relations. From relation 'StreamData' extracts
+ * data of different types and fills the appropriate variables.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before(){
+
+ XInterface x = (XInterface)tEnv.getObjRelation("StreamWriter") ;
+ oStream = (XDataOutputStream)UnoRuntime.queryInterface(
+ XDataOutputStream.class, x);
+ Vector data = (Vector) tEnv.getObjRelation("StreamData") ;
+ if (data == null || oStream == null) {
+ throw new StatusException(Status.failed("Object relation not found."));
+ }
+
+ // extract data from vector
+ Object dataElem = null ;
+ for (int i = 0; i < data.size(); i++) {
+ dataElem = data.get(i) ;
+
+ if (dataElem instanceof Boolean) {
+ writeBoolean = ((Boolean)dataElem).booleanValue();
+ } else
+ if (dataElem instanceof Byte) {
+ writeByte = ((Byte)dataElem).byteValue();
+ } else
+ if (dataElem instanceof Character) {
+ writeChar = ((Character)dataElem).charValue();
+ } else
+ if (dataElem instanceof Short) {
+ writeShort = ((Short)dataElem).shortValue();
+ } else
+ if (dataElem instanceof Integer) {
+ writeLong = ((Integer)dataElem).intValue();
+ } else
+ if (dataElem instanceof Long) {
+ writeHyper = ((Long)dataElem).longValue();
+ } else
+ if (dataElem instanceof Float) {
+ writeFloat = ((Float)dataElem).floatValue();
+ } else
+ if (dataElem instanceof Double) {
+ writeDouble = ((Double)dataElem).doubleValue();
+ } else
+ if (dataElem instanceof String) {
+ writeUTF = (String)dataElem;
+ }
+ }
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readBoolean() {
+ boolean res = true ;
+ try {
+ oStream.writeBoolean(writeBoolean);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ byte readElem;
+ try {
+ readElem = oObj.readBoolean();
+ res = ((readElem != 0) == writeBoolean);
+
+ if (!res)
+ log.println("Must be read " +
+ writeBoolean +
+ " but was read " + (readElem != 0)) ;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Couldn't read Boolean from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("readBoolean()", res) ;
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readByte() {
+ boolean res = true ;
+ try {
+ oStream.writeByte(writeByte);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ byte readElem;
+ try {
+ readElem = oObj.readByte() ;
+ res = (readElem == writeByte);
+
+ if (!res)
+ log.println("Must be read " +
+ writeByte +
+ " but was read " + readElem);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't read Byte from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("readByte()", res) ;
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readChar() {
+ boolean res = true ;
+ try {
+ oStream.writeChar(writeChar);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ char readElem;
+ try {
+ readElem = oObj.readChar() ;
+ res = (readElem == writeChar);
+
+ if (!res)
+ log.println("Must be read " +
+ writeChar +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Char from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readChar()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readShort() {
+ boolean res = true ;
+ try {
+ oStream.writeShort(writeShort);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ short readElem;
+ try {
+ readElem = oObj.readShort() ;
+ res = (readElem == writeShort);
+
+ if (!res)
+ log.println("Must be read " +
+ writeShort +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Short from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readShort()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readLong() {
+ try {
+ oStream.writeLong(writeLong);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ boolean res = true ;
+ int readElem;
+ try {
+ readElem = oObj.readLong() ;
+ res = (readElem == writeLong);
+
+ if (!res)
+ log.println("Must be read " +
+ writeLong +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Long from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readLong()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readHyper() {
+ boolean res = true ;
+ try {
+ oStream.writeHyper(writeHyper);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ long readElem;
+ try {
+ readElem = oObj.readHyper() ;
+ res = (readElem == writeHyper);
+
+ if (!res)
+ log.println("Must be read " +
+ writeHyper +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Hyper from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readHyper()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readFloat() {
+ boolean res = true ;
+ try {
+ oStream.writeFloat(writeFloat);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ float readElem;
+ try {
+ readElem = oObj.readFloat() ;
+ res = (readElem == writeFloat);
+
+ if (!res)
+ log.println("Must be read " +
+ writeFloat +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Float from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readFloat()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readDouble() {
+ boolean res = true ;
+ try {
+ oStream.writeDouble(writeDouble);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ double readElem;
+ try {
+ readElem = oObj.readDouble() ;
+ res = (readElem == writeDouble);
+
+ if (!res)
+ log.println("Must be read " +
+ writeDouble +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Double from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readDouble()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readUTF() {
+ boolean res = true ;
+ try {
+ oStream.writeUTF(writeUTF);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ String readElem;
+ try {
+ readElem = oObj.readUTF() ;
+ res = writeUTF.equals(readElem) ;
+
+ if (!res)
+ log.println("Must be read '" +
+ writeUTF +
+ "' but was read '" + readElem + "'") ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read String from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readUTF()", res);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ try {
+ oStream.flush();
+ } catch (com.sun.star.io.NotConnectedException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.io.BufferSizeExceededException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ }
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XDataOutputStream.java b/qadevOOo/tests/java/ifc/io/_XDataOutputStream.java
new file mode 100644
index 000000000000..5511422f777c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XDataOutputStream.java
@@ -0,0 +1,282 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XDataOutputStream;
+
+/**
+* Testing <code>com.sun.star.io.XDataOutputStream</code>
+* interface methods:
+* <ul>
+* <li><code>writeBoolean()</code></li>
+* <li><code>writeByte()</code></li>
+* <li><code>writeChar()</code></li>
+* <li><code>writeShort()</code></li>
+* <li><code>writeLong()</code></li>
+* <li><code>writeHyper()</code></li>
+* <li><code>writeFloat()</code></li>
+* <li><code>writeDouble()</code></li>
+* <li><code>writeUTF()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'StreamData'</code> (of type <code>Vector</code>):
+* vector of data for writing to the stream </li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XDataOutputStream
+*/
+public class _XDataOutputStream extends MultiMethodTest {
+
+ public XDataOutputStream oObj = null;
+
+ // values that are written
+ private boolean writeBoolean;
+ private byte writeByte;
+ private char writeChar;
+ private double writeDouble;
+ private float writeFloat;
+ private long writeHyper;
+ private int writeLong;
+ private short writeShort;
+ private String writeUTF;
+
+
+ /**
+ * Retrieves object relation <code>'StreamData'</code>
+ * and executes methods of interface depending of data in stream.
+ * If relation or data of some type in stream not found then
+ * tests of corresponding methods are skipped.
+ */
+ public void before() throws RuntimeException {
+
+ Vector data = (Vector) tEnv.getObjRelation("StreamData") ;
+ if (data == null) {
+ throw new RuntimeException("Object relation 'StreamData' not found.");
+ }
+
+ // extract data from vector
+ Object dataElem = null ;
+ for (int i = 0; i < data.size(); i++) {
+ dataElem = data.get(i) ;
+
+ if (dataElem instanceof Boolean) {
+ writeBoolean = ((Boolean)dataElem).booleanValue();
+ } else
+ if (dataElem instanceof Byte) {
+ writeByte = ((Byte)dataElem).byteValue();
+ } else
+ if (dataElem instanceof Character) {
+ writeChar = ((Character)dataElem).charValue();
+ } else
+ if (dataElem instanceof Short) {
+ writeShort = ((Short)dataElem).shortValue();
+ } else
+ if (dataElem instanceof Integer) {
+ writeLong = ((Integer)dataElem).intValue();
+ } else
+ if (dataElem instanceof Long) {
+ writeHyper = ((Long)dataElem).longValue();
+ } else
+ if (dataElem instanceof Float) {
+ writeFloat = ((Float)dataElem).floatValue();
+ } else
+ if (dataElem instanceof Double) {
+ writeDouble = ((Double)dataElem).doubleValue();
+ } else
+ if (dataElem instanceof String) {
+ writeUTF = (String)dataElem;
+ }
+ }
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeBoolean() {
+ boolean res = true;
+ try {
+ oObj.writeBoolean(true) ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Boolean to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeBoolean()", res) ;
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeByte() {
+ boolean res = true;
+ try {
+ oObj.writeByte((byte) 123);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Byte to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeByte()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeChar() {
+ boolean res = true;
+ try {
+ oObj.writeChar((char)12345);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Char to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeChar()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeShort() {
+ boolean res = true;
+ try {
+ oObj.writeShort((short)12345) ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Short to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeShort()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeLong() {
+ boolean res = true;
+ try {
+ oObj.writeLong(123456);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Long to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeLong()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeHyper() {
+ boolean res = true;
+ try {
+ oObj.writeHyper(123456789);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Hyper to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeHyper()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeFloat() {
+ boolean res = true;
+ try {
+ oObj.writeFloat((float)1.2345);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Float to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeFloat()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeDouble() {
+ boolean res = true;
+ try {
+ oObj.writeDouble(1.2345);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Double to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeDouble()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeUTF() {
+ boolean res = true;
+ try {
+ oObj.writeUTF("XDataOutputStream") ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write String to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeUTF()", res);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XInputStream.java b/qadevOOo/tests/java/ifc/io/_XInputStream.java
new file mode 100644
index 000000000000..2f3161532ef4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XInputStream.java
@@ -0,0 +1,247 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XInputStream</code>
+* interface methods:
+* <ul>
+* <li><code>readBytes()</code></li>
+* <li><code>readSomeBytes()</code></li>
+* <li><code>skipBytes()</code></li>
+* <li><code>available()</code></li>
+* <li><code>closeInput()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'StreamWriter'</code>:
+* object that supports interface <code>XOutputStream</code>;
+* a stream to write data to</li>
+* <li> <code>'ByteData'</code> (of type <code>byte []</code>):
+* data to write to the stream</li>
+* <ul> <p>
+
+* @see com.sun.star.io.XInputStream
+*/
+public class _XInputStream extends MultiMethodTest {
+
+ public XInputStream oObj = null;
+ public XOutputStream oStream = null;
+
+ byte[] bytes = null;
+
+ int bytesReady = 0 ;
+
+ /**
+ * Before the test, the stream writer and the data are ecxtracted from
+ * the object relations and the data is written to the stream.
+ */
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("StreamWriter");
+ oStream = (XOutputStream)UnoRuntime.queryInterface(
+ XOutputStream.class, x) ;
+ bytes = (byte[])tEnv.getObjRelation("ByteData");
+ try {
+ oStream.writeBytes(bytes);
+ }
+ catch(com.sun.star.io.NotConnectedException e) {}
+ catch(com.sun.star.io.BufferSizeExceededException e) {}
+ catch(com.sun.star.io.IOException e) {}
+ }
+
+ /**
+ * After the test, the stream writer is closed and the
+ * environment is disposed.
+ */
+ public void after() {
+ try {
+ oStream.flush();
+ oStream.closeOutput();
+ }
+ catch(com.sun.star.io.NotConnectedException e) {}
+ catch(com.sun.star.io.BufferSizeExceededException e) {}
+ catch(com.sun.star.io.IOException e) {}
+ this.disposeEnvironment();
+ }
+ /**
+ * Test calls the method and stores number of available bytes. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _available() {
+ boolean result = true ;
+ try {
+ bytesReady = oObj.available() ;
+ log.println("Bytes available :" + bytesReady) ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("available()", result) ;
+ }
+
+ /**
+ * Test reads one byte from stream. If no bytes available
+ * then test of method is skipped. <p>
+ * Has <b> OK </b> status if returned value equal to number of read bytes,
+ * no exceptions were thrown and read data is not null. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> available() </code> : to have available number
+ * of bytes in stream </li>
+ * </ul>
+ */
+ public void _readBytes() {
+ requiredMethod("available()") ;
+ boolean result ;
+
+ if (bytesReady-- > 0) {
+ try {
+ byte[][] data = new byte[1][1] ;
+ int read = oObj.readBytes(data, 1) ;
+
+ result = read == 1 &&
+ data != null &&
+ data.length == 1 ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("readBytes()", result) ;
+ } else {
+ log.println("No more bytes available in the stream");
+ tRes.tested("readBytes()", Status.skipped(false));
+ }
+ }
+
+ /**
+ * Test reads one byte from stream. If no bytes available
+ * then test of method is skipped. <p>
+ * Has <b> OK </b> status if returned value equal to number of read bytes,
+ * no exceptions were thrown and read data is not null. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> available() </code> : to have available number
+ * of bytes in stream </li>
+ * </ul>
+ */
+ public void _readSomeBytes() {
+ requiredMethod("available()") ;
+ boolean result ;
+
+ if (bytesReady-- > 0) {
+ try {
+ byte[][] data = new byte [1][1] ;
+ int read = oObj.readSomeBytes(data, 1) ;
+
+ result = read == 1 &&
+ data != null &&
+ data.length == 1 ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("readSomeBytes()", result) ;
+ } else {
+ log.println("No more bytes available in the stream") ;
+ tRes.tested("readBytes()", Status.skipped(false));
+ }
+ }
+
+ /**
+ * Test skips one byte from stream. If no bytes available
+ * then test of method is skipped. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> available() </code> : to have available number
+ * of bytes in stream </li>
+ * </ul>
+ */
+ public void _skipBytes() {
+ requiredMethod("available()") ;
+ boolean result ;
+
+ if (bytesReady-- > 0) {
+ try {
+ oObj.skipBytes(1) ;
+
+ result = true ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("skipBytes()", result) ;
+ } else {
+ log.println("No more bytes available in the stream") ;
+ tRes.tested("readBytes()", Status.skipped(false));
+ }
+ }
+
+ /**
+ * Test calls the method and forces object environment recreation. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> available() </code> </li>
+ * <li> <code> readBytes() </code> </li>
+ * <li> <code> readSomeBytes() </code> </li>
+ * <li> <code> skipBytes() </code> </li>
+ * </ul>
+ */
+ public void _closeInput() {
+ executeMethod("available()") ;
+ executeMethod("readBytes()") ;
+ executeMethod("readSomeBytes()") ;
+ executeMethod("skipBytes()") ;
+
+ boolean result = true ;
+ try {
+ oObj.closeInput() ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("closeInput()", result) ;
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XMarkableStream.java b/qadevOOo/tests/java/ifc/io/_XMarkableStream.java
new file mode 100644
index 000000000000..629122702438
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XMarkableStream.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XMarkableStream;
+
+/**
+* Testing <code>com.sun.star.io.XMarkableStream</code>
+* interface methods:
+* <ul>
+* <li><code>createMark()</code></li>
+* <li><code>deleteMark()</code></li>
+* <li><code>jumpToFurthest()</code></li>
+* <li><code>jumpToMark()</code></li>
+* <li><code>offsetToMark()</code></li>
+* </ul> <p>
+* @see com.sun.star.io.XMarkableStream
+*/
+public class _XMarkableStream extends MultiMethodTest {
+
+ public XMarkableStream oObj = null;
+ private int mark = -1 ;
+
+ /**
+ * Test creates mark and stores it. <p>
+ * Has <b> OK </b> status if no exceptions were thrown
+ * and returned isn't less than zero. <p>
+ */
+ public void _createMark() {
+ boolean res;
+ try {
+ mark = oObj.createMark() ;
+ res = mark >= 0;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Couldn't create mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("createMark()", res);
+ }
+
+ /**
+ * Test deletes the mark that was created by method <code>createMark()
+ * </code>.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createMark() </code> : to have mark </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> jumpToFurthest() </code></li>
+ * <li> <code> jumpToMark() </code></li>
+ * <li> <code> offsetToMark() </code></li>
+ * </ul>
+ */
+ public void _deleteMark() {
+ requiredMethod("createMark()") ;
+
+ executeMethod("jumpToFurthest()") ;
+ executeMethod("jumpToMark()") ;
+ executeMethod("offsetToMark()") ;
+
+ boolean res;
+ try {
+ oObj.deleteMark(mark);
+ res = true;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't delete mark");
+ e.printStackTrace(log);
+ res = false;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't delete mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("deleteMark()", res) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createMark() </code></li>
+ * </ul>
+ */
+ public void _jumpToFurthest() {
+ requiredMethod("createMark()") ;
+
+ boolean res;
+ try {
+ oObj.jumpToFurthest() ;
+ res = true;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Couldn't jump to furthest");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("jumpToFurthest()", res) ;
+ }
+
+ /**
+ * Test jumps to mark that was created by method <code>createMark()</code>.
+ * <p>Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> jumpToFurthest() </code> : for the right order of tests
+ * excecution </li>
+ * </ul>
+ */
+ public void _jumpToMark() {
+ requiredMethod("jumpToFurthest()") ;
+ boolean res;
+
+ try {
+ oObj.jumpToMark(mark) ;
+ res = true;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't jump to mark");
+ e.printStackTrace(log);
+ res = false;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't jump to mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("jumpToMark()", res) ;
+ }
+
+ /**
+ * Test obtains offset to mark that was created by
+ * method <code>createMark()</code> and checks returned value.<p>
+ * Has <b> OK </b> status if returned value is equal to zero
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> jumpToMark() </code> : to have current position at
+ * the mark position </li>
+ * </ul>
+ */
+ public void _offsetToMark() {
+
+ requiredMethod("jumpToMark()") ;
+
+ boolean res;
+ try {
+ int offset = oObj.offsetToMark(mark);
+ res = offset == 0;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't get offser to mark");
+ e.printStackTrace(log);
+ res = false;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't get offser to mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("offsetToMark()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XObjectInputStream.java b/qadevOOo/tests/java/ifc/io/_XObjectInputStream.java
new file mode 100644
index 000000000000..6f3d94e38e92
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XObjectInputStream.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueComparer;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.io.XObjectInputStream</code>
+* interface methods:
+* <ul>
+* <li><code>readObject()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'PersistObject'</code> (of type <code>Object</code>):
+* object that supports interface <code>XPersistObject</code> </li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XObjectInputStream
+* @see com.sun.star.io.XPersistObject
+*/
+public class _XObjectInputStream extends MultiMethodTest {
+
+ public XObjectInputStream oObj = null;
+ private Object objRead = null ;
+ private Object objWrite = null ;
+
+ /**
+ * Test reads perisist object from stream and compares properties
+ * of the object with properties of persist object obtained
+ * from relation <code>'PersistObject'</code> <p>
+ * Has <b> OK </b> status if returned value isn't null and values
+ * of objects properties are equal. <p>
+ */
+ public void _readObject() {
+ objWrite = tEnv.getObjRelation("PersistObject") ;
+ if (objWrite == null) {
+ log.println("PersistObject not found in relations") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ // write the object
+ try {
+ XObjectOutputStream oStream = (XObjectOutputStream)
+ tEnv.getObjRelation("StreamWriter");
+ oStream.writeObject((XPersistObject)objWrite);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write object to stream");
+ e.printStackTrace(log);
+ tRes.tested("readObject()", Status.skipped(false));
+ return;
+ }
+
+ try {
+ objRead = oObj.readObject() ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't read object from stream");
+ e.printStackTrace(log);
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ if (objRead == null) {
+ log.println("No object was read.") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ XPropertySet props1 = null ;
+ XPropertySet props2 = null ;
+
+ props1 = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, objRead) ;
+
+ props2 = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, objWrite) ;
+
+ if (props1 == null) {
+ log.println("Object read doesn't implement XPropertySet") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+ if (props2 == null) {
+ log.println("Object written doesn't implement XPropertySet") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ tRes.tested("readObject()",
+ compareProperties(props1, props2)) ;
+ }
+
+ protected boolean compareProperties(XPropertySet props1,
+ XPropertySet props2) {
+
+ Property[] p1 = props1.getPropertySetInfo().getProperties() ;
+ Property[] p2 = props2.getPropertySetInfo().getProperties() ;
+
+ if (p1.length != p2.length) {
+ log.println("Number of properties differs") ;
+ return false ;
+ }
+
+ boolean result = true ;
+
+ for (int i = 0; i < p1.length; i++) {
+ String propName = p1[i].Name ;
+
+ log.print("Comparing property '" + propName + "' ...") ;
+ boolean res = false ;
+ try {
+ res = ValueComparer.equalValue
+ (props1.getPropertyValue(propName),
+ props2.getPropertyValue(propName)) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Not found !") ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e) ;
+ }
+
+ if (res)
+ log.println("OK.") ;
+ else
+ log.println("Different !") ;
+
+ result &= res ;
+ }
+
+ return result ;
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java b/qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java
new file mode 100644
index 000000000000..fb635d472a5f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.io.XObjectOutputStream</code>
+* interface methods:
+* <ul>
+* <li><code>writeObject()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'InputStream'</code> (of type <code>XObjectInputStream</code>)</li>
+* persist object for testing of write to stream</ul>
+* @see com.sun.star.io.XObjectInputStream
+* @see com.sun.star.io.XObjectOutputStream
+* @see com.sun.star.io.XPersistObject
+*/
+public class _XObjectOutputStream extends MultiMethodTest {
+
+ public XObjectOutputStream oObj = null;
+
+ /**
+ * Test creates persist object, sets label of object,
+ * calls the method for created persist object
+ * and checks label of object that was read from input stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and labels are equals. <p>
+ */
+ public void _writeObject() throws Exception {
+ XObjectInputStream oInStream = (XObjectInputStream)
+ tEnv.getObjRelation("InputStream");
+ if (oInStream == null) throw
+ new StatusException(Status.failed("Relation 'InputStream' failed"));
+
+ // use own implementation of XPersistObject, so test runs
+ // without an office
+ XPersistObject objWrite = (XPersistObject)
+ tEnv.getObjRelation("PersistObject");
+ if (objWrite == null) throw
+ new StatusException(Status.failed("Relation 'PersistObject' failed"));
+
+ XPropertySet propObjWrite = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, objWrite);
+
+ // This XPersistObject has a property called 'String'
+ propObjWrite.setPropertyValue("String", "XObjectOutputStream");
+
+ log.println("Writing object with label 'XObjectOutputStream'");
+ oObj.writeObject(objWrite);
+ XPersistObject readObj = oInStream.readObject();
+ XPropertySet propSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, readObj);
+ String label = (String)propSet.getPropertyValue("String");
+ log.println("Object with label '" + label + "' was read");
+
+ tRes.tested("writeObject()", label.equals("XObjectOutputStream")) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XOutputStream.java b/qadevOOo/tests/java/ifc/io/_XOutputStream.java
new file mode 100644
index 000000000000..c49aa479ee38
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XOutputStream.java
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+
+/**
+* Testing <code>com.sun.star.io.XOutputStream</code>
+* interface methods:
+* <ul>
+* <li><code>writeBytes()</code></li>
+* <li><code>flush()</code></li>
+* <li><code>closeOutput()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ByteData'</code> : Data that is written on the stream.
+* </li>
+* <li> <code>'XOutputStream.StreamChecker'</code> : <code>
+* _XOutputStream.StreamChecker</code> interface implementation
+* which can reset streams and return input stream for check if the
+* data was successfully written.</li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XOutputStream
+*/
+public class _XOutputStream extends MultiMethodTest {
+
+ public XOutputStream oObj = null;
+ StreamChecker checker = null;
+ byte[] data = null;
+
+ public static interface StreamChecker {
+ public XInputStream getInStream();
+ public void resetStreams();
+ }
+
+ protected void before() {
+ checker = (StreamChecker)
+ tEnv.getObjRelation("XOutputStream.StreamChecker");
+ if (checker == null) throw
+ new StatusException(Status.failed(
+ "Couldn't get relation 'XOutputStream.StreamChecker'"));
+
+ data = (byte[])tEnv.getObjRelation("ByteData");
+ if (data == null) throw
+ new StatusException(Status.failed(
+ "Couldn't get relation 'ByteData'"));
+ }
+ /**
+ * Test writes data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeBytes() {
+ boolean res = true;
+ try {
+ oObj.writeBytes(data);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log) ;
+ res = false;
+ }
+
+ XInputStream xInStream = checker.getInStream();
+ byte[][] readData = new byte[1][data.length];
+ try {
+ xInStream.readBytes(readData, data.length);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't read data:" + e);
+ res = false;
+ }
+
+ for(int i = 0; i < readData[0].length; i++) {
+ log.println("Expected: "+data[i]+", actual is "+readData[0][i]);
+ res &= readData[0][i] == data[i];
+ }
+
+ tRes.tested("writeBytes()", res);
+ }
+
+ /**
+ * Test flushes out data from stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> writeBytes() </code></li>
+ * </ul>
+ */
+ public void _flush() {
+ requiredMethod("writeBytes()");
+
+ boolean res;
+ try {
+ oObj.flush();
+ res = true;
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log) ;
+ res = false;
+ }
+
+ tRes.tested("flush()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> writeBytes() </code></li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li><code> flush() </code></li>
+ * </ul>
+ */
+ public void _closeOutput() {
+ requiredMethod("writeBytes()");
+ executeMethod("flush()");
+
+ boolean res;
+ try {
+ oObj.closeOutput();
+ res = true;
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ log.println("This method is called in main module");
+
+ tRes.tested("closeOutput()", res);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XPersistObject.java b/qadevOOo/tests/java/ifc/io/_XPersistObject.java
new file mode 100644
index 000000000000..94d1e87ca9ed
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XPersistObject.java
@@ -0,0 +1,269 @@
+/*************************************************************************
+ *
+ * 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.io;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.io.XPersistObject</code>
+* interface methods :
+* <ul>
+* <li><code> getServiceName()</code></li>
+* <li><code> write()</code></li>
+* <li><code> read()</code></li>
+* </ul> <p>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'OBJNAME'</code> : <code>String</code> value that
+* contains service name which object represents.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.io.XObjectInputStream
+* @see com.sun.star.io.XObjectOutputStream
+*/
+public class _XPersistObject extends MultiMethodTest {
+
+ public XPersistObject oObj = null;
+ XObjectInputStream iStream = null;
+ XObjectOutputStream oStream = null;
+ String sname = null;
+
+ boolean result = true;
+
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns proper service names
+ * which is equal to <code>'OBJNAME'</code> relation value. <p>
+ */
+ public void _getServiceName() {
+ result = true;
+ sname = oObj.getServiceName();
+ log.println("Method returned '" + sname + "'") ;
+ String objName = (String)tEnv.getObjRelation("OBJNAME");
+ if (objName == null) {
+ log.println("No OBJNAME relation!");
+ result = false;
+ } else {
+ result &= sname.equals(objName);
+ if (!result)
+ log.println("Name of object must be '" + objName +
+ "' but returned name is '" + sname +"'");
+ }
+
+ tRes.tested("getServiceName()", result);
+ }
+
+ /**
+ * Creates service get by <code>getServiceName</code> method and tries
+ * to read object written to stream by <code>write</code> method test.
+ * Then properties of object written and object read are compared. <p>
+ * Has <b>OK</b> status if all properties of two objects are equal
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getServiceName() </code> : to have service name
+ * which has to be created </li>
+ * <li> <code> write() </code> : to write object tested into stream</li>
+ * </ul>
+ */
+ public void _read() {
+ requiredMethod("getServiceName()");
+ requiredMethod("write()") ;
+
+ boolean bResult = true;
+
+ try {
+ Object noPS = tEnv.getObjRelation("noPS");
+ if ( noPS == null) {
+ XPropertySet objps = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ XPropertySetInfo objpsi = objps.getPropertySetInfo();
+ Property[] objprops = objpsi.getProperties();
+
+ Object oCopy = ((XMultiServiceFactory)tParam.getMSF()).createInstance(sname);
+
+ XPersistObject persCopy = (XPersistObject)
+ UnoRuntime.queryInterface(XPersistObject.class, oCopy);
+
+ persCopy.read(iStream);
+
+ XPropertySet copyps = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, oCopy);
+
+ XPropertySetInfo copypsi = copyps.getPropertySetInfo();
+ Property[] copyprops = copypsi.getProperties();
+
+ for (int i = 0; i < copyprops.length; i++) {
+ Object cps = copyps.getPropertyValue(copyprops[i].Name);
+ Object ops = objps.getPropertyValue(objprops[i].Name);
+ boolean locRes = ( (ValueComparer.equalValue(cps,ops)) ||
+ (utils.isVoid(cps) && utils.isVoid(ops)) );
+
+ //transient properties aran't stored
+ if (isTransient(objprops[i])) locRes = true;
+
+ Object pseudo = tEnv.getObjRelation("PSEUDOPERSISTENT");
+ if ( (pseudo != null) && !locRes) {
+ String str = copyprops[i].Name;
+ locRes = ( (str.equals("Time")) || (str.equals("Date"))
+ || (str.equals("FormatsSupplier"))
+ || (str.equals("Text"))
+ || (str.equals("Value"))
+ || (str.indexOf("UserDefined")>0)
+ );
+ }
+ if (!locRes) {
+ log.println("Property '" + copyprops[i].Name
+ + "' failed");
+ dbg.printPropertyInfo(objps, objprops[i].Name, log);
+ dbg.printPropertyInfo(copyps, copyprops[i].Name, log);
+ }
+ bResult &= locRes;
+ }
+ } else {
+ Object oCopy = ((XMultiServiceFactory)tParam.getMSF()).createInstance(sname);
+ XPersistObject persCopy = (XPersistObject)
+ UnoRuntime.queryInterface(XPersistObject.class, oCopy);
+
+ persCopy.read(iStream);
+
+ bResult = ( persCopy.getServiceName().equals(sname) );
+
+ }
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured : ");
+ e.printStackTrace(log) ;
+ bResult = false;
+ }
+
+ tRes.tested("read()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _write() {
+ boolean bResult = true;
+ try {
+ initPipe();
+ oObj.write(oStream);
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Exception occured while test. " + e);
+ bResult = false;
+ }
+ tRes.tested("write()", bResult);
+ }
+
+
+ /**
+ * Creates the following stream scheme <code>
+ * ObjectOutputStream -> Pipe -> ObjectInputStream </code> for writing/reading
+ * object.
+ */
+ protected void initPipe() {
+ try {
+ Object aPipe = ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.io.Pipe");
+ Object istream = ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ Object ostream = ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.io.ObjectOutputStream");
+
+ // Now the objects that aren't described anywhere
+ Object mistream = ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ Object mostream = ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+
+ XActiveDataSink xdSi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, istream);
+ XActiveDataSource xdSo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+ XActiveDataSink xdSmi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XInputStream miStream = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, mistream);
+ XOutputStream moStream = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, mostream);
+ XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, aPipe);
+ XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+
+ xdSi.setInputStream(miStream);
+ xdSo.setOutputStream(moStream);
+ xdSmi.setInputStream(PipeIn);
+ xdSmo.setOutputStream(PipeOut);
+
+ iStream = (XObjectInputStream)
+ UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ oStream = (XObjectOutputStream)
+ UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("exc " + e);
+ }
+
+ }
+
+ public static boolean isTransient(Property prop) {
+ short attr = prop.Attributes;
+ return ((attr & com.sun.star.beans.PropertyAttribute.TRANSIENT) != 0);
+ }
+
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java b/qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java
new file mode 100644
index 000000000000..3aa2d4f6e712
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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.java;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.java.XJavaThreadRegister_11;
+
+/**
+* Testing <code>com.sun.star.java.XJavaThreadRegister_11</code>
+* interface methods :
+* <ul>
+* <li><code> isThreadAttached()</code></li>
+* <li><code> registerThread()</code></li>
+* <li><code> revokeThread()</code></li>
+* </ul> <p>
+* <b> Nothing tested here. </b>
+* @see com.sun.star.java.XJavaThreadRegister_11
+*/
+public class _XJavaThreadRegister_11 extends MultiMethodTest {
+ public XJavaThreadRegister_11 oObj;
+
+ protected void after() {
+ log.println("Skipping all XJavaThreadRegister_11 methods, since they"
+ + " can't be tested in the context");
+ throw new StatusException(Status.skipped(true));
+ }
+
+ public void _isThreadAttached() {
+ // skipping the test
+ tRes.tested("isThreadAttached()", true);
+ }
+
+ public void _registerThread() {
+ // skipping the test
+ tRes.tested("registerThread()", true);
+ }
+
+ public void _revokeThread() {
+ // skipping the test
+ tRes.tested("revokeThread()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/java/_XJavaVM.java b/qadevOOo/tests/java/ifc/java/_XJavaVM.java
new file mode 100644
index 000000000000..c0db5e795d3d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/java/_XJavaVM.java
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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.java;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.java.XJavaVM;
+
+/**
+* Testing <code>com.sun.star.java.XJavaVM</code>
+* interface methods :
+* <ul>
+* <li><code> getJavaVM()</code></li>
+* <li><code> isVMStarted()</code></li>
+* <li><code> isVMEnabled()</code></li>
+* </ul> <p>
+* <b> Nothing tested here. </b>
+* @see com.sun.star.java.XJavaVM
+*/
+public class _XJavaVM extends MultiMethodTest {
+ public XJavaVM oObj;
+
+ protected void after() {
+ log.println("Skipping all XJavaVM methods, since they"
+ + " can't be tested in the context");
+ throw new StatusException(Status.skipped(true));
+ }
+
+ public void _getJavaVM() {
+ // skipping the test
+ tRes.tested("getJavaVM()", true);
+ }
+
+ public void _isVMEnabled() {
+ // skipping the test
+ tRes.tested("isVMEnabled()", true);
+ }
+
+ public void _isVMStarted() {
+ // skipping the test
+ tRes.tested("isVMStarted()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/lang/_ServiceManager.java b/qadevOOo/tests/java/ifc/lang/_ServiceManager.java
new file mode 100644
index 000000000000..d2e84e748c6a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_ServiceManager.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.XComponentContext;
+
+public class _ServiceManager extends MultiPropertyTest {
+
+ public void _DefaultContext() {
+ XComponentContext get = null;
+ boolean res = false;
+ try {
+ get = (XComponentContext)AnyConverter.toObject(new Type(XComponentContext.class), oObj.getPropertyValue("DefaultContext"));
+ res = get != null;
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Illegal Argument Exception");
+ res = false;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Property is optional and not supported");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("Unexpected Exception");
+ wte.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("DefaultContext", res);
+
+ }
+
+} // EOF _ServiceManager
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XComponent.java b/qadevOOo/tests/java/ifc/lang/_XComponent.java
new file mode 100644
index 000000000000..e7493e377141
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XComponent.java
@@ -0,0 +1,181 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import com.sun.star.container.XNameContainer;
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XEventListener;
+
+/**
+* Testing <code>com.sun.star.lang.XComponent</code>
+* interface methods :
+* <ul>
+* <li><code> dispose()</code></li>
+* <li><code> addEventListener()</code></li>
+* <li><code> removeEventListener()</code></li>
+* </ul>
+* After this interface test object <b>must be recreated</b>. <p>
+* Multithreaded test ability <b>not implemented</b> yet.
+* @see com.sun.star.lang.XComponent
+*/
+public class _XComponent extends MultiMethodTest {
+
+ public static XComponent oObj = null;
+ private XNameContainer xContainer = null;
+ private XComponent altDispose = null;
+
+ boolean listenerDisposed[] = new boolean[2];
+ String[] Loutput = new String[2];
+
+ /**
+ * Listener which added but not removed, and its method must be called
+ * on <code>dispose</code> call.
+ */
+ public class MyEventListener implements XEventListener {
+ public void disposing ( EventObject oEvent ) {
+ Loutput[0] = Thread.currentThread() + " is DISPOSING EV1" + this;
+ listenerDisposed[0] = true;
+ }
+ };
+
+ /**
+ * Listener which added and then removed, and its method must <b>not</b>
+ * be called on <code>dispose</code> call.
+ */
+ public class MyEventListener2 implements XEventListener {
+ public void disposing ( EventObject oEvent ) {
+ Loutput[0] = Thread.currentThread() + " is DISPOSING EV2" + this;
+ listenerDisposed[1] = true;
+ }
+ };
+
+ XEventListener listener1 = new MyEventListener();
+ XEventListener listener2 = new MyEventListener2();
+
+ /**
+ * For the (no longer existing) cfgmgr2.OSetElement tests: dispose the owner
+ * element. TODO: Is this needed for anything else, too, or should it be
+ * removed?
+ */
+ protected void before() {
+ // do not dispose this component, but parent instead
+ altDispose = (XComponent)tEnv.getObjRelation("XComponent.DisposeThis");
+
+ }
+
+ /**
+ * Adds two listeners. <p>
+ * Has OK status if then the first listener will receive an event
+ * on <code>dispose</code> method call.
+ */
+ public void _addEventListener() {
+
+ listenerDisposed[0] = false;
+ listenerDisposed[1] = false;
+
+ oObj.addEventListener( listener1 );
+ oObj.addEventListener( listener2 );
+
+ return;
+ } // finished _addEventListener()
+
+ /**
+ * Removes the second of two added listeners. <p>
+ * Method tests to be completed successfully :
+ * <ul>
+ * <li> <code>addEventListener</code> : method must add two listeners. </li>
+ * </ul> <p>
+ * Has OK status if no events will be sent to the second listener on
+ * <code>dispose</code> method call.
+ */
+ public void _removeEventListener() {
+ executeMethod("addEventListener()");
+ if (disposed) return;
+ // the second listener should not be called
+ oObj.removeEventListener( listener2 );
+ log.println(Thread.currentThread() + " is removing EL " + listener2);
+ } // finished _removeEventListener()
+
+ static boolean disposed = false;
+
+ /**
+ * Disposes the object and then check appropriate listeners were
+ * called or not. <p>
+ * Method tests to be completed successfully :
+ * <ul>
+ * <li> <code>removeEventListener</code> : method must remove one of two
+ * listeners. </li>
+ * </ul> <p>
+ * Has OK status if liseter removed wasn't called and other listener
+ * was.
+ */
+ public void _dispose() {
+ disposed = false;
+ executeMethod("removeEventListener()");
+
+ log.println( "begin dispose in thread " + Thread.currentThread());
+ XDesktop oDesk = (XDesktop) tEnv.getObjRelation("Desktop");
+ if (oDesk !=null) {
+ oDesk.terminate();
+ }
+ else {
+ if (altDispose == null)
+ oObj.dispose();
+ else
+ altDispose.dispose();
+ }
+
+ try {
+ Thread.sleep(500) ;
+ } catch (InterruptedException e) {}
+ if (Loutput[0]!=null) log.println(Loutput[0]);
+ if (Loutput[1]!=null) log.println(Loutput[1]);
+ log.println( "end dispose" + Thread.currentThread());
+ disposed = true;
+
+ // check that dispose() works OK.
+ tRes.tested("addEventListener()", listenerDisposed[0]);
+ tRes.tested("removeEventListener()", !listenerDisposed[1]);
+ tRes.tested("dispose()", listenerDisposed[0] && !listenerDisposed[1]);
+
+ } // finished _dispose()
+
+ /**
+ * Forces object recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finished class _XComponent
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XEventListener.java b/qadevOOo/tests/java/ifc/lang/_XEventListener.java
new file mode 100644
index 000000000000..a2748309dcc0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XEventListener.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XEventListener;
+
+/**
+* Testing <code>com.sun.star.lang.XEventListener</code>
+* interface methods :
+* <ul>
+* <li><code> disposing()</code></li>
+* </ul> <p>
+* Tests nothing, all methods has <b>OK</b> status.
+* @see com.sun.star.lang.XEventListener
+*/
+public class _XEventListener extends MultiMethodTest {
+
+ public XEventListener oObj = null;
+
+ /**
+ * Nothing to test. Always has <b>OK</b> status.
+ */
+ public void _disposing() {
+ log.println("The method 'disposing'");
+ log.println("gets called when the broadcaster is about to be"+
+ " disposed.") ;
+ log.println("All listeners and all other objects which reference "+
+ "the broadcaster should release the references.");
+ log.println("So there is nothing to test here");
+ tRes.tested("disposing()",true);
+
+ }
+
+} //EOF of XEventListener
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XInitialization.java b/qadevOOo/tests/java/ifc/lang/_XInitialization.java
new file mode 100644
index 000000000000..4ce7fe05a410
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XInitialization.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XInitialization;
+
+/**
+* Testing <code>com.sun.star.lang.XInitialization</code>
+* interface methods. <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInitialization.args'</code> (of type <code>Object[]</code>):
+* (<b>Optional</b>) : argument for <code>initialize</code>
+* method. If ommitet zero length array is used. </li>
+* <ul> <p>
+* Test is multithread compilant. <p>
+* Till the present time there was no need to recreate environment
+* after this test completion.
+*/
+public class _XInitialization extends MultiMethodTest {
+
+ public static XInitialization oObj = null;
+
+ /**
+ * Test calls the method with 0 length array and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _initialize() {
+ boolean result = true ;
+
+ try {
+ XInitialization xInit = (XInitialization) tEnv.getObjRelation("XInitialization.xIni");
+ if (xInit == null) xInit = oObj;
+
+ log.println("calling method with valid arguments...");
+ Object[] args = (Object[]) tEnv.getObjRelation("XInitialization.args");
+ if (args==null) {
+ System.out.println("Using new Object[0] as Argument");
+ xInit.initialize(new Object[0]);
+ } else {
+ xInit.initialize(args);
+ }
+
+ // try to call the method with invalid parameters
+ Object[] ExArgs = (Object[]) tEnv.getObjRelation("XInitialization.ExceptionArgs");
+ if (ExArgs !=null) {
+ log.println("calling method with in-valid arguments...");
+ try{
+ result = false;
+ xInit.initialize(ExArgs);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Expected Exception 'com.sun.star.uno.Exception' occured -> OK") ;
+ result = true ;
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Expected Exception 'com.sun.star.uno.RuntimeException' occured -> OK") ;
+ result = true ;
+ } catch (Exception e) {
+ log.println("Un-Expected Exception occured -> FALSE") ;
+ log.println(e.toString());
+ e.printStackTrace();
+ }
+ }
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured while method calling.") ;
+ log.println(e) ;
+ result = false ;
+ }
+
+ tRes.tested("initialize()", result) ;
+ } // finished _initialize()
+
+ /**
+ * Disposes object environment.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finished class _XInitialization
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XLocalizable.java b/qadevOOo/tests/java/ifc/lang/_XLocalizable.java
new file mode 100644
index 000000000000..fd2f503c0529
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XLocalizable.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XLocalizable;
+import lib.Status;
+
+
+public class _XLocalizable extends MultiMethodTest {
+
+ public XLocalizable oObj;
+ protected Locale initialLocale;
+
+ public void _getLocale() {
+ initialLocale = oObj.getLocale();
+ tRes.tested("getLocale()", initialLocale != null);
+ }
+
+ public void _setLocale() {
+ requiredMethod("getLocale()");
+
+ String ro = (String) tEnv.getObjRelation("XLocalizable.ReadOnly");
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setLocale()", Status.skipped(true));
+ return;
+ }
+ Locale newLocale = new Locale("de", "DE", "");
+ oObj.setLocale(newLocale);
+
+ Locale getLocale = oObj.getLocale();
+ boolean res = ((getLocale.Country.equals(newLocale.Country)) &&
+ (getLocale.Language.equals(newLocale.Language)));
+
+ if (!res) {
+ log.println("Expected Language " + newLocale.Language +
+ " and Country " + newLocale.Country);
+ log.println("Getting Language " + getLocale.Language +
+ " and Country " + getLocale.Country);
+ }
+
+ oObj.setLocale(initialLocale);
+ tRes.tested("setLocale()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/lang/_XMain.java b/qadevOOo/tests/java/ifc/lang/_XMain.java
new file mode 100644
index 000000000000..e1cecaeb1849
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XMain.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMain;
+
+
+/**
+ * Testing <code>com.sun.star.lang.XMain</code>
+ * interface methods :
+ * <ul>
+ * <li><code> run()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'ARGS'</code> (of type <code>String[]</code>):
+ * used as argument for <code>run</code> method. </li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.lang.XMain
+ */
+public class _XMain extends MultiMethodTest{
+
+ public static XMain oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ *
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _run() {
+ String[] args = (String[])tEnv.getObjRelation("ARGS");
+
+ log.println("Running with arguments:");
+ for (int i=0; i< args.length; i++)
+ log.println("#" + i + ": " + args[i]);
+
+ oObj.run(args);
+
+ tRes.tested("run()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java b/qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java
new file mode 100644
index 000000000000..4abeca730765
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.lang.XMultiComponentFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createInstanceWithContext()</code></li>
+* <li><code> createInstanceWithArgumentsAndContext()</code></li>
+* <li><code> getAvailableServiceNames()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.lang.XMultiComponentFactory
+*/
+public class _XMultiComponentFactory extends MultiMethodTest {
+ public XMultiComponentFactory oObj = null;
+
+ public XComponentContext xContext = null;
+ private String[] availableServiceNames = null;
+
+ public void before(){
+ xContext = (XComponentContext)tEnv.getObjRelation("DC");
+ availableServiceNames = (String[])tEnv.getObjRelation("XMultiComponentFactory.ServiceNames");
+ }
+
+ /**
+ * Calls the method with one of the available service names
+ * obtained by method getAvailableServiceNames. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is not null.
+ */
+ public void _createInstanceWithContext() {
+ requiredMethod("getAvailableServiceNames()");
+ boolean result = true;
+
+ try {
+ XInterface component = (XInterface)
+ oObj.createInstanceWithContext(
+ availableServiceNames[0], xContext);
+ result = (component != null);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance " + availableServiceNames[0]);
+ result = false;
+ }
+
+ tRes.tested("createInstanceWithContext()", result);
+ }
+
+ /**
+ * Calls the method with one of the available service names
+ * obtained by method getAvailableServiceNames. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is not null.
+ */
+ public void _createInstanceWithArgumentsAndContext() {
+ requiredMethod("getAvailableServiceNames()");
+ boolean result = true;
+ XInterface component = null;
+
+ try {
+ component = (XInterface)oObj.createInstanceWithArgumentsAndContext(
+ availableServiceNames[0], new Object[0], xContext);
+ result = (component != null);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance " + availableServiceNames[0]);
+ result = false;
+ }
+
+ tRes.tested("createInstanceWithArgumentsAndContext()", result);
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is not null.
+ */
+ public void _getAvailableServiceNames() {
+ boolean result = true;
+ if (availableServiceNames == null) {
+ availableServiceNames = oObj.getAvailableServiceNames();
+ result = (availableServiceNames != null);
+ }
+ else { // if service names are given, ignore result
+ String[]erg = oObj.getAvailableServiceNames();
+ result = (erg != null);
+ }
+
+ log.println("Available service names:");
+ for(int i = 0; i < availableServiceNames.length; i++) {
+ log.println(" " + availableServiceNames[i]);
+ }
+
+ tRes.tested("getAvailableServiceNames()", result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java b/qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java
new file mode 100644
index 000000000000..49d3be1daf35
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+
+/**
+* Testing <code>com.sun.star.lang.XMultiServiceFactory</code>
+* interface methods:
+* <ul>
+* <li><code>createInstance()</code></li>
+* <li><code>createInstanceWithArguments()</code></li>
+* <li><code>getAvailableServiceNames()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XMSF.serviceNames'</code> (of type <code>String[]</code>)
+* <b>optional</b>:
+* the relation used when service names are obtained the way
+* other than calling <code>getAvailableServiceNames()</code>
+* method.
+* </li>
+* <li> <code>'XMSF.serviceNamesWithArgs'</code> (of type <code>String[]</code>)
+* <b>optional</b>:
+* the relation used when service names are obtained the way
+* other than calling <code>getAvailableServiceNames()</code>
+* method for testing <code>createInstanceWithArguments</code> method.
+* </li>
+* <li> <code>'XMSF.Args'</code> (of type <code>Object[][]</code>)
+* <b>optional</b>:
+* if this relation exists than the method
+* <code>createInstanceWithArguments</code> is tested. This relation
+* supplies arguments for creating instances. If the relation
+* <code>'XMSF.serviceNamesWithArgs'</code> is also specified
+* then for each service name from that relation appropriate arguments
+* are used from arguments array. If not than arguments with index
+* 0 are used for services creation obtained by
+* <code>getAvailableServiceNames</code> method.
+* </li>
+* </ul> <p>
+*
+* @see com.sun.star.lang.XMultiServiceFactory
+*/
+public class _XMultiServiceFactory extends MultiMethodTest {
+ public XMultiServiceFactory oObj = null;
+ public String[] services = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getAvailableServiceNames() {
+ services = oObj.getAvailableServiceNames();
+
+ for (int i = 0; i < services.length; i++) {
+ log.println("Service" + i + ": " + services[i]);
+ }
+
+ tRes.tested("getAvailableServiceNames()", services != null);
+ }
+
+ /**
+ * Test creates instance of the first service from names array
+ * get by <code>getAvailableServiceNames()</code>. If the array
+ * is empty than test looks for names from relation. <p>
+ *
+ * Has <b> OK </b> status if created instance isn't null. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAvailableServiceNames() </code> : to have list of
+ * supported services </li>
+ * </ul>
+ */
+ public void _createInstance() {
+ requiredMethod("getAvailableServiceNames()");
+
+ if (services.length == 0) {
+ services = (String[]) tEnv.getObjRelation("XMSF.serviceNames");
+
+ if (services == null) {
+ log.println("No service to create.");
+ tRes.tested("createInstance()", true);
+
+ return;
+ }
+ }
+
+ String needArgs = (String) tEnv.getObjRelation("needArgs");
+
+ if (needArgs != null) {
+ log.println("The " + needArgs +
+ " doesn't support createInstance without arguments");
+ tRes.tested("createInstance()", true);
+
+ return;
+ }
+
+ boolean res = true;
+
+ for (int k = 0; k < services.length; k++) {
+ try {
+ log.println("Creating Instance: " + services[k]);
+
+ Object Inst = oObj.createInstance(services[k]);
+ res = (Inst != null);
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured during createInstance()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("createInstance()", res);
+ }
+
+ /**
+ * If the relation with arguments is not specified test does nothing.
+ * In other case it tries to create instance by its name from
+ * relation of from array <code>getAvailableServiceNames()</code>
+ * method supplied. <p>
+ *
+ * Has <b> OK </b> status if the created instance is not null. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAvailableServiceNames() </code> : to have list of
+ * supported services </li>
+ * </ul>
+ */
+ public void _createInstanceWithArguments() {
+ requiredMethod("getAvailableServiceNames()");
+
+ Object[][] args = (Object[][]) tEnv.getObjRelation("XMSF.Args");
+ String[] sNames = (String[]) tEnv.getObjRelation(
+ "XMSF.serviceNamesWithArgs");
+
+ if (args == null) {
+ log.println("Relation 'XMSF.serviceNamesWithArgs' not found");
+ log.println("The component assumed not support " +
+ "createInstanceWithArguments()");
+ tRes.tested("createInstanceWithArguments()", true);
+ } else {
+ if (sNames == null) {
+ sNames = services;
+ }
+
+ boolean res = true;
+
+ for (int k = 0; k < sNames.length; k++) {
+ log.println("Creating service '" + sNames[k] +
+ "' with arguments");
+
+ try {
+ Object Inst = oObj.createInstanceWithArguments(sNames[k],
+ args[k]);
+ res &= (Inst != null);
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println(
+ "Exception occured during createInstanceWithArguments()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("createInstanceWithArguments()", res);
+ }
+ }
+} // finish class _XMultiServiceFactory
diff --git a/qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java b/qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java
new file mode 100644
index 000000000000..1a7884b8f02d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XServiceDisplayName;
+
+/**
+* Testing <code>com.sun.star.lang.XServiceDisplayName</code>
+* interface methods:
+* <ul>
+* <li><code>getServiceDisplayName()</code></li>
+* </ul> <p>
+* @see com.sun.star.lang.XServiceDisplayName
+*/
+public class _XServiceDisplayName extends MultiMethodTest {
+
+ public XServiceDisplayName oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getServiceDisplayName() {
+ String dn = oObj.getServiceDisplayName(new Locale("de","DE",""));
+
+ tRes.tested("getServiceDisplayName()", dn != null);
+ }
+
+} // finish class MTest
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XServiceInfo.java b/qadevOOo/tests/java/ifc/lang/_XServiceInfo.java
new file mode 100644
index 000000000000..3ff929c895dd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XServiceInfo.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XServiceInfo;
+
+/**
+* Testing <code>com.sun.star.lang.XServiceInfo</code>
+* interface methods :
+* <ul>
+* <li><code> getImplementationName()</code></li>
+* <li><code> supportsService()</code></li>
+* <li><code> getSupportedServiceNames()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.lang.XServiceInfo
+*/
+public class _XServiceInfo extends MultiMethodTest {
+ public static XServiceInfo oObj = null;
+ public static String[] names = null;
+
+ /**
+ * Just calls the method.<p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getImplementationName() {
+ boolean result = true;
+ log.println("testing getImplementationName() ... ");
+
+ log.println("The ImplementationName ist "+oObj.getImplementationName());
+ result=true;
+
+ tRes.tested("getImplementationName()", result);
+
+ } // end getImplementationName()
+
+
+ /**
+ * Just calls the method.<p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getSupportedServiceNames() {
+ boolean result = true;
+ log.println("getting supported Services...");
+ names = oObj.getSupportedServiceNames();
+ for (int i=0;i<names.length;i++) {
+ int k = i+1;
+ log.println(k+". Supported Service is "+names[i]);
+ }
+ result=true;
+
+ tRes.tested("getSupportedServiceNames()", result);
+
+ } // end getSupportedServiceNames()
+
+ /**
+ * Gets one of the service names returned by
+ * <code>getSupportedServiceNames</code> method and
+ * calls the <code>supportsService</code> methos with this
+ * name. <p>
+ * Has <b>OK</b> status if <code>true</code> value is
+ * returned.
+ */
+ public void _supportsService() {
+ log.println("testing supportsService");
+ names = oObj.getSupportedServiceNames();
+ tRes.tested("supportsService()", oObj.supportsService(names[0]));
+ } // end supportsService()
+}
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java b/qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java
new file mode 100644
index 000000000000..1bc68938ce41
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java
@@ -0,0 +1,168 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+/**
+* Testing <code>com.sun.star.</code>
+* interface methods :lang.XSingleServiceFactory
+* <ul>
+* <li><code> createInstance()</code></li>
+* <li><code> createInstanceWithArguments()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XSingleServiceFactory.createInstance.negative'</code> :
+* <code>String</code> relation; If its value 'true' then
+* <code>createInstance</code> method for the object isn't
+* supported. </li>
+* <li> <code>'XSingleServiceFactory.arguments'</code> <b>(optional)</b>:
+* has <code>Object[]</code> type. This relation is used as
+* a parameter for <code>createInstanceWithArguments</code>
+* method call. If this relation doesn't exist test pass
+* zerro length array as argument. </li>
+* <li> <code>'XSingleServiceFactory.MustSupport'</code> <b>(optional)</b>:
+* of type <code>java.lang.Class[]</code>. This is an array of UNO
+* interface classes which must be supported by created instance.
+* </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.lang.XSingleServiceFactory
+*/
+public class _XSingleServiceFactory extends MultiMethodTest {
+
+ public XSingleServiceFactory oObj = null;
+ private Class[] mustSupport = null ;
+
+ public void before() {
+ mustSupport = (Class[]) tEnv.getObjRelation
+ ("XSingleServiceFactory.MustSupport") ;
+ }
+
+ /**
+ * Just calls the method and check the value returned. <p>
+ *
+ * Has <b>OK</b> status in case if this method is supported
+ * by object and non null value is returned, or if
+ * this method isn't supported then the method call must
+ * rise an exception or return <code>null</code> value.
+ * If the relation exists which specifies required interfaces
+ * supported by created instance then status is <b>OK</b>
+ * if all these interfaces are supported.
+ */
+ public void _createInstance() {
+ // for some objects the method should fail.
+ // If thi is required the property is set to true.
+ String negStr = (String)tEnv.getObjRelation(
+ "XSingleServiceFactory.createInstance.negative");
+ boolean negative = (negStr != null && negStr.equalsIgnoreCase("true"));
+
+ if (negative) {
+ log.println("Negative test: createInstance should fail");
+ }
+
+ try {
+ log.println("Creating Instance: ");
+ Object Inst = oObj.createInstance();
+ boolean bOK = Inst != null ;
+
+ if (mustSupport != null && bOK) {
+ for (int i = 0; i < mustSupport.length; i++) {
+ Object ifc = UnoRuntime.queryInterface(mustSupport[i], Inst) ;
+ if (ifc == null) {
+ log.println(" !!! Created instance doesn't support " +
+ mustSupport[i].toString()) ;
+ }
+ bOK &= ifc != null ;
+ }
+ }
+
+ tRes.tested("createInstance()",
+ (negative && Inst == null) || (!negative && bOK));
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured during createInstance()");
+ if (negative) {
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createInstance()", negative);
+ }
+ }
+
+ /**
+ * Calls the method and checks the value returned. If relation
+ * with method argument doesn't exist new zerro length array
+ * is created. <p>
+ * Has <b>OK</b> status if non null value is returned.
+ * If the relation exists which specifies required interfaces
+ * supported by created instance then status is <b>OK</b>
+ * if all these interfaces are supported.
+ */
+ public void _createInstanceWithArguments() {
+ Object[] arg = (Object[])tEnv.getObjRelation(
+ "XSingleServiceFactory.arguments");
+
+ if (arg == null) {
+ arg = new Object[0];
+ }
+
+ try {
+ boolean bOK = true ;
+ log.println("Creating Instance with Argument");
+ Object Inst = oObj.createInstanceWithArguments(arg);
+ bOK &= Inst != null ;
+
+ if (mustSupport != null) {
+ for (int i = 0; i < mustSupport.length; i++) {
+ Object ifc = UnoRuntime.queryInterface(mustSupport[i], Inst) ;
+ if (ifc == null) {
+ log.println(" !!! Created instance doesn't support " +
+ mustSupport[i].toString()) ;
+ }
+ bOK &= ifc != null ;
+ }
+ }
+
+ tRes.tested("createInstanceWithArguments()", bOK);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured during createInstanceWithArguments()");
+ ex.printStackTrace(log);
+ tRes.tested("createInstanceWithArguments()",false);
+ }
+ }
+
+} // finish class _XSingleServiceFactory
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XTypeProvider.java b/qadevOOo/tests/java/ifc/lang/_XTypeProvider.java
new file mode 100644
index 000000000000..123f7729fb5a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XTypeProvider.java
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.lang.XTypeProvider</code>
+* interface methods :
+* <ul>
+* <li><code> getTypes()</code></li>
+* <li><code> getImplementationId()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.lang.XTypeProvider
+*/
+public class _XTypeProvider extends MultiMethodTest {
+
+ public static XTypeProvider oObj = null;
+ public static Type[] types = null;
+
+ /**
+ * Just calls the method.<p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getImplementationId() {
+ boolean result = true;
+ log.println("testing getImplementationId() ... ");
+
+ log.println("The ImplementationId is "+oObj.getImplementationId());
+ result = true;
+
+ tRes.tested("getImplementationId()", result);
+
+ } // end getImplementationId()
+
+
+ /**
+ * Calls the method and checks the return value.<p>
+ * Has <b>OK</b> status if one of the return value equals to the
+ * type <code>com.sun.star.lang.XTypeProvider</code>.
+ */
+ public void _getTypes() {
+ boolean result = false;
+ log.println("getting Types...");
+ types = oObj.getTypes();
+ for (int i=0;i<types.length;i++) {
+ int k = i+1;
+ log.println(k+". Type is "+types[i].toString());
+ if (types[i].toString().equals
+ ("Type[com.sun.star.lang.XTypeProvider]")) {
+ result = true;
+ }
+ }
+ if (!result) {
+ log.println("Component must provide Type "
+ +"<com.sun.star.lang.XTypeProvider>");
+ }
+
+ tRes.tested("getTypes()", result);
+
+ } // end getTypes()
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java b/qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java
new file mode 100644
index 000000000000..2e533e449eac
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.linguistic2.LinguProperties</code>
+* service properties:
+* <ul>
+* <li><code>'IsGermanPreReform'</code></li>
+* <li><code>'IsUseDictionaryList'</code></li>
+* <li><code>'IsIgnoreControlCharacters'</code></li>
+* <li><code>'IsSpellUpperCase'</code></li>
+* <li><code>'IsSpellWithDigits'</code></li>
+* <li><code>'IsSpellCapitalization'</code></li>
+* <li><code>'HyphMinLeading'</code></li>
+* <li><code>'HyphMinTrailing'</code></li>
+* <li><code>'HyphMinWordLength'</code></li>
+* <li><code>'DefaultLocale'</code></li>
+* <li><code>'IsHyphAuto'</code></li>
+* <li><code>'IsHyphSpecial'</code></li>
+* <li><code>'IsSpellAuto'</code></li>
+* <li><code>'IsSpellHide'</code></li>
+* <li><code>'IsSpellInAllLanguages'</code></li>
+* <li><code>'IsSpellSpecial'</code></li>
+* <li><code>'IsWrapReverse'</code></li>
+* <li><code>'DefaultLocale_CJK'</code></li>
+* <li><code>'DefaultLocale_CTL'</code></li>
+* </ul>
+* @see com.sun.star.linguistic2.LinguProperties
+*/
+public class _LinguProperties extends MultiPropertyTest {
+} // finish class _LinguProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java b/qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java
new file mode 100644
index 000000000000..c8342fe1ecbd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XAvailableLocales;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XAvailableLocales</code>
+* interface methods:
+* <ul>
+* <li><code>getAvailableLocales()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XAvailableLocales
+*/
+public class _XAvailableLocales extends MultiMethodTest {
+
+ public XAvailableLocales oObj = null;
+ public static Locale[] locales = new Locale[0];
+
+ /**
+ * Test calls the method, stores returned value and checks it. <p>
+ * Has <b> OK </b> status if length of returned array isn't zero. <p>
+ */
+ public void _getAvailableLocales() {
+ locales = oObj.getAvailableLocales("com.sun.star.linguistic2.Hyphenator");
+ tRes.tested("getAvailableLocales()", locales.length > 0);
+ }
+
+} // finish class XAvailableLocales
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java b/qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java
new file mode 100644
index 000000000000..36850c05364d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java
@@ -0,0 +1,295 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.DictionaryListEvent;
+import com.sun.star.linguistic2.XDictionary;
+import com.sun.star.linguistic2.XDictionaryList;
+import com.sun.star.linguistic2.XDictionaryListEventListener;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XDictionaryList</code>
+* interface methods:
+* <ul>
+* <li><code>getCount()</code></li>
+* <li><code>getDictionaries()</code></li>
+* <li><code>getDictionaryByName()</code></li>
+* <li><code>addDictionary()</code></li>
+* <li><code>removeDictionary()</code></li>
+* <li><code>addDictionaryListEventListener()</code></li>
+* <li><code>removeDictionaryListEventListener()</code></li>
+* <li><code>beginCollectEvents()</code></li>
+* <li><code>endCollectEvents()</code></li>
+* <li><code>flushEvents()</code></li>
+* <li><code>createDictionary()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XDictionaryList
+*/
+public class _XDictionaryList extends MultiMethodTest {
+
+ public XDictionaryList oObj = null;
+ public XDictionary addedDic = null;
+
+ /**
+ * Flag for testing of listeners.
+ */
+ public boolean listenerCalled = false;
+
+ /**
+ * Class implements interface <code>XDictionaryListEventListener</code>
+ * for test method <code>addDictionaryListEventListener</code>.
+ * @see com.sun.star.linguistic2.XDictionaryListEventListener
+ */
+ public class MyDictionaryListEventListener implements
+ XDictionaryListEventListener {
+
+ public void disposing ( EventObject oEvent ) {
+ log.println("Listener has been disposed");
+ }
+ public void processDictionaryListEvent( DictionaryListEvent aDicEvent) {
+ listenerCalled = true;
+ }
+ };
+
+ XDictionaryListEventListener listener = new MyDictionaryListEventListener();
+
+ short count = 0;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is greater than zero. <p>
+ */
+ public void _getCount() {
+ count = oObj.getCount();
+ tRes.tested("getCount()",(count > 0) );
+ }
+
+ /**
+ * Test calls the method and checks number of obtained dictionaries
+ * with value that was returned by method <code>getCount</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCount() </code> : to have number of dictionaries </li>
+ * </ul>
+ */
+ public void _getDictionaries() {
+ requiredMethod("getCount()");
+
+ XDictionary[] dics = oObj.getDictionaries();
+ boolean res = (dics.length == count);
+ if (!res) {
+ log.println("Expected: " + oObj.getCount());
+ log.println("Gained: " + dics.length);
+ }
+ tRes.tested("getDictionaries()", res);
+ }
+
+ /**
+ * Test calls the method, makes some actions that leads to event
+ * <code>processDictionaryListEvent</code>, removes listener, checks flag
+ * <code>listenerCalled</code> and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is true and value of flag
+ * <code>listenerCallled</code> is true. <p>
+ */
+ public void _addDictionaryListEventListener() {
+ listenerCalled = false;
+
+ XDictionary xDic = oObj.createDictionary("ListenDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+
+ boolean res = oObj.addDictionaryListEventListener(listener, false);
+
+ oObj.flushEvents();
+ oObj.addDictionary(xDic);
+ xDic.add("Positiv", false, "");
+ xDic.setActive(true);
+ oObj.flushEvents();
+ oObj.removeDictionary(xDic);
+
+ oObj.removeDictionaryListEventListener(listener);
+
+ tRes.tested("addDictionaryListEventListener()",listenerCalled && res);
+ }
+
+ /**
+ * Test calls the method, makes some actions that leads to event
+ * <code>processDictionaryListEvent</code>, checks flag
+ * <code>listenerCalled</code> and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is false and value of flag
+ * <code>listenerCallled</code> is false. <p>
+ */
+ public void _removeDictionaryListEventListener() {
+ listenerCalled = false;
+
+ XDictionary xDic = oObj.createDictionary("ListenDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+
+ oObj.addDictionaryListEventListener(listener,false);
+
+ oObj.flushEvents();
+ oObj.addDictionary(xDic);
+ xDic.add("Positiv", false,"");
+ xDic.setActive(true);
+
+ listenerCalled = false;
+ boolean res = oObj.removeDictionaryListEventListener(listener);
+
+ oObj.flushEvents();
+ oObj.removeDictionary(xDic);
+
+ tRes.tested(
+ "removeDictionaryListEventListener()",
+ listenerCalled == false && res == true );
+ }
+
+ /**
+ * Test creates new dictionary, adds the dictionary to list and compares
+ * number of dictionaries after adding with number of dictionaries before.<p>
+ * Has <b> OK </b> status if number of dictionaries after method call is
+ * greater than number of dictionaries before method call. <p>
+ */
+ public void _addDictionary() {
+ short previous = oObj.getCount();
+ addedDic = oObj.createDictionary("AddedDic",new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+ addedDic.add("Positiv",false,"");
+
+ oObj.addDictionary(addedDic);
+
+ short after = oObj.getCount();
+
+ tRes.tested( "addDictionary()", (after > previous) );
+ }
+
+ /**
+ * Test calls the method and compares number of dictionaries
+ * before method call and after. <p>
+ * Has <b> OK </b> status if number of dictionaries before method call is
+ * less than number of dictionaries after method call. <p>
+ */
+ public void _removeDictionary() {
+ short previous = oObj.getCount();
+ oObj.removeDictionary(addedDic);
+ short after = oObj.getCount();
+ tRes.tested("removeDictionary()",(after < previous) );
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getDictionaryByName() {
+ XDictionary getting = oObj.getDictionaryByName("NegativDic");
+ tRes.tested("getDictionaryByName()", getting != null );
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _createDictionary() {
+ XDictionary tmpDic = oObj.createDictionary("AddedDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+ tRes.tested("createDictionary()", tmpDic != null );
+ }
+
+ /**
+ * Test creates dictionary, adds dictionary list event listener,
+ * begins collect events, makes some actions that leads to event
+ * <code>processDictionaryListEvent</code>, ends collect events,
+ * removes the listener and checks the flag <code>listenerCalled</code> . <p>
+ * Has <b> OK </b> status if value of the flag is true. <p>
+ */
+ public void _beginCollectEvents() {
+ listenerCalled = false;
+
+ XDictionary xDic = oObj.createDictionary("ListenDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+
+ oObj.addDictionaryListEventListener(listener,false);
+ oObj.beginCollectEvents();
+
+ oObj.addDictionary(xDic);
+ xDic.add("Positiv",false,"");
+ xDic.setActive(true);
+
+ oObj.removeDictionary(xDic);
+ oObj.endCollectEvents();
+
+ oObj.removeDictionaryListEventListener(listener);
+
+ tRes.tested("beginCollectEvents()", listenerCalled );
+ }
+
+ /**
+ * Test does nothing. <p>
+ * Has <b> OK </b> status if method
+ * <code>addDictionaryListEventListener()</code> was completed
+ * successfully. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addDictionaryListEventListener() </code> :
+ * if listener adding worked, flushEvents was already used and worked </li>
+ * </ul>
+ */
+ public void _flushEvents() {
+ requiredMethod("addDictionaryListEventListener()");
+ // if listener adding worked, flushEvents was already used and worked
+ tRes.tested("flushEvents()",true);
+ }
+
+ /**
+ * Test does nothing. <p>
+ * Has <b> OK </b> status if method
+ * <code>beginCollectEvents()</code> was completed successfully. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> beginCollectEvents() </code> :
+ * if beginCollectEvents() worked then endCollectEvents was already
+ * used and worked </li>
+ * </ul>
+ */
+ public void _endCollectEvents() {
+ requiredMethod("beginCollectEvents()");
+ // if beginCollectEvents() worked, endCollectEvents
+ // was already used and worked
+ tRes.tested("endCollectEvents()",true);
+ }
+
+} // finish class _XDictionaryList
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java b/qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java
new file mode 100644
index 000000000000..4752651e71f9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XHyphenatedWord;
+import com.sun.star.linguistic2.XHyphenator;
+import com.sun.star.linguistic2.XPossibleHyphens;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XHyphenator</code>
+* interface methods:
+* <ul>
+* <li><code>hyphenate()</code></li>
+* <li><code>queryAlternativeSpelling()</code></li>
+* <li><code>createPossibleHyphens()</code></li>
+* </ul><p>
+* @see com.sun.star.linguistic2.XHyphenator
+*/
+public class _XHyphenator extends MultiMethodTest {
+
+ public XHyphenator oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _hyphenate() {
+ boolean res = true;
+ PropertyValue[] Props = null;
+ try {
+ XHyphenatedWord result = oObj.hyphenate(
+ "wacker",new Locale("de","DE",""),(short)3,Props);
+ res &= (result != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'hyphenate'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("hyphenate()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _queryAlternativeSpelling() {
+ boolean res = true;
+ PropertyValue[] Props = null;
+ try {
+ XHyphenatedWord result = oObj.queryAlternativeSpelling(
+ "wacker",new Locale("de","DE",""),(short)2,Props);
+ res &= (result != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'queryAlternativeSpelling'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("queryAlternativeSpelling()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _createPossibleHyphens() {
+ boolean res = true;
+ PropertyValue[] Props = null;
+ try {
+ XPossibleHyphens result = oObj.createPossibleHyphens(
+ "wacker",new Locale("de","DE",""),Props);
+ res &= (result != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'createPossibleHyphens'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createPossibleHyphens()",res);
+ }
+
+} // \u0422\u044B finish class XHyphenator
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java
new file mode 100644
index 000000000000..d799299db636
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.linguistic2.LinguServiceEvent;
+import com.sun.star.linguistic2.XLinguServiceEventBroadcaster;
+import com.sun.star.linguistic2.XLinguServiceEventListener;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XLinguServiceEventBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code>addLinguServiceEventListener()</code></li>
+* <li><code>removeLinguServiceEventListener()</code></li>
+* </ul><p>
+* @see com.sun.star.linguistic2.XLinguServiceEventBroadcaster
+*/
+public class _XLinguServiceEventBroadcaster extends MultiMethodTest {
+
+ public XLinguServiceEventBroadcaster oObj = null;
+
+ /**
+ * Class implements interface <code>XLinguServiceEventListener</code>
+ * for test method <code>addLinguServiceEventListener</code>.
+ * @see com.sun.star.linguistic2.XLinguServiceEventListener
+ */
+ public class MyLinguServiceEventListener implements
+ XLinguServiceEventListener {
+ public void disposing ( EventObject oEvent ) {
+ log.println("Listener has been disposed");
+ }
+ public void processLinguServiceEvent(LinguServiceEvent aServiceEvent) {
+ log.println("Listener called");
+ }
+
+ };
+
+ XLinguServiceEventListener listener = new MyLinguServiceEventListener();
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is true. <p>
+ */
+ public void _addLinguServiceEventListener() {
+ boolean res = true;
+
+ res = oObj.addLinguServiceEventListener(listener);
+
+ tRes.tested("addLinguServiceEventListener()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is true. <p>
+ */
+ public void _removeLinguServiceEventListener() {
+ boolean res = true;
+
+ res = oObj.removeLinguServiceEventListener(listener);
+
+ tRes.tested("removeLinguServiceEventListener()",res);
+ }
+
+} // finish class XLinguServiceEventBroadcaster
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java
new file mode 100644
index 000000000000..12dd56a3028f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java
@@ -0,0 +1,185 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.LinguServiceEvent;
+import com.sun.star.linguistic2.XHyphenator;
+import com.sun.star.linguistic2.XLinguServiceEventListener;
+import com.sun.star.linguistic2.XLinguServiceManager;
+import com.sun.star.linguistic2.XSpellChecker;
+import com.sun.star.linguistic2.XThesaurus;
+
+/**
+*Testing <code>com.sun.star.linguistic2.XLinguServiceManager</code>
+* interface methods:
+* <ul>
+* <li><code>getSpellChecker()</code></li>
+* <li><code>getHyphenator()</code></li>
+* <li><code>getThesaurus()</code></li>
+* <li><code>addLinguServiceManagerListener()</code></li>
+* <li><code>removeLinguServiceManagerListener()</code></li>
+* <li><code>getAvailableServices()</code></li>
+* <li><code>setConfiguredServices()</code></li>
+* <li><code>getConfiguredServices()</code></li>
+* </ul> <p>
+*@see com.sun.star.linguistic2.XLinguServiceManager
+*/
+public class _XLinguServiceManager extends MultiMethodTest {
+
+ public XLinguServiceManager oObj = null;
+ boolean listenerCalled = false;
+
+ /**
+ * Class implements interface <code>XLinguServiceEventListener</code>
+ * for test method <code>addLinguServiceManagerListener</code>.
+ * @see com.sun.star.linguistic2.XLinguServiceEventListener
+ */
+ public class MyLinguServiceEventListener implements
+ XLinguServiceEventListener {
+ public void disposing ( EventObject oEvent ) {
+ log.println("Listener has been disposed");
+ }
+ public void processLinguServiceEvent(LinguServiceEvent aServiceEvent) {
+ listenerCalled = true;
+ log.println("Listener called");
+ }
+ };
+
+ XLinguServiceEventListener listener = new MyLinguServiceEventListener();
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSpellChecker() {
+ XSpellChecker SC = oObj.getSpellChecker();
+ tRes.tested("getSpellChecker()", SC != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getHyphenator() {
+ XHyphenator HN = oObj.getHyphenator();
+ tRes.tested("getHyphenator()", HN != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getThesaurus() {
+ XThesaurus TS = oObj.getThesaurus();
+ tRes.tested("getThesaurus()", TS != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to true. <p>
+ */
+ public void _addLinguServiceManagerListener() {
+ boolean res = oObj.addLinguServiceManagerListener(listener);
+ tRes.tested("addLinguServiceManagerListener()", res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to true. <p>
+ */
+ public void _removeLinguServiceManagerListener() {
+ boolean res = oObj.removeLinguServiceManagerListener(listener);
+ tRes.tested("removeLinguServiceManagerListener()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if length of returned array is
+ * greater than zero.<p>
+ */
+ public void _getAvailableServices() {
+ String[] services = oObj.getAvailableServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", "") );
+ tRes.tested("getAvailableServices()", services.length > 0);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if length of returned array is
+ * greater than zero.<p>
+ */
+ public void _getConfiguredServices() {
+ String[] services = oObj.getConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", "") );
+ tRes.tested("getConfiguredServices()", services.length > 0);
+ }
+
+ /**
+ * Test sets empty list of service, checks value returned
+ * by method <code>getConfiguredServices()</code> and all services
+ * restored finally. <p>
+ * Has <b> OK </b> status if length of obtained service list equal to zero.
+ * <p>The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getConfiguredServices() </code></li>
+ * </ul>
+ */
+ public void _setConfiguredServices() {
+ requiredMethod("getConfiguredServices()");
+
+ String[] services = oObj.getConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",new Locale("en","US",""));
+
+ String[] empty = new String[0];
+ oObj.setConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", ""),
+ empty );
+
+ String[] get = oObj.getConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator", new Locale("en","US",""));
+
+ boolean res = (get.length == 0);
+
+ oObj.setConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", ""),
+ services );
+
+ tRes.tested("setConfiguredServices()", res);
+ }
+
+} // finish class _XLinguServiceManager
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java b/qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java
new file mode 100644
index 000000000000..ce12dc72522b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XDictionaryEntry;
+import com.sun.star.linguistic2.XSearchableDictionaryList;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XSearchableDictionaryList</code>
+* interface methods:
+* <ul>
+* <li><code>queryDictionaryEntry()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XSearchableDictionaryList
+*/
+public class _XSearchableDictionaryList extends MultiMethodTest {
+
+ public XSearchableDictionaryList oObj = null;
+
+ /**
+ * Test calls the method for negative dictionary and for positive dictionary
+ * and checks returned values. <p>
+ * Has <b> OK </b> status if returned values are not null. <p>
+ */
+ public void _queryDictionaryEntry() {
+ XDictionaryEntry aNegativEntry = oObj.queryDictionaryEntry("Negativ",
+ new Locale("en","US","WIN"),false,true);
+ if (aNegativEntry == null) {
+ log.println("'queryDictionary' didn't work for negative dictionaries");
+ } else {
+ log.println("'queryDictionary' works for negative dictionaries");
+ }
+ XDictionaryEntry aPositivEntry = oObj.queryDictionaryEntry("Positiv",
+ new Locale("en","US","WIN"),true,true);
+ if (aPositivEntry == null) {
+ log.println("'queryDictionary' didn't work for positive dictionaries");
+ } else {
+ log.println("'queryDictionary' works for positive dictionaries");
+ }
+ tRes.tested("queryDictionaryEntry()",(aNegativEntry != null) &&
+ (aPositivEntry != null) );
+ }
+
+} // finish class _XSearchableDictionaryList
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java b/qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java
new file mode 100644
index 000000000000..47ad1d25e836
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XSpellAlternatives;
+import com.sun.star.linguistic2.XSpellChecker;
+import lib.Status;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XSpellChecker</code>
+* interface methods:
+* <ul>
+* <li><code>isValid()</code></li>
+* <li><code>spell()</code></li>
+* </ul><p>
+* @see com.sun.star.linguistic2.XSpellChecker
+*/
+public class _XSpellChecker extends MultiMethodTest {
+
+ public XSpellChecker oObj = null;
+ XSpellChecker alternative = null;
+
+ public void before() {
+ alternative = (XSpellChecker) tEnv.getObjRelation("AlternativeChecker");
+ if (alternative == null) throw new StatusException(Status.failed
+ ("Relation AlternativeChecker not found")) ;
+ }
+
+ /**
+ * Test calls the method for a correctly spelled word and
+ * for a uncorrectly spelled word and checks returned values. <p>
+ * Has <b> OK </b> status if returned value is equal to true in first case,
+ * if returned value is equal to false in second case and no exceptions
+ * were thrown. <p>
+ */
+ public void _isValid() {
+ boolean res = true;
+ try {
+ log.println("Checking 'original' Spellchecker");
+ PropertyValue[] empty = new PropertyValue[0] ;
+ res &= oObj.isValid("Sun", new Locale("en","US",""), empty);
+ res &= !oObj.isValid("Summersun", new Locale("en","US","") ,empty);
+ log.println("Result so far is - "+ (res ? "OK" : "failed"));
+ log.println("Checking alternative Spellchecker");
+ res &= alternative.isValid("Sun", new Locale("en","US",""), empty);
+ res &= !alternative.isValid("Summersun", new Locale("en","US","") ,empty);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'isValid'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("isValid()",res);
+ }
+
+ /**
+ * Test calls the method for a uncorrectly spelled word
+ * and checks returned values. <p>
+ * Has <b> OK </b> status if at least one spell alternative exists
+ * and no exceptions were thrown. <p>
+ */
+ public void _spell() {
+ boolean res = true;
+ try {
+ log.println("Checking 'original' Spellchecker");
+ PropertyValue[] empty = new PropertyValue[0] ;
+ XSpellAlternatives alt = oObj.spell(
+ "Summersun",new Locale("en","US",""),empty);
+ String alternatives = alt.getAlternatives()[0];
+ res = (alternatives != null);
+ log.println("Result so far is - "+ (res ? "OK" : "failed"));
+ log.println("Checking alternative Spellchecker");
+ alt =alternative.spell(
+ "Summersun",new Locale("en","US",""),empty);
+ alternatives = alt.getAlternatives()[0];
+ res &= (alternatives != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'spell'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("spell()",res);
+ }
+
+} // finish class MTest
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java b/qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java
new file mode 100644
index 000000000000..1457bd76fd39
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XSupportedLocales;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XSupportedLocales</code>
+* interface methods:
+* <ul>
+* <li><code>getLocales()</code></li>
+* <li><code>hasLocale()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XSupportedLocales
+*/
+public class _XSupportedLocales extends MultiMethodTest {
+
+ public XSupportedLocales oObj = null;
+ public static Locale[] locales = new Locale[0];
+
+ /**
+ * Test calls the method, stores returned value and checks it. <p>
+ * Has <b> OK </b> status if length of returned array isn't zero. <p>
+ */
+ public void _getLocales() {
+ locales = oObj.getLocales();
+ tRes.tested("getLocales()", locales.length > 0);
+ }
+
+ /**
+ * Test calls the method for every language from list of supported languages,
+ * calls the method for one unsupported language and checks
+ * all returned values. <p>
+ * Has <b> OK </b> status if all returned values for supported languages
+ * are equal to true and if returned value for unsupported language is equal
+ * to false. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLocales() </code> : to have list of
+ * all supported languages </li>
+ * </ul>
+ */
+ public void _hasLocale() {
+ requiredMethod("getLocales()");
+ boolean res = true;
+
+ // first check all available locales
+ for (int i=0; i< locales.length; i++) {
+ res &= oObj.hasLocale(locales[i]);
+ }
+
+ // now create a invalid locale
+ Locale invalid = new Locale("myLanguage","myCountry","");
+ res &= !oObj.hasLocale(invalid);
+
+ tRes.tested("hasLocale()", res);
+ }
+
+} // finish class XSupportedLocales
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java b/qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java
new file mode 100644
index 000000000000..c8a9ffbafe8c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XMeaning;
+import com.sun.star.linguistic2.XThesaurus;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XThesaurus</code>
+* interface methods:
+* <ul>
+* <li><code>queryMeanings()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XThesaurus
+*/
+public class _XThesaurus extends MultiMethodTest {
+
+ public XThesaurus oObj = null;
+
+ /**
+ * Test calls the method for one of supported language and checks
+ * returned value. <p>
+ * Has <b> OK </b> status if returned array is not empty
+ * and no exceptions were thrown. <p>
+ */
+ public void _queryMeanings() {
+ boolean res = true;
+ try {
+ XMeaning[] mean = oObj.queryMeanings(
+ "survive",new Locale("en","US",""), new PropertyValue[0]);
+ res = (mean.length > 0);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'queryMeanings'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("queryMeanings()",res);
+ }
+
+
+} // finish class
+
+
diff --git a/qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java b/qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java
new file mode 100644
index 000000000000..47918fef95af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * 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.loader;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.RegistryTools;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.loader.CannotActivateFactoryException;
+import com.sun.star.loader.XImplementationLoader;
+import com.sun.star.registry.CannotRegisterImplementationException;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Testing <code>com.sun.star.loader.XImplementationLoader</code>
+ * interface methods :
+ * <ul>
+ * <li><code> activate()</code></li>
+ * <li><code> writeRegistryInfo()</code></li>
+ * </ul> <p>
+ *
+ * The following object relations required :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : implementation file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul> <p>
+ * Object has to be recreated after this test. <p>
+ * Test is <b> Not </b> multithread compilant.
+ */
+public class _XImplementationLoader extends MultiMethodTest {
+
+ public XImplementationLoader oObj = null;
+ private String implLoader = null ;
+ private String implUrl = null ;
+ private String implName = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ implLoader = (String) tEnv.getObjRelation("ImplementationLoader") ;
+ implUrl = (String) tEnv.getObjRelation("ImplementationUrl") ;
+ implName = (String) tEnv.getObjRelation("ImplementationName") ;
+
+ if (implLoader == null || implUrl == null || implName == null)
+ throw new StatusException("One of object relations not found",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * First registry file created, and the root key retrieved.
+ * Then method <code>writeRegistryInfo</code> called and it must
+ * write some info into the registry root key. After all registry
+ * is destroyed.<p>
+ * Has OK status if some info was written into registry.
+ */
+ public void _writeRegistryInfo() {
+ XRegistryKey key ;
+ XSimpleRegistry xReg = null ;
+
+ String tmpDir = util.utils.getOfficeTempDir((XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ xReg = RegistryTools.createRegistryService
+ ((XMultiServiceFactory)tParam.getMSF()) ;
+
+ xReg.open(tmpDir + "XImpLoader_tmp.rdb", false, true) ;
+
+ key = xReg.getRootKey() ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can not create registry for writing") ;
+ e.printStackTrace(log) ;
+ tRes.tested("writeRegistryInfo()", false) ;
+ return ;
+ }
+
+ boolean rc ;
+ try {
+ rc = oObj.writeRegistryInfo(key, implLoader, implUrl) ;
+ } catch (CannotRegisterImplementationException e) {
+ throw new StatusException("Can not register implementation", e) ;
+ }
+
+ if (rc == false)
+ log.println("Method returned false value") ;
+
+ String[] keys ;
+ try {
+ keys = key.getKeyNames() ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error retrieving key names from registry") ;
+ tRes.tested("writeRegistryInfo()", false) ;
+ return ;
+ }
+
+ // destroying registry file
+ try {
+ xReg.close() ;
+ xReg.destroy() ;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.println("Can't destroy registry file.") ;
+ }
+
+ tRes.tested("writeRegistryInfo()", rc && keys.length > 0) ;
+ }
+
+ /**
+ * Tries to activate the implementation. <p>
+ *
+ * Has OK status if not <code>null</code> value returned by method,
+ * if its implementation name is the same as expected.
+ */
+ public void _activate() {
+ boolean ok = true ;
+ XInterface factory = null ;
+
+ try {
+ factory = (XInterface) oObj.activate
+ (implName, implLoader, implUrl, null) ;
+ } catch (CannotActivateFactoryException e) {
+ throw new StatusException("Can not activate factory", e) ;
+ }
+
+ XServiceInfo xServInf = (XServiceInfo) UnoRuntime.queryInterface
+ (XServiceInfo.class, factory) ;
+
+ if (xServInf == null) {
+ if (factory == null) {
+ log.println("activate() returns null - FAILED.");
+ } else {
+ log.println("Activated impementation doesn't support "+
+ "XServiceInfo - FAILED.");
+ }
+ ok = false ;
+ } else {
+ String gImpName = xServInf.getImplementationName() ;
+ log.println("Implementation name returned :" + gImpName);
+
+ if (!gImpName.equals(implName)) {
+ log.println("!!! But other name was expected :" + implName);
+ ok = false ;
+ }
+ }
+
+ tRes.tested("activate()", ok) ;
+ }
+
+ /**
+ * Forces object recreation.
+ */
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_OutlineView.java b/qadevOOo/tests/java/ifc/presentation/_OutlineView.java
new file mode 100644
index 000000000000..1b1f4af09fda
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_OutlineView.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _OutlineView extends MultiPropertyTest {
+
+} // finish class _PresentationView
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_Presentation.java b/qadevOOo/tests/java/ifc/presentation/_Presentation.java
new file mode 100644
index 000000000000..41b89e851459
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_Presentation.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.presentation.XPresentation;
+
+/**
+* Testing <code>com.sun.star.presentation.Presentation</code>
+* service properties :
+* <ul>
+* <li><code> AllowAnimations</code></li>
+* <li><code> CustomShow</code></li>
+* <li><code> FirstPage</code></li>
+* <li><code> IsAlwaysOnTop</code></li>
+* <li><code> IsAutomatic</code></li>
+* <li><code> IsEndless</code></li>
+* <li><code> IsFullScreen</code></li>
+* <li><code> IsLivePresentation</code></li>
+* <li><code> IsMouseVisible</code></li>
+* <li><code> Pause</code></li>
+* <li><code> StartWithNavigator</code></li>
+* <li><code> UsePen</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Presentation'</code> (of type <code>XPresentation</code>):
+* for test of property <code>IsLivePresentation</code>
+* presentation start needed </li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.presentation.Presentation
+* @see com.sun.star.presentation.XPresentation
+*/
+public class _Presentation extends MultiPropertyTest {
+
+ public void _IsLivePresentation() {
+ XPresentation aPresentation = (XPresentation)
+ tEnv.getObjRelation("Presentation");
+ if (aPresentation == null) throw new StatusException(Status.failed
+ ("Relation 'Presentation' not found"));
+
+ aPresentation.start();
+ testProperty("IsLivePresentation");
+ }
+
+ protected PropertyTester CustomShowTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if ( ((String)oldValue).equals("SecondPresentation") ) {
+ return new String("FirstPresentation");
+ } else {
+ return new String("SecondPresentation");
+ }
+ }
+ };
+
+ public void _CustomShow() {
+ testProperty("CustomShow", CustomShowTester);
+ }
+} // finish class _Presentation
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_PresentationView.java b/qadevOOo/tests/java/ifc/presentation/_PresentationView.java
new file mode 100644
index 000000000000..a79684570a50
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_PresentationView.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _PresentationView extends MultiPropertyTest {
+
+ /**
+ * Property tester which changes DrawPage.
+ */
+ protected PropertyTester PageTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(tEnv.getObjRelation("FirstPage")))
+ return tEnv.getObjRelation("SecondPage"); else
+ return tEnv.getObjRelation("FirstPage");
+ }
+ } ;
+
+ /**
+ * This property must be an XDrawPage
+ */
+ public void _CurrentPage() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("CurrentPage", PageTester) ;
+ }
+
+} // finish class _PresentationView
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_PreviewView.java b/qadevOOo/tests/java/ifc/presentation/_PreviewView.java
new file mode 100644
index 000000000000..1e2e6436ab04
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_PreviewView.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _PreviewView extends MultiPropertyTest {
+
+ public void _CurrentPage() {
+ Object obj1 = tEnv.getObjRelation("FirstPage");
+ Object obj2 = tEnv.getObjRelation("SecondPage");
+ testProperty("CurrentPage",obj1,obj2);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/presentation/_SlidesView.java b/qadevOOo/tests/java/ifc/presentation/_SlidesView.java
new file mode 100644
index 000000000000..e20e9a9d14ab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_SlidesView.java
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _SlidesView extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java b/qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java
new file mode 100644
index 000000000000..8507daae8bf0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+
+/**
+* Testing <code>com.sun.star.presentation.XCustomPresentationSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getCustomPresentations()</code></li>
+* </ul> <p>
+* @see com.sun.star.presentation.XCustomPresentationSupplier
+*/
+public class _XCustomPresentationSupplier extends MultiMethodTest {
+
+ public XCustomPresentationSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getCustomPresentations() {
+ XNameAccess NA = oObj.getCustomPresentations();
+ tRes.tested("getCustomPresentations()", NA != null);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_XPresentation.java b/qadevOOo/tests/java/ifc/presentation/_XPresentation.java
new file mode 100644
index 000000000000..d729348bed04
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_XPresentation.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.presentation.XPresentation;
+
+/**
+* Testing <code>com.sun.star.presentation.XPresentation</code>
+* interface methods :
+* <ul>
+* <li><code> start()</code></li>
+* <li><code> end()</code></li>
+* <li><code> rehearseTimings()</code></li>
+* </ul> <p>
+* @see com.sun.star.presentation.XPresentation
+*/
+public class _XPresentation extends MultiMethodTest {
+
+ public XPresentation oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _start() {
+ oObj.start();
+ tRes.tested("start()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> start() </code> : presentation must be started before</li>
+ * </ul>
+ */
+ public void _end() {
+ requiredMethod("start()");
+
+ oObj.end();
+ tRes.tested("end()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _rehearseTimings() {
+ oObj.rehearseTimings();
+ tRes.tested("rehearseTimings()", true);
+ }
+
+} // finish class _XPresentation
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java b/qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java
new file mode 100644
index 000000000000..b3fbdcb4c407
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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.presentation;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.presentation.XPresentation;
+import com.sun.star.presentation.XPresentationSupplier;
+
+/**
+* Testing <code>com.sun.star.presentation.XPresentationSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getPresentation()</code></li>
+* </ul> <p>
+* @see com.sun.star.presentation.XPresentationSupplier
+*/
+public class _XPresentationSupplier extends MultiMethodTest {
+
+ public XPresentationSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getPresentation() {
+ XPresentation NA = oObj.getPresentation();
+ tRes.tested("getPresentation()", NA != null);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/qadevooo/_SelfTest.java b/qadevOOo/tests/java/ifc/qadevooo/_SelfTest.java
new file mode 100755
index 000000000000..32c37ee87710
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/qadevooo/_SelfTest.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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.qadevooo;
+
+import lib.MultiMethodTest;
+
+// import com.sun.star.uno.UnoRuntime;
+// import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>ifc.qadevooo._SelfTest</code>
+* interface methods:
+* <ul>
+* <li><code>testmethod()</code></li>
+* </ul> <p>
+*
+*/
+public class _SelfTest extends MultiMethodTest
+{
+
+ /**
+ */
+ public void before()
+ {
+ log.println("_SelfTest.before()");
+ }
+
+ /**
+ * Test calls the method
+ */
+ public void _testmethod()
+ {
+ log.println("_SelfTest._testmethod()");
+ tRes.tested("testmethod()", true);
+ }
+
+ public void _testmethod2()
+ {
+ log.println("_SelfTest._testmethod2()");
+ tRes.tested("testmethod2()", true);
+ }
+
+ public void _testmethod3()
+ {
+ log.println("_SelfTest._testmethod3()");
+ tRes.tested("testmethod3()", true);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after()
+ {
+ log.println("_SelfTest.after()");
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java b/qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java
new file mode 100644
index 000000000000..3f6345ff183f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * 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.reflection;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.reflection.XIdlClass;
+import com.sun.star.reflection.XIdlReflection;
+import com.sun.star.uno.TypeClass;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.reflection.XIdlReflection</code>
+* interface methods :
+* <ul>
+* <li><code> forName()</code></li>
+* <li><code> getType()</code></li>
+* </ul> <p>
+* @see com.sun.star.reflection.XIdlReflection
+*/
+public class _XIdlReflection extends MultiMethodTest{
+ public XIdlReflection oObj = null;
+ protected final static String typeName = "com.sun.star.container.XNameAccess";
+
+ /**
+ * Test calls the method and checks returned interface
+ * <code>com.sun.star.container.XNameAccess</code>: gets the name and the
+ * type and checks it. <p>
+ * Has <b> OK </b> status if returned name is equal to the name of the
+ * interface that was passed as parameter in the method call and if returned
+ * type is equal to <code>com.sun.star.uno.TypeClass.INTERFACE</code>. <p>
+ */
+ public void _forName() {
+ boolean result = true;
+ XIdlClass cls = oObj.forName(typeName);
+
+ if (cls != null) {
+ log.println("Class name: " + cls.getName());
+ result &= cls.getTypeClass() == TypeClass.INTERFACE;
+ result &= typeName.equals(cls.getName());
+ } else {
+ log.println("Method returned null");
+ result = false;
+ }
+
+ tRes.tested("forName()", result);
+ }
+
+ /**
+ * Test creates the instance of <code>com.sun.star.io.Pipe</code>,
+ * calls the method using this instance as parameter and checks returned
+ * value. <p>
+ * Has <b> OK </b> status if the instance was created successfully, if
+ * returned value isn't null and no exceptions were thrown. <p>
+ */
+ public void _getType() {
+ boolean result = true;
+ Object obj = null;
+
+ try {
+ obj = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.Pipe") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create object");
+ tRes.tested("getType()", false);
+ return;
+ }
+
+ if (obj == null) {
+ result = false;
+ log.println("Object wasn't created !");
+ tRes.tested("getType()", false);
+ }
+
+ XIdlClass cls = oObj.getType(obj);
+
+ log.println("The name is " + cls.getName());
+
+ tRes.tested("getType()", cls != null);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java b/qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java
new file mode 100644
index 000000000000..655cb59256d0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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.reflection;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XInitialization;
+import com.sun.star.reflection.XProxyFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XAggregation;
+
+/**
+/**
+* Testing <code>com.sun.star.reflection.XProxyFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createProxy()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.reflection.XProxyFactory
+*/
+public class _XProxyFactory extends MultiMethodTest {
+ /** Is initialized in super class(using reflection API)
+ * when instantiating the test.
+ */
+ public XProxyFactory oObj;
+
+ /**
+ * First an implementation of
+ * <code>com.sun.star.lang.XInitialization</code> interface
+ * is made which sets a flag when its <code>initialize()</code>
+ * method is called. Then an instance of this implementation
+ * is created and a proxy object is created for it. Proxy
+ * object is tried to query for <code>XInitialization</code>
+ * interface and it's <code>initialize</code> method is
+ * called. The goal is to check if the real object method
+ * was called throwgh it's proxy. <p>
+ * Has <b>OK</b> status if the real object method was
+ * called and paramters were passed correctly.
+ */
+ public void _createProxy() {
+ class MyObject implements XInitialization {
+ Object[] params;
+
+ public void initialize(Object args[]) {
+ params = args;
+ }
+ }
+
+ MyObject obj = new MyObject();
+
+ XAggregation xAggr = oObj.createProxy(obj);
+
+ XInitialization xInit = (XInitialization)UnoRuntime.queryInterface(
+ XInitialization.class, xAggr);
+
+ Object params[] = new Object[0];
+
+ try {
+ xInit.initialize(params);
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception : " + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("createProxy()", false);
+ return;
+ }
+
+ tRes.tested("createProxy()",
+ util.ValueComparer.equalValue(params, obj.params));
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java b/qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java
new file mode 100644
index 000000000000..615d12f18a35
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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.reflection;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.reflection.TypeDescriptionSearchDepth;
+import com.sun.star.reflection.XTypeDescription;
+import com.sun.star.reflection.XTypeDescriptionEnumeration;
+import com.sun.star.reflection.XTypeDescriptionEnumerationAccess;
+import com.sun.star.uno.TypeClass;
+
+/**
+ * Testing <code>com.sun.star.reflection.XTypeDescriptionEnumerationAccess
+ * </code><br>
+ * Needed object relation:
+ * <ul>
+ * <li><code>SearchString</code>
+ * A string to search for as a type description</li>
+ * </ul>
+ */
+public class _XTypeDescriptionEnumerationAccess extends MultiMethodTest {
+ public XTypeDescriptionEnumerationAccess oObj = null;
+
+ /**
+ * Search the type database for all information regarding the object
+ * relation 'SearchString'. Search depth is infinite and information
+ * about all types is gathered.
+ */
+ public void _createTypeDescriptionEnumeration() {
+ int i=0;
+ TypeClass[] tClass = new TypeClass[0];
+ String sString = (String)tEnv.getObjRelation("SearchString");
+ if (sString == null || sString.equals("")) {
+ System.out.println("Cannot get object relation 'SearchString'");
+ tRes.tested("createTypeDescriptionEnumeration()", false);
+ return;
+ }
+ try {
+ XTypeDescriptionEnumeration oEnum =
+ oObj.createTypeDescriptionEnumeration(sString, tClass,
+ TypeDescriptionSearchDepth.INFINITE);
+ try {
+ log.println("Got an enumeration.");
+ while (true) {
+ XTypeDescription desc = oEnum.nextTypeDescription();
+ i++;
+ log.println("\tdesc name: " + desc.getName());
+ }
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println(
+ "Correct exception caught for exiting enumeration.");
+ log.println("Returned were " + i + " type descriptions.");
+ }
+ catch(Exception e) {
+ log.println("Exception while accessing the enumeration.");
+ log.println("Index is " + i);
+ log.println(e.getMessage());
+ tRes.tested("createTypeDescriptionEnumeration()", false);
+ return;
+ }
+ tRes.tested("createTypeDescriptionEnumeration()", i>0);
+ }
+ catch(Exception e) {
+ log.println("Cannot execute method.");
+ log.println(e.getMessage());
+ tRes.tested("createTypeDescriptionEnumeration()", false);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java b/qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java
new file mode 100644
index 000000000000..6d2458274cf1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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.registry;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.CannotRegisterImplementationException;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.RuntimeException;
+import lib.MultiMethodTest;
+import util.RegistryTools;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.registry.XImplementationRegistration</code>
+* interface methods :
+* <ul>
+* <li><code> registerImplementation()</code></li>
+* <li><code> revokeImplementation()</code></li>
+* <li><code> getImplementations()</code></li>
+* <li><code> checkInstantiation()</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>solibrary.jar</code> : jar file with implementation
+* classes. One of the required implementation must have name
+* <code>com.ivistaportal.solibrary.HistogramImpl</code> cause
+* it is checked in <code>getImplementations</code> method. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.###
+*/
+public class _XImplementationRegistration extends MultiMethodTest {
+
+ public XImplementationRegistration oObj = null;
+
+ private String url = null ;
+ private String loader = null ;
+ private XSimpleRegistry reg = null ;
+
+ /**
+ * First a registry created and opened in the temporary directory
+ * of StarOffice. Then some implementations situated in JAR file
+ * is registered in the registry opened. <p>
+ * Has <b>OK</b> status if some information is written into registry.
+ *
+ */
+ public void _registerImplementation()
+ throws CannotRegisterImplementationException, RuntimeException
+ {
+ url = util.utils.getFullTestURL("qadevlibs/MyPersistObjectImpl.jar");
+ loader = "com.sun.star.loader.Java2";
+ boolean result = false ;
+ String name = null;
+
+ try {
+ name = utils.getOfficeTempDir((XMultiServiceFactory)tParam.getMSF()) +
+ "XImplementationRegistration_tmp.rdb";
+ reg = RegistryTools.openRegistry
+ (name, (XMultiServiceFactory)tParam.getMSF()) ;
+
+ oObj.registerImplementation(loader, url, reg) ;
+
+ RegistryTools.printRegistryInfo(reg.getRootKey(), log) ;
+
+ String[] subKeys = reg.getRootKey().getKeyNames() ;
+
+ result = subKeys != null && subKeys.length > 0 ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't open registry file: " + name) ;
+ e.printStackTrace(log) ;
+ }
+ tRes.tested("registerImplementation()", result) ;
+ }
+
+ /**
+ * Retrieves an array of implementation names and check them. <p>
+ * Has <b>OK</b> status if among them an implementation name
+ * <code>com.ivistaportal.solibrary.HistogramImpl</code> exists.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerImplementation </code> </li>
+ * </ul>
+ */
+ public void _getImplementations() throws RuntimeException{
+ requiredMethod("registerImplementation()") ;
+
+ String[] impl = oObj.getImplementations(loader, url) ;
+
+ if (impl.length == 0) log.println("getImplementations() "+
+ "returns an empty array");
+ boolean result = false ;
+ log.println("Implementations found :") ;
+ for (int i = 0; i < impl.length; i++) {
+ log.println(" '" + impl[i] + "'") ;
+ if ("com.sun.star.cmp.MyPersistObject".
+ equals(impl[i])) {
+
+ result = true ;
+ break ;
+ }
+ }
+
+
+
+ tRes.tested("getImplementations()", result) ;
+ }
+
+ /**
+ * Calls the method with
+ * <code>com.sun.star.comp.stoc.JavaComponentLoader</code>
+ * implementation name.<p>
+ * Has <b>OK</b> status if not null array returned. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerImplementation </code> </li>
+ * </ul>
+ */
+ public void _checkInstantiation() throws RuntimeException {
+ requiredMethod("registerImplementation()") ;
+
+ String[] inst = oObj.checkInstantiation(
+ "com.sun.star.comp.stoc.JavaComponentLoader") ;
+
+ tRes.tested("checkInstantiation()", inst != null) ;
+ }
+
+ /**
+ * Revokes implementations from registry, and checks if
+ * all implementations' information is deleted. <p>
+ * Has <b>OK</b> status if registry has no key entries. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerImplementation </code> : to have
+ * implementation registered in registry. </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getImplementations </code>
+ * <li> <code> checkInstantiation </code>
+ * </ul>
+ */
+ public void _revokeImplementation() throws RuntimeException{
+ boolean result = false ;
+
+ requiredMethod("registerImplementation()") ;
+
+ executeMethod("getImplementations()") ;
+ executeMethod("checkInstantiation()") ;
+
+ oObj.revokeImplementation(url, reg);
+ RegistryTools.printRegistryInfo(reg, log) ;
+
+ try {
+ String[] subKeys = reg.getRootKey().getKeyNames() ;
+
+ result = subKeys == null || subKeys.length == 0 ;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.println("!!! Exception retrieving keys from registry :") ;
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("revokeImplementation()", true) ;
+ }
+
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java b/qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java
new file mode 100644
index 000000000000..9a7b22ac3002
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java
@@ -0,0 +1,414 @@
+/*************************************************************************
+ *
+ * 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.registry;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.RegistryTools;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.InvalidRegistryException;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.registry.XSimpleRegistry;
+
+
+/**
+* Testing <code>com.sun.star.registry.XSimpleRegistry</code>
+* interface methods :
+* <ul>
+* <li><code> getURL()</code></li>
+* <li><code> open()</code></li>
+* <li><code> isValid()</code></li>
+* <li><code> close()</code></li>
+* <li><code> destroy()</code></li>
+* <li><code> getRootKey()</code></li>
+* <li><code> isReadOnly()</code></li>
+* <li><code> mergeKey()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'NR'</code> <b>optional</b> (of type <code>String</code>):
+* if this object relation isn't null than the testing component
+* doesn't support some methods of the interface
+* (<code>open(), close(), destroy()</code>)</li>
+* <li> <code>'XSimpleRegistry.open'</code> (of type <code>String</code>):
+* The full system path to the registry file which is opened and modified.
+* </li>
+* <li> <code>'XSimpleRegistry.destroy'</code> (of type <code>String</code>):
+* The full system path to the registry fiel which is destroyed.
+* </li>
+* <li> <code>'XSimpleRegistry.merge'</code> (of type <code>String</code>):
+* The full system path to the registry file which is merged with the
+* registry tested.
+* </li>
+* </ul> <p>
+* @see com.sun.star.registry.XSimpleRegistry
+*/
+public class _XSimpleRegistry extends MultiMethodTest {
+ public XSimpleRegistry oObj = null;
+ protected String nr = null;
+ protected boolean configuration = false;
+ protected String openF = null;
+ protected String destroyF = null;
+ protected String mergeF = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of required relations not found.
+ */
+ protected void before() {
+ if (tEnv.getObjRelation("configuration") != null) {
+ configuration = true;
+ }
+
+ nr = (String) tEnv.getObjRelation("NR");
+
+ openF = (String) tEnv.getObjRelation("XSimpleRegistry.open");
+
+ if (openF == null) {
+ throw new StatusException(Status.failed(
+ "Relation 'XSimpleRegistry.open' not found"));
+ }
+
+ destroyF = (String) tEnv.getObjRelation("XSimpleRegistry.destroy");
+
+ if (destroyF == null) {
+ throw new StatusException(Status.failed(
+ "Relation 'XSimpleRegistry.destroy' not found"));
+ }
+
+ mergeF = (String) tEnv.getObjRelation("XSimpleRegistry.merge");
+
+ if (mergeF == null) {
+ throw new StatusException(Status.failed(
+ "Relation 'XSimpleRegistry.merge' not found"));
+ }
+ }
+
+ /**
+ * If the method is supported opens the registry key with the URL
+ * from <code>'XSimpleRegistry.open'</code> relation, then closes it. <p>
+ *
+ * Has <b> OK </b> status if the method isn't supported by the component
+ * (the object relation <code>'NR'</code> isn't null) or no exceptions were
+ * thrown during open/close operations. <p>
+ */
+ public void _open() {
+ if (nr != null) {
+ log.println("'open()' isn't supported by '" + nr + "'");
+ tRes.tested("open()", true);
+
+ return;
+ }
+
+ log.println("Trying to open registry :" + openF);
+
+ try {
+ oObj.open(openF, false, true);
+ oObj.close();
+ } catch (InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("open()", false);
+
+ return;
+ }
+
+ tRes.tested("open()", true);
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation not only for read,
+ * calls the method, checks returned value and closes the registry. <p>
+ *
+ * Has <b> OK </b> status if returned value is false and no exceptions were
+ * thrown. <p>
+ */
+ public void _isReadOnly() {
+ boolean result = false;
+
+ try {
+ openReg(oObj, openF, false, true);
+ result = !oObj.isReadOnly();
+ closeReg(oObj);
+ } catch (InvalidRegistryException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("isReadOnly()", result);
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation, calls the method,
+ * checks returned value and closes the registry key. <p>
+ *
+ * Has <b>OK</b> status if returned value isn't null and no exceptions were
+ * thrown. <p>
+ */
+ public void _getRootKey() {
+ boolean result = false;
+
+ try {
+ openReg(oObj, openF, false, true);
+
+ XRegistryKey rootKey = oObj.getRootKey();
+ result = rootKey != null;
+ closeReg(oObj);
+ } catch (InvalidRegistryException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getRootKey()", result);
+ }
+
+ /**
+ * Merges the current registry with the registry from URL got from
+ * <code>'XSimpleRegistry.merge'</code> relation under 'MergeKey' key.
+ * Then the keys of these two registries retrieved :
+ * <ul>
+ * <li> Root key from 'XSimpleRegistry.merge' registry </li>
+ * <li> 'MergeKey' key from the current registry </li>
+ * </ul>
+ * Then these two keys are recursively compared. <p>
+ *
+ * Has <b> OK </b> status if the method isn't supported by the component
+ * (the object relation <code>'NR'</code> isn't null)
+ * or
+ * if it's supported and after successfull merging the keys mentioned
+ * above are recursively equal. <p>
+ */
+ public void _mergeKey() {
+ if (configuration) {
+ log.println(
+ "You can't merge into this registry. It's just a wrapper for a configuration node, which has a fixed structure which can not be modified");
+ tRes.tested("mergeKey()", true);
+
+ return;
+ }
+
+ if (nr != null) {
+ log.println("'mergeKey()' isn't supported by '" + nr + "'");
+ tRes.tested("mergeKey()", true);
+
+ return;
+ }
+
+ openReg(oObj, openF, false, true);
+
+ try {
+ RegistryTools.printRegistryInfo(oObj.getRootKey(), log);
+ oObj.mergeKey("MergeKey", mergeF);
+ RegistryTools.printRegistryInfo(oObj.getRootKey(), log);
+ } catch (com.sun.star.registry.MergeConflictException e) {
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ }
+
+ boolean isEqual = false;
+ XSimpleRegistry reg = null;
+
+ try {
+ reg = RegistryTools.createRegistryService((XMultiServiceFactory) tParam.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ log.print("Can't create registry service: ");
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ }
+
+ openReg(reg, mergeF, false, true);
+
+ try {
+ XRegistryKey key = oObj.getRootKey().openKey("MergeKey");
+ XRegistryKey mergeKey = reg.getRootKey();
+ isEqual = RegistryTools.compareKeyTrees(key, mergeKey);
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.print("Can't get root key: ");
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ }
+
+ closeReg(reg);
+ closeReg(oObj);
+
+ tRes.tested("mergeKey()", isEqual);
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation, calls the method,
+ * checks returned value and closes the registry key. <p>
+ *
+ * Has <b> OK </b> status if returned value isn't null and if length of the
+ * returned string is greater than 0. <p>
+ */
+ public void _getURL() {
+ openReg(oObj, openF, false, true);
+
+ String url = oObj.getURL();
+ closeReg(oObj);
+ log.println("Getting URL: " + url+";");
+ tRes.tested("getURL()", (url != null));
+ }
+
+ /**
+ * Test checks value returned by the object relation <code>'NR'</code>,
+ * opens the registry key with the URL from
+ * <code>XSimpleRegistry.open'</code> relation, calls the method
+ * and checks the validity of the registry key. <p>
+ *
+ * Has <b> OK </b> status if the registry key isn't valid after the method
+ * call, or if the method isn't supported by the component (the object
+ * relation <code>'NR'</code> isn't null). <p>
+ */
+ public void _close() {
+ if (nr != null) {
+ log.println("'close()' isn't supported by '" + nr + "'");
+ tRes.tested("close()", true);
+
+ return;
+ }
+
+ try {
+ oObj.open(openF, false, true);
+ oObj.close();
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("close()", false);
+
+ return;
+ }
+
+ tRes.tested("close()", !oObj.isValid());
+ }
+
+ /**
+ * Test checks value returned by the object relation <code>'NR'</code>,
+ * opens the registry key with the URL from
+ * <code>'XSimpleRegistry.destroy'</code> relation, calls the method
+ * and checks the validity of the registry key. <p>
+ *
+ * Has <b> OK </b> status if the registry key isn't valid after the method
+ * call, or if the method isn't supported by the component (the object
+ * relation <code>'NR'</code> isn't null). <p>
+ */
+ public void _destroy() {
+ if (configuration) {
+ log.println(
+ "This registry is a wrapper for a configuration access. It can not be destroyed.");
+ tRes.tested("destroy()", true);
+
+ return;
+ }
+
+ if (nr != null) {
+ log.println("'destroy()' isn't supported by '" + nr + "'");
+ tRes.tested("destroy()", true);
+
+ return;
+ }
+
+ try {
+ oObj.open(destroyF, false, true);
+ oObj.destroy();
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("destroy()", false);
+
+ return;
+ }
+
+ tRes.tested("destroy()", !oObj.isValid());
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation, calls the method,
+ * checks returned value and closes the registry key. <p>
+ * Has <b> OK </b> status if returned value is true. <p>
+ */
+ public void _isValid() {
+ boolean valid = true;
+
+ openReg(oObj, openF, false, true);
+ valid = oObj.isValid();
+ closeReg(oObj);
+
+ tRes.tested("isValid()", valid);
+ }
+
+ /**
+ * Method calls <code>close()</code> of the interface
+ * <code>com.sun.star.registry.XRegistryKey</code>. <p>
+ * @param reg interface <code>com.sun.star.registry.XRegistryKey</code>
+ * @param url specifies the complete URL to access the data source
+ * @param arg1 specifies if the data source should be opened for read only
+ * @param arg2 specifies if the data source should be created if it does not
+ * already exist
+ */
+ public void openReg(XSimpleRegistry reg, String url, boolean arg1,
+ boolean arg2) {
+ if (nr == null) {
+ try {
+ reg.open(url, arg1, arg2);
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.print("Couldn't open registry:");
+ e.printStackTrace(log);
+ }
+ }
+ }
+
+ /**
+ * Method calls <code>close()</code> of the interface
+ * <code>com.sun.star.registry.XRegistryKey</code>. <p>
+ * @param interface <code>com.sun.star.registry.XRegistryKey</code>
+ */
+ public void closeReg(XSimpleRegistry reg) {
+ if (nr == null) {
+ try {
+ reg.close();
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.print("Couldn't close registry:");
+ e.printStackTrace(log);
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java b/qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java
new file mode 100644
index 000000000000..8d9007dddc29
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java
@@ -0,0 +1,498 @@
+/*************************************************************************
+ *
+ * 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.script;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.script.ScriptEvent;
+import com.sun.star.script.ScriptEventDescriptor;
+import com.sun.star.script.XEventAttacherManager;
+import com.sun.star.script.XScriptListener;
+
+/**
+* Testing <code>com.sun.star.script.XEventAttacherManager</code>
+* interface methods :
+* <ul>
+* <li><code> registerScriptEvent()</code></li>
+* <li><code> registerScriptEvents()</code></li>
+* <li><code> revokeScriptEvent()</code></li>
+* <li><code> revokeScriptEvents()</code></li>
+* <li><code> insertEntry()</code></li>
+* <li><code> removeEntry()</code></li>
+* <li><code> getScriptEvents()</code></li>
+* <li><code> attach()</code></li>
+* <li><code> detach()</code></li>
+* <li><code> addScriptListener()</code></li>
+* <li><code> removeScriptListener()</code></li>
+* </ul> <p>
+* @see com.sun.star.script.XEventAttacherManager
+*/
+public class _XEventAttacherManager extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XEventAttacherManager oObj = null;
+
+ int index;
+
+ /**
+ * Test calls the method and stores index of new entry. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _insertEntry() {
+ index = 0;
+ try {
+ oObj.insertEntry(index);
+ tRes.tested("insertEntry()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertEntry(" + index
+ + ") throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("insertEntry()", false);
+ }
+ }
+
+ ScriptEventDescriptor desc;
+
+ /**
+ * Test creates <code>ScriptEventDescriptor</code>, registers
+ * the script event and stores the descriptor. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> : to have entry's index</li>
+ * </ul>
+ * @see com.sun.star.script.ScriptEventDescriptor
+ */
+ public void _registerScriptEvent() {
+ requiredMethod("insertEntry()");
+ desc = new ScriptEventDescriptor(
+ "XEventListener1",
+ "disposing", "", "Basic", "");
+
+ try {
+ oObj.registerScriptEvent(index, desc);
+ tRes.tested("registerScriptEvent()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("registerScriptEvent() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("registerScriptEvent()", false);
+ }
+ }
+
+ ScriptEventDescriptor descs[];
+
+ /**
+ * Test creates array of <code>ScriptEventDescriptor</code>, registers
+ * this script events and stores the descriptors. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> : to have entry's index</li>
+ * </ul>
+ * @see com.sun.star.script.ScriptEventDescriptor
+ */
+ public void _registerScriptEvents() {
+ requiredMethod("insertEntry()");
+ descs = new ScriptEventDescriptor[] {
+ new ScriptEventDescriptor(
+ "XEventListener2",
+ "disposing", "", "Basic", ""),
+ new ScriptEventDescriptor(
+ "XEventListener3",
+ "disposing", "", "Basic", "")
+ };
+
+ try {
+ oObj.registerScriptEvents(index, descs);
+ tRes.tested("registerScriptEvents()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("registerScriptEvents() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("registerScriptEvents()", false);
+ }
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned array of descriptors contains
+ * array of descriptors registered by methods <code>registerScriptEvents</code>
+ * and <code>registerScriptEvent</code> and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerScriptEvent() </code> :
+ * to have registered descriptor </li>
+ * <li> <code> registerScriptEvents() </code> :
+ * to have registered descriptors </li>
+ * </ul>
+ */
+ public void _getScriptEvents() {
+ requiredMethod("registerScriptEvent()");
+ requiredMethod("registerScriptEvents()");
+
+ ScriptEventDescriptor[] res;
+
+ try {
+ res = oObj.getScriptEvents(index);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("registerScriptEvents() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("registerScriptEvents()", false);
+ return;
+ }
+
+ // checking the desc and descs are in script events
+ tRes.tested("getScriptEvents()",
+ contains(res, desc) && containsArray(res, descs));
+
+ log.println("Script events :") ;
+ printEvents(res) ;
+ }
+
+ /**
+ * Method checks that array of descriptors contains the concrete desciptor.
+ * @param container the array of descriptors
+ * @param evt the descriptor which presence in the array is checked
+ * @return true if the descriptor presence in the array
+ */
+ boolean contains(ScriptEventDescriptor[] container,
+ ScriptEventDescriptor evt) {
+ for (int i = 0; i < container.length; i++) {
+ if (equal(container[i], evt)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Method checks that one array of descriptors contains
+ * another array of descriptors.
+ * @param container the array of descriptors
+ * @param events the array of descriptors which presence
+ * in array <code>container</code> is checked
+ * @return true if the array <code>events</code> contains in the array
+ * <code>container</code>
+ */
+ boolean containsArray(ScriptEventDescriptor[] container,
+ ScriptEventDescriptor[] events) {
+ for (int i = 0; i < events.length; i++) {
+ if (!contains(container, events[i])) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Compares descriptor <code>evt1</code> to descriptor <code>evt2</code>.
+ * Two descriptors are considered equal if all their fields are equal.
+ * @return true if the argument is not <code>null</code> and
+ * the descriptors are equal; false otherwise
+ */
+ boolean equal(ScriptEventDescriptor evt1,
+ ScriptEventDescriptor evt2) {
+ return evt1.ListenerType.equals(evt2.ListenerType)
+ && evt1.EventMethod.equals(evt2.EventMethod)
+ && evt1.ScriptType.equals(evt2.ScriptType)
+ && evt1.ScriptCode.equals(evt2.ScriptCode)
+ && evt1.AddListenerParam.equals(evt2.AddListenerParam);
+ }
+
+ /**
+ * Prints fields of descriptor <code>evt</code> to log.
+ * @param evt the descriptor that needs to be printed to log
+ */
+ void printEvent(ScriptEventDescriptor evt) {
+ if (evt == null) {
+ log.println("null");
+ } else {
+ log.println("\"" + evt.ListenerType + "\",\""
+ + evt.EventMethod + "\",\""
+ + evt.ScriptType + "\",\""
+ + evt.ScriptCode + "\",\""
+ + evt.AddListenerParam + "\"");
+ }
+ }
+
+ /**
+ * Prints the descriptors to log.
+ * @param events the array of descriptors that need to be printed to log
+ */
+ void printEvents(ScriptEventDescriptor events[]) {
+ if (events == null) {
+ log.println("null");
+ } else {
+ for (int i = 0; i < events.length; i++) {
+ printEvent(events[i]);
+ }
+ }
+ }
+
+ Object attachedObject;
+
+ /**
+ * Test creates instance of <code>TypeDescriptionProvider</code>,
+ * stores it and attaches it to the entry with index stored in the method
+ * <code>insertEntry()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> : to have entry's index for attach</li>
+ * @see com.sun.star.reflection.TypeDescriptionProvider
+ */
+ public void _attach() {
+ requiredMethod("insertEntry()");
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ attachedObject = xMSF.createInstance
+ ( "com.sun.star.reflection.TypeDescriptionProvider" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ e.printStackTrace(log);
+ tRes.tested("attach()", false);
+ return;
+ }
+
+ try {
+ oObj.attach(index, attachedObject, "param");
+ tRes.tested("attach()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("attach() throws exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("attach()", false);
+ } catch (com.sun.star.lang.ServiceNotRegisteredException e) {
+ log.println("attach() throws exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("attach()", false);
+ }
+ }
+
+ /**
+ * Test calls the method for the object that was stored in the method
+ * <code>attach()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> attach() </code> : to have attached object </li>
+ * </ul>
+ */
+ public void _detach() {
+ requiredMethod("attach()");
+
+ try {
+ oObj.detach(index, attachedObject);
+ tRes.tested("detach()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("detach() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("detach()", false);
+ }
+ }
+
+ /**
+ * Test revokes script event that was registered by method
+ * <code>registerScriptEvent()</code> and checks that the description
+ * was removed. <p>
+ * Has <b> OK </b> status if description was successfully removed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerScriptEvent() </code> :
+ * to have registered descriptor </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getScriptEvents() </code> :
+ * this method must be executed first </li>
+ * </ul>
+ */
+ public void _revokeScriptEvent() {
+ requiredMethod("registerScriptEvent()");
+ executeMethod("getScriptEvents()") ;
+
+ try {
+ oObj.revokeScriptEvent(index, desc.ListenerType,
+ desc.EventMethod, "");
+
+ ScriptEventDescriptor[] res = oObj.getScriptEvents(index);
+ // checking that the desc has been removed
+ tRes.tested("revokeScriptEvent()", !contains(res, desc));
+ printEvents(res) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("revokeScriptEvent() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("revokeScriptEvent()", false);
+ }
+ }
+
+ /**
+ * Test revokes script events that was registered by method
+ * <code>registerScriptEvents()</code> and checks that the descriptions
+ * were removed. <p>
+ * Has <b> OK </b> status if descriptions were successfully removed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> revokeScriptEvent() </code> :
+ * this method must be executed first </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getScriptEvents() </code> :
+ * this method must be executed first </li>
+ * </ul>
+ */
+ public void _revokeScriptEvents() {
+ requiredMethod("revokeScriptEvent()");
+ executeMethod("getScriptEvents()") ;
+
+ try {
+ oObj.revokeScriptEvents(index);
+
+ ScriptEventDescriptor[] res = oObj.getScriptEvents(index);
+ // checking that all events have been removed
+ tRes.tested("revokeScriptEvents()",
+ res == null || res.length == 0);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("revokeScriptEvents() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("revokeScriptEvents()", false);
+ }
+ }
+
+ /**
+ * Test calls the method with entry's index that was stored in method
+ * <code>insertEntry()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> :
+ * to have entry's index </li>
+ */
+ public void _removeEntry() {
+ requiredMethod("insertEntry()");
+ try {
+ oObj.removeEntry(index);
+ tRes.tested("removeEntry()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("removeEntry(" + index
+ + ") throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("removeEntry()", false);
+ }
+ }
+
+ XScriptListener listener;
+
+ /**
+ * Test creates object that supports interface <code>XScriptListener</code>,
+ * stores it and addes this scripts listener. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * @see com.sun.star.script.XScriptListener
+ */
+ public void _addScriptListener() {
+ listener = new MyScriptListener();
+
+ try {
+ oObj.addScriptListener(listener);
+ tRes.tested("addScriptListener()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("addScriptListener() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("addScriptListener()", false);
+ }
+ }
+
+ /**
+ * Test removes script listener that was stored in method
+ * <code>addScriptListener()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addScriptListener() </code> :
+ * to have script listener </li>
+ * </ul>
+ */
+ public void _removeScriptListener() {
+ requiredMethod("addScriptListener()");
+
+ try {
+ oObj.removeScriptListener(listener);
+ tRes.tested("removeScriptListener()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("removeScriptListener() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("removeScriptListener()", false);
+ }
+ }
+
+ /**
+ * Class implement interface <code>XScriptListener</code>
+ * for test of the method <code>addScriptListener()</code>.
+ * No functionality implemented.
+ * @see com.sun.star.script.XScriptListener
+ */
+ class MyScriptListener implements XScriptListener {
+ public void firing(ScriptEvent evt) {
+ }
+
+ public Object approveFiring(ScriptEvent evt) {
+ return evt.Helper;
+ }
+
+ public void disposing(EventObject evt) {
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java
new file mode 100644
index 000000000000..e71b7f052182
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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.script;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.script.XInvocation;
+import com.sun.star.script.XInvocationAdapterFactory;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.script.XInvocationAdapterFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createAdapter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.script.XInvocationAdapterFactory
+*/
+public class _XInvocationAdapterFactory extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XInvocationAdapterFactory oObj = null;
+
+ /**
+ * First an invocation object of <code>com.sun.star.io.Pipe</code>
+ * instance is created using <code>com.sun.star.script.Invocation
+ * </code> service. Then trying to create an adapter of this
+ * invocation for <code>com.sun.star.io.XInputStream</code>
+ * interface. <p>
+ * Has <b>OK</b> status if the adapter returned is successfully
+ * queried for <code>com.sun.star.io.XInputStream</code>
+ * interface.
+ * @see com.sun.star.script.Invocation
+ * @see com.sun.star.script.XInvocation
+ * @see com.sun.star.io.Pipe
+ */
+ public void _createAdapter() {
+ XInvocation xInv = null ;
+ XMultiServiceFactory xMSF = null;
+ try {
+ xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object[] args = {xMSF.createInstance
+ ("com.sun.star.io.Pipe")};
+
+ Object oInvFac = xMSF.createInstance
+ ("com.sun.star.script.Invocation") ;
+
+ XSingleServiceFactory xInvFac = (XSingleServiceFactory) UnoRuntime.
+ queryInterface(XSingleServiceFactory.class, oInvFac) ;
+
+ Object oInv = xInvFac.createInstanceWithArguments(args) ;
+
+ xInv = (XInvocation) UnoRuntime.queryInterface
+ (XInvocation.class, oInv) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Cann't create invocation for object", e) ;
+ }
+
+ XInterface xInStr = null ;
+
+ Object adp = oObj.createAdapter(xInv,
+ new Type(XInputStream.class)) ;
+
+ xInStr = (XInterface) UnoRuntime.queryInterface
+ (XInputStream.class, adp) ;
+
+
+ if (xInStr != null)
+ tRes.tested("createAdapter()", true) ;
+ else {
+ log.println("Adapter created doesn't implement required interface") ;
+ tRes.tested("createAdapter()", false) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java
new file mode 100644
index 000000000000..50a563986974
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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.script;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.script.XInvocation;
+import com.sun.star.script.XInvocationAdapterFactory2;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.script.XInvocationAdapterFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createAdapter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.script.XInvocationAdapterFactory
+*/
+public class _XInvocationAdapterFactory2 extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XInvocationAdapterFactory2 oObj = null;
+
+ /**
+ * First an invocation object of <code>com.sun.star.io.Pipe</code>
+ * instance is created using <code>com.sun.star.script.Invocation
+ * </code> service. Then trying to create an adapter of this
+ * invocation for <code>com.sun.star.io.XInputStream</code>
+ * interface. <p>
+ * Has <b>OK</b> status if the adapter returned is successfully
+ * queried for <code>com.sun.star.io.XInputStream</code>
+ * interface.
+ * @see com.sun.star.script.Invocation
+ * @see com.sun.star.script.XInvocation
+ * @see com.sun.star.io.Pipe
+ */
+ public void _createAdapter() {
+ XInvocation xInv = null ;
+ XMultiServiceFactory xMSF = null;
+ try {
+ xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object[] args = {xMSF.createInstance
+ ("com.sun.star.io.Pipe")};
+
+ Object oInvFac = xMSF.createInstance
+ ("com.sun.star.script.Invocation") ;
+
+ XSingleServiceFactory xInvFac = (XSingleServiceFactory) UnoRuntime.
+ queryInterface(XSingleServiceFactory.class, oInvFac) ;
+
+ Object oInv = xInvFac.createInstanceWithArguments(args) ;
+
+ xInv = (XInvocation) UnoRuntime.queryInterface
+ (XInvocation.class, oInv) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Cann't create invocation for object", e) ;
+ }
+
+ XInterface xInStr = null ;
+
+ Type[] types = new Type[1];
+ types[0] = new Type(XInputStream.class);
+
+ Object adp = oObj.createAdapter(xInv,types);
+
+ xInStr = (XInterface) UnoRuntime.queryInterface
+ (XInputStream.class, adp) ;
+
+
+ if (xInStr != null)
+ tRes.tested("createAdapter()", true) ;
+ else {
+ log.println("Adapter created doesn't implement required interface") ;
+ tRes.tested("createAdapter()", false) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/script/_XTypeConverter.java b/qadevOOo/tests/java/ifc/script/_XTypeConverter.java
new file mode 100644
index 000000000000..9a25a8fd2d22
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XTypeConverter.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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.script;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.script.XTypeConverter;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.TypeClass;
+
+/**
+* Testing <code>com.sun.star.script.XTypeConverter</code>
+* interface methods :
+* <ul>
+* <li><code> convertTo()</code></li>
+* <li><code> convertToSimpleType()</code></li>
+* </ul> <p>
+* @see com.sun.star.script.XTypeConverter
+*/
+public class _XTypeConverter extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XTypeConverter oObj = null;
+
+ /**
+ * Test creates instance of <code>TypeDescriptionManager</code>,
+ * and converts it to <code>XSet</code>. <p>
+ * Has <b> OK </b> status if returned value is instance of <code>XSet</code>
+ * and no exceptions were thrown. <p>
+ * @see com.sun.star.comp.stoc.TypeDescriptionManager
+ * @see com.sun.star.container.XSet
+ */
+ public void _convertTo() {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ Object value = null ;
+
+ try {
+ value = xMSF.createInstance
+ ("com.sun.star.comp.stoc.TypeDescriptionManager") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create value to convert") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertTo()", false) ;
+ }
+
+ try {
+ Type destType = new Type(XSet.class) ;
+
+ Object o = oObj.convertTo(value, destType);
+
+ boolean result;
+ if (o instanceof Any) {
+ result = ((Any)o).getType().equals(destType);
+ }
+ else {
+ result = (o instanceof XSet);
+ }
+
+ tRes.tested("convertTo()", result) ;
+ } catch (com.sun.star.script.CannotConvertException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertTo()", false) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertTo()", false) ;
+ }
+ }
+
+ /**
+ * Test creates instance of <code>Integer</code>,
+ * and converts it to <code>String</code>. <p>
+ * Has <b> OK </b> status if returned value is instance of <code>String</code>,
+ * if returned value is string representation of integer value that
+ * was passed to method and no exceptions were thrown. <p>
+ */
+ public void _convertToSimpleType() {
+ Object value = new Integer(123) ;
+ Object destValue = null ;
+
+ try {
+ destValue = oObj.convertToSimpleType(value, TypeClass.STRING) ;
+ } catch (com.sun.star.script.CannotConvertException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertToSimpleType()", false) ;
+ return ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertToSimpleType()", false) ;
+ return ;
+ }
+
+ tRes.tested("convertToSimpleType()", destValue != null &&
+ destValue instanceof String &&
+ ((String) destValue).equals("123")) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java b/qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java
new file mode 100644
index 000000000000..e829acf98d5b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiPropertyTest;
+
+public class _DataAccessDescriptor extends MultiPropertyTest {
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ResultSet() {
+ String propName = "ResultSet";
+ try{
+
+ log.println("try to get value from property...");
+ XResultSet oldValue = (XResultSet) UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XResultSet newValue = (XResultSet) UnoRuntime.queryInterface(XResultSet.class,tEnv.getObjRelation("DataAccessDescriptor.XResultSet"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XResultSet getValue = (XResultSet) UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ActiveConnection() {
+ String propName = "ActiveConnection";
+ try{
+
+ log.println("try to get value from property...");
+ XConnection oldValue = (XConnection) UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XConnection newValue = (XConnection) UnoRuntime.queryInterface(XConnection.class,tEnv.getObjRelation("DataAccessDescriptor.XConnection"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XConnection getValue = (XConnection) UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_DataSource.java b/qadevOOo/tests/java/ifc/sdb/_DataSource.java
new file mode 100644
index 000000000000..735ad17f0d81
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_DataSource.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.beans.PropertyValue;
+
+/**
+ * Testing <code>com.sun.star.sdb.DataSource</code>
+ * service properties :
+ * <ul>
+ * <li><code> Name</code></li>
+ * <li><code> URL</code></li>
+ * <li><code> Info</code></li>
+ * <li><code> User</code></li>
+ * <li><code> Password</code></li>
+ * <li><code> IsPasswordRequired</code></li>
+ * <li><code> SuppressVersionColumns</code></li>
+ * <li><code> IsReadOnly</code></li>
+ * <li><code> NumberFormatsSupplier</code></li>
+ * <li><code> TableFilter</code></li>
+ * <li><code> TableTypeFilter</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code> <p>.
+* After this interface test <b>it's better to recreate</b> object tested.
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XPropertySetInfo
+* @see com.sun.star.beans.Property
+* @see com.sun.star.lang.XServiceInfo
+*/
+public class _DataSource extends MultiPropertyTest {
+
+ /**
+ * This property is an array of additional parameters for database
+ * connecting. Parameter is <code>PropertyValue</code> structure.
+ * The test just changes existing array onto array with a single
+ * element <code>("user", "API_QA_Tester")</code> <p>
+ *
+ * After testing old value is set for this property. <p>
+ *
+ * Result is OK: if property successfully changed with no excepions.
+ * @see com.sun.star.beans.PropertyValue
+ */
+ public void _Info() {
+ try {
+ Object oldInfo = oObj.getPropertyValue("Info") ;
+
+ testProperty("Info", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+
+ PropertyValue propUsr = new PropertyValue(),
+ propPass = new PropertyValue() ;
+
+ propUsr.Name = "user" ;
+ propUsr.Value = "API_QA_Tester" ;
+ propPass.Name = "password" ;
+ propPass.Value = "guest" ;
+
+ return new PropertyValue[] { propUsr, propPass } ;
+ }
+ }) ;
+
+ oObj.setPropertyValue("Info", oldInfo) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * Property is tested by the common method, but after testing
+ * old value is set for this property.
+ */
+ public void _URL() {
+ try {
+ Object oldURL = oObj.getPropertyValue("URL") ;
+
+ testProperty("URL") ;
+
+ oObj.setPropertyValue("URL", oldURL) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * Property is tested by the common method, but after testing
+ * old value is set for this property.
+ */
+ public void _User() {
+ try {
+ Object oldUser = oObj.getPropertyValue("User") ;
+
+ testProperty("User") ;
+
+ oObj.setPropertyValue("User", oldUser) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * Property is tested by the common method, but after testing
+ * old value is set for this property.
+ */
+ public void _Password() {
+ try {
+ Object oldPass = oObj.getPropertyValue("Password") ;
+
+ testProperty("Password") ;
+
+ oObj.setPropertyValue("Password", oldPass) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * New value for the test is always <code>null</code>.
+ */
+ public void _NumberFormatsSupplier() {
+ testProperty("NumberFormatsSupplier", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return null ;
+ }
+ }) ;
+ }
+
+ /**
+ * If object test allows to recreate environment it is better to do it.
+ */
+ public void after() {
+ try {
+ oObj.setPropertyValue("IsPasswordRequired",new Boolean(false));
+ } catch (Exception e) {
+ log.println("Couldn't set 'IsPasswordRequired' to false");
+ }
+ }
+
+} // finish class _DataSource
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java b/qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java
new file mode 100644
index 000000000000..d3eca94c6556
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.DatasourceAdministrationDialog</code>
+ * service properties :
+ * <ul>
+ * <li><code> Title</code></li>
+ * <li><code> ParentWindow</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.DatasourceAdministrationDialog
+ */
+public class _DatasourceAdministrationDialog extends MultiPropertyTest {
+
+} // EOF DatasourceAdministrationDialog
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java b/qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java
new file mode 100644
index 000000000000..581e4c59ecdd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.ErrorMessageDialog</code>
+ * service properties :
+ * <ul>
+ * <li><code> Title</code></li>
+ * <li><code> ParentWindow</code></li>
+ * <li><code> SQLException</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'ERR1', 'ERR2'</code>
+ * (of type <code>com.sun.star.sdbc.SQLException</code>):
+ * two objects which are used for changing 'SQLException'
+ * property. </li>
+ * <ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.ErrorMessageDialog
+ */
+public class _ErrorMessageDialog extends MultiPropertyTest {
+
+ /**
+ * <code>SQLException</code> instances must be used as property
+ * value.
+ */
+ public void _SQLException() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("SQLException", tEnv.getObjRelation("ERR1"),
+ tEnv.getObjRelation("ERR2")) ;
+ }
+
+ public void _ParentWindow(){
+ log.println("Testing with custom Property tester");
+ testProperty("ParentWindow", tEnv.getObjRelation("ERR_XWindow"), null);
+ }
+
+} // finish class _ErrorMessageDialog
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java b/qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java
new file mode 100644
index 000000000000..593420423a0b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.QueryDefinition</code>
+ * service properties :
+ * <ul>
+ * <li><code> Name</code></li>
+ * <li><code> Command</code></li>
+ * <li><code> EscapeProcessing</code></li>
+ * <li><code> UpdateTableName</code></li>
+ * <li><code> UpdateCatalogName</code></li>
+ * <li><code> UpdateSchemaName</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.QueryDefinition
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertySetInfo
+ * @see com.sun.star.beans.Property
+ * @see com.sun.star.lang.XServiceInfo
+ */
+public class _QueryDefinition extends MultiPropertyTest {
+
+
+} // finish class _QueryDefinition
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_RowSet.java b/qadevOOo/tests/java/ifc/sdb/_RowSet.java
new file mode 100644
index 000000000000..367b353d0f68
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_RowSet.java
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiPropertyTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Testing <code>com.sun.star.sdb.RowSet</code>
+ * service properties :
+ * <ul>
+ * <li><code> ActiveConnection</code></li>
+ * <li><code> DataSourceName</code></li>
+ * <li><code> Command</code></li>
+ * <li><code> CommandType</code></li>
+ * <li><code> ActiveCommand</code></li>
+ * <li><code> IgnoreResult</code></li>
+ * <li><code> Filter</code></li>
+ * <li><code> ApplyFilter</code></li>
+ * <li><code> Order</code></li>
+ * <li><code> Privileges</code></li>
+ * <li><code> IsModified</code></li>
+ * <li><code> IsNew</code></li>
+ * <li><code> RowCount</code></li>
+ * <li><code> IsRowCountFinal</code></li>
+ * <li><code> UpdateTableName</code></li>
+ * <li><code> UpdateCatalogName</code></li>
+ * <li><code> UpdateSchemaName</code></li>
+ * </ul> <p>
+ *
+ * Properties are tested in a safe way, this means that old
+ * properties' values are restored to their previous values
+ * after testing. These values are meaningfull for further
+ * testing. <p>
+ *
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.RowSet
+ */
+public class _RowSet extends MultiPropertyTest {
+
+ /**
+ * The tester implementation which restores properties
+ * values after testing.
+ */
+ protected class SafeTester extends PropertyTester {
+ Object oldValue = null ;
+
+ protected Object getNewValue(String prop, Object old) {
+ log.println("Testing with SafeTester ...") ;
+ oldValue = old ;
+ return super.getNewValue(prop, old) ;
+ }
+
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue, Exception exception)
+ throws Exception {
+
+ super.checkResult(propName, oldValue, newValue, resValue, exception);
+
+ try {
+ oObj.setPropertyValue(propName, this.oldValue);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ }
+
+ }
+ }
+
+ /**
+ * Overriden method which tests all the properties
+ * with <code>SafeTester</code>.
+ *
+ * @see #SafeTester
+ */
+ protected void testProperty(String propName) {
+ testProperty(propName, new SafeTester()) ;
+ }
+
+ public void _ActiveConnection() {
+ boolean result = false;
+ try {
+ XConnection the_connection = null;
+
+ try {
+ the_connection = (XConnection) AnyConverter.toObject(
+ new Type(XConnection.class),
+ oObj.getPropertyValue("ActiveConnection"));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("couldn't convert Any",iae);
+ }
+
+ result = (the_connection != null);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("the property is unknown");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ }
+
+ tRes.tested("ActiveConnection", result) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // EOF DatasourceAdministrationDialog
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java b/qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java
new file mode 100644
index 000000000000..e7fb46e65055
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.SingleSelectQueryComposer</code>
+ * service properties :
+ * <ul>
+ * <li><code> Original</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.SingleSelectQueryComposer
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertySetInfo
+ * @see com.sun.star.beans.Property
+ * @see com.sun.star.lang.XServiceInfo
+ */
+public class _SingleSelectQueryComposer extends MultiPropertyTest {
+
+
+} // finish class _SingleSelectQueryComposer
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java
new file mode 100644
index 000000000000..135188848a7f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XBookmarksSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.sdb.XBookmarksSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getBookmarks()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.sdb.XBookmarksSupplier
+ */
+public class _XBookmarksSupplier extends MultiMethodTest {
+
+ public XBookmarksSupplier oObj = null ;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getBookmarks() {
+ XNameAccess bookmarks = oObj.getBookmarks();
+ tRes.tested("getBookmarks()",bookmarks != null);
+ }
+
+} // finish class _XBookmarksSupplier
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java b/qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java
new file mode 100644
index 000000000000..8dc2192ab057
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdb.XCompletedConnection;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.task.XInteractionHandler;
+
+/**
+ * Testing <code>com.sun.star.sdb.XCompletedConnection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> connectWithCompletion()</code></li>
+ * </ul> <p>
+* The following object relations required :
+* <ul>
+* <li> <code>'XCompletedConnection.Handler'</code> : passed as parameter
+* to <code>connectWithCompletion</code> method. </li>
+* </ul>
+* @see com.sun.star.sdb.XCompletedConnection
+* @see com.sun.star.task.XInteractionHandler
+* @see com.sun.star.sdbc.XConnection
+*/
+public class _XCompletedConnection extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCompletedConnection oObj = null ;
+
+ /**
+ * Test call the method with handler passed as object relation.
+ * Then value returned is checked.<p>
+ * Has OK status if not null value returned. <&nbsp>
+ * FAILED if exception occured, null value returned or object
+ * relation was not found.
+ */
+ public void _connectWithCompletion() throws StatusException {
+ XInteractionHandler handler = (XInteractionHandler)
+ tEnv.getObjRelation("XCompletedConnection.Handler") ;
+
+ if (handler == null) {
+ log.println("Required object relation not found !") ;
+ tRes.tested("connectWithCompletion()", false) ;
+ return ;
+ }
+
+ XConnection con = null ;
+ try {
+ con = oObj.connectWithCompletion(handler) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ throw new StatusException("Exception while method calling", e) ;
+ }
+
+ tRes.tested("connectWithCompletion()", con != null) ;
+ }
+} // finish class _XCompletedConnection
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java b/qadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java
new file mode 100755
index 000000000000..2710085b3281
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import com.sun.star.sdb.XCompletedExecution;
+import com.sun.star.task.XInteractionHandler;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XCompletedExecution extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCompletedExecution oObj = null ;
+
+ private CheckInteractionHandler checkHandler = null;
+ /**
+ * Interface to implement so the call of the listener can be checked.
+ */
+ public static interface CheckInteractionHandler extends XInteractionHandler {
+ /**
+ * Set a log of the listener, so messages of the listener get printed
+ * into the file of the interface
+ */
+ public void setLog(PrintWriter log);
+ /**
+ * Return True, when the listener was called correctly.
+ */
+ public boolean checkInteractionHandler();
+ }
+
+ protected void before() {
+ checkHandler = (CheckInteractionHandler)
+ tEnv.getObjRelation("InteractionHandlerChecker");
+ if (checkHandler == null)
+ throw new StatusException("Missing object relation 'InteractionHandlerChecker'", new Exception());
+ checkHandler.setLog((PrintWriter)log);
+ }
+
+
+ public void _executeWithCompletion() {
+ try {
+ oObj.executeWithCompletion(checkHandler);
+ }
+ catch(com.sun.star.sdbc.SQLException e) {
+ e.printStackTrace((PrintWriter)log);
+ tRes.tested("executeWithCompletion()", false);
+ return;
+ }
+
+ tRes.tested("executeWithCompletion()", checkHandler.checkInteractionHandler());
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java
new file mode 100644
index 000000000000..b4a415bc3ac1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XFormDocumentsSupplier;
+
+/**
+* <code>com.sun.star.sdb.XFormDocumentsSupplier</code> interface
+* testing.
+* @see com.sun.star.sdb.XFormDocumentsSupplier
+*/
+public class _XFormDocumentsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XFormDocumentsSupplier oObj = null ;
+
+ /**
+ * Has OK status if not null returned. <p>
+ */
+ public void _getFormDocuments() {
+
+ XNameAccess docs = oObj.getFormDocuments() ;
+
+ String[] docNames = docs.getElementNames() ;
+ if (docNames != null) {
+ log.println("Totally " + docNames.length + " documents :") ;
+ for (int i = 0; i < docNames.length; i++)
+ log.println(" " + docNames[i]) ;
+ }
+
+ tRes.tested("getFormDocuments()", docNames != null) ;
+ }
+
+} // finish class _XFormDocumentsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java
new file mode 100644
index 000000000000..109bb24c4462
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sdb.XParametersSupplier;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.sdb.XParametersSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getParameters()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.sdb.XParametersSupplier
+*/
+public class _XParametersSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XParametersSupplier oObj = null ;
+
+ /**
+ * checks of the return of <code>getParameters()</code>
+ * is not null
+ */
+ public void _getParameters() {
+
+ XIndexAccess the_Set = oObj.getParameters();
+ if (the_Set == null) log.println("'getParameters()' returns NULL");
+ tRes.tested("getParameters()",the_Set != null);
+
+ }
+} // finish class _XParametersSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java
new file mode 100644
index 000000000000..942da74cc999
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+
+/**
+ * Testing <code>com.sun.star.sdb.XQueryDefinitionsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getQueryDefinitions()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.sdb.XQueryDefinitionsSupplier
+ */
+public class _XQueryDefinitionsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XQueryDefinitionsSupplier oObj = null ;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getQueryDefinitions() {
+
+ XNameAccess docs = oObj.getQueryDefinitions() ;
+
+ String[] docNames = docs.getElementNames() ;
+ if (docNames != null) {
+ log.println("Totally " + docNames.length + " queries :") ;
+ for (int i = 0; i < docNames.length; i++)
+ log.println(" " + docNames[i]) ;
+ }
+
+ tRes.tested("getQueryDefinitions()", docNames != null) ;
+ }
+
+} // finish class _XQueryDefinitionsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java
new file mode 100644
index 000000000000..75b7c2f51a0a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XReportDocumentsSupplier;
+
+/**
+* <code>com.sun.star.sdb.XReportDocumentsSupplier</code> interface
+* testing.
+* @see com.sun.star.sdb.XReportDocumentsSupplier
+*/
+public class _XReportDocumentsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XReportDocumentsSupplier oObj = null ;
+
+ /**
+ * Has OK status if not null returned. <p>
+ */
+ public void _getReportDocuments() {
+
+ XNameAccess docs = oObj.getReportDocuments() ;
+
+ String[] docNames = docs.getElementNames() ;
+ if (docNames != null) {
+ log.println("Totally " + docNames.length + " documents :") ;
+ for (int i = 0; i < docNames.length; i++)
+ log.println(" " + docNames[i]) ;
+ }
+
+ tRes.tested("getReportDocuments()", docNames != null) ;
+ }
+
+} // finish class _XReportDocumentsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java b/qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java
new file mode 100644
index 000000000000..7f68a57d0b1c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdb.XResultSetAccess;
+import com.sun.star.sdbc.XResultSet;
+
+/**
+* Testing <code>com.sun.star.sdb.XResultSetAccess</code>
+* interface methods :
+* <ul>
+* <li><code> createResultSet()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.sdb.XResultSetAccess
+*/
+public class _XResultSetAccess extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSetAccess oObj = null ;
+
+ /**
+ * tries to create a ResultSet for the Object</br>
+ * an XResultSet is returned.</br>
+ * The test is OK if an not null ResultSet is returned
+ */
+ public void _createResultSet() {
+
+ try {
+ XResultSet the_Set = oObj.createResultSet();
+ if (the_Set == null) log.println("'createResulSet()' returns NULL");
+ tRes.tested("createResultSet()",the_Set != null);
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception while checking 'createResultSet()'");
+ e.printStackTrace(log);
+ tRes.tested("createResultSet()",false);
+ }
+
+ }
+} // finish class _XResultSetAccess
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java b/qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java
new file mode 100644
index 000000000000..2993b60fe19a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java
@@ -0,0 +1,214 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.sdb.RowChangeEvent;
+import com.sun.star.sdb.XRowSetApproveBroadcaster;
+import com.sun.star.sdb.XRowSetApproveListener;
+
+/**
+* <code>com.sun.star.sdb.XRowSetApproveBroadcaster</code> interface test. <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XRowSetApproveBroadcaster.ApproveChecker'</code>:
+* implementation of inner interface <code>RowSetApproveChecker</code>
+* which can move cursor within a rowset, change row, and change the
+* whole rowset. </li>
+* </ul> <p>
+* It is better to recreate the object after test, because of unknown
+* actions made by <code>RowSetApproveChecker</code> interface implementation.
+*
+* @see com.sun.star.sdb.XRowSetApproveBroadcaster
+* @see _XRowSetApproveBroadcaster.RowSetApproveChecker
+*/
+public class _XRowSetApproveBroadcaster extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowSetApproveBroadcaster oObj = null ;
+
+ /**
+ * The purpose of this interface is to pass to this test
+ * relation which can make some operations with row set
+ * on which <code>XRowSetApproveListener</code>s can react.
+ * @see com.sun.star.sdb.XRowSetApproveListener
+ */
+ public static interface RowSetApproveChecker {
+ /**
+ * Moves cursor within row set. Method <code>approveCursorMove</code>
+ * of <code>XRowSetApproveListener</code> must be called.
+ */
+ public void moveCursor() ;
+ /**
+ * Change rows in row set. Method <code>approveRowChange</code>
+ * of <code>XRowSetApproveListener</code> must be called.
+ * @return <code>RowChangeEvent</code> structure which contains
+ * what type of change was made and how many rows it affected.
+ * @see com.sun.star.sdb.RowChangeEvent
+ */
+ public RowChangeEvent changeRow() ;
+ /**
+ * Change the whole row set. Method <code>approveRowSetChange</code>
+ * of <code>XRowSetApproveListener</code> must be called.
+ */
+ public void changeRowSet() ;
+ }
+
+ /**
+ * Implementation of <code>XRowSetApproveListener</code> interface
+ * which just detects and stores approve requipements. They are checked
+ * later.
+ */
+ private class TestListener implements XRowSetApproveListener {
+ public boolean approveRequests = true ;
+ public boolean approveCursorMoveCalled = false ;
+ public boolean approveRowChangeCalled = false ;
+ public RowChangeEvent approveRowChangeEvent = null ;
+ public boolean approveRowSetChangeCalled = false ;
+
+ public TestListener(boolean approve) {
+ approveRequests = approve ;
+ }
+
+ public void reset() {
+ approveCursorMoveCalled = false ;
+ approveRowChangeCalled = false ;
+ approveRowSetChangeCalled = false ;
+ }
+ public boolean approveCursorMove(EventObject ev) {
+ approveCursorMoveCalled = true ;
+ return approveRequests ;
+ }
+ public boolean approveRowChange(RowChangeEvent ev) {
+ approveRowChangeCalled = true ;
+ approveRowChangeEvent = ev ;
+ return approveRequests ;
+ }
+ public boolean approveRowSetChange(EventObject ev) {
+ approveRowSetChangeCalled = true ;
+ return approveRequests ;
+ }
+ public void disposing(EventObject ev) {}
+ }
+ private TestListener listener1 = null ;
+
+ private RowSetApproveChecker checker = null ;
+
+ /**
+ * Tries to retrieve object relation.
+ */
+ public void before() {
+ checker = (RowSetApproveChecker) tEnv.getObjRelation
+ ("XRowSetApproveBroadcaster.ApproveChecker") ;
+
+ if (checker == null) {
+ log.println("!!! Relation for test not found !!!") ;
+ throw new StatusException(Status.failed
+ ("!!! Relation for test not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates and adds listener, then call <code>RowSetApproveChecker</code>
+ * methods for listener methods to be called. Then checks if
+ * listener methods were called on appropriate actions. <p>
+ * Has OK status : If and only if appropriate listener methods called,
+ * and listener <code>approveRowChange</code> method has write parameter,
+ * i.e. type and rows number expected.
+ */
+ public void _addRowSetApproveListener() {
+ listener1 = new TestListener(true) ;
+ oObj.addRowSetApproveListener(listener1) ;
+ log.println("Listener added.") ;
+
+ boolean result = true ;
+
+ checker.moveCursor() ;
+ log.println("Cursor moved.") ;
+ result &= listener1.approveCursorMoveCalled ;
+
+ listener1.reset() ;
+ RowChangeEvent actualEvent = checker.changeRow() ;
+ log.println("Row changed.") ;
+
+ RowChangeEvent event = listener1.approveRowChangeEvent ;
+ result &= listener1.approveRowChangeCalled ;
+
+ boolean eventOK = event.Action == actualEvent.Action &&
+ event.Rows == actualEvent.Rows ;
+
+ result &= eventOK ;
+
+ listener1.reset() ;
+ checker.changeRowSet();
+ log.println("Row set changed.") ;
+ result &= listener1.approveRowSetChangeCalled ;
+
+ tRes.tested("addRowSetApproveListener()", result) ;
+ }
+
+ /**
+ * Removes listener inserted before, then perform all actions
+ * on which listener must react. <p>
+ * Has OK status if no listener methods were called. <p>
+ * Methods required to pass before :
+ * <ul>
+ * <li> <code>_addRowSetApproveListener</code> </li>
+ * </ul>
+ */
+ public void _removeRowSetApproveListener() {
+ requiredMethod("addRowSetApproveListener()") ;
+
+ listener1.reset() ;
+
+ oObj.removeRowSetApproveListener(listener1) ;
+
+ checker.moveCursor() ;
+ checker.changeRow() ;
+ checker.changeRowSet() ;
+
+ tRes.tested("removeRowSetApproveListener()",
+ !listener1.approveCursorMoveCalled &&
+ !listener1.approveRowChangeCalled &&
+ !listener1.approveRowSetChangeCalled) ;
+ }
+
+ /**
+ * Disposes object environment.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XRowSetApproveBroadcaster
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java b/qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java
new file mode 100644
index 000000000000..47facc31805e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java
@@ -0,0 +1,38 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import com.sun.star.sdb.XSQLErrorBroadcaster;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XSQLErrorBroadcaster extends MultiMethodTest {
+
+ public XSQLErrorBroadcaster oObj = null;
+}
diff --git a/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java
new file mode 100644
index 000000000000..5b7dca9342f4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java
@@ -0,0 +1,299 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import com.sun.star.sdb.XSingleSelectQueryAnalyzer;
+import lib.MultiMethodTest;
+import com.sun.star.sdb.XSingleSelectQueryComposer;
+import com.sun.star.uno.UnoRuntime;
+import lib.StatusException;
+import lib.Status;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+
+/**
+* Testing <code>com.sun.star.sdb.XSingleSelectQueryAnalyzer</code>
+* interface methods :
+* <ul>
+* <li><code>getQuery()</code></li>
+* <li><code>setQuery()</code></li>
+* <li><code>getFilter()</code></li>
+* <li><code>getStructuredFilter()</code></li>
+* <li><code>getGroup()</code></li>
+* <li><code>getGroupColumns()</code></li>
+* <li><code>getHavingClause()</code></li>
+* <li><code>getStructuredHavingClause()</code></li>
+* <li><code>getOrder()</code></li>
+* <li><code>getOrderColumns()</code></li>
+
+* </ul> <p>
+* @see com.sun.star.sdb.XSingleSelectQueryAnalyzer
+*/
+public class _XSingleSelectQueryAnalyzer extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XSingleSelectQueryAnalyzer oObj = null ;
+
+ private String queryString = "SELECT * FROM \"biblio\"";
+
+ private XSingleSelectQueryComposer xComposer = null;
+
+ /**
+ * Recieves the object relations:
+ * <ul>
+ * <li><code>XSingleSelectQueryComposer xCompoer</code></li>
+ * </ul> <p>
+ * @see om.sun.star.sdb.XSingleSelectQueryComposer
+ */
+ protected void before() {
+
+ xComposer = (XSingleSelectQueryComposer)
+ UnoRuntime.queryInterface(XSingleSelectQueryComposer.class,
+ tEnv.getObjRelation("xComposer"));
+
+ if (xComposer == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'xComposer'. Test must be modified"));
+
+ }
+
+ }
+ /**
+ * call <code>setQuery()</code> once with valid query, once with invalid
+ * query. Has ok if only on sceond call <code>SQLException</code> was thrwon
+ */
+ public void _setQuery() {
+
+ try{
+ oObj.setQuery("This is an invalid SQL query");
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("expected Exception. ");
+ }
+
+ try{
+ oObj.setQuery(queryString);
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setQuery()", false);
+ }
+ tRes.tested("setQuery()", true);
+ }
+
+ /**
+ * checks of the returned value of <code>getQuery()</code>
+ * equals the string which was set by <code>setQuery()</code>
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setQuery</code></li>
+ *</ul>
+ */
+ public void _getQuery() {
+ this.requiredMethod("setQuery()");
+
+ boolean res = false;
+
+ res = oObj.getQuery().equals(queryString);
+
+ tRes.tested("getQuery()", res);
+ }
+
+
+ /**
+ * Object relation <code>xComposer</code> set a filter. This filter
+ * must returned while calling <code>getFilter</code>
+ */
+ public void _getFilter() {
+ try{
+ String filter = "\"Identifier\" = 'BOR02b'";
+ xComposer.setFilter(filter);
+ tRes.tested("getFilter()", (oObj.getFilter().equals(filter)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getFilter()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a complex filter with method
+ . <code>setFilter</code>. Then <code>getStructuredFilter</code> returns a
+ * sequenze of <code>PropertyValue</code> which was set with method
+ * <code>setStructuredFilter</code> from <xComposer>.
+ * Then test has ok status if <getFilter> returns the complex filter.
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setQuery</code></li>
+ * <li><code>getFilter</code></li>
+ *</ul>
+ */
+ public void _getStructuredFilter() {
+ requiredMethod("setQuery()");
+ requiredMethod("getFilter()");
+ try{
+ oObj.setQuery("SELECT \"Identifier\", \"Type\", \"Address\" FROM \"biblio\" \"biblio\"");
+ String complexFilter = "( \"Identifier\" = '1' AND \"Type\" = '4' ) OR ( \"Identifier\" = '2' AND \"Type\" = '5' ) OR ( \"Identifier\" = '3' AND \"Type\" = '6' AND \"Address\" = '7' ) OR ( \"Address\" = '8' ) OR ( \"Type\" = '9' )";
+ xComposer.setFilter(complexFilter);
+ PropertyValue[][] aStructuredFilter = oObj.getStructuredFilter();
+ xComposer.setFilter("");
+ xComposer.setStructuredFilter(aStructuredFilter);
+ tRes.tested("getStructuredFilter()", (oObj.getFilter().equals(complexFilter)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getStructuredFilter()", false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getStructuredFilter()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a goup. This group
+ * must returned while calling <code>getGroup</code>
+ */
+ public void _getGroup() {
+ try{
+ String group = "\"Identifier\"";
+ xComposer.setGroup(group);
+ tRes.tested("getGroup()", (oObj.getGroup().equals(group)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getGroup()", false);
+ }
+ }
+
+ /**
+ * Method <code>getGroupColumns</code> retunrs a <code>XIndexAccess</code>
+ * Test has ok status if returned value is an useable <code>XIndexAccess</code>
+ */
+ public void _getGroupColumns() {
+ try{
+ XIndexAccess xGroupColumns = oObj.getGroupColumns();
+
+ tRes.tested("getGroupColumns()", (xGroupColumns != null &&
+ xGroupColumns.getCount() == 1 &&
+ xGroupColumns.getByIndex(0) != null));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getGroupColumns()", false);
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getGroupColumns()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a clause. This clause
+ * must returned while calling <code>getHavingClause</code>
+ */
+ public void _getHavingClause() {
+ try{
+ String clause = "\"Identifier\" = 'BOR02b'";
+ xComposer.setHavingClause(clause);
+ tRes.tested("getHavingClause()", (
+ oObj.getHavingClause().equals(clause)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getHavingClause()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a clause. This clause
+ * must returned while calling <code>getHavingClause</code>
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setQuery</code></li>
+ * <li><code>getFilter</code></li>
+ * <li><code>getStructuredFilter</code></li>
+ *</ul>
+ */
+ public void _getStructuredHavingClause() {
+ requiredMethod("setQuery()");
+ requiredMethod("getFilter()");
+ executeMethod("getStructuredFilter()");
+ String complexFilter = "( \"Identifier\" = '1' AND \"Type\" = '4' ) OR ( \"Identifier\" = '2' AND \"Type\" = '5' ) OR ( \"Identifier\" = '3' AND \"Type\" = '6' AND \"Address\" = '7' ) OR ( \"Address\" = '8' ) OR ( \"Type\" = '9' )";
+
+ try{
+ xComposer.setHavingClause(complexFilter);
+ PropertyValue[][] aStructuredHaving = oObj.getStructuredHavingClause();
+ xComposer.setHavingClause("");
+ xComposer.setStructuredHavingClause(aStructuredHaving);
+ tRes.tested("getStructuredHavingClause()",
+ (oObj.getHavingClause().equals(complexFilter)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getStructuredHavingClause()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set an order. This order
+ * must returned while calling <code>getOrder</code>
+ */
+ public void _getOrder() {
+ try{
+ String order = "\"Identifier\"";
+ xComposer.setOrder(order);
+ tRes.tested("getOrder()", (oObj.getOrder().equals(order)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getOrder()", false);
+ }
+ }
+
+ /**
+ * Method <code>getGroupColumns</code> retunrs a <code>XIndexAccess</code>
+ * Test has ok status if returned value is an useable <code>XIndexAccess</code>
+ */
+ public void _getOrderColumns() {
+ try{
+ XIndexAccess xOrderColumns = oObj.getOrderColumns();
+ tRes.tested("getOrderColumns()", (xOrderColumns != null &&
+ xOrderColumns.getCount() == 1 &&
+ xOrderColumns.getByIndex(0) != null));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getOrderColumns()", false);
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getOrderColumns()", false);
+ }
+ }
+
+
+} // finish class _XSingleSelectQueryAnalyzer
diff --git a/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java
new file mode 100644
index 000000000000..fa987a09a227
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java
@@ -0,0 +1,396 @@
+/*************************************************************************
+ *
+ * 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.sdb;
+
+import com.sun.star.sdb.XSingleSelectQueryComposer;
+import lib.MultiMethodTest;
+import com.sun.star.sdb.XSingleSelectQueryAnalyzer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.UnoRuntime;
+import lib.StatusException;
+import lib.Status;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sdb.SQLFilterOperator;
+
+/**
+* Testing <code>com.sun.star.sdb.XSingleSelectQueryComposer</code>
+* interface methods :
+* <ul>
+* <li><code>setFilter()</code></li>
+* <li><code>setStructuredFilter()</code></li>
+* <li><code>appendFilterByColumn()</code></li>
+* <li><code>appendGroupByColumn()</code></li>
+* <li><code>setGroup()</code></li>
+* <li><code>setHavingClause()</code></li>
+* <li><code>setStructuredHavingClause()</code></li>
+* <li><code>appendHavingClauseByColumn()</code></li>
+* <li><code>appendOrderByColumn()</code></li>
+* <li><code>setOrder()</code></li>
+
+* </ul> <p>
+* @see com.sun.star.sdb.XSingleSelectQueryComposer
+*/
+public class _XSingleSelectQueryComposer extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XSingleSelectQueryComposer oObj = null ;
+
+ private String queryString = "SELECT * FROM \"biblio\"";
+
+ private XSingleSelectQueryAnalyzer xQueryAna = null;
+
+ private XPropertySet xProp = null;
+
+ private String colName = null;
+
+ /**
+ * Retcieves the object relations:
+ * <ul>
+ * <li><code>XSingleSelectQueryAnalyzer xQueryAna</code></li>
+ * <li><code>XPropertySet xProp</code></li>
+ * <li><code>String colName</code></li>
+ * </ul> <p>
+ * @see om.sun.star.sdb.XSingleSelectQueryAnalyzer
+ * @see com.sun.star.beans.XPropertySet
+ */
+ protected void before() /* throws Exception*/ {
+
+ xQueryAna = (XSingleSelectQueryAnalyzer)
+ UnoRuntime.queryInterface(XSingleSelectQueryAnalyzer.class,
+ tEnv.getObjRelation("xQueryAna"));
+
+ if (xQueryAna == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'xQueryAna'. Test must be modified"));
+
+ }
+
+ xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,
+ tEnv.getObjRelation("xProp"));
+
+ if (xProp == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'xProp'. Test must be modified"));
+
+ }
+
+ try
+ {
+ colName = AnyConverter.toString(tEnv.getObjRelation("colName"));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ colName = null;
+ }
+
+ if (colName == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'colName'. Test must be modified"));
+
+ }
+
+ }
+
+
+ /**
+ * Object relation <code>xQueryAna</code> set a filter. This filter
+ * must returned while calling <code>getFilter</code>
+ */
+ public void _setFilter() {
+ try{
+ String filter = "\"Identifier\" = 'BOR02b'";
+ oObj.setFilter(filter);
+ tRes.tested("setFilter()", (xQueryAna.getFilter().equals(filter)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setFilter()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xQueryAna</code> set a complex filter with method
+ . <code>setFilter</code>. Then <code>getStructuredFilter</code> returns a
+ * sequenze of <code>PropertyValue</code> which was set with method
+ * <code>setStructuredFilter</code> from <code>xQueryAna</code>.
+ * Then test has ok status if <code>getFilter</code> returns the complex filter.
+ */
+ public void _setStructuredFilter() {
+ requiredMethod("setFilter()");
+ try{
+ xQueryAna.setQuery("SELECT \"Identifier\", \"Type\", \"Address\" FROM \"biblio\" \"biblio\"");
+ String complexFilter = "( \"Identifier\" = '1' AND \"Type\" = '4' ) OR ( \"Identifier\" = '2' AND \"Type\" = '5' ) OR ( \"Identifier\" = '3' AND \"Type\" = '6' AND \"Address\" = '7' ) OR ( \"Address\" = '8' ) OR ( \"Type\" = '9' )";
+ oObj.setFilter(complexFilter);
+ PropertyValue[][] aStructuredFilter = xQueryAna.getStructuredFilter();
+ oObj.setFilter("");
+ oObj.setStructuredFilter(aStructuredFilter);
+ tRes.tested("setStructuredFilter()", (xQueryAna.getFilter().equals(complexFilter)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setStructuredFilter()", false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setStructuredFilter()", false);
+ }
+ }
+
+ /**
+ * At first the object relation <code>xProp</code> was set as parameter.
+ * Relation <code>xQueryAna</code> was used to chek if realtion
+ * <code>colName</code> was found.
+ * Second an empty <code>XPropertySet</code> was used as parameter. A
+ * <code>com.sun.star.sdbc.SQLException</code> must be thrown.
+ */
+ public void _appendFilterByColumn() {
+ boolean ok = true;
+ try{
+
+ oObj.appendFilterByColumn(xProp, true,SQLFilterOperator.EQUAL);
+ log.println("appendFilterByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+
+ try{
+
+ oObj.appendFilterByColumn(xProp, false,SQLFilterOperator.EQUAL);
+ log.println("appendFilterByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+
+ try{
+ XPropertySet dummy = null;
+ oObj.appendFilterByColumn(dummy, true,SQLFilterOperator.EQUAL);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendFilterByColumn()", false);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ }
+ tRes.tested("appendFilterByColumn()", ok);
+ }
+
+ /**
+ * At first the object relation <code>xProp</code> was used as parameter.
+ * Relation <code>xQueryAna</code> was used to chek if realtion
+ * <code>colName</code> was found.
+ * Second an empty <code>XPropertySet</code> was used as parameter. An
+ * <code>com.sun.star.sdbc.SQLException</code> must be thrown.
+ */
+ public void _appendGroupByColumn() {
+ boolean ok = true;
+ try{
+
+ oObj.appendGroupByColumn(xProp);
+ log.println("appendGroupByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendGroupByColumn()", false);
+ }
+ try{
+ XPropertySet dummy = null;
+ oObj.appendGroupByColumn(dummy);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendGroupByColumn()", false);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ }
+ tRes.tested("appendGroupByColumn()", ok);
+ }
+
+ /**
+ * The group which was setted by <code>setGroup</code> must be returned
+ * while calling from object relation <code>XQueryAna</code>
+ * method <code>getGroup</code>
+ */
+ public void _setGroup() {
+ try{
+ String group = "\"Identifier\"";
+ oObj.setGroup(group);
+ tRes.tested("setGroup()", (xQueryAna.getGroup().equals(group)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setGroup()", false);
+ }
+ }
+
+
+ /**
+ * The cluase which was setted by <code>setHavingClause</code> must be returned
+ * while calling from object relation <code>XQueryAna</code>
+ * method <code>getHavingClause</code>
+ */
+ public void _setHavingClause() {
+ try{
+ String clause = "\"Identifier\" = 'BOR02b'";
+ oObj.setHavingClause(clause);
+ tRes.tested("setHavingClause()", (
+ xQueryAna.getHavingClause().equals(clause)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setHavingClause()", false);
+ }
+ }
+
+ /**
+ * At first <code>setHavingClause</code> sets a complex clause.
+ * Then method <code>getStructuredHavingClause</code> from object relation
+ * <code>xQueryAna</code> returns a valid <code>PropertyValue[][]</code>
+ * Method <code>setHavingClause</code> was called with an empty sting to
+ * reset filter. Now <code>setStructuredHavingClause</code> with the valid
+ * <code>PropertyValue[][]</code> as parameter was called.
+ * Test is ok if <code>getHavingClause</code> from <code>xQueryAna</code>
+ * returns the complex clause from beginning.
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setHavingClause</code></li>
+ * <li><code>setStructuredFilter</code></li>
+ *</ul>
+ */
+ public void _setStructuredHavingClause() {
+ requiredMethod("setHavingClause()");
+ executeMethod("setStructuredFilter()");
+ String complexFilter = "( \"Identifier\" = '1' AND \"Type\" = '4' ) OR ( \"Identifier\" = '2' AND \"Type\" = '5' ) OR ( \"Identifier\" = '3' AND \"Type\" = '6' AND \"Address\" = '7' ) OR ( \"Address\" = '8' ) OR ( \"Type\" = '9' )";
+
+ try{
+ oObj.setHavingClause(complexFilter);
+ PropertyValue[][] aStructuredHaving =
+ xQueryAna.getStructuredHavingClause();
+ oObj.setHavingClause("");
+ oObj.setStructuredHavingClause(aStructuredHaving);
+ tRes.tested("setStructuredHavingClause()",
+ (xQueryAna.getHavingClause().equals(complexFilter)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setStructuredHavingClause()", false);
+ }
+ }
+
+ /**
+ * First object relation <code>xProp</code> was used as parameter. Relation
+ * <code>xQueryAna</code> was used to chek if realtion <code>colName</code>
+ * was found.
+ * Second an empty <code>XPropertySet</code> was given as parameter. An
+ * <code>com.sun.star.sdbc.SQLException</code> must be thrown.
+ */
+ public void _appendHavingClauseByColumn() {
+ boolean ok = true;
+ try{
+
+ oObj.appendHavingClauseByColumn(xProp, true,SQLFilterOperator.EQUAL);
+ log.println("appendHavingClauseByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ }
+ try{
+ XPropertySet dummy = null;
+ oObj.appendHavingClauseByColumn(dummy, true,SQLFilterOperator.EQUAL);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendHavingClauseByColumn()", false);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ }
+ tRes.tested("appendHavingClauseByColumn()", ok);
+ }
+
+ /**
+ * First object relation <code>xProp</code> was set as parameter. Relation
+ * <code>xQueryAna</code> was used to chek if realtion <code>colName</code>
+ * was found.
+ * Second an empty <code>XPropertySet</code> was given as parameter. An
+ * <code>com.sun.star.sdbc.SQLException</code> must be thrown.
+ */
+ public void _appendOrderByColumn() {
+ boolean ok = true;
+ try{
+
+ oObj.appendOrderByColumn(xProp, true);
+ log.println("appendOrderByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendOrderByColumn()", false);
+ }
+ try{
+ XPropertySet dummy = null;
+ oObj.appendOrderByColumn(dummy, true);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendOrderByColumn()", false);
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ }
+ tRes.tested("appendOrderByColumn()", ok);
+ }
+
+
+ /**
+ * Method <code>getOrder</code> from object relation <code>xQueryAna</code>
+ * checks the order which was setted while calling <code>setOrder</code>
+ */
+ public void _setOrder() {
+ try{
+ String order = "\"Identifier\"";
+ oObj.setOrder(order);
+ tRes.tested("setOrder()", (xQueryAna.getOrder().equals(order)));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setOrder()", false);
+ }
+ }
+
+
+
+} // finish class _XSingleSelectQueryComposer
diff --git a/qadevOOo/tests/java/ifc/sdbc/_ResultSet.java b/qadevOOo/tests/java/ifc/sdbc/_ResultSet.java
new file mode 100644
index 000000000000..bbbee54f9427
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_ResultSet.java
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sdbc.ResultSet</code>
+* service properties :
+* <ul>
+* <li><code> CursorName</code></li>
+* <li><code> ResultSetConcurrency</code></li>
+* <li><code> ResultSetType</code></li>
+* <li><code> FetchDirection</code></li>
+* <li><code> FetchSize</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sdbc.ResultSet
+*/
+public class _ResultSet extends MultiPropertyTest {
+
+
+} // finish class _ResultSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_RowSet.java b/qadevOOo/tests/java/ifc/sdbc/_RowSet.java
new file mode 100644
index 000000000000..3a4fcecbadd8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_RowSet.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.uno.Any;
+
+
+/**
+* Testing <code>com.sun.star.sdbc.RowSet</code>
+* service properties :
+* <ul>
+* <li><code> DataSourceName</code></li>
+* <li><code> URL</code></li>
+* <li><code> Command</code></li>
+* <li><code> TransactionIsolation</code></li>
+* <li><code> TypeMap</code></li>
+* <li><code> EscapeProcessing</code></li>
+* <li><code> QueryTimeOut</code></li>
+* <li><code> MaxFieldSize</code></li>
+* <li><code> MaxRows</code></li>
+* <li><code> User</code></li>
+* <li><code> Password</code></li>
+* <li><code> ResultSetType</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sdbc.RowSet
+*/
+public class _RowSet extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns object, that contains changed property value.
+ */
+ public void _TypeMap() {
+ boolean result = false;
+ try {
+ Any TypeMap = (Any) oObj.getPropertyValue("TypeMap");
+ String TypeName = TypeMap.getType().getTypeName();
+ String expected = "com.sun.star.container.XNameAccess";
+ result = TypeName.equals(expected);
+ if (! result ) {
+ log.println("Expected Type is "+expected);
+ log.println("but the returned is "+TypeName);
+ }
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e.getMessage());
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e.getMessage());
+ }
+
+ tRes.tested("TypeMap",result);
+ }
+
+} // finish class _RowSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XCloseable.java b/qadevOOo/tests/java/ifc/sdbc/_XCloseable.java
new file mode 100644
index 000000000000..7877ad3742d9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XCloseable.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XCloseable;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbc.XCloseable</code>
+* interface methods :
+* <ul>
+* <li><code> close()</code></li>
+* </ul> <p>
+* After test object must be recreated.
+* @see com.sun.star.sdbc.XCloseable
+*/
+public class _XCloseable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCloseable oObj = null ;
+
+ /**
+ * Closes row set. If the component implements the interface
+ * <code>com.sun.star.sdbc.XResutlSet</code> then tries to move
+ * the cursor to the first row in the result set.
+ * Has OK status if no exceptions were thrown during first call and
+ * if expected SQL exception was thrown during cursor moving.
+ */
+ public void _close() throws StatusException {
+ boolean res = false;
+ try {
+ oObj.close();
+ res = true;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL Exception occured:" + e) ;
+ res = false;
+ }
+
+ XResultSet resSet = (XResultSet)
+ UnoRuntime.queryInterface(XResultSet.class, oObj);
+
+ if (resSet != null) {
+ try {
+ resSet.first();
+ log.println("Expected SQLException not occured !");
+ res = false;
+ } catch(SQLException e) {
+ log.println("Expected SQLException occured");
+ res = true;
+ }
+ }
+
+ tRes.tested("close()", res);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XCloseable
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java b/qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java
new file mode 100644
index 000000000000..d91c5c1ab2d0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XColumnLocate;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XColumnLocate</code>
+* interface methods :
+* <ul>
+* <li><code> findColumn()</code></li>
+* </ul> <p>
+* The test required the following relations :
+* <ul>
+* <li> <code> XColumnLocate.ColumnName </code> : The name of the first
+* column. </li>
+* </ul>
+* @see com.sun.star.sdbc.XColumnLocate
+*/
+public class _XColumnLocate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XColumnLocate oObj = null ;
+
+ /**
+ * Using column name from object relation trying to find out
+ * the index of this column. <p>
+ * Has OK status if column index returned by method equals to 1,
+ * FAILED otherwise.
+ */
+ public void _findColumn() {
+ boolean result = false ;
+ String colName = (String) tEnv.getObjRelation("XColumnLocate.ColumnName") ;
+
+ if (colName == null) {
+ throw new StatusException(
+ Status.failed("Object relation 'XColumnLocate.ColumnName' " +
+ "for this interface not found"));
+ }
+
+ try {
+ int colIdx = oObj.findColumn(colName) ;
+ result = colIdx == 1 ;
+ } catch (SQLException e) {
+ log.println("Exception occured:");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("findColumn()", result);
+ }
+
+} // finish class _XColumnLocate
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XDataSource.java b/qadevOOo/tests/java/ifc/sdbc/_XDataSource.java
new file mode 100644
index 000000000000..6c1767887861
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XDataSource.java
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDataSource;
+
+/**
+* Testing <code>com.sun.star.sdbc.XDataSource</code>
+* interface methods :
+* <ul>
+* <li><code>getConnection()</code></li>
+* <li><code>setLoginTimeout()</code></li>
+* <li><code>getLoginTimeout()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XDataSource
+*/
+public class _XDataSource extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDataSource oObj = null;
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if exception wasn't thrown and
+ * if returned value isn't null.
+ */
+ public void _getConnection() {
+ boolean res = true;
+
+ try {
+ XConnection connection = oObj.getConnection("", "");
+ res = connection != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception:");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getConnection()", res);
+ }
+
+ /**
+ * Sets new timeout, compares with timeout returned by the method
+ * <code>getLoginTimeout()</code>.
+ * Has OK status if exception wasn't thrown and if timeout values are equal.
+ */
+ public void _setLoginTimeout() {
+ requiredMethod("getLoginTimeout()");
+ boolean res = true;
+
+ try {
+ final int TO = 111;
+ log.println("setLoginTimeout(" + TO + ")");
+ oObj.setLoginTimeout(TO);
+ int timeout = oObj.getLoginTimeout();
+ res = timeout == TO;
+ log.println("getLoginTimeout(): " + timeout);
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception:");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("setLoginTimeout()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if exception wasn't thrown and
+ * if returned value is equal to zero.
+ */
+ public void _getLoginTimeout() {
+ boolean res = true;
+
+ try {
+ int timeout = oObj.getLoginTimeout();
+ log.println("getLoginTimeout(): " + timeout);
+ res = timeout == 0;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception:");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getLoginTimeout()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XDriver.java b/qadevOOo/tests/java/ifc/sdbc/_XDriver.java
new file mode 100644
index 000000000000..8c9085a96f51
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XDriver.java
@@ -0,0 +1,213 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sdbc.DriverPropertyInfo;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDriver;
+
+/**
+* Testing <code>com.sun.star.sdbc.XDriver</code>
+* interface methods :
+* <ul>
+* <li><code> connect()</code></li>
+* <li><code> acceptsURL()</code></li>
+* <li><code> getPropertyInfo()</code></li>
+* <li><code> getMajorVersion()</code></li>
+* <li><code> getMinorVersion()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XDriver.URL'</code>:
+* is the URL of the database to which to connect</code></li>
+* <li><code>'XDriver.UNSUITABLE_URL'</code>:
+* the wrong kind of URL to connect using given driver</li>
+* <li><code>'XDriver.INFO'</code>:
+* a list of arbitrary string tag/value pairs as connection arguments</li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XDriver
+*/
+public class _XDriver extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDriver oObj = null;
+ String url = null;
+ String wrongUrl = null;
+ String nbu = null;
+ PropertyValue[] info = null;
+
+ /**
+ * Retrieves relations.
+ * @throw StatusException If any relation not found.
+ */
+ protected void before() {
+ nbu = (String) tEnv.getObjRelation("NoBadURL");
+ url = (String)tEnv.getObjRelation("XDriver.URL");
+ if (url == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.URL'"));
+ }
+ wrongUrl = (String)tEnv.getObjRelation("XDriver.UNSUITABLE_URL");
+ if (wrongUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.WRONG_URL'"));
+ }
+ info = (PropertyValue[])tEnv.getObjRelation("XDriver.INFO");
+ if (info == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.INFO'"));
+ }
+ }
+
+ /**
+ * Connects to <code>'XDriver.URL'</code>,
+ * to <code>'XDriver.UNSUITABLE_URL'</code> and to wrong URL using
+ * <code>'XDriver.INFO'</code>.
+ * Has OK status if the method returns not null for <code>'XDriver.URL'</code>,
+ * null for <code>'XDriver.UNSUITABLE_URL'</code> and
+ * exception was thrown during the call with a wrong URL.
+ */
+ public void _connect() {
+ boolean res = true;
+
+ try {
+ log.println("Trying to connect to " + url);
+ XConnection connection = oObj.connect(url, info);
+ res = (connection != null);
+ log.println("Connected? " + res);
+ log.println("Trying to connect to " + wrongUrl);
+ connection = oObj.connect(wrongUrl, info);
+ res &= (connection == null);
+ log.println("Connected? " + !res);
+ } catch(SQLException e) {
+ log.println("Unexpected exception");
+ res &= false;
+ }
+
+ if (nbu==null) {
+ try {
+ String badUrl = url + "bla";
+ log.println("Trying to connect to " + badUrl);
+ oObj.connect(badUrl, info);
+ res &= false;
+ log.println("Expected exception isn't thrown");
+ } catch(SQLException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+ }
+
+ tRes.tested("connect()", res);
+ }
+
+ /**
+ * Calls the method for <code>'XDriver.URL'</code> and
+ * for <code>'XDriver.UNSUITABLE_URL'</code>.
+ * Has OK status if the method returns true for <code>'XDriver.URL'</code>
+ * and false for <code>'XDriver.UNSUITABLE_URL'</code>.
+ */
+ public void _acceptsURL() {
+ boolean res = false;
+
+ try {
+ res = oObj.acceptsURL(url);
+ log.println("Accepts " + url + "? " + res);
+ res &= !oObj.acceptsURL(wrongUrl);
+ log.println("Accepts " + wrongUrl + "? " + !res);
+ } catch(SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("acceptsURL()", res);
+ }
+
+ /**
+ * Calls the method with passed <code>'XDriver.URL'</code> and
+ * <code>'XDriver.INFO'</code>. Prints obtained driver properties info
+ * to log.
+ * Has OK status if returned value isn't null.
+ */
+ public void _getPropertyInfo() {
+ requiredMethod("acceptsURL()");
+ boolean res = false;
+ DriverPropertyInfo[] dpi = null;
+ try {
+ dpi = oObj.getPropertyInfo(url, info);
+ } catch(SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ if (dpi != null) {
+ res = true;
+ log.println("Driver properties info:");
+ for(int i = 0; i < dpi.length; i++) {
+ log.println("Property: " + dpi[i].Name);
+ log.println("Description: " + dpi[i].Description);
+ log.println("IsRequired? " + dpi[i].IsRequired);
+ log.println("Value: " + dpi[i].Value);
+ log.println("Choices: ");
+ for(int j = 0; j < dpi[i].Choices.length; j++) {
+ log.println("\t" + dpi[i].Choices[j]);
+ }
+ }
+ }
+
+ tRes.tested("getPropertyInfo()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if returned value is greater than or is equal to 1.
+ */
+ public void _getMajorVersion() {
+ int majorVer = oObj.getMajorVersion();
+ boolean res = majorVer >= 1;
+ log.println("Major version " + majorVer);
+ tRes.tested("getMajorVersion()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if returned value is greater than or is equal to 0.
+ */
+ public void _getMinorVersion() {
+ int minorVer = oObj.getMinorVersion();
+ boolean res = minorVer >= 0;
+ log.println("Minor version " + minorVer);
+ tRes.tested("getMinorVersion()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java b/qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java
new file mode 100644
index 000000000000..6921aef8db7e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDriverManager;
+
+/**
+* Testing <code>com.sun.star.sdbc.XDriverManager</code>
+* interface methods :
+* <ul>
+* <li><code> getConnection()</code></li>
+* <li><code> getConnectionWithInfo()</code></li>
+* <li><code> setLoginTimeout()</code></li>
+* <li><code> getLoginTimeout()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'SDBC.URL'</code>:
+* is the URL of the database to which to connect using sdbc-driver
+* </code></li>
+* <li> <code>'JDBC.URL'</code>:
+* is the URL of the database to which to connect using jdbc-driver
+* </code></li>
+* <li> <code>'JDBC.INFO'</code> of type <code>PropertyValue[]</code>:
+* a list of arbitrary string tag/value pairs as connection arguments;
+* normally at least a "user" and "password" property should be included
+* </code></li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XDriverManager
+*/
+public class _XDriverManager extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDriverManager oObj = null;
+ String sdbcURL = null;
+ String jdbcURL = null;
+ PropertyValue[] jdbcINFO = null;
+
+ /**
+ * Retrieves the required object relations.
+ */
+ protected void before() {
+ sdbcURL = (String)tEnv.getObjRelation("SDBC.URL");
+ if (sdbcURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'SDBC.URL'"));
+ }
+ jdbcURL = (String)tEnv.getObjRelation("JDBC.URL");
+ if (jdbcURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'JDBC.URL'"));
+ }
+ jdbcINFO = (PropertyValue[])tEnv.getObjRelation("JDBC.INFO");
+ if (jdbcINFO == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'JDBC.INFO'"));
+ }
+ }
+
+ /**
+ * Calls the method with the url received from the relation
+ * <code>SDBC.URL</code>.
+ * Has OK status if exception wasn't thrown and
+ * if returned value isn't null.
+ */
+ public void _getConnection() {
+ boolean res = true;
+
+ try {
+ log.println("getConnection(" + sdbcURL + ")");
+ XConnection connection = oObj.getConnection(sdbcURL);
+ res = connection != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getConnection()", res);
+ }
+
+ /**
+ * Calls the method with the url received from the relation
+ * <code>JDBC.URL</code> and with info received from the relation
+ * <code>JDBC.INFO</code>.
+ * Has OK status if exception wasn't thrown and
+ * if returned value isn't null.
+ */
+ public void _getConnectionWithInfo() {
+ boolean res = true;
+
+ try {
+ log.println("getConnectionWithInfo(" + jdbcURL + ")");
+ XConnection connection =
+ oObj.getConnectionWithInfo(jdbcURL, jdbcINFO);
+ res = connection != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getConnectionWithInfo()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if timeout that was set and timeout that was returned by
+ * the method <code>getLoginTimeout()</code> are equal.
+ */
+ public void _setLoginTimeout() {
+ requiredMethod("getLoginTimeout()");
+ final int TO = 111;
+ log.println("setLoginTimeout(" + TO + ")");
+ oObj.setLoginTimeout(TO);
+ int timeout = oObj.getLoginTimeout();
+ log.println("getLoginTimeout(): " + timeout);
+ tRes.tested("setLoginTimeout()", timeout == TO);
+ }
+
+ /**
+ * Calls the method.
+ */
+ public void _getLoginTimeout() {
+ int timeout = oObj.getLoginTimeout();
+ log.println("getLoginTimeout(): " + timeout);
+
+ tRes.tested("getLoginTimeout()", true);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java b/qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java
new file mode 100644
index 000000000000..36ea27516c26
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.task.XInteractionHandler;
+
+/**
+ * Testing <code>com.sun.star.sdb.XCompletedConnection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getIsolatedConnectionWithCompletion()</code></li>
+ * <li><code> getIsolatedConnection()</code></li>
+ * </ul> <p>
+* The following object relations required :
+* <ul>
+* <li> <code>'XCompletedConnection.Handler'</code> : passed as parameter
+* to <code>connectWithCompletion</code> method. </li>
+* </ul>
+* @see com.sun.star.sdb.XIsolatedConnection
+* @see com.sun.star.task.XInteractionHandler
+* @see com.sun.star.sdbc.XConnection
+*/
+public class _XIsolatedConnection extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XIsolatedConnection oObj = null ;
+
+ /**
+ * Test call the method with handler passed as object relation.
+ * Then value returned is checked.<p>
+ * Has OK status if not null value returned. <&nbsp>
+ * FAILED if exception occured, null value returned or object
+ * relation was not found.
+ */
+ public void _getIsolatedConnectionWithCompletion() throws StatusException {
+ XInteractionHandler handler = (XInteractionHandler)
+ tEnv.getObjRelation("XCompletedConnection.Handler") ;
+
+ if (handler == null) {
+ log.println("Required object relation not found !") ;
+ tRes.tested("getIsolatedConnectionWithCompletion()", false) ;
+ return ;
+ }
+
+ XConnection con = null ;
+ try {
+ con = oObj.getIsolatedConnectionWithCompletion(handler) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ throw new StatusException("Exception while method calling", e) ;
+ }
+
+ tRes.tested("getIsolatedConnectionWithCompletion()", con != null) ;
+ }
+
+ /**
+ * Test call the method with handler passed as object relation.
+ * Then value returned is checked.<p>
+ * Has OK status if not null value returned. <&nbsp>
+ * FAILED if exception occured, null value returned or object
+ * relation was not found.
+ */
+ public void _getIsolatedConnection() throws StatusException {
+ String[] userSettings = (String[])
+ tEnv.getObjRelation("UserAndPassword") ;
+
+ String user = null;
+ String pwd = null;
+ if (userSettings == null) {
+ log.println("Required object relation not found !") ;
+ }
+
+ if (userSettings[0] != null)
+ user = userSettings[0].equals("")?"<empty>":userSettings[0];
+ else
+ user = "<null>";
+ if (userSettings[1] != null)
+ pwd = userSettings[1].equals("")?"<empty>":userSettings[1];
+ else
+ pwd = "<null>";
+
+ log.println("Testing \"getIsolatedConnection('user', 'password')\"\n" +
+ "with user = '" + user + "'; password = '" + pwd + "'");
+ XConnection con = null ;
+ try {
+ con = oObj.getIsolatedConnection(user, pwd) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ throw new StatusException("Exception while method calling", e) ;
+ }
+
+ tRes.tested("getIsolatedConnection()", con != null) ;
+ }
+} // finish class _XIsolatedConnection
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XParameters.java b/qadevOOo/tests/java/ifc/sdbc/_XParameters.java
new file mode 100644
index 000000000000..e462a9aecab2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XParameters.java
@@ -0,0 +1,574 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XTextInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.DataType;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XParameters;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XParameters</code>
+* interface methods :
+* <ul>
+* <li><code> setNull()</code></li>
+* <li><code> setObjectNull()</code></li>
+* <li><code> setBoolean()</code></li>
+* <li><code> setByte()</code></li>
+* <li><code> setShort()</code></li>
+* <li><code> setInt()</code></li>
+* <li><code> setLong()</code></li>
+* <li><code> setFloat()</code></li>
+* <li><code> setDouble()</code></li>
+* <li><code> setString()</code></li>
+* <li><code> setBytes()</code></li>
+* <li><code> setDate()</code></li>
+* <li><code> setTime()</code></li>
+* <li><code> setTimestamp()</code></li>
+* <li><code> setBinaryStream()</code></li>
+* <li><code> setCharacterStream()</code></li>
+* <li><code> setObject()</code></li>
+* <li><code> setObjectWithInfo()</code></li>
+* <li><code> setRef()</code></li>
+* <li><code> setBlob()</code></li>
+* <li><code> setClob()</code></li>
+* <li><code> setArray()</code></li>
+* <li><code> clearParameters()</code></li>
+* </ul> <p>
+* Object relations required :
+* <ul>
+* <li> <code>'XParameters.ParamValues'</code> : is a
+* <code>java.util.Vector</code> object
+* that contains parameter types and values of the statement. Each
+* element of vector corresponds to appropriate parameter (element
+* with index 0 to parameter #1, 1 -> #2, etc.). <p>
+* The following <code>XParameters</code> methods correspond to classes
+* in Vector :
+* <ul>
+* <li> <code>setBinaryStream</code> -
+* <code>com.sun.star.io.XDataInputStream</code> class. </li>
+* <li> <code>setCharacterStream</code> -
+* <code>com.sun.star.io.XTextInputStream</code> class. </li>
+* <li> <code>setObject</code> -
+* <code>java.lang.Object[]</code> class, the element with
+* index 0 must be used. </li>
+* </ul>
+* Other methods uses types of their arguments (i.e.
+* <code>java.lang.String</code>
+* for <code>setString</code> method, <code>com.sun.star.sdbc.XRef</code>
+* for <code>setRef</code> method).
+* </li>
+* </ul>
+* @see com.sun.star.sdbc.XParameters
+*/
+public class _XParameters extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XParameters oObj = null ;
+
+ private Vector data = null ;
+
+ /**
+ * Gets object relation
+ */
+ public void before() {
+ data = (Vector) tEnv.getObjRelation("XParameters.ParamValues") ;
+ if (data == null) {
+ log.println("!!! Relation not found !!!") ;
+ }
+ }
+
+ /**
+ * Sets String parameter (if exists) to SQL NULL value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setNull() {
+ boolean result = true ;
+ int idx = findParamOfType(String.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setNull(idx, DataType.VARCHAR) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setNull()", result) ;
+ }
+
+ public void _setObjectNull() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setObjectNull()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Sets String parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setString() {
+ boolean result = true ;
+ int idx = findParamOfType(String.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setString(idx, "XParameters") ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setString()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setBoolean() {
+ boolean result = true ;
+ int idx = findParamOfType(Boolean.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setBoolean(idx, true) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setBoolean()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setByte() {
+ boolean result = true ;
+ int idx = findParamOfType(Byte.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setByte(idx, (byte)122) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setByte()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setShort() {
+ boolean result = true ;
+ int idx = findParamOfType(Short.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setShort(idx, (short)133) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setShort()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setInt() {
+ boolean result = true ;
+ int idx = findParamOfType(Integer.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setInt(idx, 13300) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setInt()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setLong() {
+ boolean result = true ;
+ int idx = findParamOfType(Long.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setLong(idx, 13362453) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setLong()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setFloat() {
+ boolean result = true ;
+ int idx = findParamOfType(Float.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setFloat(idx, (float)133.55) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setFloat()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setDouble() {
+ boolean result = true ;
+ int idx = findParamOfType(Double.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setDouble(idx, 133) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setDouble()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setBytes() {
+ boolean result = true ;
+ int idx = findParamOfType(byte[].class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setBytes(idx, new byte[] {5}) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setBytes()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setDate() {
+ boolean result = true ;
+ int idx = findParamOfType(Date.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setDate(
+ idx, new Date ((short)19, (short)01, (short)1979)) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setDate()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setTime() {
+ boolean result = true ;
+ int idx = findParamOfType(Time.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setTime(
+ idx, new Time((short)1,(short)2,(short)3,(short)44)) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setTime()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setTimestamp() {
+ boolean result = true ;
+ int idx = findParamOfType(DateTime.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setTimestamp(idx, new DateTime((short)1,(short)2,(short)3,
+ (short)4, (short)19, (short)01, (short)1979)) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setTimestamp()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setBinaryStream() {
+ boolean result = true ;
+ int idx = findParamOfType(XDataInputStream.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object oStream = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.DataInputStream") ;
+ XInputStream xStream = (XInputStream)UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.setBinaryStream(idx, xStream, 2) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setBinaryStream()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setCharacterStream() {
+ boolean result = true ;
+ int idx = findParamOfType(XTextInputStream.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object oStream = ((XMultiServiceFactory)tParam.getMSF())
+ .createInstance("com.sun.star.io.TextInputStream") ;
+ XInputStream xStream = (XInputStream)UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.setCharacterStream(idx, xStream, 2) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setCharacterStream()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setObject() {
+ boolean result = true ;
+ int idx = findParamOfType(Object[].class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object obj = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.setObject(idx, obj) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setObject()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _setObjectWithInfo() {
+ boolean result = true ;
+ int idx = findParamOfType(Object[].class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object obj = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.setObjectWithInfo(idx, obj, DataType.OBJECT, 0) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setObjectWithInfo()", result) ;
+ }
+
+ public void _setRef() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setRef()", Status.skipped(true)) ;
+ }
+ public void _setBlob() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setBlob()", Status.skipped(true)) ;
+ }
+ public void _setClob() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setClob()", Status.skipped(true)) ;
+ }
+ public void _setArray() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setArray()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Calls method. <p>
+ * Has OK status if no exceptions occured.
+ */
+ public void _clearParameters() {
+ boolean result = true ;
+ try {
+ oObj.clearParameters() ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+
+ tRes.tested("clearParameters()", result) ;
+ }
+
+
+ /**
+ * Finds in relation vector index of parameter of the appropriate
+ * type.
+ */
+ private int findParamOfType(Class clz) {
+
+ for (int i = 0; i < data.size(); i++)
+ if (clz.isInstance(data.get(i))) return i + 1 ;
+ return -1 ;
+ }
+
+} // finish class _XParameters
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XResultSet.java b/qadevOOo/tests/java/ifc/sdbc/_XResultSet.java
new file mode 100644
index 000000000000..69c7d1468b7a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XResultSet.java
@@ -0,0 +1,505 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XResultSet</code>
+* interface methods :
+* <ul>
+* <li><code> next()</code></li>
+* <li><code> isBeforeFirst()</code></li>
+* <li><code> isAfterLast()</code></li>
+* <li><code> isFirst()</code></li>
+* <li><code> isLast()</code></li>
+* <li><code> beforeFirst()</code></li>
+* <li><code> afterLast()</code></li>
+* <li><code> first()</code></li>
+* <li><code> last()</code></li>
+* <li><code> getRow()</code></li>
+* <li><code> absolute()</code></li>
+* <li><code> relative()</code></li>
+* <li><code> previous()</code></li>
+* <li><code> refreshRow()</code></li>
+* <li><code> rowUpdated()</code></li>
+* <li><code> rowInserted()</code></li>
+* <li><code> rowDeleted()</code></li>
+* <li><code> getStatement()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XResultSet.hasStatement'</code> (<b>optional</b> of type
+* <code>Object</code>):
+* it the relation exists than <code>getStatement</code> method
+* must not return <code>null</code> </li>
+* <ul> <p>
+* Test places DB cursor to different positions and then checks
+* its current position. <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.sdbc.XResultSet
+*/
+public class _XResultSet extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSet oObj = null ;
+
+ /**
+ * Positions the cursor to the first row.
+ * Forces method tests to be executed in definite order.
+ */
+ public void before() {
+ try {
+ oObj.last() ;
+ log.println("Totally number of rows is " + oObj.getRow()) ;
+ oObj.first() ;
+ } catch (SQLException e) {
+ log.println("Ignored exception :") ;
+ e.printStackTrace(log);
+ }
+
+ executeMethod("isBeforeFirst()") ;
+ executeMethod("isAfterLast()") ;
+ executeMethod("isLast()") ;
+ executeMethod("isFirst()") ;
+ executeMethod("next()") ;
+ executeMethod("previous()") ;
+ }
+
+ /**
+ * Places the cursor before the first row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _beforeFirst() {
+ try {
+ oObj.beforeFirst() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("beforeFirst()", false) ;
+ return ;
+ }
+ tRes.tested("beforeFirst()", true) ;
+ }
+
+ /**
+ * The method is called immediatly after <code>beforeFirst</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> beforeFirst </code> : to position cursor before
+ * the first row. </li>
+ * </ul>
+ */
+ public void _isBeforeFirst() {
+ requiredMethod("beforeFirst()") ;
+
+ boolean result = true ;
+
+ try {
+ result = oObj.isBeforeFirst() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isBeforeFirst()", result) ;
+ }
+
+ /**
+ * Places the cursor after the last row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _afterLast() {
+ try {
+ oObj.afterLast() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("afterLast()", false) ;
+ return ;
+ }
+ tRes.tested("afterLast()", true) ;
+ }
+
+ /**
+ * The method is called immediatly after <code>afterLast</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code> <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> afterLast </code> : to position cursor after
+ * the last row. </li>
+ * </ul>
+ */
+ public void _isAfterLast() {
+ requiredMethod("afterLast()") ;
+
+ boolean result = true ;
+
+ try {
+ result = oObj.isAfterLast() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isAfterLast()", result) ;
+ }
+
+ /**
+ * Places the cursor on the first row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _first() {
+ try {
+ oObj.first() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("first()", false) ;
+ return ;
+ }
+ tRes.tested("first()", true) ;
+ }
+
+ /**
+ * The method is called immediatly after <code>first</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> first </code> : to position cursor on
+ * the first row. </li>
+ * </ul>
+ */
+ public void _isFirst() {
+ requiredMethod("first()") ;
+
+ boolean result = true ;
+
+ try {
+ result = oObj.isFirst() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isFirst()", result) ;
+ }
+
+ /**
+ * Places the cursor on the last row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _last() {
+ try {
+ oObj.last() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("last()", false) ;
+ return ;
+ }
+ tRes.tested("last()", true) ;
+ }
+
+ /**
+ * The method is called immediatly after <code>last</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> last </code> : to position cursor on
+ * the last row. </li>
+ * </ul>
+ */
+ public void _isLast() {
+ requiredMethod("last()") ;
+ boolean result = true ;
+
+ try {
+ result = oObj.isLast() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isLast()", result) ;
+ }
+
+ /**
+ * Places the cursor on the row number 1. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _absolute() {
+ boolean result = true ;
+
+ try {
+ oObj.absolute(1) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("absolute()", result) ;
+ }
+
+ /**
+ * The method is called immediatly after <code>absolute</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns 1. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> absolute </code> : to position cursor on
+ * the row number 1. </li>
+ * </ul>
+ */
+ public void _getRow() {
+ requiredMethod("absolute()");
+ boolean result = true;
+
+ try {
+ result &= oObj.getRow() == 1;
+ } catch (SQLException e) {
+ log.println("Exception occured:");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getRow()", result);
+ }
+
+ /**
+ * Positions the cursor to the next row. Current row
+ * number is retrieved before and after method call. <p>
+ * Has <b>OK</b> status if current row number increases
+ * by 1 after method call.
+ */
+ public void _next() {
+ boolean result = true ;
+
+ try {
+ int prevRow = oObj.getRow() ;
+ oObj.next() ;
+
+ log.println("Row was : " + prevRow + ", row is : " + oObj.getRow());
+ result &= prevRow + 1 == oObj.getRow() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("next()", result) ;
+ }
+
+ /**
+ * Positions the cursor to the previous row. Current row
+ * number is retrieved before and after method call. <p>
+ * Has <b>OK</b> status if current row number decreases
+ * by 1 after method call.
+ */
+ public void _previous() {
+ boolean result = true ;
+
+ try {
+ int prevRow = oObj.getRow() ;
+ oObj.previous() ;
+
+ log.println("Row was : " + prevRow + ", row is : " + oObj.getRow());
+ result &= prevRow - 1 == oObj.getRow() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("previous()", result) ;
+ }
+
+ /**
+ * Positions the cursor relatively by 2 rows forward.
+ * Current row number is retrieved before and after method call. <p>
+ * Has <b>OK</b> status if current row number increases
+ * by 2 after method call.
+ */
+ public void _relative() {
+ boolean result = true ;
+
+ try {
+ oObj.first() ;
+ int prevRow = oObj.getRow() ;
+ oObj.relative(2) ;
+
+ log.println("Row was : " + prevRow + ", row is : " + oObj.getRow());
+
+ result &= prevRow + 2 == oObj.getRow() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("relative()", result) ;
+ }
+
+ /**
+ * If component supports XRow and XRowUpdate then:
+ * test saves current value of string field, updates string,
+ * calls refreshRow() and checks that value of
+ * string field was refetched from DB
+ * else: just calls method.<p>
+ * Has <b>OK</b> status if no exceptions were thrown and value after
+ * refreshRow() equals to saved value.
+ */
+ public void _refreshRow() {
+ XRowUpdate xRowUpdate = (XRowUpdate)
+ UnoRuntime.queryInterface(XRowUpdate.class, oObj);
+ XRow xRow = (XRow)UnoRuntime.queryInterface(XRow.class, oObj);
+
+ if (xRowUpdate == null || xRow == null) {
+ log.println("Test must be modified because XRow or XRowUpdate is't supported");
+ log.println("Only call method");
+ try {
+ oObj.refreshRow() ;
+ tRes.tested("refreshRow()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("refreshRow()", false) ;
+ }
+ } else {
+ log.println("Testing of refreshRow()...");
+ try {
+ String oldValue = xRow.getString(util.DBTools.TST_STRING);
+ log.println("Old value: " + oldValue);
+ xRowUpdate.updateString(util.DBTools.TST_STRING,
+ "Test method refreshRow");
+ log.println("New value: "
+ + xRow.getString(util.DBTools.TST_STRING));
+ oObj.refreshRow();
+ String valAfterRefresh =
+ xRow.getString(util.DBTools.TST_STRING);
+ log.println("Value after refresh: " + valAfterRefresh);
+ tRes.tested("refreshRow()", valAfterRefresh.equals(oldValue));
+ } catch(SQLException e) {
+ log.println("Exception occured :");
+ e.printStackTrace(log);
+ tRes.tested("refreshRow()", false);
+ }
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _rowUpdated() {
+
+ try {
+ boolean res = oObj.rowUpdated() ;
+ tRes.tested("rowUpdated()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("rowUpdated()", false) ;
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _rowInserted() {
+ try {
+ boolean res = oObj.rowInserted() ;
+ tRes.tested("rowInserted()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("rowInserted()", false) ;
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _rowDeleted() {
+ try {
+ boolean res = oObj.rowDeleted() ;
+ tRes.tested("rowDeleted()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("rowDeleted()", false) ;
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if the statement returned isn't null or
+ * the relation exists that informs that statement absent (e.g. for
+ * MetaData row set).
+ */
+ public void _getStatement() {
+ try {
+ boolean hasStatement =
+ tEnv.getObjRelation("XResultSet.hasStatement") != null ;
+ Object res = oObj.getStatement() ;
+ tRes.tested("getStatement()",
+ (hasStatement && res != null) || !hasStatement) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("getStatement()", false) ;
+ }
+ }
+
+ /**
+ * Moves the cursor to the first row to avoid affection to
+ * the following interfaces tests
+ */
+ public void after() {
+ log.println("Finally moving cursor to the first row ...");
+ try {
+ oObj.first();
+ } catch (SQLException e) {
+ log.println("Exception occured :") ;
+ e.printStackTrace(log) ;
+ }
+ }
+
+} // finish class _XResultSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java b/qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java
new file mode 100644
index 000000000000..84844907f03a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.XResultSetMetaData;
+import com.sun.star.sdbc.XResultSetMetaDataSupplier;
+
+/**
+* Testing <code>com.sun.star.sdbc.XResultSetMetaDataSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getMetaData()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+*/
+public class _XResultSetMetaDataSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSetMetaDataSupplier oObj = null ;
+
+ /**
+ * Tries to get the ResultSetMetaData of the Object</br>
+ * an XResultSetMetaData is returned.</br>
+ * The test is OK if an not null ResultSetMetaData is returned
+ */
+ public void _getMetaData() {
+
+ try {
+ XResultSetMetaData the_Meta = oObj.getMetaData();
+ if (the_Meta == null) log.println("'getMetaData()' returns NULL");
+ tRes.tested("getMetaData()",the_Meta != null);
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception while checking 'createResultSet()'");
+ e.printStackTrace(log);
+ tRes.tested("getMetaData()",false);
+ }
+
+ }
+} // finish class _XResultSetMetaDataSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java b/qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java
new file mode 100644
index 000000000000..db5b2d1599da
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java
@@ -0,0 +1,263 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XResultSetUpdate</code>
+* interface methods :
+* <ul>
+* <li><code> insertRow()</code></li>
+* <li><code> updateRow()</code></li>
+* <li><code> deleteRow()</code></li>
+* <li><code> cancelRowUpdates()</code></li>
+* <li><code> moveToInsertRow()</code></li>
+* <li><code> moveToCurrentRow()</code></li>
+* </ul> <p>
+* The test requires the following object relations :
+* <ul>
+* <li><code>'XResultSetUpdate.UpdateTester'</code>
+* inner <code>UpdateTester</code> interface implementation :
+* is used for checking test results. See interface
+* documentation for more information.</li>
+* </ul>
+* The test is <b>not designed</b> for multithreaded testing. <p>
+* After it's execution environment must be recreated.
+* @see com.sun.star.sdbc.XResultSetUpdate
+*/
+public class _XResultSetUpdate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSetUpdate oObj = null ;
+
+ private UpdateTester tester = null ;
+
+ /**
+ * Interface contains some methods for checking
+ * test results. It's implementation must be passed
+ * to this test.
+ */
+ public static interface UpdateTester {
+ /**
+ * @return Current number of rows.
+ */
+ public int rowCount() throws SQLException ;
+ /**
+ * Updates some data in the current row but doesn't commit
+ * changes to the source.
+ */
+ public void update() throws SQLException ;
+ /**
+ * Checks if updates made by method <code>update</code> was
+ * commited to the data source.
+ */
+ public boolean wasUpdated() throws SQLException ;
+ /**
+ * Returns current row number. Really it must returns value
+ * < 1 if the current position is on insert row.
+ */
+ public int currentRow() throws SQLException ;
+ }
+
+ /**
+ * Retrieves relation.
+ * @throw StatusException If relation not found.
+ */
+ public void before() throws StatusException {
+ tester = (UpdateTester)tEnv.getObjRelation
+ ("XResultSetUpdate.UpdateTester") ;
+
+ if (tester == null) {
+ log.println("Required relation not found !!!") ;
+ throw new StatusException("Required relation not found !!!",
+ new NullPointerException()) ;
+ }
+ }
+
+ /**
+ * Calls method when the cursor position is on existing row.
+ * Checks total number of rows before and after method call. <p>
+ * Executes <code>moveToCurrentRow</code> method test before to
+ * be sure that cursor is not on the insert row. <p>
+ * Has OK status if after method execution number of rows decreased
+ * by one.
+ */
+ public void _deleteRow() {
+ executeMethod("moveToCurrentRow()") ;
+
+ //temporary to avoid SOffice hanging
+ executeMethod("updateRow()") ;
+ executeMethod("cancelRowUpdates()") ;
+
+ boolean result = true ;
+ try {
+ int rowsBefore = tester.rowCount() ;
+ oObj.deleteRow() ;
+ int rowsAfter = tester.rowCount() ;
+
+ result = rowsBefore == rowsAfter + 1 ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("deleteRow()", result) ;
+ }
+
+ /**
+ * Using relation methods first updates some data in the current
+ * row, then calls <code>updateRow</code> method to commit data.
+ * Then checks if the data changed was commited. <p>
+ * Executes <code>moveToCurrentRow</code> method test before to
+ * be sure that cursor is not on the insert row. <p>
+ * Has OK status if data in the source was changed.
+ */
+ public void _updateRow() {
+ executeMethod("moveToCurrentRow()") ;
+ boolean result = true ;
+ try {
+ tester.update() ;
+ oObj.updateRow() ;
+
+ result = tester.wasUpdated() ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("updateRow()", result) ;
+ }
+
+ /**
+ * Using relation methods first updates some data in the current
+ * row, then calls <code>cancelRowUpdates</code> method.
+ * Then checks if the data changed was not commited. <p>
+ * Executes <code>moveToCurrentRow</code> method test before to
+ * be sure that cursor is not on the insert row. <p>
+ * Has OK status if data in the source was not changed.
+ */
+ public void _cancelRowUpdates() {
+ executeMethod("moveToCurrentRow()") ;
+ boolean result = true ;
+ try {
+ tester.update() ;
+ oObj.cancelRowUpdates() ;
+
+ result = !tester.wasUpdated() ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("cancelRowUpdates()", result) ;
+ }
+
+ /**
+ * Tries to move cursor to insert row. Then checks current row
+ * number. It must be less than 1. (0 as I know) <p>
+ */
+ public void _moveToInsertRow() {
+ boolean result = true ;
+ try {
+ oObj.moveToInsertRow() ;
+
+ result = tester.currentRow() < 1 ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("moveToInsertRow()", result) ;
+ }
+
+ /**
+ * Returns cursor from insert row back to previous row. <p>
+ * <code>moveToInsertRow</code> method test must be executed
+ * first for positioning curosr to insert row. <p>
+ * Has OK status if after method call current row number is
+ * above 0.
+ */
+ public void _moveToCurrentRow() {
+ boolean result = true ;
+ try {
+ oObj.moveToCurrentRow() ;
+
+ result = tester.currentRow() >= 1 ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("moveToCurrentRow()", result) ;
+ }
+
+ /**
+ * Moves cursor to the insert row, then calls the method
+ * <code>insertRow</code>. Before and after call stores
+ * total number of rows. <p>
+ * Has OK status if after method call rows number increases
+ * by one.
+ */
+ public void _insertRow() {
+ executeMethod("moveToInsertRow()") ;
+ boolean result = true ;
+ try {
+ oObj.moveToCurrentRow();
+ int rowsBefore = tester.rowCount() ;
+ oObj.moveToInsertRow() ;
+ XRowUpdate rowU = (XRowUpdate)
+ UnoRuntime.queryInterface(XRowUpdate.class, oObj);
+ rowU.updateString(1,"open");
+ rowU.updateInt(2,5);
+ rowU.updateDouble(5,3.4);
+ rowU.updateBoolean(10,true);
+ oObj.insertRow() ;
+ oObj.moveToCurrentRow();
+ int rowsAfter = tester.rowCount() ;
+ result = rowsBefore + 1 == rowsAfter ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ log.println("******"+e.getMessage());
+ result = false ;
+ }
+ tRes.tested("insertRow()", result) ;
+ }
+
+ /**
+ * Forces environment to be recreated.
+ */
+ public void after() {
+ //disposeEnvironment() ;
+ }
+} // finish class _XResultSetUpdate
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XRow.java b/qadevOOo/tests/java/ifc/sdbc/_XRow.java
new file mode 100644
index 000000000000..6c442d0255a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XRow.java
@@ -0,0 +1,544 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XTextInputStream;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XArray;
+import com.sun.star.sdbc.XBlob;
+import com.sun.star.sdbc.XClob;
+import com.sun.star.sdbc.XRef;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+/**
+* Testing <code>com.sun.star.sdbc.XRow</code>
+* interface methods :
+* <ul>
+* <li><code> wasNull()</code></li>
+* <li><code> getString()</code></li>
+* <li><code> getBoolean()</code></li>
+* <li><code> getByte()</code></li>
+* <li><code> getShort()</code></li>
+* <li><code> getInt()</code></li>
+* <li><code> getLong()</code></li>
+* <li><code> getFloat()</code></li>
+* <li><code> getDouble()</code></li>
+* <li><code> getBytes()</code></li>
+* <li><code> getDate()</code></li>
+* <li><code> getTime()</code></li>
+* <li><code> getTimestamp()</code></li>
+* <li><code> getBinaryStream()</code></li>
+* <li><code> getCharacterStream()</code></li>
+* <li><code> getObject()</code></li>
+* <li><code> getRef()</code></li>
+* <li><code> getBlob()</code></li>
+* <li><code> getClob()</code></li>
+* <li><code> getArray()</code></li>
+* </ul> <p>
+*
+* This interface is full tested in XRowUpdate interface test. Here
+* only exceptions checked.
+* <p>
+*
+* Object relations required :
+* <ul>
+* <li> <code>'CurrentRowData'</code> : (may be used in other
+* interface tests) is a <code>java.util.Vector</code> object
+* that contains column types and values in current row. Each
+* element of vector corresponds to appropriate column (element
+* with index 0 to column 1, 1 -> 2, etc.). <p>
+* The following <code>XRow</code> methods correspond to classes
+* in Vector :
+* <ul>
+* <li> <code>getBinaryStream</code> -
+* <code>com.sun.star.io.XDataInputStream</code> class. </li>
+* <li> <code>getCharacterStream</code> -
+* <code>com.sun.star.io.XTextInputStream</code> class. </li>
+* <li> <code>getObject</code> -
+* <code>java.lang.Object[]</code> class, the element with
+* index 0 must be used. </li>
+* </ul>
+* Other methods uses types they return (i.e. <code>java.lang.String</code>
+* for <code>getString</code> method, <code>com.sun.star.sdbc.XRef</code>
+* for <code>getRef</code> method).
+* </li>
+* </ul>
+* @see com.sun.star.sdbc.XRaw
+* @see ifc.sdbc._XRowUpdate
+*/
+public class _XRow extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRow oObj = null ;
+ private Vector data = null ;
+ private boolean notNullRes = true ;
+
+ /**
+ * Retrieves object relation first.
+ */
+ public void before() {
+ data = (Vector) tEnv.getObjRelation("CurrentRowData") ;
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _wasNull() {
+ executeMethod("getString()") ;
+ executeMethod("getBoolean()") ;
+ executeMethod("getByte()") ;
+ executeMethod("getShort()") ;
+ executeMethod("getInt()") ;
+ executeMethod("getLong()") ;
+ executeMethod("getFloat()") ;
+ executeMethod("getDouble()") ;
+ executeMethod("getBytes()") ;
+ executeMethod("getDate()") ;
+ executeMethod("getTime()") ;
+ executeMethod("getTimestamp()") ;
+ executeMethod("getBinaryStream()") ;
+ executeMethod("getCharacterStream()") ;
+ executeMethod("getObject()") ;
+ executeMethod("getRef()") ;
+ executeMethod("getBlob()") ;
+ executeMethod("getClob()") ;
+ executeMethod("getArray()") ;
+
+ tRes.tested("wasNull()", notNullRes) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getString() {
+ boolean result = true ;
+ int col = findColumnOfType(String.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ String getStr = oObj.getString(col) ;
+ //result &= ((String)data.get(col - 1)).equals(getStr) ;
+ //notNullRes &= !oObj.wasNull() ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getString()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getBoolean() {
+ boolean result = true ;
+ int col = findColumnOfType(Boolean.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ boolean getVal = oObj.getBoolean(col) ;
+ //result &= ((Boolean)data.get(col - 1)).booleanValue() == getVal ;
+ //notNullRes &= !oObj.wasNull() ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBoolean()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getByte() {
+ boolean result = true ;
+ int col = findColumnOfType(Byte.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ byte getVal = oObj.getByte(col) ;
+ //result &= ((Byte)data.get(col - 1)).byteValue() == getVal ;
+ //notNullRes &= !oObj.wasNull() ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getByte()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getShort() {
+ boolean result = true ;
+ int col = findColumnOfType(Short.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ short getVal = oObj.getShort(col) ;
+ //result &= ((Short)data.get(col - 1)).shortValue() == getVal ;
+ //notNullRes &= !oObj.wasNull() ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getShort()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getInt() {
+ boolean result = true ;
+ int col = findColumnOfType(Integer.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ int getVal = oObj.getInt(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getInt()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getLong() {
+ boolean result = true ;
+ int col = findColumnOfType(Long.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ long getVal = oObj.getLong(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getLong()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getFloat() {
+ boolean result = true ;
+ int col = findColumnOfType(Float.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ float getVal = oObj.getFloat(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getFloat()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getDouble() {
+ boolean result = true ;
+ int col = findColumnOfType(Double.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ double getVal = oObj.getDouble(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getDouble()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getBytes() {
+ boolean result = true ;
+ int col = findColumnOfType(byte[].class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ byte[] getVal = oObj.getBytes(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBytes()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getDate() {
+ boolean result = true ;
+ int col = findColumnOfType(Date.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Date getVal = oObj.getDate(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getDate()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getTime() {
+ boolean result = true ;
+ int col = findColumnOfType(Time.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Time getVal = oObj.getTime(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getTime()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getTimestamp() {
+ boolean result = true ;
+ int col = findColumnOfType(DateTime.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ DateTime getVal = oObj.getTimestamp(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getTimestamp()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getBinaryStream() {
+ boolean result = true ;
+ int col = findColumnOfType(XDataInputStream.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ XInputStream getVal = oObj.getBinaryStream(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBinaryStream()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getCharacterStream() {
+ boolean result = true ;
+ int col = findColumnOfType(XTextInputStream.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ XInputStream getVal = oObj.getCharacterStream(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getCharacterStream()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getObject() {
+ boolean result = true ;
+ int col = findColumnOfType(Object[].class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object getVal = oObj.getObject(col, null) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getObject()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getRef() {
+ boolean result = true ;
+ int col = findColumnOfType(XRef.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ XRef getVal = oObj.getRef(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getRef()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getBlob() {
+ boolean result = true ;
+ int col = findColumnOfType(XBlob.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ XBlob getVal = oObj.getBlob(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBlob()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getClob() {
+ boolean result = true ;
+ int col = findColumnOfType(XClob.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ XClob getVal = oObj.getClob(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getClob()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occured in method call.
+ */
+ public void _getArray() {
+ boolean result = true ;
+ int col = findColumnOfType(XArray.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ XArray getVal = oObj.getArray(col) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getArray()", result) ;
+ }
+
+ /**
+ * Finds in relation vector index of column of the appropriate
+ * type.
+ */
+ protected int findColumnOfType(Class clz) {
+
+ for (int i = 0; i < data.size(); i++)
+ if (clz.isInstance(data.get(i))) return i + 1 ;
+ return -1 ;
+ }
+} // finish class _XRow
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java b/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java
new file mode 100644
index 000000000000..0bfa4cba2957
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java
@@ -0,0 +1,193 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import ifc.sdb._XRowSetApproveBroadcaster;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.sdbc.XRowSetListener;
+
+/**
+* Testing <code>com.sun.star.sdbc.XRowSet</code>
+* interface methods :
+* <ul>
+* <li><code> execute()</code></li>
+* <li><code> addRowSetListener()</code></li>
+* <li><code> removeRowSetListener()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XRowSetApproveBroadcaster.ApproveChecker'</code>:
+* implementation of inner interface
+* <code>ifs.sdb._XRowSetApproveBroadcaster.RowSetApproveChecker</code>
+* which can move cursor within a rowset, change row, and change the
+* whole rowset. </li>
+* </ul> <p>
+* It is better to recreate the object after test, because of unknown
+* actions made by <code>RowSetApproveChecker</code> interface implementation.
+* @see com.sun.star.sdbc.XRowSet
+* @see ifc.sdb._XRowSetApproveBroadcaster
+*/
+public class _XRowSet extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowSet oObj = null ;
+ private _XRowSetApproveBroadcaster.RowSetApproveChecker checker = null ;
+ private TestListener listener = new TestListener() ;
+
+ private class TestListener implements XRowSetListener {
+ public boolean cursorMoved = false ;
+ public boolean rowChanged = false ;
+ public boolean rowSetChanged = false ;
+
+ public void reset() {
+ cursorMoved = false ;
+ rowChanged = false ;
+ rowSetChanged = false ;
+ }
+ public void cursorMoved(EventObject ev) {
+ cursorMoved = true ;
+ }
+ public void rowChanged(EventObject ev) {
+ rowChanged = true ;
+ }
+ public void rowSetChanged(EventObject ev) {
+ rowSetChanged = true ;
+ }
+ public void disposing(EventObject ev) {}
+ }
+
+ /**
+ * Retrieves relation.
+ * @throw StatusException If relation not found.
+ */
+ public void before() throws StatusException {
+ checker = (_XRowSetApproveBroadcaster.RowSetApproveChecker)
+ tEnv.getObjRelation("XRowSetApproveBroadcaster.ApproveChecker") ;
+
+ if (checker == null) {
+ log.println("Required relation not found !!!") ;
+ throw new StatusException("Required relation not found !!!",
+ new NullPointerException()) ;
+ }
+ }
+
+ /**
+ * Reexecutes the RowSet and checks that listener was called. <p>
+ * Has OK status if no exceptions were rised and listener was called.
+ */
+ public void _execute() {
+ requiredMethod("addRowSetListener()");
+ listener.reset();
+ boolean result = true ;
+
+ try {
+ oObj.execute() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("execute()", listener.rowSetChanged);
+ }
+
+ /**
+ * Adds listener and calls methods moveCursor, changeRow,
+ * changeRowSet of the relation and then checks if appropriate
+ * methods of the listener were called. <p>
+ * Has OK status if all listener methods were called.
+ */
+ public void _addRowSetListener() {
+ boolean result = true ;
+
+ oObj.addRowSetListener(listener) ;
+
+ checker.moveCursor() ;
+ result &= listener.cursorMoved ;
+ if (!listener.cursorMoved)
+ log.println("cursorMoved event wasn't called") ;
+ listener.reset() ;
+
+ checker.changeRow() ;
+ result &= listener.rowChanged ;
+ if (!listener.rowChanged)
+ log.println("rowChanged event wasn't called") ;
+ listener.reset() ;
+
+ checker.changeRowSet() ;
+ result &= listener.rowSetChanged ;
+ if (!listener.rowSetChanged)
+ log.println("rowSetChanged event wasn't called") ;
+ listener.reset() ;
+
+ tRes.tested("addRowSetListener()", result) ;
+ }
+
+ /*
+ * Removes listener added before, and checks for no listener
+ * methods were called on response to rowSet manipulations. <p>
+ * Methods to be successfully completed before :
+ * <ul>
+ * <li> <code>addRowSetListener()</code> </li>
+ * </ul> <p>
+ * Has OK status if no listeners methods were called.
+ */
+ public void _removeRowSetListener() {
+ requiredMethod("addRowSetListener()") ;
+
+ boolean result = true ;
+
+ oObj.removeRowSetListener(listener) ;
+
+ checker.moveCursor() ;
+ result &= !listener.cursorMoved ;
+ listener.reset() ;
+
+ checker.changeRow() ;
+ result &= !listener.rowChanged ;
+ listener.reset() ;
+
+ checker.changeRowSet() ;
+ result &= !listener.rowSetChanged ;
+
+ tRes.tested("removeRowSetListener()", result) ;
+ }
+
+ /**
+ * Disposes test environment.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XRowSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java b/qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java
new file mode 100644
index 000000000000..c22246888441
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java
@@ -0,0 +1,695 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import java.util.Vector;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueComparer;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XTextInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+/**
+* Testing <code>com.sun.star.sdbc.XRowUpdate</code>
+* interface methods :
+* <ul>
+* <li><code> updateNull()</code></li>
+* <li><code> updateBoolean()</code></li>
+* <li><code> updateByte()</code></li>
+* <li><code> updateShort()</code></li>
+* <li><code> updateInt()</code></li>
+* <li><code> updateLong()</code></li>
+* <li><code> updateFloat()</code></li>
+* <li><code> updateDouble()</code></li>
+* <li><code> updateString()</code></li>
+* <li><code> updateBytes()</code></li>
+* <li><code> updateDate()</code></li>
+* <li><code> updateTime()</code></li>
+* <li><code> updateTimestamp()</code></li>
+* <li><code> updateBinaryStream()</code></li>
+* <li><code> updateCharacterStream()</code></li>
+* <li><code> updateObject()</code></li>
+* <li><code> updateNumericObject()</code></li>
+* </ul> <p>
+* Object relations required :
+* <ul>
+* <li> <code>'CurrentRowData'</code> : (may be used in other
+* interface tests) is a <code>java.util.Vector</code> object
+* that contains column types and values in current row. Each
+* element of vector corresponds to appropriate column (element
+* with index 0 to column 1, 1 -> 2, etc.). <p>
+* The following <code>XRowUpdate</code> methods correspond to classes
+* in Vector :
+* <ul>
+* <li> <code>setBinaryStream</code> -
+* <code>com.sun.star.io.XDataInputStream</code> class. </li>
+* <li> <code>setCharacterStream</code> -
+* <code>com.sun.star.io.XTextInputStream</code> class. </li>
+* <li> <code>setObject</code> -
+* <code>java.lang.Object[]</code> class, the element with
+* index 0 must be used. </li>
+* </ul>
+* Other methods uses types they return (i.e. <code>java.lang.String</code>
+* for <code>setString</code> method, <code>com.sun.star.sdbc.XRef</code>
+* for <code>setRef</code> method).
+* </li>
+* <li> <code>'XRowUpdate.XRow'</code> : implementation of <code>
+* com.sun.star.sdbc.XRow</code> interface for checking updated data.
+* </li>
+* </ul> <p>
+* The test <b>damages</b> the object, so it is recreated finally.
+* @see com.sun.star.sdbc.XRowUpdate
+* @see com.sun.star.sdbc.XRow
+*/
+public class _XRowUpdate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowUpdate oObj = null ;
+
+ private Vector rowData = null ;
+ private XRow row = null ;
+
+ /**
+ * Gets relations.
+ */
+ public void before() {
+ rowData = (Vector) tEnv.getObjRelation("CurrentRowData") ;
+ if (rowData == null) {
+ log.println("!!! 'CurrentRowData' relation not found !!!") ;
+ }
+ row = (XRow) tEnv.getObjRelation("XRowUpdate.XRow") ;
+ if (rowData == null) {
+ log.println("!!! 'XRowUpdate.XRow' relation not found !!!") ;
+ }
+ }
+
+ /**
+ * Try to set NULL value for each column. Then using <code>XRow</code>
+ * relation check if NULL was really set. <p>
+ * Has OK status if for every column NULL value was successfully set.
+ * @see com.sun.star.sdbc.XRow
+ */
+ public void _updateNull() {
+ boolean result = true ;
+ for (int i = 0; i < rowData.size(); i++) {
+ if (rowData.get(i) == null) continue ;
+ log.print(" Setting NULL at column #" + (i+1) + " ...") ;
+ try {
+ oObj.updateNull(i + 1) ;
+
+ if (rowData.get(i) instanceof String) row.getString(i + 1) ;
+ if (rowData.get(i) instanceof Boolean) row.getBoolean(i + 1) ;
+ if (rowData.get(i) instanceof Byte) row.getByte(i + 1) ;
+ if (rowData.get(i) instanceof Short) row.getShort(i + 1) ;
+ if (rowData.get(i) instanceof Integer) row.getInt(i + 1) ;
+ if (rowData.get(i) instanceof Long) row.getLong(i + 1) ;
+ if (rowData.get(i) instanceof Float) row.getFloat(i + 1) ;
+ if (rowData.get(i) instanceof Double) row.getDouble(i + 1) ;
+ if (rowData.get(i) instanceof byte[]) row.getBytes(i + 1) ;
+ if (rowData.get(i) instanceof Date) row.getDate(i + 1) ;
+ if (rowData.get(i) instanceof Time) row.getTime(i + 1) ;
+ if (rowData.get(i) instanceof DateTime)
+ row.getTimestamp(i + 1) ;
+ if (rowData.get(i) instanceof XDataInputStream)
+ row.getBinaryStream(i + 1) ;
+ if (rowData.get(i) instanceof XTextInputStream)
+ row.getCharacterStream(i + 1) ;
+ //if (rowData.get(i) instanceof Object[]) row.getObject(i) ;
+
+ if (!row.wasNull()) {
+ log.println("FAILED") ;
+ log.println("Not NULL was returned !!!") ;
+ result = false ;
+ } else {
+ log.println("OK") ;
+ }
+ } catch (SQLException e) {
+ log.println("FAILED") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("updateNull()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateBoolean() {
+ boolean result = true ;
+ int idx = findColumnOfType(Boolean.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateBoolean()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ boolean newVal = !row.getBoolean(idx) ;
+ oObj.updateBoolean(idx, newVal) ;
+ boolean getVal = row.getBoolean(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateBoolean()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateByte() {
+ boolean result = true ;
+ int idx = findColumnOfType(Byte.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateByte()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ byte newVal = (byte) (row.getByte(idx) + 1) ;
+ oObj.updateByte(idx, newVal) ;
+ byte getVal = row.getByte(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateByte()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateShort() {
+ boolean result = true ;
+ int idx = findColumnOfType(Short.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateShort()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ short newVal = (short) (row.getShort(idx) + 1) ;
+ oObj.updateShort(idx, newVal) ;
+ short getVal = row.getShort(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateShort()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateInt() {
+ boolean result = true ;
+ int idx = findColumnOfType(Integer.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateInt()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ int newVal = 1 + row.getInt(idx) ;
+ oObj.updateInt(idx, newVal) ;
+ int getVal = row.getInt(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateInt()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateLong() {
+ boolean result = true ;
+ int idx = findColumnOfType(Long.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateLong()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ long newVal = 1 + row.getLong(idx) ;
+ oObj.updateLong(idx, newVal) ;
+ long getVal = row.getLong(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateLong()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateFloat() {
+ boolean result = true ;
+ int idx = findColumnOfType(Float.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateFloat()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ float newVal = (float) (1.1 + row.getFloat(idx));
+ oObj.updateFloat(idx, newVal) ;
+ float getVal = row.getFloat(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateFloat()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateDouble() {
+ boolean result = true ;
+ int idx = findColumnOfType(Double.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateDouble()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ double newVal = 1.1 + row.getDouble(idx) ;
+ oObj.updateDouble(idx, newVal) ;
+ double getVal = row.getDouble(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateDouble()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateString() {
+ boolean result = true ;
+ int idx = findColumnOfType(String.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateString()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ String newVal = "_" + row.getString(idx) ;
+ oObj.updateString(idx, newVal) ;
+ String getVal = row.getString(idx) ;
+ result = newVal.equals(getVal) ;
+ log.println("New value = '" + newVal + "', get value = '"
+ + getVal + "'") ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateString()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateBytes() {
+ boolean result = true ;
+ int idx = findColumnOfType(byte[].class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateBytes()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ byte[] newVal = row.getBytes(idx) ;
+ if (newVal == null || newVal.length == 0) {
+ newVal = new byte[] {34, 111, 98} ;
+ } else {
+ newVal = new byte[] {(byte) (newVal[0] + 1), 111, 98} ;
+ }
+ oObj.updateBytes(idx, newVal) ;
+ byte[] getVal = row.getBytes(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateBytes()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateDate() {
+ boolean result = true ;
+ int idx = findColumnOfType(Date.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateDate()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Date newVal = row.getDate(idx) ;
+ newVal.Year ++ ;
+ oObj.updateDate(idx, newVal) ;
+ Date getVal = row.getDate(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateDate()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateTime() {
+ boolean result = true ;
+ int idx = findColumnOfType(Time.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateTime()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Time newVal = row.getTime(idx) ;
+ newVal.Seconds ++ ;
+ oObj.updateTime(idx, newVal) ;
+ Time getVal = row.getTime(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateTime()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateTimestamp() {
+ boolean result = true ;
+ int idx = findColumnOfType(DateTime.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateTimestamp()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ DateTime newVal = row.getTimestamp(idx) ;
+ newVal.Year ++ ;
+ oObj.updateTimestamp(idx, newVal) ;
+ DateTime getVal = row.getTimestamp(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateTimestamp()", result) ;
+ }
+
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateBinaryStream() {
+ boolean result = true ;
+ int idx = findColumnOfType(XDataInputStream.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateBinaryStream()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object oStream = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.DataInputStream") ;
+ XInputStream newVal = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.updateBinaryStream(idx, newVal, 0) ;
+ XInputStream getVal = row.getBinaryStream(idx) ;
+ result = UnoRuntime.areSame(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateBinaryStream()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateCharacterStream() {
+ boolean result = true ;
+ int idx = findColumnOfType(XTextInputStream.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateCharacterStream()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object oStream = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.TextInputStream") ;
+ XInputStream newVal = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.updateCharacterStream(idx, newVal, 0) ;
+ XInputStream getVal = row.getCharacterStream(idx) ;
+ result = UnoRuntime.areSame(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateCharacterStream()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateObject() {
+ boolean result = true ;
+ int idx = findColumnOfType(Object[].class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateObject()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object newVal = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.updateObject(idx, newVal) ;
+ //Object getVal = row.getObject(idx) ;
+ //result = UnoRuntime.areSame(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateObject()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateNumericObject() {
+ boolean result = true ;
+ int idx = findColumnOfType(Object[].class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateNumericObject()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object newVal = ((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.updateNumericObject(idx, newVal, 0) ;
+ //Object getVal = row.getObject(idx) ;
+ //result = UnoRuntime.areSame(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateNumericObject()", result) ;
+ }
+
+ /**
+ * Finds in relation vector index of column of the appropriate
+ * type.
+ */
+ protected int findColumnOfType(Class clz) {
+
+ for (int i = 0; i < rowData.size(); i++)
+ if (clz.isInstance(rowData.get(i))) return i + 1 ;
+ return -1 ;
+ }
+
+ /**
+ * Disposes environment.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XRow
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java b/qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java
new file mode 100644
index 000000000000..cbca4c600a4a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * 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.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.DBTools;
+import util.utils;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.sdbc.XWarningsSupplier;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbc.XWarningsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getWarnings()</code></li>
+* <li><code> clearWarnings()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XWarningsSupplier
+*/
+public class _XWarningsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XWarningsSupplier oObj = null ;
+
+ /**
+ * Updates value of int column by value '9999999999999999'.
+ * Calls method and checks returned value. <p>
+ * Has OK status if the method return not empty value.
+ */
+ public void _getWarnings() {
+ final XRowUpdate rowUpdate = UnoRuntime.queryInterface(XRowUpdate.class, oObj);
+ final XResultSetUpdate resultSetUpdate = UnoRuntime.queryInterface(XResultSetUpdate.class, rowUpdate);
+ final XRow row = UnoRuntime.queryInterface(XRow.class, resultSetUpdate);
+ if ( row == null)
+ throw new StatusException(Status.failed("Test must be modified"));
+
+ // not sure what the below test was intended to test, but it actually fails with an SQLException (which is
+ // correct for what is done there), and thus makes the complete interface test fail (which is not correct)
+ // So, for the moment, just let the test succeed all the time - until issue #i84235# is fixed
+
+ if ( false )
+ {
+ int oldVal = 0, newVal = 0;
+ String valToSet = "9999999999999999";
+ try
+ {
+ oldVal = row.getInt(DBTools.TST_INT);
+ rowUpdate.updateString(DBTools.TST_INT, valToSet);
+ resultSetUpdate.updateRow();
+ newVal = row.getInt(DBTools.TST_INT);
+ }
+ catch(com.sun.star.sdbc.SQLException e)
+ {
+ log.println("Unexpected SQL exception");
+ e.printStackTrace(log);
+ tRes.tested("getWarnings()", false);
+ return;
+ }
+
+ log.println("Old INT value: " + oldVal);
+ log.println("Value that was set: " + valToSet);
+ log.println("New INT value: " + newVal);
+
+ boolean res = false;
+
+ try
+ {
+ Object warns = oObj.getWarnings();
+ res = (!utils.isVoid(warns));
+ }
+ catch (SQLException e)
+ {
+ log.println("Exception occured :");
+ e.printStackTrace(log);
+ tRes.tested("getWarnings()", res);
+ return;
+ }
+ tRes.tested("getWarnings()", res);
+ }
+ else
+ tRes.tested( "getWarnings()", true );
+ }
+
+ /**
+ * Calls method and checks value returned by the method
+ * <code>getWarnings()</code>. <p>
+ * Has OK status if the method <code>getWarnings()</code> return void value.
+ */
+ public void _clearWarnings() {
+ executeMethod("getWarnings()");
+ boolean res = false;
+
+ try {
+ oObj.clearWarnings();
+ Object warns = oObj.getWarnings();
+ res = (utils.isVoid(warns));
+ } catch (SQLException e) {
+ log.println("Exception occured :");
+ e.printStackTrace(log);
+ tRes.tested("clearWarnings()", res);
+ return;
+ }
+
+ tRes.tested("clearWarnings()", res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java b/qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java
new file mode 100644
index 000000000000..2e8cbaf4b006
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sdbcx.ResultSet</code>
+* service properties :
+* <ul>
+* <li><code> IsBookmarkable</code></li>
+* <li><code> CanUpdateInsertedRows</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sdbcx.ResultSet
+*/
+public class _ResultSet extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java b/qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java
new file mode 100644
index 000000000000..61fa1c2a145b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdbcx.XColumnsSupplier;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XColumnsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getColumns()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XColumnsSupplier
+*/
+public class _XColumnsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XColumnsSupplier oObj = null ;
+
+ /**
+ * Has OK status if method returns not null
+ * <code>XNameAccess</code> object, FAILED otherwise.
+ */
+ public void _getColumns() {
+
+ XNameAccess cols = oObj.getColumns() ;
+
+ /*
+ String[] colNames = cols.getElementNames() ;
+
+ log.println("Column names:") ;
+ for (int i =0 ; i < colNames.length; i++) {
+ log.println(" " + colNames[i]) ;
+ }
+
+ XServiceInfo info = null ;
+ try {
+ info = (XServiceInfo) UnoRuntime.queryInterface
+ (XServiceInfo.class, cols.getByName("colNames[0]")) ;
+ } catch (com.sun.star.uno.Exception e) {}
+
+ log.println("Support : " +
+ info.supportsService("com.sun.star.sdbcx.Column")) ;
+ */
+
+ tRes.tested("getColumns()", cols != null) ;
+ }
+
+} // finish class _XColumnsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java b/qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java
new file mode 100644
index 000000000000..d657aac3f587
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.sdbcx.XCreateCatalog;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XCreateCatalog</code>
+* interface methods :
+* <ul>
+* <li><code>createCatalog()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XCreateCatalog
+*/
+public class _XCreateCatalog extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XCreateCatalog oObj = null;
+
+ public void _createCatalog() {
+ tRes.tested("createCatalog()", Status.skipped(false));
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java b/qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java
new file mode 100644
index 000000000000..11f68d19ce86
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDriver;
+import com.sun.star.sdbcx.XDataDefinitionSupplier;
+import com.sun.star.sdbcx.XTablesSupplier;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XDataDefinitionSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getDataDefinitionByConnection()</code></li>
+* <li><code> getDataDefinitionByURL()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XDriver.URL'</code>:
+* is the URL of the database to which to connect</code></li>
+* <li><code>'XDriver.UNSUITABLE_URL'</code>:
+* the wrong kind of URL to connect using given driver</li>
+* <li><code>'XDriver.INFO'</code>:
+* a list of arbitrary string tag/value pairs as connection arguments</li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XDataDefinitionSupplier
+*/
+public class _XDataDefinitionSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XDataDefinitionSupplier oObj = null ;
+
+ String url = null;
+ String wrongUrl = null;
+ PropertyValue[] info = null;
+
+ /**
+ * Retrieves relations.
+ * @throw StatusException If any relation not found.
+ */
+ protected void before() {
+ url = (String)tEnv.getObjRelation("XDriver.URL");
+ if (url == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.URL'"));
+ }
+ wrongUrl = (String)tEnv.getObjRelation("XDriver.UNSUITABLE_URL");
+ if (wrongUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.WRONG_URL'"));
+ }
+ info = (PropertyValue[])tEnv.getObjRelation("XDriver.INFO");
+ if (info == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.INFO'"));
+ }
+ }
+
+ XConnection connection = null;
+
+ /**
+ * Obtains the connection to url(relation <code>'XDriver.URL'</code>)
+ * with info(relation <code>'XDriver.INFO'</code>).
+ * Calls the method with obtained connection and checks that returned value
+ * isn't null.
+ */
+ public void _getDataDefinitionByConnection() {
+ boolean bRes = true;
+ XDriver xDriver = (XDriver)
+ UnoRuntime.queryInterface(XDriver.class, oObj);
+ if (xDriver == null) {
+ log.println("The XDriver interface isn't supported");
+ tRes.tested("getDataDefinitionByConnection()",
+ Status.skipped(false));
+ return;
+ }
+ try {
+ connection = xDriver.connect(url, info);
+ } catch(com.sun.star.sdbc.SQLException e) {
+ e.printStackTrace(log);
+ bRes = false;
+ }
+ if (connection == null) {
+ log.println("Couldn't get connection to specified url using " +
+ "specified info");
+ tRes.tested("getDataDefinitionByConnection()",
+ Status.skipped(false));
+ return;
+ }
+ XTablesSupplier xTS = null;
+ try {
+ log.println("getDataDefinitionByConnection(connection)");
+ xTS = oObj.getDataDefinitionByConnection(connection);
+ bRes = xTS != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception: " + e);
+ bRes = false;
+ }
+
+ try {
+ log.println("getDataDefinitionByConnection(null)");
+ xTS = oObj.getDataDefinitionByConnection(null);
+ bRes = xTS == null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Exception: " + e);
+ bRes = true;
+ }
+
+ tRes.tested("getDataDefinitionByConnection()", bRes);
+ }
+
+ /**
+ * Calls the method with url and info obtained from the relations
+ * <code>XDriver.URL</code> and <code>XDriver.INFO</code>.
+ * Checks that retuned value isn't null.
+ * Then calls the method with the unsuitable url obtained from the relation
+ * <code>XDriver.UNSUITABLE_URL</code> and checks that SQLException
+ * exception was thrown.
+ */
+ public void _getDataDefinitionByURL() {
+ boolean bRes = false;
+ XTablesSupplier xTS = null;
+
+ try {
+ log.println("getDataDefinitionByURL('" + url + "')");
+ xTS = oObj.getDataDefinitionByURL(url, info);
+ bRes = xTS != null;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception: " + e);
+ bRes = false;
+ }
+
+ try {
+ log.println("getDataDefinitionByURL('" + wrongUrl + "')");
+ xTS = oObj.getDataDefinitionByURL(wrongUrl, info);
+ log.println("Exception was expected");
+ bRes = false;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Expected exception");
+ bRes &= true;
+ }
+
+ tRes.tested("getDataDefinitionByURL()", true);
+
+ }
+} // finish class _XDataDefinitionSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java b/qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java
new file mode 100644
index 000000000000..230e513e1b2c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbcx.XDeleteRows;
+import com.sun.star.sdbcx.XRowLocate;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XDeleteRows</code>
+* interface methods :
+* <ul>
+* <li><code> deleteRows()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XDeleteRows
+*/
+public class _XDeleteRows extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDeleteRows oObj = null ;
+
+ /**
+ * Retrieves bookmark using XRowLocate and deletes
+ * row pointed by this bookmark. <p>
+ * Has OK status if number of rows after deleting is less than before
+ * and no exception rizes while method call, FAILED otherwise. <p>
+ */
+ public void _deleteRows() {
+ XRowLocate xRowLocate = (XRowLocate)
+ UnoRuntime.queryInterface(XRowLocate.class, oObj);
+ XResultSet xResultSet = (XResultSet)
+ UnoRuntime.queryInterface(XResultSet.class, oObj);
+ if (xRowLocate == null || xResultSet == null) {
+ log.println("The test must be modified according to "+
+ "component testcase");
+ throw new StatusException(Status.failed(
+ "The component doesn't support one of the "+
+ "required interfaces"));
+ }
+
+ int rowsBefore = 0, rowsAfter = 0;
+ Object bkmrk = null;
+ try {
+ xResultSet.last();
+ rowsBefore = xResultSet.getRow();
+ xResultSet.first();
+ bkmrk = xRowLocate.getBookmark();
+ oObj.deleteRows(new Object[] {bkmrk});
+ xResultSet.last();
+ rowsAfter = xResultSet.getRow();
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("SQLException:" + e);
+ tRes.tested("deleteRows()", false);
+ return;
+ }
+
+ log.println("Rows before: " + rowsBefore + ", after: " + rowsAfter);
+ tRes.tested("deleteRows()", rowsBefore - 1 == rowsAfter);
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+} // finish class _XDeleteRows
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java b/qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java
new file mode 100644
index 000000000000..f3135c15e3bf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.sdbcx.XDropCatalog;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XDropCatalog</code>
+* interface methods :
+* <ul>
+* <li><code>dropCatalog()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XDropCatalog
+*/
+public class _XDropCatalog extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDropCatalog oObj = null;
+
+ public void _dropCatalog() {
+ tRes.tested("dropCatalog()", Status.skipped(false));
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java b/qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java
new file mode 100644
index 000000000000..6c8bca02ada1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java
@@ -0,0 +1,234 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbcx.XRowLocate;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XRowLocate</code>
+* interface methods :
+* <ul>
+* <li><code> getBookmark()</code></li>
+* <li><code> moveToBookmark()</code></li>
+* <li><code> moveRelativeToBookmark()</code></li>
+* <li><code> compareBookmarks()</code></li>
+* <li><code> hasOrderedBookmarks()</code></li>
+* <li><code> hashBookmark()</code></li>
+* </ul> <p>
+* Object relations needed :
+* <ul>
+* <li> <code>XRowLocate.HasOrderedBookmarks</code> <b>(optional)</b>:
+* <code>Boolean</code> type. If information about bookmark ordering
+* of object tested exists it placed in this relation.</li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XRowLocate
+*/
+public class _XRowLocate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowLocate oObj = null ;
+
+ private Object bookmark1 = null, bookmark2 = null ;
+
+ /**
+ * Gets the bookmark of the current cursor position and
+ * stores it for other methods use.
+ * Has OK status if method returns not null
+ * <code>XNameAccess</code> object, FAILED otherwise.
+ */
+ public void _getBookmark() {
+
+ try {
+ bookmark1 = oObj.getBookmark() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :" + e) ;
+ }
+
+ tRes.tested("getBookmark()", bookmark1 != null) ;
+ }
+
+ /**
+ * Moves to bookmark previously created by method <code>_getBookmark</code>
+ * then creates new bookmark and compare it to the first one. The
+ * row difference must be equal to 0. <p>
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have a bookmark to move to.</li>
+ * </ul>
+ * Method tests to be executed before :
+ * <ul>
+ * <li> <code>moveRelativeToBookmark()</code> : to move the cursor from
+ * the initial position, to check if it returns back.</li>
+ * </ul> <p>
+ * Has OK status difference between positions of bookmarks (where
+ * cursor was moved to and created new one) equals to 0 and no
+ * exceptions occured, FAILED otherwise.
+ */
+ public void _moveToBookmark() {
+ requiredMethod("getBookmark()") ;
+ executeMethod("moveRelativeToBookmark()") ;
+
+ int comparison = -1 ;
+ Object tmpBookmark = null ;
+ try {
+ synchronized(oObj) {
+ oObj.moveToBookmark(bookmark1) ;
+ tmpBookmark = oObj.getBookmark() ;
+ }
+ comparison = oObj.compareBookmarks(bookmark1, tmpBookmark) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :" + e) ;
+ }
+
+ tRes.tested("moveToBookmark()", comparison == 0) ;
+ }
+
+ /**
+ * Moves the cursor to the position with offset 2 from the
+ * bookmark created by <code>_getBookmark()</code> method and
+ * then creates a bookmark of new position. <p>
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have a bookmark to move to.</li>
+ * </ul> <p>
+ * Has OK status if no exceptions occured while method call.
+ */
+ public void _moveRelativeToBookmark() {
+ requiredMethod("getBookmark()") ;
+
+ boolean result = true ;
+ try {
+ synchronized (oObj) {
+ oObj.moveRelativeToBookmark(bookmark1, 1) ;
+ bookmark2 = oObj.getBookmark() ;
+ }
+ } catch (SQLException e) {
+ log.println("Exception occured :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("moveRelativeToBookmark()", result) ;
+ }
+
+ /**
+ * Compares bookmarks created in <code>getBookmark()</code> and
+ * <code>moveRelativeToBokkmark()</code> methods.
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have first bookmark to compare.</li>
+ * <li> <code>moveRelativeToBookmark()</code> : to have second
+ * bookmark to compare.</li>
+ * </ul> <p>
+ * Has OK status if difference in bookmark positions equals to 2.
+ */
+ public void _compareBookmarks() {
+ requiredMethod("getBookmark()") ;
+ requiredMethod("moveRelativeToBookmark()") ;
+
+ int comparison = 0 ;
+ int comparison1 = 0 ;
+ try {
+ comparison = oObj.compareBookmarks(bookmark1, bookmark2) ;
+ comparison1 = oObj.compareBookmarks(bookmark1, bookmark1) ;
+ } catch (SQLException e) {
+ log.println("Exception occured :" + e) ;
+ }
+
+ if (comparison != -1) {
+ log.println("! Wrong compare number :" + comparison) ;
+ }
+
+ tRes.tested("compareBookmarks()", comparison == -1 && comparison1 == 0) ;
+ }
+
+ /**
+ * Calls method. If relation is not found, returned result is not
+ * checked. <p>
+ * Has OK status if method returned right value (in case if relation
+ * and value to compare to exist), or just successfully returned
+ * (in case of no relation).
+ */
+ public void _hasOrderedBookmarks() {
+ boolean result = true ;
+ boolean res = true ;
+
+ // Optional relation
+ Boolean has = (Boolean) tEnv.getObjRelation
+ ("XRowLocate.HasOrderedBookmarks") ;
+
+ try {
+ res = oObj.hasOrderedBookmarks() ;
+ } catch (SQLException e) {
+ log.println("Exception occured :" + e) ;
+ result = false ;
+ }
+
+ if (has == null) {
+ log.println("Optional relation not found - result not checked") ;
+ } else {
+ result &= res == has.booleanValue() ;
+ }
+
+ tRes.tested("hasOrderedBookmarks()", result) ;
+ }
+
+ /**
+ * Gets hash values of two previously created bookmarks of different
+ * cursor positions and compares them. <p>
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have first bookmark.</li>
+ * <li> <code>moveRelativeToBookmark()</code> : to have second
+ * bookmark.</li>
+ * </ul> <p>
+ * Has OK status if hash values of two bookmarks are different.
+ */
+ public void _hashBookmark() {
+ requiredMethod("getBookmark()") ;
+ requiredMethod("moveRelativeToBookmark()") ;
+
+ boolean result = true ;
+ try {
+ int hash1 = oObj.hashBookmark(bookmark1) ;
+ int hash2 = oObj.hashBookmark(bookmark2) ;
+ log.println("1st hash = " + hash1 + ", 2nd = " + hash2) ;
+
+ result = hash1 != hash2 ;
+ } catch (SQLException e) {
+ log.println("Exception occured :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("hashBookmark()", result) ;
+ }
+
+} // finish class _XRowLocate
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java b/qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java
new file mode 100644
index 000000000000..c3318d2f2fa4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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.sdbcx;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdbcx.XTablesSupplier;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XTablesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getTables()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XTablesSupplier
+*/
+public class _XTablesSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XTablesSupplier oObj = null ;
+
+ /**
+ * Has OK status if method returns not null
+ * <code>XNameAccess</code> object, FAILED otherwise.
+ */
+ public void _getTables() {
+ boolean result = true ;
+
+ XNameAccess tabs = oObj.getTables() ;
+
+
+ String[] tabNames = tabs.getElementNames() ;
+
+ log.println("Table names:") ;
+ for (int i =0 ; i < tabNames.length; i++) {
+ log.println(" " + tabNames[i]) ;
+ }
+
+ XServiceInfo info = null ;
+ try {
+ info = (XServiceInfo) UnoRuntime.queryInterface
+ (XServiceInfo.class, tabs.getByName(tabNames[0])) ;
+ } catch (com.sun.star.uno.Exception e) {}
+
+ log.println("Support : " +
+ info.supportsService("com.sun.star.sdbcx.Table")) ;
+
+
+ tRes.tested("getTables()", tabs != null) ;
+ }
+
+} // finish class _XTablesSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_CellAreaLink.java b/qadevOOo/tests/java/ifc/sheet/_CellAreaLink.java
new file mode 100644
index 000000000000..cef1fcd32153
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_CellAreaLink.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.CellAreaLink</code>
+* service properties :
+* <ul>
+* <li><code> Url</code></li>
+* <li><code> Filter</code></li>
+* <li><code> FilterOptions</code></li>
+* <li><code> RefreshDelay</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.CellAreaLink
+*/
+public class _CellAreaLink extends MultiPropertyTest {
+
+} // finish class _CellAreaLink
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_DataPilotField.java b/qadevOOo/tests/java/ifc/sheet/_DataPilotField.java
new file mode 100644
index 000000000000..272c49798d54
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_DataPilotField.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.DataPilotFieldAutoShowInfo;
+import com.sun.star.sheet.DataPilotFieldLayoutInfo;
+import com.sun.star.sheet.DataPilotFieldReference;
+import com.sun.star.sheet.DataPilotFieldSortInfo;
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.DataPilotField</code>
+* service properties :
+* <ul>
+* <li><code> Orientation</code></li>
+* <li><code> Function</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.DataPilotField
+*/
+public class _DataPilotField extends MultiPropertyTest {
+
+ /**
+ *This class is destined to custom test of property <code>SortInfo</code>.
+ */
+ protected PropertyTester SortInfoTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ DataPilotFieldSortInfo sortInfo = new DataPilotFieldSortInfo();
+ sortInfo.Mode = com.sun.star.sheet.DataPilotFieldSortMode.MANUAL;
+ sortInfo.IsAscending = false;
+ sortInfo.Field = "COL1";
+ log.println("Having Value and returning a new one");
+ return sortInfo.equals(oldValue) ? null : sortInfo;
+ }
+ };
+
+ /**
+ * Test property <code>SortInfo</code> using custom <code>PropertyTest</code>.
+ */
+ public void _SortInfo() {
+ testProperty("SortInfo", SortInfoTester);
+ }
+
+ public void _HasSortInfo() {
+ requiredMethod("SortInfo");
+ testProperty("HasSortInfo");
+ }
+
+ /**
+ *This class is destined to custom test of property <code>LayoutInfo</code>.
+ */
+ protected PropertyTester LayoutInfoTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ DataPilotFieldLayoutInfo layoutInfo = new DataPilotFieldLayoutInfo();
+ layoutInfo.LayoutMode = com.sun.star.sheet.DataPilotFieldLayoutMode.OUTLINE_SUBTOTALS_BOTTOM;
+ layoutInfo.AddEmptyLines = true;
+ log.println("Having Value and returning a new one");
+ return layoutInfo.equals(oldValue) ? null : layoutInfo;
+ }
+ };
+
+ /**
+ * Test property <code>LayoutInfo</code> using custom <code>PropertyTest</code>.
+ */
+ public void _LayoutInfo() {
+ testProperty("LayoutInfo", LayoutInfoTester);
+ }
+
+ public void _HasLayoutInfo() {
+ requiredMethod("LayoutInfo");
+ testProperty("HasLayoutInfo");
+ }
+
+ /**
+ *This class is destined to custom test of property <code>AutoShowInfo</code>.
+ */
+ protected PropertyTester AutoShowInfoTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ DataPilotFieldAutoShowInfo AutoShowInfo = new DataPilotFieldAutoShowInfo();
+ AutoShowInfo.DataField = "Col1";
+ AutoShowInfo.IsEnabled = true;
+ log.println("Having Value and returning a new one");
+ return AutoShowInfo.equals(oldValue) ? null : AutoShowInfo;
+ }
+ };
+
+ /**
+ * Test property <code>AutoShowInfo</code> using custom <code>PropertyTest</code>.
+ */
+ public void _AutoShowInfo() {
+ testProperty("AutoShowInfo", AutoShowInfoTester);
+ }
+
+ public void _HasAutoShowInfo() {
+ requiredMethod("AutoShowInfo");
+ testProperty("HasAutoShowInfo");
+ }
+
+ /**
+ *This class is destined to custom test of property <code>Reference</code>.
+ */
+ protected PropertyTester ReferenceTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ DataPilotFieldReference Reference = new DataPilotFieldReference();
+ Reference.ReferenceField="Col1";
+ Reference.ReferenceItemType = com.sun.star.sheet.DataPilotFieldReferenceItemType.NAMED;
+ log.println("Having Value and returning a new one");
+ return Reference.equals(oldValue) ? null : Reference;
+ }
+ };
+
+ /**
+ * Test property <code>Reference</code> using custom <code>PropertyTest</code>.
+ */
+ public void _Reference() {
+ testProperty("Reference", ReferenceTester);
+ }
+
+ public void _HasReference() {
+ requiredMethod("Reference");
+ testProperty("HasReference");
+ }
+
+ /*
+ * this property can only set a true value to false, fo ungrouping purposes
+ */
+ public void _IsGroupField() {
+ boolean result = true;
+ try {
+ Boolean propValue = (Boolean) oObj.getPropertyValue ("IsGroupField");
+ if (propValue.booleanValue ()) {
+ oObj.setPropertyValue ("IsGroupField", Boolean.FALSE);
+ Boolean propV = (Boolean) oObj.getPropertyValue ("IsGroupField");
+ result = !propV.booleanValue ();
+ }
+ } catch (Exception e) {
+ log.println ("Exception while getting Property 'IsGroupField'"+e);
+ result = false;
+ }
+ tRes.tested ("IsGroupField",result);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_DataPilotItem.java b/qadevOOo/tests/java/ifc/sheet/_DataPilotItem.java
new file mode 100644
index 000000000000..a83bd47543f4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_DataPilotItem.java
@@ -0,0 +1,33 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+
+public class _DataPilotItem extends MultiPropertyTest {
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_DatabaseImportDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_DatabaseImportDescriptor.java
new file mode 100644
index 000000000000..bb819a0f43e7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_DatabaseImportDescriptor.java
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.util.XImportable;
+
+/**
+* Testing <code>com.sun.star.sheet.DatabaseImportDescriptor</code>
+* service properties:
+* <ul>
+* <li><code>DatabaseName</code></li>
+* <li><code>SourceObject</code></li>
+* <li><code>SourceType</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.DatabaseImportDescriptor
+*/
+public class _DatabaseImportDescriptor extends MultiMethodTest {
+
+ public XPropertySet oObj = null;
+ public XImportable xIMP = null;
+ public PropertyValue[] props = null;
+
+ public void _DatabaseName() {
+ xIMP = (XImportable) tEnv.getObjRelation("xIMP");
+ props = xIMP.createImportDescriptor(true);
+ changeProp("DatabaseName",0);
+ }
+
+ public void _SourceObject() {
+ changeProp("SourceObject",2);
+ }
+
+ public void _SourceType() {
+ changeProp("SourceType",1);
+ }
+
+ public void changeProp(String name, int nr) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+ if ( ! name.equals(props[nr].Name) ) {
+ log.println("Property '"+props[nr].Name+"' is tested");
+ log.println("But the status is for '"+name+"'");
+ }
+
+
+ try {
+ //waitForAllThreads();
+ gValue = props[nr].Value;
+ //waitForAllThreads();
+ ValueToSet = ValueChanger.changePValue(gValue);
+ //waitForAllThreads();
+ props[nr].Value=ValueToSet;
+ sValue = props[nr].Value;
+
+ //check get-set methods
+ if ( (gValue.equals(sValue)) || (sValue == null) ) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ }
+ else {
+ log.println("Property '"+name+"' OK");
+ tRes.tested(name, true);
+ }
+ } catch (Exception e) {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+ }// end of changeProp
+
+
+} // finish class _DatabaseImportDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_DatabaseRange.java b/qadevOOo/tests/java/ifc/sheet/_DatabaseRange.java
new file mode 100644
index 000000000000..f32fe6c27c40
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_DatabaseRange.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.DatabaseRange</code>
+* service properties :
+* <ul>
+* <li><code> MoveCells</code></li>
+* <li><code> KeepFormats</code></li>
+* <li><code> StripData</code></li>
+* <li><code> AutoFilter</code></li>
+* <li><code> UseFilerCriteriaSource</code></li>
+* <li><code> FilerCriteriaSource</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.DatabaseRange
+*/
+public class _DatabaseRange extends MultiPropertyTest {
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_DocumentSettings.java b/qadevOOo/tests/java/ifc/sheet/_DocumentSettings.java
new file mode 100644
index 000000000000..6074e8e6cb3f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_DocumentSettings.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/*
+ * Generic test for all properties contained in this service
+ */
+
+public class _DocumentSettings extends MultiPropertyTest{
+
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_FunctionDescription.java b/qadevOOo/tests/java/ifc/sheet/_FunctionDescription.java
new file mode 100644
index 000000000000..3fe0017ad6db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_FunctionDescription.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.sheet.FunctionArgument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.sheet.FunctionDescription</code>
+* service properties:
+* <ul>
+* <li><code>Arguments</code></li>
+* <li><code>Category</code></li>
+* <li><code>Description</code></li>
+* <li><code>Id</code></li>
+* <li><code>Name</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.FunctionDescription
+*/
+public class _FunctionDescription extends MultiMethodTest {
+
+ public XPropertySet oObj = null; // oObj filled by MultiMethodTest
+
+ public _FunctionDescription() {
+ }
+
+ public void _Arguments() {
+ // check if Service is available
+ XServiceInfo xInfo = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, oObj );
+
+ if ( ! xInfo.supportsService
+ ( "com.sun.star.sheet.FunctionDescription" ) ) {
+ log.println( "Service not available !" );
+ tRes.tested( "Supported", false );
+ }
+
+ try {
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ XInterface FA = (XInterface)oDocMSF.
+ createInstance("com.sun.star.sheet.FunctionArgument");
+ FunctionArgument arg = (FunctionArgument)AnyConverter.toObject
+ (FunctionArgument.class, FA);
+
+ arg.Description = "FunctionDescription argument description" ;
+ arg.Name = "FunctionDescriptiuon argument name" ;
+ arg.IsOptional = true ;
+
+ Object sValue = oObj.getPropertyValue("Arguments") ;
+ oObj.setPropertyValue("Arguments", new FunctionArgument[] {arg}) ;
+ Object nValue = oObj.getPropertyValue("Arguments") ;
+
+ if (sValue.equals(nValue)) {
+ log.println("Property 'Arguments' didn't change: OK") ;
+ tRes.tested("Arguments", true) ;
+ } else {
+ log.println("Readonly property 'Arguments' changed: Failed") ;
+ tRes.tested("Arguments", false) ;
+ }
+ } catch (Exception e) {
+ log.println(
+ "Exception occured while testing property 'Arguments'" );
+ e.printStackTrace( log );
+ tRes.tested( "Arguments", false );
+ }
+ }
+
+ public void _Category() {
+ tryChangeProp("Category") ;
+ }
+
+ public void _Description() {
+ tryChangeProp( "Category" );
+ }
+
+ public void _Id() {
+ tryChangeProp( "Id" );
+ }
+
+ public void _Name() {
+ tryChangeProp( "Name" );
+ }
+
+ public void tryChangeProp( String name ) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+
+ try {
+ //waitForAllThreads();
+ gValue = oObj.getPropertyValue( name );
+
+ //waitForAllThreads();
+ ValueToSet = ValueChanger.changePValue( gValue );
+ //waitForAllThreads();
+ oObj.setPropertyValue( name, ValueToSet );
+ sValue = oObj.getPropertyValue( name );
+
+ //check get-set methods
+ if( gValue.equals( sValue ) ) {
+ log.println( "Value for '"+name+"' hasn't changed. OK." );
+ tRes.tested( name, true );
+ }
+ else {
+ log.println( "Property '" + name +
+ "' changes it's value : Failed !" );
+ tRes.tested( name, false );
+ }
+ }
+ catch ( Exception e ) {
+ log.println(
+ "Exception occured while testing property '" + name + "'" );
+ e.printStackTrace( log );
+ tRes.tested( name, false );
+ }
+ } // end of changeProp
+
+} //finish class _TextContent
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java b/qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java
new file mode 100644
index 000000000000..514645be45b3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.GlobalSheetSettings</code>
+* service properties :
+* <ul>
+* <li><code> MoveSelection</code></li>
+* <li><code> MoveDirection</code></li>
+* <li><code> EnterEdit</code></li>
+* <li><code> ExtendFormat</code></li>
+* <li><code> RangeFinder</code></li>
+* <li><code> ExpandReferences</code></li>
+* <li><code> MarkHeader</code></li>
+* <li><code> UseTabCol</code></li>
+* <li><code> Metric</code></li>
+* <li><code> Scale</code></li>
+* <li><code> DoAutoComplete</code></li>
+* <li><code> StatusBarFunction</code></li>
+* <li><code> UserLists</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.GlobalSheetSettings
+*/
+public class _GlobalSheetSettings extends MultiPropertyTest {
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_Scenario.java b/qadevOOo/tests/java/ifc/sheet/_Scenario.java
new file mode 100644
index 000000000000..b7d206465d2a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_Scenario.java
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiPropertyTest;
+
+
+public class _Scenario extends MultiPropertyTest {
+ public void before() {
+ oObj = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
+ tEnv.getObjRelation(
+ "ScenarioSheet"));
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_Shape.java b/qadevOOo/tests/java/ifc/sheet/_Shape.java
new file mode 100644
index 000000000000..0d1daca95b54
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_Shape.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiPropertyTest;
+
+
+public class _Shape extends MultiPropertyTest {
+ public void _Anchor() {
+ XSpreadsheetDocument xSheetDoc = (XSpreadsheetDocument) UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class,
+ tEnv.getObjRelation(
+ "DOCUMENT"));
+ String[] sheetNames = xSheetDoc.getSheets().getElementNames();
+ XSpreadsheet xSheet = null;
+ XCell xCell = null;
+
+ try {
+ xSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class,
+ xSheetDoc.getSheets().getByName(sheetNames[0]));
+ xCell = xSheet.getCellByPosition(0, 0);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+
+ testProperty("Anchor", xSheet, xCell);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_SheetCell.java b/qadevOOo/tests/java/ifc/sheet/_SheetCell.java
new file mode 100644
index 000000000000..ebb943082792
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SheetCell.java
@@ -0,0 +1,38 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+
+public class _SheetCell extends MultiPropertyTest {
+
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_SheetCellRange.java b/qadevOOo/tests/java/ifc/sheet/_SheetCellRange.java
new file mode 100644
index 000000000000..d2db014584a0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SheetCellRange.java
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.SheetCellRange</code>
+* service properties :
+* <ul>
+* <li><code> Position</code></li>
+* <li><code> Size</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SheetCellRange
+*/
+public class _SheetCellRange extends MultiPropertyTest {
+} // finisch class _SheetCellRange
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_SheetCellRanges.java b/qadevOOo/tests/java/ifc/sheet/_SheetCellRanges.java
new file mode 100644
index 000000000000..7e7ed35e092f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SheetCellRanges.java
@@ -0,0 +1,33 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+public class _SheetCellRanges extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_SheetFilterDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_SheetFilterDescriptor.java
new file mode 100644
index 000000000000..423042bb8d3a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SheetFilterDescriptor.java
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.SheetFilterDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> IsCaseSensitive</code></li>
+* <li><code> SkipDuplicates</code></li>
+* <li><code> UseRegularExpressions</code></li>
+* <li><code> SaveOutputPosition</code></li>
+* <li><code> Orientation</code></li>
+* <li><code> ContainsHeader</code></li>
+* <li><code> CopyOutputData</code></li>
+* <li><code> OutputPosition</code></li>
+* <li><code> MaxFieldCount</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SheetFilterDescriptor
+*/
+public class _SheetFilterDescriptor extends MultiPropertyTest {
+} // finish class _SheetFilterDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_SheetLink.java b/qadevOOo/tests/java/ifc/sheet/_SheetLink.java
new file mode 100644
index 000000000000..d4711f878716
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SheetLink.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+import util.ValueChanger;
+
+/**
+* Testing <code>com.sun.star.sheet.SheetLink</code>
+* service properties :
+* <ul>
+* <li><code> Url</code></li>
+* <li><code> Filter</code></li>
+* <li><code> FilterOptions</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SheetLink
+*/
+public class _SheetLink extends MultiPropertyTest {
+
+ /**
+ *This class is destined to custom test of property <code>Url</code>.
+ */
+ protected PropertyTester UrlTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ String newValue = (String) ValueChanger.changePValue(oldValue);
+ if ( !newValue.startsWith("file://") ) {
+ newValue = "file://" + newValue;
+ }
+
+ return newValue;
+ }
+ };
+
+ /**
+ * Test property <code>Url</code> using custom <code>PropertyTest</code>.
+ */
+ public void _Url() {
+ testProperty("Url", UrlTester);
+ }
+
+ /**
+ *This class is destined to custom test of property <code>Filter</code>.
+ */
+ protected PropertyTester FilterTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return "StarCalc 4.0";
+ }
+ };
+
+ /**
+ * Test property <code>Filter</code> using custom <code>PropertyTest</code>.
+ */
+ public void _Filter() {
+ testProperty("Filter", FilterTester);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_SheetSortDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_SheetSortDescriptor.java
new file mode 100644
index 000000000000..cf63e30250d9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SheetSortDescriptor.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.table.CellAddress;
+import com.sun.star.util.XSortable;
+
+/**
+* Testing <code>com.sun.star.sheet.SheetSortDescriptor</code>
+* service properties: <p>
+* <ul>
+* <li><code>BindFormatsToContent</code></li>
+* <li><code>CopyOutputData</code></li>
+* <li><code>IsCaseSensitive</code></li>
+* <li><code>IsUserListEnabled</code></li>
+* <li><code>OutputPosition</code></li>
+* <li><code>SortAscending</code></li>
+* <li><code>UserListIndex</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.SheetSortDescriptor
+*/
+public class _SheetSortDescriptor extends MultiMethodTest {
+
+ public XPropertySet oObj = null;
+ public XSortable xSORT = null;
+ public PropertyValue[] props = null;
+
+ public void _BindFormatsToContent() {
+ xSORT = (XSortable) tEnv.getObjRelation("xSORT");
+ props = xSORT.createSortDescriptor();
+ changeProp("BindFormatsToContent",5);
+ }
+
+ public void _CopyOutputData() {
+ changeProp("CopyOutputData",6);
+ }
+
+ public void _IsCaseSensitive() {
+ changeProp("IsCaseSensitive",4);
+ }
+
+ public void _IsUserListEnabled() {
+ changeProp("IsUserListEnabled",8);
+ }
+
+ public void _OutputPosition() {
+ changeProp("OutputPosition",7);
+ }
+
+ public void _SortAscending() {
+ //changeProp("SortAscending",3);
+ log.println("Property 'SortAscending' is not part of the "+
+ "property array");
+ log.println("Available properties:");
+ for (int i=0; i<props.length;i++) {
+ log.println("\t"+props[i].Name);
+ }
+ tRes.tested("SortAscending",false);
+ }
+
+ public void _UserListIndex() {
+ changeProp("UserListIndex",9);
+ }
+
+ public void changeProp(String name, int nr) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+ int gInt = 0;
+ int sInt = 0;
+
+ if ( ! name.equals(props[nr].Name) ) {
+ log.println("Property '"+props[nr].Name+"' is tested");
+ log.println("But the status is for '"+name+"'");
+ }
+
+
+ try {
+ //waitForAllThreads();
+ gValue = props[nr].Value;
+ if ( name.equals("OutputPosition")) {
+ gInt = ((CellAddress) gValue).Row;
+ }
+ //waitForAllThreads();
+ ValueToSet = ValueChanger.changePValue(gValue);
+ //waitForAllThreads();
+ props[nr].Value=ValueToSet;
+ sValue = props[nr].Value;
+ if ( name.equals("OutputPosition")) {
+ sInt = ((CellAddress) sValue).Row;
+ gValue = new Integer(gInt);
+ sValue = new Integer(sInt);
+ }
+
+ //check get-set methods
+ if ( (gValue.equals(sValue)) || (sValue == null) ) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ }
+ else {
+ log.println("Property '"+name+"' OK");
+ tRes.tested(name, true);
+ }
+ } catch (Exception e) {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+
+
+ }// end of changeProp
+
+
+} // finish class _SheetSortDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_Spreadsheet.java b/qadevOOo/tests/java/ifc/sheet/_Spreadsheet.java
new file mode 100644
index 000000000000..f1a78acc64aa
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_Spreadsheet.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.Spreadsheet</code>
+* service properties :
+* <ul>
+* <li><code> IsVisible</code></li>
+* <li><code> PageStyle</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.Spreadsheet
+*/
+public class _Spreadsheet extends MultiPropertyTest {
+
+ /**
+ *This class is destined to custom test of property <code>PageStyle</code>.
+ */
+ protected PropertyTester styleTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ String str = "Default";
+ String str2= "Report";
+ return str.equals(oldValue) ? str2 : str;
+ }
+ };
+
+ /**
+ * Test property <code>PageStyle</code> using custom <code>PropertyTest</code>.
+ */
+ public void _PageStyle() {
+ testProperty("PageStyle", styleTester);
+ }
+} // finish class _Spreadsheet
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java
new file mode 100644
index 000000000000..0fe1021d7155
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.SpreadsheetDocument</code>
+* service properties :
+* <ul>
+* <li><code> NamedRanges</code></li>
+* <li><code> DatabaseRanges</code></li>
+* <li><code> ColumnLabelRanges</code></li>
+* <li><code> RowLabelRanges</code></li>
+* <li><code> SheetLinks</code></li>
+* <li><code> AreaLinks</code></li>
+* <li><code> DDELinks</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SpreadsheetDocument
+*/
+public class _SpreadsheetDocument extends MultiPropertyTest {
+} // finish class _SpreadsheetDocument
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocumentSettings.java b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocumentSettings.java
new file mode 100644
index 000000000000..6c4abe99f413
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocumentSettings.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.i18n.ForbiddenCharacters;
+import com.sun.star.i18n.XForbiddenCharacters;
+import com.sun.star.lang.Locale;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.Date;
+
+
+/**
+* Testing <code>com.sun.star.sheet.SpreadsheetDocumentSettings</code>
+* service properties :
+* <ul>
+* <li><code> IsIterationEnabled</code></li>
+* <li><code> IterationCount</code></li>
+* <li><code> IterationEpsilon</code></li>
+* <li><code> StandardDecimals</code></li>
+* <li><code> NullDate</code></li>
+* <li><code> DefaultTabStop</code></li>
+* <li><code> IgnoreCase</code></li>
+* <li><code> CalcAsShown</code></li>
+* <li><code> MatchWholeCell</code></li>
+* <li><code> SpellOnline</code></li>
+* <li><code> LookUpLabels</code></li>
+* <li><code> RegularExpressions</code></li>
+* <li><code> ForbiddenCharacters</code></li>
+* <li><code> HasDrawPages</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SpreadsheetDocumentSettings
+*/
+public class _SpreadsheetDocumentSettings extends MultiPropertyTest {
+ /**
+ *This class is destined to custom test of property <code>NullDate</code>.
+ */
+ protected PropertyTester DateTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ Date date = (Date) oldValue;
+ Date newDate = new Date((short) (date.Day - 1), date.Month,
+ date.Year);
+
+ return newDate;
+ }
+ };
+
+ /**
+ *This class is destined to custom test of property <code>ForbiddenCharacters</code>.
+ */
+ protected PropertyTester ChrTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return new ForbiddenChrTest();
+ }
+
+ protected boolean compare(Object obj1, Object obj2) {
+ Locale loc = new Locale("ru", "RU", "");
+ XForbiddenCharacters fc1 = (XForbiddenCharacters) UnoRuntime.queryInterface(
+ XForbiddenCharacters.class,
+ obj1);
+ XForbiddenCharacters fc2 = (XForbiddenCharacters) UnoRuntime.queryInterface(
+ XForbiddenCharacters.class,
+ obj2);
+ boolean has1 = fc1.hasForbiddenCharacters(loc);
+ boolean has2 = fc2.hasForbiddenCharacters(loc);
+
+ return has1 == has2;
+ }
+ };
+
+ /**
+ * Test property <code>NullDate</code> using custom <code>PropertyTest</code>.
+ */
+ public void _NullDate() {
+ testProperty("NullDate", DateTester);
+ }
+
+ /**
+ * Test property <code>ForbiddenCharacters</code> using custom <code>PropertyTest</code>.
+ */
+ public void _ForbiddenCharacters() {
+ testProperty("ForbiddenCharacters", ChrTester);
+ }
+
+ /**
+ * Class implements interface <code>XForbiddenCharacters</code>.
+ * It's destined to custom test of property <code>ForbiddenCharacters</code>.
+ * Feature of the class that it supports forbidden characters
+ * for russian locale.
+ * @see com.sun.star.i18n.XForbiddenCharacters
+ */
+ protected class ForbiddenChrTest implements XForbiddenCharacters {
+ protected Locale locale = new Locale("ru", "RU", "");
+ protected ForbiddenCharacters chrs = new ForbiddenCharacters("q", "w");
+
+ public ForbiddenCharacters getForbiddenCharacters(Locale rLocale)
+ throws com.sun.star.container.NoSuchElementException {
+ if (rLocale.Country.equals(locale.Country) &&
+ rLocale.Language.equals(locale.Language) &&
+ rLocale.Variant.equals(locale.Variant)) {
+ return chrs;
+ }
+
+ throw new com.sun.star.container.NoSuchElementException();
+ }
+
+ public void setForbiddenCharacters(Locale rLocale,
+ ForbiddenCharacters rForbiddenCharacters) {
+ }
+
+ public void removeForbiddenCharacters(Locale rLocale) {
+ }
+
+ public boolean hasForbiddenCharacters(Locale rLocale) {
+ if (rLocale.Country.equals(locale.Country) &&
+ rLocale.Language.equals(locale.Language) &&
+ rLocale.Variant.equals(locale.Variant)) {
+ return true;
+ }
+
+ return false;
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_SpreadsheetViewSettings.java b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetViewSettings.java
new file mode 100644
index 000000000000..c857b2420020
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetViewSettings.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.view.DocumentZoomType;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.sheet.SpreadsheetViewSettings</code>
+* service properties :
+* <ul>
+* <li><code> ShowFormulas</code></li>
+* <li><code> ShowZeroValues</code></li>
+* <li><code> IsValueHighlightingEnabled</code></li>
+* <li><code> ShowNotes</code></li>
+* <li><code> HasVerticalScrollBar</code></li>
+* <li><code> HasHorizontalScrollBar</code></li>
+* <li><code> HasSheetTabs</code></li>
+* <li><code> IsOutlineSymbolsSet</code></li>
+* <li><code> HasColumnRowHeaders</code></li>
+* <li><code> ShowGrid</code></li>
+* <li><code> GridColor</code></li>
+* <li><code> ShowHelpLines</code></li>
+* <li><code> ShowAnchor</code></li>
+* <li><code> ShowPageBreaks</code></li>
+* <li><code> SolidHandles</code></li>
+* <li><code> ShowObjects</code></li>
+* <li><code> ShowCharts</code></li>
+* <li><code> ShowDrawing</code></li>
+* <li><code> HideSpellMarks</code></li>
+* <li><code> ZoomType</code></li>
+* <li><code> ZoomValue</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SpreadsheetViewSettings
+*/
+public class _SpreadsheetViewSettings extends MultiPropertyTest {
+ public void _ZoomType() {
+ testProperty("ZoomType", new Short(DocumentZoomType.PAGE_WIDTH),
+ new Short(DocumentZoomType.BY_VALUE));
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+} // finish class _SpreadsheetViewSettings
diff --git a/qadevOOo/tests/java/ifc/sheet/_SubTotalDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_SubTotalDescriptor.java
new file mode 100644
index 000000000000..c478a0f54252
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SubTotalDescriptor.java
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.SubTotalDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> InsertPageBreaks</code></li>
+* <li><code> IsCaseSensitive</code></li>
+* <li><code> EnableUserSortList</code></li>
+* <li><code> UserSortListIndex</code></li>
+* <li><code> BindFormatsToContent</code></li>
+* <li><code> SortAscending</code></li>
+* <li><code> MaxFieldCount</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SubTotalDescriptor
+*/
+public class _SubTotalDescriptor extends MultiPropertyTest {
+} // finish class _SubTotalDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_TableAutoFormat.java b/qadevOOo/tests/java/ifc/sheet/_TableAutoFormat.java
new file mode 100644
index 000000000000..bb86aa8bc069
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_TableAutoFormat.java
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.TableAutoFormat</code>
+* service properties :
+* <ul>
+* <li><code> IncludeFont</code></li>
+* <li><code> IncludeJustify</code></li>
+* <li><code> IncludeBorder</code></li>
+* <li><code> IncludeBackground</code></li>
+* <li><code> IncludeNumberFormat</code></li>
+* <li><code> IncludeWidthAndHeight</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.TableAutoFormat
+*/
+public class _TableAutoFormat extends MultiPropertyTest {
+} // finish class _TableAutoFormat
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java b/qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java
new file mode 100644
index 000000000000..8b6f06acccd9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.sheet.TableAutoFormatField</code>
+* service properties :
+* <ul>
+* <li><code> CharFontName</code></li>
+* <li><code> CharHeight</code></li>
+* <li><code> CharWeight</code></li>
+* <li><code> CharPosture</code></li>
+* <li><code> CharUnderline</code></li>
+* <li><code> CharCrossedOut</code></li>
+* <li><code> CharContoured</code></li>
+* <li><code> CharShadowed</code></li>
+* <li><code> CharColor</code></li>
+* <li><code> CharLocale</code></li>
+* <li><code> CellBackColor</code></li>
+* <li><code> IsCellBackgroundTransparent</code></li>
+* <li><code> ShadowFormat</code></li>
+* <li><code> ParaRightMargin </code></li>
+* <li><code> ParaLeftMargin </code></li>
+* <li><code> ParaBottomMargin </code></li>
+* <li><code> ParaTopMargin </code></li>
+* <li><code> RotateReference </code></li>
+* <li><code> RotateAngle </code></li>
+* <li><code> Orientation </code></li>
+* <li><code> IsTextWrapped </code></li>
+* <li><code> VertJustify </code></li>
+* <li><code> HoriJustify </code></li>
+* <li><code> CharPostureComplex </code></li>
+* <li><code> CharPostureAsian </code></li>
+* <li><code> CharWeightComplex </code></li>
+* <li><code> CharWeightAsian </code></li>
+* <li><code> CharHeightComplex </code></li>
+* <li><code> CharHeightAsian </code></li>
+* <li><code> CharFontPitchComplex </code></li>
+* <li><code> CharFontPitchAsian </code></li>
+* <li><code> CharFontPitch </code></li>
+* <li><code> CharFontFamilyComplex </code></li>
+* <li><code> CharFontFamilyAsian </code></li>
+* <li><code> CharFontFamily </code></li>
+* <li><code> CharFontCharSetComplex </code></li>
+* <li><code> CharFontCharSetAsian </code></li>
+* <li><code> CharFontCharSet </code></li>
+* <li><code> CharFontStyleNameComplex </code></li>
+* <li><code> CharFontStyleNameAsian </code></li>
+* <li><code> CharFontStyleName </code></li>
+* <li><code> CharFontNameComplex </code></li>
+* <li><code> CharFontNameAsian </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.TableAutoFormatField
+*/
+public class _TableAutoFormatField extends MultiPropertyTest {
+
+ /**
+ * Only some values can be used (which identify font name).
+ * In this property value is changed from 'Times New Roman'
+ * to 'Courier' and vise versa.
+ */
+ public void _CharFontName() {
+ testProperty("CharFontName", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return "Courier".equals(old) ? "Times New Roman" : "Courier" ;
+ }
+ }) ;
+ }
+
+ /**
+ * Locale values are predefined and can't be chaged arbitrary.
+ * In this property value is changed from ('de', 'DE', '')
+ * to ('es', 'ES', '') and vise versa.
+ */
+ public void _CharLocale() {
+ testProperty("CharLocale", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return old == null || ((Locale)old).Language == "de" ?
+ new Locale("es", "ES", "") : new Locale("de", "DE", "") ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _ShadowFormat() {
+ testProperty("ShadowFormat", new PropertyTester() {
+ protected Object getNewValue(String p, Object old) {
+ return old == null ? new com.sun.star.table.ShadowFormat() :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+
+} //finish class _TableAutoFormatField
+
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_TableValidation.java b/qadevOOo/tests/java/ifc/sheet/_TableValidation.java
new file mode 100644
index 000000000000..552664f71c68
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_TableValidation.java
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.TableValidation</code>
+* service properties :
+* <ul>
+* <li><code> Type</code></li>
+* <li><code> ShowInputMessage</code></li>
+* <li><code> InputTitle</code></li>
+* <li><code> InputMessage</code></li>
+* <li><code> ShowErrorMessage</code></li>
+* <li><code> ErrorTitle</code></li>
+* <li><code> ErrorMessage</code></li>
+* <li><code> IgnoreBlankCells</code></li>
+* <li><code> ErrorAlertStyle</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.TableValidation
+*/
+public class _TableValidation extends MultiPropertyTest {
+} // finish class _TableValidation
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XActivationBroadcaster.java b/qadevOOo/tests/java/ifc/sheet/_XActivationBroadcaster.java
new file mode 100644
index 000000000000..c4d03c5abf5f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XActivationBroadcaster.java
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XActivationBroadcaster;
+import com.sun.star.sheet.XActivationEventListener;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetView;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+public class _XActivationBroadcaster extends MultiMethodTest {
+ public XActivationBroadcaster oObj;
+ protected boolean listenerCalled = false;
+ protected XSpreadsheetView xSpreadsheetView = null;
+ protected XActivationEventListener listener = null;
+ protected XSpreadsheet two = null;
+
+ public void _addActivationEventListener() {
+
+ log.println("trying to add an invalid listener");
+ oObj.addActivationEventListener(listener);
+ log.println(".... OK");
+
+ log.println("adding a valid listener");
+ listener = new MyListener();
+ oObj.addActivationEventListener(listener);
+
+ XSpreadsheet org = xSpreadsheetView.getActiveSheet();
+ xSpreadsheetView.setActiveSheet(two);
+
+ if (!listenerCalled) {
+ log.println("Listener wasn't called");
+ }
+
+ xSpreadsheetView.setActiveSheet(org);
+ tRes.tested("addActivationEventListener()", listenerCalled);
+ }
+
+ public void _removeActivationEventListener() {
+ requiredMethod("addActivationEventListener()");
+ listenerCalled = false;
+ oObj.removeActivationEventListener(listener);
+
+ XSpreadsheet org = xSpreadsheetView.getActiveSheet();
+ xSpreadsheetView.setActiveSheet(two);
+
+ if (listenerCalled) {
+ log.println("Listener was called eventhough it is removed");
+ }
+
+ xSpreadsheetView.setActiveSheet(org);
+ tRes.tested("removeActivationEventListener()", !listenerCalled);
+ }
+
+ public void before() {
+ xSpreadsheetView = (XSpreadsheetView) UnoRuntime.queryInterface(
+ XSpreadsheetView.class,
+ tEnv.getTestObject());
+
+ two = (XSpreadsheet) tEnv.getObjRelation("Sheet");
+
+ if ((xSpreadsheetView == null) || (two == null)) {
+ throw new StatusException(Status.failed(
+ "precondition for test is missing"));
+ }
+ }
+
+ protected class MyListener implements XActivationEventListener {
+ public void activeSpreadsheetChanged(com.sun.star.sheet.ActivationEvent activationEvent) {
+ listenerCalled = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XAreaLink.java b/qadevOOo/tests/java/ifc/sheet/_XAreaLink.java
new file mode 100644
index 000000000000..74a95f3b2a94
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XAreaLink.java
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XAreaLink;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XAreaLink</code>
+* interface methods :
+* <ul>
+* <li><code> getSourceArea()</code></li>
+* <li><code> setSourceArea()</code></li>
+* <li><code> getDestArea()</code></li>
+* <li><code> setDestArea()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.sheet.XAreaLink
+*/
+public class _XAreaLink extends MultiMethodTest {
+
+ public XAreaLink oObj = null;
+ CellRangeAddress oORAdd, oNRAdd, oCRAdd = null;
+
+ /**
+ * Just calls the method and checks the value returned.
+ * (More complicated testing done in <code>setDestArea</code>)<p>
+ * Has <b>OK</b> status if not null value returned.
+ */
+ public void _getDestArea(){
+ log.println("testing getDestArea()");
+ boolean bResult = false;
+ oORAdd = oObj.getDestArea();
+ if (!(oORAdd == null)){ bResult = true; }
+ tRes.tested("getDestArea()", bResult) ;
+ }
+
+ /**
+ * Just calls the method and checks the value returned.
+ * (More complicated testing done in <code>setSourceArea</code>)<p>
+ * Has <b>OK</b> status if not null value returned.
+ */
+ public void _getSourceArea(){
+ log.println("testing getSourceArea()");
+ boolean bResult = false;
+ String src = null;
+ src = oObj.getSourceArea() ;
+ if (!(src == null)){ bResult = true; }
+ tRes.tested("getSourceArea()", bResult) ;
+ }
+
+ /**
+ * Creates a new desination CellRange address and sets it for
+ * the link object. <p>
+ * After setting the DestArea, the link is refreshed and the area is
+ * adjusted to the size of the source data.
+ * Therefore EndCol and EndRow will change after setting. <p>
+ * Has <b>OK</b> status if Sheet, Starting Column and Row
+ * of the destination range is changed correctly.
+ */
+ public void _setDestArea(){
+ log.println("testing setDestArea()");
+ boolean bResult = false;
+ int newStartCol = 3, newStartRow = 4, newEndCol = 5, newEndRow = 8 ;
+ oORAdd = oObj.getDestArea();
+ log.print("Getting: ");
+ log.println(getCRA(oORAdd));
+ oNRAdd = new CellRangeAddress ((short) 2, newStartCol, newStartRow,
+ newEndCol, newEndRow) ;
+ oObj.setDestArea(oNRAdd) ;
+ log.print("Setting: ");
+ log.println(getCRA(oNRAdd));
+ oCRAdd = oObj.getDestArea();
+ log.print("Getting: ");
+ log.println(getCRA(oCRAdd));
+ // After setting the DestArea, the link is refreshed and the area is
+ // adjusted to the size of the source data.
+ // Therefore EndCol and EndRow will change after setting.
+ log.println("After setting the DestArea, the link is refreshed "+
+ "and the area is");
+ log.println("adjusted to the size of the source data.");
+ log.println("Therefore only 'Sheet', 'StartCol' and 'StartRow' "+
+ "are compared.");
+ if ((oCRAdd.StartColumn == oNRAdd.StartColumn) &&
+ (oCRAdd.Sheet == oNRAdd.Sheet) &&
+ (oCRAdd.StartRow == oNRAdd.StartRow)){
+ bResult = true;
+ oObj.setDestArea(oORAdd);
+ }
+ tRes.tested("setDestArea()", bResult) ;
+ }
+
+ /**
+ * Sets a new source area for the link and then check
+ * it using <code>getSourceArea</code> method. <p>
+ * Has <b>OK</b> status if areas set and get are equal.
+ */
+ public void _setSourceArea(){
+ log.println("testing setSourceArea()");
+ boolean bResult = false;
+ String oSrc = oObj.getSourceArea() ;
+ String nSrc = "a1:b2";
+ oObj.setSourceArea(nSrc);
+ String cSrc = oObj.getSourceArea();
+ if( nSrc.equals(cSrc)){
+ bResult = true;
+ oObj.setSourceArea(oSrc);
+ }
+ tRes.tested("setSourceArea()", bResult) ;
+ }
+
+ /**
+ * Prints cell range structure to LOG
+ */
+ public String getCRA ( CellRangeAddress oCRA ) {
+ String res = "( Sheet: ";
+ res += oCRA.Sheet;
+ res += ";StartColumn: ";
+ res += oCRA.StartColumn;
+ res += ";StartRow: ";
+ res += oCRA.StartRow;
+ res += ";EndColumn: ";
+ res += oCRA.EndColumn;
+ res += ";EndRow: ";
+ res += oCRA.EndRow;
+ res += " )";
+ return res;
+ }
+
+} // EOC _XAreaLink
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XAreaLinks.java b/qadevOOo/tests/java/ifc/sheet/_XAreaLinks.java
new file mode 100644
index 000000000000..460bce6c3b84
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XAreaLinks.java
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XAreaLinks;
+import com.sun.star.table.CellAddress;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.sheet.XAreaLinks</code>
+* interface methods :
+* <ul>
+* <li><code> insertAtPosition()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.sheet.XAreaLinks
+*/
+public class _XAreaLinks extends MultiMethodTest {
+
+ public XAreaLinks oObj = null;
+
+ /**
+ * Inserts a new link into collection. Checks number of links
+ * before and after method call. <p>
+ * Has <b>OK</b> status if after method call number of
+ * links increased by 1.
+ */
+ public void _insertAtPosition(){
+ boolean bResult = true ;
+ int cnt = 0;
+
+ cnt = oObj.getCount() ;
+ CellAddress addr = new CellAddress ((short) 1,2,3) ;
+ String aSourceArea = util.utils.getFullTestURL("calcshapes.sxc");
+ oObj.insertAtPosition (addr, aSourceArea, "a2:b5", "", "") ;
+
+ if (bResult) {
+ int new_cnt = oObj.getCount() ;
+
+ if (cnt + 1 != new_cnt) {
+ bResult = false ;
+ log.println("Number of links before insertAtPosition() call was " + cnt +
+ ", after call is " + new_cnt) ;
+ }
+ }
+
+ tRes.tested("insertAtPosition()", bResult) ;
+ }
+
+
+ /**
+ * Removes a link from collection. Checks number of links
+ * before and after method call. <p>
+ * Has <b>OK</b> status if after method call number of
+ * links decreases by 1. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertAtPosition </code> : to have at least one link. </li>
+ * </ul>
+ */
+ public void _removeByIndex(){
+ requiredMethod("insertAtPosition()") ;
+
+ boolean bResult = true ;
+ int lcnt = 0;
+
+ lcnt = oObj.getCount() ;
+ oObj.removeByIndex(0) ;
+
+ int new_lcnt = oObj.getCount() ;
+ if (lcnt - 1 != new_lcnt) {
+ bResult = false ;
+ log.println(" # Number of links before removeByIndex() call was " +
+ lcnt + ", after call is " + new_lcnt) ;
+ }
+ tRes.tested("removeByIndex()", bResult) ;
+ }
+
+} //EOC _XAreaLinks
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XArrayFormulaRange.java b/qadevOOo/tests/java/ifc/sheet/_XArrayFormulaRange.java
new file mode 100644
index 000000000000..7cb4d8aed12c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XArrayFormulaRange.java
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XArrayFormulaRange;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XArrayFormulaRange</code>
+* interface methods :
+* <ul>
+* <li><code> getArrayFormula()</code></li>
+* <li><code> setArrayFormula()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SHEET'</code> (of type <code>XSpreadsheet</code>):
+* to check contents of spreadsheet </li>
+* <li> <code>'noArray'</code> (of type <code>Object</code>):
+* if the relation is null then given component doesn't really support
+* this interface </li>
+* <ul> <p>
+* Test object must implements interface <code>XCellRangeAddressable</code> also.
+* @see com.sun.star.sheet.XArrayFormulaRange
+* @see com.sun.star.sheet.XSpreadsheet
+* @see com.sun.star.sheet.XCellRangeAddressable
+*/
+public class _XArrayFormulaRange extends MultiMethodTest {
+
+ public XArrayFormulaRange oObj = null;
+ String formula = "=1 + 2 * 5";
+
+ /**
+ * Test calls the method and then checks content sof spreadsheet using
+ * object relation <code>'SHEET'</code>. <p>
+ * Has <b> OK </b> status if values in cells of spreadsheet are equal to 11
+ * or ArrayFormula not supported.<p>
+ */
+ public void _setArrayFormula() {
+ Object noArray = tEnv.getObjRelation("noArray");
+ if (noArray != null) {
+ log.println("Component " + noArray.toString() +
+ " doesn't really support this Interface");
+ log.println("It doesn't make sense to set an ArrayFormula over"
+ + " the whole sheet");
+ tRes.tested("setArrayFormula()", true);
+ return;
+ }
+
+ boolean result = true;
+ double dresult = 11;
+
+ log.println("setArrayFormula() ...");
+
+ oObj.setArrayFormula(formula);
+
+ log.println("checking that formula was set correctly...");
+ XCellRangeAddressable crAddr =
+ (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, oObj);
+ CellRangeAddress addr = crAddr.getRangeAddress() ;
+ XSpreadsheet oSheet = (XSpreadsheet)tEnv.getObjRelation("SHEET");
+ if (oSheet == null) throw new StatusException(Status.failed
+ ("Relation 'SHEET' not found"));
+
+ XCell oCell = null;
+ double value;
+
+ for (int i = addr.StartColumn; i <= addr.EndColumn; i++)
+ for (int j = addr.StartRow; j <= addr.EndRow; j++) {
+ try {
+ oCell = oSheet.getCellByPosition(i, j);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ break;
+ }
+
+ value = oCell.getValue();
+ result &= (value == dresult);
+ }
+
+ tRes.tested("setArrayFormula()", result) ;
+
+ } // end setArrayFormula()
+
+ /**
+ * Test calls the method and compare formula that set by method
+ * <code>setArrayFormula</code> with returned value ignoring spaces. <p>
+ *
+ * Has <b> OK </b> status if values are equal or
+ * ArrayFormula not supported. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setArrayFormula </code> : to set formula </li>
+ * </ul>
+ */
+ public void _getArrayFormula() {
+
+ Object noArray = tEnv.getObjRelation("noArray");
+ if (noArray != null) {
+ log.println("Component "+noArray.toString()+" doesn't really support this Interface");
+ log.println("It doesn't make sense to set an ArrayFormula over the whole sheet");
+ log.println("and therefore 'getArrayFormula()' won't work");
+ tRes.tested("getArrayFormula()",true);
+ return;
+ }
+
+ requiredMethod("setArrayFormula()");
+ boolean result = true;
+ log.println("Testing getArrayFormula() ...");
+ String gFormula = oObj.getArrayFormula() ;
+ result &= equalIgnoreSpaces("{" + formula + "}", gFormula);
+ if (!result)
+ log.println("Method returned : '" + oObj.getArrayFormula() + "'") ;
+ tRes.tested("getArrayFormula()", result) ;
+
+ } // end getArrayFormula()
+
+ /**
+ * Method compares two string ignoring spaces.
+ * @return <code>true</code> if the argument
+ * is not null and the Strings are equal,
+ * ignoring spaces; <code>false</code> otherwise.
+ */
+ private boolean equalIgnoreSpaces(String s1, String s2) {
+ int p1 = 0, p2 = 0 ;
+ s1 = s1.trim() ;
+ s2 = s2.trim() ;
+ while (p1 < s1.length() && p2 < s2.length()) {
+ while (s1.charAt(p1) == ' ') p1 ++ ;
+ while (s2.charAt(p2) == ' ') p2 ++ ;
+ if (s1.charAt(p1) != s2.charAt(p2)) return false ;
+ p1 ++ ;
+ p2 ++ ;
+ }
+
+ return p1 == s1.length() && p2 == s2.length() ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCalculatable.java b/qadevOOo/tests/java/ifc/sheet/_XCalculatable.java
new file mode 100644
index 000000000000..36bb27423e25
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCalculatable.java
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XCalculatable;
+import com.sun.star.table.XCell;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XCalculatable extends MultiMethodTest {
+ public XCalculatable oObj = null;
+ private boolean bIsAutomaticCalculationEnabled = false;
+ private XCell[] xCells = null;
+
+ /**
+ * Get object relation: four cells with values and formulas.
+ * @see mod._sc.ScModelObj
+ */
+ public void before() {
+ xCells = (XCell[])tEnv.getObjRelation("XCalculatable.Cells");
+ if (xCells == null || xCells.length != 3)
+ throw new StatusException(Status.failed("Couldn't find correct object relation 'XCalculatable.Cells'"));
+
+ }
+
+ /**
+ * Restore begin setting
+ */
+ public void after() {
+ // reset to begin value
+ oObj.enableAutomaticCalculation(bIsAutomaticCalculationEnabled);
+ }
+
+
+ public void _calculate() {
+ requiredMethod("isAutomaticCalculationEnabled()");
+ boolean result = true;
+ double ergValue1 = xCells[2].getValue();
+ double sourceValue1 = xCells[0].getValue();
+ xCells[0].setValue(sourceValue1 +1);
+ double ergValue2 = xCells[2].getValue();
+ result &= ergValue1 == ergValue2;
+ oObj.calculate();
+ ergValue2 = xCells[2].getValue();
+ result &= ergValue1 != ergValue2;
+ tRes.tested("calculate()", result);
+ }
+
+ public void _calculateAll() {
+ requiredMethod("isAutomaticCalculationEnabled()");
+ boolean result = true;
+ double ergValue1 = xCells[2].getValue();
+ double sourceValue1 = xCells[0].getValue();
+ xCells[0].setValue(sourceValue1 +1);
+ double ergValue2 = xCells[2].getValue();
+ result &= ergValue1 == ergValue2;
+ oObj.calculateAll();
+ ergValue2 = xCells[2].getValue();
+ result &= ergValue1 != ergValue2;
+ oObj.calculateAll();
+ tRes.tested("calculateAll()", result);
+ }
+
+ public void _enableAutomaticCalculation() {
+ bIsAutomaticCalculationEnabled = oObj.isAutomaticCalculationEnabled();
+ oObj.enableAutomaticCalculation(!bIsAutomaticCalculationEnabled);
+ tRes.tested("enableAutomaticCalculation()", true);
+ }
+
+ public void _isAutomaticCalculationEnabled() {
+ requiredMethod("enableAutomaticCalculation()");
+ boolean result = oObj.isAutomaticCalculationEnabled();
+ oObj.enableAutomaticCalculation(false);
+ tRes.tested("isAutomaticCalculationEnabled()", result != bIsAutomaticCalculationEnabled);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellAddressable.java b/qadevOOo/tests/java/ifc/sheet/_XCellAddressable.java
new file mode 100644
index 000000000000..777fe26b1e2e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellAddressable.java
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XCellAddressable;
+import com.sun.star.table.CellAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XCellAddressable</code>
+* interface methods :
+* <ul>
+* <li><code> getCellAddress()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XCellAddressable
+*/
+public class _XCellAddressable extends MultiMethodTest {
+
+ public XCellAddressable oObj = null;
+ CellAddress sAddr = null;
+
+ /**
+ * Test calls the method and checks returned value.
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getCellAddress(){
+ sAddr = oObj.getCellAddress() ;
+ tRes.tested("getCellAddress()", sAddr != null) ;
+ }
+
+
+} //EOC _XCellAddressable
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellFormatRangesSupplier.java b/qadevOOo/tests/java/ifc/sheet/_XCellFormatRangesSupplier.java
new file mode 100644
index 000000000000..4bc93a7f613d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellFormatRangesSupplier.java
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sheet.XCellFormatRangesSupplier;
+
+/**
+ * Interface test to check the interface XCellFormatRangesSupplier
+ *
+ * methods:
+ *
+ * getCellFormatRanges()
+ *
+ */
+
+public class _XCellFormatRangesSupplier extends MultiMethodTest {
+
+ public XCellFormatRangesSupplier oObj = null;
+
+ /**
+ * call the method getCellFormatRanges and returns OK result if
+ * the gained XIndexAccess isn't null and the method checkIndexAccess
+ * returns true.
+ */
+
+ public void _getCellFormatRanges() {
+ boolean res = true;
+ XIndexAccess xIA = oObj.getCellFormatRanges();
+ if (xIA != null) {
+ res = checkIndexAccess(xIA);
+ } else {
+ log.println("The gained IndexAccess is null");
+ res = false;
+ }
+ tRes.tested("getCellFormatRanges()",res);
+ }
+
+ /**
+ * calls the method getCount at the IndexAccess, returns true is it is >0
+ * and getByIndex() doesn't throw an exception for Indexes between 0 and count
+ */
+
+ protected boolean checkIndexAccess(XIndexAccess xIA) {
+ boolean res = true;
+ int count = xIA.getCount();
+ log.println("Found "+count+" Elements");
+ res &= count>0;
+ for (int k=0; k<count; k++) {
+ try {
+ Object element = xIA.getByIndex(k);
+ log.println("Element "+k+" = "+element);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected Exception while getting by Index ("+k+")"+e.getMessage());
+ res &=false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception while getting by Index ("+k+")"+e.getMessage());
+ res &=false;
+ }
+ }
+ return res;
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangeAddressable.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangeAddressable.java
new file mode 100644
index 000000000000..300dcf30dca8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangeAddressable.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XCellRangeAddressable</code>
+* interface methods :
+* <ul>
+* <li><code> getRangeAddress()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XCellRangeAddressable
+*/
+public class _XCellRangeAddressable extends MultiMethodTest {
+
+ public XCellRangeAddressable oObj = null;
+
+ /**
+ * Test calls the method and checks returned value.
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getRangeAddress() {
+ CellRangeAddress oAddr = oObj.getRangeAddress();
+ tRes.tested("getRangeAddress()", oAddr != null);
+ }
+
+} // EOC _XCellRangeAddressable
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java
new file mode 100644
index 000000000000..8127164568b1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.sheet.XCellRangeData;
+
+public class _XCellRangeData extends MultiMethodTest {
+
+ public XCellRangeData oObj = null;
+ private Object[][] maCRData = null;
+
+ /**
+ * Test calls the method
+ * state is OK if the resulting Object array
+ * isn't empty
+ */
+ public void _getDataArray() {
+ maCRData = oObj.getDataArray();
+ boolean bResult = (maCRData.length > 0);
+ tRes.tested("getDataArray()", bResult);
+ }
+
+ /**
+ * Test creates an Array and calls the method
+ * with this Array as argument
+ * Then the method getDataArray is called
+ * and the resulting Array is compared with the
+ * one formerly set.
+ */
+ public void _setDataArray() {
+ Object[][] newData = (Object[][]) tEnv.getObjRelation("NewData");
+ if (newData == null) {
+ newData = new Object[maCRData.length][maCRData[0].length];
+ for (int i=0; i<newData.length; i++) {
+ for (int j=0; j<newData[i].length; j++) {
+ newData[i][j] = new Double(10*i +j);
+ }
+ }
+ }
+ oObj.setDataArray(newData);
+ Object[][] oCRData = oObj.getDataArray();
+ boolean res = ValueComparer.equalValue(oCRData[0][0],newData[0][0]);
+ res &= ValueComparer.equalValue(oCRData[0][1],newData[0][1]);
+ res &= ValueComparer.equalValue(oCRData[1][0],newData[1][0]);
+ res &= ValueComparer.equalValue(oCRData[1][1],newData[1][1]);
+ // delete values
+ Object[][] emptyData = new Object[newData.length][newData[0].length];
+ for (int i=0; i<emptyData.length; i++) {
+ for (int j=0; j<emptyData[i].length; j++) {
+ emptyData[i][j] = new String();
+ }
+ }
+ oObj.setDataArray(emptyData);
+ tRes.tested("setDataArray()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangeFormula.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangeFormula.java
new file mode 100644
index 000000000000..e408a3a2b1b0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangeFormula.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XCellRangeFormula;
+
+public class _XCellRangeFormula extends lib.MultiMethodTest {
+
+ public XCellRangeFormula oObj = null;
+
+ public String[][] orgValue = null;
+
+ public void _getFormulaArray() {
+ Object noArray = tEnv.getObjRelation("noArray");
+ if (noArray != null) {
+ log.println("Component " + noArray.toString() +
+ " doesn't really support this Interface");
+ log.println("It doesn't make sense to get an FormulaArray from"
+ + " the whole sheet");
+ tRes.tested("getFormulaArray()", true);
+ return;
+ }
+ orgValue = oObj.getFormulaArray();
+ String[][] newValue = oObj.getFormulaArray();
+ newValue[0][0] = "inserted";
+ oObj.setFormulaArray(newValue);
+ boolean res = oObj.getFormulaArray()[0][0].equals(newValue[0][0]);
+ tRes.tested("getFormulaArray()",res);
+ }
+
+ public void _setFormulaArray() {
+ requiredMethod("getFormulaArray()");
+ Object noArray = tEnv.getObjRelation("noArray");
+ if (noArray != null) {
+ log.println("Component " + noArray.toString() +
+ " doesn't really support this Interface");
+ log.println("It doesn't make sense to set an FormulaArray over"
+ + " the whole sheet");
+ tRes.tested("setFormulaArray()", true);
+ return;
+ }
+ oObj.setFormulaArray(orgValue);
+ boolean res = oObj.getFormulaArray()[0][0].equals(orgValue[0][0]);
+ tRes.tested("setFormulaArray()",res);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangeMovement.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangeMovement.java
new file mode 100644
index 000000000000..13468122b25e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangeMovement.java
@@ -0,0 +1,246 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.CellDeleteMode;
+import com.sun.star.sheet.CellInsertMode;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XCellRangeMovement;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableRows;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XCellRangeMovement</code>
+* interface methods :
+* <ul>
+* <li><code> insertCells()</code></li>
+* <li><code> removeRange()</code></li>
+* <li><code> moveRange()</code></li>
+* <li><code> copyRange()</code></li>
+* </ul> <p>
+* Test object must implements interfaces <code>XCellRangeAddressable</code>
+* and <code>XSpreadsheet</code> also. <p>
+* @see com.sun.star.sheet.XCellRangeMovement
+* @see com.sun.star.sheet.XSpreadsheet
+* @see com.sun.star.sheet.XCellRangeAddressable
+*/
+public class _XCellRangeMovement extends MultiMethodTest {
+
+ public XCellRangeMovement oObj = null;
+
+ /**
+ * Test sets specific values to cells in the range, copies this cell range
+ * to another position in document and checks cell's values in new position.<p>
+ * Has <b> OK </b> status if cell's values in source range are equal to
+ * cell's values in destination range and no exceptions were thrown. <p>
+ */
+ public void _copyRange(){
+ log.println("Prepare cells before test methods.");
+ XSpreadsheet oSheet = (XSpreadsheet)
+ UnoRuntime.queryInterface(XSpreadsheet.class, oObj);
+ try {
+ oSheet.getCellByPosition(1,1).setValue(100);
+ oSheet.getCellByPosition(1,2).setValue(200);
+ oSheet.getCellByPosition(2,1).setValue(300);
+ oSheet.getCellByPosition(2,2).setValue(400);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ tRes.tested("copyRange()", false);
+ }
+
+ XCellRangeAddressable oAddr =
+ (XCellRangeAddressable)
+ UnoRuntime.queryInterface (XCellRangeAddressable.class, oObj);
+ short iSheet = oAddr.getRangeAddress().Sheet;
+ CellAddress sDest;
+ CellRangeAddress sSrc;
+
+ sSrc = new CellRangeAddress(iSheet, 1, 1, 2, 2);
+ sDest = new CellAddress(iSheet, 1, 10);
+ boolean result = true;
+ boolean loc_result = true;
+
+ oObj.copyRange(sDest, sSrc);
+ try {
+ loc_result = (oSheet.getCellByPosition(1, 10).getValue() == 100);
+ loc_result &= (oSheet.getCellByPosition(1, 11).getValue() == 200);
+ loc_result &= (oSheet.getCellByPosition(2, 10).getValue() == 300);
+ loc_result &= (oSheet.getCellByPosition(2, 11).getValue() == 400);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ tRes.tested("copyRange()", false);
+ }
+
+ result &= loc_result;
+ tRes.tested("copyRange()", result);
+ }
+
+ /**
+ * Test sets specific values to cells in the two contiguous rows, inserts
+ * new empty row between them and checks value in
+ * one cell of the inserted row. <p>
+ * Has <b> OK </b> status if value of cell in the inserted row is zero
+ * and no exceptions were thrown. <p>
+ */
+ public void _insertCells(){
+ boolean result = false;
+
+ XSpreadsheet oSheet = (XSpreadsheet)
+ UnoRuntime.queryInterface(XSpreadsheet.class, oObj);
+ XCellRangeAddressable oAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface (XCellRangeAddressable.class, oObj);
+ short iSheet = oAddr.getRangeAddress().Sheet;
+ try {
+ oSheet.getCellByPosition(0,20).setValue(100);
+ oSheet.getCellByPosition(1,20).setValue(100);
+ oSheet.getCellByPosition(2,20).setValue(100);
+ oSheet.getCellByPosition(3,20).setValue(100);
+ oSheet.getCellByPosition(0,21).setValue(200);
+ oSheet.getCellByPosition(1,21).setValue(200);
+ oSheet.getCellByPosition(2,21).setValue(200);
+ oSheet.getCellByPosition(3,21).setValue(200);
+
+ // catch some sleight of hand threads
+ if (oSheet.getCellByPosition(1,21).getValue() == 200){
+ //log.println("Rows closed.");
+ }
+ else{
+ log.println("Cells were already inserted. "+
+ "Delete old cells now");
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, oSheet);
+
+ XTableRows oRows = (XTableRows) oColumnRowRange.getRows();
+ oRows.removeByIndex(21,1);
+ }
+ CellRangeAddress sSrc = new CellRangeAddress(iSheet, 0, 21, 5, 21);
+ oObj.insertCells (sSrc, CellInsertMode.DOWN) ;
+
+ // check the result
+ double res = oSheet.getCellByPosition(1, 21).getValue();
+ if (res == 0.0) {
+ result = true;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("insertCells()", result);
+ }
+
+ /**
+ * Test sets specific values to cells in the range, moves this cell range
+ * to another position in document and checks cell's values in new position.
+ * <p>Has <b>OK</b> status if sum of values in source range is equal to sum
+ * of values in destination range and no exceptions were thrown. <p>
+ */
+ public void _moveRange(){
+ boolean result = false;
+
+ XSpreadsheet oSheet = (XSpreadsheet)
+ UnoRuntime.queryInterface(XSpreadsheet.class, oObj);
+
+ XCellRangeAddressable oAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface (XCellRangeAddressable.class, oObj);
+
+ short iSheet = oAddr.getRangeAddress().Sheet;
+ //prepare source range
+ try {
+ oSheet.getCellByPosition(4,0).setValue(111);
+ oSheet.getCellByPosition(4,1).setValue(222);
+
+ CellRangeAddress sSrc = new CellRangeAddress(iSheet, 4, 0, 4, 1);
+ CellAddress sDest = new CellAddress(iSheet, 4, 4);
+ oObj.moveRange(sDest, sSrc);
+
+ double cntA = 0;
+ double cntB = 0;
+ cntA = oSheet.getCellByPosition(4, 4).getValue();
+ cntB = oSheet.getCellByPosition(4, 5).getValue();
+ if (cntA + cntB == 333.0){ result = true; }
+ //clean up
+ oSheet.getCellByPosition(4,4).setValue(0);
+ oSheet.getCellByPosition(4,5).setValue(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("moveRange()", result);
+ }
+
+
+ /**
+ * Test sets specific values to cells in the range, deletes this cell range
+ * from document and checks values of cells in position
+ * of the deleted range.
+ * <p>Has <b>OK</b> status if sum of cell values in position of the deleted
+ * range is equal to zero and no exceptions were thrown. <p>
+ */
+ public void _removeRange(){
+ boolean result = false;
+
+ XSpreadsheet oSheet = (XSpreadsheet)
+ UnoRuntime.queryInterface(XSpreadsheet.class, oObj);
+ XCellRangeAddressable oAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface (XCellRangeAddressable.class, oObj);
+ short iSheet = oAddr.getRangeAddress().Sheet;
+ try {
+ //prepare source range
+ oSheet.getCellByPosition(5, 0).setValue(333);
+ oSheet.getCellByPosition(5, 1).setValue(444);
+
+ CellRangeAddress sSrc = new CellRangeAddress(iSheet, 5, 0, 5, 1);
+ oObj.removeRange(sSrc, CellDeleteMode.UP);
+
+ double cntA = 0;
+ double cntB = 0;
+ cntA = oSheet.getCellByPosition(5, 0).getValue();
+ cntB = oSheet.getCellByPosition(5, 1).getValue();
+ if (cntA + cntB == 0.0){ result = true; }
+
+ //clean up
+ oSheet.getCellByPosition(5, 0).setValue(0);
+ oSheet.getCellByPosition(5, 1).setValue(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("removeRange()", result);
+ }
+
+} // EOC _XCellRangeMovement
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangeReferrer.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangeReferrer.java
new file mode 100644
index 000000000000..320c7940d03e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangeReferrer.java
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XCellRangeReferrer;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XCellRangeReferrer</code>
+* interface methods :
+* <ul>
+* <li><code> getReferredCells() </code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DATAAREA'</code> (of type <code>CellRangeAddress</code>):
+* to have cell range address </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XCellRangeReferrer
+* @see com.sun.star.table.CellRangeAddress
+*/
+public class _XCellRangeReferrer extends MultiMethodTest {
+
+ public XCellRangeReferrer oObj = null;
+
+ /**
+ * Test calls the method and compares cell range address of returned cell range
+ * with cell range address gotten by relation <code>'DATAAREA'</code>. <p>
+ * Has <b> OK </b> status if all fields of cell range addresses are equal. <p>
+ */
+ public void _getReferredCells() {
+ boolean bResult = true;
+
+ CellRangeAddress oldCRA = (CellRangeAddress)
+ tEnv.getObjRelation("DATAAREA");
+ if (oldCRA == null) throw new StatusException(Status.failed
+ ("Relation 'DATAAREA' not found"));
+
+ XCellRange cr = oObj.getReferredCells();
+ log.println(cr.toString());
+
+ if (cr == null) {
+ log.println("getReferredCells returned NULL.");
+ tRes.tested("getReferredCells()", false);
+ return;
+ }
+
+ XCellRangeAddressable xCRA = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, cr);
+
+ CellRangeAddress objCRA = xCRA.getRangeAddress();
+
+ log.println("The named range was 'ANamedRange A1:B2'");
+ log.println("Expected CellRangeAddress: (" + oldCRA.Sheet +
+ "," + oldCRA.StartColumn + "," + oldCRA.StartRow + "," +
+ oldCRA.EndColumn + "," + objCRA.EndRow + ")");
+ log.println("CellRangeAddress gotten: (" + objCRA.Sheet + ","
+ + objCRA.StartColumn + "," + objCRA.StartRow + "," +
+ objCRA.EndColumn + "," + objCRA.EndRow + ")");
+
+ bResult &= objCRA.EndColumn == oldCRA.EndColumn;
+ bResult &= objCRA.EndRow == oldCRA.EndRow;
+ bResult &= objCRA.Sheet == oldCRA.Sheet;
+ bResult &= objCRA.StartColumn == oldCRA.StartColumn;
+ bResult &= objCRA.StartRow == oldCRA.StartRow;
+
+ tRes.tested("getReferredCells()", bResult);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java
new file mode 100644
index 000000000000..eac4a5a31d10
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java
@@ -0,0 +1,307 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sheet.CellFlags;
+import com.sun.star.sheet.FormulaResult;
+import com.sun.star.sheet.XCellRangesQuery;
+import com.sun.star.sheet.XSheetCellRanges;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.table.XTableRows;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test the XCellRangesQuery interface.
+ * Needed object relations:
+ * <ul>
+ * <li>"SHEET": an XSpreadSheet object
+ * </li>
+ * <li>"XCellRangesQuery.EXPECTEDRESULTS": the expected results for the test
+ * methods as a String array.<br>
+ * @see mod._sc.ScCellCurserObj or
+ * @see mod._sc.ScCellObj for an example how this should look like.
+ * </li>
+ * </ul>
+ */
+public class _XCellRangesQuery extends MultiMethodTest {
+ public XCellRangesQuery oObj;
+ protected XSpreadsheet oSheet;
+ protected XTableRows oRows;
+ protected XTableColumns oColumns;
+ protected String[] mExpectedResults = null;
+ protected boolean bMakeEntriesAndDispose = false;
+ String getting = "";
+ String expected = "";
+ // provide the object with constants to fill the expected results array
+ public static final int QUERYCOLUMNDIFFERENCES = 0;
+ public static final int QUERYCONTENTCELLS = 1;
+ public static final int QUERYEMPTYCELLS = 2;
+ public static final int QUERYFORMULACELLS = 3;
+ public static final int QUERYINTERSECTION = 4;
+ public static final int QUERYROWDIFFERENCES = 5;
+ public static final int QUERYVISIBLECELLS = 6;
+
+ protected void before() {
+ oSheet = (XSpreadsheet) tEnv.getObjRelation("SHEET");
+
+ if (oSheet == null) {
+ log.println("Object relation oSheet is missing");
+ log.println("Trying to query the needed Interface");
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, tEnv.getTestObject());
+
+ if (oSheet == null) {
+ throw new StatusException(Status.failed(
+ "Object relation oSheet is missing"));
+ }
+ }
+
+ // expected results
+ mExpectedResults = (String[])tEnv.getObjRelation(
+ "XCellRangesQuery.EXPECTEDRESULTS");
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange) UnoRuntime.queryInterface(
+ XColumnRowRange.class,
+ oSheet);
+ oRows = (XTableRows)oColumnRowRange.getRows();
+ oColumns = (XTableColumns) oColumnRowRange.getColumns();
+
+ // set this in object if the interface has to make its own settings
+ // and the environment has to be disposed: this is necessary for objects
+ // that do not make entries on the sheet themselves
+ Object o = tEnv.getObjRelation("XCellRangesQuery.CREATEENTRIES");
+ if (o != null && o instanceof Boolean) {
+ bMakeEntriesAndDispose = ((Boolean)o).booleanValue();
+ }
+ if(bMakeEntriesAndDispose) {
+ oRows.removeByIndex(4, oRows.getCount() - 4);
+ oColumns.removeByIndex(4, oColumns.getCount() - 4);
+
+ try {
+ oSheet.getCellByPosition(1, 1).setValue(5);
+ oSheet.getCellByPosition(1, 2).setValue(15);
+ oSheet.getCellByPosition(2, 1).setFormula("=B2+B3");
+ oSheet.getCellByPosition(1, 3).setFormula("=B2+B4");
+ oSheet.getCellByPosition(3, 2).setFormula("");
+ oSheet.getCellByPosition(3, 3).setFormula("");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't fill cells " + e.getLocalizedMessage());
+ }
+ }
+
+ }
+
+ /**
+ * Tested method returns each cell of each column that is different to the
+ * cell in a given row
+ */
+ public void _queryColumnDifferences() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryColumnDifferences(
+ new CellAddress((short) 0, 1, 1));
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYCOLUMNDIFFERENCES];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryColumnDifferences()", res);
+ }
+
+ /**
+ * Tested method returns all cells of a given type, defind in
+ * CellFlags
+ * @see com.sun.star.sheet.CellFlags
+ */
+ public void _queryContentCells() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryContentCells(
+ (short) CellFlags.VALUE);
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYCONTENTCELLS];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryContentCells()", res);
+ }
+
+ /**
+ * Tested method returns all empty cells of the range
+ */
+ public void _queryEmptyCells() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryEmptyCells();
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYEMPTYCELLS];
+
+ int startIndex = 0;
+ int endIndex = -5;
+ String checkString = null;
+
+ while (endIndex != -1) {
+ startIndex = endIndex + 5;
+ endIndex = expected.indexOf(" ... ", startIndex);
+ if (endIndex == -1) {
+ checkString = expected.substring(startIndex);
+ }
+ else {
+ checkString = expected.substring(startIndex, endIndex);
+ }
+ res &= (getting.indexOf(checkString) > -1);
+ }
+
+ if (!res) {
+ log.println("Getting: " + getting);
+ log.println("Should have contained: " + expected);
+ }
+
+ tRes.tested("queryEmptyCells()", res);
+ }
+
+ /**
+ * Tested method returns all cells of a given type, defind in
+ * FormulaResult
+ * @see com.sun.star.sheet.FormulaResult
+ */
+ public void _queryFormulaCells() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryFormulaCells(
+ (short) FormulaResult.VALUE);
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYFORMULACELLS];
+
+ if (!getting.equals(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Expected: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryFormulaCells()", res);
+ }
+
+ public void _queryIntersection() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryIntersection(
+ new CellRangeAddress((short) 0, 3, 3, 7, 7));
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYINTERSECTION];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryIntersection()", res);
+ }
+
+ /**
+ * Tested method returns each cell of each row that is different to the
+ * cell in a given column
+ */
+ public void _queryRowDifferences() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryRowDifferences(
+ new CellAddress((short) 0, 1, 1));
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYROWDIFFERENCES];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryRowDifferences()", res);
+ }
+
+ public void _queryVisibleCells() {
+ setRowVisible(false);
+
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryVisibleCells();
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYVISIBLECELLS];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ setRowVisible(true);
+ tRes.tested("queryVisibleCells()", res);
+ }
+
+ protected void setRowVisible(boolean vis) {
+ try {
+ XPropertySet rowProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class,
+ oRows.getByIndex(0));
+ rowProp.setPropertyValue("IsVisible", new Boolean(vis));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("couldn't get Row " + e.getLocalizedMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ }
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ if(bMakeEntriesAndDispose) {
+ disposeEnvironment();
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellSeries.java b/qadevOOo/tests/java/ifc/sheet/_XCellSeries.java
new file mode 100644
index 000000000000..7ed3b4e61761
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellSeries.java
@@ -0,0 +1,244 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import helper.LoggingThread;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XCellSeries;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.uno.UnoRuntime;
+import share.LogWriter;
+
+
+public class _XCellSeries extends MultiMethodTest {
+ public XCellSeries oObj = null;
+ protected XSpreadsheet oSheet = null;
+ protected boolean isSpreadSheet = false;
+ protected boolean fillAuto = true;
+ protected boolean forceFillAuto = false;
+
+
+ protected void before() {
+ oSheet = (XSpreadsheet) tEnv.getObjRelation("SHEET");
+
+ if (oSheet == null) {
+ log.println("Object relation oSheet is missing");
+ log.println("Trying to query the needed Interface");
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, tEnv.getTestObject());
+
+ if (oSheet == null) {
+ throw new StatusException(Status.failed(
+ "Object relation oSheet is missing"));
+ } else {
+ isSpreadSheet = true;
+ }
+ }
+
+ Boolean myFillAuto = (Boolean) tEnv.getObjRelation("XCELLSERIES_FILLAUTO");
+
+ if (myFillAuto != null) fillAuto = myFillAuto.booleanValue();
+
+ if (tParam.containsKey("force_fillauto")){
+ fillAuto = tParam.getBool("force_fillauto");
+ forceFillAuto = tParam.getBool("force_fillauto");
+ }
+ }
+
+ public void _fillAuto() {
+
+ if ((isSpreadSheet && !forceFillAuto) || !fillAuto) {
+ log.println("This method consumes to much time for a complete SpreadSheet");
+ log.println("Please use parameter '-force_fillauto true' to force this test");
+ tRes.tested("fillAuto()",Status.skipped(true));
+ return;
+ }
+
+ boolean res = true;
+
+ try {
+ oSheet.getCellByPosition(0, 0).setValue(2);
+
+ log.println(
+ "calling oObj.fillAuto(com.sun.star.sheet.FillDirection.TO_RIGHT, 1)");
+ oObj.fillAuto(com.sun.star.sheet.FillDirection.TO_RIGHT, 1);
+ oSheet.getCellByPosition(0, 4).setFormula("=sum(A1:D1)");
+
+ double getting = oSheet.getCellByPosition(0, 4).getValue();
+ boolean locres = (getting == 14);
+
+ if (!locres) {
+ log.println("Operation failed");
+ } else {
+ log.println("Successful");
+ }
+
+ res &= locres;
+
+ log.println(
+ "calling oObj.fillAuto(com.sun.star.sheet.FillDirection.TO_BOTTOM, 1)");
+ oObj.fillAuto(com.sun.star.sheet.FillDirection.TO_BOTTOM, 1);
+ oSheet.getCellByPosition(4, 0).setFormula("=sum(A1:A4)");
+ getting = oSheet.getCellByPosition(4, 0).getValue();
+ locres = (getting == 14);
+
+ if (!locres) {
+ log.println("Operation failed");
+ } else {
+ log.println("Successful");
+ }
+
+ res &= locres;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set initial version to cell");
+ res = false;
+ }
+
+ tRes.tested("fillAuto()", res);
+ }
+
+ public void _fillSeries() {
+
+ if (isSpreadSheet) {
+ log.println("This method consumes to much time for a complete SpreadSheet");
+ tRes.tested("fillSeries()",Status.skipped(true));
+ return;
+ }
+
+ boolean res = true;
+
+ try {
+ oSheet.getCellByPosition(0, 0).setValue(2);
+
+ LoggingThread logger = new LoggingThread((LogWriter)log, tParam);
+ logger.start();
+
+ log.println(
+ "calling oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_RIGHT, com.sun.star.sheet.FillMode.LINEAR, com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2, 8)");
+ oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_RIGHT,
+ com.sun.star.sheet.FillMode.LINEAR,
+ com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2, 8);
+ oSheet.getCellByPosition(0, 4).setFormula("=sum(A1:D1)");
+
+ double getting = oSheet.getCellByPosition(0, 4).getValue();
+ boolean locres = (getting == 20);
+
+ logger.finish();
+
+ if (!locres) {
+ log.println("Operation failed");
+ } else {
+ log.println("Successful");
+ }
+
+ res &= locres;
+
+ logger = new LoggingThread((LogWriter)log, tParam);
+ logger.start();
+
+ log.println(
+ "calling oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_RIGHT, com.sun.star.sheet.FillMode.GROWTH, com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2, 16)");
+ oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_RIGHT,
+ com.sun.star.sheet.FillMode.GROWTH,
+ com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2,
+ 16);
+ oSheet.getCellByPosition(0, 4).setFormula("=sum(A1:D1)");
+ getting = oSheet.getCellByPosition(0, 4).getValue();
+ locres = (getting == 30);
+
+ logger.finish();
+
+ if (!locres) {
+ log.println("Operation failed");
+ } else {
+ log.println("Successful");
+ }
+
+ res &= locres;
+
+ logger = new LoggingThread((LogWriter)log, tParam);
+ logger.start();
+
+ log.println(
+ "calling oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_BOTTOM, com.sun.star.sheet.FillMode.LINEAR, com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2, 8)");
+ oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_BOTTOM,
+ com.sun.star.sheet.FillMode.LINEAR,
+ com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2, 8);
+ oSheet.getCellByPosition(4, 0).setFormula("=sum(A1:A4)");
+ getting = oSheet.getCellByPosition(4, 0).getValue();
+ locres = (getting == 20);
+
+ logger.finish();
+
+ if (!locres) {
+ log.println("Operation failed");
+ } else {
+ log.println("Successful");
+ }
+
+ res &= locres;
+
+ logger = new LoggingThread((LogWriter)log, tParam);
+ logger.start();
+
+ log.println(
+ "calling oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_BOTTOM, com.sun.star.sheet.FillMode.GROWTH, com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2, 16)");
+ oObj.fillSeries(com.sun.star.sheet.FillDirection.TO_BOTTOM,
+ com.sun.star.sheet.FillMode.GROWTH,
+ com.sun.star.sheet.FillDateMode.FILL_DATE_DAY, 2,
+ 16);
+ oSheet.getCellByPosition(4, 0).setFormula("=sum(A1:A4)");
+ getting = oSheet.getCellByPosition(4, 0).getValue();
+ locres = (getting == 30);
+
+ logger.finish();
+
+ if (!locres) {
+ log.println("Operation failed");
+ } else {
+ log.println("Successful");
+ }
+
+ res &= locres;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set initial version to cell");
+ res = false;
+ }
+
+ tRes.tested("fillSeries()", res);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ public void after() {
+ disposeEnvironment();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XConsolidatable.java b/qadevOOo/tests/java/ifc/sheet/_XConsolidatable.java
new file mode 100644
index 000000000000..08fc51dc3672
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XConsolidatable.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XConsolidatable;
+import com.sun.star.sheet.XConsolidationDescriptor;
+import lib.MultiMethodTest;
+
+/**
+ * Test the XConsolidatable interface
+ */
+public class _XConsolidatable extends MultiMethodTest {
+ public XConsolidatable oObj = null;
+ XConsolidationDescriptor xDescriptor = null;
+
+ /**
+ * Check consolidation
+ */
+ public void _consolidate() {
+ requiredMethod("createConsolidationDescriptor()");
+ oObj.consolidate(xDescriptor);
+ tRes.tested("consolidate()", true);
+ }
+
+ /**
+ * Check the creation of a ConsolidationDescriptor
+ */
+ public void _createConsolidationDescriptor() {
+ xDescriptor = oObj.createConsolidationDescriptor(true);
+ tRes.tested("createConsolidationDescriptor()", xDescriptor != null);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XConsolidationDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_XConsolidationDescriptor.java
new file mode 100644
index 000000000000..f7638dacf5b4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XConsolidationDescriptor.java
@@ -0,0 +1,264 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.XConsolidationDescriptor;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XConsolidationDescriptor</code>
+* interface methods :
+* <ul>
+* <li><code> getFunction()</code></li>
+* <li><code> setFunction()</code></li>
+* <li><code> getSources()</code></li>
+* <li><code> setSources()</code></li>
+* <li><code> getStartOutputPosition()</code></li>
+* <li><code> setStartOutputPosition()</code></li>
+* <li><code> getUseColumnHeaders()</code></li>
+* <li><code> setUseColumnHeaders()</code></li>
+* <li><code> getUseRowHeaders()</code></li>
+* <li><code> setUseRowHeaders()</code></li>
+* <li><code> getInsertLinks()</code></li>
+* <li><code> setInsertLinks()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XConsolidationDescriptor
+*/
+public class _XConsolidationDescriptor extends MultiMethodTest {
+
+ public XConsolidationDescriptor oObj = null;
+ public GeneralFunction aFunction = null;
+ public boolean insertLinks = false;
+ public boolean useColumnHeaders = false;
+ public boolean useRowHeaders = false;
+ public CellRangeAddress[] CRaddr = null;
+ public CellAddress addr = null;
+
+ /**
+ * Test calls the method, stores and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getFunction() {
+ aFunction = oObj.getFunction();
+ tRes.tested("getFunction()", aFunction != null );
+ }
+
+ /**
+ * Test calls the method and stores returned value. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _getInsertLinks() {
+ insertLinks = oObj.getInsertLinks();
+ tRes.tested("getInsertLinks()", true);
+ }
+
+ /**
+ * Test calls the method and stores returned value. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _getSources() {
+ CRaddr = oObj.getSources();
+ int wiev = CRaddr.length;
+ tRes.tested("getSources()", true);
+ }
+
+ /**
+ * Test calls the method and stores returned value. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _getStartOutputPosition() {
+ addr = oObj.getStartOutputPosition();
+ tRes.tested("getStartOutputPosition()", true);
+ }
+
+ /**
+ * Test calls the method and stores returned value. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _getUseColumnHeaders() {
+ useColumnHeaders = oObj.getUseColumnHeaders();
+ tRes.tested("getUseColumnHeaders()", true);
+ }
+
+ /**
+ * Test calls the method and stores returned value. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _getUseRowHeaders() {
+ useRowHeaders = oObj.getUseRowHeaders();
+ tRes.tested("getUseRowHeaders()", true);
+ }
+
+ /**
+ * Test sets the new current function, gets current function
+ * and compare function gotten by method <code>getFunction()</code> with
+ * function that was set. <p>
+ * Has <b> OK </b> status if the functions aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFunction() </code> : to have current value of
+ * the function by which the ranges are consolidated </li>
+ * </ul>
+ */
+ public void _setFunction() {
+ requiredMethod("getFunction()");
+ GeneralFunction aFunction2 = null;
+ if (aFunction.equals(GeneralFunction.SUM)) {
+ aFunction2 = GeneralFunction.COUNT;
+ }
+ else {
+ aFunction2 = GeneralFunction.SUM;
+ }
+ oObj.setFunction(aFunction2);
+ aFunction2 = oObj.getFunction();
+ tRes.tested("setFunction()", !aFunction.equals(aFunction2));
+ }
+
+ /**
+ * Test sets property to value that negative to the current value
+ * and compares returned value with value that was set. <p>
+ * Has <b> OK </b> status if returned value isn't equal to value that was
+ * stored by method <code>getInsertLinks()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getInsertLinks() </code> : to have current value of
+ * this property </li>
+ * </ul>
+ */
+ public void _setInsertLinks() {
+ requiredMethod("getInsertLinks()");
+ oObj.setInsertLinks( !insertLinks );
+ boolean insertLinks2 = oObj.getInsertLinks();
+ tRes.tested("setInsertLinks()", insertLinks != insertLinks2);
+ }
+
+ /**
+ * Test sets new cell ranges and compares cell ranges gotten by method
+ * <code>getSources()</code> with the cell range that was set. <p>
+ * Has <b> OK </b> status if returned value isn't equal to value that was
+ * stored by method <code>getSources()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSources() </code> : to have the cell ranges which
+ * are consolidated </li>
+ * </ul>
+ */
+ public void _setSources() {
+ requiredMethod("getSources()");
+ oObj.setSources(newCRaddr());
+ CellRangeAddress[] CRaddr2 = oObj.getSources();
+ tRes.tested("setSources()",!ValueComparer.equalValue(CRaddr, CRaddr2));
+ }
+
+ /**
+ * Test sets new cell address for start output position and compares
+ * cell address gotten by method <code>getStartOutputPosition()</code>
+ * with the cell address that was set. <p>
+ * Has <b> OK </b> status if returned value isn't equal to value that was
+ * stored by method <code>getStartOutputPosition()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getStartOutputPosition() </code> : to have the cell address
+ * of start output position </li>
+ * </ul>
+ */
+ public void _setStartOutputPosition() {
+ requiredMethod("getStartOutputPosition()");
+ CellAddress addr2 = new CellAddress();
+ addr2.Column = addr.Column + 1;
+ addr2.Row = addr.Row + 1;
+ oObj.setStartOutputPosition(addr2);
+ tRes.tested("setStartOutputPosition()",
+ !ValueComparer.equalValue(addr, addr2));
+ }
+
+ /**
+ * Test sets property to value that negative to the current value
+ * and compares returned value with value that was set. <p>
+ * Has <b> OK </b> status if returned value isn't equal to value that was
+ * stored by method <code>getUseColumnHeaders()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getUseColumnHeaders() </code> : to have current value of
+ * this property </li>
+ * </ul>
+ */
+ public void _setUseColumnHeaders() {
+ requiredMethod("getUseColumnHeaders()");
+ oObj.setUseColumnHeaders( !useColumnHeaders );
+ boolean uCH = oObj.getUseColumnHeaders();
+ tRes.tested("setUseColumnHeaders()", useColumnHeaders != uCH);
+ }
+
+ /**
+ * Test sets property to value that negative to the current value
+ * and compares returned value with value that was set. <p>
+ * Has <b> OK </b> status if returned value isn't equal to value that was
+ * stored by method <code>getUseRowHeaders()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getUseRowHeaders() </code> : to have current value of
+ * this property </li>
+ * </ul>
+ */
+ public void _setUseRowHeaders() {
+ requiredMethod("getUseRowHeaders()");
+ oObj.setUseRowHeaders(!useRowHeaders);
+ boolean uRH = oObj.getUseRowHeaders();
+ tRes.tested("setUseRowHeaders()", useRowHeaders != uRH );
+ }
+
+ /**
+ * Constructs new cell range addresses using old cell range addresses.
+ * @param CRaddr old cell range addresses
+ * @return new cell range addresses
+ */
+ public CellRangeAddress[] newCRaddr() {
+
+ CellRangeAddress[] back = new CellRangeAddress[1];
+
+ CellRangeAddress cra1 = new CellRangeAddress();
+ cra1.EndColumn=5;
+ cra1.EndRow=5;
+ cra1.Sheet=(short)0;
+ cra1.StartColumn=1;
+ cra1.StartRow=1;
+ back[0]=cra1;
+
+ return back;
+ }
+
+
+} // finish class _XConsolidationDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDDELink.java b/qadevOOo/tests/java/ifc/sheet/_XDDELink.java
new file mode 100644
index 000000000000..5c475e3c0208
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDDELink.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XDDELink;
+
+/**
+* Testing <code>com.sun.star.sheet.XDDELink</code>
+* interface methods :
+* <ul>
+* <li><code> getApplication()</code></li>
+* <li><code> getTopic()</code></li>
+* <li><code> getItem()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'APPLICATION'</code> (of type <code>String</code>):
+* to have application name </li>
+* <li> <code>'ITEM'</code> (of type <code>String</code>):
+* to have DDE item </li>
+* <li> <code>'TOPIC'</code> (of type <code>String</code>):
+* to have DDE topic </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XDDELink
+*/
+public class _XDDELink extends MultiMethodTest {
+ public XDDELink oObj = null;
+
+ /**
+ * Test calls the method and compares returned value to value obtained by
+ * relation <code>'APPLICATION'</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ */
+ public void _getApplication(){
+ log.println("testing getApplication()");
+ boolean bResult = false;
+
+ String oAppl = (String)tEnv.getObjRelation("APPLICATION");
+ if (oAppl == null) throw new StatusException(Status.failed
+ ("Relation 'APPLICATION' not found"));
+
+ bResult = oAppl.equals(oObj.getApplication());
+ tRes.tested("getApplication()", bResult) ;
+ }
+
+ /**
+ * Test calls the method and compares returned value to value obtained by
+ * relation <code>'ITEM'</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ */
+ public void _getItem(){
+ log.println("testing getItem()");
+ boolean bResult = false;
+ String sItem = oObj.getItem();
+
+ String oItem = (String)tEnv.getObjRelation("ITEM");
+ if (oItem == null) throw new StatusException(Status.failed
+ ("Relation 'ITEM' not found"));
+
+ bResult = oItem.equals(sItem);
+ tRes.tested("getItem()", bResult) ;
+ }
+
+ /**
+ * Test calls the method and compares returned value to value obtained by
+ * relation <code>'TOPIC'</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ */
+ public void _getTopic(){
+ log.println("testing getTopic()");
+ boolean bResult = false;
+ String sTopic = oObj.getTopic();
+
+ String oTopic = (String)tEnv.getObjRelation("TOPIC");
+ if (oTopic == null) throw new StatusException(Status.failed
+ ("Relation 'TOPIC' not found"));
+
+ bResult = oTopic.equals(sTopic);
+ tRes.tested("getTopic()", bResult) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDataPilotDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_XDataPilotDescriptor.java
new file mode 100644
index 000000000000..e95aa5870d38
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDataPilotDescriptor.java
@@ -0,0 +1,429 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.sheet.DataPilotFieldOrientation;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XDataPilotDescriptor</code>
+* interface methods :
+* <ul>
+* <li><code> getTag()</code></li>
+* <li><code> setTag()</code></li>
+* <li><code> getSourceRange()</code></li>
+* <li><code> setSourceRange()</code></li>
+* <li><code> getFilterDescriptor()</code></li>
+* <li><code> getDataPilotFields()</code></li>
+* <li><code> getColumnFields()</code></li>
+* <li><code> getRowFields()</code></li>
+* <li><code> getPageFields()</code></li>
+* <li><code> getDataFields()</code></li>
+* <li><code> getHiddenFields()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'FIELDSAMOUNT'</code> (of type <code>Integer</code>):
+* to have number of fields </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XDataPilotDescriptor
+*/
+public class _XDataPilotDescriptor extends MultiMethodTest {
+
+ public XDataPilotDescriptor oObj = null;
+ CellRangeAddress CRA = new CellRangeAddress((short)1, 1, 1, 5, 5);
+ CellRangeAddress oldCRA = null ;
+ String sTag = new String ("XDataPilotDescriptor_Tag");
+ String fieldsNames[];
+ int fieldsAmount = 0;
+ int tEnvFieldsAmount = 0;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ protected void before() {
+ Integer amount = (Integer)tEnv.getObjRelation("FIELDSAMOUNT");
+ if (amount == null) throw new StatusException(Status.failed
+ ("Relation 'FIELDSAMOUNT' not found"));
+ tEnvFieldsAmount = amount.intValue();
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was set
+ * in method <code>setSourceRange()</code>. <p>
+ * Has <b> OK </b> status if all fields of cell range addresses are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setSourceRange() </code> : to have current source range </li>
+ * </ul>
+ */
+ public void _getSourceRange(){
+ requiredMethod("setSourceRange()");
+ boolean bResult = true;
+
+ CellRangeAddress objRA = oObj.getSourceRange();
+ bResult &= objRA.Sheet == CRA.Sheet;
+ bResult &= objRA.StartRow == CRA.StartRow;
+ bResult &= objRA.StartColumn == CRA.StartColumn;
+ bResult &= objRA.EndRow == CRA.EndRow;
+ bResult &= objRA.EndColumn == CRA.EndColumn;
+
+ tRes.tested("getSourceRange()", bResult);
+ }
+
+ /**
+ * Test gets the current source range, stores it and sets new source range.<p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getColumnFields() </code> </li>
+ * <li> <code> getRowFields() </code> </li>
+ * <li> <code> getDataFields() </code> </li>
+ * <li> <code> getHiddenFields() </code> </li>
+ * <li> <code> getPageFields() </code> </li>
+ * </ul>
+ */
+ public void _setSourceRange(){
+ executeMethod("getColumnFields()") ;
+ executeMethod("getRowFields()") ;
+ executeMethod("getDataFields()") ;
+ executeMethod("getHiddenFields()") ;
+ executeMethod("getPageFields()") ;
+
+ oldCRA = oObj.getSourceRange() ;
+ oObj.setSourceRange(CRA);
+
+ tRes.tested("setSourceRange()", true);
+ }
+
+ /**
+ * Test calls the method and checks returned value with value that was set
+ * by method <code>setTag()</code>. <p>
+ * Has <b> OK </b> status if returned value is equal to value that was set
+ * by method <code>setTag()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTag() </code> : to have current tag </li>
+ * </ul>
+ */
+ public void _getTag(){
+ requiredMethod("setTag()");
+ boolean bResult = true;
+
+ String objTag = oObj.getTag();
+ bResult &= objTag.equals(sTag);
+
+ tRes.tested("getTag()", bResult);
+ }
+
+ /**
+ * Test just calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setTag(){
+ oObj.setTag(sTag);
+ tRes.tested("setTag()", true);
+ }
+
+ /**
+ * Test calls the method , checks returned value, compares
+ * number of fields goten from returned value and obtained by object
+ * relation <code>'FIELDSAMOUNT'</code> and set property
+ * <code>Orientation</code> to one of DataPilotFieldOrientation values. <p>
+ * Has <b> OK </b> status if returned value isn't null, number of fields
+ * goten from returned value is less than number of fields obtained by relation
+ * and no exceptions were thrown. <p>
+ */
+ public void _getDataPilotFields(){
+ boolean bResult = true;
+ XIndexAccess IA = null;
+
+ IA = oObj.getDataPilotFields();
+ if (IA == null) {
+ log.println("Returned value is null.");
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ } else {log.println("getDataPilotFields returned not Null value -- OK");}
+
+ fieldsAmount = IA.getCount();
+ if (fieldsAmount < tEnvFieldsAmount) {
+ log.println("Number of fields is less than number goten by relation.");
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ } else {log.println("count of returned fields -- OK");}
+
+ fieldsNames = new String[tEnvFieldsAmount];
+ int i = -1 ;
+ int cnt = 0 ;
+ while (++i < fieldsAmount) {
+ Object field;
+ try {
+ field = IA.getByIndex(i);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ }
+
+ XNamed named = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class, field);
+ String name = named.getName();
+
+ log.print("Field : '" + name + "' ... ") ;
+
+ if (!name.equals("Data")) {
+
+ fieldsNames[cnt] = name ;
+
+ XPropertySet props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, field);
+
+ try {
+ switch (cnt % 5) {
+ case 0 :
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.COLUMN);
+ log.println(" Column") ;
+ break;
+ case 1 :
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.ROW);
+ log.println(" Row") ;
+ break;
+ case 2 :
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.DATA);
+ log.println(" Data") ;
+ break;
+ case 3 :
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.HIDDEN);
+ log.println(" Hidden") ;
+ break;
+ case 4 :
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.PAGE);
+ log.println(" Page") ;
+ break;
+ } } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ }
+ if (++cnt > 4) break;
+ } else {
+ tRes.tested("getDataPilotFields()", false);
+ return;
+ }
+ }
+
+ tRes.tested("getDataPilotFields()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks returned collection using the method
+ * <code>CheckNames()</code>. <p>
+ * Has <b> OK </b> status if the method <code>CheckNames()</code> returns true
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDataPilotFields() </code> : to have array of field names </li>
+ * </ul>
+ */
+ public void _getColumnFields(){
+ requiredMethod("getDataPilotFields()");
+ XIndexAccess IA = oObj.getColumnFields();
+ boolean bResult = CheckNames(IA, 0);
+ tRes.tested("getColumnFields()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks returned collection using the method
+ * <code>CheckNames()</code>. <p>
+ * Has <b> OK </b> status if the method <code>CheckNames()</code> returned true
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDataPilotFields() </code> : to have array of field names </li>
+ * </ul>
+ */
+ public void _getDataFields(){
+ requiredMethod("getDataPilotFields()");
+ XIndexAccess IA = oObj.getDataFields();
+ boolean bResult = CheckNames(IA, 2);
+ tRes.tested("getDataFields()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks returned collection using the method
+ * <code>CheckNames()</code>. <p>
+ * Has <b> OK </b> status if the method <code>CheckNames()</code> returned true
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDataPilotFields() </code> : to have array of field names </li>
+ * </ul>
+ */
+ public void _getHiddenFields(){
+ requiredMethod("getDataPilotFields()");
+ XIndexAccess IA = oObj.getHiddenFields();
+ boolean bResult = CheckNames(IA, 3);
+ tRes.tested("getHiddenFields()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks returned collection using the method
+ * <code>CheckNames()</code>. <p>
+ * Has <b> OK </b> status if the method <code>CheckNames()</code> returned true
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDataPilotFields() </code> : to have array of field names </li>
+ * </ul>
+ */
+ public void _getRowFields(){
+ requiredMethod("getDataPilotFields()");
+ XIndexAccess IA = oObj.getRowFields();
+ boolean bResult = CheckNames(IA, 1);
+ tRes.tested("getRowFields()", bResult);
+ }
+
+ /**
+ * setting of PageFields isn't supported by StarOffice Calc
+ * Has <b> OK </b> status if the returned IndexAccess
+ * isn't NULL. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDataPilotFields() </code> : to have array of field names </li>
+ * </ul>
+ */
+ public void _getPageFields(){
+ requiredMethod("getDataPilotFields()");
+ XIndexAccess IA = oObj.getPageFields();
+ boolean bResult = (IA != null);
+ // boolean bResult = CheckNames(IA, 4);
+ tRes.tested("getPageFields()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null
+ * and no exceptions were thrown. <p>
+ */
+ public void _getFilterDescriptor(){
+ boolean bResult = oObj.getFilterDescriptor() != null;
+ tRes.tested("getFilterDescriptor()", bResult);
+ }
+
+ /**
+ * Method checks that the field with index <code>rem</code> exists
+ * in the array <code>IA</code>.
+ * @param IA collection of elements that support interface <code>XNamed</code>
+ * @param rem index of field in the array of field names that was stored in
+ * the method <code>getDataPilotFields()</code>
+ * @return true if required field name exists in passed collection;
+ * false otherwise
+ * @see com.sun.star.container.XNamed
+ */
+ boolean CheckNames(XIndexAccess IA, int rem) {
+ String name = null;
+
+ if (IA == null) {
+ log.println("Null retruned.") ;
+ return false ;
+ }
+
+ if (fieldsNames[rem] == null) {
+ log.println("No fields were set to this orientation - cann't check result") ;
+ return true ;
+ }
+
+ if (IA.getCount() == 0) {
+ log.println("No fields found. Must be at least '"
+ + fieldsNames[rem] + "'") ;
+ return false ;
+ }
+
+ try {
+ log.print("Fields returned ") ;
+ for (int i = 0; i < IA.getCount(); i++) {
+ Object field = IA.getByIndex(i);
+ XNamed named = (XNamed)UnoRuntime.queryInterface
+ (XNamed.class, field);
+ name = named.getName();
+ log.print(" " + name) ;
+ if (fieldsNames[rem].equals(name)) {
+ log.println(" - OK") ;
+ return true ;
+ }
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ return false ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ return false ;
+ }
+ log.println(" - FAILED (field " + fieldsNames[rem] + " was not found.") ;
+ return false ;
+ }
+
+ /**
+ * Recreates object(to back old orientations of the fields).
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDataPilotField.java b/qadevOOo/tests/java/ifc/sheet/_XDataPilotField.java
new file mode 100644
index 000000000000..6e29ad3ceaa4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDataPilotField.java
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sheet.XDataPilotField;
+
+import lib.MultiMethodTest;
+
+
+public class _XDataPilotField extends MultiMethodTest {
+ public XDataPilotField oObj = null;
+
+ public void _getItems() {
+ XIndexAccess xIA = oObj.getItems();
+ tRes.tested("getItems()", checkIndexAccess(xIA));
+ }
+
+ /**
+ * calls the method getCount at the IndexAccess, returns true is it is >0
+ * and getByIndex() doesn't throw an exception for Indexes between 0 and count
+ */
+ protected boolean checkIndexAccess(XIndexAccess xIA) {
+ boolean res = true;
+ int count = xIA.getCount();
+ log.println("Found " + count + " Elements");
+ res &= (count > 0);
+
+ for (int k = 0; k < count; k++) {
+ try {
+ Object element = xIA.getByIndex(k);
+ log.println("Element " + k + " = " + element);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected Exception while getting by Index (" + k +
+ ")" + e.getMessage());
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception while getting by Index (" + k +
+ ")" + e.getMessage());
+ res &= false;
+ }
+ }
+
+ return res;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDataPilotFieldGrouping.java b/qadevOOo/tests/java/ifc/sheet/_XDataPilotFieldGrouping.java
new file mode 100644
index 000000000000..5f17837fdb0d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDataPilotFieldGrouping.java
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sheet.DataPilotFieldGroupBy;
+import com.sun.star.sheet.DataPilotFieldGroupInfo;
+import com.sun.star.sheet.XDataPilotField;
+import com.sun.star.sheet.XDataPilotFieldGrouping;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+
+/**
+ *
+ * @author sw93809
+ */
+public class _XDataPilotFieldGrouping extends MultiMethodTest
+{
+ public XDataPilotFieldGrouping oObj = null;
+
+ public void _createNameGroup() {
+ boolean result = true;
+ try {
+ XDataPilotField xDataPilotField = (XDataPilotField) UnoRuntime.queryInterface(XDataPilotField.class, oObj);
+ XNameAccess xNameAccess = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, xDataPilotField.getItems ());
+ String[] elements = xNameAccess.getElementNames ();
+ oObj.createNameGroup(elements);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking createNameGroup"+e);
+ result = false;
+ }
+ tRes.tested ("createNameGroup()",result);
+ }
+
+ public void _createDateGroup() {
+ boolean result = true;
+ try {
+ DataPilotFieldGroupInfo aInfo = new DataPilotFieldGroupInfo();
+ aInfo.GroupBy = DataPilotFieldGroupBy.MONTHS;
+ aInfo.HasDateValues = true;
+ oObj.createDateGroup(aInfo);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking createDateGroup"+e);
+ result = false;
+ }
+ tRes.tested ("createDateGroup()",result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDataPilotTable.java b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTable.java
new file mode 100644
index 000000000000..a63617672ed8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTable.java
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XDataPilotTable;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+
+/**
+* Testing <code>com.sun.star.sheet.XDataPilotTable</code>
+* interface methods :
+* <ul>
+* <li><code> getOutputRange()</code></li>
+* <li><code> refresh()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'OUTPUTRANGE'</code> (of type <code>CellAddress</code>):
+* to check value returned by method <code>getOutputRange()</code> </li>
+* <li> <code>'CELLFORCHANGE'</code> (of type <code>XCell</code>):
+* to check the method refresh(value of this cell will be changed)</li>
+* <li> <code>'CELLFORCHECK'</code> (of type <code>XCell</code>):
+* to check the method refresh (value of this cell must be changed after refresh
+* call) </li><ul> <p>
+* @see com.sun.star.sheet.XDataPilotTable
+* @see com.sun.star.table.CellAddress
+*/
+public class _XDataPilotTable extends MultiMethodTest {
+
+ public XDataPilotTable oObj = null;
+ XCell xCellForChange = null;
+ XCell xCellForCheck = null;
+ CellAddress OutputRange = null;
+
+ protected void before() {
+ xCellForChange = (XCell)tEnv.getObjRelation("CELLFORCHANGE");
+ xCellForCheck = (XCell)tEnv.getObjRelation("CELLFORCHECK");
+ OutputRange = (CellAddress)tEnv.getObjRelation("OUTPUTRANGE");
+ if (xCellForChange == null || OutputRange == null ||
+ xCellForCheck == null) {
+ throw new StatusException(Status.failed("Relation not found"));
+ }
+ }
+ /**
+ * Test calls the method and checks returned value using value obtained by
+ * object relation <code>'OUTPUTRANGE'</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ */
+ public void _getOutputRange(){
+ boolean bResult = true;
+ CellRangeAddress objRange = oObj.getOutputRange();
+ bResult &= OutputRange.Sheet == objRange.Sheet;
+ bResult &= OutputRange.Row == objRange.StartRow;
+ bResult &= OutputRange.Column == objRange.StartColumn;
+ tRes.tested("getOutputRange()", bResult);
+ }
+
+ /**
+ * Test sets new value of the cell obtained by object relation
+ * 'CELLFORCHANGE', and checks value of the cell obtained by object
+ * relation 'CELLFORCHECK'.<p>
+ * Has <b>OK</b> status if value of the cell obtained by object relation
+ * 'CELLFORCHECK' is changed. <p>
+ */
+ public void _refresh(){
+ xCellForChange.setValue(5);
+ double oldData = xCellForCheck.getValue();
+ oObj.refresh();
+ double newData = xCellForCheck.getValue();
+ log.println("Old data:" + oldData + "; new data:" + newData);
+
+ tRes.tested("refresh()", oldData != newData);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDataPilotTable2.java b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTable2.java
new file mode 100644
index 000000000000..f3096efc12ab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTable2.java
@@ -0,0 +1,576 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import java.util.ArrayList;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.sheet.*;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellCursor;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.sheet.XDataPilotTable2</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getDrillDownData()</code><li>
+ * <li><code> getPositionData()</code></li>
+ * <li><code> insertDrillDownSheet()</code></li>
+ * <li><code> getOutputRangeByType</code></li>
+ * </ul>
+ *
+ * @see com.sun.star.sheet.XDataPilotTable2
+ * @see com.sun.star.table.CellAddress
+ *
+ */
+public class _XDataPilotTable2 extends MultiMethodTest
+{
+ private XSpreadsheetDocument xSheetDoc = null;
+ private XDataPilotTable2 xDPTab2 = null;
+ private CellRangeAddress mRangeWhole = null;
+ private CellRangeAddress mRangeTable = null;
+ private CellRangeAddress mRangeResult = null;
+ private ArrayList mDataFieldDims = null;
+ private ArrayList mResultCells = null;
+
+ /**
+ * exception to be thrown when obtaining a result data for a cell fails
+ * (probably because the cell is not a result cell).
+ */
+ private class ResultCellFailure extends com.sun.star.uno.Exception {}
+
+ protected void before()
+ {
+ Object o = tEnv.getObjRelation("DATAPILOTTABLE2");
+ xDPTab2 = (XDataPilotTable2)UnoRuntime.queryInterface(
+ XDataPilotTable2.class, o);
+
+ if (xDPTab2 == null)
+ throw new StatusException(Status.failed("Relation not found"));
+
+ xSheetDoc = (XSpreadsheetDocument)tEnv.getObjRelation("SHEETDOCUMENT");
+
+ getOutputRanges();
+ buildDataFields();
+ try
+ {
+ buildResultCells();
+ }
+ catch (ResultCellFailure e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException( "Failed to build result cells.", e);
+ }
+ }
+
+ public void _getDrillDownData()
+ {
+ boolean testResult = true;
+ int cellCount = mResultCells.size();
+ for (int i = 0; i < cellCount; ++i)
+ {
+ CellAddress addr = (CellAddress)mResultCells.get(i);
+ DataPilotTablePositionData posData = xDPTab2.getPositionData(addr);
+ DataPilotTableResultData resData = (DataPilotTableResultData)posData.PositionData;
+ int dim = ((Integer)mDataFieldDims.get(resData.DataFieldIndex)).intValue();
+ DataResult res = resData.Result;
+ double val = res.Value;
+
+ Object[][] data = xDPTab2.getDrillDownData(addr);
+ double sum = 0.0;
+ if (data.length > 1)
+ {
+ for (int row = 1; row < data.length; ++row)
+ {
+ Object o = data[row][dim];
+ if (AnyConverter.isDouble(o))
+ sum += ((Double)o).doubleValue();
+ }
+ }
+ log.println(formatCell(addr) + ": " + data.length + " rows (" + (data.length-1) + " records)");
+
+ if (val != sum)
+ testResult = false;
+ }
+ tRes.tested("getDrillDownData()", testResult);
+ }
+
+ public void _getPositionData()
+ {
+ boolean testResult = false;
+
+ do
+ {
+ CellAddress addr = new CellAddress();
+ addr.Sheet = mRangeTable.Sheet;
+
+ boolean rangeGood = true;
+ for (int x = mRangeTable.StartColumn; x <= mRangeTable.EndColumn && rangeGood; ++x)
+ {
+ for (int y = mRangeTable.StartRow; y <= mRangeTable.EndRow && rangeGood; ++y)
+ {
+ addr.Column = x;
+ addr.Row = y;
+ log.println("checking " + formatCell(addr));
+ DataPilotTablePositionData posData = xDPTab2.getPositionData(addr);
+ if (posData.PositionType == DataPilotTablePositionType.NOT_IN_TABLE)
+ {
+ log.println("specified cell address not in table: " + formatCell(addr));
+ rangeGood = false;
+ continue;
+ }
+
+ switch (posData.PositionType)
+ {
+ case DataPilotTablePositionType.NOT_IN_TABLE:
+ break;
+ case DataPilotTablePositionType.COLUMN_HEADER:
+ printHeaderData(posData);
+ break;
+ case DataPilotTablePositionType.ROW_HEADER:
+ printHeaderData(posData);
+ break;
+ case DataPilotTablePositionType.RESULT:
+ printResultData(posData);
+ break;
+ case DataPilotTablePositionType.OTHER:
+ break;
+ default:
+ log.println("unknown position");
+ }
+ }
+ }
+
+ if (!rangeGood)
+ {
+ log.println("table range check failed");
+ break;
+ }
+
+ testResult = true;
+ }
+ while (false);
+
+ tRes.tested("getPositionData()", testResult);
+ }
+
+ public void _insertDrillDownSheet()
+ {
+ boolean testResult = true;
+ int cellCount = mResultCells.size();
+ XSpreadsheets xSheets = xSheetDoc.getSheets();
+ XIndexAccess xIA = (XIndexAccess)UnoRuntime.queryInterface(
+ XIndexAccess.class, xSheets);
+ int sheetCount = xIA.getCount();
+ for (int i = 0; i < cellCount && testResult; ++i)
+ {
+ CellAddress addr = (CellAddress)mResultCells.get(i);
+
+ Object[][] data = xDPTab2.getDrillDownData(addr);
+
+ // sheet is always inserted at the current sheet position.
+ xDPTab2.insertDrillDownSheet(addr);
+
+ int newSheetCount = xIA.getCount();
+ if (newSheetCount == sheetCount + 1)
+ {
+ log.println("drill-down sheet for " + formatCell(addr) + " inserted");
+ if (data.length < 2)
+ {
+ // There is no data for this result. It should never have
+ // inserted a drill-down sheet.
+ log.println("new sheet inserted; however, there is no data for this result");
+ testResult = false;
+ continue;
+ }
+
+ // Retrieve the object of the sheet just inserted.
+ XSpreadsheet xSheet = null;
+ try
+ {
+ xSheet = (XSpreadsheet)UnoRuntime.queryInterface(
+ XSpreadsheet.class, xIA.getByIndex(addr.Sheet));
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace();
+ throw new StatusException("Failed to get the spreadsheet object.", e);
+ }
+
+ // Check the integrity of the data on the inserted sheet.
+ if (!checkDrillDownSheetContent(xSheet, data))
+ {
+ log.println("dataintegrity check on the inserted sheet failed");
+ testResult = false;
+ continue;
+ }
+
+ log.println(" sheet data integrity check passed");
+
+ // Remove the sheet just inserted.
+
+ XNamed xNamed = (XNamed)UnoRuntime.queryInterface(XNamed.class, xSheet);
+ String name = xNamed.getName();
+ try
+ {
+ xSheets.removeByName(name);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace();
+ throw new StatusException("Failed to removed the inserted sheet named " + name + ".", e);
+ }
+ }
+ else if (newSheetCount == sheetCount)
+ {
+ if (data.length > 1)
+ {
+ // There is data for this result. It should have inserted
+ // a new sheet.
+ log.println("no new sheet is inserted, despite the data being present.");
+ testResult = false;
+ }
+ }
+ else
+ {
+ log.println("what just happened!?");
+ testResult = false;
+ }
+ }
+
+ tRes.tested("insertDrillDownSheet()", testResult);
+ }
+
+ public void _getOutputRangeByType()
+ {
+ boolean testResult = false;
+
+ do
+ {
+ // Let's make sure this doesn't cause a crash. A range returned for an
+ // out-of-bound condition is undefined.
+ try
+ {
+ CellRangeAddress rangeOutOfBound = xDPTab2.getOutputRangeByType(-1);
+ log.println("exception not raised");
+ break;
+ }
+ catch (IllegalArgumentException e)
+ {
+ log.println("exception raised on invalid range type (good)");
+ }
+
+ try
+ {
+ CellRangeAddress rangeOutOfBound = xDPTab2.getOutputRangeByType(100);
+ log.println("exception not raised");
+ break;
+ }
+ catch (IllegalArgumentException e)
+ {
+ log.println("exception raised on invalid range type (good)");
+ }
+
+ // Check to make sure the whole range is not empty.
+ if (mRangeWhole.EndColumn - mRangeWhole.StartColumn <= 0 ||
+ mRangeWhole.EndRow - mRangeWhole.EndColumn <= 0)
+ {
+ log.println("whole range is empty");
+ break;
+ }
+
+ log.println("whole range is not empty (good)");
+
+ // Table range must be of equal width with the whole range, and the same
+ // bottom.
+ if (mRangeTable.Sheet != mRangeWhole.Sheet ||
+ mRangeTable.StartColumn != mRangeWhole.StartColumn ||
+ mRangeTable.EndColumn != mRangeWhole.EndColumn ||
+ mRangeTable.EndRow != mRangeWhole.EndRow)
+ {
+ log.println("table range is incorrect");
+ break;
+ }
+
+ log.println("table range is correct");
+
+ // Result range must be smaller than the table range, and must share the
+ // same lower-right corner.
+ if (mRangeResult.Sheet != mRangeTable.Sheet ||
+ mRangeResult.StartColumn < mRangeTable.StartColumn ||
+ mRangeResult.StartRow < mRangeTable.StartRow ||
+ mRangeResult.EndColumn != mRangeTable.EndColumn ||
+ mRangeResult.EndRow != mRangeTable.EndRow)
+ break;
+
+ log.println("result range is correct");
+
+ testResult = true;
+ }
+ while (false);
+
+ tRes.tested("getOutputRangeByType()", testResult);
+ }
+
+ private void printHeaderData(DataPilotTablePositionData posData)
+ {
+ DataPilotTableHeaderData header = (DataPilotTableHeaderData)posData.PositionData;
+ String posType = "";
+ if (posData.PositionType == DataPilotTablePositionType.COLUMN_HEADER)
+ posType = "column header";
+ else if (posData.PositionType == DataPilotTablePositionType.ROW_HEADER)
+ posType = "row header";
+
+ log.println(posType + "; member name: " + header.MemberName + "; dimension: " +
+ header.Dimension + "; hierarchy: " + header.Hierarchy +
+ "; level: " + header.Level);
+ }
+
+ private void printResultData(DataPilotTablePositionData posData)
+ {
+ DataPilotTableResultData resultData = (DataPilotTableResultData)posData.PositionData;
+ int dataId = resultData.DataFieldIndex;
+ DataResult res = resultData.Result;
+ double val = res.Value;
+ int flags = res.Flags;
+ int filterCount = resultData.FieldFilters.length;
+ log.println("result; data field index: " + dataId + "; value: " + val + "; flags: " + flags +
+ "; filter count: " + filterCount);
+
+ for (int i = 0; i < filterCount; ++i)
+ {
+ DataPilotFieldFilter fil = resultData.FieldFilters[i];
+ log.println(" field name: " + fil.FieldName + "; match value: " + fil.MatchValue);
+ }
+ }
+
+ private String formatCell(CellAddress addr)
+ {
+ String str = "(" + addr.Column + "," + addr.Row + ")";
+ return str;
+ }
+
+ private void printRange(String text, CellRangeAddress rangeAddr)
+ {
+ log.println(text + ": (" + rangeAddr.StartColumn + "," + rangeAddr.StartRow + ") - (" +
+ rangeAddr.EndColumn + "," + rangeAddr.EndRow + ")");
+ }
+
+ private void buildResultCells() throws ResultCellFailure
+ {
+ if (mResultCells != null)
+ return;
+
+ getOutputRanges();
+
+ mResultCells = new ArrayList();
+ for (int x = mRangeResult.StartColumn; x <= mRangeResult.EndColumn; ++x)
+ {
+ for (int y = mRangeResult.StartRow; y <= mRangeResult.EndRow; ++y)
+ {
+ CellAddress addr = new CellAddress();
+ addr.Sheet = mRangeResult.Sheet;
+ addr.Column = x;
+ addr.Row = y;
+ DataPilotTablePositionData posData = xDPTab2.getPositionData(addr);
+ if (posData.PositionType != DataPilotTablePositionType.RESULT)
+ {
+ log.println(formatCell(addr) + ": this is not a result cell");
+ throw new ResultCellFailure();
+ }
+ mResultCells.add(addr);
+ }
+ }
+ }
+
+ private void buildDataFields()
+ {
+ mDataFieldDims = new ArrayList();
+ XDataPilotDescriptor xDesc = (XDataPilotDescriptor)UnoRuntime.queryInterface(
+ XDataPilotDescriptor.class, xDPTab2);
+
+ XIndexAccess xFields = xDesc.getDataPilotFields();
+ int fieldCount = xFields.getCount();
+ for (int i = 0; i < fieldCount; ++i)
+ {
+ try
+ {
+ Object field = xFields.getByIndex(i);
+ XPropertySet propSet = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, field);
+ DataPilotFieldOrientation orient =
+ (DataPilotFieldOrientation)propSet.getPropertyValue("Orientation");
+ if (orient == DataPilotFieldOrientation.DATA)
+ {
+ Integer item = new Integer(i);
+ mDataFieldDims.add(item);
+ }
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException( "Failed to get a field.", e);
+ }
+ }
+ }
+
+ private void getOutputRanges()
+ {
+ if (mRangeWhole != null && mRangeTable != null && mRangeResult != null)
+ return;
+
+ try
+ {
+ mRangeWhole = xDPTab2.getOutputRangeByType(DataPilotOutputRangeType.WHOLE);
+ printRange("whole range ", mRangeWhole);
+ mRangeTable = xDPTab2.getOutputRangeByType(DataPilotOutputRangeType.TABLE);
+ printRange("table range ", mRangeTable);
+ mRangeResult = xDPTab2.getOutputRangeByType(DataPilotOutputRangeType.RESULT);
+ printRange("result range", mRangeResult);
+ }
+ catch (IllegalArgumentException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException( "Failed to get output range by type.", e);
+ }
+ }
+
+ private boolean checkDrillDownSheetContent(XSpreadsheet xSheet, Object[][] data)
+ {
+ CellAddress lastCell = getLastUsedCellAddress(xSheet, 0, 0);
+ if (data.length <= 0 || lastCell.Row == 0 || lastCell.Column == 0)
+ {
+ log.println("empty data condition");
+ return false;
+ }
+
+ if (data.length != lastCell.Row + 1 || data[0].length != lastCell.Column + 1)
+ {
+ log.println("data size differs");
+ return false;
+ }
+
+ XCellRange xCR = null;
+ try
+ {
+ xCR = xSheet.getCellRangeByPosition(0, 0, lastCell.Column, lastCell.Row);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ return false;
+ }
+
+ XCellRangeData xCRD = (XCellRangeData)UnoRuntime.queryInterface(
+ XCellRangeData.class, xCR);
+
+ Object[][] sheetData = xCRD.getDataArray();
+ for (int x = 0; x < sheetData.length; ++x)
+ {
+ for (int y = 0; y < sheetData[x].length; ++y)
+ {
+ Object cell1 = sheetData[x][y];
+ Object cell2 = data[x][y];
+ if (AnyConverter.isString(cell1) && AnyConverter.isString(cell2))
+ {
+ String s1 = (String)cell1, s2 = (String)(cell2);
+ if (!s1.equals(s2))
+ {
+ log.println("string cell values differ");
+ return false;
+ }
+ }
+ else if (AnyConverter.isDouble(cell1) && AnyConverter.isDouble(cell2))
+ {
+ double f1 = 0.0, f2 = 0.0;
+ try
+ {
+ f1 = AnyConverter.toDouble(cell1);
+ f2 = AnyConverter.toDouble(cell2);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ log.println("failed to convert cells to double");
+ return false;
+ }
+
+ if (f1 != f2)
+ {
+ log.println("numerical cell values differ");
+ return false;
+ }
+ }
+ else
+ {
+ log.println("cell types differ");
+ return false;
+ }
+ }
+ }
+
+ return true;
+ }
+
+ private CellAddress getLastUsedCellAddress(XSpreadsheet xSheet, int nCol, int nRow)
+ {
+ try
+ {
+ XCellRange xRng = xSheet.getCellRangeByPosition(nCol, nRow, nCol, nRow);
+ XSheetCellRange xSCR = (XSheetCellRange)UnoRuntime.queryInterface(
+ XSheetCellRange.class, xRng);
+
+ XSheetCellCursor xCursor = xSheet.createCursorByRange(xSCR);
+ XCellCursor xCellCursor = (XCellCursor)UnoRuntime.queryInterface(
+ XCellCursor.class, xCursor);
+
+ xCellCursor.gotoEnd();
+ XCell xCell = xCursor.getCellByPosition(0, 0);
+ XCellAddressable xCellAddr = (XCellAddressable)UnoRuntime.queryInterface(
+ XCellAddressable.class, xCell);
+
+ return xCellAddr.getCellAddress();
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException ex)
+ {
+ }
+ return null;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDataPilotTables.java b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTables.java
new file mode 100644
index 000000000000..09ee1da76551
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTables.java
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XDataPilotTables</code>
+* interface methods :
+* <ul>
+* <li><code> createDataPilotDescriptor()</code></li>
+* <li><code> insertNewByName()</code></li>
+* <li><code> removeByName()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SHEET'</code> (of type <code>XSpreadsheet</code>):
+* to have a spreadsheet document for document content checking</li>
+* <ul> <p>
+* @see com.sun.star.sheet.XDataPilotTables
+*/
+public class _XDataPilotTables extends MultiMethodTest {
+
+ public XDataPilotTables oObj = null;
+ XDataPilotDescriptor DPDscr = null;
+ String name = "XDataPilotTables";
+ CellAddress CA = new CellAddress((short)0, 9, 8);
+ XSpreadsheet oSheet = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ protected void before() {
+ oSheet = (XSpreadsheet)tEnv.getObjRelation("SHEET");
+ if (oSheet == null) throw new StatusException(Status.failed
+ ("Relation 'SHEET' not found"));
+ }
+
+ /**
+ * Test calls the method, stores returned value and checks returned value.
+ * <p>Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _createDataPilotDescriptor(){
+ DPDscr = oObj.createDataPilotDescriptor();
+ tRes.tested("createDataPilotDescriptor()", DPDscr != null);
+ }
+
+ /**
+ * Test calls the method inserting new table with new name and then calls
+ * the method inserting table with existent name. <p>
+ * Has <b> OK </b> status if the cell content where table was inserted is
+ * equal to 'Filter' after first call and exception was thrown during
+ * second call. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createDataPilotDescriptor() </code> : to have
+ * <code>XDataPilotDescriptor</code> created by this method</li>
+ * </ul>
+ */
+ public void _insertNewByName(){
+ requiredMethod("createDataPilotDescriptor()");
+ boolean bResult = true;
+ log.println("Inserting new Table \"" + name + "\"");
+ try {
+ oObj.insertNewByName(name, CA, DPDscr);
+ bResult &= oSheet.getCellByPosition
+ (CA.Column, CA.Row).getFormula().equals("Filter");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured! " + e);
+ bResult = false;
+ }
+
+ log.println(bResult ? "OK" : "FAILED");
+ log.println("Trying to insert element with existent name");
+
+ try {
+ oObj.insertNewByName(name,new CellAddress((short)0, 7, 7), DPDscr);
+ log.println("No exception! - FAILED");
+ bResult = false;
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Expected exception - OK " + e);
+ }
+
+ log.println("Inserting new table " + (bResult ? "OK" : "FAILED"));
+ tRes.tested("insertNewByName()", bResult);
+ }
+
+ /**
+ * Test calls the method for existent table and for unexistent table. <p>
+ * Has <b> OK </b> status if the cell where table was removed from is empty
+ * after first call and exception was thrown during second call. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>insertNewByName()</code>: to have name of existent table</li>
+ * </ul>
+ */
+ public void _removeByName(){
+ requiredMethod("insertNewByName()");
+ boolean bResult = true;
+ log.println("Remove table with name " + name);
+ try {
+ oObj.removeByName(name);
+ bResult &= oSheet.getCellByPosition
+ (CA.Column, CA.Row).getFormula().equals("");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured ! " + e);
+ bResult = false;
+ }
+ log.println(bResult ? "OK" : "FAILED");
+ log.println("Removing unexistent element");
+ try {
+ oObj.removeByName(name);
+ log.println("No exception! - FAILED");
+ bResult = false;
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Expected exception - OK " + e);
+ }
+
+ log.println("Removing a table " + (bResult ? "OK" : "FAILED"));
+ tRes.tested("removeByName()", bResult);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDataPilotTablesSupplier.java b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTablesSupplier.java
new file mode 100644
index 000000000000..a291d3513f8f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDataPilotTablesSupplier.java
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+
+/**
+* Testing <code>com.sun.star.sheet.XDataPilotTablesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getDataPilotTables()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XDataPilotTablesSupplier
+*/
+public class _XDataPilotTablesSupplier extends MultiMethodTest {
+
+ public XDataPilotTablesSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null
+ * and no exceptions were thrown. <p>
+ */
+ public void _getDataPilotTables() {
+ XDataPilotTables DPTables = oObj.getDataPilotTables();
+ tRes.tested("getDataPilotTables()", DPTables != null);
+ }
+
+
+} // EOC _XDataPilotTablesSupplier
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDatabaseRange.java b/qadevOOo/tests/java/ifc/sheet/_XDatabaseRange.java
new file mode 100644
index 000000000000..3b3d3713a5b2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDatabaseRange.java
@@ -0,0 +1,244 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sheet.SubTotalColumn;
+import com.sun.star.sheet.XDatabaseRange;
+import com.sun.star.sheet.XSheetFilterDescriptor;
+import com.sun.star.sheet.XSubTotalDescriptor;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+
+/**
+* Testing <code>com.sun.star.sheet.XDatabaseRange</code>
+* interface methods :
+* <ul>
+* <li><code> getDataArea()</code></li>
+* <li><code> setDataArea()</code></li>
+* <li><code> getSortDescriptor()</code></li>
+* <li><code> getFilterDescriptor()</code></li>
+* <li><code> getSubTotalDescriptor()</code></li>
+* <li><code> getImportDescriptor()</code></li>
+* <li><code> refresh()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DATAAREA'</code> (of type <code>CellRangeAddress</code>):
+* to have cell range address for test of method <code>getDataArea()</code></li>
+* <li> <code>'XCELLRANGE'</code> (of type <code>XCellRange</code>):
+* cell range of the spreadsheet with database range,
+* to get values of cell</li>
+* <ul> <p>
+* @see com.sun.star.sheet.XDatabaseRange
+* @see com.sun.star.table.CellRangeAddress
+*/
+public class _XDatabaseRange extends MultiMethodTest {
+
+ public XDatabaseRange oObj = null;
+ CellRangeAddress oldCRA = null;
+ XCellRange xCellRange = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ protected void before() {
+ oldCRA = (CellRangeAddress)tEnv.getObjRelation("DATAAREA");
+ if (oldCRA == null) {
+ throw new StatusException(Status.failed
+ ("Relation 'DATAAREA' not found"));
+ }
+ xCellRange = (XCellRange)tEnv.getObjRelation("XCELLRANGE");
+ if (xCellRange == null) {
+ throw new StatusException(Status.failed
+ ("Relation 'XCELLRANGE' not found"));
+ }
+ }
+
+ /**
+ * Test calls the method and compares returned cell range address with
+ * cell range address obtained by object relation <code>'DATAAREA'</code>.<p>
+ * Has <b> OK </b> status if all fields of cell range addresses are equal. <p>
+ */
+ public void _getDataArea() {
+ boolean bResult = true;
+ CellRangeAddress objCRA = oObj.getDataArea();
+ bResult &= objCRA.EndColumn == oldCRA.EndColumn;
+ bResult &= objCRA.EndRow == oldCRA.EndRow;
+ bResult &= objCRA.Sheet == oldCRA.Sheet;
+ bResult &= objCRA.StartColumn == oldCRA.StartColumn;
+ bResult &= objCRA.StartRow == oldCRA.StartRow;
+ tRes.tested("getDataArea()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getFilterDescriptor() {
+ XSheetFilterDescriptor FD = oObj.getFilterDescriptor();
+ tRes.tested("getFilterDescriptor()", FD != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getImportDescriptor() {
+ PropertyValue[] pva = oObj.getImportDescriptor();
+ tRes.tested("getImportDescriptor()", pva != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSortDescriptor() {
+ PropertyValue[] pva = oObj.getSortDescriptor();
+ tRes.tested("getSortDescriptor()", pva != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSubTotalDescriptor() {
+ STD = oObj.getSubTotalDescriptor();
+ tRes.tested("getSubTotalDescriptor()", STD != null);
+ }
+
+ XSubTotalDescriptor STD = null;
+
+ /**
+ * Test adds new SubTotalDescriptor and checks value of cell with
+ * subtotal sum after refresh() call. <p>
+ * Has <b> OK </b> if value of cell with subtotal sum was changed
+ * after refresh() call.<p>
+ */
+ public void _refresh() {
+ requiredMethod("getSubTotalDescriptor()");
+ requiredMethod("setDataArea()");
+
+ for(int i = STARTROW; i < ENDROW+1; i++) {
+ try {
+ XCell cell = xCellRange.getCellByPosition(COL, i);
+ cell.setValue(i);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ tRes.tested("refresh()", false);
+ }
+ }
+
+ SubTotalColumn[] STC = new SubTotalColumn[1];
+ STC[0] = new SubTotalColumn();
+ STC[0].Column = COL;
+ STC[0].Function = com.sun.star.sheet.GeneralFunction.SUM;
+
+ double oldVal = 0;
+ try {
+ XCell checkCell = xCellRange.getCellByPosition(COL, ENDROW);
+ oldVal = checkCell.getValue();
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ tRes.tested("refresh()", false);
+ }
+ log.println("Value of the cell (" + COL + ", " + ENDROW +
+ ") : " + oldVal );
+
+ log.println("Set new SubTotal descriptor...");
+
+ STD.clear();
+ STD.addNew(STC, 1);
+
+ double valBeforeRefresh = 0;
+ try {
+ XCell checkCell = xCellRange.getCellByPosition(COL, ENDROW);
+ valBeforeRefresh = checkCell.getValue();
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ tRes.tested("refresh()", false);
+ }
+ log.println("Value of the cell (" + COL + ", " + ENDROW +
+ ") : " + valBeforeRefresh );
+
+ log.println("Now call refresh()...");
+ oObj.refresh();
+
+ double valAfterRefresh = 0;
+ try {
+ XCell checkCell = xCellRange.getCellByPosition(COL, ENDROW);
+ valAfterRefresh = checkCell.getValue();
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ tRes.tested("refresh()", false);
+ }
+ log.println("Value of the cell (" + COL + ", " + ENDROW +
+ ") : " + valAfterRefresh );
+
+ tRes.tested("refresh()", oldVal != valAfterRefresh &&
+ oldVal == valBeforeRefresh);
+ }
+
+ final short COL = 0;
+ final short STARTROW = 0;
+ final short ENDROW = 5;
+
+ /**
+ * Test creates new cell range address and calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setDataArea() {
+ executeMethod("getDataArea()");
+ CellRangeAddress newCRA = new CellRangeAddress();
+ newCRA.Sheet = oldCRA.Sheet;
+ newCRA.StartColumn = COL;
+ newCRA.EndColumn = COL;
+ newCRA.StartRow = STARTROW;
+ newCRA.EndRow = ENDROW;
+
+ oObj.setDataArea(newCRA);
+
+ tRes.tested("setDataArea()", true);
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDatabaseRanges.java b/qadevOOo/tests/java/ifc/sheet/_XDatabaseRanges.java
new file mode 100644
index 000000000000..c5f5307cda41
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDatabaseRanges.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XDatabaseRanges;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XDatabaseRanges</code>
+* interface methods :
+* <ul>
+* <li><code> addNewByName()</code></li>
+* <li><code> removeByName()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XDatabaseRanges
+*/
+public class _XDatabaseRanges extends MultiMethodTest {
+
+ public XDatabaseRanges oObj = null;
+ CellRangeAddress CRA = null;
+ String name = null;
+
+ /**
+ * Test adds a new database range to the collection, checks that range with
+ * this name exist in collection and then tries to add range with the same
+ * name. <p>
+ * Has <b> OK </b> status if the added range exists in collection and
+ * exception was thrown when trying to add range with name that is same as name
+ * of existent range. <p>
+ */
+ public void _addNewByName() {
+ boolean bResult = true;
+ log.println("Trying to add range with proper name.");
+
+ CRA = new CellRangeAddress((short)0, 1, 2, 3, 4);
+ name = "_XDatabaseRanges_addNewByRange";
+
+ oObj.addNewByName(name, CRA);
+
+ bResult &= oObj.hasByName(name);
+
+ if (bResult) log.println("Ok");
+ log.println("Trying to add existing element.");
+
+ try {
+ oObj.addNewByName(name, CRA);
+ log.println("Exception expected... Test failed.");
+ bResult = false;
+ } catch(com.sun.star.uno.RuntimeException e) {
+ log.println("Exception occured while testing addNewByName() : " + e);
+ bResult = true;
+ }
+
+ tRes.tested("addNewByName()", bResult);
+ }
+
+ /**
+ * Test removes the database range with name that exist exactly and then
+ * tries to remove the range with name that doesn't exist exactly. <p>
+ * Has <b> OK </b> status if first range was succesfully removed and
+ * exception was thrown when trying to remove non-existent database range.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addNewByName() </code> : to have definitely existed database
+ * range </li>
+ * </ul>
+ */
+ public void _removeByName(){
+ boolean bResult = true;
+ requiredMethod("addNewByName()");
+
+ log.println("Remove inserted element.");
+
+ try {
+ oObj.removeByName(name);
+ bResult &= !oObj.hasByName(name);
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Exception occured while testing removeByName() : " + e);
+ bResult = false;
+ }
+
+ log.println("OK.\nTrying to remove unexistant element.");
+
+ try {
+ oObj.removeByName(name);
+ log.println("Exception expected... - FAILED");
+ bResult = false;
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Expected exception. - OK : " + e);
+ }
+ tRes.tested("removeByName()", bResult);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XDocumentAuditing.java b/qadevOOo/tests/java/ifc/sheet/_XDocumentAuditing.java
new file mode 100644
index 000000000000..084ce09934c7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XDocumentAuditing.java
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.awt.Point;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XDispatchHelper;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XDocumentAuditing;
+import com.sun.star.sheet.XSheetAuditing;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XDocumentAuditing extends MultiMethodTest {
+ public XDocumentAuditing oObj = null;
+ XDrawPage xDrawPage = null;
+ XSpreadsheet[] xSheet = null;
+ int elementCount = 0;
+ String sheetName = null;
+ Point pos = null;
+
+ public void before() {
+ Exception ex = null;
+ // get two sheets
+ xSheet = new XSpreadsheet[2];
+ try {
+ XSpreadsheetDocument xSpreadsheetDocument = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, oObj);
+ XSpreadsheets oSheets = xSpreadsheetDocument.getSheets();
+ XIndexAccess oIndexSheets = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, oIndexSheets.getByIndex(0));
+ xSheet[0] = oSheet;
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, oIndexSheets.getByIndex(1));
+ xSheet[1] = oSheet;
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ ex = e;
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ ex = e;
+ }
+ catch(java.lang.NullPointerException e) {
+ ex = e;
+ }
+ if (ex != null) {
+ throw new StatusException("Could not get two sheets.", ex);
+ }
+
+ // get the draw page for checking the shapes
+ xDrawPage = (XDrawPage)tEnv.getObjRelation("XDocumentAuditing.DrawPage");
+ if (xDrawPage == null) { // get from object
+ try {
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, oObj);
+ Object o = oDPS.getDrawPages().getByIndex(1);
+ xDrawPage = (XDrawPage)UnoRuntime.queryInterface(XDrawPage.class, o);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ } // ignore exceptions, we'll run into next if statement anyway
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ }
+ }
+ if (xDrawPage == null) {
+ throw new StatusException(Status.failed("'XSheetAuditing.DrawPage' object relation not found."));
+ }
+ if (xDrawPage.hasElements()) {
+ elementCount = xDrawPage.getCount();
+ }
+
+ // switch off the automatic refresh
+ PropertyValue[] props = new PropertyValue[1];
+ props[0] = new PropertyValue();
+ props[0].Name = "AutoRefreshArrows";
+ props[0].Value = Boolean.FALSE;
+ XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class, oObj);
+ dispatch(xModel.getCurrentController().getFrame(), (XMultiServiceFactory)tParam.getMSF(), ".uno:AutoRefreshArrows", props);
+
+ // prepare the sheets
+ try {
+ xSheet[0].getCellByPosition(6, 6).setValue(9);
+ XNamed xNamed = (XNamed)UnoRuntime.queryInterface(XNamed.class, xSheet[0]);
+ sheetName = xNamed.getName();
+ xSheet[1].getCellByPosition(6, 6).setValue(16);
+ xSheet[1].getCellByPosition(6, 7).setFormula("= SQRT(G7)");
+ XSheetAuditing xSheetAuditing = (XSheetAuditing)UnoRuntime.queryInterface(XSheetAuditing.class, xSheet[1]);
+ CellAddress add = new CellAddress((short)1, 6, 7);
+ xSheetAuditing.showPrecedents(add);
+ boolean ok = hasRightAmountOfShapes(1);
+ if (!ok)
+ throw new StatusException(Status.failed("Wrong amount of shapes on page."));
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException("Could not set formulas on sheets.", e);
+ }
+ }
+
+ public void after() {
+ // switch the automatic refresh back on
+ PropertyValue[] props = new PropertyValue[1];
+ props[0] = new PropertyValue();
+ props[0].Name = "AutoRefreshArrows";
+ props[0].Value = Boolean.TRUE;
+ XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class, oObj);
+ dispatch(xModel.getCurrentController().getFrame(), (XMultiServiceFactory)tParam.getMSF(), ".uno:AutoRefreshArrows", props);
+ }
+
+ public void _refreshArrows() {
+ boolean result = true;
+
+ Point p0 = pos;
+
+ try {
+ result &= xSheet[1].getCellByPosition(6, 7).getValue() == 4;
+ xSheet[1].getCellByPosition(6, 7).setFormula("= SQRT(" + sheetName + ".G7)");
+ result &= xSheet[1].getCellByPosition(6, 7).getValue() == 3;
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException("Could not set formulas on sheets.", e);
+ }
+
+ result &= hasRightAmountOfShapes(1);
+ Point p1 = pos;
+
+ // points have to be the same: if not we have an auto update
+ boolean res = (p0.X == p1.X && p0.Y == p1.Y);
+ result &= res;
+ if (!res)
+ log.println("Arrow has been refreshed, but this should have been switched off.");
+
+ oObj.refreshArrows();
+
+ result &= hasRightAmountOfShapes(1);
+ Point p2 = pos;
+
+ // points have to differ
+ res = (p1.X != p2.X || p1.Y != p2.Y);
+ result &= res;
+ if (!res)
+ log.println("Arrow has not been refreshed.");
+
+ tRes.tested("refreshArrows()", result);
+ }
+
+ /**
+ * Check if the amount of shapes is the right one after displaying that stuff
+ * 2do improve this: check taht the shapes are the correct ones -> convwatch
+ * @desiredValue That's the amount of shapes that have to be here.
+ * @return True, if the actual count of shapes is the same
+ */
+ private boolean hasRightAmountOfShapes(int desiredValue) {
+ int newCount = xDrawPage.getCount();
+ if (newCount != elementCount + desiredValue) {
+ return false;
+ }
+ else {
+ if (desiredValue >= 0) {
+ for (int i=elementCount; i<newCount; i++) {
+ try {
+ Object o = xDrawPage.getByIndex(i);
+ XShape xShape = (XShape)UnoRuntime.queryInterface(XShape.class, o);
+ pos = xShape.getPosition();
+ System.out.println("Shape Type: " + xShape.getShapeType());
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ private void dispatch(Object oProvider, XMultiServiceFactory xMSF, String url, PropertyValue[] prop) {
+ XDispatchProvider xDispatchProvider = (XDispatchProvider)UnoRuntime.queryInterface(XDispatchProvider.class, oProvider);
+ Object dispatcher = null;
+ try {
+ dispatcher = xMSF.createInstance("com.sun.star.frame.DispatchHelper");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ }
+
+ XDispatchHelper xDispatchHelper = (XDispatchHelper)UnoRuntime.queryInterface(XDispatchHelper.class, dispatcher);
+ xDispatchHelper.executeDispatch(xDispatchProvider, url, "", 0, prop);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java b/qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java
new file mode 100644
index 000000000000..2034bb892047
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XEnhancedMouseClickHandler;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XEnhancedMouseClickBroadcaster;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.utils;
+
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+
+
+public class _XEnhancedMouseClickBroadcaster extends MultiMethodTest {
+ public XEnhancedMouseClickBroadcaster oObj;
+ protected boolean mousePressed = false;
+ protected boolean mouseReleased = false;
+ protected XEnhancedMouseClickHandler listener = new MyListener();
+ private XModel docModel = null;
+
+ public void before() {
+ docModel = (XModel) UnoRuntime.queryInterface(
+ XModel.class,tEnv.getObjRelation("FirstModel"));
+ DesktopTools.bringWindowToFront(docModel);
+ }
+
+ public void _addEnhancedMouseClickHandler() {
+ oObj.addEnhancedMouseClickHandler(listener);
+ clickOnSheet();
+
+ //make sure that the listener is removed even if the test fails
+ if ((!mousePressed) || (!mouseReleased)) {
+ oObj.removeEnhancedMouseClickHandler(listener);
+ }
+
+ tRes.tested("addEnhancedMouseClickHandler()",
+ mousePressed && mouseReleased);
+ }
+
+ public void _removeEnhancedMouseClickHandler() {
+ requiredMethod("addEnhancedMouseClickHandler()");
+ mousePressed = false;
+ mouseReleased = false;
+ oObj.removeEnhancedMouseClickHandler(listener);
+ clickOnSheet();
+ tRes.tested("removeEnhancedMouseClickHandler()",
+ (!mousePressed) && (!mouseReleased));
+ }
+
+ protected boolean clickOnSheet() {
+ log.println("try to open contex menu...");
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)tParam.getMSF(), docModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XInterface oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ XAccessibleComponent window = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ Point point = window.getLocationOnScreen();
+ Rectangle rect = window.getBounds();
+
+ log.println("klick mouse button...");
+ try {
+ Robot rob = new Robot();
+ int x = point.X + (rect.Width / 2)+50;
+ int y = point.Y + (rect.Height / 2)+50;
+ rob.mouseMove(x, y);
+ System.out.println("Press Button");
+ rob.mousePress(InputEvent.BUTTON3_MASK);
+ System.out.println("Release Button");
+ rob.mouseRelease(InputEvent.BUTTON3_MASK);
+ System.out.println("done");
+ System.out.println("warte");
+ shortWait();
+ System.out.println("Press Button");
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ System.out.println("Release Button");
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ System.out.println("done "+rob.getAutoDelay());
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+
+ return true;
+ }
+
+ private void shortWait() {
+ try {
+ Thread.currentThread().sleep(2000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ protected class MyListener implements XEnhancedMouseClickHandler {
+ public void disposing(
+ com.sun.star.lang.EventObject eventObject) {
+ }
+
+ public boolean mousePressed(
+ com.sun.star.awt.EnhancedMouseEvent enhancedMouseEvent) {
+ log.println("mousePressed");
+ mousePressed = true;
+
+ return true;
+ }
+
+ public boolean mouseReleased(
+ com.sun.star.awt.EnhancedMouseEvent enhancedMouseEvent) {
+ log.println("mouseReleased");
+ mouseReleased = true;
+
+ return true;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XFormulaQuery.java b/qadevOOo/tests/java/ifc/sheet/_XFormulaQuery.java
new file mode 100644
index 000000000000..3e04690ac47b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XFormulaQuery.java
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XFormulaQuery;
+import com.sun.star.sheet.XSheetCellRanges;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ *
+ * @author sw93809
+ */
+public class _XFormulaQuery extends MultiMethodTest {
+
+ public XFormulaQuery oObj;
+
+ protected XSpreadsheet oSheet = null;
+ private XCell mxCell;
+ private int miQueryThisDependentRange = 1;
+ private int miQueryThisPrecedentRange = 1;
+ private int[] miExpectedDependentValues;
+ private int[] miExpectedPrecedentValues;
+
+ protected void before() {
+ oSheet = (XSpreadsheet)tEnv.getObjRelation("SHEET");
+
+ if (oSheet == null) {
+ log.println("Object relation oSheet is missing");
+ log.println("Trying to query the needed Interface");
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, tEnv.getTestObject());
+
+ if (oSheet == null) {
+ throw new StatusException(Status.failed(
+ "Object relation oSheet is missing"));
+ }
+ }
+ Object o = tEnv.getObjRelation("MAKEENTRYINCELL");
+ if (o != null) {
+ mxCell = (XCell)o;
+ }
+ else {
+ try {
+ mxCell = oSheet.getCellByPosition(15, 15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException(
+ Status.failed("Couldn't get initial cell"));
+ }
+ }
+
+ o = tEnv.getObjRelation("RANGEINDICES");
+ if (o != null) {
+ int[]index = (int[])o;
+ miQueryThisDependentRange = index[0];
+ miQueryThisPrecedentRange = index[1];
+ }
+
+ o = tEnv.getObjRelation("EXPECTEDDEPENDENTVALUES");
+ if (o != null) {
+ miExpectedDependentValues = (int[])o;
+ }
+ else {
+ miExpectedDependentValues = new int[4];
+ miExpectedDependentValues[0] = 15;
+ miExpectedDependentValues[1] = 15;
+ miExpectedDependentValues[2] = 15;
+ miExpectedDependentValues[3] = 15;
+ }
+
+ o = tEnv.getObjRelation("EXPECTEDPRECEDENTVALUES");
+ if (o != null) {
+ miExpectedPrecedentValues = (int[])o;
+ }
+ else {
+ miExpectedPrecedentValues = new int[4];
+ miExpectedPrecedentValues[0] = 0;
+ miExpectedPrecedentValues[1] = 0;
+ miExpectedPrecedentValues[2] = 15;
+ miExpectedPrecedentValues[3] = 15;
+ }
+ }
+
+ public void _queryDependents() {
+ boolean res = true;
+
+ try {
+ mxCell.setFormula("=sum(A1:D1)");
+ oSheet.getCellByPosition(0, 0).setValue(1);
+ oSheet.getCellByPosition(1, 0).setValue(1);
+ oSheet.getCellByPosition(2, 0).setValue(1);
+ oSheet.getCellByPosition(3, 0).setValue(1);
+
+ log.println(
+ "calling oObj.queryDependents(false)");
+ XSheetCellRanges getting = oObj.queryDependents(false);
+ CellRangeAddress[] range = getting.getRangeAddresses();
+
+ res = ((range[miQueryThisDependentRange].StartColumn==miExpectedDependentValues[0]) &&
+ (range[miQueryThisDependentRange].EndColumn==miExpectedDependentValues[1]) &&
+ (range[miQueryThisDependentRange].StartRow==miExpectedDependentValues[2]) &&
+ (range[miQueryThisDependentRange].EndRow==miExpectedDependentValues[3]));
+
+ if (!res) {
+ log.println("Getting ("
+ +(range[miQueryThisDependentRange]).StartColumn+","
+ +(range[miQueryThisDependentRange]).EndColumn+","
+ +(range[miQueryThisDependentRange]).StartRow+","
+ +(range[miQueryThisDependentRange]).EndRow+")");
+ log.println("Expected (" + miExpectedDependentValues[0] + "," +
+ miExpectedDependentValues[1] + "," +
+ miExpectedDependentValues[2] + "," +
+ miExpectedDependentValues[3] + ")");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set initial version to cell");
+ res = false;
+ }
+
+ tRes.tested("queryDependents()", res);
+ }
+
+ public void _queryPrecedents() {
+ boolean res = true;
+
+ try {
+ mxCell.setFormula("=sum(A1:D1)");
+ oSheet.getCellByPosition(0, 0).setValue(1);
+ oSheet.getCellByPosition(1, 0).setValue(1);
+ oSheet.getCellByPosition(2, 0).setValue(1);
+ oSheet.getCellByPosition(3, 0).setValue(1);
+ oSheet.getCellByPosition(1, 2).setFormula("=A16*2");
+
+ log.println(
+ "calling oObj.queryPrecedents(false)");
+ XSheetCellRanges getting = oObj.queryPrecedents(false);
+ CellRangeAddress[] range = getting.getRangeAddresses();
+
+ res = ((range[miQueryThisPrecedentRange].StartColumn==miExpectedPrecedentValues[0]) &&
+ (range[miQueryThisPrecedentRange].EndColumn==miExpectedPrecedentValues[1]) &&
+ (range[miQueryThisPrecedentRange].StartRow==miExpectedPrecedentValues[2]) &&
+ (range[miQueryThisPrecedentRange].EndRow==miExpectedPrecedentValues[3]));
+
+ if (!res) {
+ log.println("Getting ("
+ +(range[miQueryThisPrecedentRange]).StartColumn+","
+ +(range[miQueryThisPrecedentRange]).EndColumn+","
+ +(range[miQueryThisPrecedentRange]).StartRow+","
+ +(range[miQueryThisPrecedentRange]).EndRow+")");
+ log.println("Expected (" + miExpectedPrecedentValues[0] + "," +
+ miExpectedPrecedentValues[1] + "," +
+ miExpectedPrecedentValues[2] + "," +
+ miExpectedPrecedentValues[3] + ")");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set initial version to cell");
+ res = false;
+ }
+
+ tRes.tested("queryPrecedents()", res);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XFunctionDescriptions.java b/qadevOOo/tests/java/ifc/sheet/_XFunctionDescriptions.java
new file mode 100644
index 000000000000..5f16c7640fec
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XFunctionDescriptions.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import java.util.Random;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sheet.XFunctionDescriptions;
+
+/**
+* Testing <code>com.sun.star.sheet.XFunctionDescriptions</code>
+* interface methods :
+* <ul>
+* <li><code> getById()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XFunctionDescriptions
+*/
+public class _XFunctionDescriptions extends MultiMethodTest {
+
+ public XFunctionDescriptions oObj = null;
+
+ /**
+ * Test finds available id, calls method using this id, checks returned
+ * value and then tries to get description with wrong id. <p>
+ * Has <b>OK</b> status if returned value is equal to value obtained by the
+ * method <code>getByIndex()</code> in first call and exception
+ * <code>IllegalArgumentException</code> was thrown in second call.<p>
+ * @see com.sun.star.lang.IllegalArgumentException
+ */
+ public void _getById() {
+ boolean bResult = true;
+ // Finding available id...
+
+ int count = oObj.getCount();
+ if (count > 0) {
+ Random rnd = new Random();
+ int nr = rnd.nextInt(count);
+
+ PropertyValue[] PVals = null;
+ try {
+ PVals = (PropertyValue[])oObj.getByIndex(nr);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ tRes.tested("getById()", false);
+ return;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ tRes.tested("getById()", false);
+ return;
+ }
+
+ String FName = null;
+ Integer FId = null;
+
+ for (int i = 0; i < PVals.length; i++) {
+ if (PVals[i].Name.equals("Name"))
+ FName = (String)PVals[i].Value;
+ if (PVals[i].Name.equals("Id"))
+ FId = (Integer)PVals[i].Value;
+ }
+
+ log.println("The id of function '" + FName + "' is " + FId);
+
+ PropertyValue[] PVals2 = null;
+ try {
+ PVals2 = oObj.getById(FId.intValue());
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ tRes.tested("getById()", false);
+ return;
+ }
+
+ String objFName = null;
+ Integer objFId = null;
+ for (int i = 0; i < PVals2.length; i++) {
+ if (PVals2[i].Name.equals("Name"))
+ objFName = (String)PVals[i].Value;
+ if (PVals2[i].Name.equals("Id"))
+ objFId = (Integer)PVals[i].Value;
+ }
+
+ log.println("The id of returned function '" +
+ objFName + "' is " + objFId);
+
+ bResult &= FName.equals(objFName);
+ bResult &= FId.equals(objFId);
+ }
+
+ log.println("OK.");
+
+ try {
+ log.println("Now trying to get description with wrong id ... ");
+ oObj.getById(-1);
+ bResult = false;
+ log.println("Exception expected! - FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Expected exception " + e + " - OK!");
+ }
+
+ tRes.tested("getById()", bResult);
+ }
+} // finish class _XFunctionDescriptions
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XGoalSeek.java b/qadevOOo/tests/java/ifc/sheet/_XGoalSeek.java
new file mode 100644
index 000000000000..24dad9db4bda
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XGoalSeek.java
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sheet.GoalResult;
+import com.sun.star.sheet.XGoalSeek;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XGoalSeek extends MultiMethodTest {
+ public XGoalSeek oObj = null;
+ XSpreadsheet xSheet = null;
+ CellAddress aFormula = null;
+ CellAddress aValue = null;
+
+ public void before() {
+ Exception ex = null;
+ // get two sheets
+ try {
+ XSpreadsheetDocument xSpreadsheetDocument = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, oObj);
+ XSpreadsheets oSheets = xSpreadsheetDocument.getSheets();
+ XIndexAccess oIndexSheets = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, oSheets);
+ xSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, oIndexSheets.getByIndex(1));
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ ex = e;
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ ex = e;
+ }
+ catch(java.lang.NullPointerException e) {
+ ex = e;
+ }
+ if (ex != null) {
+ throw new StatusException("Could not get a sheet.", ex);
+ }
+
+ // set value and formula
+ try {
+ xSheet.getCellByPosition(3, 4).setValue(9);
+ xSheet.getCellByPosition(3, 5).setFormula("= SQRT(D5)");
+ aValue = new CellAddress((short)1, 3, 4);
+ aFormula = new CellAddress((short)1, 3, 5);
+ }
+ catch(Exception e) {
+ throw new StatusException("Could not get set formulas on the sheet.", e);
+ }
+ }
+
+ public void _seekGoal() {
+ boolean result = true;
+ double divergence = 0.01;
+ GoalResult goal = oObj.seekGoal(aFormula, aValue, "4");
+ log.println("Goal Result: " + goal.Result + " Divergence: " + goal.Divergence);
+ result &= goal.Divergence < divergence;
+ result &= goal.Result > 16 - divergence || goal.Result < 16 + divergence;
+
+ goal = oObj.seekGoal(aFormula, aValue, "-4");
+ log.println("Goal Result: " + goal.Result + " Divergence: " + goal.Divergence);
+ result &= goal.Divergence > 1/divergence;
+ result &= goal.Result < divergence || goal.Result > -divergence;
+
+ // just curious: let goal seek find a limiting value
+ try {
+ xSheet.getCellByPosition(3, 4).setValue(0.8);
+ xSheet.getCellByPosition(3, 5).setFormula("= (D5 ^ 2 - 1) / (D5 - 1)");
+ }
+ catch(Exception e) {}
+ goal = oObj.seekGoal(aFormula, aValue, "2");
+ log.println("Goal Result: " + goal.Result + " Divergence: " + goal.Divergence);
+ result &= goal.Divergence < divergence;
+ result &= goal.Result > 16 - divergence || goal.Result < 16 + divergence;
+
+ tRes.tested("seekGoal()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XHeaderFooterContent.java b/qadevOOo/tests/java/ifc/sheet/_XHeaderFooterContent.java
new file mode 100644
index 000000000000..d3ee84f7cdc2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XHeaderFooterContent.java
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.text.XText;
+
+/**
+ * Testing <code>com.sun.star.sheet.XHeaderFooterContent</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getLeftText()</code></li>
+ * <li><code> getCenterText()</code></li>
+ * <li><code> getRightText()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.sheet.XHeaderFooterContent
+ */
+public class _XHeaderFooterContent extends MultiMethodTest {
+
+ public XHeaderFooterContent oObj = null;
+
+ /**
+ * Test calls the method and checks string obtained from returned value. <p>
+ * Has <b>OK</b> status if obtained string is equal to <code>"LEFT"</code>.
+ * <p>
+ */
+ public void _getLeftText() {
+ XText left = oObj.getLeftText();
+ tRes.tested("getLeftText()",left.getString().equals("LEFT"));
+ }
+
+ /**
+ * Test calls the method and checks string obtained from returned value. <p>
+ * Has <b>OK</b> status if obtained string is equal to <code>"RIGHT"</code>.
+ * <p>
+ */
+ public void _getRightText() {
+ XText right = oObj.getRightText();
+ tRes.tested("getRightText()",right.getString().equals("RIGHT"));
+ }
+
+ /**
+ * Test calls the method and checks string obtained from returned value. <p>
+ * Has <b>OK</b> status if obtained string is equal to <code>"CENTER"</code>.
+ * <p>
+ */
+ public void _getCenterText() {
+ XText center = oObj.getCenterText();
+ tRes.tested("getCenterText()",center.getString().equals("CENTER"));
+ }
+
+} // finish class _XHeaderFooterContent
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XLabelRange.java b/qadevOOo/tests/java/ifc/sheet/_XLabelRange.java
new file mode 100644
index 000000000000..3bc34fdef5bd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XLabelRange.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.sheet.XLabelRange;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XLabelRange</code>
+* interface methods :
+* <ul>
+* <li><code> getLabelArea()</code></li>
+* <li><code> setLabelArea()</code></li>
+* <li><code> getDataArea()</code></li>
+* <li><code> setDataArea()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XLabelRange
+*/
+public class _XLabelRange extends MultiMethodTest {
+
+ public XLabelRange oObj = null;
+ public CellRangeAddress setDAddress = null;
+ public CellRangeAddress setLAddress = null;
+
+ /**
+ * Test creates and stores <code>CellRangeAddress</code>, calls the method.
+ * <p>Has <b> OK </b> status if the method successfully returns. <p>
+ * @see com.sun.star.table.CellRangeAddress
+ */
+ public void _setDataArea() {
+ int nr = Thread.activeCount();
+ setDAddress = new CellRangeAddress((short)1, nr, 1, nr, 8);
+ oObj.setDataArea(setDAddress);
+ tRes.tested("setDataArea()", true);
+ }
+
+ /**
+ * Test creates and stores <code>CellRangeAddress</code>, calls the method.
+ * <p>Has <b> OK </b> status if the method successfully returns. <p>
+ * @see com.sun.star.table.CellRangeAddress
+ */
+ public void _setLabelArea() {
+ int nr = Thread.activeCount();
+ setLAddress = new CellRangeAddress((short)1, nr, 0, nr, 0);
+ oObj.setLabelArea(setLAddress);
+ tRes.tested("setLabelArea()", true);
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was set.
+ * <p>Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDataArea() </code> : to have address of the cell range for
+ * which the labels are valid</li>
+ * </ul>
+ */
+ public void _getDataArea() {
+ requiredMethod("setDataArea()");
+ CellRangeAddress gA = oObj.getDataArea();
+ tRes.tested("getDataArea()", ValueComparer.equalValue(gA, setDAddress));
+ }
+
+ /**
+ * Test calls the method and compares returned value with value set before.
+ * <p>Has <b> OK </b> status if if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setLabelArea() </code>: to have the cell range that contains
+ * the labels</li>
+ * </ul>
+ */
+ public void _getLabelArea() {
+ requiredMethod("setLabelArea()");
+ CellRangeAddress gA1 = oObj.getLabelArea();
+ tRes.tested("getLabelArea()",
+ ValueComparer.equalValue(gA1, setLAddress));
+ }
+} // finish class _XLabelRange
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XLabelRanges.java b/qadevOOo/tests/java/ifc/sheet/_XLabelRanges.java
new file mode 100644
index 000000000000..9d4d28ff634c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XLabelRanges.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XLabelRanges;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XLabelRanges</code>
+* interface methods :
+* <ul>
+* <li><code> addNew()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XLabelRanges
+*/
+public class _XLabelRanges extends MultiMethodTest {
+
+ public XLabelRanges oObj = null;
+
+ /**
+ * Test calls the method and compares number of label range before method
+ * call and after. <p>
+ * Has <b>OK</b> status if number of label range before method call is less
+ * than after and no exceptions were thrown. <p>
+ */
+ public void _addNew() {
+ int anz = oObj.getCount();
+ oObj.addNew(
+ new CellRangeAddress((short)0, 1, 0, 1, 0),
+ new CellRangeAddress((short)0, 1, 1, 1, 6) );
+ tRes.tested("addNew()", anz < oObj.getCount());
+ }
+
+ /**
+ * Test removes an existent label range first and tries to remove
+ * non-existent label range. <p>
+ * Has <b> OK </b> status if number of range decreased by one after first
+ * call and exception was thrown in second. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addNew() </code> : to have one label range at least </li>
+ * </ul>
+ */
+ public void _removeByIndex() {
+ requiredMethod("addNew()");
+ int anz = oObj.getCount();
+ log.println("First remove an existent LabelRange");
+
+ oObj.removeByIndex(anz - 1);
+ boolean result = (anz - 1 == oObj.getCount());
+
+ log.println("Remove a nonexistent LabelRange");
+ try {
+ oObj.removeByIndex(anz);
+ log.println("No Exception thrown while removing nonexisting "+
+ "LabelRange");
+ result &= false;
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Expected exception thrown while removing "+
+ "nonexisting LabelRange: "+e);
+ result &= true;
+ }
+
+ tRes.tested("removeByIndex()", result);
+ }
+
+} // finish class _XLabelRanges
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XMultipleOperation.java b/qadevOOo/tests/java/ifc/sheet/_XMultipleOperation.java
new file mode 100644
index 000000000000..e10ca8d55f2f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XMultipleOperation.java
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.awt.Point;
+import com.sun.star.sheet.TableOperationMode;
+import com.sun.star.sheet.XCellAddressable;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XMultipleOperation;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+public class _XMultipleOperation extends MultiMethodTest {
+ public XMultipleOperation oObj = null;
+ protected XSpreadsheet oSheet = null;
+ boolean both = true;
+
+ protected void before() {
+ oSheet = (XSpreadsheet) tEnv.getObjRelation("SHEET");
+
+ if (oSheet == null) {
+ throw new StatusException(Status.failed(
+ "Object relation oSheet is missing"));
+ }
+
+ if (UnoRuntime.queryInterface(XSpreadsheet.class, tEnv.getTestObject()) != null) {
+ log.println("We have a sheet and won't do TableOperationMode.BOTH");
+ both = false;
+ }
+ }
+
+ public void _setTableOperation() {
+ boolean res = true;
+ XCellRange cellRange = oSheet.getCellRangeByName("$A$17:$A$17");
+ XCellRangeAddressable CRA = (XCellRangeAddressable) UnoRuntime.queryInterface(
+ XCellRangeAddressable.class,
+ cellRange);
+ XCell cell = null;
+ XCell cell2 = null;
+
+ try {
+ cell = oSheet.getCellByPosition(0, 16);
+ cell.setFormula("=a15+a16");
+ cell = oSheet.getCellByPosition(0, 14);
+ cell2 = oSheet.getCellByPosition(0, 15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception while getting Cell " + e.getMessage());
+ }
+
+ XCellAddressable CA = (XCellAddressable) UnoRuntime.queryInterface(
+ XCellAddressable.class, cell);
+ XCellAddressable CA2 = (XCellAddressable) UnoRuntime.queryInterface(
+ XCellAddressable.class, cell2);
+ Point[] cellCoords = new Point[3];
+ double[] cellValues = new double[3];
+
+ log.println("filling cells");
+ fillCells();
+ log.println("setting TableOperation with parameter ROW");
+ oObj.setTableOperation(CRA.getRangeAddress(), TableOperationMode.ROW,
+ CA.getCellAddress(), CA2.getCellAddress());
+ log.println("checking values");
+ cellCoords = new Point[] {
+ new Point(1, 1), new Point(2, 1), new Point(3, 1)
+ };
+ cellValues = new double[] { 5, 10, 15 };
+ res &= checkValues(cellCoords, cellValues);
+
+ log.println("filling cells");
+ fillCells();
+ log.println("setting TableOperation with parameter COLUMN");
+ oObj.setTableOperation(CRA.getRangeAddress(),
+ TableOperationMode.COLUMN, CA.getCellAddress(),
+ CA2.getCellAddress());
+ log.println("checking values");
+ cellCoords = new Point[] {
+ new Point(1, 1), new Point(1, 2), new Point(1, 3)
+ };
+ cellValues = new double[] { 12, 24, 36 };
+ res &= checkValues(cellCoords, cellValues);
+
+ if (both) {
+ log.println("filling cells");
+ fillCells();
+ log.println("setting TableOperation with parameter BOTH");
+ oObj.setTableOperation(CRA.getRangeAddress(),
+ TableOperationMode.BOTH,
+ CA.getCellAddress(), CA2.getCellAddress());
+ log.println("checking values");
+ cellCoords = new Point[] {
+ new Point(1, 1), new Point(2, 2), new Point(3, 3)
+ };
+ cellValues = new double[] { 17, 34, 51 };
+ res &= checkValues(cellCoords, cellValues);
+ }
+
+ tRes.tested("setTableOperation()", res);
+ }
+
+ protected void fillCells() {
+ XCell cell = null;
+
+ try {
+ for (int k = 1; k < 5; k++) {
+ cell = oSheet.getCellByPosition(0, k);
+ cell.setValue(k * 12);
+ cell = oSheet.getCellByPosition(k, 0);
+ cell.setValue(k * 5);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception while filling Cells " + e.getMessage());
+ }
+ }
+
+ protected boolean checkValues(Point[] cellCoords, double[] cellValues) {
+ boolean res = true;
+
+ for (int i = 0; i < cellValues.length; i++) {
+ try {
+ boolean locres = oSheet.getCellByPosition(cellCoords[i].X,
+ cellCoords[i].Y)
+ .getValue() == cellValues[i];
+ res &= locres;
+
+ if (!locres) {
+ log.println("Result differs for cell (" +
+ cellCoords[i].X + "," + cellCoords[i].Y +
+ ")");
+ log.println("Expected: " + cellValues[i]);
+ log.println("Getting: " +
+ oSheet.getCellByPosition(cellCoords[i].X,
+ cellCoords[i].Y)
+ .getValue());
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception while checking Values " +
+ e.getMessage());
+ res &= false;
+ }
+ }
+
+ return res;
+ }
+
+ /**
+ * Restores initial component text.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XNamedRange.java b/qadevOOo/tests/java/ifc/sheet/_XNamedRange.java
new file mode 100644
index 000000000000..06c76956adff
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XNamedRange.java
@@ -0,0 +1,209 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import java.util.Random;
+import java.util.StringTokenizer;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.NamedRangeFlag;
+import com.sun.star.sheet.XNamedRange;
+import com.sun.star.table.CellAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XNamedRange</code>
+* interface methods :
+* <ul>
+* <li><code> getContent()</code></li>
+* <li><code> setContent()</code></li>
+* <li><code> getReferencePosition()</code></li>
+* <li><code> setReferencePosition()</code></li>
+* <li><code> getType()</code></li>
+* <li><code> setType()</code></li>
+* </ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.sheet.XNamedRange
+*/
+public class _XNamedRange extends MultiMethodTest {
+
+ public XNamedRange oObj = null;
+ String sContent = "";
+ int type = 0;
+ CellAddress CA = null;
+
+ /**
+ * Test calls the method and compares returned value to value that was set
+ * by method <code>setContent()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setContent() </code> : to have current content </li>
+ * </ul>
+ */
+ public void _getContent() {
+ requiredMethod("setContent()");
+ String content = oObj.getContent();
+ log.println("Returned content is \"" + content + "\"");
+ boolean bResult = content.equals(sContent);
+ tRes.tested("getContent()", bResult);
+ }
+
+ /**
+ * Test creates and stores random content and calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setContent() {
+ sContent = getRandomContent("A1;A4:C5;=B2");
+ log.println("Set content to \"" + sContent + "\"");
+ oObj.setContent(sContent);
+
+ tRes.tested("setContent()", true);
+ }
+
+ /**
+ * Test calls the method and compares returned value to value that was set
+ * by method <code>setType()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setType() </code> : to have current type </li>
+ * </ul>
+ */
+ public void _getType() {
+ requiredMethod("setType()");
+
+ int rtype = oObj.getType();
+ log.println("Returned type is " + rtype);
+
+ tRes.tested("getType()", type == rtype);
+ }
+
+ /**
+ * Test sets random type and stores it. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setType() {
+ /*
+ * The type must be 0 or a combination of the NamedRangeFlag
+ * constants and controls if the named range is listed in
+ * dialogs prompting for special ranges
+ *
+ * NamedRangeFlag: COLUMN_HEADER
+ * FILTER_CRITERIA
+ * PRINT_AREA
+ * ROW_HEADER
+ *
+ */
+ boolean bResult = true;
+ int types[] = { 0,
+ NamedRangeFlag.COLUMN_HEADER,
+ NamedRangeFlag.FILTER_CRITERIA,
+ NamedRangeFlag.PRINT_AREA,
+ NamedRangeFlag.ROW_HEADER
+ };
+
+ Random rnd = new Random();
+ type = types[rnd.nextInt(5)];
+
+ oObj.setType(type);
+ log.println("The type was set to " + type);
+
+ tRes.tested("setType()", bResult);
+ }
+
+ /**
+ * Test calls the method and compares returned value to value that was set
+ * by method <code>setReferencePosition()</code>. <p>
+ * Has <b> OK </b> status if all fields of values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setReferencePosition() </code> : to have current reference
+ * position </li>
+ * </ul>
+ */
+ public void _getReferencePosition() {
+ requiredMethod("setReferencePosition()");
+
+ CellAddress rCA = oObj.getReferencePosition();
+ log.println("getReferencePosition returned (" +
+ rCA.Sheet + ", " +
+ rCA.Column + ", " + rCA.Row + ")" );
+
+ boolean bResult = rCA.Sheet == CA.Sheet;
+ bResult &= rCA.Column == CA.Column;
+ bResult &= rCA.Row == CA.Row;
+
+ tRes.tested("getReferencePosition()", bResult);
+ }
+
+ /**
+ * Test creates and stores cell address and calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setReferencePosition() {
+ CA = new CellAddress((short)0, 2, 3);
+ oObj.setReferencePosition(CA);
+ log.println("ReferencePosition was set to (" +
+ CA.Sheet + ", " +
+ CA.Column + ", " + CA.Row + ")");
+
+ tRes.tested("setReferencePosition()", true);
+ }
+
+
+ /**
+ * Method make string of random content.
+ * @return string of random content
+ */
+ String getRandomContent(String str) {
+
+ String gRS = "none";
+ Random rnd = new Random();
+
+ StringTokenizer ST = new StringTokenizer(str, ";");
+ int nr = rnd.nextInt(ST.countTokens());
+ if (nr < 1) nr++;
+
+ for (int i = 1; i < nr + 1; i++)
+ gRS = ST.nextToken();
+
+ return gRS;
+
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XNamedRanges.java b/qadevOOo/tests/java/ifc/sheet/_XNamedRanges.java
new file mode 100644
index 000000000000..6baffd4bfdfe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XNamedRanges.java
@@ -0,0 +1,327 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import java.util.Random;
+import java.util.StringTokenizer;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sheet.Border;
+import com.sun.star.sheet.NamedRangeFlag;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XCellRangeReferrer;
+import com.sun.star.sheet.XNamedRanges;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XNamedRanges</code>
+* interface methods :
+* <ul>
+* <li><code> addNewByName()</code></li>
+* <li><code> addNewFromTitles()</code></li>
+* <li><code> removeByName()</code></li>
+* <li><code> outputList()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SHEET'</code> (of type <code>XSpreadsheet</code>):
+* to have a spreadsheet </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XNamedRanges
+* @see com.sun.star.sheet.XSpreadsheet
+*/
+public class _XNamedRanges extends MultiMethodTest {
+
+ public XNamedRanges oObj = null;
+ String name = "_XNamedRanges";
+ XSpreadsheet oSheet = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ protected void before() {
+ oSheet = (XSpreadsheet)tEnv.getObjRelation("SHEET");
+ if (oSheet == null) throw new StatusException(Status.failed
+ ("Relation 'SHEET' not found"));
+ }
+
+ /**
+ * Test creates and stores random content and random type, calls the method
+ * and checks that new range exists in collection using method
+ * <code>hasByName()</code>. <p>
+ * Has <b> OK </b> status if new range exists in collection
+ * and no exceptions were thrown. <p>
+ */
+ public void _addNewByName() {
+ boolean bResult = true;
+ CellAddress aPosition = new CellAddress((short)0, 2, 2);
+ int nType = getRandomType();
+ String sContent = getRandomContent("D3;A6:B9;=F12");
+ name += sContent;
+ log.println("Adding new range with name=\"" + name +
+ "\", sContent = \"" + sContent +
+ "\", aPosition = (" + aPosition.Sheet + ", "
+ + aPosition.Column + ", "
+ + aPosition.Row +
+ "), Type = " + nType + ".");
+
+ oObj.addNewByName(name, sContent, aPosition, nType);
+
+ //inserted for a bug
+ CellAddress listOutputPosition = new CellAddress((short)0, 1, 1);
+ oObj.outputList(listOutputPosition);
+ String s = null;
+ String s1 = null;
+ try {
+ s = oSheet.getCellByPosition(1, 1).getFormula();
+ s1 = oSheet.getCellByPosition(2, 1).getFormula();
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Can't get cell by position: " + e);
+ bResult = false;
+ }
+ log.println("Outputlist returns: " + s + " " + s1);
+ //end of insertion
+
+ bResult &= oObj.hasByName(name);
+
+ tRes.tested("addNewByName()", bResult);
+ }
+
+ /**
+ * Test creates a table with left and top titles, creates new ranges from
+ * top titles and left titles, checks all new title ranges. <p>
+ * Has <b> OK </b> status if all required title ranges are present
+ * in collection, if each of them have valid size and position and
+ * no exceptions were thrown. <p>
+ */
+ public void _addNewFromTitles() {
+ boolean bResult = true;
+
+ // First, create a small table.
+ log.println("Creating a small table.");
+ try {
+ XCell cell = null;
+ XTextRange textrange = null;
+
+ for (int i = 1; i < 4; i++) {
+ cell = oSheet.getCellByPosition(0, i);
+ textrange = (XTextRange)UnoRuntime.
+ queryInterface(XTextRange.class, cell);
+ textrange.setString("Row" + i);
+
+ cell = oSheet.getCellByPosition(i, 0);
+ textrange = (XTextRange)UnoRuntime.
+ queryInterface(XTextRange.class, cell);
+ textrange.setString("Column" + i);
+ }
+
+ for (int i = 1; i < 4; i++)
+ for (int j = 1; j < 4; j++) {
+ cell = oSheet.getCellByPosition(i, j);
+ textrange = (XTextRange)UnoRuntime.
+ queryInterface(XTextRange.class, cell);
+ textrange.setString("Val" + ((j - 1) * 3 + i));
+ }
+ log.println("Finished creating table.");
+ log.println("Creating new ranges from titles");
+
+ CellRangeAddress CRA = new CellRangeAddress((short)0, 0, 0, 3, 3);
+ Border border = Border.TOP;
+ oObj.addNewFromTitles(CRA, border);
+ for (int i = 1; i < 4; i++) {
+ bResult &= oObj.hasByName("Column" + i);
+
+ Object range = oObj.getByName("Column" + i);
+ XCellRangeReferrer CRR = (XCellRangeReferrer)UnoRuntime.
+ queryInterface(XCellRangeReferrer.class,range);
+
+ XCellRange CR = CRR.getReferredCells();
+ XCellRangeAddressable xCRA = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, CR);
+
+ CellRangeAddress objCRA = xCRA.getRangeAddress();
+
+ bResult &= (objCRA.EndColumn == i && objCRA.StartColumn == i);
+ bResult &= objCRA.StartRow == 1;
+ bResult &= objCRA.EndRow == 3;
+ bResult &= objCRA.Sheet == 0;
+ }
+
+ border = Border.LEFT;
+ oObj.addNewFromTitles(CRA, border);
+ for (int i = 1; i < 4; i++) {
+ bResult &= oObj.hasByName("Row" + i);
+
+ Object range = oObj.getByName("Row" + i);
+ XCellRangeReferrer CRR = (XCellRangeReferrer)UnoRuntime.
+ queryInterface(XCellRangeReferrer.class,range);
+
+ XCellRange CR = CRR.getReferredCells();
+ XCellRangeAddressable xCRA = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, CR);
+
+ CellRangeAddress objCRA = xCRA.getRangeAddress();
+
+ bResult &= (objCRA.EndRow == i && objCRA.StartRow == i);
+ bResult &= objCRA.StartColumn == 1;
+ bResult &= objCRA.EndColumn == 3;
+ bResult &= objCRA.Sheet == 0;
+ }
+
+ oObj.outputList(new CellAddress((short)0, 5, 5));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ tRes.tested("addNewFromTitles()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks existing of named ranges obtained
+ * by relation <code>'SHEET'</code>. <p>
+ * Has <b> OK </b> status if all output named ranges exist
+ * and no exceptions were thrown. <p>
+ */
+ public void _outputList() {
+ boolean bResult = true;
+ CellAddress CA = new CellAddress((short)0, 0, 0);
+
+ XIndexAccess IA = (XIndexAccess)UnoRuntime.
+ queryInterface(XIndexAccess.class, oObj);
+
+ int elementsCount = IA.getCount();
+
+ oObj.outputList(CA);
+
+ try {
+ for (int i = 0; i < elementsCount; i++) {
+ XCell cell = oSheet.getCellByPosition(0, i);
+ XTextRange textrange = (XTextRange)
+ UnoRuntime.queryInterface(XTextRange.class, cell);
+ String str = textrange.getString();
+ bResult &= oObj.hasByName(str);
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ tRes.tested("outputList()", bResult);
+ }
+
+ /**
+ * Test calls the method for existing range, checks number of ranges in
+ * collection after method call, calls method for non-existent named range.
+ * <p>Has <b> OK </b> status if number of named ranges is less by one than
+ * before method call and exception was thrown during second call. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addNewByName() </code> : to have name of existent
+ * named range </li>
+ * </ul>
+ */
+ public void _removeByName() {
+ requiredMethod("addNewByName()");
+ boolean bResult = true;
+ XIndexAccess IA = (XIndexAccess)UnoRuntime.
+ queryInterface(XIndexAccess.class, oObj);
+
+ int elementsCount = IA.getCount();
+
+ // Removing existent element
+ oObj.removeByName(name);
+ bResult = elementsCount == IA.getCount() + 1;
+
+ try {
+ // Removing unexistent element.
+ oObj.removeByName(name);
+ log.println("Exception expected when removed unexistent element!");
+ bResult = false;
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Expected exception occured while testing" +
+ "removeByName() when removed unexistent element.");
+
+ }
+
+ tRes.tested("removeByName()", bResult);
+ }
+
+ /**
+ * Method make string of random content.
+ * @return string of random content
+ */
+ String getRandomContent(String str) {
+ String gRS = "none";
+ Random rnd = new Random();
+
+ StringTokenizer ST = new StringTokenizer(str, ";");
+ int nr = rnd.nextInt(ST.countTokens());
+ if (nr < 1)
+ nr++;
+
+ for (int i=1; i < nr + 1; i++)
+ gRS = ST.nextToken();
+
+ return gRS;
+ }
+
+ /**
+ * Returns random value of named range flag.
+ */
+ int getRandomType(){
+ int types[] = { 0,
+ NamedRangeFlag.COLUMN_HEADER,
+ NamedRangeFlag.FILTER_CRITERIA,
+ NamedRangeFlag.PRINT_AREA,
+ NamedRangeFlag.ROW_HEADER
+ };
+
+ Random rnd = new Random();
+ return types[rnd.nextInt(5)];
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XPrintAreas.java b/qadevOOo/tests/java/ifc/sheet/_XPrintAreas.java
new file mode 100644
index 000000000000..9c4e865bd52a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XPrintAreas.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XPrintAreas;
+import com.sun.star.table.CellRangeAddress;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.ValueComparer;
+
+/**
+ *
+ */
+public class _XPrintAreas extends MultiMethodTest {
+ public XPrintAreas oObj = null;
+ CellRangeAddress address = null;
+ CellRangeAddress subaddress = null;
+ CellRangeAddress titleColumns;
+ CellRangeAddress titleRows;
+
+ public void before() {
+ address = (CellRangeAddress)tEnv.getObjRelation("CellRangeAddress");
+ subaddress = (CellRangeAddress)tEnv.getObjRelation("CellRangeSubAddress");
+ if (address == null)
+ throw new StatusException(Status.failed("Object relation CellRangeAddress not found"));
+ if (subaddress == null)
+ throw new StatusException(Status.failed("Object relation CellRangeSubAddress not found"));
+ }
+
+ public void _getPrintAreas() {
+ requiredMethod("getPrintTitleColumns()");
+ requiredMethod("getPrintTitleRows()");
+ executeMethod("getTitleColumns()");
+ executeMethod("getTitleRows()");
+ CellRangeAddress[] printAreas = oObj.getPrintAreas();
+ CellRangeAddress[] setValue = new CellRangeAddress[]{address};
+ boolean ret = ValueComparer.equalValue(printAreas, setValue);
+ // delete the print area
+ oObj.setPrintAreas(null);
+ printAreas = oObj.getPrintAreas();
+ ret &= printAreas.length == 0;
+
+ tRes.tested("getPrintAreas()", ret);
+ }
+
+ public void _getPrintTitleColumns() {
+ requiredMethod("setPrintTitleColumns()");
+ tRes.tested("getPrintTitleColumns()", !oObj.getPrintTitleColumns());
+ }
+
+ public void _getPrintTitleRows() {
+ requiredMethod("setPrintTitleRows()");
+ tRes.tested("getPrintTitleRows()", !oObj.getPrintTitleRows());
+ }
+
+ public void _getTitleColumns() {
+ requiredMethod("setTitleColumns()");
+ CellRangeAddress setValue = oObj.getTitleColumns();
+ tRes.tested("getTitleColumns()", ValueComparer.equalValue(setValue,titleColumns));
+ }
+
+ public void _getTitleRows() {
+ requiredMethod("setTitleRows()");
+ CellRangeAddress setValue = oObj.getTitleRows();
+ tRes.tested("getTitleRows()", ValueComparer.equalValue(setValue,titleRows));
+ }
+
+ public void _setPrintAreas() {
+ boolean ret = false;
+ CellRangeAddress[]setValue = new CellRangeAddress[]{subaddress};
+ oObj.setPrintAreas(setValue);
+ CellRangeAddress[]newVal = oObj.getPrintAreas();
+ ret = ValueComparer.equalValue(newVal, setValue);
+ setValue = new CellRangeAddress[]{address};
+ oObj.setPrintAreas(setValue);
+ newVal = oObj.getPrintAreas();
+ ret &= ValueComparer.equalValue(newVal, setValue);
+ tRes.tested("setPrintAreas()", ret);
+ }
+
+ public void _setPrintTitleColumns() {
+ requiredMethod("setTitleColumns()");
+ boolean ret = false;
+ boolean value = oObj.getPrintTitleColumns();
+ oObj.setPrintTitleColumns(!value);
+ ret = value != oObj.getPrintTitleColumns();
+ oObj.setPrintTitleColumns(false);
+ tRes.tested("setPrintTitleColumns()", ret);
+ }
+
+ public void _setPrintTitleRows() {
+ requiredMethod("setTitleRows()");
+ boolean ret = false;
+ boolean value = oObj.getPrintTitleRows();
+ oObj.setPrintTitleRows(!value);
+ ret = value != oObj.getPrintTitleRows();
+ oObj.setPrintTitleRows(false);
+ tRes.tested("setPrintTitleRows()", ret);
+ }
+
+ public void _setTitleColumns() {
+ requiredMethod("setPrintAreas()");
+ boolean ret = false;
+ CellRangeAddress newVal = oObj.getTitleColumns();
+ ret = ValueComparer.equalValue(newVal, new CellRangeAddress((short)0, 0, 0, 0, 0));
+ // use first row of range as title column
+ titleColumns = new CellRangeAddress();
+ titleColumns.Sheet = address.Sheet;
+ titleColumns.StartColumn = address.StartColumn;
+ titleColumns.StartRow = address.StartRow;
+ titleColumns.EndColumn = address.EndColumn;
+ titleColumns.EndRow = address.StartRow;
+ oObj.setTitleColumns(titleColumns);
+ tRes.tested("setTitleColumns()", ret);
+ }
+
+ public void _setTitleRows() {
+ requiredMethod("setPrintAreas()");
+ boolean ret = false;
+ CellRangeAddress newVal = oObj.getTitleRows();
+ ret = ValueComparer.equalValue(newVal, new CellRangeAddress((short)0, 0, 0, 0, 0));
+ // use first column of range as title row
+ titleRows = new CellRangeAddress();
+ titleRows.Sheet = address.Sheet;
+ titleRows.StartColumn = address.StartColumn;
+ titleRows.StartRow = address.StartRow;
+ titleRows.EndColumn = address.StartColumn;
+ titleRows.EndRow = address.EndRow;
+ oObj.setTitleColumns(titleRows);
+ tRes.tested("setTitleRows()", ret);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java b/qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java
new file mode 100644
index 000000000000..bb61dbe55049
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java
@@ -0,0 +1,380 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.RangeSelectionEvent;
+import com.sun.star.sheet.XRangeSelection;
+import com.sun.star.sheet.XRangeSelectionChangeListener;
+import com.sun.star.sheet.XRangeSelectionListener;
+import com.sun.star.uno.UnoRuntime;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.AccessibilityTools;
+
+/**
+ * Check the XRangeSelection interface.
+ */
+public class _XRangeSelection extends MultiMethodTest {
+ public XRangeSelection oObj = null;
+ MyRangeSelectionListener aListener = null;
+
+ public void before() {
+ aListener = new _XRangeSelection.MyRangeSelectionListener(log);
+ // workaround for i34499
+ XModel xModel = (XModel)tEnv.getObjRelation("FirstModel");
+ if (xModel == null)
+ throw new StatusException(Status.failed("Object relation FirstModel' not set."));
+ XWindow xWindow = xModel.getCurrentController().getFrame().getContainerWindow();
+ XTopWindow xTopWindow = (XTopWindow)UnoRuntime.queryInterface(XTopWindow.class, xWindow);
+ xTopWindow.toFront();
+ util.utils.shortWait(500);
+ }
+
+
+ public void _abortRangeSelection() {
+ requiredMethod("removeRangeSelectionChangeListener()");
+ requiredMethod("removeRangeSelectionListener()");
+ oObj.abortRangeSelection();
+ tRes.tested("abortRangeSelection()", true);
+ }
+
+ public void _addRangeSelectionChangeListener() {
+ oObj.addRangeSelectionChangeListener(aListener);
+ tRes.tested("addRangeSelectionChangeListener()", true);
+ }
+
+ public void _addRangeSelectionListener() {
+ oObj.addRangeSelectionListener(aListener);
+ tRes.tested("addRangeSelectionListener()", true);
+ }
+
+ public void _removeRangeSelectionChangeListener() {
+ oObj.removeRangeSelectionChangeListener(aListener);
+ tRes.tested("removeRangeSelectionChangeListener()", true);
+ }
+
+ public void _removeRangeSelectionListener() {
+ oObj.removeRangeSelectionListener(aListener);
+ tRes.tested("removeRangeSelectionListener()", true);
+ }
+
+ public void _startRangeSelection() {
+ requiredMethod("addRangeSelectionChangeListener()");
+ requiredMethod("addRangeSelectionListener()");
+
+ // get the sheet center
+ Point center = getSheetCenter();;
+ if (center == null)
+ throw new StatusException(Status.failed("Couldn't get the sheet center."));
+
+ PropertyValue[] props = new PropertyValue[3];
+ props[0] = new PropertyValue();
+ props[0].Name = "InitialValue";
+ props[0].Value = "B3:D5";
+ props[1] = new PropertyValue();
+ props[1].Name = "Title";
+ props[1].Value = "the title";
+ props[2] = new PropertyValue();
+ props[2].Name = "CloseOnMouseRelease";
+ props[2].Value = Boolean.FALSE;
+ oObj.startRangeSelection(props);
+ // wait for listeners
+ util.utils.shortWait(1000);
+
+ // get closer button: move if window cobvers the sheet center
+ Point closer = getCloser(center);
+ if (closer == null)
+ throw new StatusException(Status.failed("Couldn't get the close Button."));
+
+ // do something to trigger the listeners
+ clickOnSheet(center);
+ util.utils.shortWait(5000);
+
+ // click on closer
+ clickOnSheet(closer);
+ util.utils.shortWait(5000);
+
+// System.out.println("X: " + closer.X + " Y: " + closer.Y);
+
+ // just check that we do not have the page instead of the range descriptor
+/* int childCount = xRoot.getAccessibleContext().getAccessibleChildCount();
+ if (childCount > 3) {// too many children: wrong type
+ throw new StatusException(Status.failed("Could not get the Range Descriptor"));
+ }
+ XAccessible xAcc = null;
+ try {
+ xAcc = xRoot.getAccessibleContext().getAccessibleChild(1);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+
+ }
+ accTools.printAccessibleTree(log, xAcc);
+*/
+ // open a new range selection
+ props[0].Value = "C4:E6";
+ oObj.startRangeSelection(props);
+ util.utils.shortWait(1000);
+ props[0].Value = "C2:E3";
+ oObj.startRangeSelection(props);
+ util.utils.shortWait(1000);
+
+ oObj.startRangeSelection(props);
+ util.utils.shortWait(1000);
+ oObj.abortRangeSelection();
+ aListener.reset();
+ System.out.println("Listener called: " + aListener.bAbortCalled);
+
+ tRes.tested("startRangeSelection()", aListener.listenerCalled());
+ }
+
+ /**
+ * Determine the current top window center and return this as a point.
+ * @ return a point representing the sheet center.
+ */
+ protected Point getSheetCenter() {
+ log.println("Trying to get AccessibleSpreadsheet");
+ AccessibilityTools at = new AccessibilityTools();
+ XComponent xSheetDoc = (XComponent) tEnv.getObjRelation("DOCUMENT");
+
+ XModel xModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+ System.out.println("Name: " + xModel.getCurrentController().getFrame().getName());
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)tParam.getMSF(), xModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE );
+
+ XAccessibleComponent AccessibleSpreadsheet = (XAccessibleComponent) UnoRuntime.queryInterface(XAccessibleComponent.class,AccessibilityTools.SearchedContext);
+
+ log.println("Got " + util.utils.getImplName(AccessibleSpreadsheet));
+
+ Object toolkit = null;
+
+ try {
+ toolkit = ((XMultiServiceFactory)tParam.getMSF()).createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ XTopWindow tw = null;
+
+ int k = tk.getTopWindowCount();
+ for (int i=0;i<k;i++) {
+ try {
+ XTopWindow tw_temp = tk.getTopWindow(i);
+ XAccessible xacc = (XAccessible) UnoRuntime.queryInterface(XAccessible.class, tw_temp);
+ if (xacc != null) {
+ if (xacc.getAccessibleContext().getAccessibleName().indexOf("d2")>0) {
+ tw=tw_temp;
+ };
+ } else {
+ log.println("\t unknown window");
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ if (tw == null) {
+ System.out.println("No TopWindow :-(");
+ return null;
+ }
+
+ Point point = AccessibleSpreadsheet.getLocationOnScreen();
+ Rectangle rect = AccessibleSpreadsheet.getBounds();
+ Point retPoint = new Point();
+ retPoint.X = point.X + (rect.Width / 2);
+ retPoint.Y = point.Y + (rect.Height / 2);
+ return retPoint;
+ }
+
+ /**
+ * Get the closer button on the right top of the current window.
+ * @return A point representing the closer button.
+ */
+ private Point getCloser(Point center) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object aToolkit = null;
+ try {
+ aToolkit = xMSF.createInstance("com.sun.star.awt.Toolkit");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not create 'com.sun.star.awt.Toolkit'.", e);
+ }
+ XExtendedToolkit xExtendedToolkit = (XExtendedToolkit)UnoRuntime.queryInterface(XExtendedToolkit.class, aToolkit);
+ XTopWindow tw = null;
+
+ XAccessibleComponent xAccessibleComponent = null;
+ int k = xExtendedToolkit.getTopWindowCount();
+ for (int i=0;i<k;i++) {
+ try {
+ XTopWindow tw_temp = xExtendedToolkit.getTopWindow(i);
+ XAccessible xacc = (XAccessible)UnoRuntime.queryInterface(XAccessible.class, tw_temp);
+ if (xacc != null) {
+ System.out.println("Name: " + xacc.getAccessibleContext().getAccessibleName());
+ if (xacc.getAccessibleContext().getAccessibleName().startsWith("the title")) {
+ tw = tw_temp;
+ XAccessibleContext xContext = xacc.getAccessibleContext();
+ xAccessibleComponent = (XAccessibleComponent)UnoRuntime.queryInterface(XAccessibleComponent.class, xContext);
+ if (xAccessibleComponent == null)
+ System.out.println("!!!! MIST !!!!");
+ else
+ System.out.println("########## KLAPPT ########## ");
+ }
+ }
+ else {
+ log.println("\t unknown window");
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ if (tw == null) {
+ System.out.println("No TopWindow :-(");
+ return null;
+ }
+
+ XWindow xWindow = (XWindow)UnoRuntime.queryInterface(XWindow.class, tw);
+ Rectangle posSize = xWindow.getPosSize();
+
+ // compare the center point with the dimensions of the current top window
+ boolean windowOK = false;
+ while(!windowOK) {
+ if (posSize.X <= center.X && center.X <= posSize.X + posSize.Width) {
+ if (posSize.Y <= center.Y && center.Y <= posSize.Y +posSize.Height) {
+ // move window out of the way
+ posSize.X = posSize.X + 10;
+ posSize.Y = posSize.Y +10;
+ xWindow.setPosSize(posSize.X, posSize.Y, posSize.Width, posSize.Height, PosSize.POS);
+ }
+ else {
+ windowOK = true;
+ }
+ }
+ else {
+ windowOK = true;
+ }
+
+ }
+
+ Point p = xAccessibleComponent.getLocationOnScreen();
+// System.out.println("ScreenPoint: " + p.X + " " + p.Y );
+// System.out.println("WindowPoint: " + posSize.X + " " + posSize.Y + " " + posSize.Width + " " + posSize.Height);
+ Point closer = new Point();
+ closer.X = p.X + posSize.Width - 2;
+ closer.Y = p.Y + 5;
+ System.out.println("Closer: " + closer.X + " " + closer.Y);
+ return closer;
+ }
+
+ protected boolean clickOnSheet(Point point) {
+ log.println("Clicking in the center of the AccessibleSpreadsheet");
+
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X, point.Y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ util.utils.shortWait(1000);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ util.utils.shortWait(1000);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ return true;
+ }
+
+ /**
+ *
+ */
+ public static class MyRangeSelectionListener implements XRangeSelectionListener, XRangeSelectionChangeListener {
+ boolean bAbortCalled = false;
+ boolean bChangeCalled = false;
+ boolean bDoneCalled = false;
+ PrintWriter log = null;
+
+ public MyRangeSelectionListener(PrintWriter log) {
+ this.log = log;
+ }
+
+ public void aborted(RangeSelectionEvent rangeSelectionEvent) {
+ log.println("Called 'aborted' with: " + rangeSelectionEvent.RangeDescriptor);
+ bAbortCalled = true;
+ }
+
+ public void descriptorChanged(RangeSelectionEvent rangeSelectionEvent) {
+ log.println("Called 'descriptorChanged' with: " + rangeSelectionEvent.RangeDescriptor);
+ bChangeCalled = true;
+ }
+
+ public void done(RangeSelectionEvent rangeSelectionEvent) {
+ log.println("Called 'done' with: " + rangeSelectionEvent.RangeDescriptor);
+ bDoneCalled = true;
+ }
+
+ public boolean listenerCalled() {
+ return bAbortCalled & bChangeCalled & bDoneCalled;
+ }
+
+ public void reset() {
+ bAbortCalled = false;
+ bChangeCalled = false;
+ bDoneCalled = false;
+ }
+
+ /**
+ * ignore disposing
+ * @param eventObject The event.
+ */
+ public void disposing(EventObject eventObject) {
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XRecentFunctions.java b/qadevOOo/tests/java/ifc/sheet/_XRecentFunctions.java
new file mode 100644
index 000000000000..117e7607e1c0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XRecentFunctions.java
@@ -0,0 +1,168 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import java.util.Random;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sheet.XRecentFunctions;
+
+/**
+* Testing <code>com.sun.star.sheet.XRecentFunctions</code>
+* interface methods :
+* <ul>
+* <li><code> getRecentFunctionIds()</code></li>
+* <li><code> setRecentFunctionIds()</code></li>
+* <li><code> getMaxRecentFunctions()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'FUNCTIONLIST'</code> (of type <code>XNameAccess</code>):
+* to have the set of available functions </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XRecentFunctions
+*/
+public class _XRecentFunctions extends MultiMethodTest {
+
+ public XRecentFunctions oObj = null;
+ int iMaxNumber = 0;
+
+ /**
+ * Test calls the method, checks returned value and stores it. <p>
+ * Has <b> OK </b> status if returned value isn't equal to zero. <p>
+ */
+ public void _getMaxRecentFunctions() {
+
+ iMaxNumber = oObj.getMaxRecentFunctions();
+ log.println("Maximum recent functions : " + iMaxNumber);
+
+ tRes.tested("getMaxRecentFunctions()", iMaxNumber != 0);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null, if length of returned
+ * array is equal or less to the maximum number of functions and obtained
+ * array doesn't contain equal functions. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMaxRecentFunctions() </code> : to have the maximum number
+ * of recent functions </li>
+ * </ul>
+ */
+ public void _getRecentFunctionIds() {
+ requiredMethod("getMaxRecentFunctions()");
+
+ boolean bResult = true;
+ int[] IDs = null;
+ int iNumber = 0;
+
+ IDs = oObj.getRecentFunctionIds();
+ iNumber = IDs.length;
+ bResult &= (iNumber <= iMaxNumber);
+ log.println("Now there are " + iNumber + " recent functions");
+ bResult &= (IDs != null);
+ if (bResult) {
+ for (int i = 0; i < iNumber - 1; i++)
+ for (int j = i + 1; j < iNumber; j++) {
+ bResult &= (IDs[i] != IDs[j]);
+ }
+ }
+
+ tRes.tested("getRecentFunctionIds()", bResult);
+ }
+
+ /**
+ * Test gets the set of available functions, sets empty list of recent
+ * functions, sets list of maximum size. <p>
+ * Has <b> OK </b> status if length of recent function list is equal to zero
+ * after list was set to empty, if length of list is equal to maximum size
+ * after list was set to it's maximum size and no exception were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMaxRecentFunctions() </code> : to have the maximum number
+ * of recent functions </li>
+ * </ul>
+ */
+ public void _setRecentFunctionIds() {
+ requiredMethod("getMaxRecentFunctions()");
+
+ boolean bResult = true;
+ int[] IDs = new int[0];
+ XNameAccess functionList = null;
+
+ log.println("First, get the set of available functions.");
+ functionList = (XNameAccess)tEnv.getObjRelation("FUNCTIONLIST");
+ if (functionList == null) throw new StatusException(Status.failed
+ ("Relation 'FUNCTIONLIST' not found"));
+
+ log.println("Now trying to set empty list.");
+ oObj.setRecentFunctionIds(IDs);
+ bResult &= (oObj.getRecentFunctionIds().length == 0);
+
+ log.println("Now trying to set list of maximum size.");
+ String[] names = functionList.getElementNames();
+ Random rnd = new Random();
+
+ IDs = new int[iMaxNumber];
+ int startIdx = rnd.nextInt(names.length - iMaxNumber - 1) + 1;
+
+ try {
+ for (int i = startIdx; i < startIdx + iMaxNumber; i++) {
+ PropertyValue[] propVals = (PropertyValue[])
+ functionList.getByName(names[i]);
+ for (int j = 0; j < propVals.length; j++) {
+ String propName = (String)propVals[j].Name;
+ if (propName.equals("Id")) {
+ IDs[i - startIdx] =
+ ((Integer)propVals[j].Value).intValue();
+ break;
+ }
+ }
+ }
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ bResult = false;
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ oObj.setRecentFunctionIds(IDs);
+ bResult &= (oObj.getRecentFunctionIds().length == iMaxNumber);
+
+ tRes.tested("setRecentFunctionIds()", bResult);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XScenario.java b/qadevOOo/tests/java/ifc/sheet/_XScenario.java
new file mode 100644
index 000000000000..ea158b8a2cd1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XScenario.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XScenario;
+import com.sun.star.table.CellRangeAddress;
+import lib.MultiMethodTest;
+import lib.Status;
+
+/**
+ *
+ */
+public class _XScenario extends MultiMethodTest {
+ public XScenario oObj = null;
+ CellRangeAddress address = null;
+ String comment = null;
+ boolean skipTest = false;
+
+ public void before() {
+ // testing a scenario containing the whole sheet does not make sense.
+ // test is skipped until this interface is implemented somewhere else
+ skipTest = true;
+ }
+
+ public void _addRanges() {
+ if (skipTest) {
+ tRes.tested("addRanges()",Status.skipped(true));
+ return;
+ }
+ oObj.addRanges(new CellRangeAddress[] {address});
+ tRes.tested("addRanges()", true);
+ }
+
+ public void _apply() {
+ requiredMethod("addRanges()");
+ if (skipTest) {
+ tRes.tested("apply()",Status.skipped(true));
+ return;
+ }
+ oObj.apply();
+ tRes.tested("apply()", true);
+ }
+
+ public void _getIsScenario() {
+ requiredMethod("apply()");
+ if (skipTest) {
+ tRes.tested("getIsScenario()",Status.skipped(true));
+ return;
+ }
+ boolean getIs = oObj.getIsScenario();
+ tRes.tested("getIsScenario()", getIs);
+ }
+
+ public void _getScenarioComment() {
+ if (skipTest) {
+ tRes.tested("getScenarioComment()",Status.skipped(true));
+ return;
+ }
+ comment = oObj.getScenarioComment();
+ tRes.tested("getScenarioComment()", true);
+ }
+
+ public void _setScenarioComment() {
+ requiredMethod("getScenarioComment()");
+ if (skipTest) {
+ tRes.tested("setScenarioComment()",Status.skipped(true));
+ return;
+ }
+ boolean res = false;
+ oObj.setScenarioComment("MyComment");
+ String c = oObj.getScenarioComment();
+ res = c.equals("MyComment");
+ oObj.setScenarioComment(comment);
+ tRes.tested("setScenarioComment()", res);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XScenarioEnhanced.java b/qadevOOo/tests/java/ifc/sheet/_XScenarioEnhanced.java
new file mode 100644
index 000000000000..42fac78d7d81
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XScenarioEnhanced.java
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XScenarioEnhanced;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+
+/**
+ *
+ * @author sw93809
+ */
+public class _XScenarioEnhanced extends MultiMethodTest {
+ public XScenarioEnhanced oObj = null;
+
+ public void before() {
+ oObj = (XScenarioEnhanced) UnoRuntime.queryInterface(
+ XScenarioEnhanced.class,
+ tEnv.getObjRelation("ScenarioSheet"));
+ }
+
+ public void _getRanges() {
+ boolean res = true;
+ CellRangeAddress[] getting = oObj.getRanges();
+ System.out.println("Count " + getting.length);
+
+ CellRangeAddress first = getting[0];
+
+ if (!(first.Sheet == 1)) {
+ log.println(
+ "wrong RangeAddress is returned, expected Sheet=0 and got " +
+ first.Sheet);
+ res = false;
+ }
+
+ if (!(first.StartColumn == 0)) {
+ log.println(
+ "wrong RangeAddress is returned, expected StartColumn=0 and got " +
+ first.StartColumn);
+ res = false;
+ }
+
+ if (!(first.EndColumn == 10)) {
+ log.println(
+ "wrong RangeAddress is returned, expected EndColumn=10 and got " +
+ first.EndColumn);
+ res = false;
+ }
+
+ if (!(first.StartRow == 0)) {
+ log.println(
+ "wrong RangeAddress is returned, expected StartRow=0 and got " +
+ first.StartRow);
+ res = false;
+ }
+
+ if (!(first.EndRow == 10)) {
+ log.println(
+ "wrong RangeAddress is returned, expected EndRow=10 and got " +
+ first.EndRow);
+ res = false;
+ }
+
+ tRes.tested("getRanges()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XScenarios.java b/qadevOOo/tests/java/ifc/sheet/_XScenarios.java
new file mode 100644
index 000000000000..efd4dcb458a0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XScenarios.java
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XScenarios;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XScenarios</code>
+* interface methods :
+* <ul>
+* <li><code> addNewByName()</code></li>
+* <li><code> removeByName()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ADDR'</code> (of type <code>CellRangeAddress[]</code>):
+* the array of cell range addresses for adding new scenario </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XScenarios
+*/
+public class _XScenarios extends MultiMethodTest {
+
+ public XScenarios oObj = null;
+
+ /**
+ * Test adds new scenario, stores name of this scenario and checks that
+ * scenario with this name is present in collection. <p>
+ * Has <b> OK </b> status if the new scenario is present in collection. <p>
+ */
+ public void _addNewByName() {
+ CellRangeAddress[] oAddr = (CellRangeAddress[])
+ tEnv.getObjRelation("ADDR");
+ if (oAddr == null) throw new StatusException(Status.failed
+ ("Relation 'ADDR' not found"));
+
+ oObj.addNewByName("XScenarios", oAddr, "new");
+ tRes.tested("addNewByName()",oObj.hasByName("XScenarios"));
+ }
+
+ /**
+ * Test removes the scenario with stored name and checks that scenario
+ * with this name isn't present in collection. <p>
+ * Has <b> OK </b> status if the scenario with stored name isn't present in
+ * collection after it was removed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addNewByName() </code> : to have name of the scenario </li>
+ * </ul>
+ */
+ public void _removeByName() {
+ requiredMethod("addNewByName()");
+ oObj.removeByName("XScenarios");
+ tRes.tested("removeByName()",!oObj.hasByName("XScenarios"));
+ }
+
+
+} // EOC _XScenarios
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XScenariosSupplier.java b/qadevOOo/tests/java/ifc/sheet/_XScenariosSupplier.java
new file mode 100644
index 000000000000..f1766b82a7da
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XScenariosSupplier.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XScenarios;
+import com.sun.star.sheet.XScenariosSupplier;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetAnnotationsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getAnnotations()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetAnnotationsSupplier
+*/
+public class _XScenariosSupplier extends MultiMethodTest {
+ public XScenariosSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getScenarios(){
+ XScenarios oSc = oObj.getScenarios();
+ tRes.tested("getScenarios()", oSc != null);
+ }
+
+} // EOC _XScenariosSupplier
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotation.java b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotation.java
new file mode 100644
index 000000000000..a50d63f817f9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotation.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.ValueComparer;
+
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.table.CellAddress;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetAnnotation</code>
+* interface methods :
+* <ul>
+* <li><code> getPosition()</code></li>
+* <li><code> getAuthor()</code></li>
+* <li><code> getDate()</code></li>
+* <li><code> getIsVisible()</code></li>
+* <li><code> setIsVisible()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CELLPOS'</code> (of type
+* <code>com.sun.star.table.CellAddress</code>):
+* The position of cell with annotation. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.sheet.XSheetAnnotation
+*/
+public class _XSheetAnnotation extends MultiMethodTest {
+
+ public XSheetAnnotation oObj = null;
+
+ /**
+ * Gets the author of annotation. <p>
+ * Has <b>OK</b> status if not null value returned.
+ */
+ public void _getAuthor() {
+ String author = oObj.getAuthor();
+ tRes.tested("getAuthor()", author != null);
+ }
+
+ /**
+ * Gets the modification date of annotation. <p>
+ * Has <b>OK</b> status if not null value returned.
+ */
+ public void _getDate() {
+ String date = oObj.getDate();
+ tRes.tested("getDate()", date != null);
+ }
+
+ /**
+ * Sets the string of annotation, then makes it visible and
+ * checks the value returned by <code>getIsVisible</code> method. <p>
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _getIsVisible() {
+ XSimpleText oText = (XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class, oObj);
+ oText.setString("XSheetAnnotation");
+ oObj.setIsVisible(true);
+ boolean bVis = oObj.getIsVisible();
+ tRes.tested("getIsVisible()", bVis);
+ }
+
+ /**
+ * Gets the position of annotated cell and compares it to
+ * the position passed as relation. <p>
+ * Has <b>OK</b> status if these positions are equal and not
+ * null.
+ */
+ public void _getPosition() {
+ boolean bResult = false;
+ CellAddress sCAddr = (CellAddress) tEnv.getObjRelation("CELLPOS") ;
+ if (sCAddr == null) throw new StatusException(Status.failed
+ ("Relation 'CELLPOS' not found"));
+
+ CellAddress oCAddr = oObj.getPosition();
+
+ bResult = (oCAddr != null) && (sCAddr != null) &&
+ ValueComparer.equalValue(oCAddr, sCAddr) ;
+
+ tRes.tested("getPosition()", bResult);
+ }
+
+ /**
+ * Sets the string of annotation, makes it hidden and then
+ * visible. Visibility is checked in both cases. <p>
+ * Has <b>OK</b> status if the <code>getIsVisible</code> method
+ * returns <code>flase</code> in the first case and <code>true</code>
+ * in the second.
+ */
+ public void _setIsVisible() {
+ boolean bResult = true;
+ XSimpleText oText = (XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class, oObj);
+ oText.setString("XSheetAnnotation");
+ oObj.setIsVisible(false);
+ boolean bVis = oObj.getIsVisible();
+ if (!bVis) {
+ oObj.setIsVisible(true);
+ bVis = oObj.getIsVisible();
+ if (bVis) {
+ bResult = true;
+ }
+ }
+
+ tRes.tested("setIsVisible()", bResult);
+ }
+
+} // EOC _XSheetAnnotation
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationAnchor.java b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationAnchor.java
new file mode 100644
index 000000000000..76a5b97b0aaf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationAnchor.java
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.sheet.XSheetAnnotationAnchor;
+import com.sun.star.table.CellAddress;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetAnnotationAnchor</code>
+* interface methods :
+* <ul>
+* <li><code> getAnnotation()</code></li>
+* </ul>
+* @see com.sun.star.sheet.XSheetAnnotationAnchor
+*/
+public class _XSheetAnnotationAnchor extends MultiMethodTest {
+
+ public XSheetAnnotationAnchor oObj = null;
+ protected XSheetAnnotation anno = null;
+
+ public void _getAnnotation() {
+ anno = oObj.getAnnotation();
+ tRes.tested("getAnnotation()",checkAnnotation());
+ }
+
+ protected boolean checkAnnotation() {
+ boolean res = true;
+ res &= check_getAuthor();
+ res &= check_getDate();
+ res &= check_getIsVisible();
+ res &= check_getPosition();
+ res &= check_setIsVisible();
+ return res;
+ }
+
+ /**
+ * Gets the author of annotation. <p>
+ * Returns <b>true</b> if not null value returned.
+ */
+ protected boolean check_getAuthor() {
+ String author = anno.getAuthor();
+ return (author != null);
+ }
+
+ /**
+ * Gets the modification date of annotation. <p>
+ * Returns <b>true</b> if not null value returned.
+ */
+ protected boolean check_getDate() {
+ String date = anno.getDate();
+ return (date != null);
+ }
+
+ /**
+ * Sets the string of annotation, then makes it visible and
+ * checks the value returned by <code>getIsVisible</code> method. <p>
+ * Returns <b>true</b> if the method returns <code>true</code>.
+ */
+ protected boolean check_getIsVisible() {
+ XSimpleText oText = (XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class, anno);
+ oText.setString("XSheetAnnotation");
+ anno.setIsVisible(true);
+ boolean bVis = anno.getIsVisible();
+ return bVis;
+ }
+
+ /**
+ * Gets the position of annotated cell
+ * Returns <b>true</b> if this position is not null.
+ */
+ protected boolean check_getPosition() {
+ CellAddress oCAddr = anno.getPosition();
+ return (oCAddr != null);
+ }
+
+ /**
+ * Sets the string of annotation, makes it hidden and then
+ * visible. Visibility is checked in both cases. <p>
+ * Returns <b>true</b> if the <code>getIsVisible</code> method
+ * returns <code>false</code> in the first case and <code>true</code>
+ * in the second.
+ */
+ protected boolean check_setIsVisible() {
+ boolean bResult = true;
+ XSimpleText oText = (XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class, anno);
+ oText.setString("XSheetAnnotation");
+ anno.setIsVisible(false);
+ boolean bVis = anno.getIsVisible();
+ if (!bVis) {
+ anno.setIsVisible(true);
+ bVis = anno.getIsVisible();
+ if (bVis) {
+ bResult = true;
+ }
+ }
+
+ return bResult;
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationShapeSupplier.java b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationShapeSupplier.java
new file mode 100644
index 000000000000..9b0f3c193b73
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationShapeSupplier.java
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.sheet.XSheetAnnotationShapeSupplier;
+import lib.MultiMethodTest;
+
+public class _XSheetAnnotationShapeSupplier extends MultiMethodTest
+{
+ public XSheetAnnotationShapeSupplier oObj = null;
+
+ public void _getAnnotationShape() {
+ XShape xShape = oObj.getAnnotationShape ();
+ tRes.tested ("getAnnotationShape()",xShape!=null);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotations.java b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotations.java
new file mode 100644
index 000000000000..d24f2cbf9416
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotations.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSheetAnnotations;
+import com.sun.star.table.CellAddress;
+
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetAnnotations</code>
+* interface methods :
+* <ul>
+* <li><code> insertNew()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.sheet.XSheetAnnotations
+*/
+public class _XSheetAnnotations extends MultiMethodTest {
+
+ public XSheetAnnotations oObj = null;
+
+ /**
+ * Adds two new annotations into collection. <p>
+ * Has <b>OK</b> status if the number of elements in collection
+ * increased by 2 after method call.
+ */
+ public void _insertNew(){
+ boolean bResult = false;
+
+ int initialAmount = oObj.getCount();
+ String sAnno = oObj.toString();
+
+ oObj.insertNew(new CellAddress((short)1, 2, 5), sAnno + "1");
+ oObj.insertNew(new CellAddress((short)1, 1, 1), sAnno + "2");
+
+ bResult = (oObj.getCount() == 2 + initialAmount);
+ tRes.tested("insertNew()", bResult);
+ }
+
+ /**
+ * Removes one annotation from collection. <p>
+ * Has <b>OK</b> status if the number of elements in collection
+ * decreased after method call. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertNew </code> : to be sure at least two elements
+ * exist in the collection.</li>
+ * </ul>
+ */
+ public void _removeByIndex(){
+ requiredMethod("insertNew()");
+ int tmpCnt = oObj.getCount();
+
+ oObj.removeByIndex(1);
+ int newCnt = oObj.getCount();
+
+ tRes.tested("removeByIndex()", newCnt < tmpCnt);
+ }
+
+} // EOC _XSheetAnnotations
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationsSupplier.java b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationsSupplier.java
new file mode 100644
index 000000000000..544d19c8f630
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetAnnotationsSupplier.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSheetAnnotations;
+import com.sun.star.sheet.XSheetAnnotationsSupplier;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetAnnotationsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getAnnotations()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetAnnotationsSupplier
+*/
+public class _XSheetAnnotationsSupplier extends MultiMethodTest {
+
+ public XSheetAnnotationsSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getAnnotations(){
+ log.println("testing getAnnotations");
+ XSheetAnnotations oSheetAnno = oObj.getAnnotations();
+ tRes.tested("getAnnotations()", oSheetAnno != null );
+ }
+
+} // EOC _XSheetAnnotationsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetAuditing.java b/qadevOOo/tests/java/ifc/sheet/_XSheetAuditing.java
new file mode 100644
index 000000000000..a721275ed684
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetAuditing.java
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.sheet.ValidationType;
+import com.sun.star.sheet.XSheetAuditing;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XSheetAuditing extends MultiMethodTest {
+ public XSheetAuditing oObj = null;
+ CellAddress address = null;
+ CellAddress precedentAddress = null;
+ CellAddress dependentAddress = null;
+ XCell xAddress = null;
+ XCell xPrecedentAddress = null;
+ XCell xDependentAddress = null;
+ XDrawPage xDrawPage = null;
+ int elementCount = 0;
+
+ public void before() {
+ address = (CellAddress)tEnv.getObjRelation("XSheetAuditing.CellAddress");
+ precedentAddress = (CellAddress)tEnv.getObjRelation("XSheetAuditing.PrecedentCellAddress");
+ dependentAddress= (CellAddress)tEnv.getObjRelation("XSheetAuditing.DependentCellAddress");
+ if (address == null || precedentAddress == null || dependentAddress == null) {
+ throw new StatusException(Status.failed("Necessary CellAddress object relations not found."));
+ }
+
+ // get the draw page for checking the shapes
+ xDrawPage = (XDrawPage)tEnv.getObjRelation("XSheetAuditing.DrawPage");
+ if (xDrawPage == null) { // get from object
+ XDrawPageSupplier oDPS = (XDrawPageSupplier)
+ UnoRuntime.queryInterface(XDrawPageSupplier.class, oObj);
+ xDrawPage = (XDrawPage) oDPS.getDrawPage();
+ }
+ if (xDrawPage == null) {
+ throw new StatusException(Status.failed("'XSheetAuditing.DrawPage' object relation not found."));
+ }
+ if (xDrawPage.hasElements()) {
+ elementCount = xDrawPage.getCount();
+ }
+
+ // get a sheet for changing the cells
+ XSpreadsheet xSheet = (XSpreadsheet)tEnv.getObjRelation("XSheetAuditing.Spreadsheet");
+ if (xSheet == null) // query on ther object
+ xSheet = (XSpreadsheet)UnoRuntime.queryInterface(XSpreadsheet.class, oObj);
+ if (xSheet == null)
+ throw new StatusException(Status.failed("'XSheetAuditing.Spreadsheet' object relation not found."));
+ try {
+ xAddress = xSheet.getCellByPosition(address.Column, address.Row);
+ xDependentAddress = xSheet.getCellByPosition(dependentAddress.Column, dependentAddress.Row);
+ xPrecedentAddress = xSheet.getCellByPosition(precedentAddress.Column, precedentAddress.Row);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException(Status.failed("Invalid cell addresses in object relations."));
+ }
+ }
+
+ public void _clearArrows() {
+ requiredMethod("hideDependents()");
+ boolean erg = false;
+ oObj.showDependents(address);
+ oObj.showPrecedents(address);
+ erg = hasRightAmountOfShapes(3);
+ oObj.clearArrows();
+ erg &= hasRightAmountOfShapes(0);
+ tRes.tested("clearArrows()", erg);
+ }
+
+ public void _hideDependents() {
+ requiredMethod("showDependents()");
+ oObj.hideDependents(address);
+ tRes.tested("hideDependents()", hasRightAmountOfShapes(0));
+ }
+
+ public void _hidePrecedents() {
+ requiredMethod("showPrecedents()");
+// requiredMethod("showPrecedents()");
+ oObj.hidePrecedents(address);
+ tRes.tested("hidePrecedents()", hasRightAmountOfShapes(0));
+ }
+
+ public void _showDependents() {
+ requiredMethod("hidePrecedents()");
+ oObj.showDependents(address);
+ tRes.tested("showDependents()", hasRightAmountOfShapes(1));
+ }
+
+ public void _showErrors() {
+ requiredMethod("clearArrows()");
+ // construct an error: square root from -3
+ xPrecedentAddress.setValue(-9);
+ String cellAddress = new String(new byte[]{(byte)(precedentAddress.Column + 65)}) + (precedentAddress.Row+1);
+ xAddress.setFormula("=SQRT(" + cellAddress + ")");
+ XText xText = (XText)UnoRuntime.queryInterface(XText.class, xAddress);
+ // correct error in cell:
+ String error = xText.getString();
+ boolean erg = error.equals("Err:502");
+ log.println("Content: " + error);
+ oObj.showErrors(dependentAddress);
+ erg &= hasRightAmountOfShapes(2);
+ tRes.tested("showErrors()", erg);
+ }
+
+ public void _showInvalid() {
+ requiredMethod("showErrors()");
+ boolean result = true;
+ // insert a value
+ xAddress.setValue(2.5);
+ try {
+ // add a validitation to a cell: only whole numbers are allowed
+ XPropertySet xPropertySet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xAddress);
+ Object o = xPropertySet.getPropertyValue("Validation");
+ XPropertySet xValidation = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, o);
+ xValidation.setPropertyValue("Type", ValidationType.WHOLE);
+ xPropertySet.setPropertyValue("Validation", xValidation);
+ // test
+ oObj.showInvalid();
+ result = hasRightAmountOfShapes(1);
+ oObj.clearArrows();
+ result &= hasRightAmountOfShapes(0);
+ // revoke the validitation to a cell
+ xValidation.setPropertyValue("Type", ValidationType.ANY);
+ xPropertySet.setPropertyValue("Validation", xValidation);
+ // test again
+ oObj.showInvalid();
+ result &= hasRightAmountOfShapes(0);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace((java.io.PrintWriter)log);
+ result = false;
+ }
+
+ tRes.tested("showInvalid()", result);
+ }
+
+ public void _showPrecedents() {
+ oObj.showPrecedents(address);
+ tRes.tested("showPrecedents()", hasRightAmountOfShapes(2));
+ }
+
+ /**
+ * Check if the amount of shapes is the right one after displaying that stuff
+ * 2do improve this: check taht the shapes are the correct ones -> convwatch
+ * @desiredValue That's the amount of shapes that have to be here.
+ * @return True, if the actual count of shapes is the same
+ */
+ private boolean hasRightAmountOfShapes(int desiredValue) {
+ int newCount = xDrawPage.getCount();
+ if (newCount != elementCount + desiredValue) {
+ return false;
+ }
+ else {
+ if (desiredValue >= 0) {
+ for (int i=elementCount; i<newCount; i++) {
+ try {
+ Object o = xDrawPage.getByIndex(i);
+ XShape xShape = (XShape)UnoRuntime.queryInterface(XShape.class, o);
+ System.out.println("Shape Type: " + xShape.getShapeType());
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ return true;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetCellCursor.java b/qadevOOo/tests/java/ifc/sheet/_XSheetCellCursor.java
new file mode 100644
index 000000000000..ec484f9bf0d6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetCellCursor.java
@@ -0,0 +1,403 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.CellFlags;
+import com.sun.star.sheet.XArrayFormulaRange;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSheetCellCursor;
+import com.sun.star.sheet.XSheetOperation;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XMergeable;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetCellCursor</code>
+* interface methods :
+* <ul>
+* <li><code> collapseToCurrentRegion()</code></li>
+* <li><code> collapseToCurrentArray()</code></li>
+* <li><code> collapseToMergedArea()</code></li>
+* <li><code> expandToEntireColumns()</code></li>
+* <li><code> expandToEntireRows()</code></li>
+* <li><code> collapseToSize()</code></li>
+* </ul> <p>
+* Component must also implement the following interfaces :
+* <ul>
+* <li> <code> com.sun.star.sheet.XCellRangeAddressable </code> :
+* to get range address </li>
+* <ul> <p>
+* Range of cursor must be of size 4 x 4. <p>
+* @see com.sun.star.sheet.XSheetCellCursor
+*/
+public class _XSheetCellCursor extends MultiMethodTest {
+
+ public XSheetCellCursor oObj = null;
+
+ /**
+ * Test creates the array formula, assigns this array to another array,
+ * collapses cursor into one cell, applies method, checks the size of the
+ * result range, erases array formula, checks that array formula has been
+ * cleared. <p>
+ * Has <b>OK</b> status if no exceptions were thrown, if size of the result
+ * range is equal to size of the range where the array formula was set and
+ * if array formula was successfully cleared. <p>
+ */
+ public void _collapseToCurrentArray() {
+ boolean bResult = false;
+
+ XCellRangeAddressable crAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, oObj);
+ CellRangeAddress addr = crAddr.getRangeAddress() ;
+ int leftCol = addr.StartColumn ;
+ int topRow = addr.StartRow ;
+ int width = addr.EndColumn - addr.StartColumn + 1 ;
+ int height = addr.EndRow - addr.StartRow + 1 ;
+
+ log.println( "Object area is ((" + leftCol + "," + topRow + "),(" +
+ (leftCol + width - 1) + "," + (topRow + height - 1) + ")" );
+
+ XCellRange new_range = null;
+ try {
+ // first we need to create an array formula
+ new_range =
+ oObj.getCellRangeByPosition(0, 0, 0, height - 1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.print("Get cell range by position failed: ");
+ e.printStackTrace(log);
+ tRes.tested("collapseToCurrentArray()", false);
+ }
+
+ log.println("DB: Successfully new range created");
+ XArrayFormulaRange arrFormulaRange = (XArrayFormulaRange)
+ UnoRuntime.queryInterface (XArrayFormulaRange.class, new_range);
+ // write a simple formula (this array assigns another array)
+ arrFormulaRange.setArrayFormula("A1:A" + height) ;
+
+ // collapse cursor into one cell and then try to apply the method
+ oObj.collapseToSize (1, 1) ;
+ oObj.collapseToCurrentArray() ;
+
+ // check the size of result range
+ int cols = ( (XColumnRowRange)UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getColumns().getCount();
+ int rows = ( (XColumnRowRange)UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getRows().getCount();
+
+ if (cols == 1 && rows == height) {
+ bResult = true;
+ } else {
+ bResult = false;
+ log.println("The size of cell range must be 1x" + height +
+ ", but after method call it was " + cols + "x" + rows);
+ }
+
+ // erase array formula
+ arrFormulaRange.setArrayFormula("");
+
+ // check if array formula has been cleared with last statement
+ try {
+ // if array formula isn't cleared exception is thrown
+ new_range.getCellByPosition(0,0).setValue(111) ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ bResult = false ;
+ log.println(
+ "Array formula hasn't been cleared with setArrayFormula(\"\")");
+ XSheetOperation clearRange = (XSheetOperation)
+ UnoRuntime.queryInterface (XSheetOperation.class, new_range);
+ int allFlags =
+ CellFlags.ANNOTATION | CellFlags.DATETIME | CellFlags.EDITATTR;
+ allFlags = allFlags
+ | CellFlags.HARDATTR | CellFlags.OBJECTS | CellFlags.STRING;
+ allFlags = allFlags
+ | CellFlags.VALUE | CellFlags.FORMULA | CellFlags.STYLES;
+ clearRange.clearContents(allFlags) ;
+ }
+
+ tRes.tested("collapseToCurrentArray()", bResult );
+ }
+
+ /**
+ * Test clears contents of spreadsheet, collapses cursor to current range,
+ * checks size of cursor range, fills a cell that is close to
+ * cursor range, collapses cursor to current range, checks size of cursor
+ * range again and restores original size. <p>
+ * Has <b> OK </b> status if after clearing of content and collapsing cursor
+ * range size remains 4 x 4, if after filling of cell and collapsing cursor
+ * range extends by one in both dimensions and no exceptions were thrown.<p>
+ */
+ public void _collapseToCurrentRegion(){
+ boolean bResult = true;
+ int width = 4, height = 4;
+ int leftCol = -1, topRow = -1;
+
+ XSpreadsheet oSheet = oObj.getSpreadsheet();
+ ((XSheetOperation) UnoRuntime.queryInterface(
+ XSheetOperation.class, oSheet) ).clearContents(65535);
+ oObj.collapseToCurrentRegion();
+ int cols = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getColumns().getCount();
+ int rows = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getRows().getCount();
+
+ if (cols != width || rows != height) {
+ bResult = false ;
+ log.println("After collapseToCurrentRegion()"
+ + " call Region must have size " + width + "x" + height
+ + " but it is " + cols + "x" + rows);
+ }
+
+ // if previous test was successful try more complicated case
+ if (bResult) {
+ if (leftCol != -1 && topRow != -1) {
+ try {
+ oSheet.getCellByPosition(
+ leftCol + width, topRow + height).setValue(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.print("Can't get cell by position:");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ oObj.collapseToCurrentRegion() ;
+
+ // checking results
+ cols = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj)).getColumns().getCount();
+ rows = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj)).getRows().getCount();
+
+ if (cols == width + 1 && rows == height + 1) {
+ bResult &= true;
+ } else {
+ bResult = false;
+ log.println("After collapseToCurrentRegion() call [2]"
+ + " region must have size " + (width+1) + "x"
+ + (height + 1) + " but it is " + cols + "x" + rows );
+ }
+ }
+ }
+
+ tRes.tested("collapseToCurrentRegion()", bResult);
+
+ // restore original size
+ oObj.collapseToSize(width, height);
+ }
+
+ /**
+ * Test merges a cells of range that has a greater size, collapses cursor to
+ * merged area, checks size of cursor range and restores original size
+ * of cursor range. <p>
+ * Has <b> OK </b> status if after merging of cells and collapsing cursor
+ * range extends by one in both dimensions and no exceptions were thrown.<p>
+ */
+ public void _collapseToMergedArea(){
+ int width = 1, height = 1 ;
+ int leftCol = 0, topRow = 0 ;
+
+ boolean bResult = true ;
+
+ log.println("DB: Starting collapseToMergedArea() method test ...") ;
+ XSpreadsheet oSheet = oObj.getSpreadsheet() ;
+ log.println ("DB: got Spreadsheet.") ;
+
+ XCellRange newRange = null;
+ try {
+ newRange = oSheet.getCellRangeByPosition (
+ leftCol + width - 1, topRow + height - 1,
+ leftCol + width, topRow + height );
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Can't get cell range by position");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ XMergeable mergeRange = (XMergeable)
+ UnoRuntime.queryInterface (XMergeable.class, newRange);
+ if (mergeRange == null) {
+ log.println("DB: newRange doesn't implement XMergeable interface");
+ } else {
+ log.println("DB: XMergeable interface successfully queried.");
+ }
+
+ mergeRange.merge(true);
+ log.println("DB: Successfuly merged.") ;
+
+ oObj.collapseToMergedArea() ;
+ log.println("DB: Succesfully collapseToMergedArea() method called");
+
+ // unmerge area to restore SpreadSheet
+ mergeRange.merge(false);
+ log.println("DB: Successfully unmerged.") ;
+
+ // checking results
+ int cols = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getColumns().getCount();
+ int rows = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getRows().getCount();
+ log.println("DB: Column and row numbers succesfully get") ;
+
+ if (cols == width + 1 && rows == height + 3) {
+ bResult &= true;
+ } else {
+ bResult = false;
+ log.println(
+ "After collapseToMergedArea() call region must have size "
+ + (width + 1) + "x" + (height + 1) + " but it is " + cols
+ + "x" + rows );
+ }
+
+ tRes.tested("collapseToMergedArea()", bResult) ;
+
+ // restore original size
+ oObj.collapseToSize(width, height);
+ }
+
+ /**
+ * Test collapses cursor to the new size, checks size
+ * of cursor range and restores original size of cursor range. <p>
+ * Has <b> OK </b> status if after collapsing cursor
+ * range extends by three in both dimensions. <p>
+ */
+ public void _collapseToSize(){
+ boolean bResult = false;
+ int width = 1, height = 1;
+
+ // collapseToSize() method test
+ oObj.collapseToSize (width + 3, height + 3);
+
+ // checking results
+ int cols = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getColumns().getCount();
+ int rows = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getRows().getCount();
+
+ if (cols == width + 3 && rows == height + 3) {
+ bResult = true ;
+ } else {
+ bResult = false ;
+ log.println( "After collapseToSize() call region must have size "
+ + (width + 3) + "x" + (height + 3) + " but it is "
+ + cols + "x" +rows);
+ }
+
+ tRes.tested("collapseToSize()", bResult) ;
+
+ // restore original size
+ oObj.collapseToSize(width, height) ;
+ }
+
+ /**
+ * Test expands cursor to entire columns, checks size
+ * of cursor range and restores original size of cursor range. <p>
+ * Has <b> OK </b> status if after expanding cursor
+ * range extends to all rows in the columns (number of rows is greater than
+ * 32000 and number of columns remains the same). <p>
+ */
+ public void _expandToEntireColumns(){
+ boolean bResult = false;
+ int width = 1, height = 1 ;
+
+ // expandToEntireColumns() method test
+ oObj.expandToEntireColumns () ;
+
+ // checking results
+ int cols = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getColumns().getCount();
+ int rows = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getRows().getCount();
+
+ if (cols == width && rows >= 32000) {
+ bResult = true ;
+ } else {
+ bResult = false ;
+ log.println(
+ "After expandToEntireColumns() call region must have size "+
+ width + "x(>=32000) but it is " + cols + "x" + rows);
+ }
+
+ tRes.tested("expandToEntireColumns()", bResult) ;
+
+ // restore original size
+ oObj.collapseToSize(width, height) ;
+ }
+
+ /**
+ * Test expands cursor to entire rows, checks size
+ * of cursor range and restores original size of cursor range. <p>
+ * Has <b> OK </b> status if after expanding cursor
+ * range extends to all columns in the rows (number of columns is greater
+ * than 256 and number of rows remains the same). <p>
+ */
+ public void _expandToEntireRows(){
+ boolean bResult = false;
+ int width = 1, height = 1 ;
+
+ // expandToEntireRows() method test
+ oObj.expandToEntireRows () ;
+
+ // checking results
+ int cols = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getColumns().getCount();
+ int rows = ((XColumnRowRange)
+ UnoRuntime.queryInterface(
+ XColumnRowRange.class, oObj) ).getRows().getCount();
+
+ if (cols >= 256 && rows == height) {
+ bResult = true;
+ } else {
+ bResult = false ;
+ log.println("After expandToEntireRows() call region " +
+ "must have size (>=256)x" + height + " but it is " +
+ cols + "x" + rows );
+ }
+
+ tRes.tested("expandToEntireRows()", bResult) ;
+
+ // restore original size
+ oObj.collapseToSize(width, height) ;
+ }
+
+} // EOC _XSheetCellCursor
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetCellRange.java b/qadevOOo/tests/java/ifc/sheet/_XSheetCellRange.java
new file mode 100644
index 000000000000..95688c660c91
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetCellRange.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSheetCellRange;
+import com.sun.star.sheet.XSpreadsheet;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetCellRange</code>
+* interface methods :
+* <ul>
+* <li><code> getSpreadsheet()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetCellRange
+*/
+public class _XSheetCellRange extends MultiMethodTest {
+
+ public XSheetCellRange oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSpreadsheet(){
+ XSpreadsheet oSheet = oObj.getSpreadsheet();
+ tRes.tested("getSpreadsheet()", oSheet != null);
+ }
+
+} // EOC _XSheetCellRange
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetCellRangeContainer.java b/qadevOOo/tests/java/ifc/sheet/_XSheetCellRangeContainer.java
new file mode 100644
index 000000000000..230306b300cd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetCellRangeContainer.java
@@ -0,0 +1,205 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sheet.XSheetCellRangeContainer;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetCellRangeContainer</code>
+* interface methods :
+* <ul>
+* <li><code> addRangeAddress() </code></li>
+* <li><code> removeRangeAddress() </code></li>
+* <li><code> addRangeAddresses() </code></li>
+* <li><code> removeRangeAddresses() </code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.sheet.XSheetCellRangeContainer
+*/
+public class _XSheetCellRangeContainer extends MultiMethodTest {
+ public XSheetCellRangeContainer oObj = null;
+ public CellRangeAddress[] rAddr = new CellRangeAddress[3];
+
+ /**
+ * After method called, the new array of structures 'CellRangeAddress'
+ * is created. Then container is cleared.
+ */
+ public void before() {
+ for ( short i=0; i<=2; i++ ) {
+ rAddr[i] = new CellRangeAddress();
+ rAddr[i].Sheet = i;
+ rAddr[i].StartColumn = i;
+ rAddr[i].StartRow = i;
+ rAddr[i].EndColumn = i + 3;
+ rAddr[i].EndRow = i + 3;
+ try {
+ oObj.removeRangeAddresses(oObj.getRangeAddresses());
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error: Cannot remove "+
+ "range addresses." ,e);
+ }
+ }
+ }
+
+ /**
+ * The method called. Then new value is added to Container.
+ * Next we try to obtain back added value and check it. <p>
+ *
+ * Has <b> OK </b> status if the range just added presents among
+ * all ranges in the container.
+ */
+ public void _addRangeAddress() {
+ boolean result = true;
+
+ log.println("Elements before adding: " + oObj.getCount());
+ oObj.addRangeAddress(rAddr[0], false);
+ log.println("Elements after adding: " + oObj.getCount());
+ CellRangeAddress[] addr = oObj.getRangeAddresses();
+ boolean exist = false ;
+ for (int i=0; i<=oObj.getCount()-1; i++) {
+ if ( addr[i].Sheet == rAddr[0].Sheet &&
+ addr[i].StartColumn == rAddr[0].StartColumn &&
+ addr[i].StartRow == rAddr[0].StartRow &&
+ addr[i].EndColumn == rAddr[0].EndColumn &&
+ addr[i].EndRow == rAddr[0].EndRow) {
+
+ exist = true;
+ }
+ }
+
+ result &= exist ;
+
+ tRes.tested("addRangeAddress()" ,result);
+ }
+
+ /**
+ * The method called. Then a value added before is removed.
+ * Next we check Container for existence of removed value. <p>
+ * Has <b> OK </b> status if the range just removed doesn't presents among
+ * all ranges in the container.
+ */
+ public void _removeRangeAddress() {
+ boolean result = true;
+
+ log.println("Elements before removing: " + oObj.getCount());
+ try {
+ oObj.removeRangeAddress(rAddr[0]);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ log.println("Elements after removing: " + oObj.getCount());
+ CellRangeAddress[] addr = oObj.getRangeAddresses();
+ for (int i=0; i<=oObj.getCount()-1; i++) {
+ if ( (addr[i].Sheet == rAddr[0].Sheet) &&
+ (addr[i].StartColumn == rAddr[0].StartColumn) &&
+ (addr[i].StartRow == rAddr[0].StartRow) &&
+ (addr[i].EndColumn == rAddr[0].EndColumn) &&
+ (addr[i].EndRow == rAddr[0].EndRow) ) {
+ result = false;
+ }
+ }
+ tRes.tested("removeRangeAddress()" ,result);
+ }
+
+ /**
+ * The method called. Then new values are added to Container.
+ * Next we try to obtain back all added values and check it. <p>
+ *
+ * Has <b> OK </b> status if the count of ranges increases by
+ * number of added ranges - 1 (one of ranges already exists in the
+ * container). And if all of ranges added exist in the container.
+ */
+ public void _addRangeAddresses() {
+ executeMethod("addRangeAddress()");
+
+ boolean result = true;
+
+ int cntBefore = oObj.getCount();
+ log.println("Elements before adding: " + cntBefore);
+ oObj.addRangeAddresses(rAddr, false);
+ log.println("Elements after adding: " + oObj.getCount());
+ CellRangeAddress[] addr = oObj.getRangeAddresses();
+
+ result &= cntBefore + rAddr.length == oObj.getCount();
+
+ for (int j = 0; j < rAddr.length; j++) {
+ boolean exist = false ;
+ for (int i=0; i < oObj.getCount(); i++) {
+ if ( addr[i].Sheet == rAddr[j].Sheet &&
+ addr[i].StartColumn == rAddr[j].StartColumn &&
+ addr[i].StartRow == rAddr[j].StartRow &&
+ addr[i].EndColumn == rAddr[j].EndColumn &&
+ addr[i].EndRow == rAddr[j].EndRow ) {
+
+ exist = true;
+ break;
+ }
+ }
+ result &= exist;
+ }
+
+ tRes.tested("addRangeAddresses()" ,result);
+ }
+
+ /**
+ * All ranges are remover from contaier.
+ *
+ * Has <b> OK </b> status if there are no more ranges in the container.
+ */
+ public void _removeRangeAddresses() {
+ boolean result = false;
+ int cnt;
+
+ log.println("Elements before removing: " + oObj.getCount());
+ try {
+ oObj.removeRangeAddresses(oObj.getRangeAddresses());
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ if ( (cnt = oObj.getCount()) == 0) {
+ result = true;
+ }
+ log.println("Elements after removing: " + cnt);
+ tRes.tested("removeRangeAddresses()" ,result);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetCellRanges.java b/qadevOOo/tests/java/ifc/sheet/_XSheetCellRanges.java
new file mode 100644
index 000000000000..c64aeae807c4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetCellRanges.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.sheet.XSheetCellRanges;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetCellRanges</code>
+* interface methods :
+* <ul>
+* <li><code> getCells()</code></li>
+* <li><code> getRangeAddressesAsString()</code></li>
+* <li><code> getRangeAddresses()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetCellRanges
+*/
+public class _XSheetCellRanges extends MultiMethodTest{
+
+ public XSheetCellRanges oObj = null;
+
+ /**
+ * Test calls the method, creates enumeration of returned value
+ * and checks that the enumeration has elements. <p>
+ * Has <b> OK </b> status if gained enumeration has elements. <p>
+ */
+ public void _getCells() {
+ log.println("Testing getCells ...");
+
+ XEnumeration oEnum = oObj.getCells().createEnumeration();
+ boolean res = oEnum.hasMoreElements();
+ if (!res) {
+ log.println(
+ "The Enumeration gained via getCells() has no Elements");
+ }
+ tRes.tested("getCells()", res);
+ }
+
+ /**
+ * Test calls the method and checks length of returned array. <p>
+ * Has <b> OK </b> status if length of returned array is greater than 2.<p>
+ */
+ public void _getRangeAddresses() {
+ log.println("Testing getRangeAddresses ...");
+ CellRangeAddress[] oRanges = oObj.getRangeAddresses();
+ int howmuch = oRanges.length;
+ tRes.tested("getRangeAddresses()", (howmuch > 2) );
+ }
+
+ /**
+ * Test calls the method and checks returned string. <p>
+ * Has <b> OK </b> status if returned string starts from 'Sheet'.<p>
+ */
+ public void _getRangeAddressesAsString() {
+ log.println("Testing getRangeAddressesAsString ...");
+ String oRanges = oObj.getRangeAddressesAsString();
+ tRes.tested("getRangeAddressesAsString()",oRanges.indexOf("C1:D4")>0);
+ }
+
+} // finished class _XSheetCellRanges
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetCondition.java b/qadevOOo/tests/java/ifc/sheet/_XSheetCondition.java
new file mode 100644
index 000000000000..05b0e0f4a3c0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetCondition.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.sheet.ConditionOperator;
+import com.sun.star.sheet.XSheetCondition;
+import com.sun.star.table.CellAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetCondition</code>
+* interface methods :
+* <ul>
+* <li><code> getOperator()</code></li>
+* <li><code> setOperator()</code></li>
+* <li><code> getFormula1()</code></li>
+* <li><code> setFormula1()</code></li>
+* <li><code> getFormula2()</code></li>
+* <li><code> setFormula2()</code></li>
+* <li><code> getSourcePosition()</code></li>
+* <li><code> setSourcePosition()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetCondition
+*/
+public class _XSheetCondition extends MultiMethodTest {
+ public XSheetCondition oObj = null;
+ public String Formula1 = null;
+ public String Formula2 = null;
+ public ConditionOperator Operator = null;
+ public CellAddress SourcePosition = null;
+
+ /**
+ * Test calls the method, checks and stores returned value. <p>
+ * Has <b> OK </b> status if returned vakue isn't null. <p>
+ */
+ public void _getFormula1() {
+ Formula1 = oObj.getFormula1();
+ tRes.tested("getFormula1()", Formula1 != null);
+ }
+
+ /**
+ * Test calls the method, checks and stores returned value. <p>
+ * Has <b> OK </b> status if returned vakue isn't null. <p>
+ */
+ public void _getFormula2() {
+ Formula2 = oObj.getFormula2();
+ tRes.tested("getFormula2()", Formula2 != null);
+ }
+
+ /**
+ * Test calls the method, checks and stores returned value. <p>
+ * Has <b> OK </b> status if returned vakue isn't null. <p>
+ */
+ public void _getOperator() {
+ Operator = oObj.getOperator();
+ tRes.tested("getOperator()", Operator != null);
+ }
+
+ /**
+ * Test calls the method, checks and stores returned value. <p>
+ * Has <b> OK </b> status if returned vakue isn't null. <p>
+ */
+ public void _getSourcePosition() {
+ SourcePosition = oObj.getSourcePosition();
+ tRes.tested("getSourcePosition()", SourcePosition != null);
+ }
+
+ /**
+ * Test sets new value of formula1, gets formula1 again and compares
+ * returned value with value that was stored by method
+ * <code>getFormula1()</code>. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFormula1() </code> : to have value of 'Formula1' </li>
+ * </ul>
+ */
+ public void _setFormula1() {
+ requiredMethod("getFormula1()");
+ oObj.setFormula1("$Sheet1.$C$" + Thread.activeCount());
+ tRes.tested("setFormula1()", !Formula1.equals( oObj.getFormula1() ) );
+ }
+
+ /**
+ * Test sets new value of formula2, gets formula2 again and compares
+ * returned value with value that was stored by method
+ * <code>getFormula2()</code>. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFormula2() </code> : to have value of 'Formula2' </li>
+ * </ul>
+ */
+ public void _setFormula2() {
+ requiredMethod("getFormula2()");
+ oObj.setFormula2("$Sheet1.$A$" + Thread.activeCount());
+ tRes.tested("setFormula2()", !Formula2.equals( oObj.getFormula2() ) );
+ }
+
+ /**
+ * Test sets new value of operator, gets operator and compares
+ * returned value with value that was set. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ */
+ public void _setOperator() {
+ oObj.setOperator(ConditionOperator.BETWEEN);
+ tRes.tested("setOperator()", !Operator.equals( oObj.getOperator() ) );
+ }
+
+ /**
+ * Test change value that was stored by method
+ * <code>getSourcePosition()</code>, sets this new value, gets source
+ * position again and compares returned value with value that was set. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSourcePosition() </code> : to have value of source
+ * position </li>
+ * </ul>
+ */
+ public void _setSourcePosition() {
+ requiredMethod("getSourcePosition()");
+ oObj.setSourcePosition(
+ (CellAddress)ValueChanger.changePValue(SourcePosition));
+ tRes.tested(
+ "setSourcePosition()",
+ !SourcePosition.equals( oObj.getSourcePosition() ) );
+ }
+
+} // finish class _XSheetCondition
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntries.java b/qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntries.java
new file mode 100644
index 000000000000..ba8448366bca
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntries.java
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sheet.ConditionOperator;
+import com.sun.star.sheet.XSheetConditionalEntries;
+import com.sun.star.table.CellAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetConditionalEntries</code>
+* interface methods :
+* <ul>
+* <li><code> addNew()</code></li>
+* <li><code> removeByIndex()</code></li>
+* <li><code> clear()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetConditionalEntries
+*/
+public class _XSheetConditionalEntries extends MultiMethodTest {
+ public XSheetConditionalEntries oObj = null;
+ int nNum = 0;
+
+ /**
+ * Test adds a conditional entry to the format. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _addNew() {
+ nNum = oObj.getCount();
+ oObj.addNew( Conditions(4) );
+ boolean res = (nNum + 1) == oObj.getCount();
+
+ tRes.tested("addNew()", res);
+ }
+
+ /**
+ * Test calls the method and checks number of conditional entries in
+ * collection. <p>
+ * Has <b> OK </b> status if number of conditional entries in co0llection
+ * after method call is equal zero. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addNew() </code> : to have one conditional entry in
+ * collection at least </li>
+ * </ul>
+ */
+ public void _clear() {
+ requiredMethod("removeByIndex()");
+ oObj.clear();
+ int anz = oObj.getCount();
+ tRes.tested("clear()", anz == 0);
+ }
+
+ /**
+ * Test adds a conditional entry, removes entry with index 0
+ * and compares number of entries after adding to number of entries after
+ * removing. <p>
+ * Has <b> OK </b> status if number of entries after adding is greater
+ * than number of entries after removing. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> clear() </code> : to be sure that collection hasn't
+ * elements </li>
+ * </ul>
+ */
+ public void _removeByIndex() {
+ requiredMethod("addNew()");
+ oObj.removeByIndex(0);
+ int pastNum = oObj.getCount();
+ tRes.tested("removeByIndex()", pastNum == nNum);
+ }
+
+ /**
+ * Method creates array of property value for conditional entry using
+ * passed parameter <code>nr</code>.
+ * @param nr number of row for conditional entry
+ */
+ protected PropertyValue[] Conditions(int nr) {
+ PropertyValue[] con = new PropertyValue[5];
+ CellAddress ca = new CellAddress();
+ ca.Column = 1;
+ ca.Row = 5;
+ ca.Sheet = 0;
+ con[0] = new PropertyValue();
+ con[0].Name = "StyleName";
+ con[0].Value = "Result2";
+ con[1] = new PropertyValue();
+ con[1].Name = "Formula1";
+ con[1].Value = "$Sheet1.$B$"+nr;
+ con[2] = new PropertyValue();
+ con[2].Name = "Formula2";
+ con[2].Value = "";
+ con[3] = new PropertyValue();
+ con[3].Name = "Operator";
+ con[3].Value = ConditionOperator.EQUAL;
+ con[4] = new PropertyValue();
+ con[4].Name = "SourcePosition";
+ con[4].Value = ca;
+ return con;
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ protected void after() {
+ this.disposeEnvironment();
+ }
+} // finish class _XSheetConditionalEntries
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntry.java b/qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntry.java
new file mode 100644
index 000000000000..efa3fcc44862
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetConditionalEntry.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSheetConditionalEntry;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetConditionalEntry</code>
+* interface methods :
+* <ul>
+* <li><code> getStyleName()</code></li>
+* <li><code> setStyleName()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetConditionalEntry
+*/
+public class _XSheetConditionalEntry extends MultiMethodTest {
+
+ public XSheetConditionalEntry oObj = null;
+ public String StyleName = null;
+
+ /**
+ * Test calls the method, stores and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getStyleName() {
+ StyleName = oObj.getStyleName();
+ tRes.tested("getStyleName()", StyleName != null);
+ }
+
+ /**
+ * Test sets new value of style name, gets current style name and compares
+ * returned value with value that was stored by method <code>getStyleName()
+ * </code>. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getStyleName() </code> : to have current style name </li>
+ * </ul>
+ */
+ public void _setStyleName() {
+ requiredMethod("getStyleName()");
+ oObj.setStyleName("Heading");
+ tRes.tested("setStyleName()", !StyleName.equals(oObj.getStyleName()));
+ }
+
+} // finish class _XSheetConditionalEntry
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetFilterDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_XSheetFilterDescriptor.java
new file mode 100644
index 000000000000..ebb6a0a6db57
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetFilterDescriptor.java
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.sheet.TableFilterField;
+import com.sun.star.sheet.XSheetFilterDescriptor;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetFilterDescriptor</code>
+* interface methods :
+* <ul>
+* <li><code> getFilterFields()</code></li>
+* <li><code> setFilterFields()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetFilterDescriptor
+*/
+public class _XSheetFilterDescriptor extends MultiMethodTest {
+
+ public XSheetFilterDescriptor oObj = null;
+ public TableFilterField[] TFF = null;
+
+ /**
+ * Test calls the method, stores and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getFilterFields(){
+ TFF = oObj.getFilterFields();
+ tRes.tested("getFilterFields()", TFF != null );
+ }
+
+ /**
+ * Test sets new value of the definitions of the filter fields,
+ * gets the current definitions of the filter fields and compares
+ * returned value with value that was stored by method
+ * <code>getFilterFields()</code>. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFilterFields() </code> : to have the current definitions
+ * of the filter fields </li>
+ * </ul>
+ */
+ public void _setFilterFields() {
+ requiredMethod("getFilterFields()");
+ TableFilterField[] newTFF = new TableFilterField[1];
+ newTFF[0] = new TableFilterField();
+ oObj.setFilterFields(newTFF);
+ newTFF = oObj.getFilterFields();
+ tRes.tested("setFilterFields()", ! ValueComparer.equalValue(TFF, newTFF));
+ }
+
+} // finish class _XSheetFilterDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetFilterable.java b/qadevOOo/tests/java/ifc/sheet/_XSheetFilterable.java
new file mode 100644
index 000000000000..385b7a2e150d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetFilterable.java
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sheet.TableFilterField;
+import com.sun.star.sheet.XSheetFilterDescriptor;
+import com.sun.star.sheet.XSheetFilterable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableRows;
+import com.sun.star.uno.UnoRuntime;
+
+
+public class _XSheetFilterable extends MultiMethodTest {
+ public XSheetFilterable oObj;
+ protected XSpreadsheet oSheet;
+ protected XSheetFilterDescriptor desc;
+
+ protected void before() {
+ oSheet = (XSpreadsheet) tEnv.getObjRelation("SHEET");
+
+ if (oSheet == null) {
+ log.println("Object relation oSheet is missing");
+ log.println("Trying to query the needed Interface");
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, tEnv.getTestObject());
+
+ if (oSheet == null) {
+ throw new StatusException(Status.failed(
+ "Object relation oSheet is missing"));
+ }
+ }
+ }
+
+ public void _createFilterDescriptor() {
+ desc = oObj.createFilterDescriptor(true);
+
+ TableFilterField[] tff = new TableFilterField[2];
+ tff[0] = new TableFilterField();
+ tff[0].IsNumeric = true;
+ tff[0].Field = 0;
+ tff[0].NumericValue = 2;
+ tff[0].Operator = com.sun.star.sheet.FilterOperator.GREATER_EQUAL;
+ tff[1] = new TableFilterField();
+ tff[1].IsNumeric = false;
+ tff[1].Field = 1;
+ tff[1].StringValue = "C";
+ tff[1].Operator = com.sun.star.sheet.FilterOperator.LESS;
+ desc.setFilterFields(tff);
+ tRes.tested("createFilterDescriptor()", true);
+ }
+
+ public void _filter() {
+ boolean res = true;
+
+ try {
+ oSheet.getCellByPosition(0, 0).setValue(1);
+ oSheet.getCellByPosition(0, 1).setValue(2);
+ oSheet.getCellByPosition(0, 2).setValue(3);
+ oSheet.getCellByPosition(1, 0).setFormula("A");
+ oSheet.getCellByPosition(1, 1).setFormula("D");
+ oSheet.getCellByPosition(1, 2).setFormula("B");
+ oObj.filter(desc);
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange) UnoRuntime.queryInterface(
+ XColumnRowRange.class,
+ oSheet);
+ XTableRows oRows = (XTableRows) oColumnRowRange.getRows();
+ XPropertySet rowProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class,
+ oRows.getByIndex(0));
+ boolean locRes = ((Boolean) rowProp.getPropertyValue("IsVisible")).booleanValue();
+
+ if (locRes) {
+ log.println("Row 1 should be invisible after filter()");
+ res &= false;
+ } else {
+ res &= true;
+ }
+
+ rowProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oRows.getByIndex(1));
+ locRes = ((Boolean) rowProp.getPropertyValue("IsVisible")).booleanValue();
+
+ if (locRes) {
+ log.println("Row 2 should be invisible after filter()");
+ res &= false;
+ } else {
+ res &= true;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("couldn't fill cells " + e.getLocalizedMessage());
+ res = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("problems geting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ res = false;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("problems geting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ res = false;
+ }
+
+ tRes.tested("filter()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetFilterableEx.java b/qadevOOo/tests/java/ifc/sheet/_XSheetFilterableEx.java
new file mode 100644
index 000000000000..afb642290b67
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetFilterableEx.java
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.TableFilterField;
+import com.sun.star.sheet.XSheetFilterDescriptor;
+import com.sun.star.sheet.XSheetFilterable;
+import com.sun.star.sheet.XSheetFilterableEx;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Inteface test for XSheetFilterableEx
+ *
+ * methods:
+ *
+ * createFilterDescriptorByObject
+ *
+ */
+public class _XSheetFilterableEx extends MultiMethodTest {
+ public XSheetFilterableEx oObj = null;
+
+ /**
+ * queries a XSheetFilterable from the parent Object and then creates
+ * a XSheetFilterDescriptor with it.
+ * Returns OK if the Descriptor isn't null and checkFilterDescriptor returns true
+ */
+
+ public void _createFilterDescriptorByObject() {
+ boolean res = true;
+ Object parent = tEnv.getTestObject();
+ XSheetFilterable aFilterable = (XSheetFilterable) UnoRuntime.queryInterface(
+ XSheetFilterable.class, parent);
+ XSheetFilterDescriptor desc = oObj.createFilterDescriptorByObject(
+ aFilterable);
+
+ if (desc != null) {
+ res &= checkFilterDescriptor(desc);
+ } else {
+ log.println("gained XSheetFilterDescriptor is null");
+ res &= false;
+ }
+ tRes.tested("createFilterDescriptorByObject()",res);
+ }
+
+ /**
+ * returns true if the Method getFilterFields() returns a non empty array
+ * and all Fields can be gained without exception
+ */
+
+ public boolean checkFilterDescriptor(XSheetFilterDescriptor desc) {
+ TableFilterField[] fields = desc.getFilterFields();
+ boolean res = true;
+
+ if (fields.length == 0) {
+ log.println("The gained Descriptor is empty");
+ res &= false;
+ } else {
+ log.println("Found "+fields.length+" TableFields");
+ }
+
+ for (int k = 0; k < fields.length; k++) {
+ log.println("StringValue(" + k + "): " + fields[k].StringValue);
+ log.println("IsNumeric(" + k + "): " + fields[k].IsNumeric);
+ log.println("NumericValue(" + k + "): " + fields[k].NumericValue);
+ log.println("Field(" + k + "): " + fields[k].Field);
+ log.println("Connection(" + k + "): " + fields[k].Connection);
+ log.println("Operator(" + k + "): " + fields[k].Operator);
+ }
+
+ return res;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetLinkable.java b/qadevOOo/tests/java/ifc/sheet/_XSheetLinkable.java
new file mode 100644
index 000000000000..4972ef7bcc94
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetLinkable.java
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.SheetLinkMode;
+import com.sun.star.sheet.XSheetLinkable;
+import lib.MultiMethodTest;
+import util.utils;
+
+/**
+ *
+ */
+public class _XSheetLinkable extends MultiMethodTest {
+ public XSheetLinkable oObj = null;
+ SheetLinkMode slm = null;
+ String linkSheetName = null;
+ String linkUrl = null;
+ String linkUrl2 = null;
+
+ public void before() {
+ // get a document for linking.
+ linkUrl = (String)tEnv.getObjRelation("XSheetLinkable.LinkSheet");
+ linkUrl = utils.getFullTestURL(linkUrl);
+
+ // get a second sheet for changing the link url: if it's not set,
+ // this part of the test is omitted.
+ linkUrl2 = (String)tEnv.getObjRelation("XSheetLinkable.LinkSheet2");
+ if (linkUrl2 != null)
+ linkUrl = utils.getFullTestURL(linkUrl);
+
+ // set a name for the sheet.
+ linkSheetName = "Sheet1";
+ }
+
+ public void _getLinkMode() {
+ requiredMethod("link()");
+ slm = oObj.getLinkMode();
+ tRes.tested("getLinkMode()", slm == SheetLinkMode.VALUE);
+ }
+
+ public void _getLinkSheetName() {
+ requiredMethod("link()");
+ String lSheetName = oObj.getLinkSheetName();
+ tRes.tested("getLinkSheetName()", linkSheetName.equals(lSheetName));
+ }
+
+ public void _getLinkUrl() {
+ requiredMethod("link()");
+ String lUrl = oObj.getLinkUrl();
+ System.out.println("URL: " + lUrl);
+ tRes.tested("getLinkUrl()", lUrl.equals(linkUrl));
+ }
+
+ public void _link() {
+ oObj.link(linkUrl, linkSheetName, "", "", SheetLinkMode.VALUE);
+ tRes.tested("link()", true);
+ }
+
+ public void _setLinkMode() {
+ requiredMethod("getLinkMode()");
+ oObj.setLinkMode(SheetLinkMode.NONE);
+ slm = oObj.getLinkMode();
+ tRes.tested("setLinkMode()", slm == SheetLinkMode.NONE);
+ }
+
+ public void _setLinkSheetName() {
+ requiredMethod("getLinkSheetName()");
+ oObj.setLinkSheetName("Sheet2");
+ linkSheetName = oObj.getLinkSheetName();
+ tRes.tested("setLinkSheetName()", linkSheetName.equals("Sheet2"));
+ }
+
+ public void _setLinkUrl() {
+ requiredMethod("getLinkUrl()");
+ boolean result = false;
+ if (linkUrl2 == null) {
+ // set back to the original value
+ oObj.setLinkUrl(linkUrl);
+ result = true;
+ }
+ else {
+ oObj.setLinkUrl(linkUrl2);
+ linkUrl = oObj.getLinkUrl();
+ result = linkUrl.equals(linkUrl2);
+ }
+ tRes.tested("setLinkUrl()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetOperation.java b/qadevOOo/tests/java/ifc/sheet/_XSheetOperation.java
new file mode 100644
index 000000000000..e57c50c00714
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetOperation.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.CellFlags;
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.XSheetOperation;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetOperation</code>
+* interface methods :
+* <ul>
+* <li><code> computeFunction()</code></li>
+* <li><code> clearContents()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetOperation
+*/
+public class _XSheetOperation extends MultiMethodTest {
+
+ public XSheetOperation oObj = null;
+
+ /**
+ * Test clears formula and value contents, calls the method
+ * <code>computeFunction</code> and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to zero
+ * and no exceptions were thrown. <p>
+ */
+ public void _clearContents() {
+ boolean result = true;
+ double resultVal = -1;
+
+ log.println("Testing clearContents() ...");
+
+ int allFlags;
+ allFlags = CellFlags.VALUE | CellFlags.FORMULA;
+
+ oObj.clearContents (allFlags) ;
+
+ try {
+ resultVal = oObj.computeFunction(GeneralFunction.SUM);
+ result &= (resultVal == 0.0) || (resultVal == 0);
+ } catch (com.sun.star.uno.Exception e) {
+ result &= false ;
+ log.println(
+ "Exception occured while checking results of method");
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("clearContents()", result);
+
+ } // finished clearContents
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal or greate than zero
+ * and no exceptions were thrown. <p>
+ */
+ public void _computeFunction() {
+
+ log.println("Testing computeFunction() ...");
+ double resultVal = -1;
+ boolean result = true;
+
+ try {
+ resultVal = oObj.computeFunction (GeneralFunction.COUNT) ;
+ result = resultVal >= 0;
+ } catch (com.sun.star.uno.Exception e) {
+ result = false;
+ log.println("Exception occured in method computeFunction.");
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("computeFunction()", result);
+ } // finished computeFunction
+
+} // finished class _XSheetOperation
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetOutline.java b/qadevOOo/tests/java/ifc/sheet/_XSheetOutline.java
new file mode 100644
index 000000000000..2a69cb7e0404
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetOutline.java
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XCellRangesQuery;
+import com.sun.star.sheet.XSheetCellRanges;
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSheetOutline;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.TableOrientation;
+import com.sun.star.uno.UnoRuntime;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XSheetOutline extends MultiMethodTest {
+ public XSheetOutline oObj = null;
+ CellRangeAddress address = null;
+ CellRangeAddress subaddress = null;
+
+ public void before() {
+ address = (CellRangeAddress)tEnv.getObjRelation("CellRangeAddress");
+ subaddress = (CellRangeAddress)tEnv.getObjRelation("CellRangeSubAddress");
+ if (address == null)
+ throw new StatusException(Status.failed("Object relation CellRangeAddress not found"));
+ if (subaddress == null)
+ throw new StatusException(Status.failed("Object relation CellRangeSubAddress not found"));
+ }
+
+ public void _autoOutline() {
+ executeMethod("ungroup()");
+ boolean result = false;
+ oObj.autoOutline(address);
+ // initially the range is grouped and shown
+ result = isCellShown(subaddress);
+ oObj.hideDetail(address);
+ // here only a part of the address is hidden: subaddress must be that part
+ result &= !isCellShown(subaddress);
+ tRes.tested("autoOutline()", result);
+ }
+
+ public void _clearOutline() {
+ executeMethod("autoOutline()");
+ boolean result = false;
+ oObj.clearOutline();
+ result = isCellShown(subaddress);
+ oObj.hideDetail(address);
+ result &= isCellShown(subaddress);
+ tRes.tested("clearOutline()", result);
+ }
+
+ public void _group() {
+ oObj.group(address, TableOrientation.COLUMNS);
+ oObj.group(address, TableOrientation.ROWS);
+ tRes.tested("group()", true);
+ }
+
+ public void _ungroup() {
+ executeMethod("showDetail()");
+ oObj.ungroup(address, TableOrientation.COLUMNS);
+ oObj.ungroup(address, TableOrientation.ROWS);
+ oObj.hideDetail(address);
+ tRes.tested("ungroup()", isCellShown(address));
+ }
+
+ public void _hideDetail() {
+ requiredMethod("group()");
+ oObj.hideDetail(address);
+ tRes.tested("hideDetail()", !isCellShown(address));
+ }
+
+ public void _showDetail() {
+ executeMethod("showLevel()");
+ oObj.showDetail(address);
+ tRes.tested("showDetail()", isCellShown(address));
+ }
+
+ public void _showLevel() {
+ executeMethod("hideDetail()");
+ boolean result = false;
+ oObj.showLevel((short)2, TableOrientation.COLUMNS);
+ oObj.showLevel((short)2, TableOrientation.ROWS);
+ result = isCellShown(address);
+ oObj.showLevel((short)0, TableOrientation.COLUMNS);
+ oObj.showLevel((short)0, TableOrientation.ROWS);
+
+ result &= !isCellShown(address);
+ tRes.tested("showLevel()", result);
+ }
+
+ private boolean isCellShown(CellRangeAddress range) {
+ boolean isNotShown = true;
+ XCellRangesQuery xCellRangesQuery = (XCellRangesQuery)UnoRuntime.queryInterface(XCellRangesQuery.class, oObj);
+ if (xCellRangesQuery != null) {
+ XSheetCellRanges xRanges = xCellRangesQuery.queryVisibleCells();
+ CellRangeAddress[] visibleRanges = xRanges.getRangeAddresses();
+ for (int i=0; i<visibleRanges.length; i++) {
+ isNotShown &= dotIsOutsideRange(range.StartRow, range.StartColumn, visibleRanges[i]);
+ isNotShown &= dotIsOutsideRange(range.StartRow, range.EndColumn, visibleRanges[i]);
+ isNotShown &= dotIsOutsideRange(range.EndRow, range.StartColumn, visibleRanges[i]);
+ isNotShown &= dotIsOutsideRange(range.EndRow, range.EndColumn, visibleRanges[i]);
+ log.println(isNotShown?"\tisOutSide":"\tisInside");
+ }
+ }
+ return !isNotShown;
+ }
+
+ private boolean dotIsOutsideRange(int dotRow, int dotColumn, CellRangeAddress range) {
+ log.println("Checking dot(" + dotRow + "," + dotColumn + ") against row["
+ + range.StartRow + ":" + range.EndRow + "] column["
+ + range.StartColumn + ":" + range.EndColumn + "]");
+ boolean isInside = true;
+ if (dotRow >= range.StartRow && dotRow <= range.EndRow)
+ if (dotColumn >= range.StartColumn && dotColumn <= range.EndColumn)
+ isInside = false;
+ return isInside;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSheetPageBreak.java b/qadevOOo/tests/java/ifc/sheet/_XSheetPageBreak.java
new file mode 100644
index 000000000000..bcd47dbc861f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSheetPageBreak.java
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.TablePageBreakData;
+import com.sun.star.sheet.XSheetPageBreak;
+
+/**
+* Testing <code>com.sun.star.sheet.XSheetPageBreak</code>
+* interface methods :
+* <ul>
+* <li><code> getColumnPageBreaks()</code></li>
+* <li><code> getRowPageBreaks()</code></li>
+* <li><code> removeAllManualPageBreaks()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSheetPageBreak
+*/
+public class _XSheetPageBreak extends MultiMethodTest {
+
+ public XSheetPageBreak oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getColumnPageBreaks() {
+ TablePageBreakData[] breakArr = oObj.getColumnPageBreaks();
+ tRes.tested("getColumnPageBreaks()", breakArr != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getRowPageBreaks() {
+ TablePageBreakData[] breakArr = oObj.getRowPageBreaks();
+ tRes.tested("getRowPageBreaks()", breakArr != null);
+ }
+
+ /**
+ * Test calls the method and checks that all breaks gone. <p>
+ * Has <b> OK </b> status if number of column breaks and number of row breaks
+ * are equal to zero. <p>
+ */
+ public void _removeAllManualPageBreaks() {
+ oObj.removeAllManualPageBreaks();
+
+ int manualRowPageBreaks = 0;
+ int manualColumnPageBreaks = 0;
+
+ log.println("Check if all breaks are gone");
+
+ TablePageBreakData[] breakArr = oObj.getColumnPageBreaks();
+ for (int i = 0; i < breakArr.length; i++)
+ if (breakArr[i].ManualBreak) manualColumnPageBreaks++;
+
+ breakArr = oObj.getRowPageBreaks();
+ for (int i = 0; i < breakArr.length; i++)
+ if (breakArr[i].ManualBreak) manualRowPageBreaks++ ;
+
+ tRes.tested(
+ "removeAllManualPageBreaks()",
+ manualColumnPageBreaks == 0 && manualRowPageBreaks == 0);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSpreadsheet.java b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheet.java
new file mode 100644
index 000000000000..8e1f6c044513
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheet.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSheetCellCursor;
+import com.sun.star.sheet.XSheetCellRange;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XSpreadsheet</code>
+* interface methods :
+* <ul>
+* <li><code> createCursor()</code></li>
+* <li><code> createCursorByRange()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSpreadsheet
+*/
+public class _XSpreadsheet extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XSpreadsheet oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _createCursor() {
+ log.println("Testing createCursor");
+ XSheetCellCursor oCursor = oObj.createCursor() ;
+ tRes.tested("createCursor()", oCursor != null);
+ }
+
+ /**
+ * Test gets a cell range, call method using this cell range
+ * and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null
+ * and no exceptions were thrown. <p>
+ */
+ public void _createCursorByRange() {
+ log.println("Testing createCursorByRange");
+
+ log.println("getting cellrange");
+ XCellRange oRange = null;
+ try {
+ oRange = oObj.getCellRangeByPosition (1, 1, 2, 3);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Can't get cell range by address");
+ e.printStackTrace(log);
+ tRes.tested("createCursorByRange()", false);
+ }
+
+ XSheetCellRange oSheetRange = (XSheetCellRange)
+ UnoRuntime.queryInterface(XSheetCellRange.class, oRange) ;
+ log.println("getting Cursor");
+ XSheetCellCursor oCursor = oObj.createCursorByRange(oSheetRange);
+ tRes.tested("createCursorByRange()", oCursor != null);
+ }
+
+} // finisch class _XSpreadsheet
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSpreadsheetDocument.java b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheetDocument.java
new file mode 100644
index 000000000000..c3d667deccf8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheetDocument.java
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+
+/**
+* Testing <code>com.sun.star.sheet.XSpreadsheetDocument</code>
+* interface methods :
+* <ul>
+* <li><code> getSheets()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSpreadsheetDocument
+*/
+public class _XSpreadsheetDocument extends MultiMethodTest {
+
+ public XSpreadsheetDocument oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSheets() {
+ XSpreadsheets sheets = oObj.getSheets();
+ tRes.tested("getSheets()", sheets != null);
+ }
+
+
+} // finish class _XSpreadsheetDocument
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSpreadsheetView.java b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheetView.java
new file mode 100644
index 000000000000..a016214d0cdf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheetView.java
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetView;
+
+/**
+* Testing <code>com.sun.star.sheet.XSpreadsheetView</code>
+* interface methods :
+* <ul>
+* <li><code> getActiveSheet()</code></li>
+* <li><code> setActiveSheet()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Sheet'</code> (of type <code>XSpreadsheet</code>):
+* to set new active spreadsheet </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XSpreadsheetView
+*/
+public class _XSpreadsheetView extends MultiMethodTest {
+
+ public XSpreadsheetView oObj = null;
+ public XSpreadsheet oSheet = null;
+
+ /**
+ * Test calls the method, stores and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getActiveSheet() {
+ oSheet = oObj.getActiveSheet();
+ tRes.tested("getActiveSheet()", oSheet != null);
+ }
+
+ /**
+ * Test sets new active sheet that was obtained by relation
+ * <code>'Sheet'</code>, gets the current active sheet and compares
+ * returned value with value that was stored by method
+ * <code>getFilterFields()</code>. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getActiveSheet() </code> : to have the current
+ * active sheet </li>
+ * </ul>
+ */
+ public void _setActiveSheet() {
+ requiredMethod("getActiveSheet()");
+
+ XSpreadsheet new_Sheet = (XSpreadsheet)tEnv.getObjRelation("Sheet");
+ if (new_Sheet == null) throw new StatusException(Status.failed
+ ("Relation 'Sheet' not found"));
+
+ oObj.setActiveSheet(new_Sheet);
+ new_Sheet = oObj.getActiveSheet();
+ tRes.tested("setActiveSheet()", !oSheet.equals(new_Sheet));
+ }
+
+
+} // finish class _XSpreadsheetView
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSpreadsheets.java b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheets.java
new file mode 100644
index 000000000000..1b3682586778
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSpreadsheets.java
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.XSpreadsheets;
+
+import lib.MultiMethodTest;
+
+
+/**
+* Testing <code>com.sun.star.sheet.XSpreadsheets</code>
+* interface methods :
+* <ul>
+* <li><code> insertNewByName()</code></li>
+* <li><code> moveByName()</code></li>
+* <li><code> copyByName()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.sheet.XSpreadsheets
+*/
+public class _XSpreadsheets extends MultiMethodTest {
+ protected static int uniqCount = 0;
+ public XSpreadsheets oObj = null;
+ protected int uniqNumber = 0;
+
+ /**
+ * Sets the unique number for the current test.
+ */
+ protected synchronized void before() {
+ uniqNumber = uniqCount++;
+ }
+
+ /**
+ * Test inserts new sheet using the name returned by the method
+ * <code>newName</code>, copies inserted sheet with the new name,
+ * checks existence of the sheet with this name in collection and removes
+ * the both sheets from the collection. <p>
+ * Has <b> OK </b> status if the sheet with the name of the copy exists
+ * in the collection and no exceptions were thrown. <p>
+ */
+ public void _copyByName() {
+ boolean result = true;
+
+ //first insert one that should be copied
+ String iS = newName("copyFrom");
+ log.println("Inserting sheet '" + iS + "'");
+ oObj.insertNewByName(iS, (short) 0);
+
+ String[] eNames = oObj.getElementNames();
+ String NewSheet = newName("copyTo");
+ log.println("Try to copy " + eNames[0] + " to " + NewSheet);
+ oObj.copyByName(eNames[0], NewSheet, (short) 0);
+ result = oObj.hasByName(NewSheet);
+
+ //remove all inserted sheets
+ try {
+ oObj.removeByName(NewSheet);
+ oObj.removeByName(iS);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.print("Can't remove sheet by name");
+ e.printStackTrace(log);
+ result = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.print("Can't remove sheet by name");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("copyByName()", result);
+ } // finished _copyByName
+
+ /**
+ * Test inserts new sheet using the name returned by the method
+ * <code>newName</code>, moves the inserted sheet to the new position
+ * in collection, gets all element names in collection and checks the name
+ * of the sheet in the new position. <p>
+ * Has <b> OK </b> status if the sheet name in the new position is equal to
+ * the name of the sheet that was moved. <p>
+ */
+ public void _moveByName() {
+ //first insert one that should be moved
+ String iS = newName("move");
+ oObj.insertNewByName(iS, (short) 0);
+
+ String[] eNames = oObj.getElementNames();
+ String sheetToMove = eNames[0];
+ log.println("Try to move " + sheetToMove);
+ oObj.moveByName(sheetToMove, (short) 2);
+ eNames = oObj.getElementNames();
+ tRes.tested("moveByName()", sheetToMove.equals(eNames[1]));
+ } // finished _moveByName
+
+ /**
+ * Test inserts new sheet using the name returned by the method
+ * <code>newName</code>, checks the existence of the inserted sheet in
+ * the collection, removes the sheet, tries to insert the sheet with the
+ * bad name returned by method <code>badName()</code>. <p>
+ * Has <b> OK </b> status if the inserted sheet exists in the collection
+ * after first method call and if exception occured during the second call. <p>
+ */
+ public void _insertNewByName() {
+ boolean result = false;
+
+ String NewSheet = newName("insert");
+ log.println("Try to insert " + NewSheet);
+ oObj.insertNewByName(NewSheet, (short) 0);
+ result = oObj.hasByName(NewSheet);
+
+ try {
+ oObj.removeByName(NewSheet);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.print("Can't remove sheet '" + NewSheet + "':");
+ e.printStackTrace(log);
+ result = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.print("Can't remove sheet '" + NewSheet + "':");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ NewSheet = badName();
+ log.println("Try to insert " + NewSheet);
+ oObj.insertNewByName(NewSheet, (short) 0);
+ log.println(
+ "No Exception thrown while inserting sheet with invalid name");
+ result &= false;
+ oObj.removeByName(NewSheet);
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println(
+ "Expected exception occured during testing 'insertNewByName'");
+ result &= true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.print("Can't remove sheet '" + NewSheet + "':");
+ e.printStackTrace(log);
+ result = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.print("Can't remove sheet '" + NewSheet + "':");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("insertNewByName()", result);
+ } // finished _insertByName
+
+ /**
+ * Method returns unique new name using passed prefix and unique number
+ * of the current test.
+ */
+ public String newName(String prefix) {
+ return prefix + uniqNumber;
+ } // finished newName
+
+ /**
+ * Method return bad name for a sheet using the name of the current thread.
+ */
+ public String badName() {
+ return "$%#/?\\";
+ } // finished badName
+} //finish class _XSpreadsheets
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSubTotalCalculatable.java b/qadevOOo/tests/java/ifc/sheet/_XSubTotalCalculatable.java
new file mode 100644
index 000000000000..6d68b74919af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSubTotalCalculatable.java
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sheet.SubTotalColumn;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSubTotalCalculatable;
+import com.sun.star.sheet.XSubTotalDescriptor;
+import com.sun.star.uno.UnoRuntime;
+
+
+public class _XSubTotalCalculatable extends MultiMethodTest {
+ public XSubTotalCalculatable oObj;
+ protected XSubTotalDescriptor desc;
+ protected XSpreadsheet oSheet;
+
+ protected void before() {
+ oSheet = (XSpreadsheet) tEnv.getObjRelation("SHEET");
+
+ if (oSheet == null) {
+ log.println("Object relation oSheet is missing");
+ log.println("Trying to query the needed Interface");
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, tEnv.getTestObject());
+
+ if (oSheet == null) {
+ throw new StatusException(Status.failed(
+ "Object relation oSheet is missing"));
+ }
+ }
+ }
+
+ public void _applySubTotals() {
+ requiredMethod("createSubTotalDescriptor()");
+
+ boolean res = true;
+
+ try {
+ oSheet.getCellByPosition(0, 0).setFormula("first");
+ oSheet.getCellByPosition(1, 0).setFormula("second");
+ oSheet.getCellByPosition(0, 3).setFormula("");
+ oSheet.getCellByPosition(0, 1).setValue(5);
+ oSheet.getCellByPosition(0, 2).setValue(5);
+ oSheet.getCellByPosition(1, 1).setValue(17);
+ oSheet.getCellByPosition(1, 2).setValue(25);
+ oObj.applySubTotals(desc, true);
+
+ String formula = oSheet.getCellByPosition(0, 3).getFormula();
+ String expected = "=SUBTOTAL(9;$A$2:$A$3)";
+ res = formula.equals(expected);
+
+ if (!res) {
+ log.println("getting: " + formula);
+ log.println("expected: " + expected);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't fill cells" + e.getLocalizedMessage());
+ res = false;
+ }
+
+ tRes.tested("applySubTotals()", res);
+ }
+
+ public void _createSubTotalDescriptor() {
+ desc = oObj.createSubTotalDescriptor(true);
+
+ SubTotalColumn[] columns = new SubTotalColumn[1];
+ columns[0] = new SubTotalColumn();
+ columns[0].Column = 0;
+ columns[0].Function = com.sun.star.sheet.GeneralFunction.SUM;
+ desc.addNew(columns, 0);
+ tRes.tested("createSubTotalDescriptor()", true);
+ }
+
+ public void _removeSubTotals() {
+ requiredMethod("applySubTotals()");
+
+ boolean res = true;
+
+ try {
+ oObj.removeSubTotals();
+
+ String formula = oSheet.getCellByPosition(0, 3).getFormula();
+ String expected = "";
+ res = formula.equals(expected);
+
+ if (!res) {
+ log.println("getting: " + formula);
+ log.println("expected: " + expected);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get cell" + e.getLocalizedMessage());
+ }
+
+ tRes.tested("removeSubTotals()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSubTotalDescriptor.java b/qadevOOo/tests/java/ifc/sheet/_XSubTotalDescriptor.java
new file mode 100644
index 000000000000..19c3eefd721a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSubTotalDescriptor.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.SubTotalColumn;
+import com.sun.star.sheet.XSubTotalDescriptor;
+
+import lib.MultiMethodTest;
+
+
+/**
+* Testing <code>com.sun.star.sheet.XSubTotalDescriptor</code>
+* interface methods :
+* <ul>
+* <li><code> addNew()</code></li>
+* <li><code> clear()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSubTotalDescriptor
+*/
+public class _XSubTotalDescriptor extends MultiMethodTest {
+ public XSubTotalDescriptor oObj = null;
+
+ /**
+ * Test creates a subtotal field definition and adds it to the descriptor.<p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _addNew() {
+ SubTotalColumn[] columns = new SubTotalColumn[1];
+ SubTotalColumn column = new SubTotalColumn();
+ column.Column = 5;
+ column.Function = GeneralFunction.SUM;
+ columns[0] = column;
+ oObj.addNew(columns, 1);
+ tRes.tested("addNew()", true);
+ }
+
+ /**
+ * Test just calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _clear() {
+ oObj.clear();
+ tRes.tested("clear()", true);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+} // finish class _XSubTotalDescriptor
diff --git a/qadevOOo/tests/java/ifc/sheet/_XSubTotalField.java b/qadevOOo/tests/java/ifc/sheet/_XSubTotalField.java
new file mode 100644
index 000000000000..000239e84117
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XSubTotalField.java
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.SubTotalColumn;
+import com.sun.star.sheet.XSubTotalField;
+
+/**
+* Testing <code>com.sun.star.sheet.XSubTotalField</code>
+* interface methods :
+* <ul>
+* <li><code> getGroupColumn()</code></li>
+* <li><code> setGroupColumn()</code></li>
+* <li><code> getSubTotalColumns()</code></li>
+* <li><code> setSubTotalColumns()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XSubTotalField
+*/
+public class _XSubTotalField extends MultiMethodTest {
+
+ public XSubTotalField oObj = null;
+ public int GroupColumn = 0;
+ public SubTotalColumn[] STColumns = null;
+
+ /**
+ * Test calls the method, stores and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't equal to zero. <p>
+ */
+ public void _getGroupColumn() {
+ GroupColumn = oObj.getGroupColumn();
+ tRes.tested("getGroupColumn()", GroupColumn != 0);
+ } // end of getGroupColumn
+
+ /**
+ * Test calls the method, stores and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSubTotalColumns() {
+ STColumns = oObj.getSubTotalColumns();
+ tRes.tested("getSubTotalColumns()", STColumns != null);
+ } // end of getSubTotalColumns
+
+ /**
+ * Test sets new value of the column by which entries are grouped,
+ * gets the current value and compares
+ * returned value with value that was stored by method
+ * <code>getGroupColumn()</code>. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getGroupColumn() </code> : to have the current column by
+ * which entries are grouped </li>
+ * </ul>
+ */
+ public void _setGroupColumn() {
+ requiredMethod("getGroupColumn()");
+ oObj.setGroupColumn(2);
+ tRes.tested("setGroupColumn()", GroupColumn != oObj.getGroupColumn());
+ } // end of getGroupColumn
+
+ /**
+ * Test sets new value using method, gets the current value and compares
+ * returned value with value that was stored by method
+ * <code>getSubTotalColumns()</code>. <p>
+ * Has <b> OK </b> status if values aren't equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSubTotalColumns() </code> : to have the current value</li>
+ * </ul>
+ */
+ public void _setSubTotalColumns() {
+ requiredMethod("getSubTotalColumns()");
+ SubTotalColumn[] columns = new SubTotalColumn[2];
+ SubTotalColumn column = new SubTotalColumn();
+ column.Column=2;
+ column.Function=GeneralFunction.AVERAGE;
+ columns[0]=column;
+ columns[1]=STColumns[0];
+ oObj.setSubTotalColumns(columns);
+ tRes.tested(
+ "setSubTotalColumns()",
+ !STColumns.equals(oObj.getSubTotalColumns()) );
+ } // end of getSubTotalColumns
+
+} // finish class _XSubTotalField
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XUniqueCellFormatRangesSupplier.java b/qadevOOo/tests/java/ifc/sheet/_XUniqueCellFormatRangesSupplier.java
new file mode 100644
index 000000000000..43bd1f3d5adf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XUniqueCellFormatRangesSupplier.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sheet.XUniqueCellFormatRangesSupplier;
+
+public class _XUniqueCellFormatRangesSupplier extends MultiMethodTest {
+
+ public XUniqueCellFormatRangesSupplier oObj;
+
+ /**
+ * call the method getUniqueCellFormatRanges and returns OK result if
+ * the gained XIndexAccess isn't null and the method checkIndexAccess
+ * returns true.
+ */
+
+ public void _getUniqueCellFormatRanges() {
+ boolean res = true;
+ XIndexAccess xIA = oObj.getUniqueCellFormatRanges();
+ if (xIA != null) {
+ res = checkIndexAccess(xIA);
+ } else {
+ log.println("The gained IndexAccess is null");
+ res = false;
+ }
+ tRes.tested("getUniqueCellFormatRanges()",res);
+ }
+
+ /**
+ * calls the method getCount at the IndexAccess, returns true is it is >0
+ * and getByIndex() doesn't throw an exception for Indexes between 0 and count
+ */
+
+ protected boolean checkIndexAccess(XIndexAccess xIA) {
+ boolean res = true;
+ int count = xIA.getCount();
+ log.println("Found "+count+" Elements");
+ res &= count>0;
+ for (int k=0; k<count; k++) {
+ try {
+ Object element = xIA.getByIndex(k);
+ log.println("Element "+k+" = "+element);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected Exception while getting by Index ("+k+")"+e.getMessage());
+ res &=false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception while getting by Index ("+k+")"+e.getMessage());
+ res &=false;
+ }
+ }
+ return res;
+ }
+
+
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XUsedAreaCursor.java b/qadevOOo/tests/java/ifc/sheet/_XUsedAreaCursor.java
new file mode 100644
index 000000000000..6812704fd80f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XUsedAreaCursor.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSheetCellCursor;
+import com.sun.star.sheet.XUsedAreaCursor;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sheet.XUsedAreaCursor</code>
+* interface methods :
+* <ul>
+* <li><code> gotoStartOfUsedArea()</code></li>
+* <li><code> gotoEndOfUsedArea()</code></li>
+* </ul> <p>
+* Component must also implement the following interfaces :
+* <ul>
+* <li> <code> com.sun.star.XCellRangeAddressable </code> : to check the current
+* position of the cursor </li>
+* <ul> <p>
+* @see com.sun.star.sheet.XUsedAreaCursor
+*/
+public class _XUsedAreaCursor extends MultiMethodTest {
+
+ public XUsedAreaCursor oObj = null;
+ public XSheetCellCursor oC = null;
+ CellRangeAddress sAddr = null;
+
+ /**
+ * Test points the cursor to the start of used area, expands cursor to the
+ * end of the used area, gets and checks current range address, then
+ * points the cursor to the end of the used area, gets and checks current
+ * range address again. <p>
+ * Has <b> OK </b> status if the range address expands at all used area
+ * in first case and if the range address just points to the cell at the end
+ * of the used area in second case. <p>
+ */
+ public void _gotoEndOfUsedArea() {
+ boolean result = true ;
+
+ XCellRangeAddressable oAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface (XCellRangeAddressable.class, oObj) ;
+
+ // first with true argument
+ oObj.gotoStartOfUsedArea(false);
+ oObj.gotoEndOfUsedArea(true);
+ sAddr = oAddr.getRangeAddress();
+
+ result &= (sAddr.StartColumn == 1);
+ result &= (sAddr.StartRow == 1);
+ result &= (sAddr.EndColumn == 4);
+ result &= (sAddr.EndRow == 5);
+
+ oObj.gotoEndOfUsedArea(false);
+ sAddr = oAddr.getRangeAddress();
+
+ result &= (sAddr.StartColumn == 4);
+ result &= (sAddr.StartRow == 5);
+ result &= (sAddr.EndColumn == 4);
+ result &= (sAddr.EndRow == 5);
+
+ tRes.tested("gotoEndOfUsedArea()", result) ;
+ }
+
+ /**
+ * Test points the cursor to the end of used area, expands cursor to the
+ * start of the used area, gets and checks current range address, then
+ * points the cursor to the start of the used area, gets and checks current
+ * range address again. <p>
+ * Has <b> OK </b> status if the range address expands at all used area
+ * in first case and if the range address just points to the cell at the
+ * start of the used area in second case. <p>
+ */
+ public void _gotoStartOfUsedArea() {
+ XCellRangeAddressable oAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface (XCellRangeAddressable.class, oObj) ;
+
+ boolean result = true ;
+
+ // with true parameter first
+ oObj.gotoEndOfUsedArea(false);
+ oObj.gotoStartOfUsedArea(true);
+ sAddr = oAddr.getRangeAddress();
+
+ result &= (sAddr.StartColumn == 1);
+ result &= (sAddr.StartRow == 1);
+ result &= (sAddr.EndColumn == 4);
+ result &= (sAddr.EndRow == 5);
+
+ // now testing with false parameter
+ oObj.gotoStartOfUsedArea(false);
+ sAddr = oAddr.getRangeAddress();
+
+ result &= (sAddr.StartColumn == 1);
+ result &= (sAddr.StartRow == 1);
+ result &= (sAddr.EndColumn == 1);
+ result &= (sAddr.EndRow == 1);
+
+ tRes.tested("gotoStartOfUsedArea()", result) ;
+ } // finished gotoStartOfUsedArea
+
+ /**
+ * Forces object environment recreation.
+ */
+ protected void after() {
+ this.disposeEnvironment();
+ }
+} // finished class _XUsedAreaCursor
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XViewFreezable.java b/qadevOOo/tests/java/ifc/sheet/_XViewFreezable.java
new file mode 100644
index 000000000000..ded696dcd0d1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XViewFreezable.java
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XViewFreezable;
+
+/**
+* Testing <code>com.sun.star.sheet.XViewFreezable</code>
+* interface methods :
+* <ul>
+* <li><code> hasFrozenPanes()</code></li>
+* <li><code> freezeAtPosition()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XViewFreezable
+*/
+public class _XViewFreezable extends MultiMethodTest {
+
+ public XViewFreezable oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _freezeAtPosition() {
+ oObj.freezeAtPosition(2, 2);
+ tRes.tested("freezeAtPosition()", true);
+ }
+
+ /**
+ * Test calls the method, checks returned value, unfreezes panes, calls the
+ * method and checks returned value again. <p>
+ * Has <b> OK </b> status if returned value is true after firts call and
+ * returned value is false after second. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> freezeAtPosition() </code> : to freeze panes with the
+ * specified number of columns and rows </li>
+ * </ul>
+ */
+ public void _hasFrozenPanes() {
+ requiredMethod("freezeAtPosition()");
+ boolean result = oObj.hasFrozenPanes();
+ oObj.freezeAtPosition(0,0);
+ result &= !oObj.hasFrozenPanes();
+ tRes.tested("hasFrozenPanes()", result);
+ }
+
+
+} // finish class _XViewFreezable
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XViewPane.java b/qadevOOo/tests/java/ifc/sheet/_XViewPane.java
new file mode 100644
index 000000000000..6fa46876022e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XViewPane.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XViewPane;
+import com.sun.star.table.CellRangeAddress;
+
+/**
+* Testing <code>com.sun.star.sheet.XViewPane</code>
+* interface methods :
+* <ul>
+* <li><code> getFirstVisibleColumn()</code></li>
+* <li><code> setFirstVisibleColumn()</code></li>
+* <li><code> getFirstVisibleRow()</code></li>
+* <li><code> setFirstVisibleRow()</code></li>
+* <li><code> getVisibleRange()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XViewPane
+*/
+public class _XViewPane extends MultiMethodTest {
+
+ public XViewPane oObj = null;
+ int row = 3;
+ int col = 5;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to value that was set
+ * by method <code>setFirstVisibleColumn()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFirstVisibleColumn() </code> : to set specific value
+ * of the first column that is visible in the pane </li>
+ * </ul>
+ */
+ public void _getFirstVisibleColumn() {
+ requiredMethod("setFirstVisibleColumn()");
+ boolean result = col == oObj.getFirstVisibleColumn();
+ tRes.tested("getFirstVisibleColumn()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to value that was set
+ * by method <code>setFirstVisibleRow()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFirstVisibleRow() </code> : to set specific value of
+ * the first row that is visible in the pane </li>
+ * </ul>
+ */
+ public void _getFirstVisibleRow() {
+ requiredMethod("setFirstVisibleRow()");
+ boolean result = row == oObj.getFirstVisibleRow();
+ tRes.tested("getFirstVisibleRow()", result);
+ }
+
+ /**
+ * Test just calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setFirstVisibleColumn() {
+ oObj.setFirstVisibleColumn(col);
+ tRes.tested("setFirstVisibleColumn()", true);
+ }
+
+ /**
+ * Test just calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setFirstVisibleRow() {
+ oObj.setFirstVisibleRow(row);
+ tRes.tested("setFirstVisibleRow()", true);
+ }
+
+ /**
+ * Test calls the method, checks returned value and adds object relation
+ * 'DATAAREA' to test environment. <p>
+ * Has <b> OK </b> status if returned value isn't null and if start row and
+ * start column are equal to values that was set by methods
+ * <code>setFirstVisibleRow</code> and <code>setFirstVisibleColumn</code>.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFirstVisibleRow() </code> : to set specific value of
+ * the first row that is visible in the pane </li>
+ * <li> <code> setFirstVisibleColumn() </code> : to set specific value of
+ * the first column that is visible in the pane </li>
+ * </ul>
+ */
+ public void _getVisibleRange() {
+ requiredMethod("setFirstVisibleRow()");
+ requiredMethod("setFirstVisibleColumn()");
+
+ CellRangeAddress RA = oObj.getVisibleRange();
+ boolean result = RA != null;
+ if (result) {
+ result &= RA.Sheet == 0;
+ result &= RA.StartRow == row;
+ result &= RA.StartColumn == col;
+ tEnv.addObjRelation("DATAAREA", RA);
+ }
+
+ tRes.tested("getVisibleRange()", result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XViewSplitable.java b/qadevOOo/tests/java/ifc/sheet/_XViewSplitable.java
new file mode 100644
index 000000000000..5fbdce6c7cb8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XViewSplitable.java
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * 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.sheet;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XViewSplitable;
+
+/**
+* Testing <code>com.sun.star.sheet.XViewSplitable</code>
+* interface methods :
+* <ul>
+* <li><code> getIsWindowSplit()</code></li>
+* <li><code> getSplitHorizontal()</code></li>
+* <li><code> getSplitVertical()</code></li>
+* <li><code> getSplitColumn()</code></li>
+* <li><code> getSplitRow()</code></li>
+* <li><code> splitAtPosition()</code></li>
+* </ul> <p>
+* @see com.sun.star.sheet.XViewSplitable
+*/
+public class _XViewSplitable extends MultiMethodTest {
+
+ public XViewSplitable oObj = null;
+ protected final int posX = 101, posY = 51;
+
+ /**
+ * Test just calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _splitAtPosition(){
+ oObj.splitAtPosition(posX, posY);
+ tRes.tested("splitAtPosition()", true);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to true. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> splitAtPosition() </code> : that the view was splitted into
+ * individual panes </li>
+ * </ul>
+ */
+ public void _getIsWindowSplit(){
+ requiredMethod("splitAtPosition()");
+ tRes.tested("getIsWindowSplit()", oObj.getIsWindowSplit());
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set by method <code>splitAtPosition()</code>. <p>
+ * Has <b> OK </b> status if returned value is equal to value that was
+ * set by method <code>splitAtPosition()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> splitAtPosition() </code> : to split the view at the
+ * specified position </li>
+ * </ul>
+ */
+ public void _getSplitHorizontal() {
+ requiredMethod("splitAtPosition()");
+ tRes.tested("getSplitHorizontal()", oObj.getSplitHorizontal() == posX);
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set by method <code>splitAtPosition()</code>. <p>
+ * Has <b> OK </b> status if returned value is equal to value that was
+ * set by method <code>splitAtPosition()</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> splitAtPosition() </code> : to split the view at the
+ * specified position </li>
+ * </ul>
+ */
+ public void _getSplitVertical() {
+ requiredMethod("splitAtPosition()");
+ tRes.tested("getSplitVertical()", oObj.getSplitVertical() == posY);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't equal zero. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> splitAtPosition() </code> : to split the view at the
+ * specified position </li>
+ * </ul>
+ */
+ public void _getSplitColumn() {
+ requiredMethod("splitAtPosition()");
+ tRes.tested("getSplitColumn()", oObj.getSplitColumn() != 0);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't equal zero. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> splitAtPosition() </code> : to split the view at the
+ * specified position </li>
+ * </ul>
+ */
+ public void _getSplitRow() {
+ requiredMethod("splitAtPosition()");
+ tRes.tested("getSplitRow()", oObj.getSplitRow() != 0);
+ }
+} // finish class _XViewSplitable
+
+
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterProperties.java b/qadevOOo/tests/java/ifc/style/_CharacterProperties.java
new file mode 100644
index 000000000000..d6e6977222a4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterProperties.java
@@ -0,0 +1,544 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import lib.MultiPropertyTest;
+
+import util.ValueChanger;
+import util.utils;
+
+
+/**
+* Testing <code>com.sun.star.style.CharacterProperties</code>
+* service properties :
+* <ul>
+* <li><code> CharFontName</code></li>
+* <li><code> CharFontStyleName</code></li>
+* <li><code> CharFontFamily</code></li>
+* <li><code> CharFontCharSet</code></li>
+* <li><code> CharFontPitch</code></li>
+* <li><code> CharColor</code></li>
+* <li><code> CharEscapement</code></li>
+* <li><code> CharHeight</code></li>
+* <li><code> CharUnderline</code></li>
+* <li><code> CharWeight</code></li>
+* <li><code> CharPosture</code></li>
+* <li><code> CharAutoKerning</code></li>
+* <li><code> CharBackColor</code></li>
+* <li><code> CharBackTransparent</code></li>
+* <li><code> CharCaseMap</code></li>
+* <li><code> CharCrossedOut</code></li>
+* <li><code> CharFlash</code></li>
+* <li><code> CharStrikeout</code></li>
+* <li><code> CharWordMode</code></li>
+* <li><code> CharKerning</code></li>
+* <li><code> CharLocale</code></li>
+* <li><code> CharKeepTogether</code></li>
+* <li><code> CharNoLineBreak</code></li>
+* <li><code> CharShadowed</code></li>
+* <li><code> CharFontType</code></li>
+* <li><code> CharStyleName</code></li>
+* <li><code> CharContoured</code></li>
+* <li><code> CharCombineIsOn</code></li>
+* <li><code> CharCombinePrefix</code></li>
+* <li><code> CharCombineSuffix</code></li>
+* <li><code> CharEmphasize</code></li>
+* <li><code> CharRelief</code></li>
+* <li><code> RubyText</code></li>
+* <li><code> RubyAdjust</code></li>
+* <li><code> RubyCharStyleName</code></li>
+* <li><code> RubyIsAbove</code></li>
+* <li><code> CharRotation</code></li>
+* <li><code> CharRotationIsFitToLine</code></li>
+* <li><code> CharScaleWidth</code></li>
+* <li><code> HyperLinkURL</code></li>
+* <li><code> HyperLinkTarget</code></li>
+* <li><code> HyperLinkName</code></li>
+* <li><code> TextUserDefinedAttributes</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'PARA'</code>: <b>optional</b>
+* (must implement <code>XPropertySet</code>):
+* if this relation is specified then some properties
+* testing is performed in a special manner. (e.g. this used in
+* <code>sw.SwXParagraph</code> component) For details
+* see {@link #changeProp} method description. </li>
+* <li> <code>'PORTION'</code>: <b>optional</b>
+* (must implement <code>XPropertySet</code>):
+* if this relation is specified then some properties
+* testing is performed in a special manner. (e.g. this used in
+* <code>sw.SwXParagraph</code> component) For details
+* see {@link #changeProp} method description. </li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterProperties
+*/
+public class _CharacterProperties extends MultiPropertyTest {
+
+ public void _CharFontName() {
+ testProperty("CharFontName", "Times New Roman", "Arial") ;
+ }
+
+ public void _CharHeight() {
+ testProperty("CharHeight", new PropertyTester() {
+ protected Object getNewValue(String propName, Object old) {
+ if (utils.isVoid(old)) {
+ return new Float(10) ;
+ } else {
+ return new Float(((Float) old).floatValue() + 10) ;
+ }
+ }
+ }) ;
+ }
+
+ /**
+ * Custom tester for properties which contains image URLs.
+ * Switches between two JPG images' URLs.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals("http://www.sun.com"))
+ return "http://www.openoffice.org"; else
+ return "http://www.sun.com";
+ }
+ } ;
+
+ public void _HyperLinkURL() {
+ testProperty("HyperLinkURL", URLTester) ;
+ }
+
+ public void _HyperLinkName() {
+ testProperty("HyperLinkName", URLTester) ;
+ }
+
+ public void _HyperLinkTarget() {
+ testProperty("HyperLinkTarget", URLTester) ;
+ }
+
+ public void _CharWeight() {
+ testProperty("CharWeight", new Float(com.sun.star.awt.FontWeight.BOLD),
+ new Float(com.sun.star.awt.FontWeight.THIN)) ;
+ }
+
+ public void _CharPosture() {
+ testProperty("CharPosture", com.sun.star.awt.FontSlant.ITALIC,
+ com.sun.star.awt.FontSlant.NONE) ;
+ }
+
+ /**
+ * Custom tester for style name properties. If object relations "STYLENAME1"
+ * and "STYLENAME2" exists, then testing with these strings, else switches
+ * between 'Citation' and 'Emphasis' names.
+ */
+ protected PropertyTester StyleTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ String oStyleName1 = (String) tEnv.getObjRelation("STYLENAME1");
+ String oStyleName2 = (String) tEnv.getObjRelation("STYLENAME2");
+ if ((oStyleName1 != null) && (oStyleName2 != null)){
+ log.println("use strings given by object relation: '"
+ + oStyleName1 + "' '" + oStyleName2 +"'");
+ if (oldValue.equals( oStyleName1))
+ return oStyleName2;
+ else
+ return oStyleName1;
+ }
+ if (utils.isVoid(oldValue) || (oldValue.equals("Standard")))
+ return "Example"; else
+ return "Emphasis";
+ }
+ } ;
+
+ /**
+ * Custom tester for style names properties. Switches between
+ * 'Citation' and 'Emphasis' names.
+ */
+ protected PropertyTester StylesTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (utils.isVoid(oldValue) || (oldValue.equals("Standard")))
+ return new String[] {"Citation"}; else
+ return new String[] {"Emphasis"};
+ }
+ } ;
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _CharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("CharStyleName", StyleTester) ;
+ } else {
+ changeProp((XPropertySet) oPara,
+ (XPropertySet) oPort,"CharStyleName","Standard");
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _CharStyleNames() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("CharStyleNames", StylesTester) ;
+ } else {
+ String[] newNames = {"Standard"};
+ changeProp((XPropertySet) oPara,
+ (XPropertySet) oPort,"CharStyleNames",new String[] {"Standard"});
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyCharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyCharStyleName", StyleTester) ;
+ } else {
+ changeProp((XPropertySet) oPara, (XPropertySet)
+ oPort,"RubyCharStyleName","Standard");
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyAdjust() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyAdjust",new Short((short)0),new Short((short)1));
+ } else {
+ Short aShort = new Short((short) 1);
+ changeProp((XPropertySet) oPara,
+ (XPropertySet) oPort,"RubyAdjust", aShort);
+ }
+ Short aShort = new Short((short) 1);
+ }
+
+ /**
+ * Custom tester for the ruby text property.
+ */
+ protected PropertyTester RubyTextTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (utils.isVoid(oldValue)) {
+ return new String("RubyText");
+ } else {
+ return ValueChanger.changePValue(oldValue);
+ }
+ }
+ } ;
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyText() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyText", RubyTextTester) ;
+ } else {
+ changeProp((XPropertySet) oPara, (XPropertySet) oPort,
+ "RubyText","");
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyIsAbove() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyIsAbove") ;
+ } else {
+ changeProp((XPropertySet) oPara, (XPropertySet) oPort,
+ "RubyIsAbove",new Boolean(true));
+ }
+ }
+
+ /**
+ * This property only takes values between 0..100
+ * so ist must be treated special
+ */
+ public void _CharEscapementHeight() {
+ Byte aByte = new Byte((byte)75);
+ Byte max = new Byte((byte)100);
+ testProperty("CharEscapementHeight", aByte, max) ;
+ }
+
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _CharRotation() {
+ Short aShort = new Short((short) 10);
+ changeProp(oObj,oObj, "CharRotation", aShort);
+ }
+
+ /**
+ * Tests the property specified by <code>name</code> using
+ * property set <code>oProps</code>, but value after setting
+ * this property to a new value is checked using another
+ * PropertySet <code>get</code>. Special cases used for
+ * <code>CharRotation</code> property (it can have only certain values
+ * 0, 900, ...), and for <code>*StyleName</code> properties
+ * (only existing style names are accepted)
+ * @param oProps PropertySet from which property value is get
+ * changed and set.
+ * @param get PropertySet where property value is checked after
+ * setting.
+ * @param name Propety name to test.
+ * @param newVal Value used to set as new property value if
+ * the value get is null.
+ */
+ public void changeProp(XPropertySet oProps,
+ XPropertySet get,String name, Object newVal) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+ try {
+ //waitForAllThreads();
+ gValue = oProps.getPropertyValue(name);
+
+ if ( (gValue == null) || (utils.isVoid(gValue)) ) {
+ log.println("Value for "+name+" is NULL");
+ gValue = newVal;
+ }
+
+ //waitForAllThreads();
+ if (name.equals("CharRotation")) {
+ Short s1 = new Short((short) 0);
+ Short s2 = new Short((short) 900);
+ if (gValue.equals(s1)) {
+ ValueToSet = s2;
+ } else {
+ ValueToSet = s1;
+ }
+ } else {
+ ValueToSet = ValueChanger.changePValue(gValue);
+ }
+ if (name.endsWith("StyleName")) {
+ if ( ((String) gValue).equals("Standard") ) {
+ ValueToSet="Main index entry";
+ }
+ else {
+ ValueToSet="Emphasis";
+ }
+ }
+
+ //waitForAllThreads();
+ oProps.setPropertyValue(name,ValueToSet);
+ sValue = get.getPropertyValue(name);
+ if (sValue == null) {
+ log.println("Value for "+name+" is NULL after setting");
+ sValue = gValue;
+ }
+
+ //check get-set methods
+ if (gValue.equals(sValue)) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ } else {
+ log.println("Property '"+name+"' OK");
+ log.println("old: "+gValue.toString());
+ log.println("new: "+ValueToSet.toString());
+ log.println("result: "+sValue.toString());
+ tRes.tested(name, true);
+ }
+ }
+ catch (com.sun.star.beans.UnknownPropertyException ex) {
+ if (isOptional(name)) {
+ log.println("Property '"+name+
+ "' is optional and not supported");
+ tRes.tested(name,true);
+ }
+ else {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ ex.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+ }// end of changeProp
+
+ public void _TextUserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+
+ try {
+ try{
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("TextUserDefinedAttributes"));
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("TextUserDefinedAttributes is empty.");
+ uda = new _CharacterProperties.OwnUserDefinedAttributes();
+ }
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type = "CDATA";
+ attr.Value = "true";
+ uda.insertByName("Cellprop:has-first-alien-attribute", attr);
+
+ String[] els = uda.getElementNames();
+ oObj.setPropertyValue("TextUserDefinedAttributes", uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("TextUserDefinedAttributes"));
+ els = uda.getElementNames();
+
+ Object obj = uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ if (isOptional("TextUserDefinedAttributes")) {
+ log.println("Property is optional and not supported");
+ res = true;
+ } else {
+ log.println("Don't know the Property 'TextUserDefinedAttributes'");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println(
+ "WrappedTargetException while getting Property 'TextUserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println(
+ "IllegalArgumentException while getting Property 'TextUserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println(
+ "PropertyVetoException while getting Property 'TextUserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println(
+ "ElementExistException while getting Property 'TextUserDefinedAttributes'");
+ }
+
+ tRes.tested("TextUserDefinedAttributes", res);
+ }
+
+ private class OwnUserDefinedAttributes implements XNameContainer{
+ Hashtable members = null;
+
+
+ public OwnUserDefinedAttributes() {
+ members = new Hashtable();
+ }
+
+ public Object getByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ return members.get(str);
+ }
+
+ public String[] getElementNames() {
+ Enumeration oEnum = members.keys();
+ int count = members.size();
+ String[] res = new String[count];
+ int i=0;
+ while(oEnum.hasMoreElements())
+ res[i] = (String)oEnum.nextElement();
+ return res;
+ }
+
+ public com.sun.star.uno.Type getElementType() {
+ Enumeration oEnum = members.keys();
+ String key = (String)oEnum.nextElement();
+ Object o = members.get(key);
+ return new Type(o.getClass());
+ }
+
+ public boolean hasByName(String str) {
+ return members.get(str) != null;
+ }
+
+ public boolean hasElements() {
+ return members.size() > 0;
+ }
+
+ public void insertByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.ElementExistException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ public void removeByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.remove(str);
+ }
+
+ public void replaceByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ }
+
+} //finish class _CharacterProperties
+
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java
new file mode 100644
index 000000000000..a5709503f602
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.FontSlant;
+import com.sun.star.awt.FontWeight;
+
+/**
+* Testing <code>com.sun.star.style.CharacterPropertiesAsian</code>
+* service properties :
+* <ul>
+* <li><code> CharHeightAsian</code></li>
+* <li><code> CharWeightAsian</code></li>
+* <li><code> CharFontNameAsian</code></li>
+* <li><code> CharFontStyleNameAsian</code></li>
+* <li><code> CharFontFamilyAsian</code></li>
+* <li><code> CharFontCharSetAsian</code></li>
+* <li><code> CharFontPitchAsian</code></li>
+* <li><code> CharPostureAsian</code></li>
+* <li><code> CharLocaleAsian</code></li>
+* <li><code> ParaIsCharacterDistance</code></li>
+* <li><code> ParaIsForbiddenRules</code></li>
+* <li><code> ParaIsHangingPunctuation</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterPropertiesAsian
+*/
+public class _CharacterPropertiesAsian extends MultiPropertyTest {
+
+ public void _CharPostureAsian() {
+ testProperty("CharPostureAsian", FontSlant.NONE, FontSlant.ITALIC);
+ }
+
+ public void _CharWeightAsian() {
+ testProperty("CharWeightAsian", new Float(FontWeight.NORMAL),
+ new Float(FontWeight.BOLD));
+ }
+
+ public void _ParaIsCharacterDistance() {
+ testProperty("ParaIsCharacterDistance", Boolean.TRUE, Boolean.FALSE);
+ }
+
+ public void _ParaIsForbiddenRules() {
+ testProperty("ParaIsForbiddenRules", Boolean.TRUE, Boolean.FALSE);
+ }
+
+ public void _ParaIsHangingPunctuation() {
+ testProperty("ParaIsHangingPunctuation", Boolean.TRUE, Boolean.FALSE);
+ }
+} //finish class _CharacterPropertiesAsian
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java
new file mode 100644
index 000000000000..0bf69d68e7e9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.CharacterPropertiesComplex</code>
+* service properties :
+* <ul>
+* <li><code> CharHeightComplex</code></li>
+* <li><code> CharWeightComplex</code></li>
+* <li><code> CharFontNameComplex</code></li>
+* <li><code> CharFontStyleNameComplex</code></li>
+* <li><code> CharFontFamilyComplex</code></li>
+* <li><code> CharFontCharSetComplex</code></li>
+* <li><code> CharFontPitchComplex</code></li>
+* <li><code> CharPostureComplex</code></li>
+* <li><code> CharLocaleComplex</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterPropertiesComplex
+*/
+public class _CharacterPropertiesComplex extends MultiPropertyTest {
+
+ public void _CharWeightComplex() {
+ testProperty("CharWeightComplex", new Float(com.sun.star.awt.FontWeight.BOLD),
+ new Float(com.sun.star.awt.FontWeight.THIN)) ;
+ }
+
+ public void _CharPostureComplex() {
+ testProperty("CharPostureComplex", com.sun.star.awt.FontSlant.ITALIC,
+ com.sun.star.awt.FontSlant.NONE) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} //finish class _CharacterPropertiesComplex
+
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterStyle.java b/qadevOOo/tests/java/ifc/style/_CharacterStyle.java
new file mode 100755
index 000000000000..fb6acc14a42e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterStyle.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.style.CharacterStyle</code>
+* service properties :
+* <ul>
+* <li><code> CharDiffHeight</code></li>
+* <li><code> CharPropHeight</code></li>
+* <li><code> CharDiffHeightAsian</code></li>
+* <li><code> CharPropHeightAsian</code></li>
+* <li><code> CharDiffHeightComplex</code></li>
+* <li><code> CharPropHeightComplex</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterStyle
+*/
+public class _CharacterStyle extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/style/_PageProperties.java b/qadevOOo/tests/java/ifc/style/_PageProperties.java
new file mode 100755
index 000000000000..c53f86b4aa41
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_PageProperties.java
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+import lib.MultiPropertyTest;
+
+/**
+ * Test page properties.
+ * Testing is done by lib.MultiPropertyTest, except for properties
+ * <ul>
+ * <li>PrinterPaperTray</li>
+ * <li>UserDefinedAttribures</li>
+ * </ul>
+ */
+public class _PageProperties extends MultiPropertyTest {
+
+ /**
+ * Switch on Header and Footer properties
+ * so all props can be tested.
+ */
+ protected void before() {
+ try {
+ oObj.setPropertyValue("HeaderIsOn", Boolean.TRUE);
+ oObj.setPropertyValue("FooterIsOn", Boolean.TRUE);
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'HeaderIsOn' or 'FooterIsOn'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while setting Property 'HeaderIsOn' or 'FooterIsOn'");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while setting Property 'HeaderIsOn' or 'FooterIsOn'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while setting Property 'HeaderIsOn' or 'FooterIsOn'");
+ }
+ }
+
+ /**
+ * This property is system dependent and printer dependent.
+ * So only reading it does make sense, since it cannot be determined, if
+ * it is set to a allowed value.
+ */
+ public void _PrinterPaperTray() {
+ boolean res = false;
+ String setting = null;
+ try {
+ setting = (String)oObj.getPropertyValue("PrinterPaperTray");
+ log.println("Property 'PrinterPaperTray' is set to '" + setting + "'.");
+ res = setting != null;
+ }
+ catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Don't know the Property 'PrinterPaperTray'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'PrinterPaperTray'");
+ }
+ tRes.tested("PrinterPaperTray", res);
+ }
+
+ /**
+ * Create some valid user defined attributes
+ */
+ public void _UserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+ try {
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type="CDATA";
+ attr.Value="true";
+ uda.insertByName("Cellprop:has-first-alien-attribute",attr);
+ String[] els = uda.getElementNames();
+ oObj.setPropertyValue("UserDefinedAttributes",uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ els = uda.getElementNames();
+ Object obj = uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println("ElementExistException while getting Property 'UserDefinedAttributes'");
+ }
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/style/_PageStyle.java b/qadevOOo/tests/java/ifc/style/_PageStyle.java
new file mode 100755
index 000000000000..d8a6e5f7d344
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_PageStyle.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import ifc.style._PageProperties;
+
+/**
+ * Test page style properties.
+ * These properties are a subset of the PageProperties. So just use the
+ * PageProperties test
+ */
+public class _PageStyle extends _PageProperties {
+
+ /**
+ * This property is system dependent and printer dependent.
+ * Test is used from _PageProperties
+ * @see ifc.style._PageProperties
+ */
+ public void _PrinterPaperTray() {
+ super._PrinterPaperTray();
+ }
+
+ /**
+ * Create some valid user defined attributes
+ * Test is used from _PageProperties
+ * @see ifc.style._PageProperties
+ */
+ public void _UserDefinedAttributes() {
+ super._UserDefinedAttributes();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphProperties.java b/qadevOOo/tests/java/ifc/style/_ParagraphProperties.java
new file mode 100644
index 000000000000..d412b93531da
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphProperties.java
@@ -0,0 +1,507 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+import ifc.text._NumberingLevel;
+import java.util.Enumeration;
+import java.util.Hashtable;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import share.LogWriter;
+
+
+import util.utils;
+
+
+/**
+* Testing <code>com.sun.star.style.ParagraphProperties</code>
+* service properties :
+* <ul>
+* <li><code> ParaAdjust</code></li>
+* <li><code> ParaLineSpacing</code></li>
+* <li><code> ParaBackColor</code></li>
+* <li><code> ParaBackTransparent</code></li>
+* <li><code> ParaBackGraphicURL</code></li>
+* <li><code> ParaBackGraphicFilter</code></li>
+* <li><code> ParaBackGraphicLocation</code></li>
+* <li><code> ParaLastLineAdjust</code></li>
+* <li><code> ParaExpandSingleWord</code></li>
+* <li><code> ParaLeftMargin</code></li>
+* <li><code> ParaRightMargin</code></li>
+* <li><code> ParaTopMargin</code></li>
+* <li><code> ParaBottomMargin</code></li>
+* <li><code> ParaLineNumberCount</code></li>
+* <li><code> ParaLineNumberStartValue</code></li>
+* <li><code> ParaIsHyphenation</code></li>
+* <li><code> PageDescName</code></li>
+* <li><code> PageNumberOffset</code></li>
+* <li><code> ParaRegisterModeActive</code></li>
+* <li><code> ParaTabStops</code></li>
+* <li><code> ParaStyleName</code></li>
+* <li><code> DropCapFormat</code></li>
+* <li><code> DropCapWholeWord</code></li>
+* <li><code> ParaKeepTogether</code></li>
+* <li><code> ParaSplit</code></li>
+* <li><code> NumberingLevel</code></li>
+* <li><code> NumberingRules</code></li>
+* <li><code> NumberingStartValue</code></li>
+* <li><code> ParaIsNumberingRestart</code></li>
+* <li><code> NumberingStyleName</code></li>
+* <li><code> ParaOrphans</code></li>
+* <li><code> ParaWidows</code></li>
+* <li><code> ParaShadowFormat</code></li>
+* <li><code> IsHangingPunctuation</code></li>
+* <li><code> IsCharacterDistance</code></li>
+* <li><code> IsForbiddenRules</code></li>
+* <li><code> LeftBorder</code></li>
+* <li><code> RightBorder</code></li>
+* <li><code> TopBorder</code></li>
+* <li><code> BottomBorder</code></li>
+* <li><code> BorderDistance</code></li>
+* <li><code> LeftBorderDistance</code></li>
+* <li><code> RightBorderDistance</code></li>
+* <li><code> TopBorderDistance</code></li>
+* <li><code> BottomBorderDistance</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'NRULES'</code> : <b>optional</b>
+* (service <code>com.sun.star.text.NumberingRules</code>):
+* instance of the service which can be set as 'NumberingRules'
+* property new value. If the relation doesn't then two
+* different <code>NumberingRules</code> objects are tried
+* to be obtained by setting different 'NumberingStyleName'
+* property styles and getting 'NumberingRules' property values.</li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.ParagraphProperties
+*/
+public class _ParagraphProperties extends MultiPropertyTest {
+ /**
+ * Custom tester for numbering style properties. Switches between
+ * 'Numbering 1' and 'Numbering 2' styles.
+ */
+ protected PropertyTester NumberingStyleTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if ((oldValue != null) && (oldValue.equals("Numbering 1"))) {
+ return "Numbering 2";
+ } else {
+ return "Numbering 1";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for paragraph style properties. Switches between
+ * 'Salutation' and 'Heading' styles.
+ */
+ protected PropertyTester charStyleTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (!utils.isVoid(oldValue) && (oldValue.equals("Example"))) {
+ return "Emphasis";
+ } else {
+ return "Example";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for paragraph style properties. Switches between
+ * 'Salutation' and 'Heading' styles.
+ */
+ protected PropertyTester ParaStyleTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (!utils.isVoid(oldValue) && (oldValue.equals("Heading"))) {
+ return "Salutation";
+ } else {
+ return "Heading";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for PageDescName properties. Switches between
+ * 'HTML' and 'Standard' descriptor names.
+ */
+ protected PropertyTester PageDescTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (!util.utils.isVoid(oldValue) &&
+ (oldValue.equals("Default"))) {
+ return "HTML";
+ } else {
+ return "Default";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for properties which have <code>short</code> type
+ * and can be void, so if they have void value, the new value must
+ * be specified. Switches between two different values.
+ */
+ protected PropertyTester ShortTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) &&
+ (oldValue.equals(new Short((short) 0)))) {
+ return new Short((short) 2);
+ } else {
+ return new Short((short) 0);
+ }
+ }
+ };
+
+ /**
+ * Custom tester for properties which have <code>boolean</code> type
+ * and can be void, so if they have void value, the new value must
+ * be specified. Switches between true and false.
+ */
+ protected PropertyTester BooleanTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) &&
+ (oldValue.equals(new Boolean((boolean) false)))) {
+ return new Boolean((boolean) true);
+ } else {
+ return new Boolean((boolean) false);
+ }
+ }
+ };
+
+ /**
+ * Custom tester for properties which contains image URLs.
+ * Switches between two JPG images' URLs.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg"))) {
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ } else {
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ }
+ };
+
+ protected PropertyTester rules = null;
+
+ /**
+ * Creates tester for 'NumberingRules' depending on relation.
+ */
+ public void before() {
+ final Object nRules = tEnv.getObjRelation("NRULES");
+
+ if (nRules != null) {
+ rules = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return nRules;
+ }
+ };
+
+ } else {
+ Object rules1 = null;
+ Object rules2 = null;
+
+ try {
+ oObj.setPropertyValue("NumberingStyleName", "Numbering 1");
+ rules1 = oObj.getPropertyValue("NumberingRules");
+ oObj.setPropertyValue("NumberingStyleName", "Numbering 2");
+ rules2 = oObj.getPropertyValue("NumberingRules");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("WARNING !!! Exception getting numbering rules :");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("WARNING !!! Exception getting numbering rules :");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("WARNING !!! Exception getting numbering rules :");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Property 'NumberingStyleName' is not supported.");
+ }
+
+ rules = new PropertyValueSwitcher(rules1, rules2);
+ }
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _NumberingStyleName() {
+ log.println("Testing with custom Property tester");
+ testProperty("NumberingStyleName", NumberingStyleTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _DropCapCharStyleName() {
+ log.println("Testing with custom Property tester");
+ testProperty("DropCapCharStyleName", charStyleTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaStyleName() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaStyleName", ParaStyleTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _PageDescName() {
+ log.println("Testing with custom Property tester");
+ testProperty("PageDescName", PageDescTester);
+ }
+
+ /**
+ * Tested with custom property tester. Before testing property
+ * <code>ParaAdjust</code> is setting to value <code>BLOCK</code>
+ * because setting the property <code>ParaLastLineAdjust</code>
+ * makes sense only in this case.
+ */
+ public void _ParaLastLineAdjust() {
+ log.println("Testing with custom Property tester");
+
+ try {
+ oObj.setPropertyValue("ParaAdjust",
+ com.sun.star.style.ParagraphAdjust.BLOCK);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured setting property 'ParagraphAdjust'" + e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured setting property 'ParagraphAdjust'" + e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occured setting property 'ParagraphAdjust'" + e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occured setting property 'ParagraphAdjust'" + e);
+ }
+
+ testProperty("ParaLastLineAdjust", ShortTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaBackGraphicURL() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaBackGraphicURL", URLTester);
+ }
+
+ /**
+ * Tested with custom property tester. <p>
+ * The following property tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> NumberingStyleName </code> : a numbering style must
+ * be set before testing this property </li>
+ * </ul>
+ */
+ public void _NumberingLevel() {
+ requiredMethod("NumberingStyleName");
+ log.println("Testing with custom Property tester");
+ testProperty("NumberingLevel", ShortTester);
+ }
+
+ /**
+ * Tested with custom property tester. <p>
+ */
+ public void _ParaIsConnectBorder() {
+
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsConnectBorder", BooleanTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaVertAlignment() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaVertAlignment", ShortTester);
+ }
+
+ /**
+ * Tested with com.sun.star.text.NumberingLevel <p>
+ * The value of this property is a com.sun.star.container.XIndexReplace which is represneted by
+ * com.sun.star.text.NumberingLevel.
+ * The following property tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> NumberingStyleName </code> : a numbering style must
+ * be set before testing this property </li>
+ * </ul>
+ * @see com.sun.star.text.NumberlingLevel
+ * @see com.sun.star.container.XIndexReplace
+ * @see ifc.text._NumberingLevel
+ */
+ public void _NumberingRules() {
+ requiredMethod("NumberingStyleName");
+
+ XIndexReplace NumberingRules = null;
+ PropertyValue[] propertyValues = null;
+ try {
+ NumberingRules = (XIndexReplace) AnyConverter.toObject(
+ new Type(XIndexReplace.class), oObj.getPropertyValue("NumberingRules"));
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ Status.failed( "could not get NumberingRuels: "+ ex.toString() );
+ return;
+ } catch (UnknownPropertyException ex) {
+ Status.failed( "could not get NumberingRuels: "+ ex.toString() );
+ return;
+ } catch (WrappedTargetException ex) {
+ Status.failed( "could not get NumberingRuels: "+ ex.toString() );
+ return;
+ }
+ try {
+ propertyValues = (PropertyValue[]) NumberingRules.getByIndex(0);
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ Status.failed( "could not get NumberlingLevel-Array from NumberingRuels: "+ ex.toString() );
+ return;
+ } catch (WrappedTargetException ex) {
+ Status.failed( "could not get NumberlingLevel-Array from NumberingRuels: "+ ex.toString() );
+ return;
+ }
+
+ _NumberingLevel numb = new _NumberingLevel((LogWriter)log, tParam, propertyValues);
+
+ boolean result = numb.testPropertieArray();
+
+ tRes.tested("NumberingRules", result);
+ }
+
+ public void _ParaUserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+
+ try {
+ try{
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("ParaUserDefinedAttributes"));
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("ParaUserDefinedAttributes is empty.");
+ uda = new _ParagraphProperties.OwnUserDefinedAttributes();
+ }
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type = "CDATA";
+ attr.Value = "true";
+ uda.insertByName("Cellprop:has-first-alien-attribute", attr);
+
+ String[] els = uda.getElementNames();
+ oObj.setPropertyValue("ParaUserDefinedAttributes", uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("ParaUserDefinedAttributes"));
+ els = uda.getElementNames();
+
+ Object obj = uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ if (isOptional("ParaUserDefinedAttributes")) {
+ log.println("Property is optional and not supported");
+ res = true;
+ } else {
+ log.println("Don't know the Property 'ParaUserDefinedAttributes'");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println(
+ "WrappedTargetException while getting Property 'ParaUserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println(
+ "IllegalArgumentException while getting Property 'ParaUserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println(
+ "PropertyVetoException while getting Property 'ParaUserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println(
+ "ElementExistException while getting Property 'ParaUserDefinedAttributes'");
+ }
+
+ tRes.tested("ParaUserDefinedAttributes", res);
+ }
+
+ private class OwnUserDefinedAttributes implements XNameContainer{
+ Hashtable members = null;
+
+
+ public OwnUserDefinedAttributes() {
+ members = new Hashtable();
+ }
+
+ public Object getByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ return members.get(str);
+ }
+
+ public String[] getElementNames() {
+ Enumeration oEnum = members.keys();
+ int count = members.size();
+ String[] res = new String[count];
+ int i=0;
+ while(oEnum.hasMoreElements())
+ res[i] = (String)oEnum.nextElement();
+ return res;
+ }
+
+ public com.sun.star.uno.Type getElementType() {
+ Enumeration oEnum = members.keys();
+ String key = (String)oEnum.nextElement();
+ Object o = members.get(key);
+ return new Type(o.getClass());
+ }
+
+ public boolean hasByName(String str) {
+ return members.get(str) != null;
+ }
+
+ public boolean hasElements() {
+ return members.size() > 0;
+ }
+
+ public void insertByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.ElementExistException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ public void removeByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.remove(str);
+ }
+
+ public void replaceByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ }
+} // finish class _ParagraphProperties
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java
new file mode 100644
index 000000000000..6c3730d3bb5c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.ParagraphPropertiesAsian</code>
+* service properties :
+* <ul>
+* <li><code> ParaIsHangingPunctuation </code></li>
+* <li><code> ParaIsCharacterDistance </code></li>
+* <li><code> ParaIsForbiddenRules </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.ParagraphProperties
+*/
+public class _ParagraphPropertiesAsian extends MultiPropertyTest {
+ /**
+ * Custom tester for properties which have <code>boolean</code> type
+ * and can be void, so if they have void value, the new value must
+ * be specified. Switches between true and false.
+ */
+ protected PropertyTester BooleanTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) &&
+ (oldValue.equals(new Boolean((boolean) false)))) {
+ return new Boolean((boolean) true);
+ } else {
+ return new Boolean((boolean) false);
+ }
+ }
+ };
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaIsHangingPunctuation() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsHangingPunctuation", BooleanTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaIsCharacterDistance() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsCharacterDistance", BooleanTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaIsForbiddenRules() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsForbiddenRules", BooleanTester);
+ }
+
+
+} // finish class _ParagraphProperties
+
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java
new file mode 100644
index 000000000000..932bec5b3ead
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.ParagraphPropertiesComplex</code>
+*
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.ParagraphPropertiesComplex
+*/
+public class _ParagraphPropertiesComplex extends MultiPropertyTest {
+
+
+ protected PropertyTester WritingModeTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) && (oldValue.equals(new Short(com.sun.star.text.WritingMode2.LR_TB))))
+ return new Short(com.sun.star.text.WritingMode2.PAGE); else
+ return new Short(com.sun.star.text.WritingMode2.LR_TB);
+ }
+ } ;
+
+ public void _WritingMode() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("WritingMode", WritingModeTester) ;
+ }
+
+} // finish class _ParagraphPropertiesComplex
+
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphStyle.java b/qadevOOo/tests/java/ifc/style/_ParagraphStyle.java
new file mode 100644
index 000000000000..8dcdb56dc988
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphStyle.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiPropertyTest;
+
+/**
+ */
+public class _ParagraphStyle extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/style/_Style.java b/qadevOOo/tests/java/ifc/style/_Style.java
new file mode 100644
index 000000000000..16dbf570c301
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_Style.java
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.Style</code>
+* service properties :
+* <ul>
+* <li><code> IsPhysical</code></li>
+* <li><code> FollowStyle</code></li>
+* <li><code> DisplayName</code></li>
+* <li><code> IsAutoUpdate</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.Style
+*/
+public class _Style extends MultiPropertyTest {
+
+ public void _FollowStyle() {
+ String style = (String)tEnv.getObjRelation("FollowStyle");
+ if (style == null) style = "Heading 1";
+ testProperty("FollowStyle", style, "Heading 2");
+ }
+
+} // finish class _Style
+
+
diff --git a/qadevOOo/tests/java/ifc/style/_XStyle.java b/qadevOOo/tests/java/ifc/style/_XStyle.java
new file mode 100644
index 000000000000..bf0bb6bea2c8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_XStyle.java
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.style.XStyle;
+
+/**
+* Testing <code>com.sun.star.style.XStyle</code>
+* interface methods :
+* <ul>
+* <li><code> isUserDefined()</code></li>
+* <li><code> isInUse()</code></li>
+* <li><code> getParentStyle()</code></li>
+* <li><code> setParentStyle()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'PoolStyle'</code> (of type <code>XStyle</code>):
+* some style from the SOffice collection (not user defined) </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.style.XStyle
+*/
+public class _XStyle extends MultiMethodTest {
+
+ public XStyle oObj = null;
+ XStyle oMyStyle = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ oMyStyle = (XStyle) tEnv.getObjRelation("PoolStyle");
+ if (oMyStyle == null) throw new StatusException
+ (Status.failed("Relation not found")) ;
+ }
+
+ /**
+ * Gets the parent style . <p>
+ * Has <b> OK </b> status if the name of style returned is
+ * equal to the name of style which was set before. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setParentStyle() </code> : to set the parent style </li>
+ * </ul>
+ */
+ public void _getParentStyle() {
+ requiredMethod("setParentStyle()");
+ tRes.tested("getParentStyle()",
+ oObj.getParentStyle().equals(oMyStyle.getName()));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method sreturns <code>true</code>. <p>
+ */
+ public void _isInUse() {
+ tRes.tested("isInUse()",oObj.isInUse());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ */
+ public void _isUserDefined() {
+ tRes.tested("isUserDefined()",
+ oObj.isUserDefined() && !oMyStyle.isUserDefined() );
+ }
+
+ /**
+ * Sets the style name which was passed as relation. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setParentStyle() {
+ boolean result = true ;
+ try {
+ oObj.setParentStyle(oMyStyle.getName());
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Exception occured while method call: " + e);
+ result = false ;
+ }
+
+ tRes.tested("setParentStyle()",result);
+ }
+} //finish class _XStyle
+
diff --git a/qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java b/qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java
new file mode 100644
index 000000000000..037f4eab829b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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.style;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.style.XStyleFamiliesSupplier;
+
+/**
+* Testing <code>com.sun.star.style.XStyleFamiliesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getStyleFamilies()</code></li>
+* </ul> <p>
+* Test is multithread compilant. <p>
+* @see com.sun.star.style.XStyleFamiliesSupplier
+*/
+public class _XStyleFamiliesSupplier extends MultiMethodTest {
+
+ public XStyleFamiliesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not null value.
+ */
+ public void _getStyleFamilies() {
+ tRes.tested("getStyleFamilies()",oObj.getStyleFamilies() != null);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/system/_XProxySettings.java b/qadevOOo/tests/java/ifc/system/_XProxySettings.java
new file mode 100644
index 000000000000..864349d194cd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/system/_XProxySettings.java
@@ -0,0 +1,305 @@
+/*************************************************************************
+ *
+ * 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.system;
+
+import java.util.Hashtable;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.system.XProxySettings;
+
+/**
+ * Tests <code>com.sun.star.system.XProxySettings</code> interface. The result
+ * of each method is compared with expected settings which is specified by the
+ * caller of the tests via object relation "XProxySettings.proxaSettings". That
+ * should be a Hashtable containing the following keys:
+ * <ul>
+ * <li>ftpProxyAddress</li>
+ * <li>ftpProxyPort</li>
+ * <li>gopherProxyAddress</li>
+ * <li>gopherProxyPort</li>
+ * <li>httpProxyAddress</li>
+ * <li>httpProxyPort</li>
+ * <li>httpsProxyAddress</li>
+ * <li>httpsProxyPort</li>
+ * <li>socksProxyAddress</li>
+ * <li>socksProxyPort</li>
+ * <li>proxyBypassAddress</li>
+ * <li>proxyEnabled</li>
+ * </ul>.
+ * Each value for a key, should be a String specifying the correct result of
+ * the corresponding getXXX() method of XProxySettings interface.
+ * <p>If the object relation is not specified the test failes.
+ *
+ */
+public class _XProxySettings extends MultiMethodTest {
+ public XProxySettings oObj;
+
+ /**
+ * Contains a Hashtable with correct results of the tested methods. See
+ * the class description.
+ */
+ Hashtable expectedProxies;
+
+ /**
+ * Checks that the "XProxySettings.proxySettings" object relation is
+ * specified and stores its value to <code>expectedProxies</code> field.
+ *
+ * @throws StatusException is the object relation is not specified.
+ *
+ * @see #expectedProxies
+ */
+ public void before() {
+ expectedProxies = (Hashtable)tEnv.getObjRelation(
+ "XProxySettings.proxySettings");
+
+ if (expectedProxies == null) {
+ throw new StatusException(
+ Status.failed("Expected proxy settings are not specified"));
+ }
+ }
+
+ /**
+ * Calls <code>getFtpProxyAddress()</code> and verifies its result with
+ * "ftpProxyAddress" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getFtpProxyAddress() {
+ String ftpProxyAddress = oObj.getFtpProxyAddress();
+ String expectedFtpProxyAddress = (String)
+ expectedProxies.get("ftpProxyAddress");
+
+ log.println("getFtpProxyAddress");
+ log.println("getting: "+ftpProxyAddress);
+ log.println("expected: "+expectedFtpProxyAddress);
+
+ tRes.tested("getFtpProxyAddress()",
+ ftpProxyAddress.equals(expectedFtpProxyAddress));
+ }
+
+ /**
+ * Calls <code>getFtpProxyPort()</code> and verifies its result with
+ * "ftpProxyPort" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getFtpProxyPort() {
+ String ftpProxyPort = oObj.getFtpProxyPort();
+ String expectedFtpProxyPort = (String)
+ expectedProxies.get("ftpProxyPort");
+
+ log.println("getFtpProxyPort");
+ log.println("getting: "+ftpProxyPort);
+ log.println("expected: "+expectedFtpProxyPort);
+
+ tRes.tested("getFtpProxyPort()",
+ ftpProxyPort.equals(expectedFtpProxyPort));
+ }
+
+ /**
+ * Calls <code>getGopherProxyAddress()</code> and verifies its result with
+ * "gopherProxyAddress" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getGopherProxyAddress() {
+ String gopherProxyAddress = oObj.getGopherProxyAddress();
+ String expectedGopherProxyAddress = (String)
+ expectedProxies.get("gopherProxyAddress");
+
+ tRes.tested("getGopherProxyAddress()",
+ gopherProxyAddress.equals(expectedGopherProxyAddress));
+ }
+
+ /**
+ * Calls <code>getGopherProxyPort()</code> and verifies its result with
+ * "gopherProxyPort" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getGopherProxyPort() {
+ String gopherProxyPort = oObj.getGopherProxyPort();
+ String expectedGopherProxyPort = (String)
+ expectedProxies.get("gopherProxyPort");
+
+ tRes.tested("getGopherProxyPort()",
+ gopherProxyPort.equals(expectedGopherProxyPort));
+ }
+
+ /**
+ * Calls <code>getHttpProxyAddress()</code> and verifies its result with
+ * "httpProxyAddress" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getHttpProxyAddress() {
+ String httpProxyAddress = oObj.getHttpProxyAddress();
+ String expectedHttpProxyAddress = (String)
+ expectedProxies.get("httpProxyAddress");
+
+ log.println("getHttpProxyAddress");
+ log.println("getting: "+httpProxyAddress);
+ log.println("expected: "+expectedHttpProxyAddress);
+
+ tRes.tested("getHttpProxyAddress()",
+ httpProxyAddress.equals(expectedHttpProxyAddress));
+ }
+
+ /**
+ * Calls <code>getHttpProxyPort()</code> and verifies its result with
+ * "httpProxyPort" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getHttpProxyPort() {
+ String httpProxyPort = oObj.getHttpProxyPort();
+ String expectedHttpProxyPort = (String)
+ expectedProxies.get("httpProxyPort");
+
+ log.println("getHttpProxyPort");
+ log.println("getting: "+httpProxyPort);
+ log.println("expected: "+expectedHttpProxyPort);
+
+ tRes.tested("getHttpProxyPort()",
+ httpProxyPort.equals(expectedHttpProxyPort));
+ }
+
+ /**
+ * Calls <code>getHttpsProxyAddress()</code> and verifies its result with
+ * "httpsProxyAddress" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getHttpsProxyAddress() {
+ String httpsProxyAddress = oObj.getHttpsProxyAddress();
+ String expectedHttpsProxyAddress = (String)
+ expectedProxies.get("httpsProxyAddress");
+
+ log.println("getHttpsProxyAddress");
+ log.println("getting: "+httpsProxyAddress);
+ log.println("expected: "+expectedHttpsProxyAddress);
+
+ tRes.tested("getHttpsProxyAddress()",
+ httpsProxyAddress.equals(expectedHttpsProxyAddress));
+ }
+
+ /**
+ * Calls <code>getHttpsProxyPort()</code> and verifies its result with
+ * "httpsProxyPort" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getHttpsProxyPort() {
+ String httpsProxyPort = oObj.getHttpsProxyPort();
+ String expectedHttpsProxyPort = (String)
+ expectedProxies.get("httpsProxyPort");
+
+ log.println("getHttpsProxyPort");
+ log.println("getting: "+httpsProxyPort);
+ log.println("expected: "+expectedHttpsProxyPort);
+
+ tRes.tested("getHttpsProxyPort()",
+ httpsProxyPort.equals(expectedHttpsProxyPort));
+ }
+
+ /**
+ * Calls <code>getProxyBypassAddress()</code> and verifies its result with
+ * "proxyBypassAddress" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getProxyBypassAddress() {
+ String proxyBypassAddress = oObj.getProxyBypassAddress();
+ String expectedProxyBypassAddress = (String)
+ expectedProxies.get("proxyBypassAddress");
+
+ log.println("getProxyBypassAddress");
+ log.println("getting: "+proxyBypassAddress);
+ log.println("expected: "+expectedProxyBypassAddress);
+
+ tRes.tested("getProxyBypassAddress()",
+ proxyBypassAddress.equals(expectedProxyBypassAddress));
+ }
+
+ /**
+ * Calls <code>getSocksProxyAddress()</code> and verifies its result with
+ * "socksProxyAddress" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getSocksProxyAddress() {
+ String socksProxyAddress = oObj.getSocksProxyAddress();
+ String expectedSocksProxyAddress = (String)
+ expectedProxies.get("socksProxyAddress");
+
+ log.println("getSocksProxyAddress");
+ log.println("getting: "+socksProxyAddress);
+ log.println("expected: "+expectedSocksProxyAddress);
+
+ tRes.tested("getSocksProxyAddress()",
+ socksProxyAddress.equals(expectedSocksProxyAddress));
+ }
+
+ /**
+ * Calls <code>getSocksProxyPort()</code> and verifies its result with
+ * "socksProxyPort" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _getSocksProxyPort() {
+ String socksProxyPort = oObj.getSocksProxyPort();
+ String expectedSocksProxyPort = (String)
+ expectedProxies.get("socksProxyPort");
+
+ log.println("getSocksProxyPort");
+ log.println("getting: "+socksProxyPort);
+ log.println("expected: "+expectedSocksProxyPort);
+
+ tRes.tested("getSocksProxyPort()",
+ socksProxyPort.equals(expectedSocksProxyPort));
+ }
+
+ /**
+ * Calls <code>isProxyEnabled()</code> and verifies its result with
+ * "proxyEnabled" value of <code>expectedProxies</code>.
+ *
+ * @see #expectedProxies
+ */
+ public void _isProxyEnabled() {
+ boolean proxyEnabled = oObj.isProxyEnabled();
+
+ String proxyEnabledStr = (String)expectedProxies.get("proxyEnabled");
+ boolean expected = proxyEnabledStr != null
+ && proxyEnabledStr.equalsIgnoreCase("true");
+
+ tRes.tested("isProxyEnabled()", proxyEnabled == expected);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java b/qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java
new file mode 100644
index 000000000000..edf1061408b3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.system;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.system.XSimpleMailClient;
+import com.sun.star.system.XSimpleMailClientSupplier;
+
+
+/**
+* Testing <code>com.sun.star.system.XSimpleMailClientSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> querySimpleMailClient()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SystemMailExist'</code> (of type <code>Boolean</code>):
+* if <code>true</code> then <code>SimpleSystemMail</code> service
+* is available, if NOT then the service is not availabel or
+* OS doesn't has system mail.</li>
+* <ul> <p>
+* @see com.sun.star.system.XSimpleMailClientSupplier
+*/
+public class _XSimpleMailClientSupplier extends MultiMethodTest {
+
+ public XSimpleMailClientSupplier oObj = null;
+
+ /**
+ * Test calls the method if the <code>SimpleSystemMail</code>
+ * service is available on current OS. <p>
+ * Has <b> OK </b> status if not null value returned or
+ * has <b>SKIPPED.OK</b> status if SystemMail is not available. <p>
+ */
+ public void _querySimpleMailClient() {
+ if (Boolean.TRUE.equals
+ ((Boolean)tEnv.getObjRelation("SystemMailExist"))) {
+
+ XSimpleMailClient aClient = oObj.querySimpleMailClient();
+ tRes.tested("querySimpleMailClient()",aClient != null);
+ } else {
+ log.println("SystemMail doesn't exist : nothing to test") ;
+ tRes.tested("querySimpleMailClient()", Status.skipped(true)) ;
+ }
+ }
+
+
+} // finish class _XSimpleMailClientSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java b/qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java
new file mode 100644
index 000000000000..3ced5eb9c52f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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.system;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.system.XSystemShellExecute;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.system.XSystemShellExecute</code>
+* interface methods :
+* <ul>
+* <li><code> execute()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.system.XSystemShellExecute
+*/
+public class _XSystemShellExecute extends MultiMethodTest {
+
+ public XSystemShellExecute oObj = null;
+
+ /**
+ * Excecutes 'java SystemShellExecute SystemShellExecute.txt' command line.
+ * <p>Has <b> OK </b> status if the method successfully returns
+ * and file 'SystemShellExecute.txt' was created. <p>
+ */
+ public void _execute() {
+ String cClassPath = System.getProperty("DOCPTH");
+ String cResFile = utils.getOfficeTempDirSys((XMultiServiceFactory)tParam.getMSF())+"SystemShellExecute.txt";
+ String cResURL = utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF())+"SystemShellExecute.txt";
+ String cArgs = "-classpath " + cClassPath +
+ " SystemShellExecute " + cResFile;
+
+ String jh = System.getProperty("java.home");
+ String fs = System.getProperty("file.separator");
+ String cmd = jh+fs+"bin"+fs+"java";
+
+ log.println("Executing : '"+cmd+" " + cArgs + "'");
+ try {
+ oObj.execute(cmd, cArgs, 1);
+ } catch (com.sun.star.system.SystemShellExecuteException e) {
+ log.println("Exception during execute: " + e);
+ log.println("This has been implemented due to security reasons");
+ tRes.tested("execute()", true);
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception during execute: " + e);
+ tRes.tested("execute()", false);
+ return;
+ }
+
+ XSimpleFileAccess xFileAccess = null;
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object fa = xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
+ xFileAccess = (XSimpleFileAccess)
+ UnoRuntime.queryInterface(XSimpleFileAccess.class, fa);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create SimpleFileAccess:" + e);
+ tRes.tested("execute()", false);
+ }
+
+ log.println("Waiting while the file will be created or timeout "+
+ "reached ...");
+ boolean bExist = false;
+ int i = 0;
+ while (i < 20 && !bExist) {
+ try {
+ bExist = xFileAccess.exists(cResURL);
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Exception:" + e);
+ }
+ shortWait();
+ i++;
+ }
+
+ if (bExist) {
+ log.println("The command was executed and file created in " +
+ i + " sec.");
+ } else {
+ log.println("File was not created");
+ }
+
+ tRes.tested("execute()", bExist);
+ }
+
+ /**
+ * Sleeps to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+} // finish class _XSystemShellExecute
+
+
diff --git a/qadevOOo/tests/java/ifc/table/_CellProperties.java b/qadevOOo/tests/java/ifc/table/_CellProperties.java
new file mode 100644
index 000000000000..99990e5b0339
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_CellProperties.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+/**
+* Testing <code>com.sun.star.table.CellProperties</code>
+* service properties :
+* <ul>
+* <li><code> CellStyle</code></li>
+* <li><code> CellBackColor</code></li>
+* <li><code> IsCellBackgroundTransparent</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> ShadowFormat</code></li>
+* <li><code> HoriJustify</code></li>
+* <li><code> VertJustify</code></li>
+* <li><code> Orientation</code></li>
+* <li><code> CellProtection</code></li>
+* <li><code> TableBorder</code></li>
+* <li><code> IsTextWrapped</code></li>
+* <li><code> RotateAngle</code></li>
+* <li><code> RotateReference</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.table.CellProperties
+*/
+public class _CellProperties extends MultiPropertyTest {
+
+
+ /**
+ * This property is tested with custom property tester which
+ * switches between 'Default' and 'Result' style names.
+ */
+ public void _CellStyle() {
+ testProperty("CellStyle", new PropertyTester() {
+ protected Object getNewValue(String name, Object old) {
+ return "Default".equals(old) ? "Result" : "Default" ;
+ }
+ }) ;
+ }
+
+ public void _UserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+ try {
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type="CDATA";
+ attr.Value="true";
+ uda.insertByName("Cellprop:has-first-alien-attribute",attr);
+ String[] els = uda.getElementNames();
+ oObj.setPropertyValue("UserDefinedAttributes",uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ els = uda.getElementNames();
+ Object obj = uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println("ElementExistException while getting Property 'UserDefinedAttributes'");
+ }
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+} // finish class _CellProperties
+
diff --git a/qadevOOo/tests/java/ifc/table/_TableColumn.java b/qadevOOo/tests/java/ifc/table/_TableColumn.java
new file mode 100644
index 000000000000..edb2606b87a4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_TableColumn.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiPropertyTest;
+import util.ValueComparer;
+
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.table.TableColumn</code>
+* service properties :
+* <ul>
+* <li><code> Width</code></li>
+* <li><code> OptimalWidth</code></li>
+* <li><code> IsVisible</code></li>
+* <li><code> IsStartOfNewPage</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.table.TableColumn
+*/
+public class _TableColumn extends MultiPropertyTest {
+
+ public void _OptimalWidth() {
+ boolean res = false;
+ try {
+ XInterface tObject = tEnv.getTestObject();
+ XCellRange aRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, tObject);
+ aRange.getCellByPosition(0,0).setFormula("Thats a pretty long text");
+ Object width_before = oObj.getPropertyValue("Width");
+ log.println("Before setting to optimal width: "+width_before);
+ oObj.setPropertyValue("OptimalWidth", new Boolean(true));
+ Object width_after = oObj.getPropertyValue("Width");
+ log.println("After setting to optimal width: "+width_after);
+ res = ! ValueComparer.equalValue(width_before,width_after);
+ } catch (Exception e) {
+ res = false;
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("OptimalWidth",res );
+ }
+
+} //finish class _TableColumn
+
+
diff --git a/qadevOOo/tests/java/ifc/table/_TableRow.java b/qadevOOo/tests/java/ifc/table/_TableRow.java
new file mode 100644
index 000000000000..e5021f22dc55
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_TableRow.java
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.table.TableRow</code>
+* service properties :
+* <ul>
+* <li><code> Height</code></li>
+* <li><code> OptimalHeight</code></li>
+* <li><code> IsVisible</code></li>
+* <li><code> IsStartOfNewPage</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.table.TableRow
+*/
+public class _TableRow extends MultiPropertyTest {
+
+} // finish class _TableRow
+
diff --git a/qadevOOo/tests/java/ifc/table/_XAutoFormattable.java b/qadevOOo/tests/java/ifc/table/_XAutoFormattable.java
new file mode 100644
index 000000000000..4843d25f93fc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XAutoFormattable.java
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import java.util.Random;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XAutoFormattable;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.table.XAutoFormattable</code>
+* interface methods :
+* <ul>
+* <li><code> autoFormat()</code></li>
+* </ul> <p>
+* The component tested <b>must implement</b> interface
+* <code>com.sun.star.table.XCellRange</code>. <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.table.XAutoFormattable
+*/
+public class _XAutoFormattable extends MultiMethodTest {
+ public XAutoFormattable oObj = null;
+
+ /**
+ * First 'Default' autoformat is set and a background of a cell
+ * is obtained. Then any other autoformat is set and background
+ * of a cell is obtained again.<p>
+ * Has <b> OK </b> status if backgrounds with different autoformat
+ * settings are differ. <p>
+ */
+ public void _autoFormat() {
+ boolean bResult = true;
+ XMultiServiceFactory oMSF = (XMultiServiceFactory) tParam.getMSF();
+ String name = "Default";
+
+ try {
+ oObj.autoFormat(name); // applying default format
+
+ // getting current background of the cell
+ XCellRange cellRange = (XCellRange) UnoRuntime.queryInterface(
+ XCellRange.class, oObj);
+ XCell oCell = cellRange.getCellByPosition(0, 0);
+ XPropertySet PS = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oCell);
+
+ Integer bkgrnd1;
+ try {
+ bkgrnd1 = (Integer) PS.getPropertyValue("CellBackColor");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ bkgrnd1 = (Integer) PS.getPropertyValue("BackColor");
+ }
+
+ // getting formats names.
+ XInterface iFormats = (XInterface) oMSF.createInstance(
+ "com.sun.star.sheet.TableAutoFormats");
+ XNameAccess formats = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class, iFormats);
+ String[] names = formats.getElementNames();
+
+ // getting one random not default style name
+ Random rnd = new Random();
+
+ if (names.length > 1) {
+ while (name.equals("Default")) {
+ name = names[rnd.nextInt(names.length)];
+ }
+ } else {
+ name = names[0];
+ }
+
+ log.println("Applying style " + name);
+
+
+ // applying style
+ oObj.autoFormat(name);
+
+ // getting new cell's backround.
+ Integer bkgrnd2;
+ try {
+ bkgrnd2 = (Integer) PS.getPropertyValue("CellBackColor");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ bkgrnd2 = (Integer) PS.getPropertyValue("BackColor");
+ }
+
+ bResult &= !bkgrnd1.equals(bkgrnd2);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured :");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ tRes.tested("autoFormat()", bResult);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/table/_XCell.java b/qadevOOo/tests/java/ifc/table/_XCell.java
new file mode 100644
index 000000000000..0e29e2cbc644
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XCell.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.table.CellContentType;
+import com.sun.star.table.XCell;
+
+
+/**
+* Testing <code>com.sun.star.table.XCell</code>
+* interface methods :
+* <ul>
+* <li><code> getFormula()</code></li>
+* <li><code> setFormula()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> setValue()</code></li>
+* <li><code> getType()</code></li>
+* <li><code> getError()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.table.XCell
+*/
+public class _XCell extends MultiMethodTest {
+ public XCell oObj = null;
+
+ /**
+ * First time errors checked when a proper formula is entered.
+ * Second time an incorrect formula entered and errors are checked.<p>
+ * Has <b> OK </b> status if in the first case error code 0 returned,
+ * and in the second case none-zerro code returned. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFormula() </code> : the method must set proper
+ * formula into cell, so there must be no errors </li>
+ * </ul>
+ */
+ public void _getError() {
+ requiredMethod("setFormula()") ;
+
+ boolean result = true;
+
+ if (oObj.getError() != 0) {
+ result = false ;
+ log.println("getError(): Expected error code is 0, but returned " +
+ oObj.getError()) ;
+ }
+ oObj.setFormula("=sqrt(-2)") ; // incorrect formula
+ if (oObj.getError() == 0) {
+ result = false ;
+ log.println("getError(): # Non zero error code expected,"+
+ " but 0 returned") ;
+ }
+
+ tRes.tested("getError()", result);
+ } // end getError()
+
+ /**
+ * Sets a formula and then gets it. <p>
+ * Has <b> OK </b> status if the formula set are the same as get. <p>
+ */
+ public void _getFormula() {
+ boolean result = true;
+
+ String formula = "";
+ log.println("getFormula()");
+ oObj.setFormula("=2+2");
+
+ formula = (String) oObj.getFormula();
+
+ result &= formula.endsWith("2+2");
+ tRes.tested("getFormula()", result);
+ } // end getFormula()
+
+ /**
+ * Gets the type and check it. <p>
+ * Has <b> OK </b> status if the type is one of valid values. <p>
+ */
+ public void _getType() {
+ boolean result = true;
+ result = true ;
+ log.println("getType() ...");
+
+ if(oObj.getType() == CellContentType.EMPTY) result &= true ;
+ else if (oObj.getType() == CellContentType.VALUE) result &= true ;
+ else if (oObj.getType() == CellContentType.TEXT) result &= true ;
+ else if (oObj.getType() == CellContentType.FORMULA) result &= true ;
+ else result = false;
+
+ tRes.tested ("getType()", result) ;
+ } // end getType()
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _getValue() {
+ boolean result = true;
+ double value = 0;
+ log.println("getValue() ...");
+
+ value = (double) oObj.getValue();
+
+ tRes.tested("getValue()",result);
+ } // end getValue()
+
+ /**
+ * Sets a formula and then gets it. <p>
+ * Has <b> OK </b> status if the formula set are the same as get. <p>
+ */
+ public void _setFormula() {
+ boolean result = true;
+ String formula = "";
+ log.println("setFormula() ...");
+
+ oObj.setFormula("=2/6") ;
+
+ formula = (String) oObj.getFormula();
+
+ result &= formula.endsWith("2/6");
+ tRes.tested ("setFormula()", result) ;
+ } // end setFormula
+
+ /**
+ * Sets a value and then gets it. <p>
+ * Has <b> OK </b> status if the value set is equal to value get. <p>
+ */
+ public void _setValue() {
+ boolean result = true;
+ double cellValue = 0;
+ log.println("setValue() ...");
+
+ oObj.setValue(222.333) ;
+ cellValue = (double) oObj.getValue() ;
+
+ result &= (cellValue == 222.333);
+ tRes.tested("setValue()", result);
+ } // end setValue()
+}
+
diff --git a/qadevOOo/tests/java/ifc/table/_XCellCursor.java b/qadevOOo/tests/java/ifc/table/_XCellCursor.java
new file mode 100644
index 000000000000..9f3aea9b4354
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XCellCursor.java
@@ -0,0 +1,247 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSheetCellCursor;
+import com.sun.star.sheet.XSheetCellRange;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCellCursor;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.table.XCellCursor</code>
+* interface methods :
+* <ul>
+* <li><code> gotoStart()</code></li>
+* <li><code> gotoEnd()</code></li>
+* <li><code> gotoNext()</code></li>
+* <li><code> gotoPrevious()</code></li>
+* <li><code> gotoOffset()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SHEET'</code> (of type <code>XSpreadsheet</code>):
+* is used for creating a new cell range.</li>
+* <ul> <p>
+*
+* The component tested <b>must implement</b>
+* <code>XCellRangeAddressable</code> interface. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.table.XCellCursor
+*/
+public class _XCellCursor extends MultiMethodTest {
+
+ public static XCellCursor oObj = null;
+ public static XSpreadsheet oSheet = null;
+
+ /**
+ * <code>XCellRangeAddressable</code> interface is queried
+ * first for getting current position of cursor. The cursor
+ * is moved to next cell. Address of cursor obtained before
+ * and after moving. <p>
+ * Has <b> OK </b> status if cursor column is changed after
+ * movement. <p>
+ */
+ public void _gotoNext(){
+ boolean bResult = false;
+ int startCol, endCol, startRow, endRow = 0;
+ int startCol2, endCol2, startRow2, endRow2 = 0;
+
+ XCellRangeAddressable oRange = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, oObj);
+ CellRangeAddress oAddr = oRange.getRangeAddress();
+ startRow = oAddr.StartRow;
+ startCol = oAddr.StartColumn;
+ endRow = oAddr.EndRow;
+ endCol = oAddr.EndColumn;
+
+ oObj.gotoNext();
+
+ oAddr = oRange.getRangeAddress();
+ startRow2 = oAddr.StartRow;
+ startCol2 = oAddr.StartColumn;
+ endRow2 = oAddr.EndRow;
+ endCol2 = oAddr.EndColumn;
+
+ if (!(startCol == startCol2)){
+ bResult = true;
+ }
+ tRes.tested( "gotoNext()", bResult );
+ }
+
+ /**
+ * <code>XCellRangeAddressable</code> interface is queried
+ * first for getting current position of cursor. The cursor
+ * is moved then. Address of cursor obtained before
+ * and after moving. <p>
+ * Has <b> OK </b> status if starting column and row of
+ * cursor is changed after movement. <p>
+ */
+ public void _gotoOffset(){
+ boolean bResult = false;
+ int startCol, endCol, startRow, endRow = 0;
+ int startCol2, endCol2, startRow2, endRow2 = 0;
+
+ XCellRangeAddressable oRange = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, oObj);
+ CellRangeAddress oAddr = oRange.getRangeAddress();
+ startRow = oAddr.StartRow;
+ startCol = oAddr.StartColumn;
+ endRow = oAddr.EndRow;
+ endCol = oAddr.EndColumn;
+
+ oObj.gotoOffset(4,4);
+
+ oAddr = oRange.getRangeAddress();
+ startRow2 = oAddr.StartRow;
+ startCol2 = oAddr.StartColumn;
+ endRow2 = oAddr.EndRow;
+ endCol2 = oAddr.EndColumn;
+ if (!(startCol == startCol2) || (startRow == startRow2)){
+ bResult = true;
+ }
+ tRes.tested( "gotoOffset()", bResult );
+ }
+
+ /**
+ * <code>XCellRangeAddressable</code> interface is queried
+ * first for getting current position of cursor. The cursor
+ * is moved to previous cell. Address of cursor obtained before
+ * and after moving. <p>
+ * Has <b> OK </b> status if cursor column is changed after
+ * movement. <p>
+ */
+ public void _gotoPrevious(){
+ boolean bResult = false;
+ int startCol, endCol, startRow, endRow = 0;
+ int startCol2, endCol2, startRow2, endRow2 = 0;
+
+ XCellRangeAddressable oRange = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, oObj);
+ CellRangeAddress oAddr = oRange.getRangeAddress();
+ startRow = oAddr.StartRow;
+ startCol = oAddr.StartColumn;
+ endRow = oAddr.EndRow;
+ endCol = oAddr.EndColumn;
+
+ oObj.gotoPrevious();
+
+ oAddr = oRange.getRangeAddress();
+ startRow2 = oAddr.StartRow;
+ startCol2 = oAddr.StartColumn;
+ endRow2 = oAddr.EndRow;
+ endCol2 = oAddr.EndColumn;
+
+ if (!(startCol == startCol2)){
+ bResult = true;
+ }
+ tRes.tested( "gotoPrevious()", bResult );
+ }
+
+ /**
+ * <code>XCellRangeAddressable</code> interface is queried
+ * first for getting current position of cursor. The cursor
+ * is moved to the start of its range .
+ * Address of cursor obtained before and after moving. <p>
+ * Has <b> OK </b> status if cursor was collapsed to a single
+ * cell (i.e. start column is the same as end column) after
+ * movement. <p>
+ */
+ public void _gotoStart(){
+ boolean bResult = false;
+ int startCol, endCol, startRow, endRow = 0;
+
+ XCellRangeAddressable oRange = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, oObj);
+ oObj.gotoStart();
+ CellRangeAddress oAddr = oRange.getRangeAddress();
+ startRow = oAddr.StartRow;
+ startCol = oAddr.StartColumn;
+ endRow = oAddr.EndRow;
+ endCol = oAddr.EndColumn;
+ if ((startCol == endCol) && (endRow == startRow)){
+ bResult = true;
+ }
+
+ tRes.tested( "gotoStart()", bResult );
+ }
+
+ /**
+ * A new cell range is created using spreadsheet passed by relation.
+ * The method is tested on that range. <code>gotoEnd</code> is
+ * called and range address is checked.<p>
+ * Has <b> OK </b> status if cursor was collapsed to a single
+ * cell (i.e. start column is the same as end column) after
+ * movement. <p>
+ */
+ public void _gotoEnd(){
+ //gotoEnd gets it's own cursor to see a change
+ oSheet = (XSpreadsheet) tEnv.getObjRelation("SHEET");
+ XCellRange testRange = oSheet.getCellRangeByName("$A$1:$g$7") ;
+ XSheetCellRange testSheetRange = (XSheetCellRange)
+ UnoRuntime.queryInterface(XSheetCellRange.class,testRange);
+ XSheetCellCursor oCellCursor = oSheet.createCursorByRange
+ (testSheetRange);
+ XCellCursor oCursor = (XCellCursor)
+ UnoRuntime.queryInterface(XCellCursor.class,oCellCursor);
+
+ boolean bResult = false;
+ int startCol, endCol, startRow, endRow = 0;
+
+ XCellRangeAddressable oRange = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, oCursor);
+ oCursor.gotoEnd();
+ CellRangeAddress oAddr = oRange.getRangeAddress();
+ startRow = oAddr.StartRow;
+ startCol = oAddr.StartColumn;
+ endRow = oAddr.EndRow;
+ endCol = oAddr.EndColumn;
+ if ((startCol == endCol) && (endRow == startRow)){
+ bResult = true;
+ }
+
+ tRes.tested( "gotoEnd()", bResult );
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+
+} //EOC _XCellCursor
+
diff --git a/qadevOOo/tests/java/ifc/table/_XCellRange.java b/qadevOOo/tests/java/ifc/table/_XCellRange.java
new file mode 100644
index 000000000000..cb35b2137e6d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XCellRange.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+
+/**
+* Testing <code>com.sun.star.table.XCellRange</code>
+* interface methods :
+* <ul>
+* <li><code> getCellByPosition()</code></li>
+* <li><code> getCellRangeByPosition()</code></li>
+* <li><code> getCellRangeByName()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ValidRange'</code> (of type <code>String</code>):
+* cell range that can be defined by the object test instead of
+* definition at this test ("<code>A1:A1</code>")</li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.table.XCellRange
+*/
+public class _XCellRange extends MultiMethodTest {
+ public XCellRange oObj = null;
+
+ /**
+ * First a cell get from valid position, second - from invalid. <p>
+ * Has <b> OK </b> status if in the first case not null value is
+ * returned and no exceptions are thrown, and in the second
+ * case <code>IndexOutOfBoundsException</code> is thrown. <p>
+ */
+ public void _getCellByPosition() {
+
+ boolean result = false;
+
+ try {
+ XCell cell = oObj.getCellByPosition(0,0);
+ result = cell != null ;
+ log.println("Getting cell by position with a valid position ... OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while getting cell by position with a valid position");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.getCellByPosition(-1,1);
+ log.println("No Exception occurred while getting cell by position with invalid position");
+ result &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Getting cell by position with a invalid position ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "getCellByPosition()", result );
+
+ } // end getCellByPosition()
+
+ /**
+ * A range is tried to obtain with valid name. <p>
+ * Has <b> OK </b> status if not null range is
+ * returned. <p>
+ */
+ public void _getCellRangeByName() {
+
+ boolean result = false;
+
+ String valid = (String) tEnv.getObjRelation("ValidRange");
+ if (valid == null ) valid = "A1:A1";
+ XCellRange range = oObj.getCellRangeByName(valid);
+ result = range != null ;
+ log.println("Getting cellrange by name with a valid name ... OK");
+
+ tRes.tested( "getCellRangeByName()", result );
+
+
+ } // end getCellRangeByName()
+
+ /**
+ * First a range is tried to obtain with valid bounds,
+ * second - with invalid. <p>
+ * Has <b> OK </b> status if in the first case not null range is
+ * returned and no exceptions are thrown, and in the second
+ * case <code>IndexOutOfBoundsException</code> is thrown. <p>
+ */
+ public void _getCellRangeByPosition() {
+
+ boolean result = false;
+
+ try {
+ XCellRange range = oObj.getCellRangeByPosition(0,0,0,0);
+ result = range != null;
+ log.println("Getting cellrange by Position with a valid position ... OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while getting cellrange by position with a valid position");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.getCellRangeByPosition(-1,0,-1,1);
+ log.println("No Exception occurred while getting cellrange by position with invalid position");
+ result &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Getting cellrange by position with a invalid position ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "getCellRangeByPosition()", result );
+
+
+ } // end getCellRangeByPosition()
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finish class _XCellRange
+
diff --git a/qadevOOo/tests/java/ifc/table/_XColumnRowRange.java b/qadevOOo/tests/java/ifc/table/_XColumnRowRange.java
new file mode 100644
index 000000000000..f56899891353
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XColumnRowRange.java
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.table.XColumnRowRange;
+
+/**
+* Testing <code>com.sun.star.table.XColumnRowRange</code>
+* interface methods :
+* <ul>
+* <li><code> getColumns()</code></li>
+* <li><code> getRows()</code></li>
+* </ul> <p>
+* @see com.sun.star.table.XColumnRowRange
+*/
+public class _XColumnRowRange extends MultiMethodTest {
+
+ public XColumnRowRange oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getColumns() {
+ tRes.tested( "getColumns()", oObj.getColumns()!=null );
+ } // getColumns()
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getRows() {
+ tRes.tested( "getRows()", oObj.getRows()!=null );
+ } // getRows()
+
+} // finish class _XColumnRowRange
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableChart.java b/qadevOOo/tests/java/ifc/table/_XTableChart.java
new file mode 100644
index 000000000000..230c0f5b0949
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableChart.java
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XTableChart;
+
+/**
+* Testing <code>com.sun.star.table.XTableChart</code>
+* interface methods :
+* <ul>
+* <li><code> getHasColumnHeaders()</code></li>
+* <li><code> setHasColumnHeaders()</code></li>
+* <li><code> getHasRowHeaders()</code></li>
+* <li><code> setHasRowHeaders()</code></li>
+* <li><code> getRanges()</code></li>
+* <li><code> setRanges()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.table.XTableChart
+*/
+public class _XTableChart extends MultiMethodTest {
+
+ public XTableChart oObj = null;
+
+ /**
+ * Sets the property to <code>false</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>false</code>. <p>
+ */
+ public void _getHasColumnHeaders() {
+ oObj.setHasColumnHeaders(false);
+ tRes.tested("getHasColumnHeaders()", !oObj.getHasColumnHeaders() );
+ } // getHasColumnHeaders()
+
+ /**
+ * Sets the property to <code>true</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ */
+ public void _setHasColumnHeaders() {
+ oObj.setHasColumnHeaders(true);
+ tRes.tested("setHasColumnHeaders()", oObj.getHasColumnHeaders() );
+ } // setHasColumnHeaders()
+
+ /**
+ * Sets the property to <code>false</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>false</code>. <p>
+ */
+ public void _getHasRowHeaders() {
+ oObj.setHasRowHeaders(false);
+ tRes.tested("getHasRowHeaders()", !oObj.getHasRowHeaders() );
+ } // getHasRowHeaders()
+
+ /**
+ * Sets the property to <code>true</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ */
+ public void _setHasRowHeaders() {
+ oObj.setHasRowHeaders(true);
+ tRes.tested("setHasRowHeaders()", oObj.getHasRowHeaders() );
+ } // setHasRowHeaders()
+
+ CellRangeAddress[] the_Ranges = null;
+
+ /**
+ * Test calls the method and stores the range returned. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> valuie. <p>
+ */
+ public void _getRanges() {
+ the_Ranges = oObj.getRanges();
+ tRes.tested("getRanges()", the_Ranges != null );
+ } // getRanges()
+
+ /**
+ * Changes the first range in range array obtained by
+ * <code>getRanges</code> method, then set changed array. <p>
+ * Has <b> OK </b> status if range array get is the same as was
+ * set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getRanges() </code> : to have initial ranges </li>
+ * </ul>
+ */
+ public void _setRanges() {
+ requiredMethod("getRanges()");
+ CellRangeAddress[] tmpRanges = oObj.getRanges();
+ tmpRanges[0].EndRow = 1;
+ oObj.setRanges(tmpRanges);
+ tRes.tested("setRanges()", ValueComparer.equalValue(
+ tmpRanges,oObj.getRanges()));
+ oObj.setRanges(the_Ranges);
+ } // getRanges()
+
+} // finish class _XTableChartsSupplier
+
+
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableCharts.java b/qadevOOo/tests/java/ifc/table/_XTableCharts.java
new file mode 100644
index 000000000000..737a120f91a8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableCharts.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XTableCharts;
+
+/**
+* Testing <code>com.sun.star.table.XTableCharts</code>
+* interface methods :
+* <ul>
+* <li><code> addNewByName()</code></li>
+* <li><code> removeByName()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ADDR'</code>
+* (of type <code>com.sun.star.table.CellRangeAddress[]</code>):
+* data source ranges for chart creating. </li>
+* <li> <code>'RECT'</code>
+* (of type <code>com.sun.star.awt.Rectangle</code>):
+* the position of chart </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.table.XTableCharts
+*/
+public class _XTableCharts extends MultiMethodTest {
+
+ public XTableCharts oObj = null;
+
+ /**
+ * Adds a new chart into table with specified name . <p>
+ * Has <b> OK </b> status if <code>hasByName()</code> returns
+ * <code>true</code>. <p>
+ */
+ public void _addNewByName() {
+
+ CellRangeAddress[] the_Range = (CellRangeAddress[])
+ tEnv.getObjRelation("ADDR");
+ Rectangle the_rect = (Rectangle) tEnv.getObjRelation("RECT");
+ oObj.addNewByName("XTableCharts",the_rect,the_Range,true,true);
+ tRes.tested("addNewByName()", oObj.hasByName("XTableCharts") );
+
+ } // addNewByName()
+
+ /**
+ * Removes the chart added before. <p>
+ * Has <b> OK </b> status if <code>hasByName()</code> returns
+ * <code>false</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addNewByName() </code> : chart mst be added first </li>
+ * </ul>
+ */
+ public void _removeByName() {
+ requiredMethod("addNewByName()") ;
+
+ oObj.removeByName("XTableCharts");
+ tRes.tested("removeByName()", !oObj.hasByName("XTableCharts") );
+
+ } // removeByName()
+
+} // finish class _XTableCharts
+
+
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableChartsSupplier.java b/qadevOOo/tests/java/ifc/table/_XTableChartsSupplier.java
new file mode 100644
index 000000000000..ba0308da29f2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableChartsSupplier.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.table.XTableChartsSupplier;
+
+/**
+* Testing <code>com.sun.star.table.XTableChartsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getCharts()</code></li>
+* </ul> <p>
+* @see com.sun.star.table.XTableChartsSupplier
+*/
+public class _XTableChartsSupplier extends MultiMethodTest {
+
+ public XTableChartsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getCharts() {
+
+ tRes.tested( "getCharts()", oObj.getCharts()!=null );
+
+ } // getCharts()
+
+} // finish class _XTableChartsSupplier
+
+
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableColumns.java b/qadevOOo/tests/java/ifc/table/_XTableColumns.java
new file mode 100644
index 000000000000..d46ae6dae70e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableColumns.java
@@ -0,0 +1,399 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.table.XTableColumns</code>
+* interface methods :
+* <ul>
+* <li><code> insertByIndex()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XTableColumns.XCellRange'</code> : <code>
+* com.sun.star.table.XCellRange</code> the cell range of
+* columns.</li>
+* <ul> <p>
+*
+* Test is multithread compilant. <p>
+* @see com.sun.star.table.XTableColumns
+*/
+public class _XTableColumns extends MultiMethodTest {
+
+ public XTableColumns oObj = null;
+ private XCellRange xCellRange = null;
+ private int lastColumn = 0;
+
+ public void before() {
+ xCellRange = (XCellRange)
+ tEnv.getObjRelation("XTableColumns.XCellRange") ;
+
+ if (xCellRange == null) throw new
+ StatusException(Status.failed("Relation missing"));
+
+ lastColumn = oObj.getCount() - 1 ;
+ }
+
+ /**
+ * First a number of cells in cell range are filled with data.
+ *
+ * Then columns inserted to valid positions : 1 column at 1,
+ * 1 column at 0, 2 columns at 0. <p>
+ *
+ * Then columns inserted to invalid positions : position -1,
+ * the column after last, and 0 columns inserted. <p>
+ *
+ * Has <b> OK </b> status if for valid cases :
+ * <ul>
+ * <li> content of other cells are properly shifted </li>
+ * <li> inserted columns are empty </li>
+ * <li> number of columns increases (in case if it is not the whole
+ * spreadsheet) by proper number. </li>
+ * </ul>
+ * and for invalid cases exception is thrown.
+ */
+ public void _insertByIndex() {
+
+ boolean result = true;
+ int origCnt = oObj.getCount();
+
+ try {
+ log.println("Filling range ... ");
+ fillRange(xCellRange);
+
+ log.println("Inserting 1 column at position 1 ...");
+ oObj.insertByIndex(1,1);
+
+ result &= checkColumn(0, 0);
+ result &= checkColumnEmpty(1);
+ result &= checkColumn(2, 1);
+ result &= checkColumn(3, 2);
+ result &= checkColumnEmpty(4);
+
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 1, lastColumn);
+ result &= oObj.getCount() == origCnt + 1;
+ } else {
+ result &= checkColumnEmpty(lastColumn);
+ }
+
+ log.println("Inserting 1 column at position 0 ...");
+ oObj.insertByIndex(0,1);
+
+ result &= checkColumnEmpty(0);
+ result &= checkColumn(1, 0);
+ result &= checkColumnEmpty(2);
+ result &= checkColumn(3, 1);
+ result &= checkColumn(4, 2);
+ result &= checkColumnEmpty(5);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 2, lastColumn);
+ result &= oObj.getCount() == origCnt + 2;
+ }
+
+ log.println("Inserting 2 columns at position 0 ...");
+ oObj.insertByIndex(0,2);
+
+ result &= checkColumnEmpty(0);
+ result &= checkColumnEmpty(1);
+ result &= checkColumnEmpty(2);
+ result &= checkColumn(3, 0);
+ result &= checkColumnEmpty(4);
+ result &= checkColumn(5, 1);
+ result &= checkColumn(6, 2);
+ result &= checkColumnEmpty(7);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 4, lastColumn);
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+
+ // spreadsheet supports 256 columns and after inserting
+ // or removing a column their number remains the same
+ if (origCnt < 200) {
+ log.println("Checking that number of column increased.");
+ result &= oObj.getCount() == origCnt + 4;
+ log.println("Before: " + origCnt + ", After: " + oObj.getCount());
+ } else {
+ log.println("Number of columns is " + origCnt + ",") ;
+ log.println("supposing that this is the whole spreadsheet and ");
+ log.println("number of columns should not change.");
+ }
+
+ try {
+ oObj.insertByIndex(-1,1);
+ log.println("No Exception occurred while inserting column at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting column at Index -1 ... OK");
+ result &= true;
+ }
+
+ int cnt = oObj.getCount();
+ try {
+ oObj.insertByIndex(cnt, 1);
+ log.println("No Exception occurred while inserting column at "
+ + cnt);
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting column at Index " + cnt + " ... OK");
+ result &= true;
+ }
+
+ if (tEnv.getTestCase().getObjectName().equals("ScTableColumnsObj")) {
+
+ try {
+ oObj.insertByIndex(0,0);
+ log.println("No Exception occurred while inserting 0 columns");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting 0 columns ... OK");
+ result &= true;
+ }
+
+ }
+
+ tRes.tested( "insertByIndex()", result );
+
+ } // end insertByIndex()
+
+ /**
+ * Columns removed from valid positions : 1 column at 1,
+ * 1 column at 0, 2 columns at 0. <p>
+ *
+ * Then columns removed from invalid positions : position -1,
+ * the column after last, and 0 columns removed. <p>
+ *
+ * Has <b> OK </b> status if for valid cases :
+ * <ul>
+ * <li> content of other cells are properly shifted </li>
+ * <li> columns which are shifted left are empty </li>
+ * <li> number of columns decreases (in case if it is not the whole
+ * spreadsheet) by proper number. </li>
+ * </ul>
+ * and for invalid cases exception is thrown.
+ */
+ public void _removeByIndex() {
+ executeMethod("insertByIndex()");
+
+ boolean result = true;
+ int origCnt = oObj.getCount();
+
+ try {
+ log.println("Filling range ... ");
+
+ log.println("Removing 2 columns at position 0 ...");
+ oObj.removeByIndex(0,2);
+
+ result &= checkColumnEmpty(0);
+ result &= checkColumn(1, 0);
+ result &= checkColumnEmpty(2);
+ result &= checkColumn(3, 1);
+ result &= checkColumn(4, 2);
+ result &= checkColumnEmpty(5);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 2, lastColumn);
+ result &= oObj.getCount() == origCnt - 2;
+ }
+
+ log.println("Removing 1 column at position 0 ...");
+ oObj.removeByIndex(0,1);
+
+ result &= checkColumn(0, 0);
+ result &= checkColumnEmpty(1);
+ result &= checkColumn(2, 1);
+ result &= checkColumn(3, 2);
+ result &= checkColumnEmpty(4);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 1, lastColumn);
+ result &= oObj.getCount() == origCnt - 3;
+ }
+
+ log.println("Removing 1 column at position 1 ...");
+ oObj.removeByIndex(1,1);
+
+ result &= checkColumn(0, 0);
+ result &= checkColumn(1, 1);
+ result &= checkColumn(2, 2);
+ result &= checkColumnEmpty(3);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn, lastColumn);
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+
+ // spreadsheet supports 256 columns and after inserting
+ // or removing a column their number remains the same
+ if (origCnt < 200) {
+ log.println("Checking that number of column increased.");
+ result &= oObj.getCount() == origCnt - 4;
+ log.println("Before: " + origCnt + ", After: " + oObj.getCount());
+ } else {
+ log.println("Number of columns is " + origCnt + ",") ;
+ log.println("supposing that this is the whole spreadsheet and ");
+ log.println("number of columns should not change.");
+ }
+
+ try {
+ oObj.removeByIndex(-1,1);
+ log.println("No Exception occurred while removing column at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("removing column at Index -1 ... OK");
+ result &= true;
+ }
+
+ int cnt = oObj.getCount();
+ try {
+ oObj.removeByIndex(cnt, 1);
+ log.println("No Exception occurred while removing column at "
+ + cnt);
+ result &= false;
+ } catch (Exception e) {
+ log.println("Removing column at Index " + cnt + " ... OK");
+ result &= true;
+ }
+
+ if (tEnv.getTestCase().getObjectName().equals("ScTableColumnsObj")) {
+ try {
+ oObj.removeByIndex(0,0);
+ log.println("No Exception occurred while removing 0 columns");
+ result &= false;
+ } catch (Exception e) {
+ log.println("removing 0 columns ... OK");
+ result &= true;
+ }
+ }
+
+ tRes.tested( "removeByIndex()", result );
+ } // end removeByIndex()
+
+ private void setCellText(XCell cell, String text) {
+ XSimpleText xText = (XSimpleText) UnoRuntime.queryInterface
+ (XSimpleText.class, cell) ;
+ xText.setString(text);
+ }
+ private String getCellText(XCell cell) {
+ XSimpleText xText = (XSimpleText) UnoRuntime.queryInterface
+ (XSimpleText.class, cell) ;
+ return xText.getString();
+ }
+
+ /**
+ * Fills the range with some data : two rows and 3 columns, and
+ * some columns are cleared.
+ *
+ * @param xRange Range to fill
+ * @throws IndexOutOfBoundsException if any errors occur during filling.
+ */
+ private void fillRange(XCellRange xRange)
+ throws com.sun.star.lang.IndexOutOfBoundsException {
+
+ for (int i = 0; i <= lastColumn && i < 3; i++) {
+ setCellText(xRange.getCellByPosition(i, 0), "" + i + "a");
+ setCellText(xRange.getCellByPosition(i, 1), "" + i + "b");
+ }
+
+ for (int i = 3; i <= lastColumn && i < 10; i++) {
+ setCellText(xRange.getCellByPosition(i, 0), "");
+ setCellText(xRange.getCellByPosition(i, 1), "");
+ }
+ }
+
+ /**
+ * Check the column (first two rows) if it has values with
+ * index specified.
+ *
+ * @param col Column to check
+ * @param idx What indexes must be in cells
+ * @return <code>true</code> if expected indexes are found,
+ * <code>false</code> otherwise.
+ * @throws IndexOutOfBoundsException
+ */
+ private boolean checkColumn(int col, int idx)
+ throws com.sun.star.lang.IndexOutOfBoundsException {
+
+ if (col >= oObj.getCount()) return true;
+
+ String c1 = getCellText(xCellRange.getCellByPosition(col, 0));
+ String c2 = getCellText(xCellRange.getCellByPosition(col, 1));
+
+ if (!((""+ idx + "a").equals(c1) && (""+ idx + "b").equals(c2))) {
+
+ log.println("FAILED for column " + col + " and index " + idx + "("
+ + c1 + "," + c2 + ")");
+ return false ;
+ }
+ return true;
+ }
+
+ /**
+ * Checks if the column (first two rows) has no data in its cells.
+ *
+ * @param col Column to check
+ * @return <code>true</code> if the column is empty, <code>false</code>
+ * if first two cells contains some strings.
+ * @throws IndexOutOfBoundsException
+ */
+ private boolean checkColumnEmpty(int col)
+ throws com.sun.star.lang.IndexOutOfBoundsException {
+
+ if (col >= oObj.getCount()) return true;
+
+ String c1 = getCellText(xCellRange.getCellByPosition(col, 0));
+ String c2 = getCellText(xCellRange.getCellByPosition(col, 1));
+ if (!("".equals(c1) && "".equals(c2))) {
+ log.println("FAILED for column " + col + " is not empty ("
+ + c1 + "," + c2 + ")");
+ return false ;
+ }
+ return true;
+ }
+
+ } //finish class _XTableColumns
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableRows.java b/qadevOOo/tests/java/ifc/table/_XTableRows.java
new file mode 100644
index 000000000000..71cd35ab5de9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableRows.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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.table;
+
+import com.sun.star.table.XCellRange;
+import lib.MultiMethodTest;
+
+import com.sun.star.table.XTableRows;
+import lib.Status;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.table.XTableRows</code>
+* interface methods :
+* <ul>
+* <li><code> insertByIndex()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul>
+*/
+public class _XTableRows extends MultiMethodTest {
+
+ public XTableRows oObj = null;
+ public XCellRange range = null;
+
+ public void before() {
+ range = (XCellRange) tEnv.getObjRelation("XTableRows.XCellRange");
+ if (range==null) {
+ throw new StatusException(Status.failed("ObjectRelation missing"));
+ }
+ try {
+ range.getCellByPosition(0,0).setValue(17);
+ range.getCellByPosition(0,1).setValue(15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set value for Cell A1");
+ }
+ }
+
+ /**
+ * First a row inserted to valid position, then to invalid. <p>
+ * Has <b> OK </b> status if in the first case number of rows increases
+ * by 1, and in the second an exception is thrown. <p>
+ */
+ public void _insertByIndex() {
+
+ boolean result = true;
+
+ requiredMethod("removeByIndex()");
+
+ int origCnt = oObj.getCount();
+ log.println("Inserting row before first row");
+ oObj.insertByIndex(0,1);
+ result &= checkCell(1,15);
+ if (checkCell(1,15)) log.println("... successful");
+
+ try {
+ oObj.insertByIndex(-1,1);
+ log.println("No Exception occurred while inserting row at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting row at Index -1 ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "insertByIndex()", result );
+
+ } // end insertByIndex()
+
+ /**
+ * First a row removed from valid position, then from invalid. <p>
+ *
+ * Has <b> OK </b> status if in the first case number of columns decreases
+ * by 1, and in the second an exception is thrown. <p>
+ */
+ public void _removeByIndex() {
+
+ boolean result = true;
+
+ oObj.removeByIndex(0,1);
+ log.println("Removing first row");
+ result &= checkCell(0,15);
+ if (checkCell(0,15)) log.println("... successful");
+
+ try {
+ oObj.removeByIndex(-1,1);
+ log.println("No Exception occurred while Removing row at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Removing row at Index -1 ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "removeByIndex()", result );
+ } // end removeByIndex()
+
+ public boolean checkCell(int row,double expected) {
+ double getting=0;
+ try {
+ getting = range.getCellByPosition(0,row).getValue();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set value for Cell A1");
+ }
+
+ boolean res = (getting==expected);
+ if (!res) {
+ log.println("Expected for row "+row+" was "+expected);
+ log.println("Getting for row "+row+" - "+getting);
+ log.println("=> FAILED");
+ }
+ return res;
+ }
+
+} //finish class _XTableRows
+
diff --git a/qadevOOo/tests/java/ifc/task/_XInteractionHandler.java b/qadevOOo/tests/java/ifc/task/_XInteractionHandler.java
new file mode 100644
index 000000000000..3aed88c8994a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XInteractionHandler.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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.task;
+
+
+
+/**
+* <code>com.sun.star.task.XInteractionHandler</code> interface testing.
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInteractionHandler.Request'</code>
+* (of type <code>com.sun.star.task.XInteractionRequest</code>):
+* this interface implementation is handler specific and is
+* passed as argument to method <code>handle</code>. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.task.XInteractionHandler
+*/
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.task.XInteractionHandler;
+import com.sun.star.task.XInteractionRequest;
+
+/**
+* <code>com.sun.star.task.XInteractionHandler</code> interface testing.
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInteractionHandler.Request'</code>
+* (of type <code>com.sun.star.task.XInteractionRequest</code>):
+* this interface implementation is handler specific and is
+* passed as argument to method <code>handle</code>. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.task.XInteractionHandler
+*/
+public class _XInteractionHandler extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XInteractionHandler oObj = null ;
+
+ private XInteractionRequest request = null ;
+
+ /**
+ * Retrieves an object relation. <p>
+ * @throws StatusException If the relation is not found.
+ */
+ public void before() {
+ request = (XInteractionRequest)
+ tEnv.getObjRelation("XInteractionHandler.Request") ;
+
+ //if (request == null)
+ // throw new StatusException(Status.failed("Reelation not found")) ;
+ }
+
+ /**
+ * Sinse this test is interactive (dialog window can't be
+ * disposed using API) it is skipped. <p>
+ * Always has <b>SKIPPED.OK</b> status .
+ */
+ public void _handle() {
+
+ /*
+
+ final XMultiServiceFactory msf = (XMultiServiceFactory)tParam.getMSF() ;
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ XComponent textDoc = null ;
+ try {
+ textDoc = SOF.createTextDoc( null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create Document") ;
+ tRes.tested("handle()", false) ;
+ return ;
+ }
+ final XComponent fTextDoc = textDoc ;
+ final XModel xModelDoc = (XModel)
+ UnoRuntime.queryInterface(XModel.class, textDoc);
+
+ Thread thr = new Thread( new Runnable() {
+ public void run() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e ) {}
+
+ //fTextDoc.dispose() ;
+
+ XFrame docFr = xModelDoc.getCurrentController().getFrame() ;
+ docFr.dispose() ;
+
+ ///*
+ try {
+
+ Object dsk = msf.createInstance
+ ("com.sun.star.frame.Desktop");
+
+ XFrame xDsk = (XFrame)
+ UnoRuntime.queryInterface(XFrame.class, dsk) ;
+
+ XFrame fr = xDsk.findFrame("_top", 55) ;
+
+ XWindow win = fr.getContainerWindow() ;
+
+ String name = null ;
+ if (fr != null) {
+ name = fr.getName() ;
+ docFr.dispose() ;
+ }
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ } //
+ }
+ }) ;
+ thr.start() ;
+
+ oObj.handle(request) ;
+ try {
+ thr.join(500) ;
+ } catch (InterruptedException e ) {}
+ */
+
+ tRes.tested("handle()", Status.skipped(true)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/task/_XJob.java b/qadevOOo/tests/java/ifc/task/_XJob.java
new file mode 100644
index 000000000000..e4cc567b5b4f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XJob.java
@@ -0,0 +1,98 @@
+ /*************************************************************************
+ *
+ * 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.task;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.task.XJob;
+
+/**
+ * Testing <code>com.sun.star.frame._XJobExecutor</code>
+ * interface methods:
+ * <ul>
+ * <li><code> trigger() </code></li>
+ * </ul><p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'CallCounter'</code>
+ * (of type <code>com.sun.star.container.XNamed</code>):
+ * the <code>getName()</code> method of which must
+ * return number of calls to <code>XJob.execute</code>
+ * method which is registered for event 'TestEvent'
+ * </li>
+ * <ul> <p>
+ * @see com.sun.star.frame.XJobExecutor
+ */
+public class _XJob extends MultiMethodTest {
+ public static XJob oObj = null;
+
+ /**
+ * Tries to query the tested component for object relation
+ * <code>XJobArgs</code> [<code>Object[]</code>] which contains
+ * <code>executeArgs</code> [<code>NamedValue[]</code>]
+ * @throw StatusException If relations are not found
+ */
+ public void before() {
+ Object[] XJobArgs = (Object[]) tEnv.getObjRelation("XJobArgs") ;
+ if (XJobArgs == null)
+ throw new StatusException(Status.failed
+ ("'XJobArgs' relation not found ")) ;
+ }
+
+
+
+ /**
+ * Gets the number of Job calls before and after triggering event.
+ *
+ * Has <b>OK</b> status if the Job was called on triggering
+ * event.
+ */
+ public void _execute() {
+ Object[] XJobArgs = (Object[]) tEnv.getObjRelation("XJobArgs");
+
+ boolean bOK = true;
+
+ for (int n = 0; n<XJobArgs.length; n++) {
+ log.println("running XJobArgs[" + n + "]");
+ try {
+ oObj.execute((NamedValue[])XJobArgs[n]);
+ } catch ( com.sun.star.lang.IllegalArgumentException e) {
+ bOK = false;
+ log.println("Could not success XJobArgs[" + n + "]: " + e);
+ } catch ( com.sun.star.uno.Exception e) {
+ bOK = false;
+ log.println("Could not success XJobArgs[" + n + "]: " + e);
+ }
+ }
+ tRes.tested("execute()", bOK);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/task/_XJobExecutor.java b/qadevOOo/tests/java/ifc/task/_XJobExecutor.java
new file mode 100644
index 000000000000..55aaf43c3c68
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XJobExecutor.java
@@ -0,0 +1,79 @@
+ /*************************************************************************
+ *
+ * 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.task;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.task.XJobExecutor;
+
+/**
+ * Testing <code>com.sun.star.frame._XJobExecutor</code>
+ * interface methods:
+ * <ul>
+ * <li><code> trigger() </code></li>
+ * </ul><p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'CallCounter'</code>
+ * (of type <code>com.sun.star.container.XNamed</code>):
+ * the <code>getName()</code> method of which must
+ * return number of calls to <code>XJob.execute</code>
+ * method which is registered for event 'TestEvent'
+ * </li>
+ * <ul> <p>
+ * @see com.sun.star.frame.XJobExecutor
+ */
+public class _XJobExecutor extends MultiMethodTest {
+ public static XJobExecutor oObj = null;
+
+ /**
+ * Gets the number of Job calls before and after triggering event.
+ *
+ * Has <b>OK</b> status if the Job was called on triggering
+ * event.
+ */
+ public void _trigger() {
+ XNamed counter = (XNamed) tEnv.getObjRelation("CallCounter");
+
+ int before = Integer.parseInt(counter.getName());
+
+ oObj.trigger("TestEvent");
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ex) {}
+
+ int after = Integer.parseInt(counter.getName());
+
+ log.println("Calls before: " + before + ", after: " + after);
+
+ tRes.tested("trigger()", after == before + 1);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java b/qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java
new file mode 100644
index 000000000000..3660d5c53acd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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.task;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.task.XStatusIndicator;
+import com.sun.star.task.XStatusIndicatorFactory;
+
+/**
+* Testing <code>com.sun.star.task.XStatusIndicatorFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createStatusIndicator()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.task.XStatusIndicatorFactory
+*/
+public class _XStatusIndicatorFactory extends MultiMethodTest {
+
+ public XStatusIndicatorFactory oObj = null;
+
+ /**
+ * A status indicator created. Also some actions performed
+ * with it, which are not related to test flow. <p>
+ * Has <b> OK </b> status if the method returns not null
+ * value. <p>
+ */
+ public void _createStatusIndicator() {
+ boolean bResult = true;
+
+ XStatusIndicator SI1 = oObj.createStatusIndicator();
+ XStatusIndicator SI2 = oObj.createStatusIndicator();
+ //Start all Indicators
+ SI1.start("Status1",100);
+ SI2.start("Status2",100);
+
+ //change SI2
+ SI2.setText("A new name for the status");
+ SI2.setValue(45);
+ SI2.reset();
+ SI2.end();
+
+ //Now SI1 is active
+ SI1.end();
+
+ bResult &= SI1 != null;
+
+ tRes.tested("createStatusIndicator()", bResult);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_BaseFrame.java b/qadevOOo/tests/java/ifc/text/_BaseFrame.java
new file mode 100644
index 000000000000..258a57ef84ca
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseFrame.java
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.BaseFrame</code>
+* service properties :
+* <ul>
+* <li><code> AnchorPageNo</code></li>
+* <li><code> AnchorFrame</code></li>
+* <li><code> BackColor</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> LeftBorder</code></li>
+* <li><code> RightBorder</code></li>
+* <li><code> TopBorder</code></li>
+* <li><code> BottomBorder</code></li>
+* <li><code> BorderDistance</code></li>
+* <li><code> LeftBorderDistance</code></li>
+* <li><code> RightBorderDistance</code></li>
+* <li><code> TopBorderDistance</code></li>
+* <li><code> BottomBorderDistance</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> ContentProtected</code></li>
+* <li><code> FrameStyleName</code></li>
+* <li><code> LeftMargin</code></li>
+* <li><code> RightMargin</code></li>
+* <li><code> TopMargin</code></li>
+* <li><code> BottomMargin</code></li>
+* <li><code> Height</code></li>
+* <li><code> Width</code></li>
+* <li><code> RelativeHeight</code></li>
+* <li><code> RelativeWidth</code></li>
+* <li><code> IsSyncWidthToHeight</code></li>
+* <li><code> IsSyncHeightToWidth</code></li>
+* <li><code> HoriOrient</code></li>
+* <li><code> HoriOrientPosition</code></li>
+* <li><code> HoriOrientRelation</code></li>
+* <li><code> VertOrient</code></li>
+* <li><code> VertOrientPosition</code></li>
+* <li><code> VertOrientRelation</code></li>
+* <li><code> HyperLinkURL</code></li>
+* <li><code> HyperLinkTarget</code></li>
+* <li><code> HyperLinkName</code></li>
+* <li><code> Opaque</code></li>
+* <li><code> PageToggle</code></li>
+* <li><code> PositionProtected</code></li>
+* <li><code> Print</code></li>
+* <li><code> ShadowFormat</code></li>
+* <li><code> ServerMap</code></li>
+* <li><code> Size</code></li>
+* <li><code> SizeProtected</code></li>
+* <li><code> Surround</code></li>
+* <li><code> SurroundAnchorOnly</code></li>
+* <li><code> BackColorTransparency</code></li>
+* <li><code> BackColorRGB</code></li>
+* <li><code> BackGraphicTransparency</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.BaseFrame
+*/
+public class _BaseFrame extends MultiPropertyTest {
+ public String str1 = "Graphics";
+ public String str2 = "Watermark";
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester StringTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (str1.equals(oldValue))
+ return str2;
+ else
+ return str1;
+ }
+ };
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _FrameStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("FrameStyleName", StringTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _BackColorTransparency() {
+ testProperty("BackColorTransparency", new Integer(10), new Integer(50)) ;
+ }
+
+} //finish class _BaseFrame
+
diff --git a/qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java b/qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java
new file mode 100644
index 000000000000..be4c027b014d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+
+public class _BaseFrameProperties extends MultiPropertyTest {
+ protected PropertyTester FrameTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ Object frame = tEnv.getObjRelation("TextFrame");
+
+ return frame;
+ }
+ };
+
+ public void _AnchorFrame() {
+ log.println("Testing with custom Property tester");
+ testProperty("AnchorFrame", FrameTester);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/text/_BaseIndex.java b/qadevOOo/tests/java/ifc/text/_BaseIndex.java
new file mode 100644
index 000000000000..fb19f6d97888
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseIndex.java
@@ -0,0 +1,204 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.text.BaseIndex</code>
+* service properties :
+* <ul>
+* <li><code> Title</code></li>
+* <li><code> IsProtected</code></li>
+* <li><code> ParaStyleHeading</code></li>
+* <li><code> ParaStyleLevel1</code></li>
+* <li><code> ParaStyleLevel2</code></li>
+* <li><code> ParaStyleLevel3</code></li>
+* <li><code> ParaStyleLevel4</code></li>
+* <li><code> ParaStyleLevel5</code></li>
+* <li><code> ParaStyleLevel6</code></li>
+* <li><code> ParaStyleLevel7</code></li>
+* <li><code> ParaStyleLevel8</code></li>
+* <li><code> ParaStyleLevel9</code></li>
+* <li><code> ParaStyleLevel10</code></li>
+* <li><code> ParaStyleSeparator</code></li>
+* <li><code> TextColumns</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> LevelFormat</code></li>
+* <li><code> CreateFromChapter</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.BaseIndex
+*/
+public class _BaseIndex extends MultiPropertyTest {
+ /**
+ * Redefined method returns object, that contains changed property value.
+ */
+ protected PropertyTester CustomTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ XTextColumns TC = (XTextColumns) UnoRuntime.queryInterface(
+ XTextColumns.class, oldValue);
+ TC.setColumnCount((short) (TC.getColumnCount() + (short) 1));
+
+ return TC;
+ }
+ };
+
+ /**
+ * New value must be defined for this property.
+ */
+ public void _TextColumns() {
+ log.println(
+ "Testing property 'TextColumns' with custom property tester");
+ testProperty("TextColumns", CustomTester);
+ }
+
+ /**
+ * The value of this property is a collection of document index
+ * level formats. This property is tested in the following manner :
+ * the property value (a collection) is obtained, the first element
+ * of this collection is replaced with new non-empty array
+ * (<code>PropertyValue[][]</code>) with some properties set.
+ * After that the collection is set back as property value. <p>
+ *
+ * Comparing of set and got <code>PropertyValue</code> arrays
+ * is difficult because values can be changed after setting
+ * by service miplementation. <p>
+ *
+ * Has <b>OK</b> status if the collection again gotten, has a
+ * new first element (i.e. lengths of the old array and the array
+ * get are different or their contents differ).
+ */
+ public void _LevelFormat() {
+ log.println(
+ "Testing property 'LevelFormat' with custom property tester");
+ testProperty("LevelFormat",
+ new PropertyTester() {
+ PropertyValue[][] newVal = null;
+ PropertyValue[][] oldVal = null;
+
+ protected Object getNewValue(String propName, Object oldValue) {
+ XIndexReplace indProp = (XIndexReplace) UnoRuntime.queryInterface(
+ XIndexReplace.class, oldValue);
+
+ try {
+ oldVal = (PropertyValue[][]) indProp.getByIndex(0);
+
+ log.println("Get:");
+ printLevelFormatProperty(oldValue);
+
+ newVal = new PropertyValue[1][2];
+
+ for (int i = 0; i < newVal[0].length; i++) {
+ newVal[0][i] = new PropertyValue();
+ }
+
+ newVal[0][1].Name = "TokenType";
+ newVal[0][1].Value = "TokenEntryText";
+ newVal[0][0].Name = "Text";
+ newVal[0][0].Value = "BaseIndex";
+
+ indProp.replaceByIndex(0, newVal);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while testing LevelFormat");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while testing LevelFormat");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while testing LevelFormat");
+ e.printStackTrace(log);
+ }
+
+ return indProp;
+ }
+
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue,
+ Exception exception)
+ throws Exception {
+ PropertyValue[][] res = (PropertyValue[][]) ((XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ resValue)).getByIndex(0);
+
+ log.println("Result:");
+ printLevelFormatProperty(resValue);
+
+ boolean result = (res.length != oldVal.length) ||
+ !util.ValueComparer.equalValue(res, oldVal);
+
+ tRes.tested(propName, result);
+ }
+ });
+ }
+
+ /**
+ * Outputs full description of 'LevelFormat' property
+ * value into <code>log</code>.
+ */
+ private void printLevelFormatProperty(Object value) {
+ XIndexReplace indProp = (XIndexReplace) UnoRuntime.queryInterface(
+ XIndexReplace.class, value);
+ PropertyValue[][] val = null;
+
+ try {
+ log.println(" \u0421ollection has " + indProp.getCount() +
+ " elements : ");
+
+ for (int i = 0; i < indProp.getCount(); i++) {
+ val = (PropertyValue[][]) indProp.getByIndex(i);
+
+ log.println(" " + i + ": has " + val.length + " levels :");
+
+ for (int j = 0; j < val.length; j++) {
+ log.println(" " + j + " level :");
+
+ for (int k = 0; k < val[j].length; k++) {
+ log.println(" " + val[j][k].Name + "=" +
+ val[j][k].Value);
+ }
+ }
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while printing LevelFormat");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while printing LevelFormat");
+ e.printStackTrace(log);
+ }
+ }
+} // finish class _NumberingRules
diff --git a/qadevOOo/tests/java/ifc/text/_BaseIndexMark.java b/qadevOOo/tests/java/ifc/text/_BaseIndexMark.java
new file mode 100644
index 000000000000..4ac67721b601
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseIndexMark.java
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.BaseIndexMark</code>
+* service properties :
+* <ul>
+* <li><code> AlternativeText</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.BaseIndexMark
+*/
+public class _BaseIndexMark extends MultiPropertyTest {
+
+} // finish class _BaseIndexMark
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_CellProperties.java b/qadevOOo/tests/java/ifc/text/_CellProperties.java
new file mode 100644
index 000000000000..e13a2da7d38e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_CellProperties.java
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+/**
+* Testing <code>com.sun.star.text.CellProperties</code>
+* service properties :
+* <ul>
+* <li><code> BackColor</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> LeftBorder</code></li>
+* <li><code> RightBorder</code></li>
+* <li><code> TopBorder</code></li>
+* <li><code> BottomBorder</code></li>
+* <li><code> LeftBorderDistance</code></li>
+* <li><code> RightBorderDistance</code></li>
+* <li><code> TopBorderDistance</code></li>
+* <li><code> BottomBorderDistance</code></li>
+* <li><code> UserDefinedAttributes</code></li>
+* <li><code> TextSection</code></li>
+* <li><code> IsProtected</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CellProperties.TextSection'</code> (of type
+* <code>XInterface</code>):
+* instance of <code>com.sun.star.text.TextSection</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code> crazy-blue.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* <li> <code> space-metal.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.CellProperties
+*/
+public class _CellProperties extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so new value must be specified from
+ * corresponding object relation.
+ */
+ public void _TextSection() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextSection", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ return tEnv.getObjRelation("CellProperties.TextSection");
+ }
+ });
+ }
+
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackColor() {
+ final Short val1 = new Short( (short) 4 );
+ final Short val2 = new Short( (short) 6 );
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackColor", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ( oldValue.equals(val1) )
+ return val2;
+ else
+ return val1;
+ }
+ });
+ }
+
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackGraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackGraphicURL", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL
+ ("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ });
+ }
+
+
+ /**
+ * Redefined method returns object, that contains changed property value.
+ */
+ public void _UserDefinedAttributes() {
+ log.println("Testing with custom property tester");
+ testProperty("UserDefinedAttributes", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ XNameContainer NC = null;
+ try {
+ NC = (XNameContainer)
+ AnyConverter.toObject(new Type(XNameContainer.class),oldValue);
+ NC.insertByName("MyAttribute",
+ new AttributeData("","CDATA","Value"));
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Failed to check 'UserDefinedAttributes'");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Failed to check 'UserDefinedAttributes'");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ log.println("Failed to check 'UserDefinedAttributes'");
+ e.printStackTrace(log);
+ }
+ return NC;
+ }
+ });
+ }
+
+} //finish class _CellProperties
+
diff --git a/qadevOOo/tests/java/ifc/text/_CellRange.java b/qadevOOo/tests/java/ifc/text/_CellRange.java
new file mode 100644
index 000000000000..adcb2a5baf0e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_CellRange.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.CellRange</code>
+* service properties :
+* <ul>
+* <li><code> BackColor</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> ChartColumnAsLabel</code></li>
+* <li><code> ChartRowAsLabel</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> TopMargin</code></li>
+* <li><code> BottomMargin</code></li>
+*
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code> crazy-blue.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* <li> <code> space-metal.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.CellProperties
+*/
+public class _CellRange extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackColor() {
+ final Short val1 = new Short( (short) 4 );
+ final Short val2 = new Short( (short) 6 );
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackColor", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ( oldValue.equals(val1) )
+ return val2;
+ else
+ return val1;
+ }
+ });
+ }
+
+ /**
+ * This property could be changed only when graphic
+ * URL is set.
+ */
+ public void _BackGraphicFilter() {
+ executeMethod("BackGraphicURL");
+ testProperty("BackGraphicFilter");
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackGraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackGraphicURL", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL
+ ("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ });
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_Defaults.java b/qadevOOo/tests/java/ifc/text/_Defaults.java
new file mode 100644
index 000000000000..9950ad67797e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_Defaults.java
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.Defaults</code>
+*
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.Defaults
+*/
+public class _Defaults extends MultiPropertyTest {
+
+} //finish class _Defaults
+
diff --git a/qadevOOo/tests/java/ifc/text/_DocumentIndex.java b/qadevOOo/tests/java/ifc/text/_DocumentIndex.java
new file mode 100644
index 000000000000..e22f56b11964
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_DocumentIndex.java
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.DocumentIndex</code>
+* service properties :
+* <ul>
+* <li><code> UseAlphabeticalSeparators</code></li>
+* <li><code> UseKeyAsEntry</code></li>
+* <li><code> UseCombinedEntries</code></li>
+* <li><code> IsCaseSensitive</code></li>
+* <li><code> UsePP</code></li>
+* <li><code> UseDash</code></li>
+* <li><code> UseUpperCase</code></li>
+* <li><code> MainEntryCharacterStyleName</code></li>
+* <li><code> DocumentIndexMarks</code></li>
+* <li><code> Locale</code></li>
+* <li><code> SortAlgorithm</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.DocumentIndex
+*/
+public class _DocumentIndex extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java b/qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java
new file mode 100644
index 000000000000..b44ca5bd775c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.DocumentIndexMark</code>
+* service properties :
+* <ul>
+* <li><code> PrimaryKey</code></li>
+* <li><code> SecondaryKey</code></li>
+* <li><code> IsMainEntry</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.DocumentIndexMark
+*/
+public class _DocumentIndexMark extends MultiPropertyTest {
+
+} // finish class _DocumentIndexMark
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_DocumentSettings.java b/qadevOOo/tests/java/ifc/text/_DocumentSettings.java
new file mode 100644
index 000000000000..699fe5195672
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_DocumentSettings.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+public class _DocumentSettings extends MultiPropertyTest
+{
+
+}
diff --git a/qadevOOo/tests/java/ifc/text/_Footnote.java b/qadevOOo/tests/java/ifc/text/_Footnote.java
new file mode 100644
index 000000000000..dd93a3d8f40b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_Footnote.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.Footnote</code>
+* service properties :
+* <ul>
+* <li><code> ReferenceId</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.Footnote
+*/
+public class _Footnote extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _ReferenceId() {
+ final Short val1 = new Short( (short) 1);
+ final Short val2 = new Short( (short) 2);
+
+ log.println("Testing with custom Property tester");
+ testProperty("ReferenceId", val1, val2);
+ }
+
+} //finish class _Footnote
+
diff --git a/qadevOOo/tests/java/ifc/text/_FootnoteSettings.java b/qadevOOo/tests/java/ifc/text/_FootnoteSettings.java
new file mode 100644
index 000000000000..5795575b6f9a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_FootnoteSettings.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.FootnoteSettings</code>
+* service properties :
+* <ul>
+* <li><code> CharStyleName</code></li>
+* <li><code> NumberingType</code></li>
+* <li><code> PageStyleName</code></li>
+* <li><code> ParaStyleName</code></li>
+* <li><code> Prefix</code></li>
+* <li><code> StartAt</code></li>
+* <li><code> Suffix</code></li>
+* <li><code> BeginNotice</code></li>
+* <li><code> EndNotice</code></li>
+* <li><code> FootnoteCounting</code></li>
+* <li><code> PositionEndOfDoc</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.FootnoteSettings
+*/
+public class _FootnoteSettings extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _CharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("CharStyleName", "Endnote Symbol", "Endnote anchor") ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _PageStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("PageStyleName", "Standard", "Endnote") ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _ParaStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("ParaStyleName", "Standard", "Endnote") ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _NumberingType() {
+ Short val1 = new Short(com.sun.star.text.FootnoteNumbering.PER_DOCUMENT);
+ Short val2 = new Short(com.sun.star.text.FootnoteNumbering.PER_PAGE);
+ log.println("Testing with custom Property tester") ;
+ testProperty("NumberingType", val1, val2) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _FootnoteCounting() {
+ Short val1 = new Short( (short) 1 );
+ Short val2 = new Short( (short) 2 );
+ log.println("Testing with custom Property tester") ;
+ testProperty("FootnoteCounting", val1, val2) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_GenericTextDocument.java b/qadevOOo/tests/java/ifc/text/_GenericTextDocument.java
new file mode 100644
index 000000000000..feb148e1b5a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_GenericTextDocument.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.TextDocument</code>
+* service properties :
+* <ul>
+* <li><code> CharLocale</code></li>
+* <li><code> CharacterCount</code></li>
+* <li><code> ParagraphCount</code></li>
+* <li><code> WordCount</code></li>
+* <li><code> WordSeparator</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextDocument
+*/
+public class _GenericTextDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java b/qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java
new file mode 100644
index 000000000000..1c1c7d79dfef
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.LineNumberingProperties</code>
+* service properties :
+* <ul>
+* <li><code> IsOn</code></li>
+* <li><code> CharStyleName</code></li>
+* <li><code> CountEmptyLines</code></li>
+* <li><code> CountLinesInFrames</code></li>
+* <li><code> Distance</code></li>
+* <li><code> Interval</code></li>
+* <li><code> SeparatorText</code></li>
+* <li><code> SeparatorInterval</code></li>
+* <li><code> NumberPosition</code></li>
+* <li><code> NumberingType</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.LineNumberingProperties
+*/
+public class _LineNumberingProperties extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _CharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("CharStyleName", "Endnote Symbol", "Endnote anchor") ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_MailMerge.java b/qadevOOo/tests/java/ifc/text/_MailMerge.java
new file mode 100644
index 000000000000..f16eaefd12db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_MailMerge.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.uno.UnoRuntime;
+
+public class _MailMerge extends MultiPropertyTest {
+
+ /**
+ * Custom tester for properties which contains URLs.
+ * Switches between two valid folders
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF())))
+ return util.utils.getFullTestURL(""); else
+ return util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+ }
+ } ;
+
+ /**
+ * Custom tester for properties which contains document URLs.
+ * Switches between two document URLs.
+ */
+ protected PropertyTester DocumentURLTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL("MailMerge.sxw")))
+ return util.utils.getFullTestURL("sForm.sxw"); else
+ return util.utils.getFullTestURL("MailMerge.sxw");
+ }
+ } ;
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ResultSet() {
+ String propName = "ResultSet";
+ try{
+
+ log.println("try to get value from property...");
+ XResultSet oldValue = (XResultSet) UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XResultSet newValue = (XResultSet) UnoRuntime.queryInterface(XResultSet.class,tEnv.getObjRelation("MailMerge.XResultSet"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XResultSet getValue = (XResultSet) UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+
+ public void _ActiveConnection() {
+ String propName = "ActiveConnection";
+ try{
+
+ log.println("try to get value from property...");
+ XConnection oldValue = (XConnection) UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XConnection newValue = (XConnection) UnoRuntime.queryInterface(XConnection.class,tEnv.getObjRelation("MailMerge.XConnection"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XConnection getValue = (XConnection) UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _DocumentURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("DocumentURL", DocumentURLTester) ;
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _OutputURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("OutputURL", URLTester) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+
+} //finish class _MailMerge
+
diff --git a/qadevOOo/tests/java/ifc/text/_NumberingLevel.java b/qadevOOo/tests/java/ifc/text/_NumberingLevel.java
new file mode 100644
index 000000000000..c4255065dfa1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_NumberingLevel.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import com.sun.star.beans.PropertyValue;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import lib.StatusException;
+import lib.TestParameters;
+import share.LogWriter;
+
+
+/**
+* Testing <code>com.sun.star.text.NumberingLevel</code><p>
+* This service is currently konwn as property value of
+* com.sun.star.text.ParagraphProperties.NumberingRules
+* This test checks only for completnes of implemented properties.
+* service properties :
+* <ul>
+* <li><code> Adjust</code></li>
+* <li><code> ParentNumbering</code></li>
+* <li><code> Prefix</code></li>
+* <li><code> Suffix</code></li>
+* <li><code> CharStyleName</code></li>
+* <li><code> BulletId</code></li>
+* <li><code> BulletChar</code></li>
+* <li><code> BulletFontName</code></li>
+* <li><code> BulletFont</code></li>
+* <li><code> GraphicURL</code></li>
+* <li><code> GraphicBitmap</code></li>
+* <li><code> GraphicSize</code></li>
+* <li><code> VertOrient</code></li>
+* <li><code> StartWith</code></li>
+* <li><code> LeftMargin</code></li>
+* <li><code> SymbolTextDistance</code></li>
+* <li><code> FirstLineOffset</code></li>
+* <li><code> NumberingType</code></li>
+* <li><code> HeadingStyleName</code></li>
+* <li><code> BulletColor</code></li>
+* <li><code> BulletRelSize</code></li>
+* </ul> <p>
+*
+* @see com.sun.star.text.NumberingLevel
+* @see com.sun.star.test.ParagraphProperties
+* @see ifc.text._ParagraphProperties
+*/
+public class _NumberingLevel {
+
+ private static TestParameters tParam = null;
+ private static Hashtable NumberingLevel = new Hashtable();
+ private static PropertyValue[] PropertyArray = null;
+ private static LogWriter log = null;
+
+
+ /**
+ * returns an instance of _NumberingLevel
+ * @param log the log writer
+ * @param tParam the test parameters
+ * @param propertyValues a PropertyValue[] which should contain all properties of com.sun.star.text.NumberingLevel
+ */
+ public _NumberingLevel(LogWriter log, TestParameters tParam, PropertyValue[] propertyValues){
+
+ this.tParam = tParam;
+ this.PropertyArray = propertyValues;
+
+ this.log = log;
+
+ //key = PropertyName, value = Ooptional
+ NumberingLevel.put("Adjust", new Boolean(false));
+ NumberingLevel.put("ParentNumbering", new Boolean(true));
+ NumberingLevel.put("Prefix", new Boolean(false));
+ NumberingLevel.put("Suffix", new Boolean(false));
+ NumberingLevel.put("CharStyleName", new Boolean(true));
+ NumberingLevel.put("BulletId", new Boolean(true));
+ NumberingLevel.put("BulletChar", new Boolean(false));
+ NumberingLevel.put("BulletFontName", new Boolean(false));
+ NumberingLevel.put("BulletFont", new Boolean(true));
+ NumberingLevel.put("GraphicURL", new Boolean(false));
+ NumberingLevel.put("GraphicBitmap", new Boolean(true));
+ NumberingLevel.put("GraphicSize", new Boolean(true));
+ NumberingLevel.put("VertOrient", new Boolean(true));
+ NumberingLevel.put("StartWith", new Boolean(true));
+ NumberingLevel.put("LeftMargin", new Boolean(false));
+ NumberingLevel.put("SymbolTextDistance", new Boolean(true));
+ NumberingLevel.put("FirstLineOffset", new Boolean(false));
+ NumberingLevel.put("NumberingType", new Boolean(false));
+ NumberingLevel.put("HeadingStyleName", new Boolean(false));
+ NumberingLevel.put("BulletColor", new Boolean(true));
+ NumberingLevel.put("BulletRelSize", new Boolean(true));
+
+ }
+
+ /**
+ * This methods checks the PropertyValue for completnes. If one or more properties
+ * are missing the return value is FALSE, else TRUE
+ * @return returns TRUE if PropertyValue[] is complete, else FALSE
+ */
+ public boolean testPropertieArray(){
+
+ boolean status = true;
+ try{
+
+ // iterate over the given property array and remove it from the must list
+ for (int i = 0; i < PropertyArray.length; i++){
+ String propertyName=PropertyArray[i].Name;
+
+ if ( NumberingLevel.containsKey(propertyName) ) {
+ NumberingLevel.remove(propertyName);
+ } else {
+ status = false;
+ if ( status ) {
+ log.println("FAILED: com.sun.star.text.NumberingLevel -> " +
+ "found not described property:");
+ }
+
+ status = false;
+ log.println("-> '" + propertyName + "'");
+ }
+
+ }
+
+ // get rest of properties and check if they are optional
+ if (! NumberingLevel.isEmpty()){
+ for (Enumeration e = NumberingLevel.keys() ; e.hasMoreElements() ;) {
+ String property = (String) e.nextElement();
+
+ // if some elements are not optional -> failed
+ if ( ! ((Boolean)NumberingLevel.get(property)).booleanValue() ){
+
+ if ( status ) {
+ log.println("FAILED: com.sun.star.text.NumberingLevel -> " +
+ "could not find not optional property:");
+ }
+
+ status = false;
+ log.println("-> '" + property + "'");
+ }
+ }
+ }
+
+ }catch( Exception e ){
+ throw new StatusException("ERROR: could not test all properties of com.sun.star.text.NumberingLevel",e);
+ }
+
+ return status;
+ }
+
+
+} // finish class _NumberingLevel
diff --git a/qadevOOo/tests/java/ifc/text/_NumberingRules.java b/qadevOOo/tests/java/ifc/text/_NumberingRules.java
new file mode 100644
index 000000000000..7b053921eefc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_NumberingRules.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.NumberingRules</code>
+* service properties :
+* <ul>
+* <li><code> IsAbsoluteMargins</code></li>
+* <li><code> IsAutomatic</code></li>
+* <li><code> IsContinuousNumbering</code></li>
+* <li><code> Name</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.NumberingRules
+*/
+public class _NumberingRules extends MultiPropertyTest {
+
+} // finish class _NumberingRules
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_PrintPreviewSettings.java b/qadevOOo/tests/java/ifc/text/_PrintPreviewSettings.java
new file mode 100644
index 000000000000..38d512536d36
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_PrintPreviewSettings.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+public class _PrintPreviewSettings extends MultiPropertyTest
+{
+
+}
diff --git a/qadevOOo/tests/java/ifc/text/_PrintSettings.java b/qadevOOo/tests/java/ifc/text/_PrintSettings.java
new file mode 100644
index 000000000000..301d0e5ed179
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_PrintSettings.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.PrintSettings</code>
+* service properties :
+* <ul>
+* <li><code> PrintGraphics</code></li>
+* <li><code> PrintTables</code></li>
+* <li><code> PrintDrawings</code></li>
+* <li><code> PrintLeftPages</code></li>
+* <li><code> PrintRightPages</code></li>
+* <li><code> PrintControls</code></li>
+* <li><code> PrintReversed</code></li>
+* <li><code> PrintPaperFromSetup</code></li>
+* <li><code> PrintFaxName</code></li>
+* <li><code> PrintAnnotationMode</code></li>
+* <li><code> PrintProspect</code></li>
+* <li><code> PrintPageBackground</code></li>
+* <li><code> PrintBlackFonts</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.PrintSettings
+*/
+public class _PrintSettings extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_Text.java b/qadevOOo/tests/java/ifc/text/_Text.java
new file mode 100644
index 000000000000..eade97485e4a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_Text.java
@@ -0,0 +1,35 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+public class _Text extends MultiPropertyTest {
+
+} //finish class _BaseFrame
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextColumns.java b/qadevOOo/tests/java/ifc/text/_TextColumns.java
new file mode 100644
index 000000000000..4c0c09df5249
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextColumns.java
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.text.XTextColumns;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.text.TextColumns</code>
+* service properties :
+* <ul>
+* <li><code> IsAutomatic</code></li>
+* <li><code> AutomaticDistance</code></li>
+* <li><code> SeparatorLineWidth</code></li>
+* <li><code> SeparatorLineColor</code></li>
+* <li><code> SeparatorLineRelativeHeight</code></li>
+* <li><code> SeparatorLineVerticalAlignment</code></li>
+* <li><code> SeparatorLineIsOn</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextColumns
+*/
+public class _TextColumns extends MultiPropertyTest {
+
+
+ /**
+ * Redefined method returns specific value, that differs from property
+ * value. ( (oldValue + referenceValue) / 2 ).
+ */
+ public void _AutomaticDistance() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("AutomaticDistance", new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue) {
+ XTextColumns xTC = (XTextColumns)
+ UnoRuntime.queryInterface
+ (XTextColumns.class,tEnv.getTestObject());
+ int ref = xTC.getReferenceValue();
+ int setting = ( ( (Integer) oldValue).intValue() + ref) / 2;
+ return new Integer(setting);
+ }
+ });
+ }
+
+
+} //finish class _TextColumns
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextContent.java b/qadevOOo/tests/java/ifc/text/_TextContent.java
new file mode 100644
index 000000000000..af4ec84f10b8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextContent.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.TextContent</code>
+* service properties :
+* <ul>
+* <li><code> AnchorType</code></li>
+* <li><code> AnchorTypes</code></li>
+* <li><code> TextWrap</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextContent
+*/
+public class _TextContent extends MultiPropertyTest {
+
+} //finish class _TextContent
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextDocument.java b/qadevOOo/tests/java/ifc/text/_TextDocument.java
new file mode 100644
index 000000000000..89535fdc4995
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextDocument.java
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.TextDocument</code>
+* service properties :
+* <ul>
+* <li><code> CharLocale</code></li>
+* <li><code> CharacterCount</code></li>
+* <li><code> ParagraphCount</code></li>
+* <li><code> WordCount</code></li>
+* <li><code> WordSeparator</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextDocument
+*/
+public class _TextDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java b/qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java
new file mode 100644
index 000000000000..0d1323507c56
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.TextEmbeddedObject</code>
+ * service properties :
+ * <ul>
+ * <li><code> CLSID</code></li>
+ * <li><code> Model</code></li>
+ * <li><code> Component</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextEmbeddedObject
+ */
+public class _TextEmbeddedObject extends MultiPropertyTest {
+
+ /**
+ * This property can't be set, as soon as the object is inserted
+ * so the set method will be skipped.
+ */
+ public void _CLSID() {
+ boolean result = false;
+
+ try {
+ String clsid = (String) oObj.getPropertyValue("CLSID");
+ log.println("Getting " + clsid);
+ log.println(
+ "According to the idl-description this property can't be set as soon as the Object is inserted in the document, so setting will be skipped");
+ result=true;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while getting Property 'CLSID' " +
+ e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while getting Property 'CLSID' " +
+ e.getMessage());
+ }
+
+ tRes.tested("CLSID", result);
+ }
+} // finish class _TextEmbeddedObject
diff --git a/qadevOOo/tests/java/ifc/text/_TextFieldMaster.java b/qadevOOo/tests/java/ifc/text/_TextFieldMaster.java
new file mode 100644
index 000000000000..a37359621f6d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextFieldMaster.java
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextFieldMaster</code>
+ * service properties :
+ * <ul>
+ * <li><code> Name</code></li>
+ * <li><code> DependentTextFields</code></li>
+ * <li><code> InstanceName</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextFieldMaster
+ */
+public class _TextFieldMaster extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextFrame.java b/qadevOOo/tests/java/ifc/text/_TextFrame.java
new file mode 100644
index 000000000000..fc8240a98acc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextFrame.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextFrame</code>
+ * service properties :
+ * <ul>
+ * <li><code> FrameHeightAbsolute</code></li>
+ * <li><code> FrameWidthAbsolute</code></li>
+ * <li><code> FrameWidthPercent</code></li>
+ * <li><code> FrameHeightPercent</code></li>
+ * <li><code> FrameIsAutomaticHeight</code></li>
+ * <li><code> SizeType</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextFrame
+ */
+public class _TextFrame extends MultiPropertyTest {
+
+ /**
+ * Property tester which switches two shorts.
+ */
+ protected PropertyTester WModeTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(new Short(com.sun.star.text.WritingMode2.LR_TB)))
+ return new Short(com.sun.star.text.WritingMode2.TB_LR); else
+ return new Short(com.sun.star.text.WritingMode2.LR_TB);
+ }
+ } ;
+
+ /**
+ * This property must have predefined values
+ */
+ public void _WritingMode() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("WritingMode", WModeTester) ;
+ }
+
+} //finish class _TextFrame
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextGraphicObject.java b/qadevOOo/tests/java/ifc/text/_TextGraphicObject.java
new file mode 100644
index 000000000000..c73fd3c4a643
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextGraphicObject.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import com.sun.star.awt.Point;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.uno.UnoRuntime;
+
+import java.util.Random;
+
+import lib.MultiPropertyTest;
+
+import util.utils;
+
+
+/**
+ * Testing <code>com.sun.star.text.TextGraphicObject</code>
+ * service properties :
+ * <ul>
+ * <li><code> ImageMap</code></li>
+ * <li><code> ContentProtected</code></li>
+ * <li><code> SurroundContour</code></li>
+ * <li><code> ContourOutside</code></li>
+ * <li><code> ContourPolyPolygon</code></li>
+ * <li><code> GraphicCrop</code></li>
+ * <li><code> HoriMirroredOnEvenPages</code></li>
+ * <li><code> HoriMirroredOnOddPages</code></li>
+ * <li><code> VertMirrored</code></li>
+ * <li><code> GraphicURL</code></li>
+ * <li><code> GraphicFilter</code></li>
+ * <li><code> ActualSize</code></li>
+ * <li><code> AdjustLuminance</code></li>
+ * <li><code> AdjustContrast</code></li>
+ * <li><code> AdjustRed</code></li>
+ * <li><code> AdjustGreen</code></li>
+ * <li><code> AdjustBlue</code></li>
+ * <li><code> Gamma</code></li>
+ * <li><code> GraphicIsInverted</code></li>
+ * <li><code> Transparency</code></li>
+ * <li><code> GraphicColorMode</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'ImageMap'</code> (an inmplementation of
+ * <code>com.sun.star.image.ImageMapObject</code>):
+ * is used to insert a new Map into collection
+ * from 'ImageMap' property. </li>
+ * <ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextGraphicObject
+ */
+public class _TextGraphicObject extends MultiPropertyTest {
+ public Random rdm = new Random();
+
+ /**
+ * The tester which can change a sequence of <code>Point</code>'s
+ * or create a new one if necessary.
+ */
+ protected PropertyTester PointTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (utils.isVoid(oldValue)) {
+ return newPoint();
+ } else {
+ return changePoint((Point[][]) oldValue);
+ }
+ }
+ };
+
+ /**
+ * Tested with custom <code>PointTester</code>.
+ */
+ public void _ContourPolyPolygon() {
+ log.println("Testing with custom Property tester");
+ testProperty("ContourPolyPolygon", PointTester);
+ }
+
+ /**
+ * Retrieves an ImageMap from relation and inserts it to the collection
+ * obtained as property value. Then this collection is set back.
+ * After that property value is get again. The number of elements
+ * in the old collection and in just gotten collection is checked.
+ *
+ * Has <b>OK</b> status if the number of elements in the new obtained
+ * collection is greater than in old one.
+ */
+ public void _ImageMap() {
+ boolean result = true;
+
+ try {
+ XIndexContainer imgMap = (XIndexContainer) UnoRuntime.queryInterface(
+ XIndexContainer.class,
+ oObj.getPropertyValue("ImageMap"));
+ int previous = imgMap.getCount();
+ log.println("Count (previous) " + previous);
+
+ Object im = tEnv.getObjRelation("IMGMAP");
+ imgMap.insertByIndex(0, im);
+ oObj.setPropertyValue("ImageMap", imgMap);
+ imgMap = (XIndexContainer) UnoRuntime.queryInterface(
+ XIndexContainer.class,
+ oObj.getPropertyValue("ImageMap"));
+
+ int after = imgMap.getCount();
+ log.println("Count (after) " + after);
+ result = previous < after;
+ } catch (Exception ex) {
+ result = false;
+ }
+
+ tRes.tested("ImageMap", result);
+ }
+
+ /**
+ * Creates a new random points sequence.
+ */
+ public Point[][] newPoint() {
+ Point[][] res = new Point[1][185];
+
+ for (int i = 0; i < res[0].length; i++) {
+ res[0][i] = new Point();
+ res[0][i].X = rd() * rd() * rd();
+ res[0][i].Y = rd() * rd() * rd();
+ ;
+ }
+
+ return res;
+ }
+
+ public int rd() {
+ return rdm.nextInt(6);
+ }
+
+ /**
+ * Changes the existing point sequence.
+ */
+ public Point[][] changePoint(Point[][] oldPoint) {
+ Point[][] res = oldPoint;
+
+ for (int i = 0; i < res[0].length; i++) {
+ res[0][i].X += 1;
+ res[0][i].Y += 1;
+ }
+
+ return res;
+ }
+} // finish class _TextGraphicObject
diff --git a/qadevOOo/tests/java/ifc/text/_TextPortion.java b/qadevOOo/tests/java/ifc/text/_TextPortion.java
new file mode 100644
index 000000000000..828609c158a2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextPortion.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.text.ControlCharacter;
+
+/**
+ * Testing <code>com.sun.star.text.TextPortion</code>
+ * service properties :
+ * <ul>
+ * <li><code> TextPortionType</code></li>
+ * <li><code> ControlCharacter</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextPortion
+ */
+public class _TextPortion extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _ControlCharacter() {
+ testProperty("ControlCharacter",
+ new Short(ControlCharacter.LINE_BREAK),
+ new Short(ControlCharacter.PARAGRAPH_BREAK)) ;
+ }
+
+} //finish class _TextPortion
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextSection.java b/qadevOOo/tests/java/ifc/text/_TextSection.java
new file mode 100644
index 000000000000..10c5aef9ca54
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextSection.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.text.XTextColumns;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Testing <code>com.sun.star.text.TextSection</code>
+ * service properties :
+ * <ul>
+ * <li><code> Condition</code></li>
+ * <li><code> IsVisible</code></li>
+ * <li><code> IsProtected</code></li>
+ * <li><code> FileLink</code></li>
+ * <li><code> LinkRegion</code></li>
+ * <li><code> DDECommandType</code></li>
+ * <li><code> DDECommandFile</code></li>
+ * <li><code> DDECommandElement</code></li>
+ * <li><code> BackGraphicURL</code></li>
+ * <li><code> BackGraphicFilter</code></li>
+ * <li><code> BackGraphicLocation</code></li>
+ * <li><code> FootnoteIsCollectAtTextEnd</code></li>
+ * <li><code> FootnoteIsRestartNumbering</code></li>
+ * <li><code> FootnoteRestartNumberingAt</code></li>
+ * <li><code> FootnoteIsOwnNumbering</code></li>
+ * <li><code> FootnoteNumberingType</code></li>
+ * <li><code> FootnoteNumberingPrefix</code></li>
+ * <li><code> FootnoteNumberingSuffix</code></li>
+ * <li><code> EndnoteIsCollectAtTextEnd</code></li>
+ * <li><code> EndnoteIsRestartNumbering</code></li>
+ * <li><code> EndnoteRestartNumberingAt</code></li>
+ * <li><code> EndnoteIsOwnNumbering</code></li>
+ * <li><code> EndnoteNumberingType</code></li>
+ * <li><code> EndnoteNumberingPrefix</code></li>
+ * <li><code> EndnoteNumberingSuffix</code></li>
+ * <li><code> IsAutomaticUpdate</code></li>
+ * </ul> <p>
+ * The following predefined files needed to complete the test:
+ * <ul>
+ * <li> <code>crazy-blue.jpg, space-metal.jpg</code> : are used for
+ * setting 'BackGraphicURL' property. </li>
+ * <ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextSection
+ */
+public class _TextSection extends MultiPropertyTest {
+
+ /**
+ * Only image file URL can be used as a value.
+ */
+ public void _BackGraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackGraphicURL",
+ util.utils.getFullTestURL("crazy-blue.jpg"),
+ util.utils.getFullTestURL("space-metal.jpg")) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _FootnoteNumberingType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("FootnoteNumberingType",
+ new Short(com.sun.star.text.FootnoteNumbering.PER_DOCUMENT),
+ new Short(com.sun.star.text.FootnoteNumbering.PER_PAGE)) ;
+ }
+
+
+ /**
+ * Custom property tester for property <code>TextColumns</code>
+ */
+ protected PropertyTester TextColumnsTester = new PropertyTester() {
+
+ protected Object getNewValue(String propName, Object oldValue) {
+ XTextColumns TC = null;
+ short val2set = 25;
+
+ TC = (XTextColumns) tEnv.getObjRelation("TC");
+ try {
+ val2set += ((XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),oldValue)).getColumnCount();
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Couldn't change Column count");
+ }
+ TC.setColumnCount(val2set);
+
+ return TC;
+ };
+
+ protected boolean compare(Object obj1, Object obj2) {
+ short val1 = 0;
+ short val2 = 1;
+ try {
+ val1 = ((XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),obj1)).getColumnCount();
+ val2 = ((XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),obj2)).getColumnCount();
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("comparing values failed");
+ }
+ return val1 == val2;
+ }
+
+ protected String toString(Object obj) {
+ return "XTextColumns: ColumnCount = "+
+ ((XTextColumns) obj).getColumnCount();
+ }
+
+ };
+
+ public void _TextColumns() {
+ log.println("Testing with custom Property tester");
+ testProperty("TextColumns", TextColumnsTester);
+ }
+
+
+} //finish class _TextContent
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextTable.java b/qadevOOo/tests/java/ifc/text/_TextTable.java
new file mode 100644
index 000000000000..af99d25c6fbd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextTable.java
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextTable</code>
+ * service properties :
+ * <ul>
+ * <li><code> BreakType</code></li>
+ * <li><code> LeftMargin</code></li>
+ * <li><code> RightMargin</code></li>
+ * <li><code> HoriOrient</code></li>
+ * <li><code> KeepTogether</code></li>
+ * <li><code> Split</code></li>
+ * <li><code> PageNumberOffset</code></li>
+ * <li><code> PageDescName</code></li>
+ * <li><code> RelativeWidth</code></li>
+ * <li><code> IsWidthRelative</code></li>
+ * <li><code> RepeatHeadline</code></li>
+ * <li><code> ShadowFormat</code></li>
+ * <li><code> TopMargin</code></li>
+ * <li><code> BottomMargin</code></li>
+ * <li><code> BackTransparent</code></li>
+ * <li><code> Width</code></li>
+ * <li><code> ChartRowAsLabel</code></li>
+ * <li><code> ChartColumnAsLabel</code></li>
+ * <li><code> TableBorder</code></li>
+ * <li><code> TableColumnSeparators</code></li>
+ * <li><code> TableColumnRelativeSum</code></li>
+ * <li><code> BackColor</code></li>
+ * <li><code> BackGraphicURL</code></li>
+ * <li><code> BackGraphicFilter</code></li>
+ * <li><code> BackGraphicLocation</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextTable
+ */
+public class _TextTable extends MultiPropertyTest {
+
+ /**
+ * This property accepts only restricted range of values.
+ * The property value is switched between '' and 'Standard'
+ * strings.
+ */
+ public void _PageDescName() {
+ testProperty("PageDescName", "Endnote", "Standard");
+ }
+
+ /**
+ * For setting this property, 'HoriOrient' property must be
+ * set to non-automatic.
+ */
+ public void _Width() {
+ Short align = new Short(com.sun.star.text.HoriOrientation.CENTER);
+ try {
+ oObj.setPropertyValue("HoriOrient",align);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {}
+ catch (com.sun.star.lang.WrappedTargetException ex) {}
+ catch (com.sun.star.beans.PropertyVetoException ex) {}
+ catch (com.sun.star.beans.UnknownPropertyException ex) {}
+
+ testProperty("Width");
+ }
+
+ /**
+ * For setting this property, 'HoriOrient' property must be
+ * set to non-automatic.
+ */
+ public void _RelativeWidth() {
+ Short align = new Short(com.sun.star.text.HoriOrientation.CENTER);
+ try {
+ oObj.setPropertyValue("HoriOrient",align);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {}
+ catch (com.sun.star.lang.WrappedTargetException ex) {}
+ catch (com.sun.star.beans.PropertyVetoException ex) {}
+ catch (com.sun.star.beans.UnknownPropertyException ex) {}
+
+ testProperty("RelativeWidth");
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finish class _TextTable
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextTableRow.java b/qadevOOo/tests/java/ifc/text/_TextTableRow.java
new file mode 100644
index 000000000000..0da5ba823453
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextTableRow.java
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextTableRow</code>
+ * service properties :
+ * <ul>
+ * <li><code> BackColor</code></li>
+ * <li><code> BackTransparent</code></li>
+ * <li><code> VertOrient</code></li>
+ * <li><code> BackGraphicURL</code></li>
+ * <li><code> BackGraphicFilter</code></li>
+ * <li><code> BackGraphicLocation</code></li>
+ * <li><code> TableColumnSeparators</code></li>
+ * <li><code> Height</code></li>
+ * <li><code> IsAutoHeight</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextTableRow
+ */
+public class _TextTableRow extends MultiPropertyTest {
+
+} // finish class _TextTableRow
+
diff --git a/qadevOOo/tests/java/ifc/text/_ViewSettings.java b/qadevOOo/tests/java/ifc/text/_ViewSettings.java
new file mode 100644
index 000000000000..dbb721832742
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_ViewSettings.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.ViewSettings</code>
+ * service properties :
+ * <ul>
+ * <li><code> ShowAnnotations</code></li>
+ * <li><code> ShowBreaks</code></li>
+ * <li><code> ShowDrawings</code></li>
+ * <li><code> ShowFieldCommands</code></li>
+ * <li><code> ShowFootnoteBackground</code></li>
+ * <li><code> ShowGraphics</code></li>
+ * <li><code> ShowHiddenParagraphs</code></li>
+ * <li><code> ShowHiddenText</code></li>
+ * <li><code> ShowHoriRuler</code></li>
+ * <li><code> ShowHoriScrollBar</code></li>
+ * <li><code> ShowIndexMarkBackground</code></li>
+ * <li><code> ShowParaBreaks</code></li>
+ * <li><code> ShowProtectedSpaces</code></li>
+ * <li><code> ShowSoftHyphens</code></li>
+ * <li><code> ShowSpaces</code></li>
+ * <li><code> ShowTableBoundaries</code></li>
+ * <li><code> ShowTables</code></li>
+ * <li><code> ShowTabstops</code></li>
+ * <li><code> ShowTextBoundaries</code></li>
+ * <li><code> ShowTextFieldBackground</code></li>
+ * <li><code> ShowVertRuler</code></li>
+ * <li><code> ShowVertScrollBar</code></li>
+ * <li><code> SmoothScrolling</code></li>
+ * <li><code> SolidMarkHandles</code></li>
+ * <li><code> IsVertRulerRightAligned</code></li>
+ * <li><code> ShowOnlineLayout</code></li>
+ * <li><code> ZoomType</code></li>
+ * <li><code> ZoomValue</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.ViewSettings
+ */
+public class _ViewSettings extends MultiPropertyTest {
+
+} // finish class _ViewSettings
+
diff --git a/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java b/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java
new file mode 100644
index 000000000000..5d1ff15a5c4a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XAutoTextGroup;
+
+/**
+ * Testing <code>com.sun.star.text.XAutoTextContainer</code>
+ * interface methods :
+ * <ul>
+ * <li><code> insertNewByName()</code></li>
+ * <li><code> removeByName()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XAutoTextContainer
+ */
+public class _XAutoTextContainer extends MultiMethodTest {
+ public XAutoTextContainer oObj = null;
+ // every Thread must insert it's own AutoTextContainer:
+ public String Name = "";
+
+ /**
+ * First removes old element from container with the specified name
+ * if it exists. Then tries to add a new group with the specified
+ * name. <p>
+ *
+ * Has <b>OK</b> status if not <code>null</code>
+ * <code>AutoTextGroup</code> instance is returned.
+ */
+ public void _insertNewByName() {
+ System.out.println("Starting: insertNewByName");
+ boolean result = true;
+ Name = "XAutoTextContainerx" + Thread.currentThread().getName();
+ Name = Name.replace('-','x');
+ Name = Name.replace(':','x');
+ Name = Name.replace('.','x');
+ XAutoTextGroup oGroup = null;
+ //first clear the container
+ log.println("remove old elements in container");
+ System.out.println("remove old elements in container");
+ try {
+ oObj.removeByName(Name);
+ log.println("old elements removed -> OK");
+ System.out.println("old elements removed -> OK");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("no old elements available -> OK");
+ System.out.println("no old elements available -> OK");
+ }
+
+ // insert an element
+ log.println("insertNewByName");
+ try {
+ System.out.println("Inserting element with name '" + Name + "'");
+ log.println("Inserting element with name '" + Name + "'");
+ oGroup = oObj.insertNewByName(Name);
+ System.out.println("done");
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("insertNewByName(): " + e);
+ result &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertNewByName(): " + e);
+ result &= false;
+ }
+
+ result &= ( oGroup != null );
+ tRes.tested("insertNewByName()", result);
+ } // end insertNewByName()
+
+ /**
+ * First removes element by name which was added before,
+ * then tries to remove the element with the same name again. <p>
+ *
+ * Has <b> OK </b> status if in the first case no exceptions
+ * were thrown, and in the second case
+ * <code>NoSuchElementException</code> was thrown. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertNewByName() </code> : new element inserted here.</li>
+ * </ul>
+ */
+ public void _removeByName() {
+ requiredMethod("insertNewByName()");
+
+ boolean result = true;
+ // remove the element
+ log.println("removeByName()");
+ try {
+ log.println("Removing element with name '" + Name + "'");
+ oObj.removeByName(Name);
+ result &= true;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ log.println("removeByName(): " + e + " -> FAILD");
+ }
+
+ log.println("2nd removeByName()");
+ try {
+ oObj.removeByName(Name);
+ log.println("No exceptions were thrown -> FAILED");
+ result = false ;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("2nd removeByName(): -> OK");
+ result &= true;
+ }
+
+ tRes.tested("removeByName()", result);
+
+ } // end removeByName()
+
+} /// finish class XAutoTextContainer
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java b/qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java
new file mode 100644
index 000000000000..379c80e507d1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XAutoTextEntry;
+import com.sun.star.text.XTextDocument;
+
+/**
+ * Testing <code>com.sun.star.text.XAutoTextEntry</code>
+ * interface methods :
+ * <ul>
+ * <li><code> applyTo()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TEXTDOC'</code> (of type <code>XTextDocument</code>):
+ * the text document for creating a text range.</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XAutoTextEntry
+ */
+public class _XAutoTextEntry extends MultiMethodTest {
+
+ public XAutoTextEntry oObj = null;
+
+ /**
+ * Applies the entry to a range created for the text document obtained from
+ * relation 'TEXTDOC'. <p>
+ * Has <b> OK </b> status if text of the document was changed. <p>
+ */
+ public void _applyTo() {
+ XTextDocument textDoc = (XTextDocument)tEnv.getObjRelation("TEXTDOC");
+ if (textDoc == null) {
+ throw new StatusException
+ (Status.failed("Couldn't get relation 'TEXTDOC'"));
+ }
+
+ String oldText = textDoc.getText().getString();
+ oObj.applyTo(textDoc.getText().createTextCursor());
+ String newText = textDoc.getText().getString();
+
+ log.println("Old text:\n" + oldText + "\nNew text:\n" + newText);
+
+ tRes.tested("applyTo()", ! newText.equals(oldText));
+ }
+
+} // finish class _XAutoTextEntry
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java b/qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java
new file mode 100644
index 000000000000..f5b465012f70
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java
@@ -0,0 +1,308 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.ValueComparer;
+
+import com.sun.star.text.XAutoTextGroup;
+import com.sun.star.text.XTextRange;
+
+/**
+ * Testing <code>com.sun.star.text.XAutoTextGroup</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getTitles()</code></li>
+ * <li><code> renameByName()</code></li>
+ * <li><code> insertNewByName()</code></li>
+ * <li><code> removeByName()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TextRange'</code> (of type <code>XTextRange</code>):
+ * the range for which an entry is added. </li>
+ * <ul> <p>
+ * Test is multithread compilant. <p>
+ * @see com.sun.star.text.XAutoTextGroup
+ */
+public class _XAutoTextGroup extends MultiMethodTest {
+
+ public XAutoTextGroup oObj = null;
+
+ /**
+ * Unique number among different interface threads.
+ */
+ protected static int uniq = 0 ;
+
+ /**
+ * Unique string for AutoTextEntry names among different
+ * threads.
+ */
+ protected String str = null ;
+
+ /**
+ * Prefix for unique string.
+ * @see #str
+ */
+ protected static final String pref = "XAutoTextGroup" ;
+ protected XTextRange oRange = null;
+
+ /**
+ * Constructs a unique string for current interface thread
+ * for naming purposes. All old entries which names are
+ * started with prefix used for entry names, are deleted
+ * from the group (they can remain after previous unsuccessfull
+ * test runs). The relation is obtained.
+ *
+ * @throws StatusException if the relation is not found.
+ */
+ public void before() {
+ str = pref + uniq++ ;
+ String[] names = oObj.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]);
+ if (names[i].toUpperCase().indexOf(pref.toUpperCase()) > 0) {
+ try {
+ log.println(" ... removing ...");
+ oObj.removeByName(names[i]) ;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Element '" + names[i] + "' not found.");
+ }
+ }
+ }
+
+ oRange = (XTextRange) tEnv.getObjRelation("TextRange");
+ if (oRange == null) {
+ throw new StatusException(Status.failed("No relation found")) ;
+ }
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getTitles() {
+
+ String[] titles = oObj.getTitles();
+ tRes.tested("getTitles()",titles != null);
+ }
+
+ /**
+ * Firsts inserts a new <code>AutoTextEntry</code> using a range
+ * from relation, entry titles are checked before and after
+ * insertion, second tries to add an entry with the same name. <p>
+ *
+ * Has <b>OK</b> status if in the first case titles are changed,
+ * and in the second case <code>ElementExistException</code> is
+ * thrown.
+ */
+ public void _insertNewByName() {
+
+ boolean result = false;
+
+ try {
+ String[] before = oObj.getTitles();
+ oObj.insertNewByName(str, "For " + str,oRange);
+ String[] after = oObj.getTitles();
+ result = !util.ValueComparer.equalValue(before, after);
+ }
+ catch (com.sun.star.container.ElementExistException ex) {
+ log.println("Exception occured while testing insertNewByName");
+ ex.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.insertNewByName(str, "For " + str, oRange);
+ log.println(
+ "com::sun::star::container::ElementExistsException wasn't thrown");
+ oObj.removeByName(str);
+ result &= false;
+ } catch (com.sun.star.container.ElementExistException ex) {
+ result &= true;
+ } catch (com.sun.star.container.NoSuchElementException ex) {
+ log.println("Wrong exception was thrown :");
+ ex.printStackTrace(log);
+ result &= false;
+ }
+
+ tRes.tested("insertNewByName()",result);
+
+ }
+
+ /**
+ * Removes <code>AutoTextEntry</code> added before and checks
+ * titles of the group before and after removing. <p>
+ * Has <b> OK </b> status if titles are not equal before and after
+ * removing and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertNewByName() </code> : the entry is
+ * inserted here. </li>
+ * </ul>
+ */
+ public void _removeByName() {
+ requiredMethod("insertNewByName()") ;
+
+ try {
+ String[] before = oObj.getTitles();
+ oObj.removeByName(str);
+ String[] after = oObj.getTitles();
+ tRes.tested("removeByName()",
+ !ValueComparer.equalValue(before,after));
+ }
+ catch (com.sun.star.container.NoSuchElementException ex) {
+ log.println("Exception occured while testing removeByName");
+ ex.printStackTrace(log);
+ tRes.tested("removeByName()",false);
+ }
+ }
+
+ /**
+ * Three cases are tested here :
+ * <ol>
+ * <li> Trying to rename an entry to a name, which already
+ * exists in the group. <code>ElementExistException</code>
+ * must be thrown. </li>
+ * <li> Trying to rename an element with non-existing name.
+ * <code>IllegalArgumentException</code> must be thrown.</li>
+ * <li> The normal situation : no exceptions must be thrown
+ * and element with a new name must arise. </li>
+ * </ol>
+ *
+ * Has <b>OK</b> status if all three cases were completed successfully.
+ */
+ public void _renameByName() {
+ boolean result = false;
+
+ try {
+ String[] tit = oObj.getTitles() ;
+ String[] names = oObj.getElementNames() ;
+ oObj.insertNewByName(str,"For " + str,oRange);
+ oObj.insertNewByName(str + "dup","For " + str,oRange);
+ tit = oObj.getTitles() ;
+ names = oObj.getElementNames() ;
+ result = true;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("Unexpected exception occured :") ;
+ e.printStackTrace(log);
+ } finally {
+ if (!result) {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ try {
+ oObj.removeByName(str + "dup");
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ tRes.tested("renameByName()", false);
+ return;
+ }
+ }
+
+
+ try {
+ oObj.renameByName(str, str + "dup", "For "+str);
+ log.println(
+ "com::sun::star::container::ElementExistsException wasn't thrown");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ result = true;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Wrong exception was thrown :");
+ e.printStackTrace(log);
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Wrong exception was thrown :");
+ e.printStackTrace(log);
+ result = false;
+ } finally {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ try {
+ oObj.removeByName(str + "dup");
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ }
+
+ try {
+ oObj.renameByName("~"+str,str,str);
+ log.println(
+ "com::sun::star::lang::IllegalArgumentException wasn't thrown");
+ result &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ result &= true;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("Unexpected exception :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Unexpected exception :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } finally {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ }
+
+ try {
+ oObj.insertNewByName(str, "For " + str, oRange);
+
+ oObj.renameByName(str,str+"a",str+"b");
+ result &= oObj.hasByName(str + "a");
+ } catch (com.sun.star.container.ElementExistException ex) {
+ log.println("Exception occured while testing renameByName");
+ ex.printStackTrace(log);
+ result &=false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while testing renameByName");
+ ex.printStackTrace(log);
+ result &=false;
+ } catch (com.sun.star.io.IOException ex) {
+ log.println("Exception occured while testing renameByName");
+ ex.printStackTrace(log);
+ result &=false;
+ } finally {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ try {
+ oObj.removeByName(str + "a");
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ }
+
+ tRes.tested("renameByName()",result);
+
+ }
+
+} // finish class _XAutoTextGroup
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java b/qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java
new file mode 100644
index 000000000000..11e7f7940e6d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XBookmarksSupplier;
+import lib.MultiMethodTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.XBookmarksSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getBookmarks()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XBookmarksSupplier
+ */
+public class _XBookmarksSupplier extends MultiMethodTest {
+
+ public static XBookmarksSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getBookmarks() {
+ boolean res = false;
+
+ XNameAccess the_bookmarks = oObj.getBookmarks();
+ log.println("Found: ");
+ util.dbg.printArray(the_bookmarks.getElementNames());
+ res = the_bookmarks.getElementNames().length>0;
+
+ tRes.tested("getBookmarks()",res);
+ }
+
+} // finish class _XBookmarksSupplier
diff --git a/qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java b/qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java
new file mode 100644
index 000000000000..0c582f849fc6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.text.XChapterNumberingSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XChapterNumberingSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getChapterNumberingRules()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XChapterNumberingSupplier
+ */
+public class _XChapterNumberingSupplier extends MultiMethodTest {
+
+ public static XChapterNumberingSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the returned collection
+ * has at least one element.
+ */
+ public void _getChapterNumberingRules() {
+ boolean res = false;
+
+ XIndexReplace the_chapter = oObj.getChapterNumberingRules();
+ res = the_chapter.hasElements();
+
+ tRes.tested("getChapterNumberingRules()",res);
+ }
+
+} // finish class _XChapterNumberingSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java b/qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java
new file mode 100644
index 000000000000..f8ffc74e9abc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.Locale;
+import com.sun.star.text.XDefaultNumberingProvider;
+
+/**
+* Testing <code>com.sun.star.text.XDefaultNumberingProvider</code>
+* interface methods :
+* <ul>
+* <li><code> getDefaultOutlineNumberings()</code></li>
+* <li><code> getDefaultContinuousNumberingLevels()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.text.XDefaultNumberingProvider
+*/
+public class _XDefaultNumberingProvider extends MultiMethodTest {
+
+ public static XDefaultNumberingProvider oObj = null;
+ private Locale loc = new Locale("en", "EN", "") ;
+
+ /**
+ * Just gets numberings for "en" locale. <p>
+ * Has <b>OK</b> status if not <code>null</code> value returned
+ * and no runtime exceptions occured.
+ */
+ public void _getDefaultOutlineNumberings() {
+ XIndexAccess xIA[] = oObj.getDefaultOutlineNumberings(loc) ;
+
+ tRes.tested("getDefaultOutlineNumberings()", xIA != null) ;
+ }
+
+ /**
+ * Just gets numberings for "en" locale. <p>
+ * Has <b>OK</b> status if not <code>null</code> value returned
+ * and no runtime exceptions occured.
+ */
+ public void _getDefaultContinuousNumberingLevels() {
+ PropertyValue[][] lev = oObj.getDefaultContinuousNumberingLevels(loc) ;
+
+ tRes.tested("getDefaultContinuousNumberingLevels()", lev != null) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XDocumentIndex.java b/qadevOOo/tests/java/ifc/text/_XDocumentIndex.java
new file mode 100644
index 000000000000..704750511e56
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XDocumentIndex.java
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDocumentIndex;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Testing <code>com.sun.star.text.XDocumentIndex</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getServiceName()</code></li>
+ * <li><code> update()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TextDoc'</code> (of type <code>XTextDocument</code>):
+ * the text document for creating and inserting index mark.</li>
+ * <ul> <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XDocumentIndex
+ */
+public class _XDocumentIndex extends MultiMethodTest {
+
+ public XDocumentIndex oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the retruned service name
+ * is equal to 'com.sun.star.text.DocumentIndex'.
+ */
+ public void _getServiceName() {
+ String serv = oObj.getServiceName();
+ tRes.tested("getServiceName()",
+ serv.equals("com.sun.star.text.DocumentIndex"));
+ }
+
+ /**
+ * Gets the document from relation and insert a new index mark.
+ * Then it stores the text content of document index before
+ * update and after.<p>
+ *
+ * Has <b> OK </b> status if index content is changed and
+ * new index contains index mark inserted. <p>
+ */
+ public void _update() {
+ boolean bOK = true;
+
+ try {
+ XTextDocument xTextDoc = (XTextDocument)
+ tEnv.getObjRelation("TextDoc");
+ XText xText = xTextDoc.getText();
+ XTextRange xTR = xText.getEnd();
+ xTR.setString("IndexMark");
+
+ XMultiServiceFactory xDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object idxMark = xDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ XTextContent xTC = (XTextContent) UnoRuntime.queryInterface
+ (XTextContent.class, idxMark);
+ xText.insertTextContent(xTR, xTC, true);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't insert index mark.");
+ e.printStackTrace(log);
+ bOK = false ;
+ }
+
+ String contentBefore = oObj.getAnchor().getString();
+ log.println("Content before: '" + contentBefore + "'");
+
+ oObj.update();
+
+ try {
+ Thread.sleep(1000);
+ }
+ catch (InterruptedException ex) {
+ }
+
+
+ String contentAfter = oObj.getAnchor().getString();
+ log.println("Content after: '" + contentAfter + "'");
+
+ bOK &= !contentAfter.equals(contentBefore);
+ bOK &= contentAfter.indexOf("IndexMark") > -1;
+
+ tRes.tested("update()",bOK);
+ }
+
+
+
+} // finish class _XDocumentIndex
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java b/qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java
new file mode 100644
index 000000000000..d1198c87c3e0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XDocumentIndexesSupplier;
+
+import lib.MultiMethodTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.XDocumentIndexesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getDocumentIndexes()()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XDocumentIndexesSupplier
+ */
+public class _XDocumentIndexesSupplier extends MultiMethodTest {
+
+ public static XDocumentIndexesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getDocumentIndexes() {
+ boolean res = false;
+
+ XIndexAccess the_documentIndexes = oObj.getDocumentIndexes();
+ res = the_documentIndexes.getCount()>0;
+
+ tRes.tested("getDocumentIndexes()",res);
+ }
+
+} // finish class _XDocumentIndexesSupplier
diff --git a/qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java b/qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java
new file mode 100644
index 000000000000..a892a54b2cfb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XEndnotesSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.text.XEndnotesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getEndnotes()</code></li>
+ * <li><code> getEndnoteSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XEndnotesSupplier
+ */
+public class _XEndnotesSupplier extends MultiMethodTest {
+
+ public static XEndnotesSupplier oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getEndnotes() {
+ boolean res = false;
+
+ XIndexAccess the_endnotes = oObj.getEndnotes();
+ res = the_endnotes.hasElements();
+
+ tRes.tested("getEndnotes()",res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getEndnoteSettings() {
+ boolean res = false;
+
+ XPropertySet the_props = oObj.getEndnoteSettings();
+ res = ( the_props != null );
+
+ tRes.tested("getEndnoteSettings()",res);
+ }
+
+} // finish class _XEndnotesSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XFootnote.java b/qadevOOo/tests/java/ifc/text/_XFootnote.java
new file mode 100644
index 000000000000..00dca02a62f2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XFootnote.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import util.XInstCreator;
+
+import com.sun.star.text.XFootnote;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Testing <code>com.sun.star.text.XFootnote</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getLabel()</code></li>
+ * <li><code> setLabel()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XFootnote
+ */
+public class _XFootnote extends MultiMethodTest {
+
+ public XFootnote oObj = null; // oObj filled by MultiMethodTest
+
+ XInstCreator info = null; // instance creator
+ XInterface oInt = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getLabel(){
+
+ boolean result;
+
+ // testing getLabel
+ log.println("Testing getLabel() ... ");
+ String oldLabel = oObj.getLabel();
+ log.println("getLabel: Old Value: " + oldLabel);
+ result = (oldLabel != null);
+ if (result) {
+ log.println(" ... getLabel() - OK");
+ }
+ else {
+ log.println(" ... getLabel() - FAILED");
+ }
+ tRes.tested("getLabel()", result);
+
+ } // finished getLabel
+
+
+ /**
+ * Sets a new label, then using <code>getLabel</code> method
+ * checks if the label was set. <p>
+ *
+ * Has <b>OK</b> status if set and get values are equal.
+ */
+ public void _setLabel(){
+
+ boolean result;
+ String str = "New XFootnote Label";
+
+ // testing getLabel
+ log.println("Testing setLabel() ... ");
+ log.println("New label : " + str);
+
+ String oldLabel = oObj.getLabel();
+ log.println("Old label was: " + oldLabel);
+ oObj.setLabel(str);
+
+ String res = oObj.getLabel();
+
+ log.println("verify setLabel result");
+ result = (res.equals(str));
+ if (result) {
+ log.println(" ... setLabel() - OK");
+ }
+ else {
+ log.println(" ... setLabel() - FAILED");
+ }
+ tRes.tested("setLabel()", result);
+
+ log.println("restoring the old label value");
+ oObj.setLabel(oldLabel);
+ } // finished setLabel
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java b/qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java
new file mode 100644
index 000000000000..117209de4ded
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XFootnotesSettingsSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XFootnotesSettingsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getFootnoteSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XFootnotesSettingsSupplier
+ */
+public class _XFootnotesSettingsSupplier extends MultiMethodTest {
+ public XFootnotesSettingsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getFootnotesSettings(){
+ boolean result = true;
+ XPropertySet footnoteSettings = null;
+
+ footnoteSettings = oObj.getFootnotesSettings();
+ result = footnoteSettings != null;
+
+ tRes.tested("getFootnotesSettings()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java b/qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java
new file mode 100644
index 000000000000..3263e2b78cfe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XFootnotesSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XFootnotesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getFootnotes()</code></li>
+ * <li><code> getFootnoteSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XFootnotesSupplier
+ */
+public class _XFootnotesSupplier extends MultiMethodTest {
+ public XFootnotesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getFootnotes(){
+ boolean result = true;
+ XIndexAccess footnotes = null;
+
+ log.println("testing getFootnotes() ... ");
+
+ footnotes = oObj.getFootnotes();
+ result = footnotes != null;
+ tRes.tested("getFootnotes()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getFootnoteSettings(){
+ boolean result = true;
+ XPropertySet footnoteSettings = null;
+
+ log.println("testing getFootnoteSettings() ... ");
+
+ footnoteSettings = oObj.getFootnoteSettings();
+ result = footnoteSettings != null;
+
+ tRes.tested("getFootnoteSettings()", result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java b/qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java
new file mode 100644
index 000000000000..0f743cc44396
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XLineNumberingProperties;
+
+/**
+ * Testing <code>com.sun.star.text.XLineNumberingProperties</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getLineNumberingProperties()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XLineNumberingProperties
+ */
+public class _XLineNumberingProperties extends MultiMethodTest {
+
+ public XLineNumberingProperties oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getLineNumberingProperties() {
+
+ XPropertySet getting = oObj.getLineNumberingProperties();
+ tRes.tested("getLineNumberingProperties()",getting != null);
+ }
+
+} // finish class _XLineNumberingProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XLineNumberingSupplier.java b/qadevOOo/tests/java/ifc/text/_XLineNumberingSupplier.java
new file mode 100644
index 000000000000..54ed72cb3c15
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XLineNumberingSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.text.XLineNumberingSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XLineNumberingSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getLineNumberingRules()</code></li>
+ * <li><code> setLineNumberingRules()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XLineNumberingSupplier
+ */
+public class _XLineNumberingSupplier extends MultiMethodTest {
+
+ public static XLineNumberingSupplier oObj = null;
+
+ public PropertyValue[][] lineNumberingSettings = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getLineNumberingRules() {
+ boolean res = false;
+ lineNumberingSettings = oObj.getLineNumberingRules();
+ res = lineNumberingSettings != null ;
+ tRes.tested("getLineNumberingRules()",res);
+ }
+
+} // finish class _XLineNumberingSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java b/qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java
new file mode 100644
index 000000000000..07908c2ed628
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.task.XJob;
+import com.sun.star.text.MailMergeEvent;
+import com.sun.star.text.XMailMergeBroadcaster;
+import com.sun.star.text.XMailMergeListener;
+
+/**
+* Testing <code>com.sun.star.text.XMailMergeBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code> addMailMergeEventListener() </code></li>
+* <li><code> removeMailMergeEventListener() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Job'</code> (of type <code>XJob</code>):
+* used to fire MailMergeEvent</li>
+* <li> <code>'executeArgs'</code> (of type <code>NamedValue[]</code>):
+* used as parameter for <code>'Job'</code> </li>
+* </ul> <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.text.XMailMergeBroadcaster
+*/
+public class _XMailMergeBroadcaster extends MultiMethodTest {
+ public static XMailMergeBroadcaster oObj = null;
+ protected boolean changed = false;
+
+
+ /**
+ * Class we need to test methods
+ */
+ protected class MyMailMergeEventListener implements XMailMergeListener {
+ public void notifyMailMergeEvent ( MailMergeEvent oEvent ) {
+ System.out.println("Listener called");
+ changed = true;
+ }
+ }
+
+ protected XMailMergeListener listener = new MyMailMergeEventListener();
+
+ /**
+ * Tries to query the tested component for object relation
+ * <code>executeArgs</code> [<code>NamedValue</code>] and <code>Job</code>
+ * [<code>XJob</code>]
+ * @throw StatusException If relations are not found
+ */
+ public void before() {
+ NamedValue[] executeArgs = (NamedValue[]) tEnv.getObjRelation("executeArgs") ;
+ if (executeArgs == null)
+ throw new StatusException(Status.failed
+ ("'executeArgs' relation not found ")) ;
+ XJob Job = (XJob) tEnv.getObjRelation("Job") ;
+ if (Job == null)
+ throw new StatusException(Status.failed
+ ("'Job' relation not found ")) ;
+ }
+
+ /**
+ * Test executes mail merge process<p>
+ * Has <b> OK </b> status if listener was called
+ */
+ public void _addMailMergeEventListener() {
+ log.println("Testing addMailMergeEventListener ...");
+
+ oObj.addMailMergeEventListener( listener );
+
+ NamedValue[] executeArgs = (NamedValue[]) tEnv.getObjRelation("executeArgs");
+ XJob Job = (XJob) tEnv.getObjRelation("Job");
+
+ try {
+ Job.execute(executeArgs);
+ } catch ( com.sun.star.lang.IllegalArgumentException e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ } catch ( com.sun.star.uno.Exception e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ }
+
+ shortWait();
+
+ tRes.tested("addMailMergeEventListener()", changed);
+ }
+
+ /**
+ * Test executes mail merge process<p>
+ * Has <b> OK </b> status if listener was not called
+ */
+ public void _removeMailMergeEventListener() {
+ log.println("Testing removeMailMergeEventListener ...");
+ requiredMethod("addMailMergeEventListener()");
+ changed = false;
+
+ oObj.removeMailMergeEventListener( listener );
+
+ NamedValue[] executeArgs = (NamedValue[]) tEnv.getObjRelation("executeArgs");
+ XJob Job = (XJob) tEnv.getObjRelation("Job");
+
+ try {
+ Job.execute(executeArgs);
+ } catch ( com.sun.star.lang.IllegalArgumentException e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ } catch ( com.sun.star.uno.Exception e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ }
+
+ shortWait();
+
+ tRes.tested("removeMailMergeEventListener()", !changed);
+ }
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * execute</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(200) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+
+} // finished class _XMailMergeBroadcaster
+
diff --git a/qadevOOo/tests/java/ifc/text/_XPageCursor.java b/qadevOOo/tests/java/ifc/text/_XPageCursor.java
new file mode 100644
index 000000000000..ff45e2b2fc45
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XPageCursor.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XPageCursor;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+
+
+/**
+ * Testing <code>com.sun.star.text.XPageCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> jumpToFirstPage()</code></li>
+ * <li><code> jumpToLastPage()</code></li>
+ * <li><code> jumpToPage()</code></li>
+ * <li><code> getPage()</code></li>
+ * <li><code> jumpToNextPage()</code></li>
+ * <li><code> jumpToPreviousPage()</code></li>
+ * <li><code> jumpToEndOfPage()</code></li>
+ * <li><code> jumpToStartOfPage()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TEXTDOC'</code> (of type <code>XTextDocument</code>):
+ * is used to insert text to document to fill at least two pages. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XPageCursor
+ */
+public class _XPageCursor extends MultiMethodTest {
+
+ public XPageCursor oObj = null; // oObj filled by MultiMethodTest
+ short count = 0;
+
+ /**
+ * First adds text to the document using relation to fill at least two
+ * pages. Then obtains the number of current page. <p>
+ *
+ * Has <b>OK</b> status if the returned value is positive.
+ */
+ public void _getPage(){
+ log.println( "test for getPage()" );
+ XTextDocument myText = (XTextDocument)tEnv.getObjRelation( "TEXTDOC" );
+ XText aText = myText.getText();
+ XTextCursor myCursor = aText.createTextCursor();
+
+ try{
+ for (int i = 0; i < 10; i++){
+ for (int j = 0; j < 20; j++){
+ aText.insertString(myCursor, "The quick brown fox ",false);
+ aText.insertString(myCursor, "jumps over the lazy dog ",
+ false);
+ }
+ aText.insertControlCharacter(myCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println( "Exception :" );
+ e.printStackTrace(log);
+ }
+
+ count = oObj.getPage();
+ tRes.tested("getPage()", count > 0 );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToEndOfPage(){
+ log.println( "test for jumpToEndOfPage()" );
+ tRes.tested("jumpToEndOfPage()", oObj.jumpToEndOfPage());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToFirstPage(){
+ log.println( "test for jumpToFirstPage()" );
+ tRes.tested("jumpToFirstPage()", oObj.jumpToFirstPage());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToLastPage(){
+ log.println( "test for jumpToLastPage()" );
+ tRes.tested("jumpToLastPage()", oObj.jumpToLastPage());
+ }
+
+ /**
+ * Firts jumps to the first page to have at least one
+ * next page, then call the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToNextPage(){
+ oObj.jumpToFirstPage() ;
+ log.println( "test for jumpToNextPage()" );
+ tRes.tested("jumpToNextPage()", oObj.jumpToNextPage());
+ }
+
+ /**
+ * Tries to jump to the page with number 1. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToPage(){
+ short n = 1;
+ log.println( "test for jumpToPage()" );
+ tRes.tested("jumpToPage()", oObj.jumpToPage(n));
+ }
+
+ /**
+ * Firts jumps to the last page to have at least one
+ * previous page, then call the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToPreviousPage(){
+ log.println( "test for jumpToPreviousPage()" );
+ oObj.jumpToLastPage();
+ tRes.tested("jumpToPreviousPage()", oObj.jumpToPreviousPage());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToStartOfPage(){
+ log.println( "test for jumpToStartOfPage()" );
+ tRes.tested("jumpToStartOfPage()", oObj.jumpToStartOfPage());
+ }
+} // finish class _XPageCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XPagePrintable.java b/qadevOOo/tests/java/ifc/text/_XPagePrintable.java
new file mode 100644
index 000000000000..32868a4c5db1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XPagePrintable.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XPagePrintable;
+
+/**
+ * Testing <code>com.sun.star.text.XPagePrintable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPagePrintSettings()</code></li>
+ * <li><code> setPagePrintSettings()</code></li>
+ * <li><code> printPages()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XPagePrintable
+ */
+public class _XPagePrintable extends MultiMethodTest {
+
+ public static XPagePrintable oObj = null;
+ public PropertyValue[] PrintSettings = new PropertyValue[0];
+
+ /**
+ * Types of print settings properties by order they returned by
+ * <code>getPagePrintSettings()</code>.
+ */
+ public String[] types = new String[]{"Short","Short","Integer","Integer",
+ "Integer","Integer","Integer","Integer","Boolean"};
+
+ /**
+ * Calls the method and examines the returned array of properties. <p>
+ *
+ * Has <b>OK</b> status if all properties' types are correspond
+ * to their expected values of the <code>types</code> array.
+ *
+ * @see #types
+ */
+ public void _getPagePrintSettings() {
+ boolean res = true;
+ PrintSettings = oObj.getPagePrintSettings();
+
+ for (int i=0;i<PrintSettings.length;i++) {
+ String the_type = PrintSettings[i].Value.getClass().toString();
+ if (!the_type.endsWith(types[i])) {
+ log.println("Name: "+PrintSettings[i].Name);
+ log.println("Value: "+PrintSettings[i].Value);
+ log.println("Type"+the_type);
+ log.println("Expected: java.lang."+types[i]);
+ res = false;
+ }
+ }
+
+ tRes.tested("getPagePrintSettings()",res);
+ }
+
+ /**
+ * Changes a property 'IsLandscape' in existsing print settings,
+ * and sets these settings back. <p>
+ *
+ * Has <b>OK</b> status if settings gotten again has the changed
+ * 'IsLandscape' property value. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPagePrintSettings() </code> : to have existing
+ * print settings. </li>
+ * </ul>
+ */
+ public void _setPagePrintSettings() {
+ requiredMethod("getPagePrintSettings()");
+ boolean res = true;
+
+ Boolean landscape = (Boolean) PrintSettings[8].Value;
+ Boolean newlandscape = new Boolean(!landscape.booleanValue());
+ PrintSettings[8].Value = newlandscape;
+ oObj.setPagePrintSettings(PrintSettings);
+ res = (oObj.getPagePrintSettings()[8].Value.equals(newlandscape));
+
+ tRes.tested("setPagePrintSettings()",res);
+ }
+
+ /**
+ * Creates print options for printing into file situated in the SOffice
+ * temporary directory. If the file already exists it is deleted.
+ * Then calls the method. <p>
+ *
+ * Has <b>OK</b> status if the file to which printing must be performed
+ * is exists.
+ */
+ public void _printPages() {
+ boolean res = true;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ String printFile = utils.getOfficeTemp(xMSF) + "XPagePrintable.prt";
+ log.println("Printing to : "+ printFile);
+
+ PropertyValue[] PrintOptions = new PropertyValue[1];
+ PropertyValue firstProp = new PropertyValue();
+ firstProp.Name = "FileName";
+
+ firstProp.Value = printFile;
+ firstProp.State = com.sun.star.beans.PropertyState.DEFAULT_VALUE;
+ PrintOptions[0] = firstProp;
+
+ if (! util.utils.deleteFile(xMSF, printFile)){
+ log.println("ERROR: could not remove '" + printFile + "'");
+ res = false;
+ }
+
+ oObj.printPages(PrintOptions);
+
+ util.utils.shortWait(tParam.getInt(util.PropertyName.SHORT_WAIT));
+
+ if (! util.utils.fileExists(xMSF, printFile)){
+ log.println("ERROR: could not find '" + printFile + "'");
+ res = false;
+ }
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'printPages'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+
+ tRes.tested("printPages()",res);
+ }
+
+} // finish class _XPagePrintable
+
diff --git a/qadevOOo/tests/java/ifc/text/_XParagraphCursor.java b/qadevOOo/tests/java/ifc/text/_XParagraphCursor.java
new file mode 100644
index 000000000000..1ac572fa5097
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XParagraphCursor.java
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import util.XInstCreator;
+
+import com.sun.star.text.XParagraphCursor;
+
+/**
+ * Testing <code>com.sun.star.text.XParagraphCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isStartOfParagraph()</code></li>
+ * <li><code> isEndOfParagraph()</code></li>
+ * <li><code> gotoStartOfParagraph()</code></li>
+ * <li><code> gotoEndOfParagraph()</code></li>
+ * <li><code> gotoNextParagraph()</code></li>
+ * <li><code> gotoPreviousParagraph()</code></li>
+ * </ul> <p>
+ *
+ * <b>Prerequisites :</b> the text must have at least
+ * two paragraphs. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XParagraphCursor
+ */
+public class _XParagraphCursor extends MultiMethodTest {
+
+ public XParagraphCursor oObj = null; // oObj filled by MultiMethodTest
+ XInstCreator info = null; // instance creator
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _gotoEndOfParagraph(){
+ log.println( "test for gotoEndOfParagraph()" );
+ if (oObj.isEndOfParagraph()) log.println("This is the end of the paragraph");
+ else log.println("This isn't the end of the paragraph");
+ log.println("gotoEndOfParagraph()");
+ boolean result = oObj.gotoEndOfParagraph(false);
+ tRes.tested("gotoEndOfParagraph()", result );
+ if (oObj.isEndOfParagraph()) log.println("This is the end of the paragraph");
+ else log.println("This isn't the end of the paragraph");
+ if (!result) log.println("But 'gotoEndOfParagraph()' returns false");
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>gotoPreviousParagraph()</code> : to be sure next paragraph
+ * exists. </li>
+ * </ul>
+ */
+ public void _gotoNextParagraph(){
+ requiredMethod( "gotoPreviousParagraph()" );
+ log.println( "test for gotoNextParagraph()" );
+ tRes.tested("gotoNextParagraph()", oObj.gotoNextParagraph(false) );
+ }
+
+ /**
+ * First moves the cursor to the next paragraph to be sure
+ * that previous paragraph exists and then calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _gotoPreviousParagraph(){
+ //requiredMethod( "gotoNextParagraph()" );
+ oObj.gotoNextParagraph(false);
+ log.println( "test for gotoPreviousParagraph()" );
+ tRes.tested("gotoPreviousParagraph()", oObj.gotoPreviousParagraph(false) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _gotoStartOfParagraph(){
+ log.println( "test for gotoStartOfParagraph()" );
+ tRes.tested("gotoStartOfParagraph()", oObj.gotoStartOfParagraph(false) );
+ }
+
+ /**
+ * Moves the cursor to the end of paragraph then check if it is
+ * at the end. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _isEndOfParagraph(){
+ oObj.gotoEndOfParagraph(false);
+ log.println( "test for isEndOfParagraph()" );
+ tRes.tested("isEndOfParagraph()", oObj.isEndOfParagraph() );
+ }
+
+ /**
+ * Moves the cursor to the start of paragraph then check if it is
+ * at the start. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _isStartOfParagraph(){
+ oObj.gotoStartOfParagraph(false);
+ log.println( "test for isStartOfParagraph()" );
+ tRes.tested("isStartOfParagraph()", oObj.isStartOfParagraph() );
+ }
+
+ } // finish class _XParagraphCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java b/qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java
new file mode 100644
index 000000000000..9791b127cf1f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XReferenceMarksSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XReferenceMarksSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getReferenceMarks()</code></li>
+ * </ul> <p>
+ *
+ * <b>Prerequisites: </b> the reference mark collection
+ * must contain an element named 'SwXTextDocument' <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XReferenceMarksSupplier
+ */
+public class _XReferenceMarksSupplier extends MultiMethodTest {
+
+ public static XReferenceMarksSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if there is an element
+ * named 'SwXTextDocument' in the returned collection.
+ */
+ public void _getReferenceMarks() {
+ boolean res = false;
+ XNameAccess the_marks = oObj.getReferenceMarks();
+ res = the_marks.hasByName("SwXTextDocument");
+ tRes.tested("getReferenceMarks()",res);
+ }
+
+} // finish class _XReferenceMarksSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java b/qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java
new file mode 100644
index 000000000000..76d94a618a69
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import util.XInstCreator;
+
+import com.sun.star.text.XRelativeTextContentInsert;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Testing <code>com.sun.star.text.XRelativeTextContentInsert</code>
+ * interface methods :
+ * <ul>
+ * <li><code> insertTextContentBefore()</code></li>
+ * <li><code> insertTextContentAfter()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'PARA'</code> (of type <code>XInstCreator</code>):
+ * the creator which can create instances of
+ * <code>com.sun.star.text.Paragraph</code> service. </li>
+ * <li> <code>'XTEXTINFO'</code> (of type <code>XInstCreator</code>):
+ * the creator which can create instances of soem text content
+ * service (objects which implement <code>XTextContent</code>).
+ * </li>
+ * <ul> <p>
+ *
+ * Tested component <b>must implement</b> <code>XText</code>
+ * interface for proper testing. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ */
+public class _XRelativeTextContentInsert extends MultiMethodTest {
+
+ public XRelativeTextContentInsert oObj = null;
+ public XTextContent content = null;
+
+ /**
+ * First an instance of <code>Paragraph</code> service created
+ * using relation and inserted into text. Then an instance
+ * of text content is created and inserted after the paragraph. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured.
+ */
+ public void _insertTextContentAfter() {
+
+ try {
+ XInstCreator para = (XInstCreator)tEnv.getObjRelation( "PARA" );
+ XInterface oInt = para.createInstance();
+ XTextContent new_content = (XTextContent) oInt;
+ XText theText = (XText)
+ UnoRuntime.queryInterface(XText.class,oObj);
+ XTextCursor oCursor = theText.createTextCursor();
+ XInstCreator info = (XInstCreator)
+ tEnv.getObjRelation( "XTEXTINFO" );
+ oInt = info.createInstance();
+ content = (XTextContent) oInt;
+ theText.insertTextContent(oCursor, content, false);
+ oObj.insertTextContentAfter(new_content,content);
+ tRes.tested("insertTextContentAfter()",true);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while checking "+
+ "insertTextContentAfter()");
+ ex.printStackTrace(log);
+ tRes.tested("insertTextContentAfter()",false);
+ }
+
+
+ } // end _insertTextContentAfter()
+
+ /**
+ * An instance of text content is created using relation
+ * and inserted before the paragraph which was added into
+ * text in <code>insertTextContentAfter</code> method test. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertTextContentAfter() </code> : here the
+ * <code>Paragraph</code> instance is inserted. </li>
+ * </ul>
+ */
+ public void _insertTextContentBefore() {
+ requiredMethod("insertTextContentAfter()");
+ try {
+ XInstCreator para = (XInstCreator)tEnv.getObjRelation( "PARA" );
+ XInterface oInt = para.createInstance();
+ XTextContent new_content = (XTextContent) oInt;
+ oObj.insertTextContentBefore(new_content,content);
+ tRes.tested("insertTextContentBefore()",true);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured while checking "+
+ "insertTextContentBefore()");
+ ex.printStackTrace(log);
+ tRes.tested("insertTextContentBefore()",false);
+ }
+
+
+ } // end _insertTextContentBefore()
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XSentenceCursor.java b/qadevOOo/tests/java/ifc/text/_XSentenceCursor.java
new file mode 100644
index 000000000000..95e3a852837e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XSentenceCursor.java
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XSentenceCursor;
+
+/**
+ * Testing <code>com.sun.star.text.XSentenceCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isStartOfSentence()</code></li>
+ * <li><code> isEndOfSentence()</code></li>
+ * <li><code> gotoNextSentence()</code></li>
+ * <li><code> gotoPreviousSentence()</code></li>
+ * <li><code> gotoStartOfSentence()</code></li>
+ * <li><code> gotoEndOfSentence()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XSentenceCursor
+ */
+public class _XSentenceCursor extends MultiMethodTest {
+
+ public XSentenceCursor oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * First goes to next sentence (to be sure that previous exists),
+ * then calls the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _gotoPreviousSentence(){
+ oObj.gotoNextSentence(false);
+ oObj.gotoNextSentence(false);
+ tRes.tested("gotoPreviousSentence()", oObj.gotoPreviousSentence(false) );
+ }
+
+ /**
+ * First goes to previous sentence (to be sure that next exists),
+ * then calls the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _gotoNextSentence(){
+ oObj.gotoPreviousSentence(false) ;
+ oObj.gotoPreviousSentence(false) ;
+ tRes.tested("gotoNextSentence()", oObj.gotoNextSentence(false) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> gotoPreviousSentence() </code> : to be sure the
+ * cursor is in range of some sentence. </li>
+ * </ul>
+ */
+ public void _gotoEndOfSentence(){
+ requiredMethod( "gotoPreviousSentence()" );
+ tRes.tested("gotoEndOfSentence()", oObj.gotoEndOfSentence(false) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> gotoPreviousSentence() </code> : to be sure the
+ * cursor is in range of some sentence. </li>
+ * </ul>
+ */
+ public void _gotoStartOfSentence(){
+ requiredMethod( "gotoPreviousSentence()" );
+ tRes.tested("gotoStartOfSentence()", oObj.gotoStartOfSentence(false) );
+ }
+
+ /**
+ * First moves the cursor to the start of sentence and then calls
+ * the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isStartOfSentence(){
+ oObj.gotoStartOfSentence(false) ;
+ tRes.tested("isStartOfSentence()", oObj.isStartOfSentence() );
+ }
+
+ /**
+ * First moves the cursor to the end of sentence and then calls
+ * the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isEndOfSentence(){
+ oObj.gotoEndOfSentence(false) ;
+ tRes.tested("isEndOfSentence()", oObj.isEndOfSentence() );
+ }
+
+ } // finish class _XSentenceCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XSimpleText.java b/qadevOOo/tests/java/ifc/text/_XSimpleText.java
new file mode 100644
index 000000000000..553aa7bbff96
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XSimpleText.java
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+
+/**
+* Testing <code>com.sun.star.text.XSimpleText</code>
+* interface methods :
+* <ul>
+* <li><code> createTextCursor()</code></li>
+* <li><code> createTextCursorByRange()</code></li>
+* <li><code> insertString()</code></li>
+* <li><code> insertControlCharacter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.text.XSimpleText
+*/
+public class _XSimpleText extends MultiMethodTest {
+
+ XTextCursor oCursor = null;
+ public XSimpleText oObj = null;
+
+ /**
+ * Creates text cursor. <p>
+ * Has <b> OK </b> status if not null value returned. <p>
+ */
+ public void _createTextCursor() {
+
+ log.println( "Testing createTextCursor()" );
+ oCursor = oObj.createTextCursor();
+ tRes.tested( "createTextCursor()", oCursor != null );
+ }
+
+ /**
+ * Inserts a string at the cursor position.<p>
+ * Has <b> OK </b> status if the whole result string has a string
+ * inserted as its substring. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createTextCursor() </code> : to have a cursor
+ * where text should be inserted. </li>
+ * </ul>
+ */
+ public void _insertString() {
+ requiredMethod("createTextCursor()");
+ log.println( "Testing insertString" );
+ String sStr = getInterfaceName() ;
+ oObj.insertString( oCursor, sStr, false );
+ String gStr = oObj.getText().getString() ;
+
+ tRes.tested( "insertString()", gStr != null &&
+ gStr.indexOf(sStr) >= 0) ;
+ }
+
+ /**
+ * Inserts paragraph break character into text and then checks
+ * if this character is present in the result string. <p>
+ * Has <b> OK </b> status if the result string has
+ * paragraph break character. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createTextCursor </code> : to have a cursor object. </li>
+ * </ul>
+ */
+ public void _insertControlCharacter() {
+ boolean bOK = true;
+
+ requiredMethod("createTextCursor()");
+ log.println( "Testing insertControlCharacter()" );
+ try {
+ oObj.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oObj.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false);
+ oObj.insertString(oObj.createTextCursor(),"newLine",false);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e ) {
+ // Some exception.FAILED
+ Status.failed( e.toString() );
+ bOK = false;
+ }
+ String gStr = oObj.getString() ;
+
+ tRes.tested( "insertControlCharacter()", bOK && gStr != null &&
+ gStr.indexOf("\n") > -1);
+ }
+
+ /**
+ * Creates another text cursor using existing cursor's range. <p>
+ * Has <b> OK </b> status if not null value returned. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createTextCursor </code> : to have a cursor object. </li>
+ * </ul>
+ */
+ public void _createTextCursorByRange() {
+
+ requiredMethod("createTextCursor()");
+ oCursor.gotoStart(false);
+ log.println( "Testing createTextCursorByRange()" );
+ XTextCursor oTCursor = oObj.createTextCursorByRange(oCursor);
+ tRes.tested("createTextCursorByRange()", oTCursor != null) ;
+ }
+} // finish class _XSimpleText
+
diff --git a/qadevOOo/tests/java/ifc/text/_XText.java b/qadevOOo/tests/java/ifc/text/_XText.java
new file mode 100644
index 000000000000..41d3f6a91db6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XText.java
@@ -0,0 +1,170 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.XInstCreator;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.XInterface;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.text.XText</code>
+ * interface methods :
+ * <ul>
+ * <li><code> insertTextContent()</code></li>
+ * <li><code> removeTextContent()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XTEXTINFO'</code> (of type <code>lib.XInstCreator</code>):
+ * creator which can create instances of <code>XTextContent</code>
+ * implementations. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XText
+ */
+public class _XText extends MultiMethodTest {
+
+ public static XText oObj = null; // oObj filled by MultiMethodTest
+ XTextCursor oCursor = null; // textcursor
+ XInstCreator info = null; // instance creator
+ XInterface oInt = null; // instance to insert and remove
+
+ /**
+ * First an instance of text content is created using relation
+ * and inserted into text. Then the number of contents is checked
+ * using the relation. Second a <code>null</code> content is tried
+ * to insert. <p>
+ *
+ * Has <b> OK </b> status if in the first case after inserting number
+ * of content objects is greater than zero and in the second
+ * case <code>IllegalArgumentException</code> is thrown. <p>
+ */
+ public void _insertTextContent() {
+ boolean result = false;
+ info = (XInstCreator)tEnv.getObjRelation( "XTEXTINFO" );
+ oInt = info.createInstance();
+
+ // write to log what we try next
+ log.println( "test for createTextCursor()" );
+ oCursor = oObj.createTextCursor();
+
+ // write to log what we try next
+ log.println( "test for insertTextContent()" );
+ try {
+ oObj.insertTextContent(oCursor, (XTextContent)oInt, false);
+ }
+ catch( com.sun.star.lang.IllegalArgumentException iaE ){
+ throw new StatusException("Couldn't insert textcontent",iaE);
+ //Status.failed(iaE.toString());
+ //return;
+ }
+
+ // get indexaccess to the tablecollection
+ XIndexAccess xIA = info.getCollection();
+
+ // this comparision works just because it has to be at least one
+ // table at this point regardless which thread inserted it
+ // there is although the possibility that the first threads call
+ // failed, the second not and comparision happens after second threads
+ // otherwise if something fails it should have thrown an exception
+ //tRes.tested("insertTextContent()", xIA.getCount() > 0 );
+
+ if (xIA != null ) {
+ result = (xIA.getCount()>0);
+ } else {
+ result = true;
+ }
+
+ if (!result) log.println("The TextContent wasn't inserted");
+
+
+ // try to insert an invalid TextContent
+ log.println( "test for insertTextContent" );
+ try {
+ oObj.insertTextContent(oCursor, null, false);
+ log.println("The expected Exception doesn't occured");
+ result &= false;
+ }
+ catch( com.sun.star.lang.IllegalArgumentException iaE ){
+ // Some exception.FAILED
+ log.println("Expected Exception occured");
+ String msg = iaE.getMessage();
+ if (msg.equals("")) {
+ log.println("But there is not detailed message");
+ } else {
+ log.println("Detailed message: "+msg);
+ }
+
+ result &= true;
+ }
+
+ tRes.tested("insertTextContent()", result );
+ }
+
+
+ /**
+ * Removes the text contet added before. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertTextContent() </code> : inserts the content
+ * to be removed in this test. </li>
+ * </ul>
+ */
+ public void _removeTextContent() {
+
+ // leads to a method which should be called previously
+ requiredMethod( "insertTextContent()" );
+
+ // write to log what we try next
+ log.println( "test for removeTextContent" );
+ try {
+ oObj.removeTextContent( (XTextContent)oInt );
+ //oObj.removeTextContent( (XTextContent)oInt );
+ }
+ catch( com.sun.star.container.NoSuchElementException nseE ){
+ // Some exception.FAILED
+ Status.failed( nseE.toString() );
+ return;
+ }
+
+ // no exception occured so it works
+ tRes.tested( "removeTextContent()", true );
+
+ }
+} // finish class _XText
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextColumns.java b/qadevOOo/tests/java/ifc/text/_XTextColumns.java
new file mode 100644
index 000000000000..bc9bc59c814b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextColumns.java
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.TextColumn;
+import com.sun.star.text.XTextColumns;
+
+/**
+ * Testing <code>com.sun.star.text.XTextColumns</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getReferenceValue()</code></li>
+ * <li><code> getColumnCount()</code></li>
+ * <li><code> setColumnCount()</code></li>
+ * <li><code> getColumns()</code></li>
+ * <li><code> setColumns()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextColumns
+ */
+public class _XTextColumns extends MultiMethodTest {
+
+ public XTextColumns oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * positive value.
+ */
+ public void _getColumnCount(){
+
+ short howmuch = oObj.getColumnCount();
+ tRes.tested("getColumnCount()",howmuch >=0);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getColumns(){
+ TextColumn[] cols = oObj.getColumns();
+ tRes.tested("getColumns()",cols != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * positive value.
+ */
+ public void _getReferenceValue(){
+
+ int ref = oObj.getReferenceValue();
+ tRes.tested("getReferenceValue()",ref >0);
+ }
+
+ /**
+ * Sets the column count property to some value
+ * then checks it by <code>getColumnCount</code> method. <p>
+ *
+ * Has <b>OK</b> status if set and get values are equal.
+ */
+ public void _setColumnCount(){
+
+ oObj.setColumnCount((short) 3);
+ short howmuch = oObj.getColumnCount();
+ tRes.tested("setColumnCount()",howmuch == 3);
+ }
+
+ /**
+ * Sets columns to some array
+ * then checks it by <code>getColumns</code> method. <p>
+ *
+ * Has <b>OK</b> status if set and get arays are equal.
+ */
+ public void _setColumns(){
+
+ TextColumn newCol = new TextColumn(5,1,1);
+ TextColumn[] cols = {newCol};
+ oObj.setColumns(cols);
+ TextColumn[] gCols = oObj.getColumns();
+ tRes.tested("setColumns()",util.ValueComparer.equalValue(cols, gCols));
+ }
+
+} // finish class _XTextColumns
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextContent.java b/qadevOOo/tests/java/ifc/text/_XTextContent.java
new file mode 100644
index 000000000000..52ca11ab9f8d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextContent.java
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextRange;
+
+/**
+ * Testing <code>com.sun.star.text.XTextContent</code>
+ * interface methods :
+ * <ul>
+ * <li><code> attach()</code></li>
+ * <li><code> getAnchor()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'CONTENT'</code> <b>optional</b>
+ * (of type <code>XTextContent</code>):
+ * if this relation exists than it is used as the
+ * tested object. </li>
+ * <li> <code>'TEXT'</code> <b>optional</b>
+ * (of type <code>XText</code>):
+ * the relation must be specified if the 'CONTENT'
+ * relation exists. From this relation an anchor
+ * for <code>attach()</code> method is obtained.</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextContent
+ */
+public class _XTextContent extends MultiMethodTest {
+ public XTextContent oObj = null;
+ public XTextRange oAnchor = null;
+
+ /**
+ * Tries to get the anchor of the text content
+ * an XTextRange is returned. <p>
+ * The test is OK if an not null text range is returned
+ */
+ public void _getAnchor() {
+ log.println("getAnchor()");
+ oAnchor = oObj.getAnchor();
+ tRes.tested("getAnchor()", oAnchor != null ) ;
+
+ } // end getAnchor()
+
+ /**
+ * Tries to attach the text content to the test range
+ * gotten with getAnchor(). If relations are found
+ * then they are are used for testing. <p>
+ *
+ * The test is OK if the method works without error.
+ * @see #_getAnchor()
+ */
+ public void _attach() {
+ requiredMethod("getAnchor()");
+ try {
+ XTextContent aContent = (XTextContent) tEnv.getObjRelation("CONTENT");
+ XTextRange aRange = (XTextRange) tEnv.getObjRelation("RANGE");
+
+ if ( aContent !=null) {
+ aContent.attach(aRange);
+ } else {
+ oObj.attach(aRange);
+ }
+ tRes.tested("attach()", true ) ;
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ String noAttach = (String) tEnv.getObjRelation("NoAttach");
+ if (noAttach != null) {
+ log.println("Exception expected for "+noAttach);
+ log.println("This Component doesn't support attach");
+ tRes.tested("attach()",true);
+ } else {
+ ex.printStackTrace(log);
+ tRes.tested("attach()",false);
+ }
+ } catch (com.sun.star.uno.RuntimeException re) {
+ String noAttach = (String) tEnv.getObjRelation("NoAttach");
+ if (noAttach != null) {
+ log.println("Exception expected for "+noAttach);
+ log.println("This Component doesn't support attach");
+ tRes.tested("attach()",true);
+ } else {
+ re.printStackTrace(log);
+ tRes.tested("attach()",false);
+ }
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextCursor.java b/qadevOOo/tests/java/ifc/text/_XTextCursor.java
new file mode 100644
index 000000000000..cc91e0d9f8f7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextCursor.java
@@ -0,0 +1,242 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextCursor;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> collapseToStart()</code></li>
+ * <li><code> collapseToEnd()</code></li>
+ * <li><code> isCollapsed()</code></li>
+ * <li><code> goLeft()</code></li>
+ * <li><code> goRight()</code></li>
+ * <li><code> gotoStart()</code></li>
+ * <li><code> gotoEnd()</code></li>
+ * <li><code> gotoRange()</code></li>
+ * </ul> <p>
+ *
+ * During this test the component text is changed,
+ * that's why it must be stored before methods' tests,
+ * and restored after. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextCursor
+ */
+public class _XTextCursor extends MultiMethodTest {
+
+ public XTextCursor oObj = null; // oObj filled by MultiMethodTest
+ String oldText = null ;
+
+ /**
+ * Stores component's text.
+ */
+ public void before() {
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oldText = oObj.getString() ;
+ }
+
+ /**
+ * First some text is set (for component to has at least some
+ * text), cursor is expanded to the whole text (to be not collapsed),
+ * the <code>collapseToEnd</code> is called. Then current cursor
+ * text is examined. <p>
+ *
+ * Has <b>OK</b> status if the current cursor text is an
+ * empty string.
+ */
+ public void _collapseToEnd(){
+ boolean bCol = false;
+
+ oObj.setString("XTextCursor");
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oObj.collapseToEnd();
+ bCol = oObj.getString().equals("");
+ tRes.tested("collapseToEnd()", bCol );
+ }
+
+ /**
+ * First some text is set (for component to has at least some
+ * text), cursor is expanded to the whole text (to be not collapsed),
+ * the <code>collapseToStart</code> is called. Then current cursor
+ * text is examined. <p>
+ *
+ * Has <b>OK</b> status if the current cursor text is an
+ * empty string.
+ */
+ public void _collapseToStart(){
+ boolean bCol = false;
+ oObj.setString("XTextCursor");
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+
+ oObj.collapseToStart();
+ bCol = oObj.getString().equals("");
+ tRes.tested("collapseToStart()", bCol );
+ }
+
+ /**
+ * First the cursor is moved to the end of text (to have a space
+ * for left cursor moving, and moves the cursor left by a number
+ * of characters. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>,
+ * and the current cursor string has the same length as number
+ * of characters the cursor was moved by.
+ */
+ public void _goLeft(){
+ boolean bLeft = false;
+ short n = 5;
+
+ oObj.gotoEnd(false);
+ bLeft = oObj.goLeft(n, true);
+ String gStr = oObj.getString() ;
+ log.println("'" + gStr + "'") ;
+ bLeft &= gStr.length() == n ;
+
+ tRes.tested("goLeft()", bLeft );
+ }
+
+ /**
+ * First the cursor is moved to the start of text (to have a space
+ * for right cursor moving, and moves the cursor right by a number
+ * of characters. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>,
+ * and the current cursor string has the same length as number
+ * of characters the cursor was moved by.
+ */
+ public void _goRight(){
+ boolean bRight = false;
+ short n = 5;
+
+ oObj.gotoStart(false);
+ bRight = oObj.goRight(n, true);
+
+ String gStr = oObj.getString() ;
+ log.println("'" + gStr + "'") ;
+ bRight &= gStr.length() == n ;
+
+ tRes.tested("goRight()", bRight );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method <code>goRight()</code>
+ * returns <code>false</code> (cursor can't move to the right).
+ */
+ public void _gotoEnd(){
+ boolean bEnd = false;
+ short n = 1;
+
+ oObj.gotoEnd(false);
+ bEnd = !oObj.goRight(n, false) ;
+
+ tRes.tested("gotoEnd()", bEnd );
+ }
+
+ /**
+ * First the whole text is set to a string, and cursor
+ * is moved to the range situated at the start of the
+ * text. <p>
+ *
+ * Has <b>OK</b> status if some characters to the right
+ * of the current cursor position are the beginning of
+ * the text.
+ */
+ public void _gotoRange(){
+ boolean bRange = false;
+
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oObj.setString("XTextCursor,XTextCursor");
+ oObj.gotoRange(oObj.getStart(),false);
+ oObj.goRight((short) 5, true);
+ bRange = oObj.getString().equals("XText");
+
+ if (!bRange) log.println("getString() returned '" +
+ oObj.getString() + "'") ;
+
+ tRes.tested("gotoRange()", bRange );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method <code>goLeft()</code>
+ * returns <code>false</code> (cursor can't move to the left).
+ */
+ public void _gotoStart(){
+ boolean bStart = false;
+ short n = 1;
+
+ oObj.gotoStart(false);
+ bStart = !oObj.goLeft(n, false) ;
+
+ tRes.tested("gotoStart()", bStart );
+ }
+
+ /**
+ * First the cusor is moved to start without expanding
+ * (must be collapsed), and then it's expanded to the
+ * whole text (must not be collapsed). <p>
+ *
+ * Has <b>OK</b> status if in the first case method
+ * <code>isCollapsed</code> returns <code>true</code>,
+ * and in the second <code>false</code>
+ */
+ public void _isCollapsed(){
+ boolean bCol = false;
+
+ oObj.gotoStart(false);
+ bCol = oObj.isCollapsed();
+
+ oObj.gotoEnd(true);
+ bCol &= !oObj.isCollapsed() ;
+
+ tRes.tested("isCollapsed()", bCol );
+ }
+
+ /**
+ * Restores the text of the component to the
+ * state it was before this interafce test.
+ */
+ public void after() {
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oObj.setString(oldText) ;
+ }
+
+} // finish class _XTextCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextDocument.java b/qadevOOo/tests/java/ifc/text/_XTextDocument.java
new file mode 100644
index 000000000000..5022aba6aecd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextDocument.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+
+/**
+ * Testing <code>com.sun.star.text.XTextDocument</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getText()</code></li>
+ * <li><code> reformat()</code></li>
+ * </ul> <p>
+ * Test is multithread compilant. <p>
+ * @see com.sun.star.text.XTextDocument
+ */
+public class _XTextDocument extends MultiMethodTest {
+
+ public XTextDocument oObj = null;
+ public XText myText = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getText(){
+ myText = oObj.getText();
+ tRes.tested("getText()", myText != null );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _reformat(){
+ oObj.reformat();
+ tRes.tested("reformat()", true );
+ }
+
+} // finish class _XTextDocument
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObject.java b/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObject.java
new file mode 100644
index 000000000000..7918235a20a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObject.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextEmbeddedObject;
+
+public class _XTextEmbeddedObject extends MultiMethodTest {
+
+ public XTextEmbeddedObject oObj = null;
+ public _XTextEmbeddedObject(){
+ }
+
+
+ public void _getObject(){
+ boolean bResult = false;
+ log.println("Going to get the object");
+ //dbg.printInterfaces(oObj);
+ Object oTEobj = oObj.getObject();
+ if (!(oTEobj == null)){ bResult = true; }
+ tRes.tested("getObject", bResult );
+ return;
+ }
+
+/* public void _setObject(){
+ boolean bResult = false;
+ log.println("Going to set the object");
+ tRes.tested("setObject", bResult );
+ return;
+ }
+*/
+ } // finish class _XTextEmbeddedObject
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java
new file mode 100644
index 000000000000..cea9db145382
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XTextEmbeddedObjectsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getEmbeddedObjects()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextEmbeddedObjectsSupplier
+ */
+public class _XTextEmbeddedObjectsSupplier extends MultiMethodTest {
+
+ public XTextEmbeddedObjectsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getEmbeddedObjects(){
+ boolean bResult = false;
+ XNameAccess oNA = oObj.getEmbeddedObjects();
+ bResult = oNA != null ;
+ tRes.tested("getEmbeddedObjects()", bResult );
+ }
+
+ } // finish class _XTextEmbeddedObjectsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextField.java b/qadevOOo/tests/java/ifc/text/_XTextField.java
new file mode 100644
index 000000000000..8cdfc3ce1fa3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextField.java
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextField;
+
+/**
+ * Testing <code>com.sun.star.text.XTextField</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPresentation()</code></li>
+ * </ul> <p>
+ * Test is multithread compilant. <p>
+ * @see com.sun.star.text.XTextField
+ */
+public class _XTextField extends MultiMethodTest{
+ public XTextField oObj = null;
+
+ /**
+ * Calls the method with <code>true</code> and <code>false</code>
+ * parameter. <p>
+ * Has <b>OK</b> status if in both cases not <code>null</code>
+ * value returned.
+ */
+ public void _getPresentation() {
+
+ boolean result = true;
+
+ // begin test here
+ log.println("getting presentetion with bShowCommand flag...");
+ result &= oObj.getPresentation(true) != null;
+ log.println("getting presentetion without bShowCommand flag...");
+ result &= oObj.getPresentation(false) != null;
+
+ tRes.tested( "getPresentation()", result );
+
+ } // end getPresentation()
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java
new file mode 100755
index 000000000000..eaacd4a5966a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XTextFieldsSupplier extends MultiMethodTest {
+
+ public XTextFieldsSupplier oObj = null; // oObj filled by MultiMethodTest
+ private boolean mDispose = false;
+ private boolean mbCreateFieldMaster = true;
+
+ /**
+ * Insert some text fields into a cell on the sheet, so this interface test
+ * makes sense.
+ */
+ protected void before() {
+ Object o = tEnv.getObjRelation("XTextFieldsSupplier.MAKEENTRY");
+ if (o != null && ((Boolean)o).booleanValue()) {
+ mDispose = true;
+ mbCreateFieldMaster = false;
+ XCell xCell = (XCell)tEnv.getObjRelation("MAKEENTRYINCELL");
+
+ XSpreadsheetDocument xSheetDoc = (XSpreadsheetDocument)tEnv.getObjRelation("SPREADSHEET");
+
+ XInterface oObj = null;
+ XText oText = null;
+ XTextContent oContent = null;
+ XInterface aField = null;
+
+ try {
+ // we want to create an instance of ScCellFieldObj.
+ // to do this we must get an MultiServiceFactory.
+
+ XMultiServiceFactory _oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xSheetDoc);
+
+ aField = (XInterface)
+ _oMSF.createInstance("com.sun.star.text.TextField.URL");
+ oContent = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, aField);
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ String[] services = _oMSF.getAvailableServiceNames();
+ for (int i=0; i<services.length; i++) {
+ if (services[i].startsWith("com.sun.star.text.FieldMaster")) {
+ mbCreateFieldMaster = true;
+ log.println("service " + i + ": " + services[i]);
+ }
+ }
+
+ if (mbCreateFieldMaster) {
+ Object FieldMaster = _oMSF.createInstance("com.sun.star.text.FieldMaster.User");
+ XPropertySet PFieldMaster = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class,(XInterface) FieldMaster);
+
+ XDependentTextField xTF = (XDependentTextField)
+ UnoRuntime.queryInterface(XDependentTextField.class,aField);
+
+ PFieldMaster.setPropertyValue("Content","Some content");
+
+ xTF.attachTextFieldMaster(PFieldMaster);
+ }
+
+ oText = (XText)UnoRuntime.queryInterface(XText.class, xCell);
+ XTextCursor the_Cursor = oText.createTextCursor();
+
+ oText.insertTextContent(
+ the_Cursor, oContent, true);
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ }
+
+ }
+ }
+
+ public void _getTextFields() {
+ XEnumerationAccess xEnumAccess = oObj.getTextFields();
+ XEnumeration xEnum = xEnumAccess.createEnumeration();
+ while(xEnum != null && xEnum.hasMoreElements()) {
+ try {
+ Object o = xEnum.nextElement();
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ setMethodFalse("getTextFields()", e);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ setMethodFalse("getTextFields()", e);
+ }
+ }
+ tRes.tested("getTextFields()", xEnum != null);
+ }
+
+ public void _getTextFieldMasters() {
+ if (mbCreateFieldMaster) {
+ XNameAccess xName = oObj.getTextFieldMasters();
+ util.dbg.printInterfaces(xName);
+ tRes.tested("getTextFieldMasters()", xName != null);
+ }
+ else {
+ log.println("Could not test 'getTextFieldMasters' because no field masters can be created on this object.");
+ tRes.tested("getTextFieldMasters()", true);
+ }
+ }
+
+ /**
+ * Just for convenience: log the exception and set the method false.
+ * @param method The name of the method to set to false.
+ * @param e The Exception that occured.
+ */
+ private void setMethodFalse(String method, Exception e) {
+ log.println("Exception while executing '" + method + "'");
+ e.printStackTrace((PrintWriter)log);
+ tRes.tested(method, false);
+ }
+
+ protected void after() {
+ if (mDispose)
+ disposeEnvironment();
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/text/_XTextFrame.java b/qadevOOo/tests/java/ifc/text/_XTextFrame.java
new file mode 100644
index 000000000000..99cc4307604a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextFrame.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextFrame;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextFrame</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getText()</code></li>
+ * </ul> <p>
+ *
+ * The frame <b>must contain</b> the text 'The FrameText'
+ * for proper interface testing. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextFrame
+ */
+public class _XTextFrame extends MultiMethodTest {
+
+ public XTextFrame oObj = null;
+
+ /**
+ * Gets the text of the frame. <p>
+ *
+ * Has <b>OK</b> status if the text is equal to 'The FrameText'.
+ */
+ public void _getText() {
+
+ log.println("Testing getText ...");
+ XText oFrameText = oObj.getText();
+ String Content = oFrameText.getString();
+ tRes.tested( "getText()",Content.equals("The FrameText") );
+ }
+
+} // finish class _XTextFrame
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java
new file mode 100644
index 000000000000..342190f9381f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextFramesSupplier;
+import lib.MultiMethodTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextFramesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getTextFrames()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextFramesSupplier
+ */
+public class _XTextFramesSupplier extends MultiMethodTest {
+
+ public static XTextFramesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getTextFrames() {
+ boolean res = false;
+
+ XNameAccess the_frames = oObj.getTextFrames();
+ log.println("Found: ");
+ util.dbg.printArray(the_frames.getElementNames());
+ res = the_frames.getElementNames().length>0;
+
+ tRes.tested("getTextFrames()",res);
+ }
+
+} // finish class _XTextFramesSupplier
diff --git a/qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java
new file mode 100644
index 000000000000..adb93480ff04
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextGraphicObjectsSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XTextGraphicObjectsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getGraphicObjects()</code></li>
+ * </ul> <p>
+ *
+ * The component <b>must have</b> the graphic object with
+ * name 'SwXTextDocument'. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextGraphicObjectsSupplier
+ */
+public class _XTextGraphicObjectsSupplier extends MultiMethodTest {
+
+ public static XTextGraphicObjectsSupplier oObj = null;
+
+ /**
+ * Gets graphic objects collection from the component, and checks
+ * if the object with name 'SwXTextDocument' exists. <p>
+ * Has <b>OK</b> status if the object exists.
+ */
+ public void _getGraphicObjects() {
+ boolean res = false;
+
+ XNameAccess the_graphics = oObj.getGraphicObjects();
+ res = the_graphics.hasByName("SwXTextDocument");
+
+ tRes.tested("getGraphicObjects()",res);
+ }
+
+} // finish class _XTextGraphicObjectsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextRange.java b/qadevOOo/tests/java/ifc/text/_XTextRange.java
new file mode 100644
index 000000000000..304bc065e7ab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextRange.java
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextRange;
+
+
+/**
+* Testing <code>com.sun.star.text.XTextRange</code>
+* interface methods :
+* <ul>
+* <li><code> getText()</code></li>
+* <li><code> getStart()</code></li>
+* <li><code> getEnd()</code></li>
+* <li><code> getString()</code></li>
+* <li><code> setString()</code></li>
+* </ul> <p>
+* First the content is set to 'Middle' string value, then
+* start range is retrieved and its content is set to 'Start'
+* and end range is set to 'End'. Finally the whole TextRange
+* is checked and it must be 'StartMiddleEnd'. <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.text.XTextRange
+*/
+public class _XTextRange extends MultiMethodTest {
+
+ public XTextRange oObj = null; // oObj is filled by setField()
+ // in MultiMethodTest
+ XTextRange oStartRange = null; // startrange of textrang
+ XTextRange oEndRange = null; // endrange of textrang
+ String startStr = null; // string in startrange
+ String endStr = null; // string in endrange
+
+ /**
+ * Retrieves the start range and sets its context to
+ * 'Start' string. <p>
+ * Has <b>OK</b> status if the whole range string starts
+ * with 'Start' substring. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setString </code> </li>
+ * </ul>
+ */
+ public void _getStart() {
+
+ XText the_text = (XText) tEnv.getObjRelation("XTEXT");
+
+ if (the_text != null) {
+ the_text.setString("");
+ }
+
+ String exp="";
+
+ oObj.setString("MiddleEnd");
+
+ oStartRange = oObj.getStart();
+ oStartRange.setString("Start");
+
+ if (the_text !=null) {
+ exp = the_text.getString();
+ } else exp = oObj.getText().getString();
+
+ log.println("Start: "+exp);
+
+ tRes.tested( "getStart()", oStartRange != null &&
+ exp.startsWith("Start"));
+
+
+ oStartRange.setString("");
+
+ }
+
+ /**
+ * Retrieves the end range and sets its context to
+ * 'End' string. <p>
+ * Has <b>OK</b> status if the whole range string ends
+ * with 'End' substring. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setString </code> </li>
+ * </ul>
+ */
+ public void _getEnd() {
+ XText the_text = (XText) tEnv.getObjRelation("XTEXT");
+
+ if (the_text != null) {
+ the_text.setString("");
+ }
+
+ String exp="";
+ oObj.setString("StartMiddle");
+
+ oEndRange = oObj.getEnd();
+ oEndRange.setString("End");
+
+ if (the_text !=null) {
+ exp = the_text.getString();
+ } else exp = oObj.getText().getString();
+
+ log.println("End: "+exp);
+
+ tRes.tested( "getEnd()", oEndRange != null &&
+ exp.endsWith("End"));
+
+ oEndRange.setString("");
+ }
+
+ /**
+ * Gets the text of the range and retrieves its String content. <p>
+ * Has <b>OK</b> status if the string returned equals to
+ * 'StartMiddleEnd' value. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setString </code> to get finally the string expected.</li>
+ * <li> <code> getStart </code> to get finally the string expected.</li>
+ * <li> <code> getEnd </code> to get finally the string expected.</li>
+ * </ul>
+ */
+ public void _getText() {
+ requiredMethod("setString()");
+ requiredMethod("getStart()");
+ requiredMethod("getEnd()");
+
+ XText txt = oObj.getText() ;
+
+ tRes.tested( "getText()", txt != null &&
+ txt.getString().equals("StartMiddle"));
+ }
+
+ /**
+ * Gets the String of the range. <p>
+ * Has <b>OK</b> status if the string returned equals to
+ * 'StartMiddleEnd' value. <p>
+ */
+ public void _getString() {
+
+ oObj.setString("StartMiddleEnd");
+ String gStr = oObj.getString() ;
+
+ tRes.tested( "getString()", gStr != null &&
+ gStr.equals("StartMiddleEnd"));
+
+ }
+
+ /**
+ * Sets the string content of the range to 'Middle' value. <p>
+ * Has <b>OK</b> status if <code>getString</code> method returns
+ * 'Middle' value.
+ */
+ public void _setString() {
+ oObj.setString("Middle") ;
+
+ tRes.tested("setString()", "Middle".equals(oObj.getString())) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java b/qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java
new file mode 100644
index 000000000000..da7f7c98c0ba
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java
@@ -0,0 +1,189 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextRangeCompare;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Testing <code>com.sun.star.text.XTextRangeCompare</code>
+ * interface methods :
+ * <ul>
+ * <li><code> compareRegionStarts()</code></li>
+ * <li><code> compareRegionEnds()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TEXTDOC'</code> <b>optional</b>
+ * (must implement <code>XTextDocument</code>):
+ * can be used to obtain <code>Text</code> of the document from
+ * which cursors can be created.
+ * If the relation does not exist, the relation <code>TEXT</code>
+ * must be specified. </li>
+ * <li> <code>'TEXT'</code> <b>optional</b>
+ * (of type <code>XText</code>):
+ * used to create text cursor.
+ * If the relation does not exist, the relation <code>TEXTDOC</code>
+ * must be specified. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextRangeCompare
+ */
+public class _XTextRangeCompare extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XTextRangeCompare oObj = null;
+
+
+ String nameStr = null;
+
+ XTextRange oRange = null;
+ XTextCursor cursor1 = null;
+ XTextCursor cursor2 = null;
+ String startStr = null;
+ String endStr = null;
+ XText oText = null;
+
+ /**
+ * Retrieves <code>XText</code> interface from relation 'TEXTDOC'
+ * or from 'TEXT'.
+ * @throws StatusException If neither 'TEXTDOC' nore 'TEXT'
+ * relation exists.
+ */
+ public void before() {
+ nameStr = this.getClass().getName();
+
+ XInterface oIfc = (XInterface)tEnv.getObjRelation("TEXTDOC");
+ if (oIfc!=null) {
+ XTextDocument oTDoc = (XTextDocument)UnoRuntime.queryInterface(
+ XTextDocument.class, oIfc);
+ oText = oTDoc.getText();
+ }
+ XText aText = (XText) tEnv.getObjRelation("TEXT");
+ if (aText != null) {
+ oText = aText;
+ }
+
+ if (oText == null) {
+ throw new StatusException(Status.failed
+ ("Neither 'TEXTDOC' nore 'TEXT' relation not found")) ;
+ }
+ }
+
+ /**
+ * One cursor is created and to its position a paragraph
+ * inserted, then the fist five characters was selected.
+ * A second cursor was created and the last 7 characteres
+ * was selected.<p>
+ *
+ * Has <b>OK</b> status if the compare returns 1, i.e.
+ * the second cursor end is before the first.
+ */
+ public void _compareRegionEnds() {
+ boolean bResult = false;
+ short n = 0;
+ log.println( "testing compareRegionEnds()" );
+
+ try{
+ cursor1 = oText.createTextCursor();
+ oText.insertString(cursor1, nameStr, false);
+
+ cursor1.gotoStart(false);
+ cursor1.goRight((short)5, true);
+ cursor2 = oText.createTextCursor();
+ cursor2.gotoEnd(false);
+ cursor2.goLeft((short)7, true);
+
+ log.println("hole text: '" + oText.getString() + "'");
+ log.println("cursor1: '"+cursor1.getString() + "'");
+ log.println("cursor2: '"+cursor2.getString() + "'");
+ log.println("check: oObj.compareRegionStarts(cursor1, cursor2)");
+
+ n = oObj.compareRegionEnds(cursor1, cursor2);
+
+ log.println( "Result (short) : " + n );
+ }catch(com.sun.star.lang.IllegalArgumentException e){
+ log.println( "Exception: " + e);
+ e.printStackTrace(log);
+ }
+
+ if (n == 1){bResult = true;}
+ tRes.tested( "compareRegionEnds()", bResult );
+ }
+
+ /**
+ * One cursor is created and to its position a paragraph
+ * inserted, then the fist five characters was selected.
+ * A second cursor was created and the last 7 characters
+ * was selected.<p>
+ *
+ * Has <b>OK</b> status if the compare returns 1, i.e.
+ * the second cursor start is before the first.
+ */
+ public void _compareRegionStarts() {
+ boolean bResult = false;
+ short n = 0;
+
+ try{
+ cursor1 = oText.createTextCursor();
+ oText.insertString(cursor1, nameStr, false);
+
+ cursor1.gotoStart(false);
+ cursor1.goRight((short)5, true);
+ cursor2 = oText.createTextCursor();
+ cursor2.gotoEnd(false);
+ cursor2.goLeft((short)7, true);
+
+ log.println("hole text: '" + oText.getString() + "'");
+ log.println("cursor1: '"+cursor1.getString() + "'");
+ log.println("cursor2: '"+cursor2.getString() + "'");
+ log.println("check: oObj.compareRegionStarts(cursor1, cursor2)");
+ n = oObj.compareRegionStarts(cursor1, cursor2);
+
+ log.println( "Result (short) : " + n );
+ }catch(com.sun.star.lang.IllegalArgumentException e){
+ log.println( "Exception: " + e);
+ e.printStackTrace(log);
+ }
+ if (n == 1){bResult = true;}
+ tRes.tested( "compareRegionStarts()", bResult );
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextRangeMover.java b/qadevOOo/tests/java/ifc/text/_XTextRangeMover.java
new file mode 100644
index 000000000000..b6320fb19582
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextRangeMover.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextRangeMover;
+
+/**
+ * Testing <code>com.sun.star.text.XTextRangeMover</code>
+ * interface methods :
+ * <ul>
+ * <li><code> moveTextRange()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'RangeForMove'</code> (of type <code>XTextRange</code>):
+ * the range to be moved. </li>
+ * <li> <code>'XTextRange'</code> (of type <code>XTextRange</code>):
+ * the range that includes moving range. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextRangeMover
+ */
+public class _XTextRangeMover extends MultiMethodTest {
+
+ public XTextRangeMover oObj = null;
+
+ XTextRange xTextRange = null;
+ XTextRange oMoveRange = null;
+
+ /**
+ * Moves the range obtained from relation 'RangeForMove' by 1 paragraph
+ * and compares index of moved string in the whole text obtained
+ * from relation 'XTextRange'. <p>
+ * Has <b>OK</b> status if index of moved range is changed after method call.
+ */
+ public void _moveTextRange(){
+ oMoveRange = (XTextRange) tEnv.getObjRelation("RangeForMove");
+ xTextRange = (XTextRange) tEnv.getObjRelation("XTextRange");
+
+ if (oMoveRange == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'RangeForMove'"));
+ }
+
+ if (xTextRange == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'XTextRange'"));
+ }
+
+ log.println("Content before moving:");
+ log.println(xTextRange.getString());
+ log.println("Text range for moving:");
+ log.println(oMoveRange.getString());
+ int indexBefore = xTextRange.getString().indexOf(oMoveRange.getString());
+ oObj.moveTextRange(oMoveRange,(short) 1);
+ log.println("Content after moving:");
+ log.println(xTextRange.getString());
+ int indexAfter = xTextRange.getString().indexOf(oMoveRange.getString());
+
+ boolean res = indexBefore != indexAfter;
+ log.println("Index before moving:" + indexBefore);
+ log.println("Index after moving:" + indexAfter);
+
+ tRes.tested("moveTextRange()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextSection.java b/qadevOOo/tests/java/ifc/text/_XTextSection.java
new file mode 100644
index 000000000000..030764bd2205
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextSection.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextSection;
+
+/**
+ * Testing <code>com.sun.star.text.XTextSection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getParentSection()</code></li>
+ * <li><code> getChildSections()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextSection
+ */
+public class _XTextSection extends MultiMethodTest {
+
+ public static XTextSection oObj = null;
+ public XTextSection child = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns non zero legth array.
+ */
+ public void _getChildSections(){
+ boolean bResult = false;
+ XTextSection oSect[] = oObj.getChildSections();
+ if (oSect.length > 0){
+ bResult = true;
+ child = oSect[0];
+ }
+ tRes.tested("getChildSections()", bResult);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getParentSection(){
+ requiredMethod("getChildSections()");
+ boolean bResult = false;
+ bResult = (child.getParentSection() != null);
+ tRes.tested("getParentSection()", bResult);
+ }
+
+
+} // finish class _XTextSection
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java
new file mode 100644
index 000000000000..0146e3c2d5ac
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextSectionsSupplier;
+
+
+public class _XTextSectionsSupplier extends MultiMethodTest {
+ public XTextSectionsSupplier oObj;
+
+ public void _getTextSections() {
+ XNameAccess sections = oObj.getTextSections();
+ boolean res = checkSections(sections);
+ tRes.tested("getTextSections()", res);
+ }
+
+ protected boolean checkSections(XNameAccess sections) {
+ String[] sNames = sections.getElementNames();
+ boolean res = true;
+
+ for (int k = 0; k < sNames.length; k++) {
+ try {
+ res &= sections.hasByName(sNames[k]);
+ res &= (sections.getByName(sNames[k]) != null);
+ log.println("Works for ... " + sNames[k]);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("positive test failed " + e.getMessage());
+ res = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("positive test failed " + e.getMessage());
+ res = false;
+ }
+ }
+
+ try {
+ sections.getByName("unknown");
+ log.println("negative test failed ... no Exception thrown");
+ res = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("expected Exception for wrong argument ... OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("negative test failed ... wrong Exception thrown");
+ res = false;
+ }
+
+ return res;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/text/_XTextTable.java b/qadevOOo/tests/java/ifc/text/_XTextTable.java
new file mode 100644
index 000000000000..4dfa9e10e410
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextTable.java
@@ -0,0 +1,181 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XTextTable;
+
+/**
+ * Testing <code>com.sun.star.text.XTextTable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> initialize()</code></li>
+ * <li><code> getRows()</code></li>
+ * <li><code> getColumns()</code></li>
+ * <li><code> getCellByName()</code></li>
+ * <li><code> getCellNames()</code></li>
+ * <li><code> createCursorByCellName()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'NROW'</code> : the number of rows in table
+ * </li>
+ * <li> <code>'NCOL'</code> : the number of columns in table
+ * </li>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XTextTable
+ */
+public class _XTextTable extends MultiMethodTest {
+
+ public XTextTable oObj = null; // oObj filled by MultiMethodTest
+ int nRow;
+ int nCol;
+
+ String cellNamesList[] = null ;
+
+ protected void before() {
+ Integer num_row = (Integer)tEnv.getObjRelation("NROW");
+ if (num_row == null) {
+ throw new StatusException
+ (Status.failed("Couldn't get relation 'NROW'"));
+ }
+ Integer num_col = (Integer)tEnv.getObjRelation("NCOL");
+ if (num_col == null) {
+ throw new StatusException
+ (Status.failed("Couldn't get relation 'NCOL'"));
+ }
+ nRow = num_row.intValue();
+ nCol = num_col.intValue();
+ }
+
+ /**
+ * The method is not called directly here, because it must
+ * be called before being inserted to the document. <p>
+ *
+ * Always has <b> OK </b> status. <p>
+ */
+ public void _initialize() {
+
+ // initialize()
+ log.println( "test for initialize()" );
+ tRes.tested( "initialize()", true);
+ }
+
+ /**
+ * Test calls the method passing as cell name the first
+ * element from names returned by <code>getCellNames</code>
+ * method. <p>
+ *
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCellNames() </code> : its result used by test. </li>
+ * </ul>
+ */
+ public void _createCursorByCellName(){
+ requiredMethod("getCellNames()") ;
+
+ // createCursorByCellName()
+ log.println( "test for createCursorByCellName()" );
+ tRes.tested( "createCursorByCellName()",
+ oObj.createCursorByCellName( cellNamesList[0] ) != null );
+ }
+
+ /**
+ * Test calls the method passing as cell name the first
+ * element from names returned by <code>getCellNames</code>
+ * method. <p>
+ *
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCellNames() </code> : its result used by test. </li>
+ * </ul>
+ */
+ public void _getCellByName(){
+ requiredMethod("getCellNames()") ;
+
+ // getCellByName()
+ log.println( "test for getCellByName()" );
+ tRes.tested( "getCellByName()",
+ oObj.getCellByName( cellNamesList[0] ) != null );
+ }
+
+ /**
+ * Obtains cell names of the table. <p>
+ *
+ * Has <b>OK</b> status if number of elements in the returned
+ * array is equal to [row number] * [column number]
+ * and if the first name is 'A1'.
+ */
+ public void _getCellNames(){
+ // getCellNames()
+ log.println( "test for getCellNames()" );
+ cellNamesList = oObj.getCellNames();
+
+ boolean result = cellNamesList.length == ( nRow * nCol ) ;
+ result &= cellNamesList[0].equals( "A1" ) ;
+
+ tRes.tested( "getCellNames()", result ) ;
+ }
+
+ /**
+ * Obtains columns of the table. <p>
+ *
+ * Has <b>OK</b> status if the number of element of returned
+ * collection is equal to real number of columns in the table.
+ */
+ public void _getColumns(){
+ // getColumns()
+ log.println( "test for getColumns()" );
+ tRes.tested( "getColumns()", nCol == oObj.getColumns().getCount() );
+ }
+
+ /**
+ * Obtains rows of the table. <p>
+ *
+ * Has <b>OK</b> status if the number of element of returned
+ * collection is equal to real number of rows in the table.
+ */
+ public void _getRows(){
+ // getRows()
+ log.println( "test for getRows()" );
+ tRes.tested( "getRows()", nRow == oObj.getRows().getCount() );
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextTableCursor.java b/qadevOOo/tests/java/ifc/text/_XTextTableCursor.java
new file mode 100644
index 000000000000..993406a821f4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextTableCursor.java
@@ -0,0 +1,294 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.table.XCell;
+import com.sun.star.text.XTextTableCursor;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextTableCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getRangeName()</code></li>
+ * <li><code> gotoCellByName()</code></li>
+ * <li><code> goLeft()</code></li>
+ * <li><code> goRight()</code></li>
+ * <li><code> goUp()</code></li>
+ * <li><code> goDown()</code></li>
+ * <li><code> gotoStart()</code></li>
+ * <li><code> gotoEnd()</code></li>
+ * <li><code> mergeRange()</code></li>
+ * <li><code> splitRange()</code></li>
+ * </ul> <p>
+ *
+ * <b>Prerequisites : </b> the table must have a size
+ * 2x2 and current cursor position must be in the upper
+ * left cell. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ *
+ * After test completion object environment has to be recreated
+ * because after merging and splitting cells their names
+ * differ from initial.
+ *
+ * @see com.sun.star.text.XTextTableCursor
+ */
+public class _XTextTableCursor extends MultiMethodTest {
+
+ public XTextTableCursor oObj = null; // oObj filled by MultiMethodTest
+
+ XCell oCell = null;
+
+ /**
+ * Moves the cursor to upper-left cell and checks
+ * its range name. <p>
+ *
+ * Has <b>OK</b> status if the name returned is 'A1'.
+ */
+ public void _getRangeName(){
+ log.println( "test for getRangeName()" );
+ oObj.gotoStart(false);
+ String oCellName = oObj.getRangeName();
+ log.println( "CellName = " + oCellName );
+
+ tRes.tested("getRangeName()", oCellName.equals("A1") );
+ }
+
+ /**
+ * Calls the method which moves the cursor down by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goDown(){
+ boolean bDown = false;
+ log.println( "test for goDown()" );
+ short i = 1;
+
+ bDown = oObj.goDown(i,false);
+
+ tRes.tested("goDown()", bDown );
+ oObj.goUp(i,false);
+ }
+
+ /**
+ * Calls the method which moves the cursor to the right by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goRight(){
+ boolean bRight = false;
+ log.println( "test for goRight()" );
+ short i = 1;
+
+ bRight = oObj.goRight(i,false);
+
+ tRes.tested("goRight()", bRight );
+ oObj.goLeft(i,false);
+ }
+
+ /**
+ * Calls the method which moves the cursor to the left by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goLeft(){
+ boolean bLeft = false;
+ log.println( "test for goLeft()" );
+ short i = 1;
+
+ oObj.goRight(i,false);
+ bLeft = oObj.goLeft(i,false);
+
+ tRes.tested("goLeft()", bLeft );
+ }
+
+ /**
+ * Calls the method which moves the cursor up by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goUp(){
+ boolean bUp = false;
+ log.println( "test for goUp()" );
+ short i = 1;
+
+ oObj.gotoEnd(true);
+
+ bUp = oObj.goUp(i,false);
+ tRes.tested("goUp()", bUp );
+ }
+
+ /**
+ * Moves the cursor to the cell with name 'B1', then
+ * checks the current range name. <p>
+ * Has <b>OK</b> status if the returned range name is
+ * 'B1'.
+ */
+ public void _gotoCellByName(){
+ log.println( "test for gotoCellByName()" );
+
+ oObj.gotoCellByName("B1",false);
+ String oCellName = oObj.getRangeName();
+
+ tRes.tested("gotoCellByName()", oCellName.equals("B1") );
+ }
+
+ /**
+ * Moves cursor to the start (upper-left cell). Then
+ * checks the current range name. <p>
+ *
+ * Has <b>OK</b> status if current range name is 'A1'.
+ */
+ public void _gotoStart(){
+ log.println( "test for gotoStart()" );
+
+ oObj.gotoStart(false);
+ String oCellName = oObj.getRangeName();
+
+ tRes.tested("gotoStart()", oCellName.equals("A1") );
+ }
+
+ /**
+ * Moves cursor to the end (lower-right cell). Then
+ * checks the current range name. <p>
+ *
+ * Has <b>OK</b> status if current range name is 'B2'
+ * (the table is assumed to be of size 2x2).
+ */
+ public void _gotoEnd(){
+ log.println( "test for gotoEnd()" );
+
+ oObj.gotoEnd(false);
+ String oCellName = oObj.getRangeName();
+
+ tRes.tested("gotoEnd()", oCellName.equals("B2") );
+ }
+
+ /**
+ * Selects all cells in the table and merges them.
+ * Finally move the cursor to the end and checks
+ * current range name.<p>
+ *
+ * Has <b>OK</b> status if the end cell has a name
+ * 'A1'.
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getRangeName(), gotoStart(), gotoEnd()
+ * goLeft(), goRight(), goUp(), goDown(), gotoCellByName()</code>
+ * : these methods must be completed before all cells of the
+ * table are merged into one cell </li>
+ * </ul>
+ */
+ public void _mergeRange(){
+ executeMethod("getRangeName()") ;
+ executeMethod("gotoStart()") ;
+ executeMethod("gotoEnd()") ;
+ executeMethod("goLeft()") ;
+ executeMethod("goRight()") ;
+ executeMethod("goUp()") ;
+ executeMethod("goDown()") ;
+ executeMethod("gotoCellByName()") ;
+
+ boolean bMerge = false;
+ log.println( "test for mergeRange()" );
+
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ bMerge = oObj.mergeRange();
+
+ oObj.gotoEnd(false);
+
+ String curName = oObj.getRangeName() ;
+ bMerge &= "A1".equals(curName) ;
+
+ tRes.tested("mergeRange()", bMerge );
+ }
+
+ /**
+ * First splits the cell horyzontally. Then the end cell
+ * name is checked. Second split all cells vertically and
+ * again the end cell name is checked<p>
+ *
+ * Has <b> OK </b> status if in the first case the end cell name
+ * is not 'A1', and in the second case the end cell name is not
+ * equal to the name gotten in the first case. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> mergeRange() </code> : to have one cell in a table
+ * which this test splits. </li>
+ * </ul>
+ */
+ public void _splitRange(){
+ requiredMethod("mergeRange()") ;
+
+ boolean bSplit = true ;
+ log.println( "test for splitRange" ) ;
+ short i = 1 ;
+
+ bSplit &= oObj.splitRange(i, true) ;
+
+ oObj.gotoEnd(false);
+ String horName = oObj.getRangeName() ;
+ log.println("The end cell after horiz. split : " + horName) ;
+ bSplit &= !"A1".equals(horName) ;
+
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ bSplit &= oObj.splitRange(i, false) ;
+
+ oObj.gotoEnd(false);
+ String vertName = oObj.getRangeName() ;
+ log.println("The end cell after vert. split : " + vertName) ;
+ bSplit &= !horName.equals(vertName) ;
+
+ tRes.tested("splitRange()", bSplit ) ;
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+ } // finish class _XTextTableCursor
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java
new file mode 100644
index 000000000000..1a0e4a686ae6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextTablesSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextTablesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getTextTables()</code></li>
+ * </ul> <p>
+ * The table collection tested <b>must</b> have a table
+ * with name 'SwXTextDocument'. <p>
+ * Test is multithread compilant. <p>
+ * @see com.sun.star.text.XTextTablesSupplier
+ */
+public class _XTextTablesSupplier extends MultiMethodTest {
+
+ public static XTextTablesSupplier oObj = null;
+
+ /**
+ * Get the collection of tables. Then check it. <p>
+ * Has <b>OK</b> status if returned collection contains
+ * element with name 'SwXTextDocument'.
+ */
+ public void _getTextTables() {
+ boolean res = false;
+
+ XNameAccess the_tables = oObj.getTextTables();
+ res = the_tables.hasByName("SwXTextDocument");
+
+ tRes.tested("getTextTables()",res);
+ }
+
+} // finish class _XTextTablesSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java
new file mode 100644
index 000000000000..05792f041086
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextViewCursor;
+import com.sun.star.text.XTextViewCursorSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XTextViewCursorSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getViewCursor()</code></li>
+ * </ul> <p>
+ * Test is multithread compilant. <p>
+ * @see com.sun.star.text.XTextViewCursorSupplier
+ */
+public class _XTextViewCursorSupplier extends MultiMethodTest {
+
+ public XTextViewCursorSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getViewCursor(){
+
+ XTextViewCursor oTVC = oObj.getViewCursor();
+ tRes.tested("getViewCursor()", oTVC != null);
+
+ } // finish _getViewCursor()
+
+} // finish class _XTextViewCursorSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XWordCursor.java b/qadevOOo/tests/java/ifc/text/_XWordCursor.java
new file mode 100644
index 000000000000..91ed4fadd3d2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XWordCursor.java
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XWordCursor;
+
+/**
+ * Testing <code>com.sun.star.text.XWordCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isStartOfWord()</code></li>
+ * <li><code> isEndOfWord()</code></li>
+ * <li><code> gotoNextWord()</code></li>
+ * <li><code> gotoPreviousWord()</code></li>
+ * <li><code> gotoEndOfWord()</code></li>
+ * <li><code> gotoStartOfWord()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.text.XWordCursor
+ */
+public class _XWordCursor extends MultiMethodTest {
+
+ public XWordCursor oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Moves the cursor to start of the text.
+ */
+ public void before() {
+ oObj.gotoStart(false);
+ }
+
+ /**
+ * First moves the cursor to the next word to be sure that
+ * at least one word is situated before. Then moves cursor
+ * to the previous word and checks the value returned. <p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoPreviousWord(){
+ oObj.gotoNextWord(false);
+ tRes.tested("gotoPreviousWord()", oObj.gotoPreviousWord(false) );
+ }
+
+ /**
+ * First moves the cursor to the previous word to be sure that
+ * at least one word is situated after. Then moves cursor
+ * to the next word and checks the value returned. <p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoNextWord(){
+ oObj.gotoPreviousWord(false) ;
+ tRes.tested("gotoNextWord()", oObj.gotoNextWord(false) );
+ }
+
+ /**
+ * First moves the cursor to the start of the current word,
+ * then to the end and checks the value returned. <p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoEndOfWord(){
+ oObj.gotoStart(false);
+ tRes.tested("gotoEndOfWord()", oObj.gotoEndOfWord(false) );
+ }
+
+ /**
+ * Move cursor to the start, then to the end. After that the
+ * method is called and returned value is checked. <p>
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isEndOfWord(){
+ log.println("gotoStartOfWord() = " + oObj.gotoStartOfWord(false)) ;
+ log.println("gotoEndOfWord() = " + oObj.gotoEndOfWord(false));
+
+ tRes.tested("isEndOfWord()", oObj.isEndOfWord() );
+ }
+
+ /**
+ * Move cursor to the end, then to the start. After that the
+ * method is called and returned value is checked. <p>
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isStartOfWord(){
+
+ oObj.gotoEndOfWord(false);
+ oObj.gotoStartOfWord(false);
+ tRes.tested("isStartOfWord()", oObj.isStartOfWord() );
+ }
+
+ /**
+ * First moves the cursor to the start of the current word,
+ * then shifts it 2 symbols to the right. After that the
+ * method is called and returned value is checked.<p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoStartOfWord(){
+ oObj.gotoStartOfWord(false);
+ oObj.goRight((short) 2, false) ;
+ tRes.tested("gotoStartOfWord()", oObj.gotoStartOfWord(false) );
+ }
+
+ } // finish class _XWordCursor
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java
new file mode 100644
index 000000000000..806c3c8c9962
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedContentResultSetFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedContentResultSetFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedContentResultSet()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CachedContentResultSetStub'</code> (of type
+* <code>com.sun.star.sdbc.XResultSet</code>):
+* this must be an imlementation of <code>
+* com.sun.star.ucb.CachedContentResultSetStub</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XCachedContentResultSetFactory
+*/
+public class _XCachedContentResultSetFactory extends MultiMethodTest {
+
+ /**
+ * Conatins the tested object.
+ */
+ public XCachedContentResultSetFactory oObj;
+ private XResultSet resSetStub = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ public void before() {
+ resSetStub = (XResultSet)
+ tEnv.getObjRelation("CachedContentResultSetStub") ;
+ if (resSetStub == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException
+ (Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates result set from result set stub. After that number
+ * of rows from result set created and its stub are retrieved
+ * using their static representations and comared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater then 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedContentResultSet() {
+ boolean result = true ;
+
+ XResultSet resSet = oObj.createCachedContentResultSet
+ (resSetStub, null) ;
+
+ if (resSet == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ resSetStub.last() ;
+ int stubRowNum = resSetStub.getRow() ;
+
+ resSet.last() ;
+ int setRowNum = resSet.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : stub=" + stubRowNum +
+ " set=" + setRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedContentResultSet()", result) ;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java
new file mode 100644
index 000000000000..86cc310eab02
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedContentResultSetStubFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedContentResultSetStubFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedContentResultSetStub()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ContentResultSet'</code> (of type
+* <code>com.sun.star.sdbc.XResultSet</code>):
+* this must be an imlementation of <code>
+* com.sun.star.ucb.ContentResultSet</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XCachedContentResultSetStubFactory
+*/
+public class _XCachedContentResultSetStubFactory extends MultiMethodTest {
+
+ /**
+ * Conatins the tested object.
+ */
+ public XCachedContentResultSetStubFactory oObj;
+ private XResultSet resSet = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ public void before() {
+ resSet = (XResultSet) tEnv.getObjRelation("ContentResultSet") ;
+ if (resSet == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException(Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates cached result set stub from static result set. After that number
+ * of rows in cached result set created and its source set are retrieved
+ * and comared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater then 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedContentResultSetStub() {
+ boolean result = true ;
+
+ XResultSet resSetStub = oObj.createCachedContentResultSetStub
+ (resSet) ;
+
+ if (resSetStub == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ resSetStub.last() ;
+ int stubRowNum = resSetStub.getRow() ;
+
+ resSet.last() ;
+ int setRowNum = resSet.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : set=" + setRowNum +
+ " stub=" + stubRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedContentResultSetStub()", result) ;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java
new file mode 100644
index 000000000000..bc3c02d6d69a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedDynamicResultSetFactory;
+import com.sun.star.ucb.XDynamicResultSet;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedDynamicResultSetFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedDynamicResultSet()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CachedDynamicResultSetStub'</code> (of type
+* <code>com.sun.star.sdbc.XDynamicResultSet</code>):
+* this must be an imlementation of <code>
+* com.sun.star.ucb.CachedDynamicResultSetStub</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XCachedDynamicResultSetFactory
+*/
+public class _XCachedDynamicResultSetFactory extends MultiMethodTest {
+
+ /**
+ * Conatins the tested object.
+ */
+ public XCachedDynamicResultSetFactory oObj;
+ private XDynamicResultSet resSetStub = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ public void before() {
+ resSetStub = (XDynamicResultSet)
+ tEnv.getObjRelation("CachedDynamicResultSetStub") ;
+ if (resSetStub == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException
+ (Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates result set from result set stub. After that number
+ * of rows from result set created and its stub are retrieved
+ * using their static representations and comared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater then 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedDynamicResultSet() {
+ boolean result = true ;
+
+ XDynamicResultSet resSet = oObj.createCachedDynamicResultSet
+ (resSetStub, null) ;
+
+ if (resSet == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ XResultSet resSetS = resSet.getStaticResultSet() ;
+ XResultSet resSetStubS = resSetStub.getStaticResultSet() ;
+
+ resSetStubS.last() ;
+ int stubRowNum = resSetStubS.getRow() ;
+
+ resSetS.last() ;
+ int setRowNum = resSetS.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : stub=" + stubRowNum +
+ " set=" + setRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Can't get static result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedDynamicResultSet()", result) ;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java
new file mode 100644
index 000000000000..a5c927cb620d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedDynamicResultSetFactory;
+import com.sun.star.ucb.XCachedDynamicResultSetStubFactory;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedDynamicResultSetStubFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedDynamicResultSetStub()</code></li>
+* <li><code> connectToCache()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DynamicResultSet'</code> (of type
+* <code>com.sun.star.sdbc.XDynamicResultSet</code>):
+* this must be an imlementation of <code>
+* com.sun.star.ucb.DynamicResultSet</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XCachedDynamicResultSetStubFactory
+*/
+public class _XCachedDynamicResultSetStubFactory extends MultiMethodTest {
+
+ /**
+ * Conatins the tested object.
+ */
+ public XCachedDynamicResultSetStubFactory oObj;
+ private XDynamicResultSet resSet = null ;
+ private XDynamicResultSet resSetStub = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ public void before() {
+ resSet = (XDynamicResultSet) tEnv.getObjRelation("DynamicResultSet") ;
+ if (resSet == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException(Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates result set stub from result set. After that number
+ * of rows from result set stub created and its source set are retrieved
+ * using their static representations and compared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater then 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedDynamicResultSetStub() {
+ boolean result = true ;
+
+ resSetStub = oObj.createCachedDynamicResultSetStub(resSet) ;
+
+ if (resSetStub == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ XResultSet resSetS = resSet.getStaticResultSet() ;
+ XResultSet resSetStubS = resSetStub.getStaticResultSet() ;
+
+ resSetStubS.last() ;
+ int stubRowNum = resSetStubS.getRow() ;
+
+ resSetS.last() ;
+ int setRowNum = resSetS.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : stub=" + stubRowNum +
+ " set=" + setRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Can't get static result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedDynamicResultSetStub()", result) ;
+ }
+
+ /**
+ * Creates an instance of <code>CachedDynamicResultSet</code> service
+ * which is not connected to any stub. Then tries to connect it to
+ * <code>DynaminResultSet</code> created and passed as relation.
+ * Connection is checked by retrieving and comparing of row numbers
+ * of connected set and its source set. <p>
+ * Has <b>OK</b> status if row numbers are equal and they are
+ * greater then 0 (because JAR file contains at least one entry).
+ */
+ public void _connectToCache() {
+ boolean result = true ;
+
+ XCachedDynamicResultSetFactory setFac = null ;
+
+ try {
+ Object fac = ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.ucb.CachedDynamicResultSetFactory") ;
+
+ setFac = (XCachedDynamicResultSetFactory) UnoRuntime.queryInterface
+ (XCachedDynamicResultSetFactory.class, fac) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Cant instantiate a service") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ XDynamicResultSet rmtSet = setFac.createCachedDynamicResultSet(null, null) ;
+
+ try {
+ oObj.connectToCache(resSet, rmtSet, null, null) ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Unexpected exception :" + e) ;
+ result = false ;
+ } catch (com.sun.star.ucb.AlreadyInitializedException e) {
+ log.println("!!! Unexpected exception :" + e) ;
+ result = false ;
+ }
+
+ if (result) {
+ // checking connection to the source
+ try {
+ XResultSet statRmtSet = rmtSet.getStaticResultSet() ;
+ XResultSet statResSet = resSet.getStaticResultSet() ;
+
+ statRmtSet.last() ;
+ int rmtRowNum = statRmtSet.getRow() ;
+
+ statResSet.last() ;
+ int resRowNum = statResSet.getRow() ;
+
+ result = rmtRowNum == resRowNum && resRowNum > 0 ;
+
+ log.println("Number of rows : destination=" + rmtRowNum +
+ " source=" + resRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("connectToCache()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java
new file mode 100644
index 000000000000..44bf27e99bea
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java
@@ -0,0 +1,249 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.CommandAbortedException;
+import com.sun.star.ucb.CommandInfo;
+import com.sun.star.ucb.GlobalTransferCommandArgument;
+import com.sun.star.ucb.NameClash;
+import com.sun.star.ucb.TransferCommandOperation;
+import com.sun.star.ucb.UnsupportedCommandException;
+import com.sun.star.ucb.XCommandInfo;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+* Tests <code>XCommandProcessor</code>. The TestCase can pass (but doesn't have
+* to) "XCommandProcessor.AbortCommand" relation, to specify command to abort in
+* <code>abort()</code> test.
+*
+* Testing <code>com.sun.star.ucb.XCommandProcessor</code>
+* interface methods :
+* <ul>
+* <li><code> createCommandIdentifier()</code></li>
+* <li><code> execute()</code></li>
+* <li><code> abort()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XCommandProcessor.AbortCommand'</code> <b>optional</b>
+* (of type <code>com.sun.star.ucb.Command</code>):
+* specify command to abort in <code>abort()</code> test.
+* If the relation is not specified the 'GlobalTransfer'
+* command is used.</li>
+* <ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>poliball.gif</code> : this file is required in case
+* if the relation <code>'XCommandProcessor.AbortCommand'</code>
+* is not specified. This file is used by 'GlobalTransfer'
+* command as a source file for copying.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XCommandProcessor
+*/
+public class _XCommandProcessor extends MultiMethodTest {
+
+ /**
+ * Conatins the tested object.
+ */
+ public XCommandProcessor oObj;
+
+ /**
+ * Contains the command id returned by <code>createCommandIdentifier()
+ * </code>. It is used in <code>abort()</code> test.
+ */
+ int cmdId;
+
+ /**
+ * Tests <code>createCommandIdentifier()</code>. Calls it for two times
+ * and checks returned values. <p>
+ * Has <b>OK</b> status if values are unique correct idenifiers: not 0.
+ */
+ public void _createCommandIdentifier() {
+ log.println("creating a command line identifier");
+
+ int testCmdId = oObj.createCommandIdentifier();
+ cmdId = oObj.createCommandIdentifier();
+
+ if (cmdId == 0 || testCmdId == 0) {
+ log.println("createCommandLineIdentifier() returned 0 - FAILED");
+ }
+
+ if (cmdId == testCmdId) {
+ log.println("the command identifier is not unique");
+ }
+
+ tRes.tested("createCommandIdentifier()",
+ testCmdId != 0 && cmdId != 0 && cmdId != testCmdId);
+ }
+
+ /**
+ * First executes 'geCommandInfo' command and examines returned
+ * command info information. Second tries to execute inproper
+ * command. <p>
+ * Has <b> OK </b> status if in the first case returned information
+ * contains info about 'getCommandInfo' command and in the second
+ * case an exception is thrown. <p>
+ */
+ public void _execute() {
+ String commandName = "getCommandInfo";
+ Command command = new Command(commandName, -1, null);
+
+ Object result;
+
+ log.println("executing command " + commandName);
+ try {
+ result = oObj.execute(command, 0, null);
+ } catch (CommandAbortedException e) {
+ log.println("The command aborted " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ } catch (Exception e) {
+ log.println("Unexpected exception " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ XCommandInfo xCmdInfo = (XCommandInfo)UnoRuntime.queryInterface(
+ XCommandInfo.class, result);
+
+ CommandInfo[] cmdInfo = xCmdInfo.getCommands();
+
+ boolean found = false;
+
+ for (int i = 0; i < cmdInfo.length; i++) {
+ if (cmdInfo[i].Name.equals(commandName)) {
+ found = true;
+ break;
+ }
+ }
+
+ log.println("testing execute with wrong command");
+
+ Command badCommand = new Command("bad command", -1, null);
+
+ try {
+ oObj.execute(badCommand, 0, null);
+ } catch (CommandAbortedException e) {
+ log.println("CommandAbortedException thrown - OK");
+ } catch (UnsupportedCommandException e) {
+ log.println("UnsupportedCommandException thrown - OK");
+ } catch (Exception e) {
+ log.println("Wrong exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ tRes.tested("execute()", found);
+ }
+
+ /**
+ * First a separate thread where <code>abort</code> method
+ * is called permanently. Then a "long" command (for example,
+ * "transfer") is started. I case if relation is not
+ * specified 'GlobalTransfer' command starts to
+ * copy a file to temporary directory (if the relation is present
+ * then the its command starts to work). <p>
+ * Has <b> OK </b> status if the command execution is aborted, i.e.
+ * <code>CommandAbortedException</code> is thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createCommandIdentifier() </code> : to have a unique
+ * identifier which is used to abourt started command. </li>
+ * </ul>
+ */
+ public void _abort() {
+ executeMethod("createCommandIdentifier()");
+
+ Command command = (Command)tEnv.getObjRelation(
+ "XCommandProcessor.AbortCommand");
+
+ if (command == null) {
+ String commandName = "globalTransfer";
+
+ String srcURL = util.utils.getFullTestURL("SwXTextEmbeddedObject.sdw") ;
+ String tmpURL = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ log.println("Copying '" + srcURL + "' to '" + tmpURL) ;
+
+ GlobalTransferCommandArgument arg = new
+ GlobalTransferCommandArgument(
+ TransferCommandOperation.COPY, srcURL,
+ tmpURL, "", NameClash.OVERWRITE);
+
+ command = new Command(commandName, -1, arg);
+ }
+
+ Thread aborter = new Thread() {
+ public void run() {
+ for (int i = 0; i < 10; i++) {
+ log.println("try to abort command");
+ oObj.abort(cmdId);
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+ };
+
+ aborter.start();
+
+ try {
+ Thread.currentThread().sleep(15);
+ } catch (InterruptedException e) {
+ }
+
+ log.println("executing command");
+ try {
+ oObj.execute(command, cmdId, null);
+ log.println("Command execution completed");
+ log.println("CommandAbortedException is not thrown");
+ log.println("This is OK since there is no command implemented "+
+ "that can be aborted");
+ tRes.tested("abort()", true);
+ } catch (CommandAbortedException e) {
+ tRes.tested("abort()", true);
+ } catch (Exception e) {
+ log.println("Unexpected exception " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ try {
+ aborter.join(5000);
+ aborter.interrupt();
+ } catch(java.lang.InterruptedException e) {
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java
new file mode 100644
index 000000000000..d4e16e052e27
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XCommandProcessor2;
+
+
+public class _XCommandProcessor2 extends MultiMethodTest {
+ /**
+ * Conatins the tested object.
+ */
+ public XCommandProcessor2 oObj;
+
+ public void _releaseCommandIdentifier() {
+ int id = oObj.createCommandIdentifier();
+ oObj.releaseCommandIdentifier(id);
+ int id2 = oObj.createCommandIdentifier();
+ System.out.println("id: "+id);
+ System.out.println("id2: "+id);
+ tRes.tested("releaseCommandIdentifier()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java b/qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java
new file mode 100644
index 000000000000..071f99ebf640
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XContentIdentifierFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createContentIdentifier()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.ucb.XContentIdentifierFactory
+*/
+public class _XContentIdentifierFactory extends MultiMethodTest {
+ /**
+ * Contains the tested object.
+ */
+ public XContentIdentifierFactory oObj;
+
+ /**
+ * Calls the tested method with a file url and
+ * gets an identifier. <p>
+ * Has <b> OK </b> status if content identifier an provider sheme are
+ * proper. <p>
+ */
+ public void _createContentIdentifier() {
+ // creating a content identifier string - tmp url
+ String tmpDir = utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+
+ String contentId = utils.getFullURL(tmpDir);
+
+ // the scheme is file
+ String scheme = "file";
+
+ XContentIdentifier identifier = oObj.createContentIdentifier(contentId);
+
+ // verifying results
+ String resId = identifier.getContentIdentifier();
+ String resScheme = identifier.getContentProviderScheme();
+
+ tRes.tested("createContentIdentifier()", contentId.equals(resId)
+ && scheme.equals(resScheme));
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentProvider.java b/qadevOOo/tests/java/ifc/ucb/_XContentProvider.java
new file mode 100644
index 000000000000..62d6832ef965
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentProvider.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+
+/**
+* Testing <code>com.sun.star.ucb.XContentProvider</code>
+* interface methods :
+* <ul>
+* <li><code> queryContent()</code></li>
+* <li><code> compareContentIds()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'FACTORY'</code> (of type
+* <code>com.sun.star.ucb.XContentIdentifierFactory</code>):
+* a suitable factory which can produce content identifiers </li>
+* <li> <code>'CONTENT1'</code> (<b>optional</b>) (of type <code>String</code>):
+* name of the suitable content for provider tested. If relation
+* is not specified the 'vnd.sun.star.help://' name will be used.</li>
+* <li> <code>'CONTENT2'</code> (<b>optional</b>) (of type <code>String</code>):
+* another name of the suitable content for provider tested. If relation
+* is not specified the 'vnd.sun.star.writer://' name will be used.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XContentProvider
+*/
+public class _XContentProvider extends MultiMethodTest {
+
+ public static XContentProvider oObj = null;
+ protected XContentIdentifierFactory CIF = null ;
+ protected String content1 = "vnd.sun.star.help://" ;
+ protected String content2 = "vnd.sun.star.writer://" ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ CIF = (XContentIdentifierFactory) tEnv.getObjRelation("FACTORY");
+ String tmp = (String) tEnv.getObjRelation("CONTENT1") ;
+ if (tmp != null) content1 = tmp ;
+ tmp = (String) tEnv.getObjRelation("CONTENT2") ;
+ if (tmp != null) content2 = tmp ;
+
+ if (CIF == null) throw new StatusException(
+ Status.failed("'FACTORY' relation is not found.")) ;
+ }
+
+ /**
+ * Tries to query for some content suitable for this provider. <p>
+ * Has <b>OK</b> status if not null value is returned.
+ */
+ public void _queryContent() {
+ try {
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ tEnv.getObjRelation("FACTORY");
+ String aURL = content1;
+ log.println("Trying to query "+aURL);
+ XContentIdentifier CI = CIF.createContentIdentifier(aURL);
+ XContent aContent = oObj.queryContent(CI);
+ boolean res = true;
+ Object nc = tEnv.getObjRelation("NoCONTENT");
+ if (nc == null) {
+ res = aContent != null;
+ }
+ tRes.tested("queryContent()",res);
+ } catch (com.sun.star.ucb.IllegalIdentifierException e) {
+ log.println("Exception while checking 'queryContent'");
+ e.printStackTrace(log);
+ tRes.tested("queryContent()",false);
+ }
+ }
+
+ /**
+ * Creates two different content identifiers. First two different
+ * identifiers compared, then two same identifiers. <p>
+ * Has <b>OK</b> status if in the first case <code>false</code>
+ * returned, and in the second - <code>true</code>.
+ */
+ public void _compareContentIds() {
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ tEnv.getObjRelation("FACTORY");
+ String aURL = content1 ;
+ XContentIdentifier CI = CIF.createContentIdentifier(aURL);
+ aURL = content2 ;
+ XContentIdentifier CI2 = CIF.createContentIdentifier(aURL);
+ int compare = oObj.compareContentIds(CI,CI2);
+ boolean res = (compare != 0);
+ if (!res) {
+ log.println("Didn't work with differnt IDs");
+ log.println(compare+" was returned");
+ }
+ compare = oObj.compareContentIds(CI,CI);
+ res &= (compare == 0);
+ if (!res) {
+ log.println("Didn't work with equal IDs");
+ log.println(compare+" was returned");
+ }
+ tRes.tested("compareContentIds()",res);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java b/qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java
new file mode 100644
index 000000000000..36586ddf250e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XContentProviderFactory;
+
+
+/**
+* Testing <code>com.sun.star.ucb.XContentProviderFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createContentProvider()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XContentProviderFactory
+*/
+public class _XContentProviderFactory extends MultiMethodTest {
+
+ public static XContentProviderFactory oObj = null;
+
+ /**
+ * Creates a propvider. <p>
+ * Has <b> OK </b> status if the returned value is not
+ * <code>null</code>. <p>
+ */
+ public void _createContentProvider() {
+ XContentProvider CP = oObj.createContentProvider
+ ("com.sun.star.ucb.ContentProviderFactory");
+ tRes.tested("createContentProvider()",CP != null);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java b/qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java
new file mode 100644
index 000000000000..075e157e57ad
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java
@@ -0,0 +1,278 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.ContentProviderInfo;
+import com.sun.star.ucb.DuplicateProviderException;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XContentProviderManager;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Tests XContentProviderManager. The test registers two ContentProviders, calls
+* queryXXX methods to verify results, and deregisters them.
+*
+* Testing <code>com.sun.star.ucb.XContentProviderManager</code>
+* interface methods :
+* <ul>
+* <li><code> registerContentProvider()</code></li>
+* <li><code> deregisterContentProvider()</code></li>
+* <li><code> queryContentProviders()</code></li>
+* <li><code> queryContentProvider()</code></li>
+* </ul> <p>
+* The test registers two ContentProviders, calls
+* queryXXX methods to verify results, and deregisters them. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XContentProviderManager
+*/
+public class _XContentProviderManager extends MultiMethodTest {
+ /**
+ * Contains the tested object.
+ */
+ public XContentProviderManager oObj;
+
+ /**
+ * The test scheme name.
+ */
+ static final String myScheme = "test-scheme";
+
+ /**
+ * First content provider. It will be hidden by <code>contentProvider
+ * </code>, registred with the same <code>myScheme</code> to test
+ * the "hiding" behaviour.
+ */
+ XContentProvider firstContentProvider;
+
+ /**
+ * The main content provider.
+ */
+ XContentProvider contentProvider;
+
+ /**
+ * <code>ContentProvider</code>s information which are in the manager
+ * before registering the testing providers.
+ */
+ ContentProviderInfo[] initialProvidersInfo;
+
+ /**
+ * Creates two testing providers.
+ *
+ * @see #firstContentProvider
+ * @see #contentProvider
+ */
+ public void before() {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ log.println("creating testing content providers");
+ try {
+ firstContentProvider = (XContentProvider)UnoRuntime.queryInterface(
+ XContentProvider.class, xMSF.createInstance(
+ "com.sun.star.ucb.FileContentProvider"));
+
+ contentProvider = (XContentProvider)UnoRuntime.queryInterface(
+ XContentProvider.class, xMSF.createInstance(
+ "com.sun.star.ucb.FileContentProvider"));
+ } catch (Exception e) {
+ log.println("Can't create content providers " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+
+ /**
+ * At the beginning call <code>queryContentProviders</code> method
+ *
+ * to have info about providers existing before new adding.
+ * It adds two testing contents providers, both for the same scheme.
+ * The second one is added two times: first, in non-replacing mode, to test
+ * <code>DuplicateProviderException</code>, and second, in replacing mode,
+ * to hide the first provider. <p>
+ *
+ * The evaluation of results are performed later, in
+ * <code>queryContentProvider()</code>.
+ *
+ * Has <b> OK </b> status if in the first provider is registered
+ * without exceptions, the second throws
+ * <code>DuplicateProviderException</code> in non-replacing mode,
+ * and no exceptions in replacing mode. <p>
+ *
+ * @see #_queryContentProvider
+ */
+ public void _registerContentProvider() {
+ // querying providfers info before inserting them, to verify results
+ initialProvidersInfo = oObj.queryContentProviders();
+
+ log.println("registering the first provider");
+ try {
+ oObj.registerContentProvider(firstContentProvider, myScheme,false);
+ } catch (DuplicateProviderException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception ", e);
+ }
+
+ log.println("registering the second provider in non-replacing mode");
+ try {
+ oObj.registerContentProvider(contentProvider, myScheme, false);
+ Status.failed("registerContentProvider(.., .., false)");
+ } catch (DuplicateProviderException e) {
+ log.println("DuplicateProviderException thrown - OK");
+ }
+
+ XContentProvider result;
+
+ log.println("registering the second provider in the replace mode");
+ try {
+ result = oObj.registerContentProvider(contentProvider, myScheme, true);
+ } catch (DuplicateProviderException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception ", e);
+ }
+
+ // check the result is the first provider
+ tRes.tested("registerContentProvider()",
+ result.equals(firstContentProvider));
+ }
+
+ /**
+ * It calls the method (after registering providers) and compares
+ * its result with the result before registering.
+ *
+ * Has <b> OK </b> status if the number of providers increases
+ * by one after registering custom provider.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerContentProvider() </code> : to compare number
+ * of providers. </li>
+ * </ul>
+ * @see #_registerContentProvider
+ */
+ public void _queryContentProviders() {
+ executeMethod("registerContentProvider()");
+
+ ContentProviderInfo[] providersInfo = oObj.queryContentProviders();
+ // verifying that the number of providers increased by 1
+ tRes.tested("queryContentProviders()",
+ providersInfo.length == initialProvidersInfo.length + 1);
+ }
+
+ /**
+ * It queries for added custom provider using its scheme
+ * and verifies its result with
+ * <code>queryContentProviders()</code> result and with
+ * custom provider created in <code>registerContentProvider()</code>.
+ * Also verifies <code>registerContentProvider()</code>. <p>
+ *
+ * Has <b>OK</b> status if the provider returned is found within
+ * all providers and is equal to provider created before.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerContentProvider() </code> </li>
+ * </ul>
+ */
+ public void _queryContentProvider() {
+ executeMethod("registerContentProvider()");
+
+ XContentProvider result = oObj.queryContentProvider
+ ("http://www.sun.com");
+
+ log.println("finding queryContentProvider() result");
+ boolean found = false;
+
+ ContentProviderInfo[] providersInfo = oObj.queryContentProviders();
+
+ for (int i = 0; i < providersInfo.length; i++) {
+ if (result.equals(providersInfo[i].ContentProvider)
+ /*&& myScheme.equals(providersInfo[i].Scheme)*/) {
+ found = true;
+ break;
+ }
+ }
+
+// boolean gotTheRightOne = util.ValueComparer.equalValue
+// (result,contentProvider);
+
+ tRes.tested("queryContentProvider()", found);
+
+// gotTheRightOne = result.equals(contentProvider);
+
+ }
+
+ /**
+ * At first one provider is deregistered, after that provider
+ * is queried, the second provider must be returned for the
+ * specified scheme. Then the second provider is deregistered.
+ * Now <code>null</code> value must be retruned by the method
+ * <code>queryContentProvider</code> on the specified scheme. <p>
+ *
+ * Has <b>OK</b> status if in the first case the second provider
+ * remains registered, and after its removing no providers remain
+ * registered for the scheme specified.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerContentProvider() </code> : two providers
+ * must be registered. </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> queryContentProvider() </code> : to run this test
+ * finally. </li>
+ * <li> <code> queryContentProviders() </code> : to run this test
+ * finally. </li>
+ * </ul>
+ */
+ public void _deregisterContentProvider() {
+ executeMethod("queryContentProvider()");
+ executeMethod("queryContentProviders()");
+ requiredMethod("registerContentProvider()");
+
+ log.println("deregistering the second provider");
+ oObj.deregisterContentProvider(contentProvider, myScheme);
+
+ XContentProvider res = oObj.queryContentProvider(myScheme);
+
+ log.println("deregistering the first provider");
+ oObj.deregisterContentProvider(firstContentProvider, myScheme);
+
+ res = oObj.queryContentProvider(myScheme);
+
+ // verifying that no provider is returned
+ tRes.tested("deregisterContentProvider()", res == null);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XDataContainer.java b/qadevOOo/tests/java/ifc/ucb/_XDataContainer.java
new file mode 100644
index 000000000000..7cfa8462fbda
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XDataContainer.java
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XDataContainer;
+
+/**
+* Testing <code>com.sun.star.ucb.XDataContainer</code>
+* interface methods :
+* <ul>
+* <li><code> getContentType()</code></li>
+* <li><code> setContentType()</code></li>
+* <li><code> getData()</code></li>
+* <li><code> setData()</code></li>
+* <li><code> getDataURL()</code></li>
+* <li><code> setDataURL()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XDataContainer
+*/
+public class _XDataContainer extends MultiMethodTest {
+
+ public static XDataContainer oObj = null; // oObj filled by MultiMethodTest
+ private byte[] data = new byte[] {34, 35, 36} ;
+ private String dataURL = null;
+
+ /**
+ * Sets the content type to some value. <p>
+ * Has <b>OK</b> status if no runtime exseptions occured.
+ */
+ public void _setContentType() {
+ oObj.setContentType("image/jpeg") ;
+ tRes.tested("setContentType()", true) ;
+ }
+
+ /**
+ * Check if values 'set' and 'get' are equal. <p>
+ * Has <b>OK</b> status if they are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setContentType() </code> </li>
+ * </ul>
+ */
+ public void _getContentType() {
+ requiredMethod("setContentType()") ;
+
+ String type = oObj.getContentType() ;
+ tRes.tested("getContentType()", "image/jpeg".equals(type)) ;
+ }
+
+ /**
+ * Sets the data to some byte array. <p>
+ * Has <b>OK</b> status if no runtime exseptions occured.
+ */
+ public void _setData() {
+ oObj.setData(data) ;
+ tRes.tested("setData()", true) ;
+ }
+
+ /**
+ * Check if arrays 'set' and 'get' are equal. <p>
+ * Has <b>OK</b> status if they are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData() </code> </li>
+ * </ul>
+ */
+ public void _getData() {
+ requiredMethod("setData()") ;
+
+ byte[] gData = oObj.getData() ;
+ boolean res = true ;
+ if (res = (gData != null && gData.length == data.length)) {
+ for (int i = 0; i < data.length; i++) {
+ res &= data[i] == gData[i] ;
+ }
+ }
+
+ tRes.tested("getData()", res) ;
+ }
+
+ /**
+ * Sets the data URL to some URL. <p>
+ * Has <b>OK</b> status if no runtime exseptions occured.
+ */
+ public void _setDataURL() {
+ dataURL = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ oObj.setDataURL(dataURL) ;
+ tRes.tested("setDataURL()", true) ;
+ }
+
+ /**
+ * Check if URLs 'set' and 'get' are equal. <p>
+ * Has <b>OK</b> status if they are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDataURL() </code> </li>
+ * </ul>
+ */
+ public void _getDataURL() {
+ requiredMethod("setDataURL()") ;
+
+ String gURL = oObj.getDataURL() ;
+ tRes.tested("getDataURL()", dataURL.equals(gURL)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java b/qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java
new file mode 100644
index 000000000000..70fe7deeb8ac
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XFileIdentifierConverter;
+
+/**
+* Testing <code>com.sun.star.ucb.XFileIdentifierConverter</code>
+* interface methods :
+* <ul>
+* <li><code> getFileProviderLocality()</code></li>
+* <li><code> getFileURLFromSystemPath()</code></li>
+* <li><code> getSystemPathFromFileURL()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XFileIdentifierConverter
+*/
+public class _XFileIdentifierConverter extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XFileIdentifierConverter oObj;
+
+ /**
+ * Gets the locality for SOffice temporary directory. <p>
+ * Has <b> OK </b> status if the method returns value greater
+ * than 0 (as office temp directory is supposed to be in the
+ * same location). <p>
+ */
+ public void _getFileProviderLocality() {
+ String baseURL = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+ log.println("Using: "+baseURL);
+ int loc = oObj.getFileProviderLocality(baseURL);
+ log.println("Getting: "+loc);
+ tRes.tested("getFileProviderLocality()",loc > 0);
+ }
+
+ /**
+ * Tries to convert URL of SOffice temp directory to system
+ * dependent path. <p>
+ * Has <b> OK </b> status if the method returns system dependent
+ * representation of the URL passed. <p>
+ */
+ public void _getSystemPathFromFileURL() {
+ String baseURL = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+ log.println("Using (Base): "+baseURL);
+ String sysURL = util.utils.getOfficeTempDirSys((XMultiServiceFactory)tParam.getMSF());
+ log.println("Using (System): "+sysURL);
+ String get = oObj.getSystemPathFromFileURL(baseURL);
+ log.println("Getting: "+get);
+ //sysURL = sysURL.substring(0,sysURL.length()-1);
+ tRes.tested("getSystemPathFromFileURL()",get.equals(sysURL));
+ }
+
+ /**
+ * Tries to convert system dependent path of SOffice temp
+ * directory to URL representation. <p>
+ * Has <b> OK </b> status if the method returns URL representation
+ * of the system dependent path passed. <p>
+ */
+ public void _getFileURLFromSystemPath() {
+ String baseURL = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+ log.println("Using (Base): "+baseURL);
+ String sysURL = util.utils.getOfficeTempDirSys((XMultiServiceFactory)tParam.getMSF());
+ log.println("Using (System): "+sysURL);
+ String get = oObj.getFileURLFromSystemPath(sysURL,sysURL);
+ log.println("Getting: "+get);
+ tRes.tested("getFileURLFromSystemPath()",get.equals(baseURL));
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java b/qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java
new file mode 100644
index 000000000000..bd38c1751b6a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XParameterizedContentProvider;
+
+/**
+* Testing <code>com.sun.star.ucb.XParameterizedContentProvider</code>
+* interface methods :
+* <ul>
+* <li><code> registerInstance()</code></li>
+* <li><code> deregisterInstance()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XParameterizedContentProvider
+*/
+public class _XParameterizedContentProvider extends MultiMethodTest {
+
+ public static XParameterizedContentProvider oObj = null;
+
+ /**
+ * Registers an instance with some arguments. <p>
+ * Has <b>OK</b> status if the method returns non <code>null</code>
+ * provider.
+ */
+ public void _registerInstance() {
+ try {
+ XContentProvider CP = oObj.registerInstance(
+ "\"vnd.sun.star.pkg://file\".*",
+ "uno:pipe,name=ucb_soffice;<PIPE>;urp;UCB.Factory",
+ true);
+ tRes.tested("registerInstance()",CP != null);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking 'registerInstance'");
+ e.printStackTrace(log);
+ tRes.tested("registerInstance()",false);
+ }
+ }
+
+ /**
+ * Deregisters the instance registered before. <p>
+ * Has <b>OK</b> status if the method returns non <code>null</code>
+ * provider. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerInstance() </code> : to deregister it here. </li>
+ * </ul>
+ */
+ public void _deregisterInstance() {
+ requiredMethod("registerInstance()");
+ try {
+ XContentProvider CP = oObj.deregisterInstance(
+ "\"vnd.sun.star.pkg://file\".*",
+ "uno:pipe,name=ucb_soffice;<PIPE>;urp;UCB.Factory");
+ tRes.tested("deregisterInstance()",CP != null);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking 'deregisterInstance'");
+ e.printStackTrace(log);
+ tRes.tested("deregisterInstance()",false);
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java b/qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java
new file mode 100644
index 000000000000..d5d00c1d2229
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.RuleOperator;
+import com.sun.star.ucb.RuleTerm;
+import com.sun.star.ucb.SearchCriterium;
+import com.sun.star.ucb.XPropertyMatcher;
+import com.sun.star.ucb.XPropertyMatcherFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XPropertyMatcherFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createPropertyMatcher()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XPropertyMatcherFactory
+*/
+public class _XPropertyMatcherFactory extends MultiMethodTest {
+
+ public static XPropertyMatcherFactory oObj = null;
+
+ /**
+ * Tries to create <code>XPropertyMatcher</code> implementation. <p>
+ * Has <b>OK</b> status if not null alue returned.
+ */
+ public void _createPropertyMatcher() {
+ RuleTerm term = new RuleTerm() ;
+
+ term.Property = "ContentType" ;
+ term.Operand = "vnd.sun.star.fsys" ;
+ term.Operator = RuleOperator.CONTAINS ;
+
+ SearchCriterium crit = new SearchCriterium(new RuleTerm[] {term}) ;
+
+ XPropertyMatcher matcher = oObj.createPropertyMatcher
+ (new SearchCriterium[] {crit}) ;
+
+ tRes.tested("createPropertyMatcher()", matcher != null) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java b/qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java
new file mode 100644
index 000000000000..39e9fd49f2cd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XPropertySetRegistry;
+import com.sun.star.ucb.XPropertySetRegistryFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XPropertySetRegistryFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createPropertySetRegistry()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XPropertySetRegistryFactory
+*/
+public class _XPropertySetRegistryFactory extends MultiMethodTest {
+
+ public static XPropertySetRegistryFactory oObj = null;
+
+ /**
+ * Test calls the method with empty string argument. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _createPropertySetRegistry() {
+ XPropertySetRegistry PSR = oObj.createPropertySetRegistry("");
+ tRes.tested("createPropertySetRegistry()",PSR != null);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java
new file mode 100644
index 000000000000..960becd92c89
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XRemoteContentProviderAcceptor;
+import com.sun.star.ucb.XRemoteContentProviderDoneListener;
+
+/**
+ * Testing <code>com.sun.star.ucb.XRemoteContentProviderAcceptor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addRemoteContentProvider()</code></li>
+ * <li><code> removeRemoteContentProvider()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.ucb.XRemoteContentProviderAcceptor
+ */
+public class _XRemoteContentProviderAcceptor extends MultiMethodTest {
+
+ public XRemoteContentProviderAcceptor oObj = null;
+
+ /**
+ * The simple <code>XRemoteContentProviderDoneListener</code>
+ * implementation.
+ */
+ public class DoneListener implements XRemoteContentProviderDoneListener {
+
+ public void doneWithRemoteContentProviders
+ (XRemoteContentProviderAcceptor xRCPA) {
+ }
+ public void disposing (com.sun.star.lang.EventObject obj) {}
+
+ };
+
+ XRemoteContentProviderDoneListener aDoneListener = new DoneListener();
+
+ /**
+ * Adds a remote provider. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>.
+ */
+ public void _addRemoteContentProvider() {
+ boolean res = false;
+
+ String[] template = new String[]{"file"};
+ res = oObj.addRemoteContentProvider("ContentID",(XMultiServiceFactory)tParam.getMSF(),
+ template,aDoneListener);
+
+ tRes.tested("addRemoteContentProvider()",res);
+ }
+
+ /**
+ * Removes the remote provider added before. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addRemoteContentProvider() </code> : rovider must
+ * be added first </li>
+ * </ul>
+ */
+ public void _removeRemoteContentProvider() {
+ requiredMethod("addRemoteContentProvider()") ;
+
+ boolean res = false;
+
+ res = oObj.removeRemoteContentProvider("ContentID");
+ tRes.tested("removeRemoteContentProvider()",res);
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java
new file mode 100644
index 000000000000..758d6eba698f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentProviderManager;
+import com.sun.star.ucb.XRemoteContentProviderAcceptor;
+import com.sun.star.ucb.XRemoteContentProviderActivator;
+
+/**
+ * Testing <code>com.sun.star.ucb.XRemoteContentProviderActivator</code>
+ * interface methods :
+ * <ul>
+ * <li><code> activateRemoteContentProviders()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'RCPA'</code>
+ * (of type <code>XRemoteContentProviderAcceptor</code>):
+ * this acceptor is used to add a provider first before
+ * its activation. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.ucb.XRemoteContentProviderActivator
+ */
+public class _XRemoteContentProviderActivator extends MultiMethodTest {
+
+ public XRemoteContentProviderActivator oObj = null;
+
+ /**
+ * First the relation is retrieved and a remote provider is
+ * added to the acceptor. Then it is activated and
+ * removed. <p>
+ * Has <b> OK </b> status if <code>activateRemoteContentProviders</code>
+ * method returns not <code>null</code> value. <p>
+ */
+ public void _activateRemoteContentProviders() {
+ boolean res = false;
+
+ XRemoteContentProviderAcceptor xRCPA = (XRemoteContentProviderAcceptor)
+ tEnv.getObjRelation("RCPA");
+ String[] template = new String[]{"file"};
+ xRCPA.addRemoteContentProvider("ContentID",(XMultiServiceFactory)tParam.getMSF(),template,null);
+ XContentProviderManager CPM = oObj.activateRemoteContentProviders();
+ res = (CPM != null);
+ xRCPA.removeRemoteContentProvider("ContentID");
+
+ tRes.tested("activateRemoteContentProviders()",res);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java
new file mode 100644
index 000000000000..5eb811570515
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java
@@ -0,0 +1,542 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.task.XInteractionHandler;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.DateTime;
+
+/**
+* Testing <code>com.sun.star.ucb.XSimpleFileAccess</code>
+* interface methods. <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>XSimpleFileAccess/XSimpleFileAccess.txt</code> :
+* text file of length 17 and 2000 year created .</li>
+* <li> <code>XSimpleFileAccess/XSimpleFileAccess2.txt</code> :
+* text file for <code>openFileReadWrite</code> method test.</li>
+* <ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'InteractionHandler'</code>
+* (of type <code>XInteractionHandler</code>)
+* instance of <code>com.sun.star.sdb.InteractionHandler</code>
+* </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XSimpleFileAccess
+*/
+public class _XSimpleFileAccess extends MultiMethodTest {
+
+ public static XSimpleFileAccess oObj = null;
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, checks
+ * if it was successfully copied and then deletes it. <p>
+ * Has <b> OK </b> status if after method call new copy of file
+ * exists and no exceptions were thrown. <p>
+ */
+ public void _copy() {
+ try {
+ String copiedFile = "";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String dirnameTo = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String filename = dirname+"XSimpleFileAccess.txt";
+ copiedFile = dirnameTo + "XSimpleFileAccess_copy.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ oObj.copy(filename,copiedFile);
+ tRes.tested("copy()",oObj.exists(copiedFile));
+ oObj.kill(copiedFile);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'copy()'");
+ ex.printStackTrace(log);
+ tRes.tested("copy()",false);
+ }
+
+ } //EOF copy()
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, tries to
+ * rename it, then checks
+ * if it was successfully renamed and then deletes it. <p>
+ * Has <b> OK </b> status if after method call new file
+ * exists and no exceptions were thrown. <p>
+ */
+ public void _move() {
+ try {
+ String copiedFile = "";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String dirnameTo = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String filename = dirname+"XSimpleFileAccess.txt";
+ copiedFile = dirnameTo + "XSimpleFileAccess_copy.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ oObj.copy(filename,copiedFile);
+ filename = copiedFile;
+ copiedFile = dirnameTo + "XSimpleFileAccess_move.txt";
+ oObj.move(filename,copiedFile);
+ tRes.tested("move()",oObj.exists(copiedFile));
+ oObj.kill(copiedFile);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'move()'");
+ ex.printStackTrace(log);
+ tRes.tested("move()",false);
+ }
+
+ } //EOF move()
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, deletes it
+ * and checks if it isn't exist. <p>
+ * Has <b> OK </b> status if after method call new copy of file
+ * doesn't exist and no exceptions were thrown. <p>
+ */
+ public void _kill() {
+ try {
+ String copiedFile = "";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String dirnameTo = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String filename = dirname+"XSimpleFileAccess.txt";
+ copiedFile = dirnameTo + "XSimpleFileAccess_copy.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ oObj.copy(filename,copiedFile);
+ oObj.kill(copiedFile);
+ tRes.tested("kill()",!oObj.exists(copiedFile));
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'kill()'");
+ ex.printStackTrace(log);
+ tRes.tested("kill()",false);
+ }
+
+ } //EOF kill()
+
+ /**
+ * Tries to check if <b>XSimpleFileAccess</b> is folder. <p>
+ * Has <b>OK</b> status if the method returns <code>true</code>
+ */
+ public void _isFolder() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ tRes.tested("isFolder()",oObj.isFolder(dirname));
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'isFolder()'");
+ ex.printStackTrace(log);
+ tRes.tested("isFolder()",false);
+ }
+
+ } //EOF isFolder()
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, sets
+ * 'READONLY' attribute and checks it. Second clears 'READONLY'
+ * attribute and checks it again. The copy of file is deleted
+ * finally.<p>
+ *
+ * Has <b> OK </b> status if in the first case method returns
+ * <code></code>, and in the second case - <code>false</code>
+ * and no exceptions were thrown. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setReadOnly </code> </li>
+ * </ul>
+ */
+ public void _isReadOnly() {
+ requiredMethod("setReadOnly()");
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ boolean result = true;
+
+ String dirnameTo = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String readonlyCopy = dirnameTo + "XSimpleFileAccess_copy.txt" ;
+
+ if (oObj.exists(readonlyCopy))
+ oObj.kill(readonlyCopy);
+
+ oObj.copy(filename, readonlyCopy);
+
+ oObj.setReadOnly(readonlyCopy, true);
+ result &= oObj.isReadOnly(readonlyCopy);
+ oObj.setReadOnly(readonlyCopy, false);
+ result &= !oObj.isReadOnly(readonlyCopy);
+
+ oObj.kill(readonlyCopy);
+ tRes.tested("isReadOnly()",result);
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'isReadOnly()'");
+ ex.printStackTrace(log);
+ tRes.tested("isReadOnly()",false);
+ }
+
+ } //EOF isReadOnly()
+
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, sets
+ * 'READONLY' attribute and checks it. Second clears 'READONLY'
+ * attribute and checks it again. The copy of file is deleted
+ * finally.<p>
+ *
+ * Has <b> OK </b> status if in the first case method returns
+ * <code></code>, and in the second case - <code>false</code>
+ * and no exceptions were thrown. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setReadOnly </code> </li>
+ * </ul>
+ */
+ public void _setReadOnly() {
+ boolean result = true ;
+
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+
+ String dirnameTo = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String readonlyCopy = dirnameTo + "XSimpleFileAccess_copy.txt" ;
+
+ if (oObj.exists(readonlyCopy))
+ oObj.kill(readonlyCopy);
+
+ oObj.copy(filename, readonlyCopy);
+
+ oObj.setReadOnly(readonlyCopy, true);
+ result &= oObj.isReadOnly(readonlyCopy) ;
+ oObj.setReadOnly(readonlyCopy, false);
+ result &= !oObj.isReadOnly(readonlyCopy) ;
+ tRes.tested("setReadOnly()", result);
+
+ oObj.kill(readonlyCopy);
+ }
+ catch (Exception ex) {
+ log.println("Exception occured while testing 'setReadOnly()'");
+ ex.printStackTrace(log);
+ tRes.tested("setReadOnly()",false);
+ }
+ } //EOF setReadOnly()
+
+ /**
+ * Creates folder and then checks if it was successfully created. <p>
+ * Has <b>OK</b> status if folder was created and no exceptions
+ * were thrown.
+ */
+ public void _createFolder() {
+ try {
+ String tmpdirname = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String newFolder = tmpdirname+"SimpleSubFolder";
+
+ if (oObj.exists(newFolder))
+ oObj.kill(newFolder);
+
+ oObj.createFolder(newFolder);
+ tRes.tested("createFolder()",oObj.isFolder(newFolder));
+ oObj.kill(newFolder);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'createFolder()'");
+ ex.printStackTrace(log);
+ tRes.tested("createFolder()",false);
+ }
+
+ } //EOF createFolder()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file tested.<p>
+ * Has <b> OK </b> status if the method returns <code>17</code>
+ * and no exceptions were thrown. <p>
+ */
+ public void _getSize() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ int fSize = oObj.getSize(filename);
+ tRes.tested("getSize()", fSize == 17 );
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'getSize()'");
+ ex.printStackTrace(log);
+ tRes.tested("getSize()",false);
+ }
+
+ } //EOF getSize()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file tested.<p>
+ * Has <b> OK </b> status if the method returns String
+ * <code>'application/vnd.sun.staroffice.fsys-file'</code>
+ * and no exceptions were thrown. <p>
+ */
+ public void _getContentType() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ String fType = oObj.getContentType(filename);
+ tRes.tested("getContentType()",
+ "application/vnd.sun.staroffice.fsys-file".equals(fType) );
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'getContentType()'");
+ ex.printStackTrace(log);
+ tRes.tested("getContentType()",false);
+ }
+
+ } //EOF getContentType()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file tested.<p>
+ * Has <b> OK </b> status if the method returns date with
+ * 2001 year and no exceptions were thrown. <p>
+ */
+ public void _getDateTimeModified() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ DateTime fTime = oObj.getDateTimeModified(filename);
+
+ java.io.File the_file = new java.io.File(filename);
+ long lastModified = the_file.lastModified();
+ java.util.Date lastMod = new java.util.Date(lastModified);
+
+ //compare the dates gained by java with those gained by this method
+ boolean res = true;
+ boolean partResult = (fTime.Day == lastMod.getDay());
+ if (!partResult) {
+ log.println("Wrong Day");
+ log.println("Expected: "+lastMod.getDay());
+ log.println("Gained: "+fTime.Day);
+ log.println("------------------------------");
+ }
+ partResult = (fTime.Month == lastMod.getMonth());
+ if (!partResult) {
+ log.println("Wrong Month");
+ log.println("Expected: "+lastMod.getMonth());
+ log.println("Gained: "+fTime.Month);
+ log.println("------------------------------");
+ }
+
+ partResult = (fTime.Year == lastMod.getYear());
+ if (!partResult) {
+ log.println("Wrong Year");
+ log.println("Expected: "+lastMod.getYear());
+ log.println("Gained: "+fTime.Year);
+ log.println("------------------------------");
+ }
+
+ tRes.tested("getDateTimeModified()", res);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'getDateTimeModified()'");
+ ex.printStackTrace(log);
+ tRes.tested("getDateTimeModified()",false);
+ }
+
+ } //EOF getDateTimeModified()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess</b>
+ * directory used.<p>
+ * Has <b> OK </b> status if the method returns non zero length
+ * array and no exceptions were thrown. <p>
+ */
+ public void _getFolderContents() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String[] cont = oObj.getFolderContents(dirname,false);
+ tRes.tested("getFolderContents()", cont.length>0);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'getFolderContents()'");
+ ex.printStackTrace(log);
+ tRes.tested("getFolderContents()",false);
+ }
+
+ } //EOF getFolderContents()
+
+ /**
+ * First it check file <b>XSimpleFileAccess.txt</b> for
+ * existence, second file <b>I_do_not_exists.txt</b> is checked
+ * for existence. <p>
+ * Has <b> OK </b> status if in the first case method returns
+ * <code>true</code> and in the second - <code>flase</code>
+ * and no exceptions were thrown. <p>
+ */
+ public void _exists() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ String wrongname = dirname+"I_do_not_exists.txt";
+ tRes.tested("exists()",
+ oObj.exists(filename) && !oObj.exists(wrongname));
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'exists()'");
+ ex.printStackTrace(log);
+ tRes.tested("exists()",false);
+ }
+
+ } //EOF exists()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file used.<p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value and no exceptions were thrown. <p>
+ */
+ public void _openFileRead() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ com.sun.star.io.XInputStream iStream = oObj.openFileRead(filename);
+ tRes.tested("openFileRead()", iStream != null);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'openFileRead()'");
+ ex.printStackTrace(log);
+ tRes.tested("openFileRead()",false);
+ }
+
+ } //EOF openFileRead()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file used.<p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value and no exceptions were thrown. <p>
+ */
+ public void _openFileWrite() {
+ try {
+ String tmpdirname = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+
+ String copiedFile = tmpdirname+"XSimpleFileAccess_openWrite.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ com.sun.star.io.XOutputStream oStream =
+ oObj.openFileWrite(copiedFile);
+ tRes.tested("openFileWrite()", oStream != null);
+
+ oStream.closeOutput();
+ oObj.kill(copiedFile);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'openFileWrite()'");
+ ex.printStackTrace(log);
+ tRes.tested("openFileWrite()",false);
+ }
+
+ } //EOF openFileWrite()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess2.txt</b>
+ * file used.<p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value and no exceptions were thrown. <p>
+ */
+ public void _openFileReadWrite() {
+ try {
+ String dirnameTo = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String copiedFile = dirnameTo + "XSimpleFileAccess2.txt" ;
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ com.sun.star.io.XStream aStream =
+ oObj.openFileReadWrite(copiedFile);
+ tRes.tested("openFileReadWrite()", aStream != null);
+
+ aStream.getInputStream().closeInput();
+ aStream.getOutputStream().closeOutput();
+
+ oObj.kill(copiedFile);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'openFileReadWrite()'");
+ ex.printStackTrace(log);
+ tRes.tested("openFileReadWrite()",false);
+ }
+
+ } //EOF openFileReadWrite()
+
+ /**
+ * Test calls the method and checks that no exceptions were thrown.
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _setInteractionHandler() {
+ XInteractionHandler handler = null;
+ Object oHandler = tEnv.getObjRelation("InteractionHandler");;
+
+ if (oHandler == null)
+ throw new StatusException
+ (Status.failed("Reelation InteractionHandler not found"));
+
+ try {
+ handler = (XInteractionHandler)UnoRuntime.queryInterface
+ (XInteractionHandler.class, oHandler);
+ oObj.setInteractionHandler(handler);
+ tRes.tested("setInteractionHandler()", true);
+ } catch (Exception ex) {
+ log.println("Exception occured while testing 'setInteractionHandler()'");
+ ex.printStackTrace(log);
+ tRes.tested("setInteractionHandler()", false);
+ }
+
+ } //EOF setInteractionHandler()
+
+} // finish class _XSimpleFileAccess
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java
new file mode 100644
index 000000000000..589bf6ef931d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XSimpleFileAccess2;
+
+/**
+* Testing <code>com.sun.star.ucb.XSimpleFileAccess2</code>
+* interface methods. <p>
+* @see com.sun.star.ucb.XSimpleFileAccess2
+*/
+public class _XSimpleFileAccess2 extends MultiMethodTest {
+
+ public static XSimpleFileAccess2 oObj = null;
+
+ /**
+ * Writes <b>XSimpleFileAccess_new.txt</b> to disk, checks
+ * if it was successfully created and then deletes it. <p>
+ * Has <b> OK </b> status if after method call the file
+ * exists and no exceptions were thrown. <p>
+ */
+ public void _writeFile() {
+ boolean result = true;
+ try {
+ String dirnameTo = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+ String fileURL = dirnameTo + "XSimpleFileAccess_new.txt";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ XInputStream iStream = oObj.openFileRead(filename);
+ oObj.writeFile(fileURL,iStream);
+ shortWait();
+ result = oObj.exists(fileURL);
+ oObj.kill(fileURL);
+ tRes.tested("writeFile()",result);
+ }
+ catch (com.sun.star.ucb.CommandAbortedException ex) {
+ log.println("CommandAbortedException occured while testing "+
+ "'writeFile()'");
+ ex.printStackTrace(log);
+ tRes.tested("writeFile()",false);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occured while testing 'writeFile()'");
+ ex.printStackTrace(log);
+ tRes.tested("writeFile()",false);
+ }
+
+ } //EOF writeFile()
+
+ /**
+ * Sleeps for 1 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+} // finish class _XSimpleFileAccess
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java b/qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java
new file mode 100644
index 000000000000..f14dafba9d0c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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.ucb;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.ucb.XSortedDynamicResultSetFactory;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.ucb.XSortedDynamicResultSetFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createSortedDynamicResultSet()</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>solibrary.jar</code> : is used to retrieve
+* content of its root directory.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ucb.XSortedDynamicResultSetFactory
+*/
+public class _XSortedDynamicResultSetFactory extends MultiMethodTest {
+
+ /**
+ * Conatins the tested object.
+ */
+ public XSortedDynamicResultSetFactory oObj;
+
+ /**
+ * Creates sorted dynamic result set from result set. For this
+ * a dynamic result set is to be created. It is created by
+ * retrieving content list from JAR archive.
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater then 0 (because JAR file contains at least one entry).
+ */
+ public void _createSortedDynamicResultSet() {
+ boolean result = true ;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XDynamicResultSet dynResSet = null ;
+ try {
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[] {"Local", "Office"}) ;
+
+ XContentIdentifierFactory ciFac = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface
+ (XContentIdentifierFactory.class,oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ String escUrl = "" ;
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl += url.substring(lastIdx + 1, idx) + "%2F" ;
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl += url.substring(lastIdx + 1) ;
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = (XContentProvider)
+ UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = (XCommandProcessor)
+ UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ dynResSet = (XDynamicResultSet) AnyConverter.toObject(
+ new Type(XDynamicResultSet.class),cmdProc.execute(cmd, 0, null));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+
+ XDynamicResultSet sortedSet = oObj.createSortedDynamicResultSet
+ (dynResSet, new NumberedSortingInfo[0], null) ;
+
+ int rowCount = -1 ;
+ if (sortedSet != null) {
+ XResultSet set = null ;
+ try {
+ set = sortedSet.getStaticResultSet() ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ e.printStackTrace(log);
+ }
+
+ try {
+ set.last() ;
+ rowCount = set.getRow();
+ log.println("Number of rows in result set: " + rowCount);
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception occured while accessing "+
+ "sorted result set :");
+ e.printStackTrace(log);
+ }
+ } else {
+ log.println("Null returned !!!");
+ result &= false ;
+ }
+
+ result &= rowCount > 1 ;
+
+ tRes.tested("createSortedDynamicResultSet()", result) ;
+ }
+
+
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java b/qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java
new file mode 100644
index 000000000000..3e5361e9f2e0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java
@@ -0,0 +1,212 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ui.XContextMenuInterception;
+import com.sun.star.ui.XContextMenuInterceptor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import helper.ContextMenuInterceptor;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.utils;
+
+public class _XContextMenuInterception extends MultiMethodTest {
+
+ private XModel docModel = null;
+ private XContextMenuInterceptor xCI = null;
+ public XContextMenuInterception oObj = null;
+ private XWindow xWindow = null;
+ private XMultiServiceFactory xMSF = null;
+ private Point point = null;
+
+ public void before() {
+ docModel = (XModel) UnoRuntime.queryInterface(
+ XModel.class,tEnv.getObjRelation("FirstModel"));
+
+ xCI = (XContextMenuInterceptor) UnoRuntime.queryInterface(
+ XContextMenuInterceptor.class, new ContextMenuInterceptor());
+
+ xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ //ensure that the first model is focused
+
+ log.println("ensure that the first model is focused");
+ DesktopTools.bringWindowToFront(docModel);
+
+ utils.shortWait(3000);
+ }
+
+ public void after() {
+ if (xCI != null) {
+ oObj.releaseContextMenuInterceptor(xCI);
+ }
+ }
+
+ public void _registerContextMenuInterceptor() {
+ oObj.registerContextMenuInterceptor(xCI);
+ openContextMenu(docModel);
+ boolean res = checkHelpEntry();
+ releasePopUp();
+ tRes.tested("registerContextMenuInterceptor()",res);
+ }
+
+ public void _releaseContextMenuInterceptor() {
+ requiredMethod("registerContextMenuInterceptor()");
+ oObj.releaseContextMenuInterceptor(xCI);
+ openContextMenu(docModel);
+ boolean res = checkHelpEntry();
+ releasePopUp();
+ tRes.tested("releaseContextMenuInterceptor()",!res);
+ }
+
+ private boolean checkHelpEntry(){
+ XInterface toolkit = null;
+ boolean res = true;
+
+ log.println("get accesibility...");
+ try{
+ toolkit = (XInterface) xMSF.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e){
+ log.println("could not get Toolkit " + e.toString());
+ }
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ XAccessible xRoot = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ try {
+ xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getTopWindow(0));
+
+ xRoot = at.getAccessibleObject(xWindow);
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Window");
+ }
+
+ XAccessibleContext oPopMenu = at.getAccessibleObjectForRole(xRoot, AccessibleRole.POPUP_MENU,true);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oPopMenu));
+
+ XAccessible xHelp = null;
+ try{
+ log.println("Try to get second entry of context menu...");
+ xHelp = oPopMenu.getAccessibleChild(1);
+
+ } catch (IndexOutOfBoundsException e){
+ throw new StatusException("Not possible to get second entry of context menu",e);
+ }
+
+ if (xHelp == null) throw new StatusException(new Status("second entry of context menu is NULL", false));
+
+ XAccessibleContext xHelpCont = xHelp.getAccessibleContext();
+
+ if ( xHelpCont == null )
+ throw new StatusException(new Status("No able to retrieve accessible context from first entry of context menu",false));
+
+ String aAccessibleName = xHelpCont.getAccessibleName();
+ if ( !aAccessibleName.equals( "Help" )) {
+ log.println("Accessible name found = "+aAccessibleName );
+ log.println("Second entry of context menu is not from context menu interceptor");
+ res=false;
+ }
+
+ return res;
+
+ }
+
+ private void openContextMenu(XModel xModel){
+
+ log.println("try to open contex menu...");
+ AccessibilityTools at = new AccessibilityTools();
+
+ xWindow = at.getCurrentWindow(xMSF, xModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XInterface oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ XAccessibleComponent window = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ point = window.getLocationOnScreen();
+ Rectangle rect = window.getBounds();
+
+ log.println("klick mouse button...");
+ try {
+ Robot rob = new Robot();
+ int x = point.X + (rect.Width / 2);
+ int y = point.Y + (rect.Height / 2);
+ rob.mouseMove(x, y);
+ System.out.println("Press Button");
+ rob.mousePress(InputEvent.BUTTON3_MASK);
+ System.out.println("Release Button");
+ rob.mouseRelease(InputEvent.BUTTON3_MASK);
+ System.out.println("done");
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ utils.shortWait(1000);
+
+ }
+
+ private void releasePopUp() {
+ log.println("release the popup menu");
+ try {
+ Robot rob = new Robot();
+ int x = point.X;
+ int y = point.Y;
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java
new file mode 100755
index 000000000000..024f72d07259
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.ui.XModuleUIConfigurationManager;
+import lib.MultiMethodTest;
+
+public class _XModuleUIConfigurationManager extends MultiMethodTest {
+
+ public XModuleUIConfigurationManager oObj = null;
+ private String resourceUrl = null;
+
+ public void before() {
+ resourceUrl = (String)tEnv.getObjRelation("XModuleUIConfigurationManager.ResourceURL");
+ }
+
+ public void _isDefaultSettings() {
+ boolean result;
+ try {
+ result = oObj.isDefaultSettings(resourceUrl);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + resourceUrl + "' is an illegal resource.");
+ result = false;
+ }
+ String notPossibleUrl = "private:resource/menubar/dingsbums";
+ try {
+ result &= !oObj.isDefaultSettings(notPossibleUrl);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + notPossibleUrl + "' is an illegal resource.");
+ result = false;
+ }
+
+ tRes.tested("isDefaultSettings()", result);
+ }
+
+ public void _getDefaultSettings() {
+ boolean result;
+ try {
+ XIndexAccess xIndexAcc = oObj.getDefaultSettings(resourceUrl);
+ result = xIndexAcc != null;
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + resourceUrl + "' is an illegal resource.");
+ result = false;
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("No resource '" + resourceUrl + "' available.");
+ result = false;
+ }
+ tRes.tested("getDefaultSettings()", result);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java
new file mode 100755
index 000000000000..f2c87692d7bc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.ui.XModuleUIConfigurationManagerSupplier;
+import lib.MultiMethodTest;
+
+public class _XModuleUIConfigurationManagerSupplier extends MultiMethodTest {
+
+ public XModuleUIConfigurationManagerSupplier oObj;
+
+ public void _getUIConfigurationManager() {
+ String configManagerName = null;
+ String implementationName = null;
+ try {
+ configManagerName = (String)tEnv.getObjRelation("XModuleUIConfigurationManagerSupplier.ConfigurationManager");
+ implementationName = (String)tEnv.getObjRelation("XModuleUIConfigurationManagerSupplier.ConfigManagerImplementationName");
+
+ // get a config manager for the StartModule
+ Object o = oObj.getUIConfigurationManager(configManagerName);
+ XServiceInfo xServiceInfo = (XServiceInfo)UnoRuntime.queryInterface(XServiceInfo.class, o);
+ String impName = xServiceInfo.getImplementationName();
+ boolean result = impName.equals(implementationName);
+ if (!result) {
+ log.println("Returned implementation was '" + impName +
+ "' but should have been '" + implementationName + "'");
+ }
+ tRes.tested("getUIConfigurationManager()", result);
+ return;
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("Could not get a configuration manager called '" + configManagerName + "'");
+ e.printStackTrace(log);
+ }
+ tRes.tested("getUIConfigurationManager()", false);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfiguration.java b/qadevOOo/tests/java/ifc/ui/_XUIConfiguration.java
new file mode 100755
index 000000000000..9b0fea0096c5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfiguration.java
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.ui.XUIConfiguration;
+import com.sun.star.ui.XUIConfigurationListener;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.ui.XUIConfiguration</code>
+* interface methods :
+* <ul>
+* <li><code> addConfigurationListener()</code></li>
+* <li><code> removeConfigurationListener()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.ui.XUIConfiguration
+*/
+
+public class _XUIConfiguration extends MultiMethodTest {
+
+ public XUIConfiguration oObj;
+ XUIConfigurationListenerImpl xListener = null;
+
+ /**
+ * Interface for the Listener of the object relation
+ * <CODE>XUIConfiguration.XUIConfigurationListenerImpl</CODE>
+ * @see com.sun.star.ui.XUIConfigurationListener
+ */
+ public static interface XUIConfigurationListenerImpl
+ extends XUIConfigurationListener {
+ public void reset();
+ public void fireEvent();
+ public boolean actionWasTriggered();
+ }
+
+
+ /**
+ * try to get a listener out of the object relation
+ * <CODE>XUIConfiguration.XUIConfigurationListenerImpl</CODE>
+ */
+ public void before() {
+ xListener = (XUIConfigurationListenerImpl)tEnv.getObjRelation(
+ "XUIConfiguration.XUIConfigurationListenerImpl");
+ XUIConfigurationListener l;
+ }
+
+ /**
+ * adds a listener an fire an event
+ * Has <B>OK</B> status if listener was called
+ */
+ public void _addConfigurationListener() {
+ oObj.addConfigurationListener(xListener);
+ xListener.fireEvent();
+ tRes.tested("addConfigurationListener()", xListener.actionWasTriggered());
+ }
+
+ /**
+ * removes the listener and calls an event.
+ * Has <B>OK</B> status if listener is not called.
+ */
+ public void _removeConfigurationListener() {
+ requiredMethod("addConfigurationListener()");
+ oObj.removeConfigurationListener(xListener);
+ xListener.reset();
+ xListener.fireEvent();
+ tRes.tested("removeConfigurationListener()", !xListener.actionWasTriggered());
+ }
+
+ /**
+ * Dispose because the UIConfigurationManager has to be recreated
+ */
+ public void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java
new file mode 100755
index 000000000000..cd24140d988e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.ui.ConfigurationEvent;
+import com.sun.star.ui.XUIConfigurationListener;
+import lib.MultiMethodTest;
+
+public class _XUIConfigurationListener extends MultiMethodTest {
+
+ public XUIConfigurationListener oObj = null;
+
+ public void _elementInserted() {
+ ConfigurationEvent event = new ConfigurationEvent();
+ oObj.elementInserted(event);
+ tRes.tested("elementInserted()", true);
+ }
+ public void _elementRemoved() {
+ ConfigurationEvent event = new ConfigurationEvent();
+ oObj.elementRemoved(event);
+ tRes.tested("elementRemoved()", true);
+ }
+ public void _elementReplaced() {
+ ConfigurationEvent event = new ConfigurationEvent();
+ oObj.elementReplaced(event);
+ tRes.tested("elementReplaced()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java
new file mode 100755
index 000000000000..53ddc59e6ce9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java
@@ -0,0 +1,363 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleComponentFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.ui.UIElementType;
+import com.sun.star.ui.XImageManager;
+import com.sun.star.ui.XUIConfigurationManager;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+
+public class _XUIConfigurationManager extends MultiMethodTest {
+
+ public XUIConfigurationManager oObj;
+ private String msResourceUrl = "private:resource/menubar/menubar";
+ private String msMyResourceUrl = "private:resource/menubar/mymenubar";
+ private XIndexContainer mxSettings = null;
+ private XIndexAccess mxMenuBarSettings = null;
+ private XMultiServiceFactory mxMSF = null;
+ private String sShortCutManagerServiceName = null;
+
+
+ /**
+ * Some stuff before the tests:
+ * extract the multi service factory.
+ */
+ protected void before() {
+ mxMSF = (XMultiServiceFactory)tParam.getMSF();
+ sShortCutManagerServiceName = (String)tEnv.getObjRelation("XConfigurationManager.ShortCutManager");
+
+ }
+
+ /**
+ * reset all changes: do at the end.
+ */
+ public void _reset() {
+ requiredMethod("removeSettings()");
+ oObj.reset();
+ tRes.tested("reset()", true);
+ }
+
+ public void _getUIElementsInfo() {
+ boolean result = true;
+ try {
+ PropertyValue[][]props = oObj.getUIElementsInfo(UIElementType.UNKNOWN);
+ for (int i=0; i<props.length; i++)
+ for(int j=0; j<props[i].length; j++)
+ log.println("Prop["+i+"]["+j+"]: " + props[i][j].Name + " " + props[i][j].Value.toString());
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("getUIElementsInfo()", result);
+ }
+
+ public void _createSettings() {
+ mxSettings = oObj.createSettings();
+ util.dbg.printInterfaces(mxSettings);
+ tRes.tested("createSettings()", mxSettings != null);
+ }
+
+ public void _hasSettings() {
+ boolean result = false;
+ try {
+ result = oObj.hasSettings(msResourceUrl);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e);
+ result = false;
+ }
+ tRes.tested("hasSettings()", result);
+ }
+
+ public void _getSettings() {
+ requiredMethod("hasSettings()");
+ boolean result = true;
+ try {
+ mxMenuBarSettings = oObj.getSettings(msResourceUrl, true);
+ result = mxMenuBarSettings != null;
+ for (int i=0; i<mxMenuBarSettings.getCount(); i++) {
+ Object[] o = (Object[])mxMenuBarSettings.getByIndex(i);
+ log.println("+++++++++ i = " + i);
+ for (int j=0; j<o.length; j++) {
+ PropertyValue prop = (PropertyValue)o[j];
+ log.println("Property" + j + ": " + prop.Name + " " + prop.Value.toString());
+ }
+ }
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("getSettings()", result);
+ }
+
+ public void _replaceSettings() {
+ requiredMethod("getSettings()");
+ boolean result = true;
+ PropertyValue[] prop = createMenuBarEntry("My Entry", mxMenuBarSettings, mxMSF, log);
+ if (prop == null) {
+ tRes.tested("replaceSettings()", false);
+ return;
+ }
+
+ createMenuBarItem("Click for Macro", (XIndexContainer)UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+
+ XIndexContainer x = (XIndexContainer)UnoRuntime.queryInterface(XIndexContainer.class, mxMenuBarSettings);
+ try {
+ x.insertByIndex(x.getCount(), prop);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+
+ try {
+ oObj.replaceSettings(msResourceUrl, mxMenuBarSettings);
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ _getSettings();
+ tRes.tested("replaceSettings()", result);
+ }
+
+ public void _removeSettings() {
+ requiredMethod("insertSettings()");
+ boolean result = true;
+ try {
+ oObj.removeSettings(msMyResourceUrl);
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ tRes.tested("removeSettings()", result);
+ }
+
+ public void _insertSettings() {
+ requiredMethod("createSettings()");
+ requiredMethod("replaceSettings()");
+ boolean result = true;
+ util.dbg.printInterfaces(mxSettings);
+ PropertyValue[] prop = createMenuBarEntry("A new entry", mxSettings, mxMSF, log);
+ if (prop == null) {
+ tRes.tested("replaceSettings()", false);
+ return;
+ }
+
+ createMenuBarItem("A new sub entry", (XIndexContainer)UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+
+ XIndexContainer x = (XIndexContainer)UnoRuntime.queryInterface(XIndexContainer.class,mxSettings);
+ try {
+ int count = x.getCount();
+ x.insertByIndex(count, prop);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+
+ try {
+ oObj.insertSettings(msMyResourceUrl, mxSettings);
+ }
+ catch(com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ tRes.tested("insertSettings()", result);
+ }
+
+ /**
+ * Only a short test.
+ * See complex.imageManager.CheckImageManager for a more extensive test of
+ * this implementation.
+ */
+ public void _getImageManager() {
+ Object o = oObj.getImageManager();
+ log.println("###### ImageManager ");
+ XImageManager xImageManager = (XImageManager)UnoRuntime.queryInterface(XImageManager.class, o);
+ tRes.tested("getImageManager()", xImageManager != null);
+ }
+
+
+ /**
+ * get a shortcut manager
+ */
+ public void _getShortCutManager() {
+ Object o = oObj.getShortCutManager();
+ XServiceInfo xSI = (XServiceInfo)UnoRuntime.queryInterface(XServiceInfo.class,o);
+ String[] serviceNames = xSI.getSupportedServiceNames();
+ boolean bSupportedServiceFound = false;
+ for (int i=0; i<serviceNames.length; i++) {
+ log.println("SuppService: " + serviceNames[i]);
+ if (serviceNames[i].equals(sShortCutManagerServiceName)) {
+ bSupportedServiceFound = true;
+ }
+ }
+ tRes.tested("getShortCutManager()", bSupportedServiceFound);
+ }
+
+ public void _getEventsManager() {
+ Object o = oObj.getEventsManager();
+ tRes.tested("getEventsManager()", o == null);
+ }
+
+ /**
+ * Create a menu bar entry for adding to the menu bar of the Office.
+ * @param sLabelName The name of the new entry.
+ * @param xMenuBarSettings The existing menu bar settings, used for creating the new entry.
+ * @return An array of properties of the new entry.
+ */
+ public static PropertyValue[] createMenuBarEntry(String sLabelName, XIndexAccess xMenuBarSettings, XMultiServiceFactory xMSF, PrintWriter log) {
+ PropertyValue[] prop = new PropertyValue[4];
+ prop[0] = new PropertyValue();
+ prop[0].Name = "CommandURL";
+ prop[0].Value = "vnd.openoffice.org:MyMenu";
+ prop[1] = new PropertyValue();
+ prop[1].Name = "Label";
+ prop[1].Value = sLabelName;
+ prop[2] = new PropertyValue();
+ prop[2].Name = "Type";
+ prop[2].Value = new Short((short)0);
+ prop[3] = new PropertyValue();
+ prop[3].Name = "ItemDescriptorContainer";
+
+ XSingleComponentFactory xFactory = (XSingleComponentFactory)UnoRuntime.queryInterface(
+ XSingleComponentFactory.class, xMenuBarSettings);
+ try {
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ XComponentContext xContext = (XComponentContext)UnoRuntime.queryInterface(
+ XComponentContext.class, xProp.getPropertyValue("DefaultContext"));
+ prop[3].Value = xFactory.createInstanceWithContext(xContext);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ log.println("Could not create an instance for ItemDescriptorContainer property.");
+ e.printStackTrace(log);
+ return null;
+ }
+ return prop;
+ }
+
+ /**
+ * Create a sub entry to the menu bar.
+ * @param sLabelName The name of the entry in the UI.
+ * @param xDescriptionContainer The parent entry in the menu bar where
+ * this entry is added.
+ */
+ public static void createMenuBarItem(String sLabelName, XIndexContainer xDescriptionContainer, PrintWriter log) {
+ PropertyValue[]aMenuItem = new PropertyValue[3];
+ // create a menu item
+ aMenuItem[0] = new PropertyValue();
+ aMenuItem[0].Name = "CommandURL";
+ aMenuItem[0].Value = "macro:///Standard.Module1.Test()";
+ aMenuItem[1] = new PropertyValue();
+ aMenuItem[1].Name = "Label";
+ aMenuItem[1].Value = sLabelName;
+ aMenuItem[2] = new PropertyValue();
+ aMenuItem[2].Name = "Type";
+ aMenuItem[2].Value = new Short((short)0);
+
+ try {
+ xDescriptionContainer.insertByIndex(0, aMenuItem);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java
new file mode 100755
index 000000000000..96067661bb26
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.embed.XStorage;
+import com.sun.star.ui.XUIConfigurationPersistence;
+import lib.MultiMethodTest;
+
+public class _XUIConfigurationPersistence extends MultiMethodTest {
+
+ public XUIConfigurationPersistence oObj;
+ private XStorage xStore = null;
+
+ public void before() {
+ xStore = (XStorage)tEnv.getObjRelation("XUIConfigurationStorage.Storage");
+ }
+
+ public void _reload() {
+ try {
+ oObj.reload();
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+ tRes.tested("reload()", true);
+ }
+
+ public void _store() {
+ try {
+ oObj.store();
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+ tRes.tested("store()", true);
+ }
+
+ public void _storeToStorage() {
+ boolean result = true;
+ try {
+ oObj.storeToStorage(xStore);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("storeToStorage()", result);
+ }
+
+ public void _isModified() {
+ tRes.tested("isModified()", !oObj.isModified());
+ }
+
+ public void _isReadOnly() {
+ tRes.tested("isReadOnly()", !oObj.isReadOnly());
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java
new file mode 100755
index 000000000000..8acdde914422
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.embed.XStorage;
+import com.sun.star.ui.XUIConfigurationStorage;
+import lib.MultiMethodTest;
+/**
+* Testing <code>com.sun.star.ui.XUIConfigurationStorage</code>
+* interface methods :
+* <ul>
+* <li><code> setStorage()</code></li>
+* <li><code> hasStorage()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ui.XUIConfigurationStorage
+*/
+
+public class _XUIConfigurationStorage extends MultiMethodTest {
+
+ public XUIConfigurationStorage oObj;
+ private XStorage xStore = null;
+
+ public void before() {
+ xStore = (XStorage)tEnv.getObjRelation("XUIConfigurationStorage.Storage");
+ }
+
+ /**
+ * Set the object relation <code>XUIConfigurationStorage.Storage</code>
+ * as storage.
+ * Has <b>OK</b> status if no exception is thrown.
+ */
+ public void _setStorage() {
+ if (!oObj.hasStorage())
+ oObj.setStorage(xStore);
+ else
+ log.println("For initializing this object, the setStorage() method was already called at the object.");
+ tRes.tested("setStorage()", true);
+ }
+
+ /**
+ * Queries object for a storage.
+ * Has <b>OK</b> status if <code>hasStorage</code> returns <code>OK</code>
+ */
+ public void _hasStorage() {
+ requiredMethod("setStorage()");
+ boolean has = oObj.hasStorage();
+ tRes.tested("hasStorage()", has);
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIElementFactory.java b/qadevOOo/tests/java/ifc/ui/_XUIElementFactory.java
new file mode 100755
index 000000000000..5e590054e1f4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIElementFactory.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.ui.XUIElement;
+import com.sun.star.ui.XUIElementFactory;
+import lib.MultiMethodTest;
+
+public class _XUIElementFactory extends MultiMethodTest {
+
+ public XUIElementFactory oObj;
+
+ public void _createUIElement() {
+ boolean result = true;
+ PropertyValue[] prop = new PropertyValue[0];
+ try {
+ XUIElement element = oObj.createUIElement("private:resource/menubar/menubar", prop);
+ result = (element!= null);
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("createUIElement()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java b/qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java
new file mode 100755
index 000000000000..089b42aef0c1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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.ui;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.ui.XUIElementFactory;
+import com.sun.star.ui.XUIElementFactoryRegistration;
+import lib.MultiMethodTest;
+
+public class _XUIElementFactoryRegistration extends MultiMethodTest {
+
+ public XUIElementFactoryRegistration oObj;
+
+ public void _registerFactory() {
+ boolean result = true;
+ try {
+ oObj.registerFactory("private:resource/menubar/menubar", "MyOwnMenubar", "", "com.sun.star.comp.framework.MenuBarFactory");
+ }
+ catch(com.sun.star.container.ElementExistException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("registerFactory()", result);
+ }
+
+ public void _getRegisteredFactories() {
+ requiredMethod("registerFactory()");
+ PropertyValue[][]props = oObj.getRegisteredFactories();
+ if (props == null) {
+ log.println("Null was returned as PropertyValue[][]");
+ props = new PropertyValue[0][0];
+ }
+ for(int i=0; i<props.length; i++)
+ for(int j=0; j<props[i].length; j++)
+ log.println("Factory: " + props[i][j].Name + " - " + props[i][j].Value);
+ tRes.tested("getRegisteredFactories()", props.length != 0);
+ }
+
+ public void _getFactory() {
+ requiredMethod("registerFactory()");
+ XUIElementFactory xFactory = oObj.getFactory("private:resource/menubar/menubar", "");
+ tRes.tested("getFactory()", xFactory != null);
+ }
+
+ public void _deregisterFactory() {
+ executeMethod("getRegisteredFactory()");
+ executeMethod("getFactory()");
+ boolean result = true;
+ try {
+ oObj.deregisterFactory("private:resource/menubar/menubar", "MyOwnMenubar", "");
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("deregisterFactory()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java b/qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java
new file mode 100644
index 000000000000..a3f681277d41
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiPropertyTest;
+
+public class _FilePicker extends MultiPropertyTest {
+
+
+} // EOF Calendar
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java
new file mode 100644
index 000000000000..a1a9197cd4a6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.ui.dialogs.XControlAccess;
+import com.sun.star.ui.dialogs.XControlInformation;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.ui.XFilePicker</code>
+* interface methods :
+* <ul>
+* <li><code> setControlProperty()</code></li>
+* <li><code> getControlProperty()</code></li>
+* </ul> <p>
+*
+* For testing this interface the component must implement
+* <code>com.sun.star.ui.dialogs.XControlInformation</code>
+* interface. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XControlAccess extends MultiMethodTest {
+
+ public XControlAccess oObj = null;
+ private XControlInformation xCI = null ;
+ private String[] supControls = null ;
+ private String[][] supProperties = null ;
+
+ /**
+ * Tries to query <code>com.sun.star.ui.dialogs.XControlInformation</code>
+ * interface, and obtain properties' names of each available
+ * control. <p>
+ *
+ * @throw StatusException if interface is not supported or
+ * properties couldn't be get.
+ */
+ protected void before() {
+ xCI = (XControlInformation) UnoRuntime.queryInterface
+ (XControlInformation.class, oObj);
+
+ if (xCI == null) throw new StatusException
+ (Status.failed("XControlInformation not supported")) ;
+
+ supControls = xCI.getSupportedControls();
+ supProperties = new String[supControls.length][];
+ for (int i = 0; i < supControls.length; i++) {
+ try {
+ supProperties[i] =
+ xCI.getSupportedControlProperties(supControls[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException
+ ("Exception while init.", e) ;
+ }
+ }
+ }
+
+ /**
+ * Tries to change each property of each control.
+ * Has <b>OK</b> status if values are properly changed.
+ */
+ public void _setControlProperty() {
+ boolean result = true ;
+ String error = "";
+
+ for (int i = 0; i < supControls.length; i++) {
+ log.println("Checking properties for control " + supControls[i]);
+ for (int j = 0; j < supProperties[i].length; j++) {
+ log.println("\t" + supProperties[i][j]);
+ try {
+ Object oldVal = oObj.getControlProperty(supControls[i],
+ supProperties[i][j]);
+ Object newVal = util.ValueChanger.changePValue(oldVal);
+ if (supProperties[i][j].startsWith("Help")) {
+ newVal = "HID:133";
+ }
+ oObj.setControlProperty
+ (supControls[i], supProperties[i][j], newVal) ;
+ Object resVal = oObj.getControlProperty(supControls[i],
+ supProperties[i][j]);
+ log.println("\t Old:" + oldVal + ",New:" + newVal
+ + ",Result:" + resVal);
+ if (!util.ValueComparer.equalValue(newVal, resVal)) {
+ error += "####Property '"+supProperties[i][j]+
+ " of "+supControls[i]+" didn't work\n\r"+
+ "\t Old:" + oldVal + ",New:" + newVal
+ + ",Result:" + resVal+ "\n\r";
+ }
+ result &= util.ValueComparer.equalValue(newVal, resVal);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception:" );
+ e.printStackTrace(log);
+ result = false ;
+ }
+ }
+ }
+
+ log.println(error);
+
+ tRes.tested("setControlProperty()", result) ;
+ tRes.tested("getControlProperty()", result) ;
+ }
+
+ /**
+ * Does nothing. Testing performed in <code>setControlProperty</code>
+ * method test.
+ */
+ public void _getControlProperty() {}
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java
new file mode 100644
index 000000000000..ad7c8d782d7d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XControlInformation;
+
+/**
+* Testing <code>com.sun.star.ui.XControlInformation</code>
+* interface methods :
+* <ul>
+* <li><code> getSupportedControls()</code></li>
+* <li><code> isControlSupported()</code></li>
+* <li><code> getSupportedControlProperties()</code></li>
+* <li><code> isControlPropertySupported()</code></li>
+* </ul> <p>
+*
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XControlInformation extends MultiMethodTest {
+
+ public XControlInformation oObj = null;
+ private String[] supControls = null ;
+ private String[][] supProperties = null ;
+
+ /**
+ * Gets supported controls and stores them. <p>
+ * Has <b>OK</b> status if not <code>null</code> returned.
+ */
+ public void _getSupportedControls() {
+ supControls = oObj.getSupportedControls();
+
+ tRes.tested("getSupportedControls()", supControls != null) ;
+ }
+
+ /**
+ * For every available control check if it is supported.
+ * Also wrong control name (non-existant and empty) are checked.<p>
+ *
+ * Has <b>OK</b> status if <code>true</code> returned for valid
+ * control names and <code>false</code> for invalid.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedControls </code> to have
+ * valid control names</li>
+ * </ul>
+ */
+ public void _isControlSupported() {
+ requiredMethod("getSupportedControls()") ;
+
+ boolean result = true ;
+
+ log.println("Supported controls :");
+ for (int i = 0; i < supControls.length; i++) {
+ log.println(" " + supControls[i]);
+ result &= oObj.isControlSupported(supControls[i]) ;
+ }
+
+ result &= !oObj.isControlSupported("SuchNameMustNotExist");
+ result &= !oObj.isControlSupported("");
+
+ tRes.tested("isControlSupported()", result) ;
+ }
+
+ /**
+ * For each control obtains its properties and stores them. Then tries to
+ * obtain properties for control with invalid name. <p>
+ *
+ * Has <b>OK</b> status if properties arrays are not null and exception
+ * thrown or null returned for control with invalid name <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedControls </code> to have
+ * valid control names</li>
+ * </ul>
+ */
+ public void _getSupportedControlProperties() {
+ requiredMethod("getSupportedControls()") ;
+
+ boolean result = true;
+
+ supProperties = new String[supControls.length][];
+ for (int i = 0; i < supControls.length; i++) {
+ log.println("Getting proeprties for control: " + supControls[i]);
+ try {
+ supProperties[i] =
+ oObj.getSupportedControlProperties(supControls[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception:" + e);
+ result = false ;
+ }
+ result &= supProperties[i] != null;
+ }
+
+ try {
+ Object prop = oObj.getSupportedControlProperties("NoSuchControl") ;
+ result &= prop == null;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Expected exception getting properties " +
+ "for wrong control:" + e);
+ }
+
+ tRes.tested("getSupportedControlProperties()", true) ;
+ }
+
+ /**
+ * <ul>
+ * <li>For each property of each control checks if it is supported.</li>
+ * <li>For each control checks if non-existent property
+ * (with wrong name and with empty name) supported.</li>
+ * <li>Tries to check the property of non-existent control </li>
+ * </ul>
+ * <p>
+ * Has <b>OK</b> status if <code>true</code> returned for the first case,
+ * <code>false</code> for the second, and <code>false</code> or exception
+ * for the third.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedControlProperties </code> to have a set of
+ * valid properties </li>
+ * </ul>
+ */
+ public void _isControlPropertySupported() {
+ requiredMethod("getSupportedControlProperties()") ;
+
+ boolean result = true;
+
+ for (int i = 0; i < supControls.length; i++) {
+ log.println("Checking proeprties for control " + supControls[i]);
+ for (int j = 0; j < supProperties[i].length; j++) {
+ log.println(" " + supProperties[i][j]);
+ try {
+ result &= oObj.isControlPropertySupported
+ (supControls[i], supProperties[i][j]) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception:" + e);
+ result = false ;
+ }
+ }
+
+ try {
+ result &= !oObj.isControlPropertySupported
+ (supControls[i], "NoSuchPropertyForThisControl") ;
+ result &= !oObj.isControlPropertySupported
+ (supControls[i], "") ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println
+ ("Unexpected exception (just false must be returned):" + e);
+ result = false ;
+ }
+ }
+
+ try {
+ result &= !oObj.isControlPropertySupported("NoSuchControl", "") ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Expected exception: " + e);
+ }
+
+ tRes.tested("isControlPropertySupported()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java
new file mode 100644
index 000000000000..95e2c27d9895
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XExecutableDialog;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XCancellable;
+
+/**
+ * Testing <code>com.sun.star.ui.dialogs.XExecutableDialog</code>
+ * interface methods :
+ * <ul>
+ * <li><code> setTitle()</code></li>
+ * <li><code> execute()</code></li>
+ * </ul> <p>
+ *
+ * This interface methods cann't be checked, thereby methods
+ * are just called. <code>execute</code> method is not called
+ * at all as the dialog shown cann't be disposed. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.ui.dialogs.XExecutableDialog
+ */
+public class _XExecutableDialog extends MultiMethodTest {
+
+ public XExecutableDialog oObj = null;
+ private ExecThread eThread = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setTitle() {
+ oObj.setTitle("The Title");
+ tRes.tested("setTitle()",true);
+ }
+
+ /**
+ * This method is excluded from automated test since
+ * we can't close the dialog. <p>
+ * Always has <b>OK</b> status.
+ */
+ public void _execute() {
+ String aName = tEnv.getTestCase().getObjectName();
+ boolean result = false;
+ if (aName.startsWith("OData") || aName.startsWith("OSQL")) {
+ log.println("dbaccess dialogs can't be closed via API");
+ log.println("therefore they aren't executed");
+ log.println("and the result is set to true");
+ result = true;
+ } else {
+ eThread = new ExecThread(oObj);
+ log.println("Starting Dialog");
+ eThread.start();
+ XCancellable canc = (XCancellable)UnoRuntime.queryInterface
+ (XCancellable.class, tEnv.getTestObject());
+ shortWait();
+ if (canc != null) {
+ closeDialog();
+ short res = eThread.execRes;
+ log.println("result: "+res);
+ result = (res == 0);
+ } else {
+ this.disposeEnvironment();
+ result=true;
+ log.println("XCancellable isn't supported and the "+
+ "environment is killed hard");
+ }
+
+
+ }
+ tRes.tested("execute()",result);
+ }
+
+ /**
+ * Calls <code>execute()</code> method in a separate thread.
+ * Necessary to check if this method works
+ */
+ protected class ExecThread extends Thread {
+
+ public short execRes = (short) 17 ;
+ private XExecutableDialog Diag = null ;
+
+ public ExecThread(XExecutableDialog Diag) {
+ this.Diag = Diag ;
+ }
+
+ public void run() {
+ try {
+ execRes = Diag.execute();
+ System.out.println("HERE: "+execRes);
+ } catch(Exception e) {
+ log.println("Thread has been interrupted ... ");
+ }
+ }
+ }
+
+ /**
+ * Sleeps for 5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+ public void after() {
+ if (eThread.isAlive()) {
+ log.println("Thread didn't die ... cleaning up");
+ disposeEnvironment();
+ }
+ }
+
+ private void closeDialog() {
+ XCancellable canc = (XCancellable) UnoRuntime.queryInterface(
+ XCancellable.class, tEnv.getTestObject());
+ if (canc != null) {
+ log.println("Cancelling Dialog");
+ canc.cancel();
+ } else {
+ this.disposeEnvironment();
+ }
+
+ long st = System.currentTimeMillis();
+ boolean toLong = false;
+
+ log.println("waiting for dialog to close");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("done");
+
+ try {
+ if (eThread.isAlive()) {
+ log.println("Interrupting Thread");
+ eThread.interrupt();
+ eThread.yield();
+ }
+ } catch (Exception e) {
+ // who cares ;-)
+ }
+
+ st = System.currentTimeMillis();
+ toLong = false;
+
+ log.println("waiting for interruption to work");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("DialogThread alive: "+eThread.isAlive());
+
+ log.println("done");
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java
new file mode 100644
index 000000000000..45ceec2db964
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XFilePicker;
+
+/**
+* Testing <code>com.sun.star.ui.XFilePicker</code>
+* interface methods :
+* <ul>
+* <li><code> setMultiSelectionMode()</code></li>
+* <li><code> setDefaultName()</code></li>
+* <li><code> setDisplayDirectory()</code></li>
+* <li><code> getDisplayDirectory()</code></li>
+* <li><code> getPath()</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>'space-metal.jpg'</code> : just to exist. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XFilePicker extends MultiMethodTest {
+
+ public XFilePicker oObj = null;
+ private String dir = null ;
+ private String fname = "space-metal.jpg" ;
+
+ /**
+ * Sets the current directory to the test document directory. <p>
+ * Has <b>OK</b> status if no exceptions occured.
+ */
+ public void _setDisplayDirectory() {
+ boolean result = true ;
+ dir = util.utils.getFullTestURL("") ;
+
+ log.println("Trying to set dir '" + dir + "'") ;
+ try {
+ oObj.setDisplayDirectory(dir) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Directory '" + dir + "' not found :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("setDisplayDirectory()", result) ;
+ }
+
+ /**
+ * Gets the current directory. <p>
+ * Has <b>OK</b> status if get value is equal to set value
+ * passed to <code>setDisplayDirectory</code> <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDisplayDirectory </code> </li>
+ * </ul>
+ */
+ public void _getDisplayDirectory() {
+ requiredMethod("setDisplayDirectory()") ;
+
+ String gDir = oObj.getDisplayDirectory() ;
+
+ log.println("Get dir '" + gDir + "'") ;
+
+ tRes.tested("getDisplayDirectory()", dir.equals(gDir)) ;
+ }
+
+ /**
+ * Sets default name to file name existing in test document
+ * directory ('space-metal.jpg'). <p>
+ * Has <b>OK</b> status if no exceptions occured.
+ */
+ public void _setDefaultName() {
+ boolean result = true ;
+
+ try {
+ oObj.setDefaultName(fname) ;
+ } catch (Exception e) {
+ log.println("Exception setting default name :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("setDefaultName()", result) ;
+ }
+
+ /**
+ * Just switch object to MultiSelectionMode. There is no ways
+ * to check this method (only interactively). <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _setMultiSelectionMode() {
+
+ oObj.setMultiSelectionMode(true) ;
+
+ tRes.tested("setMultiSelectionMode()", true) ;
+ }
+
+ /**
+ * Gets completed path from dialog. If <code>execute()</code>
+ * method was not called then zero length array is returned.
+ * So to check actual functionality of this method interactive
+ * testing is required. <p>
+ * Has <b>OK</b> status if zero length array returned (this
+ * occurs if <code>execute()</code>
+ * method was not called yet) or if array contains at least one
+ * element and it equals to <code>[Directory set] +
+ * [Default file name set]</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDisplayDirectory </code> </li>
+ * <li> <code> setDefaultName </code> </li>
+ * </ul>
+ */
+ public void _getFiles() {
+ requiredMethod("setDisplayDirectory()");
+ requiredMethod("setDefaultName()");
+
+ String[] files = oObj.getFiles();
+
+ if (files.length > 0) {
+ log.println("Path get : '" + files[0] + "'") ;
+
+ tRes.tested("getFiles()", (dir + fname).equals(files[0])) ;
+ } else {
+ log.println("No files were selected or execute() method was not called.") ;
+
+ tRes.tested("getFiles()", true);
+ }
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java
new file mode 100644
index 000000000000..07c5c3b93f6d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.ValueChanger;
+import util.ValueComparer;
+
+import com.sun.star.ui.dialogs.XFilePickerControlAccess;
+
+/**
+* Testing <code>com.sun.star.ui.XFilePickerControlAccess</code>
+* interface methods :
+* <ul>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> setLabel()</code></li>
+* <li><code> getLabel()</code></li>
+* <li><code> getFocused()</code></li>
+* <li><code> enableControl()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XFilePickerControlAccess.ControlID'</code> (of type
+* <code>Short</code>) : control identifier in the extended
+* FilePicker dialog. </li>
+* <li> <code>'XFilePickerControlAccess.ControlValue'</code> (of type
+* <code>Object</code>) <b>optional</b> (but mostly desireable
+* since the control has emtpy initial value):
+* the value which can set for the control . </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ui.XFilePickerControlAccess
+*/
+public class _XFilePickerControlAccess extends MultiMethodTest {
+
+ public XFilePickerControlAccess oObj = null;
+ private short cntlID = -1 ;
+ private Object oldVal = null ;
+ private String oldLab = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ Short ID = (Short) tEnv.getObjRelation
+ ("XFilePickerControlAccess.ControlID") ;
+ if (ID == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException(Status.failed("Relation not found")) ;
+ }
+
+ cntlID = ID.shortValue() ;
+ }
+
+ /**
+ * Gets the value of the control and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getValue() {
+ boolean result = true ;
+
+ try {
+ oldVal = oObj.getValue(cntlID,(short)0);
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("getValue()", result) ;
+ }
+
+ /**
+ * Changes the value gotten by <code>getValue</code> method,
+ * or gets the value from relation if it exits.
+ * Sets this value and then check if it was properly set. <p>
+ * Has <b>OK</b> status if <code>getValue</code> method returns
+ * the same value which was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue </code> </li>
+ * </ul>
+ */
+ public void _setValue() {
+ requiredMethod("getValue()") ;
+ boolean result = true ;
+
+ Object newVal = tEnv.getObjRelation
+ ("XFilePickerControlAccess.ControlValue");
+ if (newVal == null) {
+ newVal = ValueChanger.changePValue(oldVal) ;
+ }
+
+ Object getVal = null ;
+
+ try {
+ oObj.setValue(cntlID, (short)0 , newVal) ;
+ getVal = oObj.getValue(cntlID,(short)0) ;
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ result &= ValueComparer.equalValue(newVal, getVal) ;
+
+ tRes.tested("setValue()", result) ;
+ }
+
+ /**
+ * Gets the label of the control and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _getLabel() {
+
+ try {
+ oldLab = oObj.getLabel(cntlID);
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("getLabel()", oldLab != null) ;
+ }
+
+ /**
+ * Changes the label gotten by <code>getLabel</code> method,
+ * set this label and then check if it was properly set. <p>
+ * Has <b>OK</b> status if <code>getLael</code> method returns
+ * the same value which was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLabel </code> </li>
+ * </ul>
+ */
+ public void _setLabel() {
+ requiredMethod("getLabel()") ;
+ boolean result = true ;
+
+ String newVal = oldLab + "_" ;
+ String getVal = null ;
+
+ try {
+ oObj.setLabel(cntlID, newVal) ;
+ getVal = oObj.getLabel(cntlID) ;
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ result &= newVal.equals(getVal) ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+
+ /**
+ * Disables and then enables the control. Can be checked only
+ * interactively. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _enableControl() {
+ boolean result = true ;
+
+ try {
+ oObj.enableControl(cntlID, false) ;
+ oObj.enableControl(cntlID, true) ;
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("enableControl()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java
new file mode 100644
index 000000000000..f39ec63ee80d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java
@@ -0,0 +1,290 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ui.dialogs.FilePickerEvent;
+import com.sun.star.ui.dialogs.XExecutableDialog;
+import com.sun.star.ui.dialogs.XFilePicker;
+import com.sun.star.ui.dialogs.XFilePickerListener;
+import com.sun.star.ui.dialogs.XFilePickerNotifier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XCancellable;
+
+
+/**
+ * Testing <code>com.sun.star.ui.XFilePickerNotifier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addFilePickerListener()</code></li>
+ * <li><code> removeFilePickerListener()</code></li>
+ * </ul> <p>
+ * The object must implement <code>XFilePicker</code>
+ * interface to check if a listener was called. <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.ui.XFilePickerNotifier
+ */
+public class _XFilePickerNotifier extends MultiMethodTest {
+
+ public XFilePickerNotifier oObj = null;
+ private XFilePicker fps = null ;
+ private String dir1 = null,
+ dir2 = null ;
+ ExecThread eThread = null;
+
+
+ /**
+ * Listener implementation which sets a flag if some of its
+ * methods was called.
+ */
+ protected class TestListener implements XFilePickerListener {
+ public boolean called = false ;
+
+ public void dialogSizeChanged() {
+ called = true;
+ }
+
+ public void fileSelectionChanged(FilePickerEvent e) {
+ called = true;
+ }
+
+ public void directoryChanged(FilePickerEvent e) {
+ log.println("***** Directory Changed *****");
+ called = true;
+ }
+
+ public String helpRequested(FilePickerEvent e) {
+ called = true;
+ return "help";
+ }
+
+ public void controlStateChanged(FilePickerEvent e) {
+ called = true;
+ }
+
+ public void disposing(EventObject e) {}
+ }
+
+ TestListener listener = new TestListener() ;
+
+ /**
+ * Tries to query object for <code>XFilePicker</code> interface, and
+ * initializes two different URLs for changing file picker directory. <p>
+ * @throw StatusException If object doesn't support <code>XFilePicker</code>
+ * interface.
+ */
+ public void before() {
+ fps = (XFilePicker) UnoRuntime.queryInterface
+ (XFilePicker.class, oObj) ;
+
+ if (fps == null) {
+ log.println("The object doesnt implement XFilePicker") ;
+ throw new StatusException(Status.failed
+ ("The object doesnt implement XFilePicker"));
+ }
+
+ XExecutableDialog exD = (XExecutableDialog) UnoRuntime.queryInterface(
+ XExecutableDialog.class, tEnv.getTestObject());
+
+ dir1 = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+ dir2 = util.utils.getFullTestURL("");
+ eThread = new ExecThread(exD);
+ }
+
+ /**
+ * Adds a listener, then tries to change display directory and
+ * checks if the listener was called. <p>
+ * Has <b>OK</b> status if a listener method was called.
+ */
+ public void _addFilePickerListener() {
+ oObj.addFilePickerListener(listener) ;
+
+ try {
+ log.println("***** Setting DisplayDirectory to " + dir1);
+ fps.setDisplayDirectory(dir1) ;
+ log.println("***** Getting: " + fps.getDisplayDirectory());
+ openDialog();
+ log.println("***** Setting DisplayDirectory to " + dir2);
+ fps.setDisplayDirectory(dir2) ;
+ log.println("***** Getting: " + fps.getDisplayDirectory());
+
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Exception changing dir !!!") ;
+ e.printStackTrace(log) ;
+ }
+
+ shortWait();
+
+ if (!listener.called) {
+ log.println("Listener wasn't called :-(");
+ }
+
+ closeDialog();
+
+ tRes.tested("addFilePickerListener()", listener.called) ;
+ }
+
+ /**
+ * Removes the listener and changes display directory. <p>
+ * Has <b>OK</b> status if the listener wasn't called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addFilePickerListener </code> </li>
+ * </ul>
+ */
+ public void _removeFilePickerListener() {
+ requiredMethod("addFilePickerListener()") ;
+
+ oObj.removeFilePickerListener(listener) ;
+
+ listener.called = false ;
+
+ try {
+ fps.setDisplayDirectory(dir1) ;
+ openDialog();
+ fps.setDisplayDirectory(dir2) ;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Exception changing dir !!!") ;
+ e.printStackTrace(log) ;
+ }
+
+ shortWait();
+
+ closeDialog();
+
+ tRes.tested("removeFilePickerListener()", !listener.called) ;
+ }
+
+ /**
+ * Calls <code>execute()</code> method in a separate thread.
+ * Necessary to check if this method works
+ */
+ protected class ExecThread extends Thread {
+
+ public short execRes = (short) 17 ;
+ private XExecutableDialog Diag = null ;
+
+ public ExecThread(XExecutableDialog Diag) {
+ this.Diag = Diag ;
+ }
+
+ public void run() {
+ try {
+ execRes = Diag.execute();
+ System.out.println("HERE: "+execRes);
+ } catch (Exception e) {
+ log.println("Thread has been interrupted ...");
+ }
+ }
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+ private void closeDialog() {
+ XCancellable canc = (XCancellable) UnoRuntime.queryInterface(
+ XCancellable.class, tEnv.getTestObject());
+ if (canc != null) {
+ log.println("Cancelling Dialog");
+ canc.cancel();
+ } else {
+ this.disposeEnvironment();
+ }
+
+ long st = System.currentTimeMillis();
+ boolean toLong = false;
+
+ log.println("waiting for dialog to close");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("done");
+
+ try {
+ if (eThread.isAlive()) {
+ log.println("Interrupting Thread");
+ eThread.interrupt();
+ eThread.yield();
+ }
+ } catch (Exception e) {
+ // who cares ;-)
+ }
+
+ st = System.currentTimeMillis();
+ toLong = false;
+
+ log.println("waiting for interruption to work");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("DialogThread alive: "+eThread.isAlive());
+
+ log.println("done");
+
+ }
+
+ private void openDialog() {
+ log.println("Starting Dialog");
+ if (eThread.isAlive()) {
+ log.println("second interrupt");
+ eThread.interrupt();
+ eThread.yield();
+ }
+
+ XExecutableDialog exD = (XExecutableDialog) UnoRuntime.queryInterface(
+ XExecutableDialog.class, tEnv.getTestObject());
+
+ dir1 = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+ dir2 = util.utils.getFullTestURL("");
+ eThread = new ExecThread(exD);
+
+ eThread.start();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java
new file mode 100644
index 000000000000..1a6565e38d96
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.ui.dialogs.XFilePreview;
+
+public class _XFilePreview extends MultiMethodTest {
+
+ public XFilePreview oObj=null;
+
+ /**
+ * _getSupportedImageFormats() gets all formats and
+ * stores them in an Array of short.<br>
+ * Is OK is the resulting Array isn't empty
+ */
+ public void _getSupportedImageFormats() {
+ short[] formats = oObj.getSupportedImageFormats();
+ tRes.tested("getSupportedImageFormats()", formats.length > 0);
+ }
+
+ /**
+ * _getTargetColorDepth() gets the color depth
+ * and stores it in an int.<br>
+ * Is OK is the resulting int isn't 1
+ */
+ public void _getTargetColorDepth() {
+ int CDepth = oObj.getTargetColorDepth();
+ tRes.tested("getTargetColorDepth()",CDepth != 1);
+ }
+
+ /**
+ * _getAvailableWidth() gets the width
+ * and stores it in an int.<br>
+ * Is OK is the resulting int isn't 1
+ */
+ public void _getAvailableWidth() {
+ int the_width = oObj.getAvailableWidth();
+ tRes.tested("getAvailableWidth()", the_width != 1);
+ }
+
+ /**
+ * _getAvailableHeight() gets the width
+ * and stores it in an int.<br>
+ * Is OK is the resulting int isn't 1
+ */
+ public void _getAvailableHeight() {
+ int the_height = oObj.getAvailableHeight();
+ tRes.tested("getAvailableHeight()", the_height != 1);
+ }
+
+ /**
+ * sets the empty image.
+ * Is OK if no exception no exceptions were thrown.
+ */
+ public void _setImage() {
+ boolean bOK = true;
+ try {
+ oObj.setImage
+ (com.sun.star.ui.dialogs.FilePreviewImageFormats.BITMAP,null);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ bOK = false;
+ throw new StatusException( "Can't set empty image", e );
+ }
+ tRes.tested("setImage()", bOK);
+ }
+
+ boolean prev_state;
+
+ /**
+ * _setShowState() sets the state
+ * to the opposite value returned by getShowState.<br>
+ * Is OK is the returned result is false or if
+ * the value that was set is equal to the value
+ * that was returned by getShowState.
+ */
+ public void _setShowState() {
+ requiredMethod("getShowState()");
+ boolean success = oObj.setShowState(!prev_state);
+ boolean res_state = oObj.getShowState();
+ tRes.tested("setShowState()", !success || res_state != prev_state);
+ }
+
+ /**
+ * _getShowState() gets the state
+ * and sets it to the opposite.<br>
+ * Is OK if no exceptions were thrown
+ */
+ public void _getShowState() {
+ prev_state = oObj.getShowState();
+ tRes.tested("getShowState()", true);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java
new file mode 100644
index 000000000000..3ef3df73aa64
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.StringPair;
+import com.sun.star.ui.dialogs.XFilterGroupManager;
+
+/**
+* Testing <code>com.sun.star.ui.dialogs.XFilterGroupManager</code>
+* @see com.sun.star.ui.XFilterGroupManager
+*/
+public class _XFilterGroupManager extends MultiMethodTest {
+
+ public XFilterGroupManager oObj = null;
+
+ /**
+ * Appends a new FilterGroup (for extension 'txt'). <p>
+ * Has <b>OK</b> status if no runtime exceptions ocured.
+ */
+ public void _appendFilterGroup() {
+ boolean res = true;
+ try {
+ StringPair[] args = new StringPair[1];
+ args[0] = new StringPair();
+ args[0].First = "ApiTextFiles";
+ args[0].Second = "txt";
+ oObj.appendFilterGroup("TestFilter", args);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ res=false;
+ }
+
+ tRes.tested("appendFilterGroup()", res) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java
new file mode 100644
index 000000000000..cc960d2b191b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XFilterManager;
+
+/**
+* Testing <code>com.sun.star.ui.XFilterManager</code>
+* interface methods :
+* <ul>
+* <li><code> appendFilter()</code></li>
+* <li><code> setCurrentFilter()</code></li>
+* <li><code> getCurrentFilter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ui.XFilterManager
+*/
+public class _XFilterManager extends MultiMethodTest {
+
+ public XFilterManager oObj = null;
+
+ /**
+ * Appends a new filter (for extension 'txt'). <p>
+ * Has <b>OK</b> status if no runtime exceptions ocured.
+ */
+ public void _appendFilter() {
+ boolean res = true;
+ try {
+ oObj.appendFilter("TestFilter", "txt");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ res=false;
+ }
+
+ tRes.tested("appendFilter()", res) ;
+ }
+
+ /**
+ * Sets the current filter to that which was appended before.<p>
+ * Has <b>OK</b> status if no exceptions occured, else one of
+ * <code>appendFilter</code> and <code>setCurrentFilter</code>
+ * methods failed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> appendFilter </code> </li>
+ * </ul>
+ */
+ public void _setCurrentFilter() {
+ requiredMethod("appendFilter()") ;
+ boolean result = true;
+
+ try {
+ oObj.setCurrentFilter("TestFilter") ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("setCurrentFilter() or appendFilter() failed") ;
+ result = false ;
+ }
+
+ tRes.tested("setCurrentFilter()", result) ;
+ }
+
+ /**
+ * Gets current filter name and compares it filter name set before.<p>
+ * Has <b>OK</b> status if set and get filter names are equal.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setCurrentFilter </code> </li>
+ * </ul>
+ */
+ public void _getCurrentFilter() {
+ requiredMethod("setCurrentFilter()") ;
+
+ String gVal = oObj.getCurrentFilter() ;
+
+ tRes.tested("getCurrentFilter()", "TestFilter".equals(gVal)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java
new file mode 100644
index 000000000000..4b761e6dea65
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ui.dialogs.XFolderPicker;
+
+/**
+* Testing <code>com.sun.star.ui.XFolderPicker</code>
+* interface methods :
+* <ul>
+* <li><code> setDisplayDirectory()</code></li>
+* <li><code> getDisplayDirectory()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XFolderPicker extends MultiMethodTest {
+
+ public XFolderPicker oObj = null;
+ private String dir = null ;
+
+ /**
+ * Sets the current directory to SOffice temp dir. <p>
+ * Has <b>OK</b> status if no exceptions occured.
+ */
+ public void _setDisplayDirectory() {
+ boolean result = true ;
+ dir = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
+
+ log.println("Trying to set dir '" + dir + "'") ;
+ try {
+ oObj.setDisplayDirectory(dir) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Directory '" + dir + "' not found :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("setDisplayDirectory()", result) ;
+ }
+
+ /**
+ * Gets the current directory. <p>
+ * Has <b>OK</b> status if get value is equal to set value
+ * passed to <code>setDisplayDirectory</code> <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDisplayDirectory </code> </li>
+ * </ul>
+ */
+ public void _getDisplayDirectory() {
+ requiredMethod("setDisplayDirectory()") ;
+
+ String gDir = oObj.getDisplayDirectory() ;
+
+ log.println("Get dir '" + gDir + "'") ;
+
+ tRes.tested("getDisplayDirectory()", dir.equals(gDir)) ;
+ }
+
+ /**
+ * Gets the directory chosen by the user. <p>
+ * Has <b>OK</b> status if get value is not NULL <p>
+ */
+ public void _getDirectory() {
+
+ String gDir = oObj.getDirectory() ;
+
+ log.println("Get dir '" + gDir + "'") ;
+
+ tRes.tested("getDirectory()", gDir != null) ;
+ }
+
+ /**
+ * Sets the Description for the dialog. <p>
+ * Has <b>OK</b> status if no error occurs <p>
+ */
+ public void _setDescription() {
+
+ oObj.setDescription("XFolderPicker") ;
+ //to visually check if the method works
+ //oObj.execute();
+ tRes.tested("setDescription()", true) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/uno/_XComponentContext.java b/qadevOOo/tests/java/ifc/uno/_XComponentContext.java
new file mode 100644
index 000000000000..5942b69fd63f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/uno/_XComponentContext.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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.uno;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+
+
+public class _XComponentContext extends MultiMethodTest {
+ public XComponentContext oObj;
+ protected XMultiComponentFactory byValue = null;
+ protected XMultiComponentFactory directly = null;
+
+ public void _getServiceManager() {
+ log.println("getting manager");
+
+ directly = oObj.getServiceManager();
+ String[] names = directly.getAvailableServiceNames();
+ boolean res = true;
+
+ for (int i = 0; i < names.length; i++) {
+ try {
+ if (names[i].equals("com.sun.star.i18n.ConversionDictionary_ko")) continue;
+ if (names[i].equals("com.sun.star.i18n.TextConversion_ko")) continue;
+ log.println("try to instanciate found servicename " +
+ names[i]);
+ directly.createInstanceWithContext(names[i], oObj);
+ log.println("worked .... ok");
+ res &= true;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured " + e.getMessage());
+ res &= false;
+ }
+ }
+
+ tRes.tested("getServiceManager()", res);
+ }
+
+ public void _getValueByName() {
+ requiredMethod("getServiceManager()");
+
+ Object value = oObj.getValueByName(
+ "/singletons/com.sun.star.lang.theServiceManager");
+ byValue = (XMultiComponentFactory) UnoRuntime.queryInterface(
+ XMultiComponentFactory.class, value);
+
+ String[] vNames = byValue.getAvailableServiceNames();
+ String[] dNames = directly.getAvailableServiceNames();
+
+ boolean res = ValueComparer.equalValue(byValue, directly);
+ tRes.tested("getValueByName()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/uno/_XNamingService.java b/qadevOOo/tests/java/ifc/uno/_XNamingService.java
new file mode 100644
index 000000000000..f60f8a6ce6b5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/uno/_XNamingService.java
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * 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.uno;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XNamingService;
+
+
+/**
+* Testing <code>com.sun.star.uno.XNamingService</code>
+* interface methods. <p>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'XNamingService.RegisterObject'</code> :
+* object to be registered.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* After test completion object environment has to be recreated.
+*/
+public class _XNamingService extends MultiMethodTest {
+
+ public static XNamingService oObj = null;
+
+ private XInterface regObject = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If the relation not found.
+ */
+ public void before() {
+ regObject = (XInterface)
+ tEnv.getObjRelation("XNamingService.RegisterObject") ;
+ if (regObject == null)
+ throw new StatusException("Can't create object to register",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * Test calls the method and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ */
+ public void _registerObject() throws StatusException{
+ try {
+ oObj.registerObject("MyFactory", regObject) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception while registering object :" + e) ;
+ tRes.tested("registerObject()", false) ;
+ return ;
+ }
+
+ tRes.tested("registerObject()", true) ;
+ }
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns the same object
+ * that was registered and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerObject </code> : to get in this test the
+ * object that was registered.</li>
+ * </ul>
+ */
+ public void _getRegisteredObject() {
+ requiredMethod("registerObject()") ;
+
+ try {
+ Object getObject = oObj.getRegisteredObject("MyFactory") ;
+
+ tRes.tested("getRegisteredObject()" ,
+ regObject.equals(getObject)) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception calling method :" + e) ;
+ tRes.tested("getRegisteredObject()", false) ;
+ return ;
+ }
+ }
+
+ /**
+ * Test calls the method and trying to get revoked object. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and if the method <code>getRegisteredObject</code> returns NULL or
+ * throws expected exception. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerObject </code> : to revoke the object registered</li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getRegisteredObject </code> : before object will be
+ * revoked </li>
+ * </ul>
+ */
+ public void _revokeObject() {
+ requiredMethod("registerObject()") ;
+ executeMethod("getRegisteredObject()") ;
+
+ try {
+ oObj.revokeObject("MyFactory");
+ log.println("Object was revoked");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception revoking object :" + e) ;
+ tRes.tested("revokeObject()", false) ;
+ }
+
+ boolean res = true;
+
+ try {
+ log.println("Trying to getRegistered object ...");
+ Object objregObj = oObj.getRegisteredObject("MyFactory");
+ log.println("No exception");
+ res &= objregObj == null;
+ if (res) {
+ log.println("But NULL was returned");
+ }
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Expected exception - OK");
+ }
+
+ tRes.tested("revokeObject()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/util/_PathSettings.java b/qadevOOo/tests/java/ifc/util/_PathSettings.java
new file mode 100644
index 000000000000..b9411a2ccfb3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_PathSettings.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+ * Testing <code>com.sun.star.util.PathSettings</code>
+ * service properties :
+ * <ul>
+ * <li><code> Addin </code></li>
+ * <li><code> AutoCorrect </code></li>
+ * <li><code> AutoText </code></li>
+ * <li><code> Backup </code></li>
+ * <li><code> Basic </code></li>
+ * <li><code> Bitmap </code></li>
+ * <li><code> Config </code></li>
+ * <li><code> Dictionary </code></li>
+ * <li><code> Favorites </code></li>
+ * <li><code> Filter </code></li>
+ * <li><code> Gallery </code></li>
+ * <li><code> Graphic </code></li>
+ * <li><code> Help </code></li>
+ * <li><code> Linguistic </code></li>
+ * <li><code> Module </code></li>
+ * <li><code> Palette </code></li>
+ * <li><code> Plugin </code></li>
+ * <li><code> Storage </code></li>
+ * <li><code> Temp </code></li>
+ * <li><code> Template </code></li>
+ * <li><code> UIConfig </code></li>
+ * <li><code> UserConfig </code></li>
+ * <li><code> UserDictionary</code></li>
+ * <li><code> Work </code></li>
+ * </ul> <p>
+ *
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.util.PathSettings
+ */
+public class _PathSettings extends MultiPropertyTest {
+
+ /**
+ * This path list could be empty after SO installation.
+ * And the URL is validated to match the pattern 'file:///*'
+ * thats why the custom changing of this property required.
+ */
+ public void _UIConfig() {
+ testProperty("UIConfig", new PropertyTester() {
+ public Object getNewValue(String propName, Object oldVal) {
+ String path = (String) oldVal;
+ if (path == null) path = "";
+ if (path.length() > 0 && !path.endsWith(";")) {
+ path += ";";
+ }
+ path += utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF());
+ return path;
+ }
+ });
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/util/_SearchDescriptor.java b/qadevOOo/tests/java/ifc/util/_SearchDescriptor.java
new file mode 100644
index 000000000000..e24913e933bd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_SearchDescriptor.java
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.util.SearchDescriptor</code>
+ * service properties :
+ * <ul>
+ * <li><code> SearchBackwards</code></li>
+ * <li><code> SearchCaseSensitive</code></li>
+ * <li><code> SearchWords</code></li>
+ * <li><code> SearchRegularExpression</code></li>
+ * <li><code> SearchStyles</code></li>
+ * <li><code> SearchSimilarity</code></li>
+ * <li><code> SearchSimilarityRelax</code></li>
+ * <li><code> SearchSimilarityRemove</code></li>
+ * <li><code> SearchSimilarityAdd</code></li>
+ * <li><code> SearchSimilarityExchange</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.util.SearchDescriptor
+ */
+public class _SearchDescriptor extends MultiPropertyTest {
+
+} //finish class _SearchDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/util/_XCancellable.java b/qadevOOo/tests/java/ifc/util/_XCancellable.java
new file mode 100644
index 000000000000..cd7ffc0840b5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XCancellable.java
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XCancellable;
+
+/**
+* Testing <code>com.sun.star.util.XCancellable</code>
+* interface methods :
+* <ul>
+* <li><code> cancel()</code></li>
+* </ul> <p>
+* @see com.sun.star.util.XCancellable
+*/
+public class _XCancellable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCancellable oObj = null ;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b>OK</b> status if no exception has occured. <p>
+ */
+ public void _cancel() {
+ oObj.cancel() ;
+
+ tRes.tested("cancel()", true) ;
+ }
+
+ /**
+ * Forces object recreation.
+ */
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XCancellable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XChangesBatch.java b/qadevOOo/tests/java/ifc/util/_XChangesBatch.java
new file mode 100644
index 000000000000..397ac79e3922
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XChangesBatch.java
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.util.ElementChange;
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XChangesBatch;
+import lib.Status;
+import lib.StatusException;
+
+public class _XChangesBatch extends MultiMethodTest {
+
+ public XChangesBatch oObj;
+ private Object changeElement = null;
+ private Object originalElement = null;
+ private String elementName = null;
+ private XPropertySet xProp = null;
+ private XNameReplace xNameReplace = null;
+
+ /**
+ * add a change that can be committed
+ */
+ protected void before() {
+ changeElement = tEnv.getObjRelation("XChangesBatch.ChangeElement");
+ originalElement = tEnv.getObjRelation("XChangesBatch.OriginalElement");
+ elementName = (String)tEnv.getObjRelation("XChangesBatch.PropertyName");
+
+ // to do a change, get an XPropertySet
+ xProp = (XPropertySet)tEnv.getObjRelation("XChangesBatch.PropertySet");
+ try {
+ if (originalElement == null && xProp != null)
+ originalElement = xProp.getPropertyValue(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get property '" + elementName + "'.", e);
+ }
+
+ // or get an XNameReplace
+ xNameReplace = (XNameReplace)tEnv.getObjRelation("XChangesBatch.NameReplace");
+ try {
+ if (originalElement == null && xNameReplace != null)
+ originalElement = xNameReplace.getByName(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get element by name '" + elementName + "'.", e);
+ }
+
+ if (changeElement == null || originalElement == null || elementName == null || (xProp == null && xNameReplace == null)) {
+ log.println(
+ changeElement == null?"Missing property 'XChangesBatch.ChangeElement'\n":"" +
+ originalElement == null?"Missing property 'XChangesBatch.OriginalElement'\n":"" +
+ elementName == null?"Missing property 'XChangesBatch.PropertyName'\n":"" +
+ xProp == null?"Missing property 'XChangesBatch.PropertySet'":"" +
+ xNameReplace == null?"Missing property 'XChangesBatch.NameReplace'":""
+ );
+ throw new StatusException("Some needed object relations are missing.", new Exception());
+ }
+ }
+
+ public void _commitChanges() {
+ requiredMethod("getPendingChanges()");
+ try {
+ log.println("Committing changes.");
+ oObj.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ tRes.tested("commitChanges()", Status.exception(e));
+ return;
+ }
+ try {
+ executeChange(originalElement);
+ }
+ catch(StatusException e) {
+ tRes.tested("hasPendingChanges()", Status.exception(e));
+ return;
+ }
+
+ try {
+ log.println("Commit changes back.");
+ oObj.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ tRes.tested("commitChanges()", Status.exception(e));
+ return;
+ }
+ tRes.tested("commitChanges()", true);
+ }
+
+ public void _getPendingChanges() {
+ requiredMethod("hasPendingChanges()");
+ ElementChange[]changes = oObj.getPendingChanges();
+ if (changes == null) {
+ log.println("Returned changes was 'null'");
+ log.println("It should have been 1 change.");
+ tRes.tested("getPendingChanges()", false);
+ } else if (changes.length != 1) {
+ int amount = changes.length;
+ log.println("Found not the right number of changes: " + amount);
+ log.println("It should have been 1 change.");
+ for (int i=0; i<amount; i++) {
+ System.out.println("Detailed Change " + i + " -> new Element: '" +
+ changes[i].Element.toString() + "' ReplacedElement: '" +
+ changes[i].ReplacedElement.toString() + "'");
+ }
+ tRes.tested("getPendingChanges()", false);
+ }
+ else {
+ boolean result = changes[0].ReplacedElement.equals(originalElement);
+ result &= changes[0].Element.equals(changeElement);
+ tRes.tested("getPendingChanges()", result);
+ }
+ }
+
+ public void _hasPendingChanges() {
+ try {
+ executeChange(changeElement);
+ }
+ catch(StatusException e) {
+ tRes.tested("hasPendingChanges()", Status.exception(e));
+ return;
+ }
+ boolean hasPendingChanges = oObj.hasPendingChanges();
+ tRes.tested("hasPendingChanges()", hasPendingChanges);
+ }
+
+ private void executeChange(Object element) throws StatusException {
+ if (xProp != null) {
+ try {
+ xProp.setPropertyValue(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not set property '" + elementName + "'.", e);
+ }
+ }
+ else if (xNameReplace != null) {
+ try {
+ xNameReplace.replaceByName(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not replace '" + elementName + "' by name.", e);
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XChangesNotifier.java b/qadevOOo/tests/java/ifc/util/_XChangesNotifier.java
new file mode 100644
index 000000000000..6899f13d8ae2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XChangesNotifier.java
@@ -0,0 +1,222 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.util.XChangesBatch;
+import com.sun.star.util.XChangesListener;
+import com.sun.star.util.XChangesNotifier;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.MultiMethodTest;
+
+/**
+ * Test the XChangesNotifier interface. To produce some changes,
+ * XChangesBatch is used.
+ * @see com.sun.star.util.XChangesNotifier
+ * @see com.sun.star.util.XChangesBatch
+ */
+public class _XChangesNotifier extends MultiMethodTest {
+
+ public XChangesNotifier oObj = null;
+ private XChangesBatch xBatch = null;
+ private Object changeElement = null;
+ private Object originalElement = null;
+ private String elementName = null;
+ private XPropertySet xProp = null;
+ private XNameReplace xNameReplace = null;
+ private _XChangesNotifier.MyChangesListener xListener = null;
+
+ /**
+ * Own implementation of the XChangesListener interface
+ * @see com.sun.star.util.XChangesListener
+ */
+ private static class MyChangesListener implements XChangesListener {
+ /** Just lo a call of the listener **/
+ boolean bChangesOccured = false;
+
+ /** A change did occur
+ * @param changesEvent The event.
+ **/
+ public void changesOccurred(com.sun.star.util.ChangesEvent changesEvent) {
+ bChangesOccured = true;
+ }
+
+ /** Disposing of the listener
+ * @param eventObject The event.
+ **/
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ bChangesOccured = true;
+ }
+
+ /**
+ * Reset the listener
+ */
+ public void reset() {
+ bChangesOccured = false;
+ }
+
+ /**
+ * Has the listener been called?
+ * @return True, if the listener has been called.
+ */
+ public boolean didChangesOccur() {
+ return bChangesOccured;
+ }
+ }
+
+ /**
+ * Before the test: get the 'XChangesNotifier.ChangesBatch' object relation
+ * and create the listener.
+ */
+ protected void before() {
+ xBatch = (XChangesBatch)tEnv.getObjRelation("XChangesNotifier.ChangesBatch");
+ changeElement = tEnv.getObjRelation("XChangesNotifier.ChangeElement");
+ originalElement = tEnv.getObjRelation("XChangesNotifier.OriginalElement");
+ elementName = (String)tEnv.getObjRelation("XChangesNotifier.PropertyName");
+
+ xProp = (XPropertySet)tEnv.getObjRelation("XChangesNotifier.PropertySet");
+ try {
+ if (originalElement == null && xProp != null)
+ originalElement = xProp.getPropertyValue(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get property '" + elementName + "'.", e);
+ }
+
+ // or get an XNameReplace
+ xNameReplace = (XNameReplace)tEnv.getObjRelation("XChangesNotifier.NameReplace");
+ try {
+ if (originalElement == null && xNameReplace != null)
+ originalElement = xNameReplace.getByName(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get element by name '" + elementName + "'.", e);
+ }
+
+ if (changeElement == null || originalElement == null || elementName == null || (xProp == null && xNameReplace == null) || xBatch == null) {
+ log.println(
+ changeElement == null?"Missing property 'XChangesNotifier.ChangeElement'\n":"" +
+ originalElement == null?"Missing property 'XChangesNotifier.OriginalElement'\n":"" +
+ elementName == null?"Missing property 'XChangesNotifier.PropertyName'\n":"" +
+ xProp == null?"Missing property 'XChangesNotifier.PropertySet'":"" +
+ xNameReplace == null?"Missing property 'XChangesNotifier.NameReplace'":"" +
+ xBatch == null?"Missing property 'XChangesNotifier.ChangesBatch'":""
+ );
+ throw new StatusException("Some needed object relations are missing.", new Exception());
+ }
+
+ xListener = new _XChangesNotifier.MyChangesListener();
+ }
+
+ /** test addChangesListener **/
+ public void _addChangesListener() {
+ oObj.addChangesListener(xListener);
+ tRes.tested("addChangesListener()", true);
+ }
+
+ /** test removeChangesListener **/
+ public void _removeChangesListener() {
+ requiredMethod("addChangesListener()");
+ boolean result = true;
+ result &= commitChanges();
+ result &= xListener.didChangesOccur();
+ if (!result)
+ log.println("Listener has not been called.");
+ oObj.removeChangesListener(xListener);
+ xListener.reset();
+ result &= redoChanges();
+ boolean result2 = xListener.didChangesOccur();
+ if (result2)
+ log.println("Removed listener has been called.");
+
+ tRes.tested("removeChangesListener()", result && !result2);
+ }
+
+ /**
+ * Commit a change, using an implementation of the XChangesBatch interface.
+ * @return true, if changing worked.
+ */
+ private boolean commitChanges() {
+ if (!executeChange(changeElement)) return false;
+ if (!xBatch.hasPendingChanges()) return false;
+ try {
+ xBatch.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace((PrintWriter)log);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Redo the change, using an implementation of the XChangesBatch interface.
+ * @return true, if changing worked.
+ */
+ private boolean redoChanges() {
+ if (!executeChange(originalElement)) return false;
+ if (!xBatch.hasPendingChanges()) return false;
+ try {
+ xBatch.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace((PrintWriter)log);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Execute the change, use XPropertySet or XNameReplace
+ * @return False, if changing did throw an exception.
+ */
+ private boolean executeChange(Object element) throws StatusException {
+ if (xProp != null) {
+ try {
+ xProp.setPropertyValue(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace((PrintWriter)log);
+ return false;
+ }
+ }
+ else if (xNameReplace != null) {
+ try {
+ xNameReplace.replaceByName(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace((PrintWriter)log);
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XCloneable.java b/qadevOOo/tests/java/ifc/util/_XCloneable.java
new file mode 100644
index 000000000000..4591be5cfc2e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XCloneable.java
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloneable;
+
+/**
+* Testing <code>com.sun.star.util.XCloneable</code>
+* interface methods :
+* <ul>
+* <li><code> createClone()</code></li>
+* </ul> <p>
+* @see com.sun.star.util.XCloneable
+*/
+public class _XCloneable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCloneable oObj = null ;
+ protected XCloneable clone = null;
+
+ /**
+ * calls the method. <p>
+ * Has <b>OK</b> status if no exception has occured. <p>
+ */
+ public void _createClone() {
+ boolean result = true;
+ clone = oObj.createClone();
+
+ //check if the implementaionname equals
+ result &= checkImplementationName(oObj,clone);
+
+ //check ImplementationID
+ result &= checkImplementationID(oObj, clone);
+
+ tRes.tested("createClone()", result) ;
+ }
+
+ protected byte[] getImplementationID(XInterface ifc) {
+ byte[] res = new byte[0];
+ XTypeProvider provider = (XTypeProvider)
+ UnoRuntime.queryInterface(XTypeProvider.class, ifc);
+ if (provider != null) {
+ res = provider.getImplementationId();
+ }
+ return res;
+ }
+
+ protected boolean checkImplementationID(XInterface org, XInterface clone) {
+ boolean res = getImplementationID(org).equals(
+ getImplementationID(clone));
+ if (res && getImplementationID(org).length > 0) {
+ log.println("ImplementationID equals the clone has the same id as the original Object");
+ log.println("------------------------------------------------------------------------");
+ }
+ return !res;
+ }
+
+ protected String getImplementationName(XInterface ifc) {
+ String res = "";
+ XServiceInfo info = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, ifc);
+ if (info != null) {
+ res = info.getImplementationName();
+ }
+ return res;
+ }
+
+ protected boolean checkImplementationName(XInterface org, XInterface clone) {
+ boolean res = getImplementationName(org).equals(
+ getImplementationName(clone));
+ if (!res) {
+ log.println("ImplementationName differs: ");
+ log.println("Expected: "+getImplementationName(org));
+ log.println("Gained: "+getImplementationName(clone));
+ log.println("----------------------------------------");
+ }
+ return res;
+ }
+
+} // finish class _XCloneable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XFlushable.java b/qadevOOo/tests/java/ifc/util/_XFlushable.java
new file mode 100644
index 000000000000..c18d84e5d5f6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XFlushable.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XFlushListener;
+import com.sun.star.util.XFlushable;
+
+/**
+ * Testing <code>com.sun.star.util.XFlushable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> flush()</code></li>
+ * <li><code> addFlushListener()</code></li>
+ * <li><code> removeFlushListener()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XFlushable
+ */
+public class _XFlushable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XFlushable oObj = null ;
+
+ /**
+ * Simple <code>XFlushListener</code> implementation which
+ * just registers if any calls to its methods were made.
+ */
+ private class MyFlushListener implements XFlushListener{
+ boolean called = false ;
+ public void flushed(com.sun.star.lang.EventObject e) {
+ called = true ;
+ }
+ public void disposing(com.sun.star.lang.EventObject e) {}
+ public void reset() { called = false; }
+ public boolean wasFlushed() { return called; }
+ }
+
+ private MyFlushListener listener1 = new MyFlushListener(),
+ listener2 = new MyFlushListener() ;
+
+ /**
+ * Test call method <code>flush</code> and checks if added listener
+ * was called and removed one wasn't. <p>
+ * Has OK status if no exception has occured. <p>
+ * Methods to be executed before :
+ * {@link #_addFlushListener},
+ * {@link #_removeFlushListener}
+ */
+ public void _flush() {
+ executeMethod("addFlushListener()") ;
+ executeMethod("removeFlushListener()") ;
+
+ oObj.flush() ;
+
+ tRes.tested("flush()", true) ;
+ tRes.tested("addFlushListener()", listener2.wasFlushed()) ;
+ tRes.tested("removeFlushListener()", !listener1.wasFlushed()) ;
+ }
+
+ /**
+ * Test adds two listeners, one of which will be removed then.<p>
+ * Has OK status if the listener was called on <code>flush()</code>
+ * method call.
+ */
+ public void _addFlushListener() {
+ oObj.addFlushListener(listener1) ;
+ oObj.addFlushListener(listener2) ;
+ }
+
+ /**
+ * Test removes one of two listeners added before. <p>
+ * Has OK status if the listener removed wasn't called on
+ * <code>flush()</code> method call.
+ * Methods to be executed before :
+ * {@link #_addFlushListener},
+ */
+ public void _removeFlushListener() {
+ executeMethod("addFlushListener()") ;
+
+ oObj.removeFlushListener(listener1) ;
+ }
+
+} // finish class _XFlushable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XImportable.java b/qadevOOo/tests/java/ifc/util/_XImportable.java
new file mode 100644
index 000000000000..164f8e4aaa3e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XImportable.java
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XImportable;
+
+
+/**
+ * checks the Interface XImportable
+ */
+public class _XImportable extends MultiMethodTest {
+ public XImportable oObj;
+ protected PropertyValue[] descriptor = null;
+ protected String[] names = new String[] {
+ "DatabaseName", "SourceType", "SourceObject", "IsNative"
+ };
+ protected Type[] types = new Type[] {
+ new Type(String.class), new Type(com.sun.star.sheet.DataImportMode.class),
+ new Type(String.class), new Type(Boolean.class)
+ };
+
+ /**
+ * creates an ImportDescriptor, the gained PropertyValues can be found
+ * in com.sun.star.sheet.DatabaseImportDescriptor.<br>
+ * Returns OK state is all propertynames and types are the specified.
+ */
+
+ public void _createImportDescriptor() {
+ boolean res = true;
+ boolean locResult = false;
+
+ descriptor = oObj.createImportDescriptor(true);
+ log.print("Getting when calling createImportDescriptor(true) --");
+
+
+ //printPropertyValue(descriptor);
+ log.println("done");
+
+ log.print("Checking PropertyNames -- ");
+ locResult = checkPropertyNames(descriptor, names);
+ log.println("Worked: " + locResult);
+ res &= locResult;
+
+ log.print("Checking PropertyTypes -- ");
+ locResult = checkPropertyTypes(descriptor, types);
+ log.println("Worked: " + locResult);
+ res &= locResult;
+
+ descriptor = oObj.createImportDescriptor(false);
+ log.print("Getting when calling createImportDescriptor(false) -- ");
+
+
+ //printPropertyValue(descriptor);
+ log.println("done");
+
+ log.print("Checking PropertyNames -- ");
+ locResult = checkPropertyNames(descriptor, names);
+ log.println("Worked: " + locResult);
+ res &= locResult;
+
+ log.print("Checking PropertyTypes -- ");
+ locResult = checkPropertyTypes(descriptor, types);
+ log.println("Worked - " + locResult);
+ res &= locResult;
+
+ tRes.tested("createImportDescriptor()", res);
+ }
+
+ public void _doImport() {
+ requiredMethod("createImportDescriptor()");
+ boolean res = true;
+
+ log.print("Setting the ImportDescriptor (Bibliograpy, Table, biblio) -- ");
+ descriptor[0].Value = "Bibliography";
+ descriptor[1].Value = com.sun.star.sheet.DataImportMode.TABLE;
+ descriptor[2].Value = "biblio";
+ log.println("done");
+
+ log.print("Importing data (Bibliograpy, Table, biblio) -- ");
+ oObj.doImport(descriptor);
+ log.println("done");
+
+ log.println("Checking data");
+ res &= checkA1("Identifier");
+
+ log.print("Setting the ImportDescriptor (Bibliograpy, SQL, select Author from biblio) -- ");
+ descriptor[0].Value = "Bibliography";
+ descriptor[1].Value = com.sun.star.sheet.DataImportMode.SQL;
+ descriptor[2].Value = "select Author from biblio";
+ log.println("done");
+
+ log.print("Importing data (Bibliograpy, SQL, select Author from biblio) -- ");
+ oObj.doImport(descriptor);
+ log.println("done");
+
+ log.println("Checking data");
+ res &= checkA1("Author");
+
+ tRes.tested("doImport()",res);
+ }
+
+ protected void printPropertyValue(PropertyValue[] props) {
+ for (int i = 0; i < props.length; i++) {
+ log.println("\tName: " + props[i].Name);
+ log.println("\tValue: " + props[i].Value);
+ }
+ }
+
+ protected boolean checkPropertyNames(PropertyValue[] props, String[] names) {
+ boolean res = true;
+
+ for (int i = 0; i < props.length; i++) {
+ boolean locResult = props[i].Name.equals(names[i]);
+
+ if (!locResult) {
+ log.println("PropertyName differs for index " + i);
+ log.println("\tGetting: " + props[i].Name);
+ log.println("\tExpected: " + names[i]);
+ }
+
+ res &= locResult;
+ }
+
+ return res;
+ }
+
+ protected boolean checkPropertyTypes(PropertyValue[] props, Type[] types) {
+ boolean res = true;
+
+ for (int i = 0; i < props.length; i++) {
+ Type ValueType = new Type(props[i].Value.getClass());
+ boolean locResult = ValueType.equals(types[i]);
+
+ if (!locResult) {
+ log.println("PropertyType differs for " + props[i].Name);
+ log.println("\tGetting: " + ValueType.getTypeName());
+ log.println("\tExpected: " + types[i].getTypeName());
+ }
+
+ res &= locResult;
+ }
+
+ return res;
+ }
+
+ protected boolean checkA1(String expected) {
+ XCellRange range = (XCellRange) UnoRuntime.queryInterface(XCellRange.class, tEnv.getTestObject());
+ boolean res = false;
+ try{
+ String a1 = range.getCellByPosition(0,0).getFormula();
+ res = a1.equals(expected);
+ if (!res) {
+ log.println("\tResult differs from expectation");
+ log.println("\tGetting: "+a1);
+ log.println("\tExpected: "+expected);
+ } else {
+ log.println("successful");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Cell to check");
+ }
+ return res;
+ }
+
+ /**
+ * Dispose environment.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/util/_XIndent.java b/qadevOOo/tests/java/ifc/util/_XIndent.java
new file mode 100644
index 000000000000..a02897b0e3c1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XIndent.java
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.util.XIndent;
+
+/**
+* Testing <code>com.sun.star.util.XCancellable</code>
+* interface methods :
+* <ul>
+* <li><code> decrementIndent()</code></li>
+* <li><code> incrementIndent()</code></li>
+* </ul> <p>
+* @see com.sun.star.util.XIndent
+*/
+public class _XIndent extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XIndent oObj = null ;
+
+ protected XPropertySet PropSet = null;
+
+ /**
+ * Ensures that the ObjRelation PropSet is given.
+ */
+ public void before() {
+ PropSet = (XPropertySet) tEnv.getObjRelation("PropSet");
+ if (PropSet == null) {
+ throw new StatusException(Status.failed("No PropertySet given"));
+ }
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the property 'ParaIndent' is incremented afterwards<p>
+ */
+ public void _incrementIndent() {
+ int oldValue = getIndent();
+ oObj.incrementIndent();
+ int newValue = getIndent();
+ tRes.tested("incrementIndent()", oldValue < newValue) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the property 'ParaIndent' is decremented afterwards<p>
+ * requires 'incrementIndent()' to be executed first.
+ */
+ public void _decrementIndent() {
+ requiredMethod("incrementIndent()");
+ int oldValue = getIndent();
+ oObj.decrementIndent();
+ int newValue = getIndent();
+ tRes.tested("decrementIndent()", oldValue > newValue) ;
+ }
+
+ public short getIndent() {
+ short ret = 0;
+ try {
+ ret = ((Short) PropSet.getPropertyValue("ParaIndent")).shortValue();
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ }
+ return ret;
+ }
+
+} // finish class _XCancellable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XMergeable.java b/qadevOOo/tests/java/ifc/util/_XMergeable.java
new file mode 100644
index 000000000000..860811246727
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XMergeable.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XMergeable;
+
+
+/**
+ * Testing <code>com.sun.star.util.XMergeable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> merge()</code></li>
+ * <li><code> getIsMerged()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XMergeable
+ */
+public class _XMergeable extends MultiMethodTest {
+
+ public XMergeable oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Checks the property <code>IsMerged</code> and sets it
+ * to the opposite value. <p>
+ * Has <b> OK </b> status if the property value has changed. <p>
+ */
+ public void _getIsMerged () {
+
+ boolean isMerged = oObj.getIsMerged();
+ oObj.merge(!isMerged);
+ tRes.tested("getIsMerged()", isMerged != oObj.getIsMerged());
+ }
+
+ /**
+ * Checks the property <code>IsMerged</code> and sets it
+ * to the opposite value. <p>
+ * Has <b> OK </b> status if the property value has changed. <p>
+ */
+ public void _merge () {
+
+ boolean isMerged = oObj.getIsMerged();
+ oObj.merge(!isMerged);
+ tRes.tested("merge()", isMerged != oObj.getIsMerged());
+ }
+} // finisch class _XMergeable
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XModeSelector.java b/qadevOOo/tests/java/ifc/util/_XModeSelector.java
new file mode 100644
index 000000000000..fddf9850ca02
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XModeSelector.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XModeSelector;
+
+/**
+* Testing <code>com.sun.star.util.XModeSelector</code>
+* interface methods :
+* <ul>
+* <li><code>setMode()</code></li>
+* <li><code>getMode()</code></li>
+* <li><code>getSupportedModes()</code></li>
+* <li><code>supportsMode()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.util.XModeSelector
+*/
+public class _XModeSelector extends MultiMethodTest {
+ public XModeSelector oObj = null;
+
+ String[] supportedModes;
+ /**
+ * Calls the method and as argument pass one of the supported modes
+ * that was returned by method getSupportedMode.<p>
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _setMode() {
+ requiredMethod("getSupportedModes()");
+ try {
+ oObj.setMode(supportedModes[0]);
+ } catch(com.sun.star.lang.NoSupportException e) {
+ log.println("Method setMode() doesn't support mode '"
+ + supportedModes[0] + "'");
+ tRes.tested("setMode()", false);
+ return ;
+ }
+ tRes.tested("setMode()", true);
+ }
+
+ /**
+ * Calls the method and check returned value.<p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is equal to value that was set by method setMode.
+ */
+ public void _getMode() {
+ requiredMethod("setMode()");
+ String curMode = oObj.getMode();
+ tRes.tested("getMode()", curMode.equals(supportedModes[0]));
+ }
+
+ /**
+ * Calls the method and checks value returned by method.<p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ * and returned value is not null.
+ */
+ public void _getSupportedModes() {
+ supportedModes = oObj.getSupportedModes();
+ tRes.tested("getSupportedModes()", supportedModes != null);
+ }
+
+ /**
+ * Calls the method. First one of the supported modes that was returned
+ * by method getSupportedMode is passed as argument.
+ * Then the method is called again and the mode that is certainly not supported
+ * is passed. Checks up returned values in both cases.<p>
+ * Has <b> OK </b> status if no runtime exceptions occured,
+ * returned value is true in first call and is false in second call.
+ */
+ public void _supportsMode() {
+ requiredMethod("getSupportedModes()");
+ boolean result = oObj.supportsMode(supportedModes[0]) &&
+ ! oObj.supportsMode(supportedModes[0] + "_ForTest");
+ tRes.tested("supportsMode()", result);
+ }
+}// finish class _XModeSelector
+
diff --git a/qadevOOo/tests/java/ifc/util/_XModifiable.java b/qadevOOo/tests/java/ifc/util/_XModifiable.java
new file mode 100644
index 000000000000..86f8f8d4b086
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XModifiable.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XModifiable;
+
+
+public class _XModifiable extends MultiMethodTest {
+ public XModifiable oObj;
+
+ public void _isModified() {
+ requiredMethod("setModified()");
+ tRes.tested("isModified()", true);
+ }
+
+ public void _setModified() {
+ boolean res = true;
+
+ try {
+ oObj.setModified(true);
+ res = oObj.isModified();
+ oObj.setModified(false);
+ res &= !oObj.isModified();
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while using method " + e.getMessage());
+ res = false;
+ }
+
+ tRes.tested("setModified()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java b/qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java
new file mode 100644
index 000000000000..34ca57c63cfe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.util.XModifyBroadcaster;
+import com.sun.star.util.XModifyListener;
+
+/**
+* Testing <code>com.sun.star.util.XModifyBroadcaster</code>
+* interface methods :
+* <ul>
+* <li><code>addModifyListener()</code></li>
+* <li><code>removeModifyListener()</code></li>
+* </ul> <p>
+*
+* Result checking is not performed. Modify
+* listeners are called only in case of
+* interaction with UI. <p>
+*
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.util.XModifyBroadcaster
+*/
+public class _XModifyBroadcaster extends MultiMethodTest {
+ public XModifyBroadcaster oObj = null;
+
+ boolean modified = false;
+
+ protected class TestModifyListener implements XModifyListener {
+ public void disposing ( EventObject oEvent ) {}
+ public void modified (EventObject aEvent ) {
+ modified = true;
+ }
+ }
+
+ private TestModifyListener listener = new TestModifyListener();
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _addModifyListener() {
+ log.println("'Modified' events are called only in case"+
+ " of user interaction.");
+ oObj.addModifyListener(listener);
+ tRes.tested("addModifyListener()", true);
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occured
+ */
+ public void _removeModifyListener() {
+ requiredMethod("addModifyListener()");
+ oObj.removeModifyListener(listener);
+ tRes.tested("removeModifyListener()", true);
+ }
+}// finish class _XModifyBroadcaster
+
diff --git a/qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java b/qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java
new file mode 100644
index 000000000000..02595f886b8e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.util.XNumberFormats;
+import com.sun.star.util.XNumberFormatsSupplier;
+
+/**
+ * Testing <code>com.sun.star.util.XNumberFormatsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getNumberFormatSettings()</code></li>
+ * <li><code> getNumberFormats()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XNumberFormatsSupplier
+ */
+public class _XNumberFormatsSupplier extends MultiMethodTest {
+
+ public XNumberFormatsSupplier oObj = null;
+
+ /**
+ * Get format settings and checks some properties for existence. <p>
+ *
+ * Has <b> OK </b> status if a number properties inherent to
+ * <code>NumberFormatSettings</code> service exist in the
+ * returned <code>XPropertySet</code>. <p>
+ *
+ * @see com.sun.star.util.NumberFormatSettings
+ */
+ public void _getNumberFormatSettings() {
+ boolean result = true ;
+ XPropertySet props = oObj.getNumberFormatSettings();
+
+ if (props != null) {
+ try {
+ result &= props.getPropertyValue("NullDate") != null &&
+ props.getPropertyValue("StandardDecimals") != null &&
+ props.getPropertyValue("NoZero") != null &&
+ props.getPropertyValue("TwoDigitDateStart") != null ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Some property doesn't exist") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ } else {
+ log.println("Method returns null") ;
+ result = false ;
+ }
+
+ tRes.tested("getNumberFormatSettings()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getNumberFormats() {
+ XNumberFormats formats = oObj.getNumberFormats();
+
+ tRes.tested("getNumberFormats()", formats != null) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XNumberFormatter.java b/qadevOOo/tests/java/ifc/util/_XNumberFormatter.java
new file mode 100644
index 000000000000..4dab4f5c5b2b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XNumberFormatter.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XNumberFormatter;
+
+
+/**
+ * Testing <code>com.sun.star.util.XNumberFormatter</code>
+ * interface methods :
+ * <ul>
+ * <li><code> attachNumberFormatsSupplier()</code></li>
+ * <li><code> convertNumberToString() </code></li>
+ * <li><code> convertStringToNumber() </code></li>
+ * <li><code> detectNumberFormat() </code></li>
+ * <li><code> formatString() </code></li>
+ * <li><code> getInputString() </code></li>
+ * <li><code> getNumberFormatsSupplier() </code></li>
+ * <li><code> queryColorForNumber() </code></li>
+ * <li><code> queryColorForString() </code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XNumberFormatter
+ */
+public class _XNumberFormatter extends MultiMethodTest {
+
+ public XNumberFormatter oObj = null;
+
+ /**
+ * Not implemented yet.
+ */
+ public void _attachNumberFormatsSupplier() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Tries to convert a number to a string. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _convertNumberToString() {
+ double dValue = 1.56;
+ int key = 15;
+
+ String gString = oObj.convertNumberToString(key,dValue);
+
+ log.println("Getting: "+gString);
+ tRes.tested("convertNumberToString",gString!=null);
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _convertStringToNumber() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _detectNumberFormat() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _formatString() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _getInputString() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _getNumberFormatsSupplier() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _queryColorForNumber() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _queryColorForString() {
+ log.println("Not yet implemented");
+ }
+} // finish class _XNumberFormatter
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XProtectable.java b/qadevOOo/tests/java/ifc/util/_XProtectable.java
new file mode 100644
index 000000000000..1e61ee4fa840
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XProtectable.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import com.sun.star.util.XProtectable;
+import lib.MultiMethodTest;
+
+/**
+ * Check the XProtectable interface.
+ */
+public class _XProtectable extends MultiMethodTest {
+ public XProtectable oObj = null;
+ String sPassWord = "TopSecret";
+
+ /**
+ * Check, if the sheet is protected.
+ * Has OK status, if this is the case.
+ */
+ public void _isProtected() {
+ requiredMethod("protect()");
+ boolean result = oObj.isProtected();
+ tRes.tested("isProtected()", result);
+ }
+
+ /**
+ * Protect the sheet
+ */
+ public void _protect() {
+ oObj.protect(sPassWord);
+ tRes.tested("protect()", true);
+ }
+
+ /**
+ * Unprotect with wrong password, see if it's still protected.
+ * Unprotect with correct password, see if it's unprotected.
+ */
+ public void _unprotect() {
+ requiredMethod("isProtected()");
+ boolean result = true;
+ try {
+ oObj.unprotect("WrongPassword");
+// result = false;
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Correct Exception thrown.");
+ }
+ // just check if it's still protected
+ result &= oObj.isProtected();
+ try {
+ oObj.unprotect(sPassWord);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Wrong Exception thrown: password is correct.");
+ result = false;
+ }
+ result &= !oObj.isProtected();
+ tRes.tested("unprotect()", result);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XRefreshable.java b/qadevOOo/tests/java/ifc/util/_XRefreshable.java
new file mode 100644
index 000000000000..7b1eb0ad0db5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XRefreshable.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XRefreshListener;
+import com.sun.star.util.XRefreshable;
+
+/**
+* Testing <code>com.sun.star.util.XRefreshable</code>
+* interface methods :
+* <ul>
+* <li><code> refresh()</code></li>
+* <li><code> addRefreshListener()</code></li>
+* <li><code> removeRefreshListener()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.util.XRefreshable
+*/
+public class _XRefreshable extends MultiMethodTest {
+
+ public XRefreshable oObj = null;
+
+ final boolean listenerCalled[] = new boolean[1];
+
+
+ /**
+ * <code>XRefreshListener</code> implementation which
+ * sets a flag when <code>refreshed</code> method is
+ * called.
+ */
+ public class MyRefreshListener implements XRefreshListener {
+ public void refreshed (com.sun.star.lang.EventObject e) {
+ listenerCalled[0] = true;
+ }
+
+ public void disposing (com.sun.star.lang.EventObject obj) {}
+ }
+
+ XRefreshListener listener = new MyRefreshListener();
+
+ /**
+ * Just adds a listener. <p>
+ * Always has <b>OK</b> status.
+ */
+ public void _addRefreshListener() {
+
+ oObj.addRefreshListener(listener) ;
+ tRes.tested("addRefreshListener()", true);
+ }
+
+ /**
+ * Calls the method and checks if the listener was called. <p>
+ * Has <b>OK</b> status if listener's flag is set after call.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addRefreshListener </code> : to have a listener added.</li>
+ * </ul>
+ */
+ public void _refresh() {
+
+ requiredMethod("addRefreshListener()");
+
+ oObj.refresh();
+
+ tRes.tested("refresh()", listenerCalled[0]);
+ if (!listenerCalled[0])
+ log.println("RefreshListener wasn't called after refresh");
+
+ }
+
+ /**
+ * Removes the listener added before and calls <code>refresh</code>
+ * method. Listener must not be called. <p>
+ * Has <b>OK</b> status if listener's flag isn't changed.
+ * <ul>
+ * <li> <code> refresh </code> : listener added must be already
+ * tested.</li>
+ * </ul>
+ */
+ public void _removeRefreshListener() {
+ requiredMethod("refresh()");
+ listenerCalled[0] = false;
+
+ oObj.removeRefreshListener(listener) ;
+ oObj.refresh();
+
+ tRes.tested("removeRefreshListener()", !listenerCalled[0]);
+ if (listenerCalled[0])
+ log.println("RefreshListener was called after removing");
+ }
+} // finish class _XRefreshable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java b/qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java
new file mode 100644
index 000000000000..e4a3a5c2ba56
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XReplaceDescriptor;
+
+/**
+ * Testing <code>com.sun.star.util.XReplaceDescriptor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getReplaceString()</code></li>
+ * <li><code> setReplaceString()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XReplaceDescriptor
+ */
+public class _XReplaceDescriptor extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XReplaceDescriptor oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getReplaceString(){
+ log.println("test for getReplaceString() ");
+ tRes.tested("getReplaceString()", oObj.getReplaceString()!=null);
+ }
+
+ /**
+ * Set a new string and checks the result. <p>
+ * Has <b> OK </b> status if the string before setting differs
+ * from string after setting. <p>
+ */
+ public void _setReplaceString(){
+ log.println("test for setReplaceString() ");
+ String oldReplaceStr = oObj.getReplaceString();
+ oObj.setReplaceString("XReplaceDescriptor");
+ String cmpReplaceStr = oObj.getReplaceString();
+ tRes.tested("setReplaceString()", !(cmpReplaceStr.equals(oldReplaceStr)));
+ return;
+ }
+
+} // finish class _XReplaceDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XReplaceable.java b/qadevOOo/tests/java/ifc/util/_XReplaceable.java
new file mode 100644
index 000000000000..9f2a801cfcbf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XReplaceable.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import com.sun.star.table.XCell;
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XReplaceDescriptor;
+import com.sun.star.util.XReplaceable;
+import com.sun.star.util.XSearchDescriptor;
+
+/**
+ * Testing <code>com.sun.star.util.XReplaceable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createReplaceDescriptor()</code></li>
+ * <li><code> replaceAll()</code></li>
+ * </ul> <p>
+ *
+ * The requipment for the tested object is that it
+ * <b>must containt</b> string 'xTextDoc'. Only
+ * in that case this interface is tested correctly. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XReplaceable
+ */
+public class _XReplaceable extends MultiMethodTest {
+
+ public XReplaceable oObj = null;
+ public XReplaceDescriptor Rdesc = null;
+ private String mSearchString = "xTextDoc";
+ private String mReplaceString = "** xTextDoc";
+ private boolean mDispose = false;
+
+ /**
+ * Creates an entry to search for, if the current object does not provide
+ * one. In this case, the environment is disposed after the test, since
+ * the inserted object may influence following tests.
+ *
+ */
+ protected void before() {
+ Object o = tEnv.getObjRelation("SEARCHSTRING");
+ if (o != null) {
+ mSearchString = (String)o;
+ }
+ // use object relation for XSearchable
+ o = tEnv.getObjRelation("XSearchable.MAKEENTRYINCELL");
+ if (o != null) {
+ XCell[] cells = new XCell[0];
+ if (o instanceof XCell) {
+ cells = new XCell[]{(XCell)o};
+ }
+ else if (o instanceof XCell[]) {
+ cells = (XCell[])o;
+ }
+ else {
+ log.println("Needed object relation 'XSearchable.MAKEENTRYINCELL' is there, but is of type '"
+ + o.getClass().getName() + "'. Should be 'XCell' or 'XCell[]' instead.");
+ }
+ for (int i=0; i<cells.length; i++) {
+ cells[i].setFormula(mSearchString);
+ }
+ mDispose = true;
+ }
+ }
+
+ /**
+ * Creates the descriptor for replacing string 'xTextDoc'
+ * with string '** xTextDoc'. <p>
+ * Has <b> OK </b> status if the returned descriptor is not
+ * <code>null</code>. <p>
+ */
+ public void _createReplaceDescriptor() {
+
+ log.println("testing createReplaceDescriptor() ... ");
+
+ Rdesc = oObj.createReplaceDescriptor();
+ Rdesc.setSearchString(mSearchString);
+ Rdesc.setReplaceString(mReplaceString);
+ tRes.tested("createReplaceDescriptor()", Rdesc != null);
+
+ }
+
+ /**
+ * Replaces the text using descriptor created before. Then
+ * search is performed in the target text. <p>
+ *
+ * Has <b> OK </b> status if the string '**' is found in
+ * the text. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createReplaceDescriptor() </code> : replace
+ * descriptor is created. </li>
+ * </ul>
+ */
+ public void _replaceAll() {
+ requiredMethod("createReplaceDescriptor()");
+ oObj.replaceAll(Rdesc);
+ XSearchDescriptor SDesc = oObj.createSearchDescriptor();
+ SDesc.setSearchString("**");
+ boolean res = (oObj.findFirst(SDesc) != null);
+ // redo replacement
+ Rdesc.setSearchString(mReplaceString);
+ Rdesc.setReplaceString(mSearchString);
+ oObj.replaceAll(Rdesc);
+ res &= (oObj.findFirst(SDesc) == null);
+
+ tRes.tested("replaceAll()",res);
+ }
+
+ /**
+ * In case the interface itself made the entry to search for, the environment
+ * must be disposed
+ */
+ protected void after() {
+ if(mDispose) {
+ disposeEnvironment();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java b/qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java
new file mode 100644
index 000000000000..4b9b8e14abee
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XSearchDescriptor;
+
+/**
+ * Testing <code>com.sun.star.util.XSearchDescriptor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getSearchString()</code></li>
+ * <li><code> setSearchString()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XSearchDescriptor
+ */
+public class _XSearchDescriptor extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XSearchDescriptor oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getSearchString(){
+ boolean bResult = false;
+ String searchStr = null;
+
+ log.println("test for getSearchString() ");
+ searchStr = oObj.getSearchString();
+
+ if (!(searchStr == null)){ bResult = true; }
+ tRes.tested("getSearchString()", bResult);
+ }
+
+ /**
+ * Set a new string and checks the result. <p>
+ * Has <b> OK </b> status if the string before setting differs
+ * from string after setting. <p>
+ */
+ public void _setSearchString(){
+ boolean bResult = false;
+ String oldSearchStr = null;
+ String cmpSearchStr = null;
+ String newSearchStr = "_XSearchDescriptor";
+ log.println("test for setSearchString() ");
+
+ oldSearchStr = oObj.getSearchString();
+ oObj.setSearchString(newSearchStr);
+ cmpSearchStr = oObj.getSearchString();
+
+ if(!(cmpSearchStr.equals(oldSearchStr))){ bResult = true; }
+ //oObj.setSearchString(oldSearchStr);
+ tRes.tested("setSearchString()", bResult);
+ }
+
+} // finish class _XSearchDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/util/_XSearchable.java b/qadevOOo/tests/java/ifc/util/_XSearchable.java
new file mode 100644
index 000000000000..91c3014387df
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XSearchable.java
@@ -0,0 +1,185 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.table.XCell;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ * Testing <code>com.sun.star.util.XSearchable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createSearchDescriptor()</code></li>
+ * <li><code> findAll()</code></li>
+ * <li><code> findFirst()</code></li>
+ * <li><code> findNext()</code></li>
+ * </ul> <p>
+ *
+ * The requipment for the tested object is that it
+ * <b>must containt</b> string 'xTextDoc'. Only
+ * in that case this interface is tested correctly. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XSearchable
+ */
+public class _XSearchable extends MultiMethodTest {
+
+ public XSearchable oObj = null; // oObj filled by MultiMethodTest
+ public XSearchDescriptor Sdesc = null;
+ public Object start = null;
+ private String mSearchString = "xTextDoc";
+ private boolean mDispose = false;
+ private boolean mExcludeFindNext = false;
+
+ /**
+ * Creates an entry to search for, if the current object does not provide
+ * one. In this case, the environment is disposed after the test, since
+ * the inserted object may influence following tests.
+ *
+ */
+ protected void before() {
+ Object o = tEnv.getObjRelation("SEARCHSTRING");
+ if (o != null) {
+ mSearchString = (String)o;
+ }
+ o = tEnv.getObjRelation("XSearchable.MAKEENTRYINCELL");
+ if (o != null) {
+ XCell[] cells = new XCell[0];
+ if (o instanceof XCell) {
+ cells = new XCell[]{(XCell)o};
+ }
+ else if (o instanceof XCell[]) {
+ cells = (XCell[])o;
+ }
+ else {
+ log.println("Needed object relation 'XSearchable.MAKEENTRYINCELL' is there, but is of type '"
+ + o.getClass().getName() + "'. Should be 'XCell' or 'XCell[]' instead.");
+ }
+ for (int i=0; i<cells.length; i++) {
+ cells[i].setFormula(mSearchString);
+ }
+ mDispose = true;
+ }
+ mExcludeFindNext = (tEnv.getObjRelation("EXCLUDEFINDNEXT")==null)?false:true;
+ }
+
+ /**
+ * Creates the search descriptor which searches for
+ * 'xTextDoc' string. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _createSearchDescriptor() {
+
+ log.println("testing createSearchDescriptor() ... ");
+
+ Sdesc = oObj.createSearchDescriptor();
+ Sdesc.setSearchString(mSearchString);
+ tRes.tested("createSearchDescriptor()", Sdesc != null);
+
+ }
+
+ /**
+ * Performs search using descriptor created before. <p>
+ * Has <b> OK </b> status if the method not <code>null</code>
+ * collections. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createSearchDescriptor() </code> : creates the descriptor
+ * required for search. </li>
+ * </ul>
+ */
+ public void _findAll() {
+
+ requiredMethod("createSearchDescriptor()");
+ log.println("testing findAll()");
+
+ XIndexAccess IA = oObj.findAll(Sdesc);
+ tRes.tested("findAll()", IA != null);
+ }
+
+ /**
+ * Performs search using descriptor created before. Storing the
+ * first occurence result. <p>
+ * Has <b> OK </b> status if the method not <code>null</code>
+ * value. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createSearchDescriptor() </code> : creates the descriptor
+ * required for search. </li>
+ * </ul>
+ */
+ public void _findFirst() {
+
+ requiredMethod("createSearchDescriptor()");
+ log.println("testing findFirst()");
+ start = oObj.findFirst(Sdesc);
+ tRes.tested("findFirst()", start != null);
+ }
+
+ /**
+ * Performs search using descriptor and first search result
+ * created before. <p>
+ * Has <b> OK </b> status if the method not <code>null</code>
+ * value. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> findFirst() </code> : to have first search result. </li>
+ * </ul>
+ */
+ public void _findNext() {
+ if (mExcludeFindNext) {
+ log.println("Testing findNext() excluded, because only one" +
+ " search result is available.");
+ tRes.tested("findNext()", true);
+ }
+ else{
+ requiredMethod("findFirst()");
+
+ log.println("testing findNext()");
+ Object xI = oObj.findNext(start,Sdesc);
+ tRes.tested("findNext()", xI != null);
+ }
+ }
+
+ /**
+ * In case the interface itself made the entry to search for, the environment
+ * must be disposed
+ */
+ protected void after() {
+ if(mDispose) {
+ disposeEnvironment();
+ }
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XSortable.java b/qadevOOo/tests/java/ifc/util/_XSortable.java
new file mode 100644
index 000000000000..f0d78305420d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XSortable.java
@@ -0,0 +1,238 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.table.TableSortField;
+import com.sun.star.util.XSortable;
+
+
+/**
+ * Testing <code>com.sun.star.util.XSortable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createSortDescriptor()</code></li>
+ * <li><code> sort()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'SORTCHECKER'</code> : <code>
+* _XSortable.XSortChecker</code> interface implementation
+ * </li>
+ * <ul><p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.util.XSortable
+ */
+public class _XSortable extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XSortable oObj = null;
+ XSortChecker checker = null;
+ PropertyValue[] oPV = null;
+
+ protected void before() {
+ checker = (XSortChecker) tEnv.getObjRelation("SORTCHECKER");
+
+ if (checker == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'SORTCHECKER'"));
+ }
+
+ checker.setPrintWriter(log);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the length of the returned array
+ * is greater than zero. <p>
+ */
+ public void _createSortDescriptor() {
+ boolean bResult = false;
+
+ log.println("test for createSortDescriptor() ");
+ oPV = oObj.createSortDescriptor();
+
+ if (oPV.length > 0) {
+ bResult = true;
+
+ for (int k = 0; k < oPV.length; k++) {
+ log.println("DescriptorProperty " + k + ": Name=" +
+ oPV[k].Name + "; Value=" + oPV[k].Value);
+
+ if (oPV[k].Name.equals("SortFields")) {
+ TableSortField[] tsf = (TableSortField[]) oPV[k].Value;
+
+ for (int l = 0; l < tsf.length; l++) {
+ log.println("\t isAscending: " +
+ tsf[l].IsAscending);
+ log.println("\t IsCaseSensitive: " +
+ tsf[l].IsCaseSensitive);
+ log.println("\t CollatorAlgorithm: " +
+ tsf[l].CollatorAlgorithm);
+ }
+ }
+ }
+ }
+
+ log.println("Found " + oPV.length + " PropertyValues");
+ tRes.tested("createSortDescriptor()", bResult);
+ }
+
+ /**
+ * Test calls the method using descriptor created before as
+ * parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createSortDescriptor() </code> : to have a descriptor
+ * for sort. </li>
+ * </ul>
+ */
+ public void _sort() {
+
+ checker.prepareToSort();
+
+ log.println(
+ "############## Sort algorithm: Alphanumeric Order: Ascending");
+ modifyDescriptor(false, true);
+ oObj.sort(oPV);
+
+ boolean res = checker.checkSort(false, true);
+ log.println(
+ "############################################################");
+
+ log.println(
+ "############# Sort algorithm: Alphanumeric Order: Descending");
+ modifyDescriptor(false, false);
+ oObj.sort(oPV);
+ res = checker.checkSort(false, false);
+ log.println(
+ "############################################################");
+
+ log.println(
+ "################# Sort algorithm: Numeric Order: Ascending");
+ modifyDescriptor(true, true);
+ oObj.sort(oPV);
+ res = checker.checkSort(true, true);
+ log.println(
+ "############################################################");
+
+ log.println(
+ "################## Sort algorithm: Numeric Order: Descending");
+ modifyDescriptor(true, false);
+ oObj.sort(oPV);
+ res = checker.checkSort(true, false);
+ log.println(
+ "############################################################");
+
+ tRes.tested("sort()", res);
+ }
+
+ protected void modifyDescriptor(boolean isSortNumeric,
+ boolean isSortAscending) {
+ for (int i = 0; i < oPV.length; i++) {
+ if (oPV[i].Name.equals("SortFields")) {
+ TableSortField[] TableFields = (TableSortField[]) oPV[i].Value;
+
+ if (TableFields.length == 0) {
+ TableFields = new TableSortField[1];
+ TableFields[0] = new TableSortField();
+ }
+
+ for (int k = 0; k < TableFields.length; k++) {
+ TableFields[k].IsAscending = isSortAscending;
+
+ if (isSortNumeric) {
+ TableFields[k].FieldType = com.sun.star.table.TableSortFieldType.NUMERIC;
+ TableFields[k].CollatorAlgorithm = "numeric";
+ } else {
+ TableFields[k].FieldType = com.sun.star.table.TableSortFieldType.ALPHANUMERIC;
+ TableFields[k].CollatorAlgorithm = "alphanumeric";
+ }
+ }
+
+ oPV[i].Value = TableFields;
+ }
+
+ if (oPV[i].Name.equals("isSortInTable")) {
+ oPV[i].Value = new Boolean(true);
+ }
+
+ if (oPV[i].Name.equals("IsSortColumns")) {
+ oPV[i].Value = new Boolean(false);
+ }
+ }
+
+ log.println("Modified sort descriptor: ");
+
+ if (oPV.length > 0) {
+ for (int k = 0; k < oPV.length; k++) {
+ log.println("DescriptorProperty " + k + ": Name=" +
+ oPV[k].Name + "; Value=" + oPV[k].Value);
+
+ if (oPV[k].Name.equals("SortFields")) {
+ TableSortField[] tsf = (TableSortField[]) oPV[k].Value;
+
+ for (int l = 0; l < tsf.length; l++) {
+ log.println("\t isAscending: " +
+ tsf[l].IsAscending);
+ log.println("\t IsCaseSensitive: " +
+ tsf[l].IsCaseSensitive);
+ log.println("\t CollatorAlgorithm: " +
+ tsf[l].CollatorAlgorithm);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * The interface for sort checking.
+ */
+ public static interface XSortChecker {
+ public void prepareToSort();
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending);
+
+ public void setPrintWriter(PrintWriter log);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finish class _XSortable
diff --git a/qadevOOo/tests/java/ifc/util/_XStringEscape.java b/qadevOOo/tests/java/ifc/util/_XStringEscape.java
new file mode 100644
index 000000000000..4673526fc243
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XStringEscape.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XStringEscape;
+
+public class _XStringEscape extends MultiMethodTest {
+
+ public XStringEscape oObj;
+
+ public void _escapeString() {
+ log.println("The Implementation of this Interface doesn't really do anything");
+ boolean res = true;
+ try {
+ String toCheck = ";:<>/*";
+ String eString = oObj.escapeString(toCheck);
+ res = toCheck.equals(eString);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ System.out.println("IllegalArgument");
+ }
+ tRes.tested("escapeString()",res);
+ }
+
+ public void _unescapeString() {
+ log.println("The Implementation of this Interface doesn't really do anything");
+ boolean res = true;
+ try {
+ String toCheck = ";:<>/*";
+ String ueString = oObj.unescapeString(toCheck);
+ res = toCheck.equals(ueString);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ System.out.println("IllegalArgument");
+ }
+ tRes.tested("unescapeString()",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XStringSubstitution.java b/qadevOOo/tests/java/ifc/util/_XStringSubstitution.java
new file mode 100644
index 000000000000..aed62619f41e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XStringSubstitution.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import com.sun.star.util.XStringSubstitution;
+import lib.MultiMethodTest;
+
+public class _XStringSubstitution extends MultiMethodTest {
+
+ public XStringSubstitution oObj;
+
+ public void _getSubstituteVariableValue() {
+ boolean res = true;
+ try {
+ log.println("try to get the valid variable $(user) ...");
+ String toCheck = "$(user)";
+ String eString = oObj.getSubstituteVariableValue(toCheck);
+ res = eString.startsWith("file:///");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("$(user) does not exist");
+ tRes.tested("getSubstituteVariableValue()",false);
+ }
+ try {
+ log.println("try to get a invalid variable...");
+ String toCheck = "$(ThisVariableShouldNoExist)";
+ String eString = oObj.getSubstituteVariableValue(toCheck);
+ log.println("$(ThisVariableShouldNoExist) should not exist");
+ tRes.tested("getSubstituteVariableValue()",false);
+
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("expected exception was thrown.");
+ res &= true;
+ }
+
+ tRes.tested("getSubstituteVariableValue()",res);
+ }
+
+ public void _substituteVariables() {
+ boolean res = true;
+ try {
+ log.println("try to get a valid variable...");
+ String toCheck = "$(user)";
+ String eString = oObj.substituteVariables(toCheck, false);
+ log.println(eString);
+ res = eString.startsWith("file:///");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("$(user) does not exist");
+ tRes.tested("substituteVariables()",false);
+ }
+ try {
+ log.println("try to get a invalid variable...");
+ String toCheck = "$(ThisVariableShouldNoExist)";
+ String eString = oObj.substituteVariables(toCheck,true);
+ log.println("$(ThisVariableShouldNoExist) should not exist");
+ tRes.tested("substituteVariables()",false);
+
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("expected exception was thrown.");
+ res &= true;
+ }
+
+ tRes.tested("substituteVariables()",res);
+ }
+
+ public void _reSubstituteVariables() {
+ boolean res = true;
+ log.println("try to get a valid variable...");
+ String toCheck = "file:///";
+ String eString = oObj.reSubstituteVariables(toCheck);
+ log.println(eString);
+ res = eString.startsWith("file:///");
+
+ tRes.tested("reSubstituteVariables()",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XTextSearch.java b/qadevOOo/tests/java/ifc/util/_XTextSearch.java
new file mode 100644
index 000000000000..4f701c087f71
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XTextSearch.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.SearchAlgorithms;
+import com.sun.star.util.SearchFlags;
+import com.sun.star.util.SearchOptions;
+import com.sun.star.util.SearchResult;
+import com.sun.star.util.XTextSearch;
+
+/**
+* Testing <code>com.sun.star.util.XTextSearch</code>
+* interface methods :
+* <ul>
+* <li><code> setOptions()</code></li>
+* <li><code> searchForward()</code></li>
+* <li><code> searchBackward()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.util.XTextSearch
+*/
+public class _XTextSearch extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XTextSearch oObj = null ;
+
+ protected final String str = "acababaabcababadcdaa" ;
+ protected final int startPos = 2 , endPos = 20 ;
+ protected final String searchStr = "(ab)*a(c|d)+" ;
+ protected final int fStartRes = 10, fEndRes = 18 ;
+ protected final int bStartRes = 18, bEndRes = 14 ;
+
+ /**
+ * Sets options for searching regular expression in a string,
+ * ignoring case. <p>
+ * Has <b>OK</b> status if no runtime exceptions occured.
+ */
+ public void _setOptions() {
+
+ SearchOptions opt = new SearchOptions() ;
+ opt.algorithmType = SearchAlgorithms.REGEXP ;
+ opt.searchFlag = SearchFlags.ALL_IGNORE_CASE ;
+ opt.searchString = searchStr ;
+
+ oObj.setOptions(opt) ;
+
+ tRes.tested("setOptions()", true) ;
+ }
+
+
+ /**
+ * Tries to find a substring matching regular expression. <p>
+ * Has <b>OK</b> if the correct substring position returned.
+ */
+ public void _searchForward() {
+ requiredMethod("setOptions()") ;
+
+ SearchResult res = oObj.searchForward(str, startPos, endPos) ;
+
+ log.println("Result of searching '" + searchStr + "' substring in \n'" +
+ str + "' string (" + res.subRegExpressions + " matches):") ;
+
+ for (int i = 0; i < res.subRegExpressions; i++)
+ log.println(" (" + res.startOffset[i] + ", " + res.endOffset[i] + ")") ;
+
+ tRes.tested("searchForward()", res.subRegExpressions > 0 &&
+ res.startOffset[0] == fStartRes && res.endOffset[0] == fEndRes) ;
+ }
+
+ /**
+ * Tries to find a substring matching regular expression walking
+ * backward. <p>
+ * Has <b>OK</b> if the correct substring position returned.
+ */
+ public void _searchBackward() {
+ requiredMethod("setOptions()") ;
+
+ SearchResult res = oObj.searchBackward(str, endPos, startPos) ;
+
+ log.println("Result of searching '" + searchStr + "' substring in \n'" +
+ str + "' string (" + res.subRegExpressions + " matches):") ;
+
+ for (int i = 0; i < res.subRegExpressions; i++)
+ log.println(" (" + res.startOffset[i] + ", " + res.endOffset[i] + ")") ;
+
+ tRes.tested("searchBackward()", res.subRegExpressions > 0 &&
+ res.startOffset[0] == bStartRes && res.endOffset[0] == bEndRes) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XURLTransformer.java b/qadevOOo/tests/java/ifc/util/_XURLTransformer.java
new file mode 100644
index 000000000000..e847a9d3132c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XURLTransformer.java
@@ -0,0 +1,471 @@
+/*************************************************************************
+ *
+ * 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.util;
+
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.util.XURLTransformer</code>
+* interface methods :
+* <ul>
+* <li><code> assemble() </code></li>
+* <li><code> parseStrict() </code></li>
+* <li><code> parseSmart() </code></li>
+* <li><code> getPresentation() </code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.util.XURLTransformer
+*/
+public class _XURLTransformer extends MultiMethodTest {
+
+ public XURLTransformer oObj = null;
+
+ URL url;
+
+ final static String user = "user";
+ final static String invalidUserPrefix = "1";
+ final static String password = "password";
+ final static String server = "server";
+ final static String invalidServerPrefix = "1";
+ final static String port = "8080";
+ final static String path = "/pub/path";
+ final static String name = "file.txt";
+ final static String arguments = "a=b";
+ final static String mark = "mark";
+
+ final static String expectedCompleteHTTP = "http://"
+ + server + ":" + port + path
+ + "/" + name + "?" + arguments + "#" + mark;
+ final static String expectedCompleteFTP = "ftp://"
+ + user + ":" + password + "@" + server + ":" + port + path
+ + "/" + name;
+
+ /**
+ * First the complete URL (all URL fields are filled) is
+ * passed and assembled. Then incomplete URL (only
+ * <code>Server</code> field is set) is passed. <p>
+ * Has <b> OK </b> status if in the first case <code>true</code>
+ * retruned and <code>Complete</code> field is set and in the
+ * second case <code>false</code> is returned. <p>
+ */
+ public void _assemble(){
+ URL[] url = new URL[1];
+ url[0] = new URL();
+
+ url[0].Protocol = "http://";
+ url[0].Server = server;
+ url[0].Port = new Integer(port).shortValue();
+ url[0].Path = path;
+ url[0].Name = name;
+ url[0].Arguments = arguments;
+ url[0].Mark = mark;
+ url[0].Main = "http://" + server + ":" +
+ port + path + "/" + name;
+
+ boolean res = true;
+
+ log.print("assemble http-URL: ");
+ boolean complete = oObj.assemble(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!expectedCompleteHTTP.equals(url[0].Complete)) {
+ log.println("assemble works wrong");
+ log.println("complete field : " + url[0].Complete);
+ log.println("expected : " + expectedCompleteHTTP);
+ res = false;
+ }
+
+ url[0] = new URL();
+ url[0].Protocol = "ftp://";
+ url[0].User = user;
+ url[0].Password = password;
+ url[0].Server = server;
+ url[0].Port = new Integer(port).shortValue();
+ url[0].Path = path;
+ url[0].Name = name;
+ url[0].Main = "ftp://" + user + ":" + password + "@" + server + ":" +
+ port + path + "/" + name;
+
+ log.print("assemble ftp-URL: ");
+ complete = oObj.assemble(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!expectedCompleteFTP.equals(url[0].Complete)) {
+ log.println("assemble works wrong");
+ log.println("complete field : " + url[0].Complete);
+ log.println("expected : " + expectedCompleteFTP);
+ res = false;
+ }
+
+ URL[] incompleteUrl = new URL[1];
+ incompleteUrl[0] = new URL();
+ incompleteUrl[0].Server = server;
+
+ log.print("assemble incomplete URL: ");
+ complete = oObj.assemble(incompleteUrl);
+ log.println(complete);
+ res &= !complete;
+
+ // should be incomplete
+ tRes.tested("assemble()", res);
+ }
+
+ /**
+ * First the complete URL (<code>Complete</code> field is set
+ * to proper URL) is passed and parsed. Then incomplete URL (only
+ * <code>Server</code> field is set) is passed. <p>
+ * Has <b> OK </b> status if in the first case <code>true</code>
+ * retruned and all URL fields are set to proper values and in the
+ * second case <code>false</code> is returned. <p>
+ */
+ public void _parseStrict() {
+ URL[] url = new URL[1];
+
+ url[0] = new URL();
+ url[0].Complete = expectedCompleteHTTP;
+
+ boolean res = true;
+ log.print("parseStrict(" + expectedCompleteHTTP + "): ");
+ boolean complete = oObj.parseStrict(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("http://")) {
+ log.println("parseStrict works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : http://");
+ res = false;
+ }
+
+ if (!url[0].Server.equals(server)) {
+ log.println("parseStrict works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != new Integer(port).shortValue()) {
+ log.println("parseStrict works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseStrict works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseStrict works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ if (!url[0].Arguments.equals(arguments)) {
+ log.println("parseStrict works wrong");
+ log.println("arguments field : " + url[0].Arguments);
+ log.println("expected : " + arguments);
+ res = false;
+ }
+
+ if (!url[0].Mark.equals(mark)) {
+ log.println("parseStrict works wrong");
+ log.println("mark field : " + url[0].Mark);
+ log.println("expected : " + mark);
+ res = false;
+ }
+
+ url[0] = new URL();
+ url[0].Complete = expectedCompleteFTP;
+
+ log.print("parseStrict(" + expectedCompleteFTP + "): ");
+ complete = oObj.parseStrict(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("ftp://")) {
+ log.println("parseStrict works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : ftp://");
+ res = false;
+ }
+
+ if (!url[0].User.equals(user)) {
+ log.println("parseStrict works wrong");
+ log.println("user field : " + url[0].User);
+ log.println("expected : " + user);
+ res = false;
+ }
+
+ if (!url[0].Password.equals(password)) {
+ log.println("parseStrict works wrong");
+ log.println("password field : " + url[0].Password);
+ log.println("expected : " + password);
+ res = false;
+ }
+
+ if (!url[0].Server.equals(server)) {
+ log.println("parseStrict works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != new Integer(port).shortValue()) {
+ log.println("parseStrict works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseStrict works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseStrict works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ URL[] incompleteUrl = new URL[1];
+ incompleteUrl[0] = new URL();
+ incompleteUrl[0].Complete = server;
+
+ log.print("parseStrict(" + server + "): ");
+ complete = oObj.parseStrict(incompleteUrl);
+ log.println(complete);
+ // should be incomplete
+ res &= !complete;
+
+ tRes.tested("parseStrict()", res);
+ }
+
+ /**
+ * Tries to parse WWW server name. <p>
+ * Has <b> OK </b> status if the method return <code>true</code>
+ * value and <code>Protocol, Server, Port</code> URL fields are
+ * set properly.
+ */
+ public void _parseSmart() {
+ URL[] url = new URL[1];
+
+ String httpURL = invalidServerPrefix + server + ":" + port + path + "/" + name + "?" +
+ arguments + "#" + mark;
+
+ url[0] = new URL();
+ url[0].Complete = httpURL;
+
+ boolean res = true;
+ log.print("parseSmart('" + httpURL + "', 'http://'): ");
+ boolean complete = oObj.parseSmart(url, "http://");
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("http://")) {
+ log.println("parseSmart works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : http://");
+ res = false;
+ }
+
+ if (!url[0].Server.equals(invalidServerPrefix+server)) {
+ log.println("parseSmart works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != new Integer(port).shortValue()) {
+ log.println("parseSmart works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseSmart works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseSmart works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ if (!url[0].Arguments.equals(arguments)) {
+ log.println("parseSmart works wrong");
+ log.println("arguments field : " + url[0].Arguments);
+ log.println("expected : " + arguments);
+ res = false;
+ }
+
+ if (!url[0].Mark.equals(mark)) {
+ log.println("parseSmart works wrong");
+ log.println("mark field : " + url[0].Mark);
+ log.println("expected : " + mark);
+ res = false;
+ }
+
+ String ftpURL = invalidUserPrefix +user + ":" + password + "@" + server + ":" +
+ port + path + "/" + name;
+
+ url[0] = new URL();
+ url[0].Complete = ftpURL;
+ log.print("parseSmart('" + ftpURL + "', 'ftp://'): ");
+ complete = oObj.parseSmart(url, "ftp://");
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("ftp://")) {
+ log.println("parseSmart works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : ftp://");
+ res = false;
+ }
+
+ if (!url[0].User.equals(invalidUserPrefix+user)) {
+ log.println("parseSmart works wrong");
+ log.println("user field : " + url[0].User);
+ log.println("expected : " + user);
+ res = false;
+ }
+
+ if (!url[0].Password.equals(password)) {
+ log.println("parseSmart works wrong");
+ log.println("password field : " + url[0].Password);
+ log.println("expected : " + password);
+ res = false;
+ }
+
+ if (!url[0].Server.equals(server)) {
+ log.println("parseSmart works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != new Integer(port).shortValue()) {
+ log.println("parseSmart works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseSmart works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseSmart works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ tRes.tested("parseSmart()", res);
+ }
+
+ /**
+ * Gets the presentation of a URL. <p>
+ * Has <b> OK </b> status if the method returns the same
+ * URL as was passed in parameter.
+ */
+ public void _getPresentation() {
+ URL url = new URL();
+
+ url.Complete = expectedCompleteHTTP;
+
+ log.println("getPresentation('" + expectedCompleteHTTP + "', true): ");
+ String presentation = oObj.getPresentation(url, true);
+ boolean res = presentation.equals(expectedCompleteHTTP);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedCompleteHTTP);
+ log.println("Result: " + res);
+
+ url.Complete = expectedCompleteFTP;
+ log.println("getPresentation('" + expectedCompleteFTP + "', false): ");
+ // the password must be masqurade with <****>
+ String asterix = "";
+ for (int n = 0 ; n < password.length(); n++){
+ asterix += "*";
+ }
+ asterix = "<" + asterix.substring(1,asterix.length());
+ asterix = asterix.substring(0,asterix.length()-1) + ">";
+
+ presentation = oObj.getPresentation(url, false);
+ String expectedPresentation = "ftp://" + user + ":" + asterix + "@" +
+ server + ":" + port + path + "/" + name;
+ res &= presentation.equals(expectedPresentation);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedPresentation);
+ log.println("Result: " + res);
+
+ log.println("getPresentation('" + expectedCompleteFTP + "', true): ");
+ presentation = oObj.getPresentation(url, true);
+ expectedPresentation = "ftp://" + user + ":" + password + "@" +
+ server + ":" + port + path + "/" + name;
+ res &= presentation.equals(expectedPresentation);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedPresentation);
+ log.println("Result: " + res);
+
+ String incorrectURL = "*bla-bla*";
+ url.Complete = incorrectURL;
+ log.println("getPresentation('" + incorrectURL + "', false): ");
+ presentation = oObj.getPresentation(url, false);
+ expectedPresentation = "";
+ res &= presentation.equals(expectedPresentation);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedPresentation);
+ log.println("Result: " + res);
+
+ tRes.tested("getPresentation()", res);
+ }
+
+} // finish class _XURLTransformer
+
diff --git a/qadevOOo/tests/java/ifc/view/_XControlAccess.java b/qadevOOo/tests/java/ifc/view/_XControlAccess.java
new file mode 100644
index 000000000000..2eea43aa726d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XControlAccess.java
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.FormTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.XControlAccess;
+
+/**
+ * Testing <code>com.sun.star.view.XControlAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getControl()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'DOCUMENT'</code> (of type <code>XComponent</code>):
+ * the document, which controller is tested here. Is used
+ * for adding a component (such as CommandButton) and obtaining
+ * its control via tested interface. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.view.XControlAccess
+ */
+public class _XControlAccess extends MultiMethodTest {
+
+ public XControlAccess oObj = null;
+
+ /**
+ * Retrieves a document from relation, then using it adds
+ * a CommandButton to a document and obtains button model.
+ * After that button control is tried to get using the
+ * tested interface. <p>
+ * Has <b> OK </b> status if non <code>null</code> control
+ * is returned. <p>
+ * @throws StatusException If the relation was not found.
+ */
+ public void _getControl(){
+ boolean bResult = true;
+ try {
+ XComponent oDoc = (XComponent)tEnv.getObjRelation("DOCUMENT");
+ if (oDoc == null) {
+ throw new StatusException
+ (Status.failed("NO 'DOCUMENT' ObjRelation!"));
+ }
+ Boolean isSheet = (Boolean) tEnv.getObjRelation("XControlAccess.isSheet");
+ XDrawPage oDP = null;
+ if (isSheet != null) {
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, oDoc);
+ oDP = (XDrawPage) UnoRuntime.queryInterface(XDrawPage.class, oDPS.getDrawPages().getByIndex(0));
+ } else {
+
+
+ XDrawPageSupplier oDPS = (XDrawPageSupplier)
+ UnoRuntime.queryInterface(XDrawPageSupplier.class, oDoc);
+ oDP = oDPS.getDrawPage();
+ }
+ XShapes shapes = (XShapes) UnoRuntime.queryInterface
+ (XShapes.class, oDP);
+ XShape button = FormTools.createControlShape
+ (oDoc, 100, 100, 10000, 50000, "CommandButton");
+ shapes.add(button);
+
+ XControlModel CM = ((XControlShape)button).getControl();
+ log.println("Getting ControlModel "
+ + ((CM == null) ? "FAILED" : "OK"));
+
+ XControl oControl = oObj.getControl(CM);
+ log.println("Getting Control " + ((CM == null) ? "FAILED" : "OK"));
+
+ bResult &= oControl != null;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Exception occured calling the method: " + e);
+ bResult = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured calling the method: " + e);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured calling the method: " + e);
+ bResult = false;
+ }
+ tRes.tested("getControl()", bResult);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java b/qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java
new file mode 100644
index 000000000000..60f284ff2ef2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import com.sun.star.form.XForm;
+import com.sun.star.form.runtime.XFormController;
+import lib.MultiMethodTest;
+
+import com.sun.star.view.XFormLayerAccess;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.view.XFormLayerAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getFromController()</code></li>
+ * <li><code> isFormDesignMode()</code></li>
+ * <li><code> setFormDesignMode()</code></li>
+ * </ul> <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.view.XFormLayerAccess
+ */
+public class _XFormLayerAccess extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+
+ public XFormLayerAccess oObj = null;
+
+ private XForm xForm = null;
+
+ /**
+ * checks if the object relation <CODE>XFormLayerAccess.XForm</CODE>
+ * is available
+ */
+ public void before() {
+ xForm = (XForm) tEnv.getObjRelation("XFormLayerAccess.XForm");
+ if (xForm == null) {
+ throw new StatusException(Status.failed("Object raltion 'XFormLayerAccess.XForm' is null"));
+ }
+ }
+
+ /**
+ * Test disables the FormDesignMode and calls the mthod. <p>
+ * Has <b> OK </b> status if the method returns
+ * a not empty object of kind of com.sun.star.form.XFormController<P>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFormDesignMode() </code></li>
+ * </ul>
+ * @see com.sun.star.view.XFormLayerAccess
+ */
+ public void _getFromController(){
+ requiredMethod("setFormDesignMode()") ;
+
+ log.println("try to get current DesignMode...");
+ boolean currentMode = oObj.isFormDesignMode();
+ log.println("DesignMode is " + currentMode);
+
+ log.println("enable DesignMode");
+ oObj.setFormDesignMode(false);
+
+ log.println("test for getFromController() ");
+ XFormController xFormCont = oObj.getFormController(xForm);
+
+ if (xFormCont == null)
+ log.println("ERROR: Could not get FromContoller");
+
+ log.println("set back DesignMode to previouse state");
+ oObj.setFormDesignMode(currentMode);
+
+ tRes.tested("getFromController()", xFormCont != null );
+ }
+
+ /**
+ * This test calls the test for <code>setFormDesignMode()</CODE>.
+ * Has <b> OK </b> status if the test for setFormDesignMode() returns
+ * <code>true</code> since the tests use <CODE>isFormDesignMode()</CODE><P>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFormDesignMode() </code></li>
+ * </ul>
+ */
+ public void _isFormDesignMode(){
+ requiredMethod("setFormDesignMode()") ;
+
+ log.println("test for isFormDesignMode() is ok since test for 'setFormDesingMode()' use it");
+ tRes.tested("isFormDesignMode()", true);
+ }
+
+ /**
+ * This test gets the current FormDesignMode, change it to the opposite and checks if the expected value of
+ * method isFormDesignmode() was given. Then the FormDesignmode was set back to the original value.<P>
+ * Has <B> OK </B> if expected values are returned.
+ *
+ */
+
+ public void _setFormDesignMode(){
+ log.println("test for setFormDesignMode() and isFormDesignMode() ");
+
+ log.println("try to get current DesignMode...");
+ boolean currentMode = oObj.isFormDesignMode();
+ log.println("DesignMode is " + currentMode);
+
+ log.println("try to change to " + !currentMode + "...");
+ oObj.setFormDesignMode(!currentMode);
+ log.println("try to get new DesignMode...");
+ boolean newMode = oObj.isFormDesignMode();
+ log.println("DesignMode is " + newMode);
+
+ boolean bOK = (newMode != currentMode);
+
+ if ( !bOK)
+ log.println("ERROR: both modes are equal");
+
+ log.println("set back DesignMode to " + currentMode);
+ oObj.setFormDesignMode(currentMode);
+
+ log.println("try to get DesignMode...");
+ boolean oldMode = oObj.isFormDesignMode();
+
+ bOK &= (bOK &(currentMode == oldMode));
+
+ if (currentMode != oldMode)
+ log.println("ERROR: could not change back");
+
+ tRes.tested("setFormDesignMode()", bOK );
+ }
+
+} // finish class _XFormLayerAccess
+
diff --git a/qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java b/qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java
new file mode 100644
index 000000000000..387d293c359a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java
@@ -0,0 +1,427 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.view.XMultiSelectionSupplier;
+import java.util.Comparator;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.view.XSelectionSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addSelection()</code></li>
+ * <li><code> removeSelection()</code></li>
+ * <li><code> clearSelection()</code></li>
+ * <li><code> getSelectionCount()</code></li>
+ * <li><code> createSelectionEnumeration()</code></li>
+ * <li><code> createReverseSelectionEnumeration()</code></li>
+ * </ul>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'Selections'</code> of type <code>Object[]</code> :
+ * the array of the instances which can be selected.</li>
+ * <li> <code>'Comparer'</code> of type <code>Comparator</code> :
+ * the interface for comparing of selected instances</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.view.XSelectionSupplier
+ */
+public class _XMultiSelectionSupplier extends MultiMethodTest {
+
+ public XMultiSelectionSupplier oObj = null;
+ public boolean selectionChanged = false;
+ Object[] selections = null;
+ Comparator ObjCompare = null;
+
+ protected void before() {
+ selections = (Object[])tEnv.getObjRelation("Selections");
+ if (selections == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'Selections'"));
+ }
+
+ ObjCompare = (Comparator)tEnv.getObjRelation("Comparer");
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+
+ /**
+ * Selects an instance from relation 'First'. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addSelection() {
+
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: add a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("try to select object relation 'selections[0]' second time...");
+ try {
+ count = oObj.getSelectionCount();
+ oObj.addSelection(selections[0]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[0] a second time': " + ex.toString());
+ }
+ if (count != oObj.getSelectionCount()){
+ log.println("ERROR: the selected count ("+oObj.getSelectionCount() +") is not that before (" + count + ")");
+ bOK = false;
+ }
+
+ log.println("try to select invalid object...");
+ try {
+
+ oObj.addSelection(oObj);
+
+ log.println("ERORR: expected exception 'com.sun.star.lang.IllegalArgumentException' was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected exception 'com.sun.star.lang.IllegalArgumentException' => OK");
+ }
+
+ tRes.tested("addSelection()", bOK);
+ }
+
+ public void _removeSelection() {
+ requiredMethod("addSelection()");
+
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("try now to remove selections...");
+
+ count = oObj.getSelectionCount();
+ int oldCount = oObj.getSelectionCount();
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("remove selection for object relation 'selections["+i+"]'");
+ oObj.removeSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not remove selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (oldCount - i - 1)){
+ log.println("ERROR: removed a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (oldCount -i -1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("try to remove a removed selection a second time...");
+ count = oObj.getSelectionCount();
+ try {
+ oObj.removeSelection(selections[0]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not remove selection from object relation 'selections[0] a second time': " + ex.toString());
+ }
+ if (count != oObj.getSelectionCount()){
+ log.println("ERROR: the selected count ("+oObj.getSelectionCount() +") is not that before (" + count + ")");
+ bOK = false;
+ }
+
+ log.println("try to remove invalid object...");
+ try {
+
+ oObj.removeSelection(oObj);
+
+ log.println("ERORR: expected exception 'com.sun.star.lang.IllegalArgumentException' was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected exception 'com.sun.star.lang.IllegalArgumentException' => OK");
+ }
+
+ tRes.tested("removeSelection()", bOK);
+ }
+
+
+ /**
+ * First test changes selection of the object : if nothing is
+ * currently selected or first instance ('First' relation) is
+ * selected then selects second instance; if second instance
+ * is currently selected then the first instance is selected. <p>
+ * Then <code>getSelection</code> is called and values set and
+ * get are compared. Comparison has some special cases. For
+ * example if selection is a Cell, then the values contained
+ * in cells are compared. <p>
+ * Has <b>OK</b> status if selection changed properly.
+ */
+ public void _getSelectionCount() {
+ requiredMethod("addSelection()");
+ tRes.tested("getSelectionCount()", true);
+ }
+
+ public void _clearSelection() {
+ requiredMethod("addSelection()");
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ count = oObj.getSelectionCount();
+
+ log.println("clear selections...");
+ oObj.clearSelection();
+
+ count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ tRes.tested("clearSelection()", bOK);
+ }
+
+ public void _createSelectionEnumeration() {
+ requiredMethod("addSelection()");
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("create enumeration...");
+ XEnumeration xEnum = oObj.createSelectionEnumeration();
+
+ boolean compRes = true; //compare result
+ int i = 0;
+
+ while (xEnum.hasMoreElements()){
+ log.println("try to get first element..");
+ Object nextElement = null;
+ try {
+ nextElement = xEnum.nextElement();
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ }
+ Object shouldElement = selections[i];
+ i++;
+
+ if (ObjCompare != null) {
+ ObjCompare.compare(shouldElement, nextElement);
+ } else {
+ compRes = util.ValueComparer.equalValue(shouldElement, nextElement);
+ }
+
+ log.println("nextElement()-object and expected object 'selections["+i+"]' are equal: "+compRes);
+
+ if (!compRes) {
+ if ((selections[i]) instanceof Object[]){
+ if (((Object[])selections[i])[0] instanceof Integer) {
+ log.println("Getting: "+((Integer) ((Object[])shouldElement)[0]).intValue());
+ log.println("Expected: "+((Integer) ((Object[])selections[i])[0]).intValue());
+ }
+ }
+ }
+ bOK &= compRes;
+ }
+
+ tRes.tested("createSelectionEnumeration()", bOK);
+ }
+
+ public void _createReverseSelectionEnumeration() {
+ requiredMethod("addSelection()");
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("create enumeration...");
+ XEnumeration xEnum = oObj.createSelectionEnumeration();
+
+ boolean compRes = true; //compare result
+ int i = selections.length - 1;
+
+ while (xEnum.hasMoreElements()){
+ log.println("try to get first element..");
+ Object nextElement = null;
+ try {
+ nextElement = xEnum.nextElement();
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ }
+ Object shouldElement = selections[i];
+ i--;
+
+ if (ObjCompare != null) {
+ ObjCompare.compare(shouldElement, nextElement);
+ } else {
+ compRes = util.ValueComparer.equalValue(shouldElement, nextElement);
+ }
+
+ log.println("nextElement()-object and expected object 'selections["+i+"]' are equal: "+compRes);
+
+ if (!compRes) {
+ if ((selections[i]) instanceof Object[]){
+ if (((Object[])selections[i])[0] instanceof Integer) {
+ log.println("Getting: "+((Integer) ((Object[])shouldElement)[0]).intValue());
+ log.println("Expected: "+((Integer) ((Object[])selections[i])[0]).intValue());
+ }
+ }
+ }
+ bOK &= compRes;
+ }
+
+ tRes.tested("createReverseSelectionEnumeration()", bOK);
+ }
+
+} // finish class _XMultiSelectionSupplier
+
+
+
diff --git a/qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java b/qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java
new file mode 100644
index 000000000000..acbfe6526b76
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.PrintJobEvent;
+import com.sun.star.view.XPrintJobBroadcaster;
+import com.sun.star.view.XPrintJobListener;
+import com.sun.star.view.XPrintable;
+import java.io.File;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Test the XPrintJobBroadcaster interface
+ */
+public class _XPrintJobBroadcaster extends MultiMethodTest {
+ public XPrintJobBroadcaster oObj = null;
+ MyPrintJobListener listenerImpl = null;
+
+ /**
+ * Get an object implementation of the _XPrintJobListener interface from the
+ * test environment.
+ */
+ public void before() {
+ listenerImpl = (MyPrintJobListener)tEnv.getObjRelation("XPrintJobBroadcaster.XPrintJobListener");
+ if (listenerImpl == null) {
+ throw new StatusException(Status.failed(" No test possible. The XPrintJobListener interface has to be implemented."));
+ }
+ }
+
+ /**
+ * add the listener, see if it's called.
+ */
+ public void _addPrintJobListener() {
+ oObj.addPrintJobListener(listenerImpl);
+ listenerImpl.fireEvent();
+ util.utils.shortWait(1000);
+ tRes.tested("addPrintJobListener()", listenerImpl.actionTriggered());
+ }
+
+ /**
+ * remove the listener, see if it's still caleed.
+ */
+ public void _removePrintJobListener() {
+ requiredMethod("addPrintJobListener");
+ oObj.removePrintJobListener(listenerImpl);
+
+ util.utils.shortWait(5000);
+
+ listenerImpl.reset();
+ listenerImpl.fireEvent();
+ tRes.tested("removePrintJobListener()", !listenerImpl.actionTriggered());
+ }
+
+ /**
+ * Implementation for testing the XPrintJobBroadcaster interface:
+ * a listener to add.
+ */
+ public static class MyPrintJobListener implements XPrintJobListener {
+ boolean eventCalled = false;
+ // object to trigger the event
+ XPrintable xPrintable = null;
+ PropertyValue[]printProps = null;
+ String printFileName = null;
+
+ /**
+ * Constructor
+ * @param An object that can be cast to an XPrintable.
+ */
+ public MyPrintJobListener(Object printable, String printFileName) {
+ this.printFileName = printFileName;
+ xPrintable = (XPrintable)UnoRuntime.queryInterface(XPrintable.class, printable);
+ printProps = new PropertyValue[2];
+ printProps[0] = new PropertyValue();
+ printProps[0].Name = "FileName";
+ printProps[0].Value = printFileName;
+ printProps[0].State = com.sun.star.beans.PropertyState.DEFAULT_VALUE;
+ printProps[1] = new PropertyValue();
+ printProps[1].Name = "Wait";
+ printProps[1].Value = new Boolean(true);
+ }
+
+ /**
+ * Has the action been triggered?
+ * @return True if "printJobEvent" has been called.
+ */
+ public boolean actionTriggered() {
+ return eventCalled;
+ }
+
+ /**
+ * Fire the event that calls the printJobEvent
+ */
+ public void fireEvent() {
+ try {
+ xPrintable.print(printProps);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ }
+ }
+
+ public void reset() {
+ File f = new File(printFileName);
+ if (f.exists())
+ f.delete();
+ eventCalled = false;
+ }
+
+ /**
+ * The print job event: has to be called when the action is triggered.
+ */
+ public void printJobEvent(PrintJobEvent printJobEvent) {
+ eventCalled = true;
+ }
+
+ /**
+ * Disposing event: ignore.
+ */
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java b/qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java
new file mode 100644
index 000000000000..8af56b3e5993
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.view.XPrintSettingsSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.view.XPrintSettingsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPrintSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.view.XPrintSettingsSupplier
+ */
+public class _XPrintSettingsSupplier extends MultiMethodTest {
+
+ public XPrintSettingsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getPrintSettings(){
+
+ XPropertySet oPSS = oObj.getPrintSettings();
+ tRes.tested("getPrintSettings()", oPSS != null);
+
+ } // finish _getPrintSettings
+
+} // finish class _XPrintSettingsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/view/_XPrintable.java b/qadevOOo/tests/java/ifc/view/_XPrintable.java
new file mode 100644
index 000000000000..d82c30012cb6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XPrintable.java
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.PaperOrientation;
+import com.sun.star.view.XPrintable;
+
+/**
+ * Testing <code>com.sun.star.view.XPrintable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPrinter()</code></li>
+ * <li><code> setPrinter()</code></li>
+ * <li><code> print()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.view.XPrintable
+ */
+public class _XPrintable extends MultiMethodTest {
+
+ public XPrintable oObj = null;
+ public PropertyValue[] the_printer = null;
+
+ /**
+ * Test calls the method and stores returned value. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getPrinter(){
+
+ the_printer = oObj.getPrinter();
+ tRes.tested("getPrinter()",the_printer != null);
+ } // finish _getPrinter
+
+ /**
+ * Changes <code>PaperOrientation</code> property in the old
+ * printer configuration and sets changed value as a new printer.<p>
+ *
+ * Has <b> OK </b> status if the <code>getPrinter</code> method
+ * retursn printer with changed property. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPrinter() </code> : to change one property
+ * in existing printer configuration. </li>
+ * </ul>
+ */
+ public void _setPrinter(){
+ requiredMethod("getPrinter()");
+ int propIdx = 0 ;
+ while (!"PaperOrientation".equals(the_printer[propIdx].Name)) {
+ propIdx++ ;
+ }
+ PaperOrientation newVal = null ;
+ if (the_printer[propIdx].Value == PaperOrientation.PORTRAIT)
+ newVal = PaperOrientation.LANDSCAPE ;
+ else
+ newVal = PaperOrientation.PORTRAIT ;
+
+ the_printer[propIdx].Value = newVal ;
+
+ try {
+ oObj.setPrinter(the_printer);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("couldn't set printer");
+ ex.printStackTrace(log);
+ tRes.tested("setPrinter()",false);
+ }
+
+ //oObj.setPrinter(the_printer);
+ the_printer = oObj.getPrinter() ;
+
+ propIdx = 0 ;
+ while (!"PaperOrientation".equals(the_printer[propIdx].Name)) {
+ propIdx++ ;
+ }
+
+ boolean the_same = the_printer[propIdx].Value == newVal;
+ tRes.tested("setPrinter()", the_same);
+
+ } // finish _setPrinter
+
+ /**
+ * Printing performed into file in SOffice temp directory.
+ * First this file is deleted if it already exist (using
+ * <code>com.sun.star.ucb.SimpleFileAccess</code> service.
+ * After that the method with appropriate parameter is
+ * called.<p>
+ *
+ * Has <b> OK </b> status if the file to which printing is made
+ * exists. <p>
+ *
+ * @throws StatusException if service
+ * <code>com.sun.star.ucb.SimpleFileAccess</code> cann't be
+ * created.
+ */
+ public void _print(){
+ boolean result = true ;
+
+ final String file = "XPrintable.prt" ;
+ final String fileName = utils.getOfficeTempDirSys((XMultiServiceFactory)tParam.getMSF())+file ;
+ final String fileURL = utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) + file ;
+
+ XSimpleFileAccess fAcc = null ;
+ try {
+ Object oFAcc =
+ ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.ucb.SimpleFileAccess") ;
+ fAcc = (XSimpleFileAccess) UnoRuntime.queryInterface
+ (XSimpleFileAccess.class, oFAcc) ;
+ if (fAcc == null) throw new StatusException
+ (Status.failed("Can't create SimpleFileAccess service")) ;
+ if (fAcc.exists(fileURL)) {
+ log.println("Old file exists and will be deleted");
+ fAcc.kill(fileURL);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error accessing file '" + fileURL + "'");
+ e.printStackTrace(log);
+ }
+
+ try {
+ PropertyValue[] PrintOptions = new PropertyValue[2];
+ PropertyValue firstProp = new PropertyValue();
+ firstProp.Name = "FileName";
+ log.println("Printing to :"+fileName);
+ firstProp.Value = fileName;
+ firstProp.State = com.sun.star.beans.PropertyState.DEFAULT_VALUE;
+ PrintOptions[0] = firstProp;
+ PrintOptions[1] = new PropertyValue();
+ PrintOptions[1].Name = "Wait";
+ PrintOptions[1].Value = new Boolean(true);
+ oObj.print(PrintOptions);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("couldn't print");
+ ex.printStackTrace(log);
+ result = false ;
+ }
+
+ try {
+ boolean fileExists = fAcc.exists(fileURL);
+
+ log.println("File "+fileName+" exists = "+fileExists);
+
+ if (result) {
+ result &= fileExists ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while while checking file '" +
+ fileURL + "': ");
+ e.printStackTrace(log);
+ result = false ;
+ }
+
+ tRes.tested("print()", result) ;
+
+ } // finish _print
+
+} // finish class _XPrintable
+
+
diff --git a/qadevOOo/tests/java/ifc/view/_XScreenCursor.java b/qadevOOo/tests/java/ifc/view/_XScreenCursor.java
new file mode 100644
index 000000000000..bd9e9e21fc07
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XScreenCursor.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.view.XScreenCursor;
+
+
+/**
+ * Testing <code>com.sun.star.view.XScreenCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> screenDown()</code></li>
+ * <li><code> screenUp()</code></li>
+ * </ul> <p>
+ *
+ * Uses test parameter <b><code>soapi.test.hidewindows</code></b>.
+ * Methods of this interface works with view representation,
+ * thereby their calls have no effect when document is opened
+ * in hidden mode. <p>
+ *
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.view.XScreenCursor
+ */
+public class _XScreenCursor extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+
+ public XScreenCursor oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value or if document is
+ * opened in hidden mode.
+ */
+ public void _screenDown(){
+ log.println("test for screenDown() ");
+ tRes.tested("screenDown()", oObj.screenDown() );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value or if document is
+ * opened in hidden mode.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> screenDown() </code> : by default view is on the
+ * top of pag, thereby it's needed first to moved down. </li>
+ * </ul>
+ */
+ public void _screenUp(){
+ requiredMethod("screenDown()") ;
+
+ log.println("test for screenUp() ");
+ tRes.tested("screenUp()", oObj.screenUp() );
+ }
+
+} // finish class _XScreenCursor
+
diff --git a/qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java b/qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java
new file mode 100644
index 000000000000..e304789f3430
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.view.XSelectionChangeListener;
+import com.sun.star.view.XSelectionSupplier;
+import java.util.Comparator;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.view.XSelectionSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> select()</code></li>
+ * <li><code> getSelection()</code></li>
+ * <li><code> addSelectionChangeListener()</code></li>
+ * <li><code> removeSelectionChangeListener()</code></li>
+ * </ul>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'Selections'</code> of type <code>Object[]</code> :
+ * the array of the instances which can be selected.</li>
+ * <li> <code>'Comparer'</code> of type <code>Comparator</code> :
+ * the interface for comparing of selected instances</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compilant. <p>
+ * @see com.sun.star.view.XSelectionSupplier
+ */
+public class _XSelectionSupplier extends MultiMethodTest {
+
+ public XSelectionSupplier oObj = null;
+ public boolean selectionChanged = false;
+ Object[] selections = null;
+ Comparator ObjCompare = null;
+
+ protected void before() {
+ selections = (Object[])tEnv.getObjRelation("Selections");
+ if (selections == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'Selections'"));
+ }
+
+ ObjCompare = (Comparator)tEnv.getObjRelation("Comparer");
+ }
+
+ protected void after() {
+ disposeEnvironment();
+ }
+
+ /**
+ * Listener implementation which just set flag when listener
+ * method is called.
+ */
+ public class MyChangeListener implements XSelectionChangeListener {
+ public void disposing( EventObject oEvent ) {}
+ public void selectionChanged(EventObject ev) {
+ log.println("listener called");
+ selectionChanged = true;
+ }
+
+ }
+
+ XSelectionChangeListener listener = new MyChangeListener();
+
+ /**
+ * Test adds listener to the object, then selects first and
+ * then second instances to be sure that selection was changed.<p>
+ * Has <b>OK</b> status if selection lisener was called.
+ */
+ public void _addSelectionChangeListener(){
+ boolean res = true;
+ try {
+ selectionChanged = false;
+ oObj.addSelectionChangeListener(listener);
+ oObj.select(selections[0]);
+ oObj.select(selections[1]);
+ res = selectionChanged;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured during addSelectionChangeListener()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("addSelectionChangeListener()", res);
+ }
+
+ /**
+ * Selects an instance from relation 'First'. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _select() {
+ boolean res = true;
+ boolean locRes = true;
+ boolean compRes = true;
+ Object oldSelection = null;
+ try {
+ for(int i = 0; i < selections.length; i++) {
+ oldSelection = oObj.getSelection();
+ locRes = oObj.select(selections[i]);
+ log.println("select #" + i + ": " + locRes);
+ Object curSelection = oObj.getSelection();
+ if (locRes) {
+
+ if (ObjCompare != null) {
+ ObjCompare.compare(selections[i], curSelection);
+ } else {
+ compRes = util.ValueComparer.equalValue(selections[i], curSelection);
+ }
+ log.println("selected object and current selection are equal: "+compRes);
+ if (!compRes) {
+ if ((selections[i]) instanceof Object[]){
+ if (((Object[])selections[i])[0] instanceof Integer) {
+ log.println("Getting: "+((Integer) ((Object[])curSelection)[0]).intValue());
+ log.println("Expected: "+((Integer) ((Object[])selections[i])[0]).intValue());
+ }
+ }
+ }
+ res &= compRes;
+ } else {
+ compRes = util.ValueComparer.equalValue(curSelection, oldSelection);
+ log.println("previous selection and current selection are equal: "+compRes);
+ res &= compRes;
+ }
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured during select()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("select()", res);
+ }
+
+ /**
+ * Test removes listener, then selects first and
+ * then second instances to be sure that selection was changed.<p>
+ * Has <b>OK</b> status if selection lisener was not called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSelectionChangeListener() </code> : to have
+ * the listener added. </li>
+ * </ul>
+ */
+ public void _removeSelectionChangeListener() {
+ boolean res = false;
+ requiredMethod("addSelectionChangeListener()");
+ try {
+ selectionChanged = false;
+ oObj.removeSelectionChangeListener(listener);
+ oObj.select(selections[0]);
+ oObj.select(selections[1]);
+ res = !selectionChanged;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occured during removeSelectionChangeListener()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("removeSelectionChangeListener()", res);
+ }
+
+ /**
+ * First test changes selection of the object : if nothing is
+ * currently selected or first instance ('First' relation) is
+ * selected then selects second instance; if second instance
+ * is currently selected then the first instance is selected. <p>
+ * Then <code>getSelection</code> is called and values set and
+ * get are compared. Comparison has some special cases. For
+ * example if selection is a Cell, then the values contained
+ * in cells are compared. <p>
+ * Has <b>OK</b> status if selection changed properly.
+ */
+ public void _getSelection() {
+ requiredMethod("select()");
+ tRes.tested("getSelection()", true);
+ }
+
+} // finish class _XSelectionSupplier
+
+
+
diff --git a/qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java b/qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java
new file mode 100644
index 000000000000..fa5b96499e5c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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.view;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.view.XViewSettingsSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.view.XViewSettingsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getViewSettings()</code></li>
+ * </ul> <p>
+ * Test is multithread compilant. <p>
+ * @see com.sun.star.view.XViewSettingsSupplier
+ */
+public class _XViewSettingsSupplier extends MultiMethodTest {
+
+ public XViewSettingsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getViewSettings(){
+
+ XPropertySet oTVS = oObj.getViewSettings();
+ tRes.tested("getViewSettings()", oTVS != null);
+ } // finish _getViewSettings
+
+} // finish class _XViewSettingsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/xml/_UserDefinedAttributeSupplier.java b/qadevOOo/tests/java/ifc/xml/_UserDefinedAttributeSupplier.java
new file mode 100644
index 000000000000..9f41da0f4a28
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/xml/_UserDefinedAttributeSupplier.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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.xml;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+public class _UserDefinedAttributeSupplier extends lib.MultiPropertyTest {
+
+ public void _UserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+ try {
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Chartprop";
+ attr.Type="CDATA";
+ attr.Value="true";
+ uda.insertByName("Chartprop:has-first-alien-attribute",attr);
+ String[] els = uda.getElementNames();
+ oObj.setPropertyValue("UserDefinedAttributes",uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ els = uda.getElementNames();
+ Object obj = uda.getByName("Chartprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println("ElementExistException while getting Property 'UserDefinedAttributes'");
+ }
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java b/qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java
new file mode 100644
index 000000000000..66b70aa5e020
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java
@@ -0,0 +1,408 @@
+/*************************************************************************
+ *
+ * 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.xml.sax;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.XMLTools;
+
+import com.sun.star.xml.sax.SAXException;
+import com.sun.star.xml.sax.XDocumentHandler;
+import com.sun.star.xml.sax.XLocator;
+
+/**
+* Testing <code>com.sun.star.xml.sax.XDocumentHandler</code>
+* interface methods :
+* <ul>
+* <li><code> startDocument()</code></li>
+* <li><code> endDocument()</code></li>
+* <li><code> startElement()</code></li>
+* <li><code> endElement()</code></li>
+* <li><code> characters()</code></li>
+* <li><code> ignorableWhitespace()</code></li>
+* <li><code> processingInstruction()</code></li>
+* <li><code> setDocumentLocator()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDocumentHandler.XMLData'</code> (of type <code>String[][]
+* </code>):the XML data which will be passed to the handler. Each
+* array of strings corresponds to some handler event. The fisrt
+* string of event array is the type of the event they can have
+* the following values :
+* <ul>
+* <li>'start' : startElement() event. The string with index 1
+* is the name of element, the next array elements are attributes
+* of XML element in order Name, Type, Value, Name, Type, Value, etc.
+* </li>
+* <li>'end' : endElement() event. The string with index 1
+* is the name of element. </li>
+* <li>'chars' : characters() event. The string with index 1
+* is characters. </li>
+* <li>'spaces' : ignorableWhitespace() event. The string with index 1
+* is spaces. </li>
+* <li>'instruct' : processingInstruction() event. The string with
+* index 1 is the target of instruction. The string with index
+* 2 is the data of instruction. </li>
+* </ul> </li>
+* <li> <code>'XDocumentHandler.ImportChecker'</code>
+* (of type <code>ifc.xml.sax._XDocumentHandler.ImportChecker</code>) :
+* this relation must be implementation of the interface above
+* ant it must check if the XML data was successfully imported to
+* the document. </li>
+* </li>
+* Test is <b> NOT </b> multithread compilant. <p>
+* @see com.sun.star.xml.sax.XDocumentHandler
+*/
+public class _XDocumentHandler extends MultiMethodTest {
+
+ private static class DocumentLocator implements XLocator {
+ public boolean aMethodCalled = false ;
+
+ private PrintWriter log = null ;
+ public DocumentLocator(PrintWriter log) {
+ this.log = log ;
+ }
+ public int getColumnNumber() {
+ log.println("getColumnNumber() method called.") ;
+ aMethodCalled = true ;
+ return 10 ;
+ }
+ public int getLineNumber() {
+ log.println("getLineNumber() method called.") ;
+ aMethodCalled = true ;
+ return 9 ;
+ }
+ public String getPublicId() {
+ log.println("getPublicId() method called.") ;
+ aMethodCalled = true ;
+ return "file://d:/file.txt";
+ }
+ public String getSystemId() {
+ log.println("getSystemId() method called.") ;
+ aMethodCalled = true ;
+ return "system";
+ }
+ }
+
+ /**
+ * This interface implementation must be passed by component test
+ * for checking the whole import process.
+ */
+ public static interface ImportChecker {
+ /**
+ * Returns <code>true</code> if the XML data was successfully
+ * imported, <code>false</code> in other case.
+ */
+ boolean checkImport() ;
+ }
+
+ /**
+ * This interface implementation must be passed by component test
+ * for setting a target document to the import process
+ */
+ public static interface TargetDocumentSetter {
+
+ void setTargetDocument();
+ }
+
+ public XDocumentHandler oObj = null;
+ private String[][] xmlData = null ;
+ private DocumentLocator locator = null ;
+ private ImportChecker checker = null ;
+ private boolean locatorResult = true ;
+ private SAXException locatorException = null ;
+ private boolean ToBeSkipped = false;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ public void before() {
+ locator = new DocumentLocator(log) ;
+ if (tEnv.getTestCase().getObjectName().equals("XMLSettingsImporter")) {
+ log.println("Settings can't be imported in the current Implementation");
+ ToBeSkipped = true;
+ }
+ xmlData = (String[][])tEnv.getObjRelation("XDocumentHandler.XMLData") ;
+ checker = (ImportChecker)
+ tEnv.getObjRelation("XDocumentHandler.ImportChecker") ;
+
+ TargetDocumentSetter targetDocSet = (TargetDocumentSetter)
+ tEnv.getObjRelation("XDocumentHandler.TargetDocumentSetter");
+
+ if (xmlData == null || checker == null) throw new StatusException
+ (Status.failed("Relation wasn't found")) ;
+
+ if (targetDocSet != null){
+
+ }else{
+ log.println("object realtion 'XDocumentHandler.TargetDocumentSetter' not used.");
+ log.println("be shure that the test have a target to write throu");
+ }
+ }
+
+ /**
+ * Sets document locator to dummy locator implementation and
+ * calls the <code>startDocument</code> method. <p>
+ *
+ * Has <b> OK </b> status if no runtime exceptions occured.
+ */
+ public void _startDocument() {
+ if (ToBeSkipped) {
+ tRes.tested("startDocument()", Status.skipped(true));
+ return;
+ }
+
+ try {
+ oObj.setDocumentLocator(locator) ;
+ } catch (SAXException e) {
+ locatorException = e ;
+ locatorResult = false ;
+ }
+
+ boolean result = true ;
+ try {
+ oObj.startDocument() ;
+ } catch (SAXException e) {
+ e.printStackTrace(log) ;
+ log.println("Wrapped exception :" + e.WrappedException) ;
+ result = false ;
+ }
+
+ tRes.tested("startDocument()", result) ;
+ }
+
+ /**
+ * This test is finally executed. It finishes XML data
+ * transfering with <code>endDocument</code> method call. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured during
+ * the whole transfering and if the appropriate changes
+ * occured in the document where XML data was trnsfered to.
+ * This check is performed by checker relation.
+ */
+ public void _endDocument() {
+ if (ToBeSkipped) {
+ tRes.tested("endDocument()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+ executeMethod("endElement()") ;
+ executeMethod("characters()") ;
+ executeMethod("ignorableWhitespace()") ;
+ executeMethod("processingInstruction()") ;
+
+ boolean result = true ;
+ try {
+ oObj.endDocument() ;
+ } catch (SAXException e) {
+ e.printStackTrace(log) ;
+ log.println("Wrapped exception :" + e.WrappedException) ;
+ result = false ;
+ }
+
+ log.println("Check if import was successful ...") ;
+ result &= checker.checkImport() ;
+
+ tRes.tested("endDocument()", result) ;
+ }
+
+ /**
+ * Transfers XML data obtained from relation
+ * <code>'XDocumentHandler.XMLData'</code>. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured during XML data
+ * transfering in <code>startDocument</code> and
+ * <code>startElement</code> method tests. <p>
+ *
+ * Exact checking of XML transfer is made in <code>endDocument</code>
+ */
+ public void _startElement() {
+ if (ToBeSkipped) {
+ tRes.tested("startElement()", Status.skipped(true));
+ return;
+ }
+ boolean result = true ;
+
+ try {
+ log.println("StartElement Processing XML data ...") ;
+ for(int i = 0; i < xmlData.length; i++) {
+ String[] elem = xmlData[i] ;
+ String xmlTag = "" ;
+ if ("start".equals(elem[0])) {
+ xmlTag += "<" ;
+ String tagName = elem[1] ;
+ xmlTag += tagName ;
+ XMLTools.AttributeList attr = new XMLTools.AttributeList() ;
+ for (int j = 2; j < elem.length; j+=3) {
+ attr.add(elem[j], elem[j+1], elem[j+2]);
+ xmlTag += " " + elem[j] + "(" + elem[j+1] +
+ ")=\"" + elem[j+2] + "\"" ;
+ }
+ xmlTag += ">" ;
+
+ log.println(xmlTag) ;
+ oObj.startElement(tagName, attr) ;
+ } else
+ if ("end".equals(elem[0])) {
+ log.println("</" + elem[1] + ">") ;
+ oObj.endElement(elem[1]) ;
+ } else
+ if ("chars".equals(elem[0])) {
+ log.println("'" + elem[1] + "'") ;
+ oObj.characters(elem[1]) ;
+ } else
+ if ("spaces".equals(elem[0])) {
+ log.println("(spaces)'" + elem[1] + "'") ;
+ oObj.ignorableWhitespace(elem[1]) ;
+ } else
+ if ("instruct".equals(elem[0])) {
+ log.println("<?" + elem[1] + " " + elem[2] + "?>") ;
+ oObj.processingInstruction(elem[1], elem[2]) ;
+ } else {
+ log.println("!!! Bad object relation !!!") ;
+ throw new StatusException(Status.failed("Bad relation")) ;
+ }
+ }
+ } catch (SAXException e) {
+ e.printStackTrace(log) ;
+ log.println("Wrapped exception :" + e.WrappedException) ;
+ result = false ;
+ }
+
+ tRes.tested("startElement()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured during XML data
+ * transfering in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _endElement() {
+ if (ToBeSkipped) {
+ tRes.tested("endElement()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("endElement()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured during XML data
+ * transfering in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _characters() {
+ if (ToBeSkipped) {
+ tRes.tested("characters()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("characters()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured during XML data
+ * transfering in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _ignorableWhitespace() {
+ if (ToBeSkipped) {
+ tRes.tested("ignorableWhitespace()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("ignorableWhitespace()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured during XML data
+ * transfering in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _processingInstruction() {
+ if (ToBeSkipped) {
+ tRes.tested("processingInstruction()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("processingInstruction()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occured during XML data
+ * transfering in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _setDocumentLocator() {
+ if (ToBeSkipped) {
+ tRes.tested("setDocumentLocator()", Status.skipped(true));
+ return;
+ }
+ executeMethod("endDocument()") ;
+
+ boolean result = locatorResult ;
+ if (locatorException != null) {
+ log.println("Exception occured during setDocumentLocator() call:") ;
+ locatorException.printStackTrace(log) ;
+ log.println("Wrapped exception :"
+ + locatorException.WrappedException) ;
+ result = false ;
+ }
+
+ tRes.tested("setDocumentLocator()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_acceptor.uno/Acceptor.java b/qadevOOo/tests/java/mod/_acceptor.uno/Acceptor.java
new file mode 100644
index 000000000000..64ce14d88417
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_acceptor.uno/Acceptor.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 mod._acceptor.uno;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XMultiServiceFactory;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Here <code>com.sun.star.connection.Acceptor</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.connection.Acceptor
+* @see com.sun.star.connection.XAcceptor
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XAcceptor
+*/
+public class Acceptor extends TestCase {
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CNCSTR'</code>.
+ */
+ public void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. <p>
+ * Creates <code>Acceptor</code> service and passed as relation
+ * connection string where port for accepting is unique among
+ * different object test threads. <p>
+ * The following object relations are created :
+ * <ul>
+ * <li> <code>'XAcceptor.connectStr'</code> : String variable for
+ * <code>XAcceptor</code> interface test. Has the following format :
+ * <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+ * the host where StarOffice is started. </li>
+ * <li> <code>'Acceptor.Port'</code> : Integer value which specifies
+ * port on which Acceptor must listen, and which is required
+ * when disposing environment, to free this port number. </li>
+ * <ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XInterface acceptor = null;
+
+ try {
+ acceptor = (XInterface)
+ ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.connection.Acceptor");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create object environment", e) ;
+ }
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+ oObj = acceptor;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XAcceptor.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Acceptor.Port", new Integer(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Acceptor.Port")).intValue();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_acceptor/Acceptor.java b/qadevOOo/tests/java/mod/_acceptor/Acceptor.java
new file mode 100644
index 000000000000..af6812b3304a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_acceptor/Acceptor.java
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * 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 mod._acceptor;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.connection.Acceptor</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.connection.Acceptor
+* @see com.sun.star.connection.XAcceptor
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XAcceptor
+*/
+public class Acceptor extends TestCase {
+
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CNCSTR'</code>.
+ */
+ public void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. <p>
+ * Creates <code>Acceptor</code> service and passed as relation
+ * connection string where port for accepting is unique among
+ * different object test threads. <p>
+ * The following object relations are created :
+ * <ul>
+ * <li> <code>'XAcceptor.connectStr'</code> : String variable for
+ * <code>XAcceptor</code> interface test. Has the following format :
+ * <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+ * the host where StarOffice is started. </li>
+ * <li> <code>'Acceptor.Port'</code> : Integer value which specifies
+ * port on which Acceptor must listen, and which is required
+ * when disposing environment, to free this port number. </li>
+ * <ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ XInterface acceptor = null;
+
+ try {
+ acceptor = (XInterface)
+ ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.connection.Acceptor");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create object environment", e) ;
+ }
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+ oObj = acceptor;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XAcceptor.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Acceptor.Port", new Integer(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Acceptor.Port")).intValue();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_acceptor/package.html b/qadevOOo/tests/java/mod/_acceptor/package.html
new file mode 100644
index 000000000000..569314727946
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_acceptor/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'acceptor'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_adabas/ODriver.java b/qadevOOo/tests/java/mod/_adabas/ODriver.java
new file mode 100644
index 000000000000..da34026594e9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_adabas/ODriver.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 mod._adabas;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>adabas.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * The values for list are obtained from the parameter
+ * <code>adabas.user</code> and <code>adabas.password</code>.</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).
+ createInstance("com.sun.star.comp.sdbcx.adabas.ODriver");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String adabasURL = (String) Param.get("adabas.url");
+ if (adabasURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'adabas.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:adabas:" + adabasURL);
+
+
+ String user = (String) Param.get("adabas.user");
+ if (user == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'adabas.user' from ini-file"));
+ }
+ String password = (String) Param.get("adabas.password");
+ if (password == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'adabas.password' from ini-file"));
+ }
+ PropertyValue[] info = new PropertyValue[2];
+ info[0] = new PropertyValue();
+ info[0].Name = "user"; info[0].Value = user;
+ info[1] = new PropertyValue();
+ info[1].Name = "password"; info[1].Value = password;
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_ado/ODriver.java b/qadevOOo/tests/java/mod/_ado/ODriver.java
new file mode 100644
index 000000000000..9d59cf8e6be8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ado/ODriver.java
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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 mod._ado;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>ado.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).
+ createInstance("com.sun.star.comp.sdbc.ado.ODriver");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String adoURL = (String) Param.get("ado.url");
+ if (adoURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'ado.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:ado:" + adoURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_basctl/AccessibleShape.java b/qadevOOo/tests/java/mod/_basctl/AccessibleShape.java
new file mode 100644
index 000000000000..1dd3feb3e4ec
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_basctl/AccessibleShape.java
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * 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 mod._basctl;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatchHelper;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.WriterTools;
+import util.utils;
+
+public class AccessibleShape extends TestCase {
+
+ XTextDocument xTextDoc = null;
+ XInterface oObj = null;
+
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("Cleaning up");
+ DesktopTools.closeDoc(xTextDoc);
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) Param.getMSF();
+ Object o = xMSF.createInstance("com.sun.star.frame.Desktop");
+ XDesktop xDesk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class, o);
+ DesktopTools.closeDoc(xDesk.getCurrentFrame());
+ } catch (Exception e) {
+ log.println("Couldn't close IDE");
+ }
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ log.println( "creating a test environment" );
+ String aURL=utils.getFullTestURL("basDialog.odt");
+ xTextDoc = WriterTools.loadTextDoc(xMSF,aURL);
+ XModel xModel = (XModel) UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XFrame xFrame = xModel.getCurrentController().getFrame();
+ XDispatchProvider xDPP = (XDispatchProvider) UnoRuntime.queryInterface(XDispatchProvider.class, xFrame);
+
+ log.println( "opening the basic dialog editor" );
+ try {
+ Object o = xMSF.createInstance("com.sun.star.frame.DispatchHelper");
+ XDispatchHelper xDPH = (XDispatchHelper) UnoRuntime.queryInterface(XDispatchHelper.class, o);
+ PropertyValue[] aArgs = new PropertyValue[4];
+ aArgs[0] = new PropertyValue();
+ aArgs[0].Name = "Document";
+ aArgs[0].Value = aURL;
+ aArgs[1] = new PropertyValue();
+ aArgs[1].Name = "LibName";
+ aArgs[1].Value = "basctl";
+ aArgs[2] = new PropertyValue();
+ aArgs[2].Name = "Name";
+ aArgs[2].Value = "Dialog1";
+ aArgs[3] = new PropertyValue();
+ aArgs[3].Name = "Type";
+ aArgs[3].Value = "Dialog";
+ xDPH.executeDispatch(xDPP, ".uno:BasicIDEAppear", "", 0, aArgs);
+ } catch (Exception e) {
+ throw new StatusException("Couldn't open Basic Dialog",e);
+ }
+
+ utils.shortWait(3000);
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.awt.Toolkit") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e );
+ }
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ final XWindow basicIDE = xFrame.getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(basicIDE);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE);
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("Destroy", Boolean.TRUE);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle oldPosSize = basicIDE.getPosSize();
+ Rectangle newPosSize = new Rectangle();
+ newPosSize.Width = oldPosSize.Width/2;
+ newPosSize.Height = oldPosSize.Height/2;
+ newPosSize.X = oldPosSize.X + 20;
+ newPosSize.Y = oldPosSize.Y + 20;
+ basicIDE.setPosSize(newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, PosSize.POSSIZE);
+ utils.shortWait(1000);
+ basicIDE.setPosSize(oldPosSize.X, oldPosSize.Y, oldPosSize.Width,
+ oldPosSize.Height, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+
+
+
+}
diff --git a/qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java b/qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java
new file mode 100644
index 000000000000..e1672dcef9d7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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 mod._brdgfctr;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests <code>com.sun.star.bridge.BridgeFactory</code>
+* service. <p>
+* @see com.sun.star.bridge.XBridgeFactory
+* @see com.sun.star.lang.XComponent
+* @see ifc.bridge._XBridgeFactory
+* @see ifc.lang._XComponent
+*/
+public class BridgeFactory extends TestCase {
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CNCSTR'</code>.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ }
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50003 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Just creates <code>com.sun.star.bridge.BridgeFactory</code>
+ * service as object to be tested.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null ;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.bridge.BridgeFactory") ;
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create object environment", e) ;
+ }
+
+ if (oObj == null)
+ throw new StatusException("Can't create service",
+ new NullPointerException());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("CNNCTSTR",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", new Integer(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_brdgfctr/package.html b/qadevOOo/tests/java/mod/_brdgfctr/package.html
new file mode 100644
index 000000000000..d6abad1bb7ea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_brdgfctr/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'brdgfctr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_bridgefac.uno/BridgeFactory.java b/qadevOOo/tests/java/mod/_bridgefac.uno/BridgeFactory.java
new file mode 100644
index 000000000000..ef012eb4543a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_bridgefac.uno/BridgeFactory.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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 mod._bridgefac.uno;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XMultiServiceFactory;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Tests <code>com.sun.star.bridge.BridgeFactory</code>
+* service. <p>
+* @see com.sun.star.bridge.XBridgeFactory
+* @see com.sun.star.lang.XComponent
+* @see ifc.bridge._XBridgeFactory
+* @see ifc.lang._XComponent
+*/
+public class BridgeFactory extends TestCase {
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CNCSTR'</code>.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ }
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50003 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Just creates <code>com.sun.star.bridge.BridgeFactory</code>
+ * service as object to be tested.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null ;
+
+ try {
+ oObj = (XInterface)
+ ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.bridge.BridgeFactory") ;
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create object environment", e) ;
+ }
+
+ if (oObj == null)
+ throw new StatusException("Can't create service",
+ new NullPointerException());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("CNNCTSTR",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", new Integer(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_bridgefac.uno/package.html b/qadevOOo/tests/java/mod/_bridgefac.uno/package.html
new file mode 100644
index 000000000000..d6abad1bb7ea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_bridgefac.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'brdgfctr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java
new file mode 100644
index 000000000000..09623ec23b3b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java
@@ -0,0 +1,186 @@
+/*************************************************************************
+ *
+ * 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 mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCachedContentResultSetStubFactory;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedContentResultSetFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedContentResultSetFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XCachedContentResultSetFactory
+* @see com.sun.star.ucb.CachedContentResultSetFactory
+* @see ifc.ucb._XCachedContentResultSetFactory
+*/
+public class CachedContentResultSetFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedContentResultSetFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CachedContentResultSetStub'</code> for
+ * {@link ifc.XCachedContentResultSetFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>CachedContentResultSetStub</code> service. It is created
+ * using <code>UniversalContentBroker</code> and queriing it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved,
+ * and a static list is created from it. Using
+ * <code>CachedContentResultSetStubFactory</code> service a stub of
+ * Cached result set is created which is relation required.
+ * </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object relationContainer = null ;
+
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedContentResultSetFactory" );
+
+ // adding one child container
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedContentResultSetFactory
+ XResultSet resSetStub = null ;
+ try {
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[] {"Local", "Office"}) ;
+
+ XContentIdentifierFactory ciFac = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ String escUrl = "" ;
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl += url.substring(lastIdx + 1, idx) + "%2F" ;
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl += url.substring(lastIdx + 1) ;
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = (XContentProvider)
+ UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = (XCommandProcessor)
+ UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ XDynamicResultSet dynResSet = null;
+ try {
+ dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("Couldn't convert Any ",iae);
+ }
+
+ XResultSet resSet = dynResSet.getStaticResultSet() ;
+
+ Object oStubFactory = xMSF.createInstance
+ ("com.sun.star.ucb.CachedContentResultSetStubFactory") ;
+
+ XCachedContentResultSetStubFactory xStubFactory =
+ (XCachedContentResultSetStubFactory) UnoRuntime.queryInterface
+ (XCachedContentResultSetStubFactory.class, oStubFactory) ;
+
+ resSetStub = xStubFactory.createCachedContentResultSetStub(resSet) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create relation." );
+ e.printStackTrace(log) ;
+ throw new StatusException( "Can't create relation", e );
+ }
+
+ tEnv.addObjRelation("CachedContentResultSetStub", resSetStub) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java
new file mode 100644
index 000000000000..60da66c6bdde
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * 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 mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedContentResultSetStubFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedContentResultSetStubFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XCachedContentResultSetStubFactory
+* @see com.sun.star.ucb.CachedContentResultSetStubFactory
+* @see ifc.ucb._XCachedContentResultSetStubFactory
+*/
+public class CachedContentResultSetStubFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedContentResultSetStubFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ContentResultSet'</code> for
+ * {@link ifc.XCachedContentResultSetStubFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>ContentResultSet</code> service. It is created
+ * using <code>UniversalContentBroker</code> and queriing it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved,
+ * and a static list is created from it. It represents
+ * <code>ContentResultSet</code> service instance required.
+ * </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object relationContainer = null ;
+
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedContentResultSetStubFactory" );
+
+ // adding one child container
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedContentResultSetStubFactory
+ XResultSet resSet = null ;
+ try {
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[] {"Local", "Office"}) ;
+
+ XContentIdentifierFactory ciFac = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ String escUrl = "" ;
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl += url.substring(lastIdx + 1, idx) + "%2F" ;
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl += url.substring(lastIdx + 1) ;
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl + "/" ;
+ log.println("Getting Content of '" + cntUrl + "'") ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = (XContentProvider)
+ UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = (XCommandProcessor)
+ UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ XDynamicResultSet dynResSet = null;
+ try {
+ dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("Couldn't convert Any ",iae);
+ }
+
+ resSet = dynResSet.getStaticResultSet() ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create relation." );
+ e.printStackTrace(log) ;
+ throw new StatusException( "Can't create relation", e );
+ }
+
+ tEnv.addObjRelation("ContentResultSet", resSet) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java
new file mode 100644
index 000000000000..3bfdaf319523
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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 mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCachedDynamicResultSetStubFactory;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedDynamicResultSetFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedDynamicResultSetFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XCachedDynamicResultSetFactory
+* @see com.sun.star.ucb.CachedDynamicResultSetFactory
+* @see ifc.ucb._XCachedDynamicResultSetFactory
+*/
+public class CachedDynamicResultSetFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedDynamicResultSetFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CachedDynamicResultSetStub'</code> for
+ * {@link ifc.XCachedDynamicResultSetFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>CachedDynamicResultSetStub</code> service. It is created
+ * using <code>UniversalContentBroker</code> and queriing it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved.
+ * Using <code>CachedDynamicResultSetStubFactory</code> service a stub of
+ * Cached result set is created which is relation required.
+ * </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object relationContainer = null ;
+
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedDynamicResultSetFactory" );
+
+ // adding one child container
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedDynamicResultSetFactory
+ XDynamicResultSet resSetStub = null ;
+ try {
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[] {"Local", "Office"}) ;
+
+ XContentIdentifierFactory ciFac = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ String escUrl = "" ;
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl += url.substring(lastIdx + 1, idx) + "%2F" ;
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl += url.substring(lastIdx + 1) ;
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = (XContentProvider)
+ UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = (XCommandProcessor)
+ UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ XDynamicResultSet dynResSet = null;
+ try {
+ dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("Couldn't convert Any ",iae);
+ }
+
+ Object oStubFactory = xMSF.createInstance
+ ("com.sun.star.ucb.CachedDynamicResultSetStubFactory") ;
+
+ XCachedDynamicResultSetStubFactory xStubFactory =
+ (XCachedDynamicResultSetStubFactory) UnoRuntime.queryInterface
+ (XCachedDynamicResultSetStubFactory.class, oStubFactory) ;
+
+ resSetStub =
+ xStubFactory.createCachedDynamicResultSetStub(dynResSet) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create relation." );
+ e.printStackTrace(log) ;
+ throw new StatusException( "Can't create relation", e );
+ }
+
+ tEnv.addObjRelation("CachedDynamicResultSetStub", resSetStub) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java
new file mode 100644
index 000000000000..93b1060d6f3f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedDynamicResultSetStubFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedDynamicResultSetStubFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XCachedDynamicResultSetStubFactory
+* @see com.sun.star.ucb.CachedDynamicResultSetStubFactory
+* @see ifc.ucb._XCachedDynamicResultSetStubFactory
+*/
+public class CachedDynamicResultSetStubFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedDynamicResultSetStubFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DynamicResultSet'</code> for
+ * {@link ifc.XCachedDynamicResultSetStubFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>DynamicResultSet</code> service. It is created
+ * using <code>UniversalContentBroker</code> and queriing it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved.
+ * </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object relationContainer = null ;
+
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedDynamicResultSetStubFactory" );
+
+ // adding one child container
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedDynamicResultSetStubFactory
+ XDynamicResultSet dynResSet = null ;
+ try {
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[] {"Local", "Office"}) ;
+
+ XContentIdentifierFactory ciFac = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ String escUrl = "" ;
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl += url.substring(lastIdx + 1, idx) + "%2F" ;
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl += url.substring(lastIdx + 1) ;
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = (XContentProvider)
+ UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = (XCommandProcessor)
+ UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ dynResSet = null;
+ try {
+ dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("Couldn't convert Any ",iae);
+ }
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create relation." );
+ e.printStackTrace(log) ;
+ throw new StatusException( "Can't create relation", e );
+ }
+
+ tEnv.addObjRelation("DynamicResultSet", dynResSet) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java b/qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java
new file mode 100644
index 000000000000..061cd8b02a48
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 mod._cmdmail;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class SimpleCommandMail extends TestCase {
+
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.system.SimpleCommandMail" );
+
+ if (oInterface == null) log.println("!!! NULL !!!") ;
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java b/qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java
new file mode 100644
index 000000000000..6908f752d591
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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 mod._cnt;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.cnt.ChaosContentProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XContentProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XContentProvider
+* @see com.sun.star.ucb.ChaosContentProvider
+* @see ifc.ucb._XContentProvider
+*/
+public class ChaosContentProvider extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.cnt.ChaosContentProvider</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FACTORY'</code> for
+ * {@link ifc.ucb._XContentProvider} factory for
+ * content identifiers. Here it is
+ * <code>UniversalContentBroker</code> service.</li>
+ * <li> <code>'CONTENT1'</code> for
+ * {@link ifc.ucb._XContentProvider}: suitable
+ * content URL for this provider </li>
+ * <li> <code>'CONTENT2'</code> for
+ * {@link ifc.ucb._XContentProvider}: another suitable
+ * content URL for this provider </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object cntFactory = null ;
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.ChaosContentProvider" );
+ cntFactory = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XContentProvider
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, cntFactory);
+
+ tEnv.addObjRelation("FACTORY", CIF) ;
+ tEnv.addObjRelation("CONTENT1", "ftp://localhost") ;
+ tEnv.addObjRelation("CONTENT2", "ftp://sva.dorms.spbu.ru") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java b/qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java
new file mode 100644
index 000000000000..431102a3348f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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 mod._cnt;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.cnt.CntUnoDataContainer</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::ucb::XDataContainer</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XActiveDataSink
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.ucb.XDataContainer
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexReplace
+* @see ifc.io._XActiveDataSink
+* @see ifc.container._XIndexContainer
+* @see ifc.ucb._XDataContainer
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexReplace
+*/
+public class CntUnoDataContainer extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.cnt.CntUnoDataContainer</code> and adds
+ * to it one <code>CntUnoDataContainer</code> instance. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1'</code> for
+ * {@link ifc.container._XIndexContainer},
+ * {@link ifc.container._XIndexReplace} : for this object
+ * elements contained in it are <code>CntUnoDataContainer</code>
+ * instances. (only one relation for one interface thread is now
+ * passed).</li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink} : a stream to set and get.
+ * </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object relationContainer = null ;
+ Object xIn = null;
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.DataContainer" );
+
+ // adding one child container
+ XIndexContainer xIC = (XIndexContainer) UnoRuntime.queryInterface
+ (XIndexContainer.class, oInterface) ;
+
+ Object child = xMSF.createInstance
+ ( "com.sun.star.ucb.DataContainer" );
+ xIC.insertByIndex(0, child) ;
+
+ relationContainer = xMSF.createInstance
+ ( "com.sun.star.ucb.DataContainer" );
+
+ xIn = xMSF.createInstance
+ ( "com.sun.star.io.DataInputStream" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", relationContainer) ;
+ tEnv.addObjRelation("InputStream", xIn) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class BreakIterator
+
diff --git a/qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java b/qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java
new file mode 100644
index 000000000000..a64fd1446fe6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 mod._cnt;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.cnt.CntUnoDataContainer</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XPropertyMatcherFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XPropertyMatcherFactory
+* @see com.sun.star.ucb.PropertyMatcherFactory
+* @see ifc.ucb._XPropertyMatcherFactory
+*/
+public class PropertyMatcherFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.cnt.PropertyMatcherFactory</code>. <p>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.PropertyMatcherFactory" );
+
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java b/qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java
new file mode 100644
index 000000000000..6626ceaa3a9b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java
@@ -0,0 +1,57 @@
+/*************************************************************************
+*
+* 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 mod._configmgr;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.uno.XComponentContext;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import java.io.PrintWriter;
+
+public final class ConfigurationProvider extends TestCase {
+ public ConfigurationProvider() {}
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log)
+ {
+ // Create a non-default ConfigurationProvider instance, so that testing
+ // its XComponent.dispose does not accidentally dispose the
+ // DefaultProvider:
+ XComponentContext ctxt = tParam.getComponentContext();
+ try {
+ return ProviderTestEnvironment.create(
+ ctxt.getServiceManager().createInstanceWithArgumentsAndContext(
+ "com.sun.star.configuration.ConfigurationProvider",
+ new Object[] { new NamedValue("Locale", "*") },
+ ctxt));
+ } catch (com.sun.star.uno.Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java b/qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java
new file mode 100644
index 000000000000..f8a023ea2f12
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java
@@ -0,0 +1,54 @@
+/*************************************************************************
+*
+* 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 mod._configmgr;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.XInterface;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import java.io.PrintWriter;
+
+public final class DefaultProvider extends TestCase {
+ public DefaultProvider() {}
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log)
+ {
+ try {
+ return ProviderTestEnvironment.create(
+ AnyConverter.toObject(
+ XInterface.class,
+ tParam.getComponentContext().getValueByName(
+ "/singletons/" +
+ "com.sun.star.configuration.theDefaultProvider")));
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java b/qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java
new file mode 100644
index 000000000000..ebd487305f3b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java
@@ -0,0 +1,51 @@
+/*************************************************************************
+*
+* 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 mod._configmgr;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.uno.XInterface;
+import lib.TestEnvironment;
+
+final class ProviderTestEnvironment {
+ private ProviderTestEnvironment() {}
+
+ public static TestEnvironment create(Object provider) {
+ TestEnvironment env = new TestEnvironment((XInterface) provider);
+ env.addObjRelation(
+ "XMSF.serviceNamesWithArgs",
+ new String[] {
+ "com.sun.star.configuration.ConfigurationAccess",
+ "com.sun.star.configuration.ConfigurationUpdateAccess" });
+ Object[] args = new Object[] {
+ new NamedValue("nodepath", "/org.openoffice.Setup") };
+ env.addObjRelation("XMSF.Args", new Object[][] { args, args });
+ env.addObjRelation(
+ "needArgs", "com.sun.star.configuration.ConfigurationProvider");
+ return env;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_connector.uno/Connector.java b/qadevOOo/tests/java/mod/_connector.uno/Connector.java
new file mode 100644
index 000000000000..19436e0cdc68
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connector.uno/Connector.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 mod._connector.uno;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XMultiServiceFactory;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.connection.Connector</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::connection::XConnector</code></li>
+* </ul>
+* Can be run in several threads.
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XConnector
+*/
+public class Connector extends TestCase {
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CNCSTR'</code>.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Does nothing.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Just creates service <code>com.sun.star.connection.Connector</code>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null ;
+
+ try {
+ XInterface connector = (XInterface)
+ ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.connection.Connector") ;
+
+ oObj = connector ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create object environment", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XConnector.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", new Integer(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_connector.uno/package.html b/qadevOOo/tests/java/mod/_connector.uno/package.html
new file mode 100644
index 000000000000..9f100d8e3924
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connector.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'connectr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_connectr/Connector.java b/qadevOOo/tests/java/mod/_connectr/Connector.java
new file mode 100644
index 000000000000..5bbaae1d200b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connectr/Connector.java
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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 mod._connectr;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.connection.Connector</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::connection::XConnector</code></li>
+* </ul>
+* Can be run in several threads.
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XConnector
+*/
+public class Connector extends TestCase {
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CNCSTR'</code>.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Does nothing.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Just creates service <code>com.sun.star.connection.Connector</code>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null ;
+
+ try {
+ XInterface connector = (XInterface)
+ ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.connection.Connector") ;
+
+ oObj = connector ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create object environment", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XConnector.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", new Integer(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_connectr/package.html b/qadevOOo/tests/java/mod/_connectr/package.html
new file mode 100644
index 000000000000..9f100d8e3924
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connectr/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'connectr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_corefl/CoreReflection.java b/qadevOOo/tests/java/mod/_corefl/CoreReflection.java
new file mode 100644
index 000000000000..e33462780f0c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corefl/CoreReflection.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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 mod._corefl;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.CoreReflection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XIdlReflection</code></li>
+* </ul>
+* @see com.sun.star.reflection.XIdlReflection
+* @see ifc.reflection._XIdlReflection
+*/
+public class CoreReflection extends TestCase {
+
+ /**
+ * Does nothing.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.reflection.CoreReflection</code> service.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.reflection.CoreReflection");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ log.println("CoreReflection Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CoreReflection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class CoreReflection
+
diff --git a/qadevOOo/tests/java/mod/_corefl/package.html b/qadevOOo/tests/java/mod/_corefl/package.html
new file mode 100644
index 000000000000..c485660c40f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corefl/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'corefl'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_corereflection.uno/CoreReflection.java b/qadevOOo/tests/java/mod/_corereflection.uno/CoreReflection.java
new file mode 100644
index 000000000000..250ddfc1cf71
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corereflection.uno/CoreReflection.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 mod._corereflection.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.CoreReflection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XIdlReflection</code></li>
+* </ul>
+* @see com.sun.star.reflection.XIdlReflection
+* @see ifc.reflection._XIdlReflection
+*/
+public class CoreReflection extends TestCase {
+
+ /**
+ * Does nothing.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.reflection.CoreReflection</code> service.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.reflection.CoreReflection");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ log.println("CoreReflection Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CoreReflection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class CoreReflection
+
diff --git a/qadevOOo/tests/java/mod/_corereflection.uno/package.html b/qadevOOo/tests/java/mod/_corereflection.uno/package.html
new file mode 100644
index 000000000000..c485660c40f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corereflection.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'corefl'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java b/qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java
new file mode 100644
index 000000000000..ee30bdc2c67a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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 mod._cpld;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.DLLComponentLoader</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>XImpReg.dll</code> : DLL which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compilant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class DLLComponentLoader extends TestCase {
+
+ /**
+ * Does nothing.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.DLLComponentLoader</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading DLL implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : DLL file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.DLLComponentLoader" );
+ }
+ catch( Exception e ) {
+ log.println("DLLComponentLoader Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for DLLComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.SharedLibrary") ;
+ String os = (String) Param.get("OS");
+ if (os == null || os == "")
+ throw new StatusException(
+ "Couldn't determine operating system for naming convention.",
+ new NullPointerException());
+ String name = "javaloader";
+ if (!os.equals("wntmsci"))
+ name = "lib" + name + ".so";
+ else
+ name += ".dll";
+ String implURL = utils.getFullTestURL(os + "/" + name);
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.comp.stoc.JavaComponentLoader") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class DLLComponentLoader
+
diff --git a/qadevOOo/tests/java/mod/_cpld/package.html b/qadevOOo/tests/java/mod/_cpld/package.html
new file mode 100644
index 000000000000..55c1c1ffd2c3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cpld/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'cpld'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java b/qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java
new file mode 100644
index 000000000000..c515ffaf8c01
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java
@@ -0,0 +1,421 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.sdbc.XStatement;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import util.DesktopTools;
+import util.utils;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessible</code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul><p>
+ * @see com.sun.star.accessibility.XAccessible
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessible
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ */
+public class ConnectionLineAccessibility extends TestCase
+{
+ XWindow xWindow = null;
+ Object oDBSource = null;
+ String aFile = "";
+ XConnection connection = null;
+ XIsolatedConnection isolConnection = null;
+ XComponent QueryComponent = null;
+ String user = "";
+ String password="";
+
+ /**
+ * Creates a new DataSource and stores it.
+ * Creates a connection and using it
+ * creates two tables in database.
+ * Creates a new query and adds it to DefinitionContainer.
+ * Opens the QueryComponent.with loadComponentFromURL
+ * and gets the object with the role UNKNOWN and the Impplementation
+ * name that contains ConnectionLine
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ * @return
+ * @throws StatusException
+ * @see TestEnvironment
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ {
+ XInterface oObj = null;
+
+ Object oDBContext = null;
+ Object oDBSource = null;
+ Object newQuery = null;
+ Object toolkit = null;
+ XStorable store = null;
+
+ try
+ {
+ oDBContext = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.sdb.DatabaseContext");
+ oDBSource = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.sdb.DataSource");
+ newQuery = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.sdb.QueryDefinition");
+ toolkit = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.awt.Toolkit");
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create instance"));
+ }
+
+ String mysqlURL = (String) Param.get("mysql.url");
+
+ if (mysqlURL == null)
+ {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'mysql.url' from ini-file"));
+ }
+
+ user = (String) Param.get("jdbc.user");
+ password = (String) Param.get("jdbc.password");
+
+ if ((user == null) || (password == null))
+ {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+
+ PropertyValue[] info = new PropertyValue[2];
+ info[0] = new PropertyValue();
+ info[0].Name = "user";
+ info[0].Value = user;
+ info[1] = new PropertyValue();
+ info[1].Name = "password";
+ info[1].Value = password;
+
+ XPropertySet propSetDBSource = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oDBSource);
+
+ try
+ {
+ propSetDBSource.setPropertyValue("URL", mysqlURL);
+ propSetDBSource.setPropertyValue("Info", info);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+
+ try
+ {
+ log.println("writing database file ...");
+ XDocumentDataSource xDDS = (XDocumentDataSource)
+ UnoRuntime.queryInterface(XDocumentDataSource.class, oDBSource);
+ store = (XStorable) UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+
+ aFile = utils.getOfficeTemp((XMultiServiceFactory) Param.getMSF())+"ConnectionLine.odb";
+ log.println("... filename will be "+aFile);
+ store.storeAsURL(aFile,new PropertyValue[]
+ {});
+ log.println("... done");
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't register object"));
+ }
+
+ isolConnection = (XIsolatedConnection) UnoRuntime.queryInterface(
+ XIsolatedConnection.class,
+ oDBSource);
+
+ XConnection connection = null;
+ XStatement statement = null;
+
+ final String tbl_name1 = "tst_table1";
+ final String tbl_name2 = "tst_table2";
+ final String col_name1 = "id1";
+ final String col_name2 = "id2";
+
+ try
+ {
+ connection = isolConnection.getIsolatedConnection(user, password);
+ statement = connection.createStatement();
+ statement.executeUpdate("drop table if exists " + tbl_name1);
+ statement.executeUpdate("drop table if exists " + tbl_name2);
+ statement.executeUpdate("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ try
+ {
+ shortWait();
+ connection = isolConnection.getIsolatedConnection(user,
+ password);
+ statement = connection.createStatement();
+ statement.executeUpdate("drop table if exists " + tbl_name1);
+ statement.executeUpdate("drop table if exists " + tbl_name2);
+ statement.executeUpdate("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+ }
+ catch (com.sun.star.sdbc.SQLException e2)
+ {
+ e2.printStackTrace(log);
+ throw new StatusException(Status.failed("SQLException"));
+ }
+ }
+
+ XQueryDefinitionsSupplier querySuppl = (XQueryDefinitionsSupplier) UnoRuntime.queryInterface(
+ XQueryDefinitionsSupplier.class,
+ oDBSource);
+
+ XNameAccess defContainer = querySuppl.getQueryDefinitions();
+
+ XPropertySet queryProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, newQuery);
+
+ try
+ {
+ final String query = "select * from " + tbl_name1 + ", " +
+ tbl_name2 + " where " + tbl_name1 + "." +
+ col_name1 + "=" + tbl_name2 + "." +
+ col_name2;
+ queryProp.setPropertyValue("Command", query);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+
+ XNameContainer queryContainer = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class,
+ defContainer);
+
+ try
+ {
+ queryContainer.insertByName("Query1", newQuery);
+ store.store();
+ connection.close();
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ }
+ catch (com.sun.star.container.ElementExistException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ }
+ catch (com.sun.star.io.IOException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ }
+
+ PropertyValue[] loadProps = new PropertyValue[3];
+ loadProps[0] = new PropertyValue();
+ loadProps[0].Name = "QueryDesignView";
+ loadProps[0].Value = Boolean.TRUE;
+
+ loadProps[1] = new PropertyValue();
+ loadProps[1].Name = "CurrentQuery";
+ loadProps[1].Value = "Query1";
+
+ loadProps[2] = new PropertyValue();
+ loadProps[2].Name = "DataSource";
+ loadProps[2].Value = oDBSource;
+
+ QueryComponent = DesktopTools.loadDoc((XMultiServiceFactory) Param.getMSF(),".component:DB/QueryDesign",loadProps);
+
+ util.utils.shortWait(1000);
+
+ xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree (log,xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRoleIgnoreShowing(xRoot, AccessibleRole.UNKNOWN, "", "ConnectionLine");
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+
+ log.println("creating TestEnvironment");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ shortWait();
+
+ final XWindow queryWin = xWindow;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer()
+ {
+ public void fireEvent()
+ {
+ Rectangle rect = queryWin.getPosSize();
+ queryWin.setPosSize(rect.X, rect.Y, rect.Height-5, rect.Width-5, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes the DatasourceAdministration dialog and Query Dialog.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log)
+ {
+ try
+ {
+
+ log.println("closing QueryComponent ...");
+ DesktopTools.closeDoc(QueryComponent);
+ log.println("... done");
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object sfa = xMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xSFA = (XSimpleFileAccess) UnoRuntime.queryInterface(XSimpleFileAccess.class, sfa);
+ log.println("deleting database file");
+ xSFA.kill(aFile);
+ log.println("Could delete file "+aFile+": "+!xSFA.exists(aFile));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Sleeps for 1.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait()
+ {
+ try
+ {
+ Thread.sleep(1500);
+ }
+ catch (InterruptedException e)
+ {
+ log.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java b/qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java
new file mode 100644
index 000000000000..85ba95cc5ef2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.ContentLoader</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::frame::FrameLoader</code></li>
+* <li> <code>com::sun::star::frame::XFrameLoader</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.frame.FrameLoader
+* @see com.sun.star.frame.XSynchronousFrameLoader
+* @see com.sun.star.lang.XInitialization
+* @see ifc.beans._XPropertySet
+* @see ifc.frame._FrameLoader
+* @see ifc.frame._XSynchronousFrameLoader
+* @see ifc.lang._XInitialization
+*/
+public class DBContentLoader extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.ContentLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.sdb.ContentLoader") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get GridControl", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XFrameLoader
+ tEnv.addObjRelation("FrameLoader.URL",
+ ".component:DB/DataSourceBrowser") ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java b/qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java
new file mode 100644
index 000000000000..8ec0c0db1bfa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java
@@ -0,0 +1,392 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.sdbc.XStatement;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import util.DesktopTools;
+import util.utils;
+
+
+/**
+* Object implements the following interfaces :
+* <ul>
+* <li><code>::com::sun::star::accessibility::XAccessible</code></li>
+* <li><code>::com::sun::star::accessibility::XAccessibleContext
+* </code></li>
+* <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+* </code></li>
+* </ul><p>
+* @see com.sun.star.accessibility.XAccessible
+* @see com.sun.star.accessibility.XAccessibleContext
+* @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+* @see ifc.accessibility._XAccessible
+* @see ifc.accessibility._XAccessibleContext
+* @see ifc.accessibility._XAccessibleEventBroadcaster
+*/
+public class JoinViewAccessibility extends TestCase {
+ XWindow xWindow = null;
+ Object oDBSource = null;
+ String aFile = "";
+ XConnection connection = null;
+ XIsolatedConnection isolConnection = null;
+ XComponent QueryComponent = null;
+ String user = "";
+ String password="";
+
+ /**
+ * Creates a new DataSource and stores it.
+ * Creates a connection and using it
+ * creates two tables in database.
+ * Creates a new query and adds it to DefinitionContainer.
+ * Opens the QueryComponent.with loadComponentFromURL
+ * and gets the object with the role UNKNOWN and the Impplementation
+ * name that contains ConnectionLine
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ * @return
+ * @throws StatusException
+ * @see TestEnvironment
+ */
+ protected TestEnvironment createTestEnvironment (TestParameters Param,
+ PrintWriter log)
+ {
+ XInterface oObj = null;
+
+ Object oDBContext = null;
+ Object oDBSource = null;
+ Object newQuery = null;
+ Object toolkit = null;
+ XStorable store = null;
+
+ try
+ {
+ oDBContext = ((XMultiServiceFactory) Param.getMSF ())
+ .createInstance ("com.sun.star.sdb.DatabaseContext");
+ oDBSource = ((XMultiServiceFactory) Param.getMSF ())
+ .createInstance ("com.sun.star.sdb.DataSource");
+ newQuery = ((XMultiServiceFactory) Param.getMSF ())
+ .createInstance ("com.sun.star.sdb.QueryDefinition");
+ toolkit = ((XMultiServiceFactory) Param.getMSF ())
+ .createInstance ("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed ("Couldn't create instance"));
+ }
+
+ String mysqlURL = (String) Param.get ("mysql.url");
+
+ if (mysqlURL == null)
+ {
+ throw new StatusException (Status.failed (
+ "Couldn't get 'mysql.url' from ini-file"));
+ }
+
+ user = (String) Param.get ("jdbc.user");
+ password = (String) Param.get ("jdbc.password");
+
+ if ((user == null) || (password == null))
+ {
+ throw new StatusException (Status.failed (
+ "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+
+ PropertyValue[] info = new PropertyValue[2];
+ info[0] = new PropertyValue ();
+ info[0].Name = "user";
+ info[0].Value = user;
+ info[1] = new PropertyValue ();
+ info[1].Name = "password";
+ info[1].Value = password;
+
+ XPropertySet propSetDBSource = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDBSource);
+
+ try
+ {
+ propSetDBSource.setPropertyValue ("URL", mysqlURL);
+ propSetDBSource.setPropertyValue ("Info", info);
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ } catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ }
+
+ try
+ {
+ log.println ("writing database file ...");
+ XDocumentDataSource xDDS = (XDocumentDataSource)
+ UnoRuntime.queryInterface(XDocumentDataSource.class, oDBSource);
+ store = (XStorable) UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+ aFile = utils.getOfficeTemp ((XMultiServiceFactory) Param.getMSF ())+"JoinView.odb";
+ log.println ("... filename will be "+aFile);
+ store.storeAsURL (aFile,new PropertyValue[]
+ {});
+ log.println ("... done");
+ } catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed ("Couldn't register object"));
+ }
+
+ isolConnection = (XIsolatedConnection) UnoRuntime.queryInterface (
+ XIsolatedConnection.class,
+ oDBSource);
+
+ XConnection connection = null;
+ XStatement statement = null;
+
+ final String tbl_name1 = "tst_table1";
+ final String tbl_name2 = "tst_table2";
+ final String col_name1 = "id1";
+ final String col_name2 = "id2";
+
+ try
+ {
+ connection = isolConnection.getIsolatedConnection (user, password);
+ statement = connection.createStatement ();
+ statement.executeUpdate ("drop table if exists " + tbl_name1);
+ statement.executeUpdate ("drop table if exists " + tbl_name2);
+ statement.executeUpdate ("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate ("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+ } catch (com.sun.star.sdbc.SQLException e)
+ {
+ try
+ {
+ shortWait ();
+ connection = isolConnection.getIsolatedConnection (user,
+ password);
+ statement = connection.createStatement ();
+ statement.executeUpdate ("drop table if exists " + tbl_name1);
+ statement.executeUpdate ("drop table if exists " + tbl_name2);
+ statement.executeUpdate ("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate ("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+ } catch (com.sun.star.sdbc.SQLException e2)
+ {
+ e2.printStackTrace (log);
+ throw new StatusException (Status.failed ("SQLException"));
+ }
+ }
+
+ XQueryDefinitionsSupplier querySuppl = (XQueryDefinitionsSupplier) UnoRuntime.queryInterface (
+ XQueryDefinitionsSupplier.class,
+ oDBSource);
+
+ XNameAccess defContainer = querySuppl.getQueryDefinitions ();
+
+ XPropertySet queryProp = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, newQuery);
+
+ try
+ {
+ final String query = "select * from " + tbl_name1 + ", " +
+ tbl_name2 + " where " + tbl_name1 + "." +
+ col_name1 + "=" + tbl_name2 + "." +
+ col_name2;
+ queryProp.setPropertyValue ("Command", query);
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ } catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed (
+ "Couldn't set property value"));
+ }
+
+ XNameContainer queryContainer = (XNameContainer) UnoRuntime.queryInterface (
+ XNameContainer.class,
+ defContainer);
+
+ try
+ {
+ queryContainer.insertByName ("Query1", newQuery);
+ store.store ();
+ connection.close ();
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed ("Couldn't insert query"));
+ } catch (com.sun.star.container.ElementExistException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed ("Couldn't insert query"));
+ } catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed ("Couldn't insert query"));
+ } catch (com.sun.star.io.IOException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed ("Couldn't insert query"));
+ } catch (com.sun.star.sdbc.SQLException e)
+ {
+ e.printStackTrace (log);
+ throw new StatusException (Status.failed ("Couldn't insert query"));
+ }
+
+ PropertyValue[] loadProps = new PropertyValue[3];
+ loadProps[0] = new PropertyValue ();
+ loadProps[0].Name = "QueryDesignView";
+ loadProps[0].Value = Boolean.TRUE;
+
+ loadProps[1] = new PropertyValue ();
+ loadProps[1].Name = "CurrentQuery";
+ loadProps[1].Value = "Query1";
+
+ loadProps[2] = new PropertyValue ();
+ loadProps[2].Name = "DataSource";
+ loadProps[2].Value = oDBSource;
+
+ QueryComponent = DesktopTools.loadDoc ((XMultiServiceFactory) Param.getMSF (),".component:DB/QueryDesign",loadProps);
+
+ xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject (xWindow);
+
+ AccessibilityTools.printAccessibleTree (log,xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.VIEW_PORT);
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+
+ log.println("creating TestEnvironment");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ shortWait();
+
+ final XWindow queryWin = xWindow;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rect = queryWin.getPosSize();
+ queryWin.setPosSize(rect.X, rect.Y, rect.Height-5, rect.Width-5, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes the DatasourceAdministration dialog and Query Dialog.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try
+ {
+
+ log.println ("closing QueryComponent ...");
+ DesktopTools.closeDoc (QueryComponent);
+ log.println ("... done");
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF ();
+ Object sfa = xMSF.createInstance ("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xSFA = (XSimpleFileAccess) UnoRuntime.queryInterface (XSimpleFileAccess.class, sfa);
+ log.println ("deleting database file");
+ xSFA.kill (aFile);
+ log.println ("Could delete file "+aFile+": "+!xSFA.exists (aFile));
+ } catch (Exception e)
+ {
+ e.printStackTrace ();
+ }
+ }
+
+ /**
+ * Sleeps for 1.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java b/qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java
new file mode 100644
index 000000000000..0d06f813396d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.QueryDefinition</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sdb::QueryDefinition</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* This object test <b> can </b> be run in several
+* threads concurently.
+* @see com.sun.star.sdb.QueryDefinition
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sdb._QueryDefinition
+* @see ifc.beans._XPropertySet
+*/
+public class OCommandDefinition extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.sdb.QueryDefinition</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null ;
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.sdb.QueryDefinition" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ throw new StatusException("Service not available", e) ;
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java
new file mode 100644
index 000000000000..0cec0c8b1b28
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XNamingService;
+import com.sun.star.frame.XStorable;
+import com.sun.star.sdb.XDocumentDataSource;
+import util.utils;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.DatabaseContext</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::uno::XNamingService</code></li>
+* </ul>
+*
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.uno.XNamingService
+* @see com.sun.star.sdb.DatabaseContext
+* @see ifc.container.XNameAccess
+* @see ifc.container.XEnumerationAccess
+* @see ifc.container.XElementAccess
+* @see ifc.uno.XNamingService
+*/
+public class ODatabaseContext extends TestCase {
+
+ /**
+ * Does nothing.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.sdb.DatabaseContext</code>.
+ * Needed object relations :
+ * <ul>
+ * <li> <code>'XNamingService.RegisterObject'</code> for
+ * {@link ifc.namingservice.XNamingService} as an
+ * instance of <code>com.sun.star.sdb.DataSource</code>
+ * service. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null ;
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ throw new StatusException("Service not available", e) ;
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding obj relation for XNamingService
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.sdb.DataSource" );
+
+ XPropertySet xDSProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oInterface) ;
+
+ xDSProps.setPropertyValue("URL", "sdbc:dbase:file:///.") ;
+
+ XDocumentDataSource xDDS = (XDocumentDataSource)
+ UnoRuntime.queryInterface(XDocumentDataSource.class, oInterface);
+ XStorable store = (XStorable) UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument ());
+ String aFile = utils.getOfficeTemp ((XMultiServiceFactory) Param.getMSF ())+"DatabaseContext.odb";
+ log.println("store to '" + aFile + "'");
+ store.storeAsURL(aFile,new PropertyValue[]{});
+
+ tEnv.addObjRelation("XNamingService.RegisterObject", oInterface) ;
+
+ tEnv.addObjRelation("INSTANCE", oInterface);
+
+ tEnv.addObjRelation("XContainer.Container",
+ (XNamingService) UnoRuntime.queryInterface(
+ XNamingService.class, oObj));
+
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create object relation", e) ;
+ } catch (NullPointerException e) {
+ throw new StatusException("Can't create object relation", e) ;
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java
new file mode 100644
index 000000000000..05ddc216df88
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java
@@ -0,0 +1,245 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XStorable;
+
+
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XNamingService;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.utils;
+
+import com.sun.star.io.IOException;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XOfficeDatabaseDocument;
+import com.sun.star.task.XInteractionHandler;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.DataSource</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sdb::XQueryDefinitionsSupplier</code></li>
+* <li> <code>com::sun::star::sdb::DataSource</code></li>
+* <li> <code>com::sun::star::sdb::XCompletedConnection</code></li>
+* <li> <code>com::sun::star::util::XFlushable</code></li>
+* <li> <code>com::sun::star::sdb::XBookmarksSupplier</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+*
+* @see com.sun.star.sdb.XQueryDefinitionSupplier
+* @see com.sun.star.sdb.XFormDocumentsSupplier
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.sdb.DataSource
+* @see com.sun.star.sdb.XCompletedConnection
+* @see com.sun.star.util.XFlushable
+* @see com.sun.star.sdb.XReportDocumentsSupplier
+* @see ifc.sdb._XQueryDefinitionSupplier
+* @see ifc.sdb._XFormDocumentsSupplier
+* @see ifc.beans._XPropertySet
+* @see ifc.sdb._DataSource
+* @see ifc.sdb._XCompletedConnection
+* @see ifc.util._XFlushable
+* @see ifc.sdb._XReportDocumentsSupplier
+*/
+public class ODatabaseSource extends TestCase {
+
+ private static int uniqueSuffixStat = 0 ;
+
+ private int uniqueSuffix = 0 ;
+ private XNamingService xDBContextNameServ = null ;
+ private String databaseName = null ;
+ private XOfficeDatabaseDocument xDBDoc = null;
+
+ /**
+ * Assigns database's name unique suffix for this object depending
+ * on static field. For names differs in different object threads.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+ uniqueSuffix = uniqueSuffixStat++ ;
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing not longer needed docs... ");
+ DesktopTools.closeDoc(xDBDoc);
+ }
+
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ *
+ * Creates new <code>DataSource</code> which represents DBase database
+ * located in temporary directory, and then registers it in service
+ * <code>com.sun.star.sdb.DatabaseContext</code>.
+ *
+ * Created object relations :
+ * <ul>
+ * <li> <code>'XCompletedConnection.Handler'</code> for interface test
+ * <code>XCompletedConnection</code> </li>
+ * </ul>
+ * <li> <code>'UserAndPassword'</code> for interface test
+ * <code>XIsolatedConnection</code> </li>
+ * </ul>
+ * @see com.sun.star.sdb.DatabaseContext
+ * @see com.sun.star.sdb.DataSource
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null ;
+
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ try{
+ oInterface = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+
+ if (oInterface == null)
+ throw new StatusException("Could not get service 'com.sun.star.sdb.DatabaseContext'", new Exception());
+
+ }catch( Exception e ) {
+ log.println("Could not get service 'com.sun.star.sdb.DatabaseContext'" );
+ e.printStackTrace ();
+ throw new StatusException("Service not available", e) ;
+ }
+
+ xDBContextNameServ = (XNamingService)
+ UnoRuntime.queryInterface(XNamingService.class, oInterface) ;
+
+ // retrieving temp directory for database
+ String tmpDatabaseUrl = utils.getOfficeTempDir((XMultiServiceFactory)Param.getMSF());
+
+ tmpDatabaseUrl = "sdbc:dbase:file:///" + tmpDatabaseUrl ;
+
+ try{
+ XInterface oDatabaseDoc = (XInterface) xMSF.createInstance
+ ("com.sun.star.sdb.OfficeDatabaseDocument") ;
+
+ if (oDatabaseDoc == null)
+ throw new StatusException("Could not get service 'com.sun.star.sdb.OfficeDatabaseDocument'", new Exception());
+
+ xDBDoc = (XOfficeDatabaseDocument) UnoRuntime.queryInterface(
+ XOfficeDatabaseDocument.class,
+ oDatabaseDoc);
+ }
+ catch( Exception e ) {
+ log.println("Could not get service 'com.sun.star.sdb.OfficeDatabaseDocument'" );
+ e.printStackTrace ();
+ throw new StatusException("Service not available", e) ;
+ }
+
+ oObj = (XInterface) xDBDoc.getDataSource();
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ // Creating new DBase data source in the TEMP directory
+
+ XPropertySet xSrcProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+
+ try{
+ xSrcProp.setPropertyValue("URL", tmpDatabaseUrl) ;
+ } catch ( UnknownPropertyException e){
+ throw new StatusException("Could not set property 'URL' ", e) ;
+ } catch ( PropertyVetoException e){
+ throw new StatusException("Could not set property 'URL' ", e) ;
+ } catch ( IllegalArgumentException e){
+ throw new StatusException("Could not set property 'URL' ", e) ;
+ } catch ( WrappedTargetException e){
+ throw new StatusException("Could not set property 'URL' ", e) ;
+ }
+
+ databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ // make sure that the DatabaseContext isn't already registered
+ try {
+ xDBContextNameServ.revokeObject(databaseName) ;
+ } catch (Exception e) {
+ log.println("Nothing to be removed - OK");
+ }
+
+ // registering source in DatabaseContext
+ XStorable store = (XStorable) UnoRuntime.queryInterface(XStorable.class, xDBDoc);
+ String aFile = utils.getOfficeTemp ((XMultiServiceFactory) Param.getMSF ())+"DataSource.odb";
+ try{
+ store.storeAsURL(aFile,new PropertyValue[]{});
+ } catch (IOException e){
+ log.println("Could not store datasource 'aFile'" );
+ e.printStackTrace ();
+ throw new StatusException("Could not save ", e) ;
+ } catch (Exception e){
+ log.println("Could not store datasource 'aFile'" );
+ e.printStackTrace ();
+ throw new StatusException("Could not save ", e) ;
+ }
+
+
+ try{
+ xDBContextNameServ.registerObject(databaseName, oObj) ;
+ } catch (Exception e){
+ log.println("Could not register data source" );
+ e.printStackTrace ();
+ throw new StatusException("Could not register ", e) ;
+ }
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding obj relation for interface XCompletedConnection
+ Object handler = null ;
+ try {
+ handler = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.sdb.InteractionHandler") ;
+ } catch (Exception e) {
+ log.println("Relation for XCompletedConnection wasn't created") ;
+ e.printStackTrace(log) ;
+ }
+
+ // dbase does not need user and password
+ tEnv.addObjRelation("UserAndPassword", new String[]{"",""}) ;
+
+ tEnv.addObjRelation("XCompletedConnection.Handler",
+ UnoRuntime.queryInterface(XInteractionHandler.class, handler)) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java
new file mode 100644
index 000000000000..ed64db1081eb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.DatasourceAdministrationDialog</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::ui::dialogs::XExecutableDialog</code></li>
+* <li> <code>com::sun::star::sdb::DatasourceAdministrationDialog</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul> <p>
+*
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+*
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.ui.dialogs.XExecutableDialog
+* @see com.sun.star.sdb.DatasourceAdministrationDialog
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.lang._XInitialization
+* @see ifc.ui.dialogs._XExecutableDialog
+* @see ifc.sdb._DatasourceAdministrationDialog
+* @see ifc.beans._XPropertySet
+*/
+public class ODatasourceAdministrationDialog extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.DatasourceAdministrationDialog</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.sdb.DatasourceAdministrationDialog" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ throw new StatusException("Service not available", e) ;
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ODataSourceAdministrationDialog
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java
new file mode 100644
index 000000000000..867888684ee2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java
@@ -0,0 +1,332 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.DataSourceBrowser</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::util::XModifyBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XTabController</code></li>
+ * <li> <code>com::sun::star::form::XFormController</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::frame::XController</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.util.XModifyBroadcaster
+ * @see com.sun.star.awt.XTabController
+ * @see com.sun.star.form.XFormController
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.frame.XDispatchProvider
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.frame.XController
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.container._XChild
+ * @see ifc.lang._XInitialization
+ * @see ifc.util._XModifyBroadcaster
+ * @see ifc.awt._XTabController
+ * @see ifc.form._XFormController
+ * @see ifc.container._XElementAccess
+ * @see ifc.frame._XDispatchProvider
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.frame._XController
+ * @see ifc.lang._XComponent
+ */
+public class ODatasourceBrowser extends TestCase {
+ XDesktop the_Desk;
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()));
+ System.setProperty("hideMe", "false");
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+ System.setProperty("hideMe", "true");
+
+ if (xTextDoc != null) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ *
+ * Creates a new text document disposing the old one if it was
+ * created. Using <code>Desktop</code> service get the frame
+ * of the document and with its help creates
+ * <code>DataSourceBrowser</code> dispatching the URL
+ * <code>'.component:DB/DataSourceBrowser'</code>. The
+ * component for testing is the controller of the
+ * <code>Browser</code> and it's got by searching its
+ * frame with the help of TextDocument frame, and obtaining
+ * the frame's controller. <p>
+ *
+ * <b>Note</b>: after creating the text document a short
+ * pause is needed to give a possibility to a frame to be
+ * created for the document. Else
+ * <code>Desktop.getCurrentFrame()</code> method can return
+ * <code>null</code> value. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDispatchProvider.URL'</code> for
+ * {@link ifc.frame._XDispatchProvider} </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController} : the model of
+ * the TextDocument. </li>
+ * <li> <code>'otherWindow'</code> for
+ * {@link ifc.frame._XController} : the window of
+ * the added shape. </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController} : the controller of
+ * the TextDocument. </li>
+ * <li> <code>'HasViewData'</code> for
+ * {@link ifc.frame._XController} : the
+ * <code>DataSourceBrowser</code> has no view data. </li>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} : the arguments for
+ * tbe initialization</li>
+ * </ul>
+ *
+ * @see com.sun.star.frame.Desktop
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.frame.XFrame
+ * @see com.sun.star.frame.XController
+ * @see com.sun.star.frame.XDispatchProvider
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class, the_frame1);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = the_frame2.getController();
+
+ Object[] params = new Object[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = new Integer(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ try {
+ XInitialization xInit = (XInitialization) UnoRuntime.queryInterface(
+ XInitialization.class, oObj);
+ xInit.initialize(params);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't initialize document", e);
+ }
+
+ shortWait();
+
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CommandButton");
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel shapeModel = aShape.getControl();
+
+ XControlAccess xCtrlAccess = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ secondController);
+ XControl xCtrl = null;
+
+ try {
+ xCtrl = xCtrlAccess.getControl(shapeModel);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ }
+
+ XWindow docWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ xCtrl);
+ log.println("creating a new environment for ODatasourceBrowser object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelations for XInitialization
+ tEnv.addObjRelation("XInitialization.args", params);
+
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("Frame", the_frame1);
+ tEnv.addObjRelation("SecondModel", aModel1);
+ tEnv.addObjRelation("otherWindow", docWindow);
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("HasViewData", new Boolean(false));
+
+
+ // Addig relation for XDispatchProvider
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ ".uno:DataSourceBrowser/FormLetter");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+} // finish class oDatasourceBrowser
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java b/qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java
new file mode 100644
index 000000000000..947fa6b1c9fe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.task.XInteractionContinuation;
+import com.sun.star.task.XInteractionRequest;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.InteractionHandler</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::task::XInteractionHandler</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.task.XInteractionHandler
+* @see com.sun.star.sdb.InteractionHandler
+* @see ifc.task._XInteractionHandler
+*/
+public class OInteractionHandler extends TestCase {
+
+
+ private static class TestRequest implements XInteractionRequest {
+ public Object getRequest() {
+ return new SQLException("Test exception") ;
+ }
+
+ public XInteractionContinuation[] getContinuations() {
+ return new XInteractionContinuation[0] ;
+ }
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.InteractionHandler</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInteractionHandler.Request'</code> for
+ * {@link ifc.task._XInteractionHandler} : this realtion
+ * is <code>com.sun.star.task.XInteractionRequest</code>
+ * interface implementation which depends on the component
+ * tested. In this case it emulates SQL error by returning
+ * <code>SQLException</code> object. </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.sdb.InteractionHandler" );
+
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ throw new StatusException("Service not available", e) ;
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XInteractionHandler.Request", new TestRequest()) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java b/qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java
new file mode 100644
index 000000000000..73850dbaf64b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java
@@ -0,0 +1,325 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+//import com.sun.star.awt.XControl;
+//import com.sun.star.awt.XControlModel;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.uno.Exception;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import lib.StatusException;
+import util.SOfficeFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdbc.XDataSource;
+
+public class OQueryDesign extends TestCase {
+
+ private static XDesktop xDesk;
+ private static XFrame xFrame;
+ private final String sDataSourceName = "Bibliography";
+ private static XConnection xConn;
+ private static XTextDocument xTextDoc;
+
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ xDesk = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop((XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ XInterface oObj = null;
+
+ XDispatchProvider aProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class,xDesk);
+
+ XDispatch getting = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) Param.getMSF();
+
+ XNameAccess xNameAccess = null;
+
+ // we use the first datasource
+ XDataSource xDS = null;
+ try {
+ xNameAccess = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class,
+ xMSF.createInstance("com.sun.star.sdb.DatabaseContext"));
+ } catch (Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Could not get Databasecontext", ex );
+ }
+ try {
+ xDS = (XDataSource) UnoRuntime.queryInterface(
+ XDataSource.class, xNameAccess.getByName( "Bibliography" ));
+ } catch (NoSuchElementException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Could not get XDataSource", ex );
+ } catch (WrappedTargetException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Could not get XDataSource", ex );
+ }
+ try {
+ xNameAccess = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class,
+ xMSF.createInstance("com.sun.star.sdb.DatabaseContext"));
+ } catch (Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Could not get DatabaseConext", ex );
+ }
+
+ log.println("check XMultiServiceFactory");
+
+ try {
+ xConn = xDS.getConnection(new String(), new String());
+ } catch (SQLException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Could not get XConnection", ex );
+ }
+
+ log.println( "opening QueryDesign" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/QueryDesign";
+ getting = aProv.queryDispatch(the_url,"Query",12);
+ PropertyValue[] Args = new PropertyValue[2];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ Args[0] = param1;
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "QueryDesignView";
+ param2.Value = new Boolean(false);
+ Args[1] = param2;
+ param1.Name = "ActiveConnection";
+ param1.Value = xConn;
+ Args[1] = param2;
+ getting.dispatch(the_url,Args);
+
+ shortWait();
+
+ Object oDBC = null;
+
+ try {
+ oDBC = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ throw new StatusException("Could not instantiate DatabaseContext", e) ;
+ }
+
+ Object oDataSource = null;
+ try{
+ XNameAccess xNA = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, oDBC);
+ oDataSource = xNA.getByName(sDataSourceName);
+ } catch ( com.sun.star.container.NoSuchElementException e){
+ throw new StatusException("could not get '" + sDataSourceName + "'" , e) ;
+ } catch ( com.sun.star.lang.WrappedTargetException e){
+ throw new StatusException("could not get '" + sDataSourceName + "'" , e) ;
+ }
+ XDocumentDataSource xDDS = (XDocumentDataSource) UnoRuntime.queryInterface(XDocumentDataSource.class, oDataSource);
+// XModel xMod = (XModel) UnoRuntime.queryInterface(XModel.class, xDDS.getDatabaseDocument ());
+
+// Frame = xMod.getCurrentController().getFrame();
+
+ xFrame = DesktopTools.getCurrentFrame(xMSF);
+
+ // get an instance of Frame
+ Object oFrame = null;
+ SOfficeFactory SOF = null;
+
+ SOF = SOfficeFactory.getFactory( xMSF );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Could not create document", e );
+ }
+
+ XModel xDocMod = (XModel) UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XFrame xTextFrame = xDocMod.getCurrentController().getFrame();
+
+ Object[] params = new Object[3];
+ param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+ param2 = new PropertyValue();
+ param2.Name = "Frame";
+ param2.Value = xTextFrame;
+ params[1] = param2;
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "QueryDesignView";
+ param3.Value = new Boolean(true);
+ params[2] = param3;
+
+
+ oObj = xFrame.getController();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //Adding ObjRelations for XInitialization
+ tEnv.addObjRelation("XInitialization.args", params);
+
+ //Object[] ExceptionParams = new Object[3];
+ //ExceptionParams = params;
+ //((PropertyValue) ExceptionParams[1]).Value = Frame;
+ Object[] ExceptionParams = new Object[3];
+ PropertyValue ExceptionParam1 = new PropertyValue();
+ ExceptionParam1.Name = "DataSourceName";
+ ExceptionParam1.Value = "Bibliography2";
+ ExceptionParams[0] = ExceptionParam1;
+ PropertyValue ExceptionParam2 = new PropertyValue();
+ ExceptionParam2.Name = "Frame";
+ ExceptionParam2.Value = null;
+ ExceptionParams[1] = ExceptionParam2;
+ PropertyValue ExceptionParam3 = new PropertyValue();
+ ExceptionParam3.Name = "QueryDesignView";
+ ExceptionParam3.Value = new Integer(17);//new Boolean(true);
+ ExceptionParams[2] = ExceptionParam3;
+
+ tEnv.addObjRelation("XInitialization.ExceptionArgs", ExceptionParams);
+
+ tEnv.addObjRelation("Frame", xFrame);
+
+ tEnv.addObjRelation("XInitialization.xIni", getUnititializedObj(Param));
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private XInitialization getUnititializedObj(TestParameters Param){
+ // creating an object wihch ist not initialized
+
+ // get a model of a DataSource
+ Object oDBC = null;
+ XMultiServiceFactory xMSF;
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oDBC = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ throw new StatusException("Could not instantiate DatabaseContext", e) ;
+ }
+
+ Object oDataSource = null;
+ try{
+ XNameAccess xNA = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, oDBC);
+ oDataSource = xNA.getByName(sDataSourceName);
+ } catch ( com.sun.star.container.NoSuchElementException e){
+ throw new StatusException("could not get '" + sDataSourceName + "'" , e) ;
+ } catch ( com.sun.star.lang.WrappedTargetException e){
+ throw new StatusException("could not get '" + sDataSourceName + "'" , e) ;
+ }
+
+ XDocumentDataSource xDDS = (XDocumentDataSource) UnoRuntime.queryInterface(XDocumentDataSource.class, oDataSource);
+ XModel xMod = (XModel) UnoRuntime.queryInterface(XModel.class, xDDS.getDatabaseDocument ());
+
+ // get an intaces of QueryDesign
+ Object oQueryDesign = null;
+ try{
+ oQueryDesign = xMSF.createInstance("com.sun.star.sdb.QueryDesign");
+ }catch( com.sun.star.uno.Exception e ) {
+ throw new StatusException("Could not instantiate QueryDesign", e) ;
+ }
+
+ XController xCont = (XController) UnoRuntime.queryInterface(XController.class, oQueryDesign);
+
+ // marry them all
+ xCont.attachModel(xMod);
+ xMod.connectController(xCont);
+ try{
+ xMod.setCurrentController(xCont);
+ } catch (com.sun.star.container.NoSuchElementException e){
+ throw new StatusException("Could not set controller", e) ;
+ }
+
+ //xCont.attachFrame(xFrame);
+
+ return (XInitialization) UnoRuntime.queryInterface(XInitialization.class, oQueryDesign);
+
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ try {
+ xConn.close() ;
+ DesktopTools.closeDoc(xFrame);
+ DesktopTools.closeDoc(xTextDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't close the connection") ;
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Connection was already closed. It's OK.") ;
+ }
+
+ }
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+} // finish class oDatasourceBrowser
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ORowSet.java b/qadevOOo/tests/java/mod/_dbaccess/ORowSet.java
new file mode 100644
index 000000000000..c349d5dcdb28
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ORowSet.java
@@ -0,0 +1,644 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdb.ParametersRequest;
+import com.sun.star.sdb.XInteractionSupplyParameters;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.task.XInteractionAbort;
+import com.sun.star.task.XInteractionContinuation;
+import com.sun.star.task.XInteractionRequest;
+import com.sun.star.ucb.AuthenticationRequest;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.frame.XModel;
+import com.sun.star.sdb.RowChangeEvent;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XParameters;
+import ifc.sdb._XCompletedExecution;
+import util.db.DataSource;
+import util.db.DataSourceDescriptor;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.RowSet</code>. <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TestDB/TestDB.dbf </b> : the database file with some
+ * predefined fields described in <code>util.DBTools</code>.
+ * The copy of this file is always made in temp directory for
+ * testing purposes.</li>
+ * </ul>
+ * The following parameters in ini-file used by this test:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database.
+ * For example: <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul>
+ *
+ * @see com.sun.star.sdbc.RowSet
+ * @see com.sun.star.sdbcx.XRowLocate
+ * @see com.sun.star.sdbc.XResultSetUpdate
+ * @see com.sun.star.util.XCancellable
+ * @see com.sun.star.sdbc.XParameters
+ * @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+ * @see com.sun.star.sdbcx.XDeleteRows
+ * @see com.sun.star.sdbc.XCloseable
+ * @see com.sun.star.sdbcx.XColumnsSupplier
+ * @see com.sun.star.sdb.XResultSetAccess
+ * @see com.sun.star.sdbc.XResultSet
+ * @see com.sun.star.sdbc.XColumnLocate
+ * @see com.sun.star.sdbc.XRowSet
+ * @see com.sun.star.sdb.RowSet
+ * @see com.sun.star.sdbc.XRowUpdate
+ * @see com.sun.star.sdb.XRowSetApproveBroadcaster
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.sdbc.XRow
+ * @see com.sun.star.sdbc.XWarningsSupplier
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.sdbcx.ResultSet
+ * @see com.sun.star.sdbc.ResultSet
+ * @see ifc.sdbc._RowSet
+ * @see ifc.sdbcx._XRowLocate
+ * @see ifc.sdbc._XResultSetUpdate
+ * @see ifc.util._XCancellable
+ * @see ifc.sdbc._XParameters
+ * @see ifc.sdbc._XResultSetMetaDataSupplier
+ * @see ifc.sdbcx._XDeleteRows
+ * @see ifc.sdbc._XCloseable
+ * @see ifc.sdbcx._XColumnsSupplier
+ * @see ifc.sdb._XResultSetAccess
+ * @see ifc.sdbc._XResultSet
+ * @see ifc.sdbc._XColumnLocate
+ * @see ifc.sdbc._XRowSet
+ * @see ifc.sdb._RowSet
+ * @see ifc.sdbc._XRowUpdate
+ * @see ifc.sdb._XRowSetApproveBroadcaster
+ * @see ifc.beans._XPropertySet
+ * @see ifc.sdbc._XRow
+ * @see ifc.sdbc._XWarningsSupplier
+ * @see ifc.lang._XComponent
+ * @see ifc.sdbcx._ResultSet
+ * @see ifc.sdbc._ResultSet
+ */
+public class ORowSet extends TestCase {
+
+ private static int uniqueSuffix = 0 ;
+ private DBTools dbTools = null ;
+ private static String origDB = null ;
+ String tableName = null;
+ DataSourceDescriptor srcInf = null;
+ boolean isMySQLDB = false;
+ protected final static String dbSourceName = "ORowSetDataSource";
+ public XConnection m_connection = null;
+ private Object m_rowSet = null;
+ private DataSource m_dataSource;
+ private String m_tableFile;
+ private XMultiServiceFactory m_orb = null;
+
+ /**
+ * Initializes some class fields. Then creates DataSource, which serves
+ * as a single source for all tables created in the test.
+ * This DataSource then registered in the global
+ * <code>DatabaseContext</code> service. This data source's URL
+ * points to SOffice temp directory where tables are copied from
+ * <code>TestDocuments</code> directory on every environment
+ * creation.
+ * To create DataSource for MySQL database next parameters required
+ * in ini-file:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database.
+ * For example: <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul>
+ *
+ * @throws StatusException if DataSource can not be created or
+ * registered.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter _log)
+ throws StatusException
+ {
+ m_orb = (XMultiServiceFactory)Param.getMSF();
+
+ String tmpDir = utils.getOfficeTemp( m_orb );
+
+ origDB = util.utils.getFullTestDocName("TestDB/testDB.dbf");
+
+ dbTools = new DBTools( m_orb, _log );
+
+ // creating DataSource and registering it in DatabaseContext
+ String dbURL = (String) Param.get("test.db.url");
+ String dbUser = (String) Param.get("test.db.user");
+ String dbPassword = (String) Param.get("test.db.password");
+
+ log.println("Creating and registering DataSource ...");
+ srcInf = new DataSourceDescriptor( m_orb );
+ if (dbURL != null && dbUser != null && dbPassword != null)
+ {
+ isMySQLDB = true;
+ log.println("dbURL = " + dbURL);
+ log.println("dbUSER = " + dbUser);
+ log.println("dbPASSWORD = " + dbPassword);
+ //DataSource for mysql db
+ tableName = "soffice_test_table";
+ srcInf.URL = "jdbc:" + dbURL;
+ srcInf.IsPasswordRequired = new Boolean(true);
+ srcInf.Password = dbPassword;
+ srcInf.User = dbUser;
+ PropertyValue[] propInfo = new PropertyValue[1];
+ propInfo[0] = new PropertyValue();
+ propInfo[0].Name = "JavaDriverClass";
+ propInfo[0].Value = "org.gjt.mm.mysql.Driver";
+ srcInf.Info = propInfo;
+ }
+ else
+ {
+ srcInf.URL = "sdbc:dbase:" + DBTools.dirToUrl(tmpDir);
+ }
+ m_dataSource = srcInf.createDataSource();
+ m_dataSource.registerAs( dbSourceName, true );
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * The database (DBF) file is copied from test document directory
+ * into SOffice temp dir with unique name for each enviroment
+ * creation. If the file cann't be copied (is not released)
+ * then another unique name is used (file name suffix incremented
+ * by 1).<p>
+ *
+ * <code>com.sun.star.sdb.RowSet</code> service created and its
+ * source is all rows from the current copy of the table. Then
+ * row set command ("select all rows from a table") is executed
+ * and cursor is positioned to the first row. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ORowSet.Connection'</code> for
+ * internal component test usage. Is used for
+ * closing connection when cleaning up environment. </li>
+ * <li> <code>'XRowSetApproveBroadcaster.ApproveChecker'</code> for
+ * {@link ifc.sdb._XRowSetApproveBroadcaster} interface
+ * implementation which made actions required </li>
+ * <li> <code>'CurrentRowData'</code> for
+ * {@link ifc.sdbc._XRow}, {@link ifc.sdbc._XRowUpdate} :
+ * exports types and values of the current row data.</li>
+ * <li> <code>'XColumnLocate.ColumnName'</code> for
+ * {@link ifc.sdbc._XColumnLocate} :
+ * the name of the first column of the table.</li>
+ * <li> <code>'XParameters.ParamValues'</code> for
+ * {@link ifc.sdbc._XParameters} :
+ * Collection of parameter types presented in the query. </li>
+ * <li> <code>'XRowUpdate.XRow'</code> for
+ * {@link ifc.sdbc._XRowUpdate} :
+ * <code>XRow</code> interface of the current component.</li>
+ * <li> <code>'XResultSetUpdate.UpdateTester'</code> for
+ * {@link ifc.sdbc._XResultSetUpdate} </li>
+ * </ul>
+ *
+ * @see com.sun.star.sdb.DatabaseContext
+ * @see com.sun.star.sdb.DataSource
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ {
+ XMultiServiceFactory orb = (XMultiServiceFactory)Param.getMSF();
+ uniqueSuffix++;
+ boolean envCreatedOK = false ;
+
+ //initialize test table
+ if (isMySQLDB)
+ {
+ try
+ {
+ DBTools.DataSourceInfo legacyDescriptor = dbTools.newDataSourceInfo();
+ legacyDescriptor.Name = srcInf.Name;
+ legacyDescriptor.User = srcInf.User;
+ legacyDescriptor.Password = srcInf.Password;
+ legacyDescriptor.Info = srcInf.Info;
+ legacyDescriptor.URL = srcInf.URL;
+ legacyDescriptor.IsPasswordRequired = srcInf.IsPasswordRequired;
+ dbTools.initTestTableUsingJDBC(tableName, legacyDescriptor);
+ }
+ catch(java.sql.SQLException e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't " +
+ " init test table. SQLException..."));
+ }
+ catch(java.lang.ClassNotFoundException e)
+ {
+ throw new StatusException(Status.failed("Couldn't " +
+ "register mysql driver"));
+ }
+ }
+ else
+ {
+ String oldF = null ;
+ String newF = null ;
+ String tempFolder = utils.getOfficeTemp( orb );
+ do
+ {
+ tableName = "ORowSet_tmp" + uniqueSuffix ;
+ oldF = utils.getFullURL(origDB);
+ newF = tempFolder + tableName + ".dbf";
+ }
+ while ( !utils.tryOverwriteFile( orb, oldF, newF ) );
+ m_tableFile = newF;
+ }
+
+ try
+ {
+ m_rowSet = orb.createInstance("com.sun.star.sdb.RowSet");
+
+ XPropertySet rowSetProps = UnoRuntime.queryInterface( XPropertySet.class, m_rowSet );
+
+ log.println("Trying to open: " + tableName);
+
+ rowSetProps.setPropertyValue("DataSourceName", dbSourceName);
+ rowSetProps.setPropertyValue("Command", tableName);
+ rowSetProps.setPropertyValue("CommandType",
+ new Integer(CommandType.TABLE));
+
+ final XRowSet rowSet = UnoRuntime.queryInterface( XRowSet.class, m_rowSet);
+ rowSet.execute();
+ m_connection = UnoRuntime.queryInterface( XConnection.class, rowSetProps.getPropertyValue("ActiveConnection") );
+
+ XResultSet xRes = UnoRuntime.queryInterface( XResultSet.class, m_rowSet );
+ xRes.first();
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( (XInterface)m_rowSet );
+
+ // Adding obj relation for XRowSetApproveBroadcaster test
+ {
+ final XResultSet resultSet = UnoRuntime.queryInterface( XResultSet.class, m_rowSet );
+ final XResultSetUpdate resultSetUpdate = UnoRuntime.queryInterface( XResultSetUpdate.class, m_rowSet );
+ final XRowUpdate rowUpdate = UnoRuntime.queryInterface(XRowUpdate.class, m_rowSet );
+ final PrintWriter logF = log ;
+ tEnv.addObjRelation( "XRowSetApproveBroadcaster.ApproveChecker",
+ new ifc.sdb._XRowSetApproveBroadcaster.RowSetApproveChecker()
+ {
+ public void moveCursor()
+ {
+ try
+ {
+ resultSet.beforeFirst();
+ resultSet.afterLast();
+ resultSet.first();
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ logF.println("### _XRowSetApproveBroadcaster.RowSetApproveChecker.moveCursor() :");
+ e.printStackTrace(logF);
+ throw new StatusException( "RowSetApproveChecker.moveCursor failed", e );
+ }
+ }
+ public RowChangeEvent changeRow()
+ {
+ try
+ {
+ resultSet.first();
+ rowUpdate.updateString(1, "ORowSetTest2");
+ resultSetUpdate.updateRow();
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ logF.println("### _XRowSetApproveBroadcaster.RowSetApproveChecker.changeRow() :");
+ e.printStackTrace(logF);
+ throw new StatusException( "RowSetApproveChecker.changeRow failed", e );
+ }
+ RowChangeEvent ev = new RowChangeEvent();
+ ev.Action = com.sun.star.sdb.RowChangeAction.UPDATE ;
+ ev.Rows = 1 ;
+
+ return ev ;
+ }
+ public void changeRowSet()
+ {
+ try
+ {
+ // since we gave the row set a parametrized statement, we need to ensure the
+ // parameter is actually filled, otherwise we would get an empty result set,
+ // which would imply some further tests failing
+ XParameters rowSetParams = UnoRuntime.queryInterface( XParameters.class, resultSet );
+ rowSetParams.setString( 1, "String2" );
+ rowSet.execute();
+ resultSet.first();
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ logF.println("### _XRowSetApproveBroadcaster.RowSetApproveChecker.changeRowSet() :");
+ e.printStackTrace(logF);
+ throw new StatusException( "RowSetApproveChecker.changeRowSet failed", e );
+ }
+ }
+ }
+ );
+ }
+ // Adding relations for XRow as a Vector with all data
+ // of current row of RowSet.
+
+ Vector rowData = new Vector();
+
+ for (int i = 0; i < DBTools.TST_TABLE_VALUES[0].length; i++) {
+ rowData.add(DBTools.TST_TABLE_VALUES[0][i]);
+ }
+
+ // here XRef must be added
+ // here XBlob must be added
+ // here XClob must be added
+ // here XArray must be added
+
+ tEnv.addObjRelation("CurrentRowData", rowData);
+
+ // Adding relation for XColumnLocate ifc test
+ tEnv.addObjRelation( "XColumnLocate.ColumnName", DBTools.TST_STRING_F );
+
+ // Adding relation for XCompletedExecution
+ tEnv.addObjRelation( "InteractionHandlerChecker", new InteractionHandlerImpl() );
+ try
+ {
+ String sqlCommand = isMySQLDB
+ ? "SELECT Column0 FROM soffice_test_table WHERE ( ( Column0 = :param1 ) )"
+ : "SELECT \"_TEXT\" FROM \"" + tableName + "\" WHERE ( ( \"_TEXT\" = :param1 ) )";
+ rowSetProps.setPropertyValue( "DataSourceName", dbSourceName );
+ rowSetProps.setPropertyValue( "Command", sqlCommand );
+ rowSetProps.setPropertyValue( "CommandType", new Integer(CommandType.COMMAND) );
+ }
+ catch(Exception e)
+ {
+ throw new StatusException( "setting up the RowSet with a parametrized command failed", e );
+ }
+
+ // Adding relation for XParameters ifc test
+ tEnv.addObjRelation( "XParameters.ParamValues", new Vector() );
+
+ // Adding relation for XRowUpdate
+ final XRow row = UnoRuntime.queryInterface( XRow.class, m_rowSet );
+ tEnv.addObjRelation("XRowUpdate.XRow", row);
+
+ // Adding relation for XResultSetUpdate
+ {
+ final XResultSet resultSet = UnoRuntime.queryInterface( XResultSet.class, m_rowSet );
+ final XRowUpdate rowUpdate = UnoRuntime.queryInterface( XRowUpdate.class, m_rowSet );
+
+ tEnv.addObjRelation("XResultSetUpdate.UpdateTester",
+ new ifc.sdbc._XResultSetUpdate.UpdateTester()
+ {
+ String lastUpdate = null ;
+
+ public int rowCount() throws SQLException
+ {
+ int prevPos = resultSet.getRow();
+ resultSet.last();
+ int count = resultSet.getRow();
+ resultSet.absolute(prevPos);
+
+ return count ;
+ }
+
+ public void update() throws SQLException
+ {
+ lastUpdate = row.getString(1);
+ lastUpdate += "_" ;
+ rowUpdate.updateString(1, lastUpdate);
+ }
+
+ public boolean wasUpdated() throws SQLException
+ {
+ String getStr = row.getString(1);
+ return lastUpdate.equals(getStr);
+ }
+
+ public int currentRow() throws SQLException
+ {
+ return resultSet.getRow();
+ }
+ }
+ );
+ }
+
+ envCreatedOK = true ;
+ return tEnv;
+
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ log.println( "couldn't set up tes tenvironment:" );
+ e.printStackTrace(log);
+ try
+ {
+ if ( m_connection != null )
+ m_connection.close();
+ }
+ catch(Exception ex)
+ {
+ }
+ throw new StatusException( "couldn't set up tes tenvironment", e );
+ }
+ finally
+ {
+ if (!envCreatedOK)
+ {
+ try
+ {
+ m_connection.close();
+ }
+ catch(Exception ex)
+ {
+ }
+ }
+ }
+
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes connection of <code>RowSet</code> instance created.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log)
+ {
+ String doing = null;
+ try
+ {
+ doing = "revoking data source registration";
+ log.println( doing );
+ m_dataSource.revokeRegistration();
+
+ doing = "closing database document";
+ log.println( doing );
+ XModel databaseDocModel = UnoRuntime.queryInterface( XModel.class,
+ m_dataSource.getDatabaseDocument().getDatabaseDocument() );
+ String documentFile = databaseDocModel.getURL();
+
+ XCloseable closeModel = UnoRuntime.queryInterface( XCloseable.class,
+ m_dataSource.getDatabaseDocument().getDatabaseDocument() );
+ closeModel.close( true );
+
+ if ( m_rowSet != null )
+ {
+ doing = "disposing row set";
+ log.println( doing );
+ XComponent rowSetComponent = UnoRuntime.queryInterface( XComponent.class, m_rowSet );
+ rowSetComponent.dispose();
+ }
+
+ try
+ {
+ doing = "closing connection";
+ log.println( doing );
+ m_connection.close();
+ }
+ catch (com.sun.star.lang.DisposedException e)
+ {
+ log.println( "already closed - okay." );
+ }
+
+ doing = "deleting database file (" + documentFile + ")";
+ log.println( doing );
+ impl_deleteFile( documentFile );
+
+ if ( m_tableFile != null )
+ {
+ doing = "deleting dBase table file (" + m_tableFile + ")";
+ log.println( doing );
+ impl_deleteFile( m_tableFile );
+ }
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ log.println( "error: ");
+ e.printStackTrace(log);
+ }
+ }
+
+ private final void impl_deleteFile( final String _file )
+ {
+ java.io.File file = new java.io.File( _file );
+ file.delete();
+ if ( file.exists() )
+ file.deleteOnExit();
+ }
+
+ /**
+ * Implementation of interface _XCompletedExecution.CheckInteractionHandler
+ * for the XCompletedExecution test
+ * @see ifc.sdb._XCompletedExecution
+ */
+ public class InteractionHandlerImpl implements _XCompletedExecution.CheckInteractionHandler {
+ private boolean handlerWasUsed = false;
+ private PrintWriter log = new PrintWriter(System.out);
+
+ public boolean checkInteractionHandler() {
+ return handlerWasUsed;
+ }
+
+ public void handle(XInteractionRequest xInteractionRequest) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: handle called.");
+ ParametersRequest req = null;
+ boolean abort = false;
+
+ Object o = xInteractionRequest.getRequest();
+ if (o instanceof ParametersRequest) {
+ req = (ParametersRequest)o;
+ }
+ else if (o instanceof AuthenticationRequest) {
+ log.println("### The request in XCompletedExecution is of type 'AuthenticationRequest'");
+ log.println("### This is not implemented in ORowSet.InteractionHandlerImpl test -> abort.");
+ abort = true;
+ }
+ else {
+ log.println("### Unknown request:" + o.toString());
+ log.println("### This is not implemented in ORowSet.InteractionHandlerImpl test -> abort.");
+ abort = true;
+ }
+
+ XInteractionContinuation[]xCont = xInteractionRequest.getContinuations();
+ XInteractionSupplyParameters xParamCallback = null;
+ for(int i=0; i<xCont.length; i++) {
+ if (abort) {
+ XInteractionAbort xAbort = null;
+ xAbort = UnoRuntime.queryInterface(XInteractionAbort.class, xCont[i]);
+ if (xAbort != null)
+ xAbort.select();
+ return;
+ }
+ else {
+ xParamCallback = UnoRuntime.queryInterface(XInteractionSupplyParameters.class, xCont[i]);
+ if (xParamCallback != null)
+ break;
+ }
+ }
+ if (xParamCallback != null) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: supplying parameters.");
+ handlerWasUsed = true;
+ PropertyValue[] prop = new PropertyValue[1];
+ prop[0] = new PropertyValue();
+ prop[0].Name = "param1";
+ prop[0].Value = "Hi.";
+
+ xParamCallback.setParameters(prop);
+ xParamCallback.select();
+ }
+ else { // we should never reach this: abort has to be true first.
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Got no " +
+ "'XInteractionSupplyParameters' and no 'XInteractionAbort'.");
+ }
+ }
+
+ public void setLog(PrintWriter log) {
+ this.log = log;
+ }
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java b/qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java
new file mode 100644
index 000000000000..0b4ce3886df9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.ErrorMessageDialog</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::sdb::ErrorMessageDialog</code></li>
+ * <li> <code>com::sun::star::ui::dialogs::XExecutableDialog</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.sdb.ErrorMessageDialog
+ * @see com.sun.star.ui.dialogs.XExecutableDialog
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.sdb._ErrorMessageDialog
+ * @see ifc.ui.dialogs._XExecutableDialog
+ * @see ifc.beans._XPropertySet
+ */
+public class OSQLMessageDialog extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ *
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.ErrorMessageDialog</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ERR1', 'ERR2'</code> for
+ * {@link ifc.sdb._ErrorMessageDialog} </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ Object err1 = null;
+ Object err2 = null;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.sdb.ErrorMessageDialog" );
+
+ err1 = new com.sun.star.sdbc.SQLException("err1");
+ err2 = new com.sun.star.sdbc.SQLException("err2");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ throw new StatusException("Service not available", e) ;
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ // create XWindow for Object relations...
+ com.sun.star.awt.XToolkit xToolkit = null;
+
+ try{
+ xToolkit = (com.sun.star.awt.XToolkit)UnoRuntime.queryInterface(
+ com.sun.star.awt.XToolkit.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.awt.Toolkit") );
+ } catch (com.sun.star.uno.Exception e){
+ log.println("could not create instacne of 'com.sun.star.awt.Toolkit'" );
+ throw new StatusException("could not create instacne of 'com.sun.star.awt.Toolkit'", e) ;
+ }
+
+ // Describe the properties of the container window.
+ com.sun.star.awt.WindowDescriptor aDescriptor =
+ new com.sun.star.awt.WindowDescriptor();
+
+ aDescriptor.Type = com.sun.star.awt.WindowClass.TOP ;
+ aDescriptor.WindowServiceName = "window" ;
+ aDescriptor.ParentIndex = -1;
+ aDescriptor.Parent = null;
+ aDescriptor.Bounds = new com.sun.star.awt.Rectangle(0,0,0,0);
+
+ aDescriptor.WindowAttributes =
+ com.sun.star.awt.WindowAttribute.BORDER |
+ com.sun.star.awt.WindowAttribute.MOVEABLE |
+ com.sun.star.awt.WindowAttribute.SIZEABLE |
+ com.sun.star.awt.WindowAttribute.CLOSEABLE ;
+
+ com.sun.star.awt.XWindowPeer xPeer = null;
+ try{
+
+ xPeer = xToolkit.createWindow(aDescriptor) ;
+
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not create window" );
+ throw new StatusException("could not create window", e) ;
+ }
+
+ com.sun.star.awt.XWindow xWindow = (com.sun.star.awt.XWindow)UnoRuntime.queryInterface (
+ com.sun.star.awt.XWindow .class, xPeer);
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println("add ObjectRelations err1 and err2 for 'ErrorMessageDialog'");
+ tEnv.addObjRelation("ERR1",err1);
+ tEnv.addObjRelation("ERR2",err2);
+ tEnv.addObjRelation("ERR_XWindow", xWindow);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OSQLMessageDialog
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java b/qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java
new file mode 100644
index 000000000000..3fc9815fc904
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java
@@ -0,0 +1,283 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdb.XSingleSelectQueryAnalyzer;
+import com.sun.star.sdb.XSingleSelectQueryComposer;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDataSource;
+import com.sun.star.sdbcx.XColumnsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.DataSource</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::sdbc::RowSet</code></li>
+ * <li> <code>com::sun::star::sdbcx::XRowLocate</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetUpdate</code></li>
+ * <li> <code>com::sun::star::util::XCancellable</code></li>
+ * <li> <code>com::sun::star::sdbc::XParameters</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetMetaDataSupplier</code></li>
+ * <li> <code>com::sun::star::sdbcx::XDeleteRows</code></li>
+ * <li> <code>com::sun::star::sdbc::XCloseable</code></li>
+ * <li> <code>com::sun::star::sdbcx::XColumnsSupplier</code></li>
+ * <li> <code>com::sun::star::sdb::XResultSetAccess</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XColumnLocate</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowSet</code></li>
+ * <li> <code>com::sun::star::sdb::RowSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowUpdate</code></li>
+ * <li> <code>com::sun::star::sdb::XRowSetApproveBroadcaster</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRow</code></li>
+ * <li> <code>com::sun::star::sdbc::XWarningsSupplier</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::sdbcx::ResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::ResultSet</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TestDB/TestDB.dbf </b> : the database file with some
+ * predefined fields described in <code>util.DBTools</code>.
+ * The copy of this file is always made in temp directory for
+ * testing purposes.</li>
+ * </ul> <p>
+ * The following parameters in ini-file used by this test:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database.
+ * For example: <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul><p>
+ *
+ * @see com.sun.star.sdbc.RowSet
+ * @see com.sun.star.sdbcx.XRowLocate
+ * @see com.sun.star.sdbc.XResultSetUpdate
+ * @see com.sun.star.util.XCancellable
+ * @see com.sun.star.sdbc.XParameters
+ * @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+ * @see com.sun.star.sdbcx.XDeleteRows
+ * @see com.sun.star.sdbc.XCloseable
+ * @see com.sun.star.sdbcx.XColumnsSupplier
+ * @see com.sun.star.sdb.XResultSetAccess
+ * @see com.sun.star.sdbc.XResultSet
+ * @see com.sun.star.sdbc.XColumnLocate
+ * @see com.sun.star.sdbc.XRowSet
+ * @see com.sun.star.sdb.RowSet
+ * @see com.sun.star.sdbc.XRowUpdate
+ * @see com.sun.star.sdb.XRowSetApproveBroadcaster
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.sdbc.XRow
+ * @see com.sun.star.sdbc.XWarningsSupplier
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.sdbcx.ResultSet
+ * @see com.sun.star.sdbc.ResultSet
+ * @see ifc.sdbc._RowSet
+ * @see ifc.sdbcx._XRowLocate
+ * @see ifc.sdbc._XResultSetUpdate
+ * @see ifc.util._XCancellable
+ * @see ifc.sdbc._XParameters
+ * @see ifc.sdbc._XResultSetMetaDataSupplier
+ * @see ifc.sdbcx._XDeleteRows
+ * @see ifc.sdbc._XCloseable
+ * @see ifc.sdbcx._XColumnsSupplier
+ * @see ifc.sdb._XResultSetAccess
+ * @see ifc.sdbc._XResultSet
+ * @see ifc.sdbc._XColumnLocate
+ * @see ifc.sdbc._XRowSet
+ * @see ifc.sdb._RowSet
+ * @see ifc.sdbc._XRowUpdate
+ * @see ifc.sdb._XRowSetApproveBroadcaster
+ * @see ifc.beans._XPropertySet
+ * @see ifc.sdbc._XRow
+ * @see ifc.sdbc._XWarningsSupplier
+ * @see ifc.lang._XComponent
+ * @see ifc.sdbcx._ResultSet
+ * @see ifc.sdbc._ResultSet
+ */
+public class OSingleSelectQueryComposer extends TestCase {
+
+ private static int uniqueSuffix = 0 ;
+ private DBTools dbTools = null ;
+ private static String origDB = null ;
+ private PrintWriter log = null ;
+ private static String tmpDir = null ;
+ String tableName = null;
+ DBTools.DataSourceInfo srcInf = null;
+ boolean isMySQLDB = false;
+ protected final static String dbSourceName = "OSingleSelectQueryComposerDataSource";
+ public XConnection conn = null;
+
+
+ protected void initialize ( TestParameters Param, PrintWriter log)
+ throws StatusException {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ *
+ * Object relations created :
+ * <ul>SingleSelectQueryAnalyzer
+
+ * <li> <code>'xComposer'</code> for
+ * {@link ifc.sdb.XSingleSelectQueryAnalyzer} interface
+ * <li> <code>'xQueryAna'</code> for
+ * {@link ifc.sdb.XSingleSelectQueryComposer} interface
+ * <li> <code>'xProp'</code> for
+ * {@link ifc.sdb.XSingleSelectQueryComposer} interface
+ * <li> <code>'colName'</code> for
+ * {@link ifc.sdb.XSingleSelectQueryComposer} interface
+ * </ul>
+ *
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null ;
+ boolean envCreatedOK = false ;
+
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+
+ XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface(
+ XNameAccess.class,
+ xMSF.createInstance("com.sun.star.sdb.DatabaseContext"));
+ // we use the first datasource
+ XDataSource xDS = (XDataSource)UnoRuntime.queryInterface(
+ XDataSource.class, xNameAccess.getByName( "Bibliography" ));
+
+ log.println("check XMultiServiceFactory");
+ XMultiServiceFactory xConn = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class,
+ xDS.getConnection(new String(),new String()));
+
+ log.println("check getAvailableServiceNames");
+ String[] sServiceNames = xConn.getAvailableServiceNames();
+ if (! sServiceNames[0].equals("com.sun.star.sdb.SingleSelectQueryComposer"))
+ {
+ log.println("Service 'SingleSelectQueryComposer' not supported");
+ }
+
+ oInterface = (XInterface) xConn.createInstance( sServiceNames[0]);
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException("Service wasn't created",
+ new NullPointerException()) ;
+ }
+
+ Object oRowSet = xMSF.createInstance("com.sun.star.sdb.RowSet") ;
+
+ XPropertySet xSetProp = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oRowSet) ;
+
+ xSetProp.setPropertyValue("DataSourceName", "Bibliography") ;
+ xSetProp.setPropertyValue("Command", "biblio") ;
+ xSetProp.setPropertyValue("CommandType",
+ new Integer(CommandType.TABLE)) ;
+
+ com.sun.star.sdbc.XRowSet xORowSet = (com.sun.star.sdbc.XRowSet)
+ UnoRuntime.queryInterface(com.sun.star.sdbc.XRowSet.class,
+ oRowSet) ;
+
+ xORowSet.execute() ;
+
+ XColumnsSupplier xColSup = (XColumnsSupplier)
+ UnoRuntime.queryInterface(XColumnsSupplier.class, oRowSet);
+
+ XNameAccess xCols = xColSup.getColumns();
+
+ XPropertySet xCol = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class),
+ xCols.getByName(xCols.getElementNames()[0]));
+
+ XSingleSelectQueryAnalyzer xQueryAna = (XSingleSelectQueryAnalyzer)
+ UnoRuntime.queryInterface(XSingleSelectQueryAnalyzer.class,
+ oInterface);
+
+ // XSingleSelectQueryComposer
+ XSingleSelectQueryComposer xComposer = (XSingleSelectQueryComposer)
+ UnoRuntime.queryInterface(XSingleSelectQueryComposer.class,
+ xQueryAna);
+ xQueryAna.setQuery("SELECT * FROM \"biblio\"");
+
+ oObj = (XInterface) oInterface;
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // for XSingleSelectQueryAnalyzer
+ tEnv.addObjRelation("xComposer", xComposer);
+
+ // for XSingleSelectQueryComposer
+ tEnv.addObjRelation("xQueryAna", xQueryAna);
+
+ tEnv.addObjRelation("xProp", xCol);
+ tEnv.addObjRelation("colName", xCols.getElementNames()[0]);
+
+ envCreatedOK = true ;
+ return tEnv;
+
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Can't create object" );
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create object", e) ;
+ }
+
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes connection of <code>RowSet</code> instance created.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java b/qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java
new file mode 100644
index 000000000000..020b58594957
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java
@@ -0,0 +1,485 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XGridColumnFactory;
+import com.sun.star.form.XLoadable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+* Test for object which represents the control of the Grid model. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::util::XModifyBroadcaster</code></li>
+* <li> <code>com::sun::star::form::XGridFieldDataSupplier</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::form::XGrid</code></li>
+* <li> <code>com::sun::star::awt::XControl</code></li>
+* <li> <code>com::sun::star::util::XModeSelector</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::awt::XWindow</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::frame::XDispatch</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::frame::XDispatchProviderInterception</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::awt::XView</code></li>
+* <li> <code>com::sun::star::container::XContainer</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.util.XModifyBroadcaster
+* @see com.sun.star.form.XGridFieldDataSupplier
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.form.XGrid
+* @see com.sun.star.awt.XControl
+* @see com.sun.star.util.XModeSelector
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.awt.XWindow
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.frame.XDispatchProviderInterception
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.awt.XView
+* @see com.sun.star.container.XContainer
+* @see ifc.util._XModifyBroadcaster
+* @see ifc.form._XGridFieldDataSupplier
+* @see ifc.view._XSelectionSupplier
+* @see ifc.form._XGrid
+* @see ifc.awt._XControl
+* @see ifc.util._XModeSelector
+* @see ifc.container._XElementAccess
+* @see ifc.awt._XWindow
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.frame._XDispatch
+* @see ifc.container._XEnumerationAccess
+* @see ifc.form._XBoundComponent
+* @see ifc.frame._XDispatchProviderInterception
+* @see ifc.container._XIndexAccess
+* @see ifc.lang._XComponent
+* @see ifc.awt._XView
+* @see ifc.container._XContainer
+*/
+public class SbaXGridControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates Writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ //closing the appearing dialog before disposing the document
+ XInterface toolkit = null;
+
+ try {
+ toolkit = (XInterface) ((XMultiServiceFactory)tParam.getMSF())
+ .createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XInterface button = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON);
+
+ XAccessibleAction action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, button);
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iob) {
+ log.println("couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close dialog");
+ }
+
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * For object creation first a
+ * <code>com.sun.star.form.component.GridControl<code> instance
+ * is added to the <code>ControlShape</code>. Then this model's
+ * control is retrieved.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt_XView} test : <code>XGraphics</code>
+ * object different that belong to the object tested.</li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XCOntrol} </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XCOntrol} </li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XCOntrol} </li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} for switching focus.</li>
+ * <li> <code>'XDispatch.URL'</code> for
+ * {@link ifc.frame._XDispatch} the url which moves
+ * DB cursor to the next row (".uno:FormSlots/moveToNext").</li>
+ * <li> <code>'XContainer.Container'</code> for
+ * {@link ifc.container._XContainer} as the component created
+ * doesn't support <code>XContainer</code> itself, but
+ * it is supported by its model. So this model is passed.</li>
+ * <li> <code>'INSTANCE'</code> for
+ * {@link ifc.container._XContainer} the instance to be
+ * inserted into collection. Is a column instance.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XPropertySet aControl = null;
+ XPropertySet aControl2 = null;
+ XPropertySet aControl3 = null;
+ XPropertySet aControl4 = null;
+ XGridColumnFactory columns = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = createGrid(xTextDoc, 3000, 4500, 15000, 10000);
+
+ XControlModel the_Model = aShape.getControl();
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XLoadable formLoader = FormTools.bindForm(xTextDoc);
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ try {
+ columns = (XGridColumnFactory) UnoRuntime.queryInterface(
+ XGridColumnFactory.class, the_Model);
+ aControl = columns.createColumn("TextField");
+ aControl.setPropertyValue("DataField", "Identifier");
+ aControl.setPropertyValue("Label", "Identifier");
+ aControl2 = columns.createColumn("TextField");
+ aControl2.setPropertyValue("DataField", "Publisher");
+ aControl2.setPropertyValue("Label", "Publisher");
+ aControl3 = columns.createColumn("TextField");
+ aControl3.setPropertyValue("DataField", "Author");
+ aControl3.setPropertyValue("Label", "Author");
+ aControl4 = columns.createColumn("TextField");
+ aControl4.setPropertyValue("DataField", "Title");
+ aControl4.setPropertyValue("Label", "Title");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ // Some exception occures.FAILED
+ log.println("!!! Couldn't create instance : " + e);
+ throw new StatusException("Can't create column instances.", e);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ // Some exception occures.FAILED
+ log.println("!!! Couldn't create instance : " + e);
+ throw new StatusException("Can't create column instances.", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ // Some exception occures.FAILED
+ log.println("!!! Couldn't create instance : " + e);
+ throw new StatusException("Can't create column instances.", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ // Some exception occures.FAILED
+ log.println("!!! Couldn't create instance : " + e);
+ throw new StatusException("Can't create column instances.", e);
+ }
+
+ XNameContainer aContainer = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class, the_Model);
+
+ try {
+ aContainer.insertByName("First", aControl);
+ aContainer.insertByName("Second", aControl2);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("!!! Could't insert column Instance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't insert columns", e);
+ }
+
+ //now get the OGridControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get GridControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get GridControl", e);
+ }
+
+
+ // creating another window
+ aShape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ the_Model = aShape.getControl();
+
+
+ //Try to query XControlAccess
+ the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the TextControl
+ XWindow win = null;
+ Object cntrl = null;
+
+ try {
+ cntrl = the_access.getControl(the_Model);
+ win = (XWindow) UnoRuntime.queryInterface(XWindow.class, cntrl);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get Control");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get Control", e);
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Relations for XSelectionSupplier
+ tEnv.addObjRelation("Selections",
+ new Object[] {
+ new Object[] { new Integer(0) }, new Object[] { new Integer(1) }
+ });
+ tEnv.addObjRelation("Comparer",
+ new Comparator() {
+ public int compare(Object o1, Object o2) {
+ return ((Integer) o1).compareTo((Integer)o2);
+ }
+
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ }
+ });
+
+
+ //Realtion for XContainer
+ tEnv.addObjRelation("XContainer.Container", aContainer);
+ tEnv.addObjRelation("INSTANCE", aControl3);
+ tEnv.addObjRelation("INSTANCE2", aControl4);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+
+ // Adding relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", win);
+
+ // Adding relation for XDispatch
+ URL url = new URL();
+ url.Complete = ".uno:FormSlots/moveToNext";
+
+
+ //url.Complete = ".uno:GridSlots/RowHeight";
+ //url.Complete = ".uno:GridSlots/RowHeight" ;
+ tEnv.addObjRelation("XDispatch.URL", url);
+
+ log.println("ImplName: " + utils.getImplName(oObj));
+
+ FormTools.switchDesignOf((XMultiServiceFactory)Param.getMSF(), xTextDoc);
+
+ // adding relation for XUpdateBroadcaster
+ final XInterface ctrl = oObj;
+ final XLoadable formLoaderF = formLoader;
+ final XPropertySet ps = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, aControl2);
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new ifc.form._XUpdateBroadcaster.UpdateChecker() {
+ private String lastText = "";
+
+ public void update() throws com.sun.star.uno.Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+
+ lastText = "_" + ps.getPropertyValue("Text");
+ ps.setPropertyValue("Text", lastText);
+ }
+
+ public void commit() throws com.sun.star.sdbc.SQLException {
+ XBoundComponent bound = (XBoundComponent) UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = (XResultSetUpdate) UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws com.sun.star.uno.Exception {
+ String getS = (String) ps.getPropertyValue("Text");
+
+ return lastText.equals(getS);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ public static XControlShape createGrid(XComponent oDoc, int height,
+ int width, int x, int y) {
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ oDoc);
+
+ try {
+ Object oInt = oDocMSF.createInstance(
+ "com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance(
+ "com.sun.star.form.component.GridControl");
+ XPropertySet model_props = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, aCon);
+ model_props.setPropertyValue("DefaultControl",
+ "com.sun.star.form.control.InteractionGridControl");
+ aControl = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class, aCon);
+ oCShape = (XControlShape) UnoRuntime.queryInterface(
+ XControlShape.class, oInt);
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ System.out.println("Couldn't create Grid" + e);
+ throw new StatusException("Couldn't create Grid", e);
+ }
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createGrid
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java b/qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java
new file mode 100644
index 000000000000..4c39c1590890
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java
@@ -0,0 +1,380 @@
+/*************************************************************************
+ *
+ * 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 mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.sdbc.XStatement;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import util.DesktopTools;
+import util.utils;
+
+
+/**
+* Object implements the following interfaces :
+* <ul>
+* <li><code>::com::sun::star::accessibility::XAccessible</code></li>
+* <li><code>::com::sun::star::accessibility::XAccessibleContext
+* </code></li>
+* <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+* </code></li>
+* </ul><p>
+* @see com.sun.star.accessibility.XAccessible
+* @see com.sun.star.accessibility.XAccessibleContext
+* @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+* @see ifc.accessibility._XAccessible
+* @see ifc.accessibility._XAccessibleContext
+* @see ifc.accessibility._XAccessibleEventBroadcaster
+*/
+public class TableWindowAccessibility extends TestCase {
+ XWindow xWindow = null;
+ Object oDBSource = null;
+ String aFile = "";
+ XConnection connection = null;
+ XIsolatedConnection isolConnection = null;
+ XComponent QueryComponent = null;
+ String user = "";
+ String password="";
+
+ /**
+ * Creates a new DataSource and stores it.
+ * Creates a connection and using it
+ * creates two tables in database.
+ * Creates a new query and adds it to DefinitionContainer.
+ * Opens the QueryComponent.with loadComponentFromURL
+ * and gets the object with the role PANEL and the implementation
+ * name that contains TabelViewAccessibility
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ * @return
+ * @throws StatusException
+ * @see TestEnvironment
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ Object oDBContext = null;
+ Object oDBSource = null;
+ Object newQuery = null;
+ Object toolkit = null;
+ XStorable store = null;
+
+ try {
+ oDBContext = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.sdb.DatabaseContext");
+ oDBSource = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.sdb.DataSource");
+ newQuery = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.sdb.QueryDefinition");
+ toolkit = ((XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create instance"));
+ }
+
+ String mysqlURL = (String) Param.get("mysql.url");
+
+ if (mysqlURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'mysql.url' from ini-file"));
+ }
+
+ user = (String) Param.get("jdbc.user");
+ password = (String) Param.get("jdbc.password");
+
+ if ((user == null) || (password == null)) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+
+ PropertyValue[] info = new PropertyValue[2];
+ info[0] = new PropertyValue();
+ info[0].Name = "user";
+ info[0].Value = user;
+ info[1] = new PropertyValue();
+ info[1].Name = "password";
+ info[1].Value = password;
+
+ XPropertySet propSetDBSource = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oDBSource);
+
+ try {
+ propSetDBSource.setPropertyValue("URL", mysqlURL);
+ propSetDBSource.setPropertyValue("Info", info);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+
+ try {
+ log.println ("writing database file ...");
+ XDocumentDataSource xDDS = (XDocumentDataSource)
+ UnoRuntime.queryInterface(XDocumentDataSource.class, oDBSource);
+ store = (XStorable) UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+ aFile = utils.getOfficeTemp ((XMultiServiceFactory) Param.getMSF ())+"TableWindow.odb";
+ log.println("... filename will be "+aFile);
+ store.storeAsURL(aFile,new PropertyValue[]{});
+ log.println("... done");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't register object"));
+ }
+
+ isolConnection = (XIsolatedConnection) UnoRuntime.queryInterface(
+ XIsolatedConnection.class,
+ oDBSource);
+
+ XConnection connection = null;
+ XStatement statement = null;
+
+ final String tbl_name1 = "tst_table1";
+ final String tbl_name2 = "tst_table2";
+ final String col_name1 = "id1";
+ final String col_name2 = "id2";
+
+ try {
+ connection = isolConnection.getIsolatedConnection(user, password);
+ statement = connection.createStatement();
+ statement.executeUpdate("drop table if exists " + tbl_name1);
+ statement.executeUpdate("drop table if exists " + tbl_name2);
+ statement.executeUpdate("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+ } catch (com.sun.star.sdbc.SQLException e) {
+ try {
+ shortWait();
+ connection = isolConnection.getIsolatedConnection(user,
+ password);
+ statement = connection.createStatement();
+ statement.executeUpdate("drop table if exists " + tbl_name1);
+ statement.executeUpdate("drop table if exists " + tbl_name2);
+ statement.executeUpdate("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+ } catch (com.sun.star.sdbc.SQLException e2) {
+ e2.printStackTrace(log);
+ throw new StatusException(Status.failed("SQLException"));
+ }
+ }
+
+ XQueryDefinitionsSupplier querySuppl = (XQueryDefinitionsSupplier) UnoRuntime.queryInterface(
+ XQueryDefinitionsSupplier.class,
+ oDBSource);
+
+ XNameAccess defContainer = querySuppl.getQueryDefinitions();
+
+ XPropertySet queryProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, newQuery);
+
+ try {
+ final String query = "select * from " + tbl_name1 + ", " +
+ tbl_name2 + " where " + tbl_name1 + "." +
+ col_name1 + "=" + tbl_name2 + "." +
+ col_name2;
+ queryProp.setPropertyValue("Command", query);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property value"));
+ }
+
+ XNameContainer queryContainer = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class,
+ defContainer);
+
+ try {
+ queryContainer.insertByName("Query1", newQuery);
+ store.store();
+ connection.close ();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ } catch (com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ } catch (com.sun.star.sdbc.SQLException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't insert query"));
+ }
+
+ PropertyValue[] loadProps = new PropertyValue[3];
+ loadProps[0] = new PropertyValue();
+ loadProps[0].Name = "QueryDesignView";
+ loadProps[0].Value = Boolean.TRUE;
+
+ loadProps[1] = new PropertyValue();
+ loadProps[1].Name = "CurrentQuery";
+ loadProps[1].Value = "Query1";
+
+ loadProps[2] = new PropertyValue();
+ loadProps[2].Name = "DataSource";
+ loadProps[2].Value = oDBSource;
+
+ QueryComponent = DesktopTools.loadDoc((XMultiServiceFactory) Param.getMSF (),".component:DB/QueryDesign",loadProps);
+
+ xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree (log,xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL, "",
+ "TableWindowAccessibility");
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+
+ log.println("creating TestEnvironment ... done");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ shortWait();
+
+ XAccessibleComponent accComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+
+
+ final Point point = accComp.getLocationOnScreen();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X + 2, point.Y + 7);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseMove(point.X + 400, point.Y);
+ rob.mouseRelease (InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("desired child doesn't exist");
+ }
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes all open documents.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try
+ {
+
+ log.println ("closing QueryComponent ...");
+ DesktopTools.closeDoc (QueryComponent);
+ log.println ("... done");
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF ();
+ Object sfa = xMSF.createInstance ("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xSFA = (XSimpleFileAccess) UnoRuntime.queryInterface (XSimpleFileAccess.class, sfa);
+ log.println ("deleting database file");
+ xSFA.kill (aFile);
+ log.println ("Could delete file "+aFile+": "+!xSFA.exists (aFile));
+ } catch (Exception e)
+ {
+ e.printStackTrace ();
+ }
+ }
+
+
+ /**
+ * Sleeps for 1.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/package.html b/qadevOOo/tests/java/mod/_dbaccess/package.html
new file mode 100644
index 000000000000..46bef890cbf5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'dbaccess'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java b/qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java
new file mode 100644
index 000000000000..1ee00f74753f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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 mod._dbpool;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdbc.ConnectionPool</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sdbc::XDriverManager</code></li>
+* </ul>
+* @see com.sun.star.sdbc.XDriverManager
+* @see ifc.sdbc.XDriverManager
+*/
+public class OConnectionPool extends TestCase {
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)
+ xMSF.createInstance("com.sun.star.sdbc.ConnectionPool");
+ } catch(com.sun.star.uno.Exception e) {
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //adding relations for XDriverManager
+ String dbaseURL = (String) Param.get("dbase.url");
+ if (dbaseURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'dbase.url'"));
+ }
+
+ tEnv.addObjRelation("SDBC.URL", "sdbc:dbase:" + dbaseURL);
+
+ String jdbcURL = (String) Param.get("jdbc.url");
+ if (jdbcURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'jdbc.url'"));
+ }
+
+ tEnv.addObjRelation("JDBC.URL", "jdbc:" + jdbcURL);
+
+ String jdbcUser = (String) Param.get("jdbc.user");
+ if (jdbcUser == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'jdbc.user'"));
+ }
+
+ String jdbcPassword = (String) Param.get("jdbc.password");
+ if (jdbcPassword == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'jdbc.password'"));
+ }
+
+ PropertyValue[] jdbcInfo = new PropertyValue[3];
+ jdbcInfo[0] = new PropertyValue();
+ jdbcInfo[0].Name = "user";
+ jdbcInfo[0].Value = jdbcUser;
+ jdbcInfo[1] = new PropertyValue();
+ jdbcInfo[1].Name = "password";
+ jdbcInfo[1].Value = jdbcPassword;
+ jdbcInfo[2] = new PropertyValue();
+ jdbcInfo[2].Name = "JavaDriverClass";
+ jdbcInfo[2].Value = DBTools.TST_JDBC_DRIVER;
+
+ tEnv.addObjRelation("JDBC.INFO", jdbcInfo);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_defreg/NestedRegistry.java b/qadevOOo/tests/java/mod/_defreg/NestedRegistry.java
new file mode 100644
index 000000000000..baa1d5488be0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_defreg/NestedRegistry.java
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * 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 mod._defreg;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.RegistryTools;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.NestedRegistry</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> XSimpleRegistry.rdb </b> : Registry file created before. </li>
+* <li><b> XSimpleRegistry_open#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* <li><b> XSimpleRegistry_merge#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.registry.XSimpleRegistry
+* @see com.sun.star.lang.XInitialization
+* @see ifc.registry._XSimpleRegistry
+* @see ifc.lang._XInitialization
+*/
+public class NestedRegistry extends TestCase {
+
+ protected static int uniq = 0 ;
+ XSimpleRegistry reg1;
+ XSimpleRegistry reg2;
+
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam ) {
+ try {
+ reg1.destroy();
+ reg2.destroy();
+ }
+ catch (com.sun.star.registry.InvalidRegistryException e) {}
+ }
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @throws java.io.IOException If any problems occur during copiing.
+ */
+ protected void copyFile(String src, String dst, PrintWriter log)
+ throws java.io.IOException {
+ log.println("Copy File "+src+" to "+dst);
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+
+ if (dstF.exists()) dstF.delete() ;
+ dstF.createNewFile() ;
+
+ dstF.deleteOnExit() ;
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0)
+ fOut.write(buf, 0, bytesRead) ;
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two temporary copies of registry file created before, opens
+ * them, and creates service <code>com.sun.star.comp.stoc.NestedRegistry</code>
+ * with these two registries. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NR'</code> for {@link ifc.registry._XSimpleRegistry} :
+ * Just informs interface test that <code>NestedRegistry</code>
+ * service is tested. If this relation exists, than some methods
+ * are not supported. The relation is a <code>String</code> with
+ * object name.</li>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ final String tmpDir = utils.getOfficeTempDirSys((XMultiServiceFactory)Param.getMSF()) ;
+ final String openF = tmpDir + "XSimpleRegistry_open" + uniq + ".rdb" ;
+ final String destroyF = tmpDir
+ + "XSimpleRegistry_destroy" + uniq + ".rdb" ;
+ final String mergeF = tmpDir + "XSimpleRegistry_merge" + uniq + ".rdb" ;
+ uniq++ ;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ try {
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, openF, log) ;
+ copyFile(source, mergeF, log) ;
+ } catch (java.io.IOException e) {
+ log.println("Exception occured while copying files");
+ e.printStackTrace(log);
+ throw new StatusException("Exception occured while copying files", e);
+ }
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ reg1 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg1.open(mergeF, false, true) ;
+ reg2 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg2.open(openF, false, true) ;
+ XSimpleRegistry[] arg = new XSimpleRegistry[2];
+ arg[0]=reg1;
+ arg[1]=reg2;
+ oInterface = xMSF.createInstanceWithArguments
+ ( "com.sun.star.comp.stoc.NestedRegistry", arg );
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("NR","NestedRegistry");
+
+ tEnv.addObjRelation("XSimpleRegistry.open", openF) ;
+ tEnv.addObjRelation("XSimpleRegistry.merge", mergeF) ;
+ tEnv.addObjRelation("XSimpleRegistry.destroy", destroyF) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+
+ }
+
+} // finish class NestedRegistry
+
diff --git a/qadevOOo/tests/java/mod/_defreg/package.html b/qadevOOo/tests/java/mod/_defreg/package.html
new file mode 100644
index 000000000000..16090213476e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_defreg/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'defreg'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_dtrans/generic.java b/qadevOOo/tests/java/mod/_dtrans/generic.java
new file mode 100644
index 000000000000..6af6f1f1a2e8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dtrans/generic.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 mod._dtrans;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.datatransfer.generic</code>. <p>
+ */
+public class generic extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.datatransfer.generic</code>.
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.datatransfer.clipboard.GenericClipboard");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ if (oObj == null) {
+ log.println("[ERROR!] System type is *nix, unable to create object...");
+ }
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java b/qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java
new file mode 100644
index 000000000000..f0577f6ba628
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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 mod._dynamicloader;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.loader.Dynamic</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::loader::XImplementationLoader</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.loader.Dynamic
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class Dynamic extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service
+ * <code>com.sun.star.loader.Dynamic</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.loader.Dynamic" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ throw new StatusException("Can't create service", e) ;
+ }
+
+ if (oInterface == null)
+ log.println("Service wasn't created") ;
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relations for XImplementationLoader
+
+ String loader = "com.sun.star.loader.SharedLibrary";
+ tEnv.addObjRelation("ImplementationLoader", loader) ;
+
+ String url = "servicename=com.sun.star.loader.SharedLibrary,link=mylink";
+ //util.utils.getFullTestURL("solibrary.jar");
+ tEnv.addObjRelation("ImplementationUrl", url) ;
+
+ tEnv.addObjRelation("ImplementationName", "com.sun.star.io.Pipe") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_file/calc/ODriver.java b/qadevOOo/tests/java/mod/_file/calc/ODriver.java
new file mode 100644
index 000000000000..0bb05fd82670
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_file/calc/ODriver.java
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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 mod._file.calc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the Spreadsheet document to which to connect.
+ * The URL is obtained from the parameter <code>calc.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for
+ * {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments
+ * </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)(
+ (XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.sdbc.calc.ODriver");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for calc.ODriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String calcURL = (String) Param.get("calc.url");
+ if (calcURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'calc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:calc:" + calcURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ tEnv.addObjRelation("NoBadURL", "TRUE");
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_file/dbase/ODriver.java b/qadevOOo/tests/java/mod/_file/dbase/ODriver.java
new file mode 100644
index 000000000000..14884a39b193
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_file/dbase/ODriver.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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 mod._file.dbase;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>dbase.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for
+ * {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments
+ * </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)(
+ (XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.sdbc.dbase.ODriver");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for dbase.ODriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String dBaseURL = (String) Param.get("dbase.url");
+ if (dBaseURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'dbase.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:dbase:" + dBaseURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_file/flat/ODriver.java b/qadevOOo/tests/java/mod/_file/flat/ODriver.java
new file mode 100644
index 000000000000..e6d293474a85
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_file/flat/ODriver.java
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * 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 mod._file.flat;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>flat.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for
+ * {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments
+ * </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)(
+ (XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.sdbc.flat.ODriver");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for flat.ODriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String flatURL = (String) Param.get("flat.url");
+ if (flatURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'flat.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:flat:" + flatURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java b/qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java
new file mode 100644
index 000000000000..3c4a33d2bbc5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 mod._fileacc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.SimpleFileAccess</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::ucb.XSimpleFileAccess</code></li>
+* </ul>
+* This object test <b> can </b> be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XSimpleFileAccess
+* @see com.sun.star.ucb.SimpleFileAccess
+* @see ifc.ucb._XSimpleFileAccess
+*/
+public class SimpleFileAccess extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.ucb.SimpleFileAccess</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object oIH = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.comp.ucb.SimpleFileAccess");
+ oIH = xMSF.createInstance("com.sun.star.sdb.InteractionHandler");
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("SimpleFileAccess Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CoreReflection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("InteractionHandler", oIH);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SimpleFileAccess
+
diff --git a/qadevOOo/tests/java/mod/_fileacc/package.html b/qadevOOo/tests/java/mod/_fileacc/package.html
new file mode 100644
index 000000000000..87af9c1842af
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fileacc/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'fileacc'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_fop/FolderPicker.java b/qadevOOo/tests/java/mod/_fop/FolderPicker.java
new file mode 100644
index 000000000000..fc400efb1783
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fop/FolderPicker.java
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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 mod._fop;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.fop.FolderPicker</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ui::XExecutableDialog</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::ui::XFolderPickerNotifier</code></li>
+* <li> <code>com::sun::star::ui::XFolderPicker</code></li>
+* <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ui.XExecutableDialog
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.ui.XFolderPickerNotifier
+* @see com.sun.star.ui.XFolderPicker
+* @see com.sun.star.lang.XTypeProvider
+* @see com.sun.star.ui.FolderPicker
+* @see ifc.ui._XExecutableDialog
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.ui._XFolderPickerNotifier
+* @see ifc.ui._XFolderPicker
+* @see ifc.lang._XTypeProvider
+*/
+public class FolderPicker extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.fop.FolderPicker</code>. <p>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ui.dialogs.FolderPicker" );
+
+ // adding one child container
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class BreakIterator
+
diff --git a/qadevOOo/tests/java/mod/_forms/GenericModelTest.java b/qadevOOo/tests/java/mod/_forms/GenericModelTest.java
new file mode 100644
index 000000000000..dce88234885f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/GenericModelTest.java
@@ -0,0 +1,565 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+import util.FormTools;
+import util.WriterTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XForm;
+import com.sun.star.form.XLoadable;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import java.util.ArrayList;
+import lib.Status;
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DateField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::awt::UnoControlDateFieldModel</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::DateField</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.awt.UnoControlDateFieldModel
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.DateField
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.awt._UnoControlDateFieldModel
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.form.component._DateField
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class GenericModelTest extends TestCase {
+ private static XTextDocument m_xTextDoc;
+ private static Object m_dbSrc = null;
+ private static DBTools.DataSourceInfo m_srcInf = null;
+ /**
+ * This is the name of the Data Base which the test uses: "APITestDatabase"
+ */
+ protected final static String m_dbSourceName = "APITestDatabase";
+ protected final static String m_TestDB = "TestDB";
+ private DBTools m_dbTools = null;
+
+ private static boolean m_ConnectionColsed = false;
+
+ /**
+ * descibes the kind of the shape which should be created.
+ * Example: m_kindOfshape=DateFiled
+ */
+ public static String m_kindOfControl = null;
+
+ /**
+ * If your object needs some special propery values you can specify them with this
+ * <CODE>ArrayList</CODE>. You have to add a <CODE>NamedValue</CODE> to this list.
+ * Example:
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "Test";
+ * myProp.Value = "My special Value";
+ * m_propertiesToSet.add(myProp);
+ */
+ public static ArrayList m_propertiesToSet = new ArrayList();
+
+ /**
+ * This variable contains the name of the property which should be changed while
+ * interface <CODE>com::sun::star::form::XUpdateBroadcaster</CODE> is tested. The
+ * interface test needs the <CODE>ObjectRelation</CODE>
+ * "XUpdateBroadcaster.Checker" which is a <CODE>ifc.form._XUpdateBroadcaster.UpdateChecker</CODE>.
+ * @see ifc.form._XUpdateBroadcaster.UpdateChecker
+ * @see ifc.form._XUpdateBroadcaster
+ */
+ public static String m_ChangePropertyName = null;
+ /**
+ * This variable contains the value the property should be set while
+ * interface <CODE>com::sun::star::form::XUpdateBroadcaster</CODE> is tested.
+ * The interface test needs the <CODE>ObjectRelation</CODE>
+ * "XUpdateBroadcaster.Checker" which is a <CODE>ifc.form._XUpdateBroadcaster.UpdateChecker</CODE>.
+ * Normaly the <CODE>Checker</CODE> uses <CODE>util.ValueChanger</CODE> to change
+ * the value of the property. If the current of this property is NULL the
+ * <CODE>ValueChanger</CODE> is unable to change the value. In this case the value
+ * of this variable was used.
+ */
+ public static Object m_ChangePropertyValue = null;
+
+ /**
+ * This variable contains the implelemtation name of the object.
+ */
+ public static String m_ObjectName = null;
+
+ /**
+ * For local implementaions of <CODE>Checker</CODE> this variable contains the
+ * <CODE>FormLoader</CODE>
+ */
+ protected static XLoadable m_XFormLoader = null;
+ /**
+ * For local implementaions of <CODE>Checker</CODE> this variable contains the
+ * <CODE>XPropertySet</CODE>
+ */
+ protected static XPropertySet m_XPS = null;
+ /**
+ * For local implementaions of <CODE>Checker</CODE> this variable contains the
+ * <CODE>Control</CODE>
+ */
+ protected static XInterface m_XCtrl = null;
+ /**
+ * The insterface test of <CODE>ifc.form._DataWareControlModel</CODE> expects an
+ * object relation <CODE>'LC'</CODE>. This is a <CODE>XControlModel</CODE> of a shape.
+ * This variable contains the kind of shape to create for the interface test,
+ * f.e. "FixedText"
+ * @see ifc.form._DataAwareControlModel
+ */
+ protected static String m_LCShape_Type = null;
+
+ protected static String m_XPropertyAccess_propertyToChange = "HelpText";
+
+ protected static String m_XPropertyContainer_propertyNotRemovable = "HelpText";
+ /**
+ * If this variable is true some more debug info was logged. It was setted by the parameter variable
+ * <code>debug_is_active</code>
+ */
+ protected static boolean debug = false;
+
+ /**
+ * Creates Writer document where controls are placed.
+ * @param tParam the test paremter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ m_xTextDoc = WriterTools.createTextDoc(((XMultiServiceFactory) tParam.getMSF()));
+ m_ConnectionColsed = false;
+ debug = tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE);
+ m_propertiesToSet.clear();
+ }
+
+ /**
+ * close the connection
+ * close the data source
+ * close the document
+ * revoke the data source
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println("closing connection...");
+
+ // some interface tests call cleanup to reset the environment. If such
+ // a test is the last one cleanup was called twice. The second call
+ // causes then nasty exceptions...
+ if (m_ConnectionColsed) return;
+
+ try {
+ XForm myForm = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ (FormTools.getForms(
+ WriterTools.getDrawPage(
+ m_xTextDoc)))
+ .getByName("Standard"));
+
+ if (debug){
+ if (myForm == null){
+ log.println("ERROR: could not get 'Standard' from drawpage!");
+ }
+ log.println("the draw page contains folowing elemtens:");
+ String[] elements = FormTools.getForms(WriterTools.getDrawPage(m_xTextDoc)).getElementNames();
+ for (int i = 0; i< elements.length; i++){
+ log.println("Element[" + i + "] :" + elements[i]);
+ }
+
+ }
+
+ XPropertySet xSetProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, myForm);
+ XConnection connection = (XConnection) AnyConverter.toObject(
+ new Type(XConnection.class),
+ xSetProp.getPropertyValue("ActiveConnection"));
+ if (debug && connection == null){
+ log.println("ERROR: could not get property 'ActiveConnection' from the XForm");
+ }
+
+ connection.close();
+ } catch (Exception e) {
+ log.println("ERROR: Can't close the connection: " + e.toString());
+ }
+
+ log.println("closing data source...");
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, m_dbSrc);
+ if ( closer == null )
+ {
+ XDocumentDataSource dataSource = (XDocumentDataSource)UnoRuntime.queryInterface(
+ XDocumentDataSource.class, m_dbSrc);
+ if ( dataSource != null )
+ closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, dataSource.getDatabaseDocument() );
+ }
+ if (debug && closer==null){
+ log.println("ERROR: couldn't get 'XCloseable' from DataSource");
+ }
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("ERROR: couldn't close data source: " + e.toString());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("ERROR: couldn't close data source: " + e.toString());
+ } catch (Exception e) {
+ log.println("ERROR: couldn't close data source: " + e.toString());
+ }
+
+ log.println("disposing data source...");
+ try {
+ XComponent dataSourceComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, m_dbSrc);
+ dataSourceComp.dispose();
+ }
+ catch (Exception e) {
+ log.println("couldn't dispose the data source");
+ }
+
+ log.println("closing document...");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, m_xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("ERROR: couldn't close document: " + e.toString());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("ERROR: couldn't close document: " + e.toString());
+ } catch (Exception e) {
+ log.println("ERROR: couldn't close document: " + e.toString());
+ }
+
+ log.println("revoking data source...");
+ try {
+ m_dbTools.revokeDB(m_dbSourceName);
+ } catch (com.sun.star.container.NoSuchElementException e){
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("ERROR: Error while object test cleaning up: " + e.toString());
+ }
+
+ m_ConnectionColsed = true;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * First <code>TestDB</code> database is registered.
+ * Creates DateField in the Form, then binds it to TestDB
+ * database and returns Field's control. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * <li> <code>'LC'</code> for {@link ifc.form._DataAwareControlModel}.
+ * Specifies the value for LabelControl property. It is
+ * <code>FixedText</code> component added to the document.</li>
+ * <li> <code>'FL'</code> for
+ * {@link ifc.form._DataAwareControlModel} interface.
+ * Specifies XLoadable implementation which connects form to
+ * the data source.</li>
+ * <li> <code>'XUpdateBroadcaster.Checker'</code> : <code>
+ * _XUpdateBroadcaster.UpdateChecker</code> interface implementation
+ * which can update, commit data and check if the data was successfully
+ * commited.</li>
+ * <li> <code>'DataAwareControlModel.NewFieldName'</code> : for
+ * <code>com.sun.star.form.DataAwareControlModel</code> service
+ * which contains new name of the field ('_DATE') to bind control to.
+ * </li>
+ * <li> <code>'XFastPropertySet.ExcludeProps'</code> : for
+ * <code>com.sun.star.beans.XFastPropertySet</code> interface
+ * the property FormatKey can have only restricted set of values.
+ * </li>
+ * </ul>
+ * @see ifc.form._XUpdateBroadcaster
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return a test environment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XControlShape aShape = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) Param.getMSF();
+
+ try{
+ log.println("adding contol shape '" + m_kindOfControl + "'");
+ aShape = FormTools.createControlShape(m_xTextDoc, 3000,
+ 4500, 15000, 10000,
+ m_kindOfControl);
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create following control shape (m_kindOfControl): '" +
+ m_kindOfControl + "': ", e);
+
+ }
+
+ WriterTools.getDrawPage(m_xTextDoc).add((XShape) aShape);
+ oObj = aShape.getControl();
+
+ log.println("Implementation name: " + util.utils.getImplName(oObj));
+
+ try {
+ String sourceTestDB = utils.getFullURL(utils.getFullTestDocName("TestDB/testDB.dbf"));
+ String destTestDB = utils.getOfficeTemp(xMSF);
+ destTestDB = utils.getFullURL(destTestDB + "testDB.dbf");
+
+ log.println("copy '"+sourceTestDB + "' -> '" + destTestDB + "'");
+ utils.copyFile(xMSF, sourceTestDB, destTestDB);
+
+ m_dbTools = new DBTools( xMSF, log );
+ String tmpDir = utils.getOfficeTemp((xMSF));
+
+ m_srcInf = m_dbTools.newDataSourceInfo();
+ m_srcInf.URL = "sdbc:dbase:" + DBTools.dirToUrl(tmpDir);
+ log.println("data source: " + m_srcInf.URL);
+
+ m_dbSrc = m_srcInf.getDataSourceService();
+ m_dbTools.reRegisterDB(m_dbSourceName, m_dbSrc);
+
+ m_XFormLoader = FormTools.bindForm(m_xTextDoc, m_dbSourceName,
+ m_TestDB);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("!!! Can't access TestDB !!!");
+ e.printStackTrace(log);
+ throw new StatusException("Can't access TestDB", e);
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", m_ObjectName);
+
+ log.println("adding shape '" + m_LCShape_Type +"' for DataAwareControlModel test");
+ aShape = FormTools.createControlShape(m_xTextDoc, 6000, 4500, 15000,
+ 10000, m_LCShape_Type);
+ WriterTools.getDrawPage(m_xTextDoc).add((XShape) aShape);
+
+ m_XPS = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ int i = 0;
+ NamedValue prop = null;
+ try {
+ for (i = 0; i < m_propertiesToSet.size(); i++){
+ prop = (NamedValue) m_propertiesToSet.get(i);
+
+ log.println("setting property: '"+prop.Name+"' to value '"+prop.Value.toString()+"'");
+
+ m_XPS.setPropertyValue(prop.Name, prop.Value);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property '" + prop.Name + "': ", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property '" + prop.Name + "': ", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property '" + prop.Name + "': ", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property '" + prop.Name + "': ", e);
+ } catch (java.lang.ClassCastException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get property on index '" + i + "': ", e);
+ }
+
+ // added LabelControl for 'DataAwareControlModel'
+ tEnv.addObjRelation("LC", aShape.getControl());
+
+ // added FormLoader for 'DataAwareControlModel'
+ tEnv.addObjRelation("FL", m_XFormLoader);
+
+ // adding relation for XUpdateBroadcaster
+ m_XCtrl = oObj;
+
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new Checker(m_XFormLoader, m_XPS, m_XCtrl, m_ChangePropertyName, m_ChangePropertyValue));
+
+ // adding relation for DataAwareControlModel service
+ tEnv.addObjRelation("DataAwareControlModel.NewFieldName",
+ DBTools.TST_DATE_F);
+
+ //adding ObjRelation for XPersistObject
+ tEnv.addObjRelation("PSEUDOPERSISTENT", new Boolean(true));
+
+ // adding relation for XFastPropertySet
+ java.util.HashSet exclude = new java.util.HashSet();
+ exclude.add("FormatKey");
+ tEnv.addObjRelation("XFastPropertySet.ExcludeProps", exclude);
+
+ PropertyValue propVal = new PropertyValue();
+ propVal.Name = m_XPropertyAccess_propertyToChange;
+ propVal.Value = "Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", propVal);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", m_XPropertyContainer_propertyNotRemovable);
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+ static class Checker implements ifc.form._XUpdateBroadcaster.UpdateChecker {
+ private Object lastValue = null;
+ XLoadable formLoaderF = null;
+ XPropertySet ps = null;
+ XInterface ctrl = null;
+ String ChangePropertyName = null;
+ Object ChangePropertyValue = null;
+
+ public Checker(XLoadable xl, XPropertySet ps, XInterface ctrl, String ChangePropertyName, Object ChangePropertyValue) {
+ formLoaderF = xl;
+ this.ps = ps;
+ this.ctrl = ctrl;
+ this.ChangePropertyName=ChangePropertyName;
+ this.ChangePropertyValue=ChangePropertyValue;
+ }
+
+ public void update() throws com.sun.star.uno.Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+
+ lastValue = util.ValueChanger.changePValue(ps.getPropertyValue(ChangePropertyName));
+
+ if (lastValue == null){
+
+ if (ChangePropertyValue != null){
+
+ lastValue = ChangePropertyValue;
+
+ } else {
+
+ String msg = "The initial value of the property '" + ChangePropertyName + "' is NULL\n";
+ msg += "The member variable 'm_ChangePropertyValue' is NULL\n";
+ msg += "Could not change Property.";
+
+ throw new StatusException(Status.failed(msg));
+ }
+ }
+ ps.setPropertyValue(ChangePropertyName, lastValue);
+ }
+
+ public void commit() throws com.sun.star.sdbc.SQLException {
+ XBoundComponent bound = (XBoundComponent) UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = (XResultSetUpdate) UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws com.sun.star.uno.Exception {
+ formLoaderF.reload();
+
+ Object newValue = ps.getPropertyValue(ChangePropertyName);
+
+ return (newValue != null) && (util.ValueComparer.equalValue(lastValue, newValue));
+ }
+ }
+} // finish class GenericModelTest
diff --git a/qadevOOo/tests/java/mod/_forms/OButtonControl.java b/qadevOOo/tests/java/mod/_forms/OButtonControl.java
new file mode 100644
index 000000000000..d6bff70496db
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OButtonControl.java
@@ -0,0 +1,223 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.CommandButton</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XApproveActionBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XButton</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XApproveActionBroadcaster
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XButton
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XApproveActionBroadcaster
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XButton
+ * @see ifc.awt._XView
+ */
+public class OButtonControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CommandButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CommandButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OButtonControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OButtonControl", e);
+ }
+
+ log.println("creating a new environment for OButtonControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/OButtonModel.java b/qadevOOo/tests/java/mod/_forms/OButtonModel.java
new file mode 100644
index 000000000000..5c5618f5167e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OButtonModel.java
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.com.sun.star.form.component.CommandButton</code>.
+ * <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::form::XImageProducerSupplier</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlButtonModel</code></li>
+ * <li> <code>com::sun::star::form::component::CommandButton</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form.FormControlModel
+ * @see com.sun.star.form.XImageProducerSupplier
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.awt.UnoControlButtonModel
+ * @see com.sun.star.form.component.CommandButton
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.form._XImageProducerSupplier
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.awt._UnoControlButtonModel
+ * @see ifc.form.component._CommandButton
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ */
+public class OButtonModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CommandButton";
+ * super.m_ObjectName = "com.sun.star.form.component.CommandButton";
+ * super.m_LCShape_Type = "CommandButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="CommandButton";
+
+ super.m_ObjectName = "stardiv.one.form.component.CommandButton";
+
+ super.m_LCShape_Type = "CommandButton";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+
+} // finish class OButtonModelold
diff --git a/qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java b/qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java
new file mode 100644
index 000000000000..fc01ddfc9c04
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java
@@ -0,0 +1,237 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XCheckBox;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.CheckBox</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XItemListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XCheckBox</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XItemListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XCheckBox
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XItemListener
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XCheckBox
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XEventListener
+ */
+public class OCheckBoxControl extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( ((XMultiServiceFactory)Param.getMSF()) );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CheckBox</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * <li> <code>'TestItemListener'</code> for
+ * {@link ifc.awt._XItemListener} : listener implementation is
+ * registered here and passed as relation. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"CheckBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(
+ xTextDoc,3000,4500,5000,10000,"TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200,200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OCheckBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OCheckBoxControl", e );
+ }
+
+ log.println( "creating a new environment for OCheckBoxControl object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS",aGraphic);
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT",xTextDoc);
+ tEnv.addObjRelation("WINPEER",the_win);
+ tEnv.addObjRelation("TOOLKIT",the_kit);
+ tEnv.addObjRelation("MODEL",the_Model);
+
+ // Adding relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener() ;
+ XCheckBox box = (XCheckBox) UnoRuntime.queryInterface
+ (XCheckBox.class, oObj) ;
+ box.addItemListener(listener) ;
+ tEnv.addObjRelation("TestItemListener", listener) ;
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class,aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow",forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OButtonControl
+
+
diff --git a/qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java b/qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java
new file mode 100644
index 000000000000..9a569c833470
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.CheckBox</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::CheckBox</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::awt::UnoControlCheckBoxModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+*
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.CheckBox
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.awt.UnoControlCheckBoxModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.beans._XFastPropertySet
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._FormComponent
+* @see ifc.form.component._CheckBox
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._DataAwareControlModel
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.awt._UnoControlCheckBoxModel
+* @see ifc.container._XNamed
+* @see ifc.form._XBoundComponent
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OCheckBoxModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CheckBox";
+ * super.m_ObjectName = "stardiv.one.form.component.CheckBox";
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl= "CheckBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.CheckBox";
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+} // finish class OCheckBoxModel
+
diff --git a/qadevOOo/tests/java/mod/_forms/OComboBoxControl.java b/qadevOOo/tests/java/mod/_forms/OComboBoxControl.java
new file mode 100644
index 000000000000..bc9c315e9443
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OComboBoxControl.java
@@ -0,0 +1,244 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.ComboBox</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XComboBox</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XComboBox
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XComboBox
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OComboBoxControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.ComboBox</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "ComboBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OCheckBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OComboBoxControl", e);
+ }
+
+ log.println("creating a new environment for OComboBoxControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/OComboBoxModel.java b/qadevOOo/tests/java/mod/_forms/OComboBoxModel.java
new file mode 100644
index 000000000000..4f3b256fa982
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OComboBoxModel.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DBTools;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.ComboBox</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::awt::UnoControlComboBoxModel</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseComboBox</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::component::ComboBox</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.awt.UnoControlComboBoxModel
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.form.component.DatabaseComboBox
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.component.ComboBox
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.beans._XFastPropertySet
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._FormComponent
+* @see ifc.awt._UnoControlComboBoxModel
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.form.component._DatabaseComboBox
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.form._XBoundComponent
+* @see ifc.form.component._ComboBox
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OComboBoxModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Text";
+ * super.m_kindOfControl="ComboBox";
+ * super.m_ObjectName = "stardiv.one.form.component.ComboBox";
+ *
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(DataField);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Text";
+
+ super.m_kindOfControl="ComboBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.ComboBox";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+
+} // finish class OComboBoxModel
diff --git a/qadevOOo/tests/java/mod/_forms/OCurrencyControl.java b/qadevOOo/tests/java/mod/_forms/OCurrencyControl.java
new file mode 100644
index 000000000000..6cbcb2de6bce
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCurrencyControl.java
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.CurrencyField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XCurrencyField</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XCurrencyField
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XCurrencyField
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OCurrencyControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CurrencyField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * <li> <code>'XTextComponent.onlyNumbers'</code> for
+ * {@link ifc.awt._XTextComponent} : as the currency field
+ * can have only numeric values the relation must be specified. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CurrencyField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OCurrencyControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OCurrencyControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OCurrencyControl", e);
+ }
+
+ log.println("creating a new environment for OCurrencyControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+
+ // Adding relation for XTextComponent
+ tEnv.addObjRelation("XTextComponent.onlyNumbers", new Object());
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OCurrencyControl
diff --git a/qadevOOo/tests/java/mod/_forms/OCurrencyModel.java b/qadevOOo/tests/java/mod/_forms/OCurrencyModel.java
new file mode 100644
index 000000000000..319e1a90a502
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCurrencyModel.java
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.CurrencyField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::awt::UnoControlCurrencyFieldModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::form::component::CurrencyField</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.awt.UnoControlCurrencyFieldModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see com.sun.star.form.component.CurrencyField
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.awt._UnoControlCurrencyFieldModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+* @see ifc.form.component._CurrencyField
+*/
+public class OCurrencyModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Value";
+ * super.m_kindOfControl="CurrencyField";
+ * super.m_ObjectName = "stardiv.one.form.component.CurrencyField";
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "DataField";
+ * myProp.Value = "Identifier";
+ * super.m_propertiesToSet.add(myProp);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ObjectName = "stardiv.one.form.component.CurrencyField";
+
+ super.m_kindOfControl="CurrencyField";
+
+ NamedValue myProp = new NamedValue();
+ myProp.Name = "DataField";
+ myProp.Value = "Identifier";
+ super.m_propertiesToSet.add(myProp);
+
+ super.m_ChangePropertyName = "Value";
+ super.m_ChangePropertyValue = new Double(0);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+} // finish class OCurrencyModel
diff --git a/qadevOOo/tests/java/mod/_forms/ODatabaseForm.java b/qadevOOo/tests/java/mod/_forms/ODatabaseForm.java
new file mode 100644
index 000000000000..4b360e20fd10
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ODatabaseForm.java
@@ -0,0 +1,901 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+import util.DrawTools;
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.form.DatabaseParameterEvent;
+import com.sun.star.form.XForm;
+import com.sun.star.form.XLoadable;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdb.ParametersRequest;
+import com.sun.star.sdb.RowChangeEvent;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.task.XInteractionRequest;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+import ifc.form._XDatabaseParameterBroadcaster;
+import ifc.sdb._XCompletedExecution;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.DatabaseForm</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::script::XEventAttacherManager</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::sdbcx::ResultSet</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetUpdate</code></li>
+ * <li> <code>com::sun::star::sdb::XResultSetAccess</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::form::component::DataForm</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetMetaDataSupplier</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::sdbcx::XDeleteRows</code></li>
+ * <li> <code>com::sun::star::sdb::RowSet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowUpdate</code></li>
+ * <li> <code>com::sun::star::form::XLoadable</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::container::XIndexReplace</code></li>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XNameReplace</code></li>
+ * <li> <code>com::sun::star::container::XIndexContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::sdbc::XParameters</code></li>
+ * <li> <code>com::sun::star::util::XCancellable</code></li>
+ * <li> <code>com::sun::star::form::XReset</code></li>
+ * <li> <code>com::sun::star::sdbc::XCloseable</code></li>
+ * <li> <code>com::sun::star::sdbcx::XColumnsSupplier</code></li>
+ * <li> <code>com::sun::star::sdb::XRowSetApproveBroadcaster</code></li>
+ * <li> <code>com::sun::star::sdbc::ResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRow</code></li>
+ * <li> <code>com::sun::star::sdbc::XColumnLocate</code></li>
+ * <li> <code>com::sun::star::awt::XTabControllerModel</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::form::XSubmit</code></li>
+ * <li> <code>com::sun::star::form::component::HTMLForm</code></li>
+ * <li> <code>com::sun::star::sdbcx::XRowLocate</code></li>
+ * <li> <code>com::sun::star::sdbc::XWarningsSupplier</code></li>
+ * <li> <code>com::sun::star::container::XNameContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::sdbc::RowSet</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * The following parameters in ini-file used by this test:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database.
+ * For example: <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul><p>
+ *
+ * @see com.sun.star.script.XEventAttacherManager
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.sdbcx.ResultSet
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.sdbc.XResultSetUpdate
+ * @see com.sun.star.sdb.XResultSetAccess
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.form.component.DataForm
+ * @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.sdbcx.XDeleteRows
+ * @see com.sun.star.sdb.RowSet
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.sdbc.XRowSet
+ * @see com.sun.star.sdbc.XRowUpdate
+ * @see com.sun.star.form.XLoadable
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.container.XIndexReplace
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XNameReplace
+ * @see com.sun.star.container.XIndexContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.sdbc.XParameters
+ * @see com.sun.star.util.XCancellable
+ * @see com.sun.star.form.XReset
+ * @see com.sun.star.sdbc.XCloseable
+ * @see com.sun.star.sdbcx.XColumnsSupplier
+ * @see com.sun.star.sdb.XRowSetApproveBroadcaster
+ * @see com.sun.star.sdbc.ResultSet
+ * @see com.sun.star.sdbc.XResultSet
+ * @see com.sun.star.sdbc.XRow
+ * @see com.sun.star.sdbc.XColumnLocate
+ * @see com.sun.star.awt.XTabControllerModel
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.form.XSubmit
+ * @see com.sun.star.form.component.HTMLForm
+ * @see com.sun.star.sdbcx.XRowLocate
+ * @see com.sun.star.sdbc.XWarningsSupplier
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.sdbc.RowSet
+ * @see ifc.script._XEventAttacherManager
+ * @see ifc.container._XElementAccess
+ * @see ifc.sdbcx._ResultSet
+ * @see ifc.container._XChild
+ * @see ifc.sdbc._XResultSetUpdate
+ * @see ifc.sdb._XResultSetAccess
+ * @see ifc.form._FormComponent
+ * @see ifc.form.component._DataForm
+ * @see ifc.sdbc._XResultSetMetaDataSupplier
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.sdbcx._XDeleteRows
+ * @see ifc.sdb._RowSet
+ * @see ifc.lang._XComponent
+ * @see ifc.sdbc._XRowSet
+ * @see ifc.sdbc._XRowUpdate
+ * @see ifc.form._XLoadable
+ * @see ifc.container._XNamed
+ * @see ifc.container._XIndexReplace
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XNameReplace
+ * @see ifc.container._XIndexContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.sdbc._XParameters
+ * @see ifc.util._XCancellable
+ * @see ifc.form._XReset
+ * @see ifc.sdbc._XCloseable
+ * @see ifc.sdbcx._XColumnsSupplier
+ * @see ifc.sdb._XRowSetApproveBroadcaster
+ * @see ifc.sdbc._ResultSet
+ * @see ifc.sdbc._XResultSet
+ * @see ifc.sdbc._XRow
+ * @see ifc.sdbc._XColumnLocate
+ * @see ifc.awt._XTabControllerModel
+ * @see ifc.container._XIndexAccess
+ * @see ifc.form._XSubmit
+ * @see ifc.form.component._HTMLForm
+ * @see ifc.sdbcx._XRowLocate
+ * @see ifc.sdbc._XWarningsSupplier
+ * @see ifc.container._XNameContainer
+ * @see ifc.beans._XPropertyAccess
+ * @see ifc.beans._XPropertyContainer
+ * @see ifc.beans._XPropertySet
+ * @see ifc.sdbc._RowSet
+ */
+public class ODatabaseForm extends TestCase {
+ protected final static String dbSourceName = "ODatabaseFormDataSource";
+ private static int uniqueSuffix = 0;
+ private static String origDB = null;
+ private static String tmpDir = null;
+ protected XTextDocument xTextDoc = null;
+ private DBTools dbTools = null;
+ String tableName = null;
+ DBTools.DataSourceInfo srcInf = null;
+ boolean isMySQLDB = false;
+ protected XConnection conn = null;
+ private Object dbSrc = null;
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ //log.println( "creating a draw document" );
+ //xTextDoc = WriterTools.createTextDoc(t((XMultiServiceFactory) Param.getMSF));
+ tmpDir = utils.getOfficeTemp(((XMultiServiceFactory) tParam.getMSF()));
+
+ origDB = util.utils.getFullTestDocName("TestDB/testDB.dbf");
+
+ dbTools = new DBTools( (XMultiServiceFactory)tParam.getMSF(), log );
+
+ // creating DataSource and registering it in DatabaseContext
+ String dbURL = (String) tParam.get("test.db.url");
+ String dbUser = (String) tParam.get("test.db.user");
+ String dbPassword = (String) tParam.get("test.db.password");
+
+ log.println("Creating and registering DataSource ...");
+ srcInf = dbTools.newDataSourceInfo();
+
+ if ((dbURL != null) && (dbUser != null) && (dbPassword != null)) {
+ isMySQLDB = true;
+ log.println("dbURL = " + dbURL);
+ log.println("dbUSER = " + dbUser);
+ log.println("dbPASSWORD = " + dbPassword);
+
+ //DataSource for mysql db
+ try {
+ tableName = "soffice_test_table";
+ srcInf.URL = "jdbc:" + dbURL;
+ srcInf.IsPasswordRequired = new Boolean(true);
+ srcInf.Password = dbPassword;
+ srcInf.User = dbUser;
+
+ PropertyValue[] propInfo = new PropertyValue[1];
+ propInfo[0] = new PropertyValue();
+ propInfo[0].Name = "JavaDriverClass";
+// propInfo[0].Value = "org.gjt.mm.mysql.Driver";
+ propInfo[0].Value = "util.dddriver.Driver";
+ srcInf.Info = propInfo;
+
+ dbSrc = srcInf.getDataSourceService();
+ dbTools.reRegisterDB(dbSourceName, dbSrc);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while object test initialization :");
+ e.printStackTrace(log);
+ throw new StatusException("Error while object test" +
+ " initialization", e);
+ }
+ } else {
+ //DataSource for sdbc db
+ try {
+ String myDbUrl = "sdbc:dbase:" + DBTools.dirToUrl(tmpDir);
+ srcInf.URL = myDbUrl;
+
+ log.println("try to register '"+myDbUrl+"' as '"+dbSourceName+"'");
+
+ dbSrc = srcInf.getDataSourceService();
+ dbTools.reRegisterDB(dbSourceName, dbSrc);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while object test initialization :");
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error while object test initialization", e);
+ }
+
+ String oldF = null;
+ String newF = null;
+
+ do {
+ tableName = "ODatabaseForm_tmp" + uniqueSuffix;
+ oldF = utils.getFullURL(origDB);
+ newF = utils.getOfficeTemp((XMultiServiceFactory) tParam.getMSF()) + tableName +
+ ".dbf";
+ } while (!utils.tryOverwriteFile(((XMultiServiceFactory) tParam.getMSF()), oldF, newF) &&
+ (uniqueSuffix++ < 50));
+ }
+ }
+
+ /**
+ * * creating a Testenvironment for the interfaces to be tested
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ if (xTextDoc != null) {
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+
+ log.println("Existing document disposed");
+ }
+
+ log.println("creating a text document");
+ xTextDoc = WriterTools.createTextDoc(((XMultiServiceFactory) Param.getMSF()));
+
+ //initialize test table
+ if (isMySQLDB) {
+ try {
+ dbTools.initTestTableUsingJDBC(tableName, srcInf);
+ } catch (java.sql.SQLException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't " + " init test table. SQLException..."));
+ } catch (java.lang.ClassNotFoundException e) {
+ throw new StatusException(Status.failed("Couldn't " + "register mysql driver"));
+ }
+ }
+
+ XInterface oObj = null;
+ XShapes oShapes = null;
+ XInterface oInstance = null;
+ XConnection connection = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ XNameContainer forms = FormTools.getForms(WriterTools.getDrawPage(
+ xTextDoc));
+
+ try {
+ String[] formNames = forms.getElementNames();
+
+ for (int i = 0; i < formNames.length; i++) {
+ log.println("Removing form '" + formNames[i] + "' ...");
+ forms.removeByName(formNames[i]);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ }
+
+ String[] formNames = forms.getElementNames();
+ FormTools.insertForm(xTextDoc, forms, "MyForm");
+ formNames = forms.getElementNames();
+
+ XLoadable formLoader = null;
+
+ try {
+ formLoader = FormTools.bindForm(xTextDoc, "MyForm", dbSourceName,
+ tableName);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Cann't bind the form to source '" + dbSourceName +
+ "', table '" + tableName + "' :");
+ e.printStackTrace(log);
+ throw new StatusException("Cann't bind a form", e);
+ }
+
+
+ // DEBUG
+ log.println("Forms before adding controls : ");
+ formNames = forms.getElementNames();
+
+ for (int i = 0; i < formNames.length; i++) {
+ log.println(" '" + formNames[i] + "'");
+ }
+
+ XControlShape shape1 = null;
+ XControlShape shape2 = null;
+
+ try {
+
+ log.println("Elements in the 'MyForm' :");
+
+ XIndexAccess formElements1 = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ forms.getByName("MyForm"));
+
+ for (int i = 0; i < formElements1.getCount(); i++) {
+ XNamed elemName = (XNamed) UnoRuntime.queryInterface(
+ XNamed.class,
+ formElements1.getByIndex(i));
+ log.println(" '" + elemName.getName() + "'");
+ }
+
+
+ // END DEBUG
+ //put something on the drawpage
+ log.println("inserting some ControlShapes");
+ oShapes = DrawTools.getShapes(WriterTools.getDrawPage(xTextDoc));
+ shape1 = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 1000, "CommandButton");
+ shape2 = FormTools.createControlShape(xTextDoc, 5000, 3500, 7500,
+ 5000, "TextField");
+
+ XControlShape shape3 = FormTools.createControlShape(xTextDoc, 2000,
+ 1500, 1000,
+ 1000,
+ "CheckBox");
+ oShapes.add((XShape) shape1);
+ oShapes.add((XShape) shape2);
+ oShapes.add(shape3);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("Forms after adding controls : ");
+ formNames = forms.getElementNames();
+
+ for (int i = 0; i < formNames.length; i++) {
+ log.println(" '" + formNames[i] + "'");
+ }
+
+ try {
+ log.println("Elements in the 'MyForm' :");
+
+ XIndexAccess formElements1 = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ forms.getByName("MyForm"));
+
+ for (int i = 0; i < formElements1.getCount(); i++) {
+ XNamed elemName = (XNamed) UnoRuntime.queryInterface(
+ XNamed.class,
+ formElements1.getByIndex(i));
+ log.println(" '" + elemName.getName() + "'");
+ }
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+
+ formLoader.load();
+
+ try {
+ oObj = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ (FormTools.getForms(
+ WriterTools.getDrawPage(
+ xTextDoc)))
+ .getByName("MyForm"));
+
+ XPropertySet xSetProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ connection = (XConnection) AnyConverter.toObject(
+ new Type(XConnection.class),
+ xSetProp.getPropertyValue("ActiveConnection"));
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get Form");
+ e.printStackTrace(log);
+ }
+
+
+ // get a control
+ oInstance = FormTools.createControl(xTextDoc, "TextField");
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ // adding relation for closing connection while environment disposing.
+ this.conn = connection;
+
+ // adding relation for XSubmit
+ XControlModel the_Model = shape2.getControl();
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+ XControl cntrl = null;
+
+ //now get the OEditControl
+ try {
+ cntrl = the_access.getControl(the_Model);
+ log.println(cntrl.getClass().getName());
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OEditControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OEditControl", e);
+ }
+
+ XResultSet the_set = (XResultSet) UnoRuntime.queryInterface(
+ XResultSet.class, oObj);
+
+ try {
+ the_set.first();
+ } catch (SQLException e) {
+ log.println("Cann't move cursor to the first row.");
+ e.printStackTrace();
+ throw new StatusException("Can't move cursor to the first row.", e);
+ }
+
+ tEnv.addObjRelation("Model1", shape1.getControl());
+ tEnv.addObjRelation("Model2", shape2.getControl());
+
+
+ // adding an object for XNameReplace testing
+ log.println("adding oInstace as obj relation to environment");
+ tEnv.addObjRelation("INSTANCE", oInstance);
+
+
+ // INDEX : _XNameContainer
+ log.println("adding INDEX as obj relation to environment");
+ tEnv.addObjRelation("INDEX", "0");
+
+
+ // INDEX : _XNameReplace
+ log.println("adding NameReplaceIndex as obj relation to environment");
+ tEnv.addObjRelation("XNameReplaceINDEX", "2");
+
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ //XComponent xComp = (XComponent)
+ // UnoRuntime.queryInterface(XComponent.class, xDrawDoc);
+ String tc = (String) Param.get("THRCNT");
+ int THRCNT = 1;
+
+ if (tc != null) {
+ THRCNT = Integer.parseInt(tc);
+ }
+
+ for (int n = 1; n < (2 * (THRCNT + 1)); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ tEnv.addObjRelation("INSTANCE" + n,
+ FormTools.createControl(xTextDoc, "CheckBox"));
+ }
+
+
+ // adding relation for XNameContainer
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+
+ // adding relation for XPersistObject
+ tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component.Form");
+
+ if (the_set != null) {
+ log.println("The Form has a not empty ResultSet");
+ }
+
+ // Adding obj relation for XRowSetApproveBroadcaster test
+ final XResultSet xResSet = (XResultSet) UnoRuntime.queryInterface(
+ XResultSet.class, oObj);
+ final XResultSetUpdate xResSetUpdate = (XResultSetUpdate) UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ oObj);
+ final XRowSet xRowSet = (XRowSet) UnoRuntime.queryInterface(
+ XRowSet.class, oObj);
+ final PrintWriter logF = log;
+ tEnv.addObjRelation("XRowSetApproveBroadcaster.ApproveChecker",
+ new ifc.sdb._XRowSetApproveBroadcaster.RowSetApproveChecker() {
+ public void moveCursor() {
+ try {
+ xResSet.beforeFirst();
+ xResSet.afterLast();
+ } catch (com.sun.star.sdbc.SQLException e) {
+ logF.println("### _XRowSetApproveBroadcaster." + "RowSetApproveChecker.moveCursor() :");
+ e.printStackTrace(logF);
+ }
+ }
+
+ public RowChangeEvent changeRow() {
+ try {
+ xResSet.first();
+
+ XRowUpdate row = (XRowUpdate) UnoRuntime.queryInterface(
+ XRowUpdate.class, xResSet);
+ row.updateString(1, "1");
+ xResSetUpdate.updateRow();
+ } catch (com.sun.star.sdbc.SQLException e) {
+ logF.println("### _XRowSetApproveBroadcaster." + "RowSetApproveChecker.changeRow() :");
+ e.printStackTrace(logF);
+ }
+
+ RowChangeEvent ev = new RowChangeEvent();
+ ev.Action = com.sun.star.sdb.RowChangeAction.UPDATE;
+ ev.Rows = 1;
+
+ return ev;
+ }
+
+ public void changeRowSet() {
+ try {
+ xRowSet.execute();
+ } catch (com.sun.star.sdbc.SQLException e) {
+ logF.println("### _XRowSetApproveBroadcaster." + "RowSetApproveChecker.changeRowSet() :");
+ e.printStackTrace(logF);
+ }
+ }
+ });
+
+
+ // Adding relation for XColumnLocate test
+ tEnv.addObjRelation("XColumnLocate.ColumnName", DBTools.TST_STRING_F);
+
+ // Adding relation for XParameters ifc test
+ Vector params = new Vector();
+
+
+ /***** statement parameter types and their initial
+ values must be added here as relation. */
+ params.add(new String("SAU99")) ;
+ params.add(new Boolean(false)) ;
+ params.add(new Byte((byte) 123)) ;
+ params.add(new Short((short) 234)) ;
+ params.add(new Integer(12345)) ;
+ params.add(new Long(23456)) ;
+ params.add(new Float(1.234)) ;
+ params.add(new Double(2.345)) ;
+ params.add(new byte[] {1, 2, 3}) ;
+ Date d = new Date();
+ d.Day = 26; d.Month = 1; d.Year = 2001;
+ params.add(d) ;
+ Time t = new Time();
+ t.Hours = 1; t.HundredthSeconds = 12; t.Minutes = 25; t.Seconds = 14;
+ params.add(t) ;
+ DateTime dt = new DateTime();
+ dt.Day = 26; dt.Month = 1; dt.Year = 2001; dt.Hours = 1;
+ dt.HundredthSeconds = 12; dt.Minutes = 25; dt.Seconds = 14;
+ params.add(dt) ;
+ tEnv.addObjRelation("XParameters.ParamValues", params);
+
+ // Adding relation for XCompletedExecution
+ tEnv.addObjRelation("InteractionHandlerChecker", new InteractionHandlerImpl());
+
+ // Adding for XWarningSupplier
+ tEnv.addObjRelation("CheckWarningsSupplier", new Boolean(isMySQLDB));
+
+ // Adding relation for XDatabaseParameterBroadcaster
+ tEnv.addObjRelation("ParameterListenerChecker", new ODatabaseForm.ParameterListenerImpl());
+ XPropertySet xSetProp = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oObj) ;
+ try {
+ xSetProp.setPropertyValue("DataSourceName", dbSourceName) ;
+ if(isMySQLDB) {
+ xSetProp.setPropertyValue("Command", "SELECT Column0 FROM soffice_test_table WHERE ( ( Column0 = :param1 ) )");
+ }
+ else {
+ xSetProp.setPropertyValue("Command", "SELECT \"_TEXT\" FROM \"ODatabaseForm_tmp0\" WHERE ( ( \"_TEXT\" = :param1 ) )");
+ }
+
+ xSetProp.setPropertyValue("CommandType",
+ new Integer(CommandType.COMMAND)) ;
+ }
+ catch(Exception e) {
+ }
+
+ // Adding relation for XResultSetUpdate
+ final XRowUpdate xRowUpdate = (XRowUpdate) UnoRuntime.queryInterface(
+ XRowUpdate.class, oObj);
+ final XRow xRow = (XRow) UnoRuntime.queryInterface(XRow.class, oObj);
+
+ tEnv.addObjRelation("XResultSetUpdate.UpdateTester",
+ new ifc.sdbc._XResultSetUpdate.UpdateTester() {
+ String lastUpdate = null;
+
+ public int rowCount() throws SQLException {
+ int prevPos = xResSet.getRow();
+ xResSet.last();
+
+ int count = xResSet.getRow();
+ xResSet.absolute(prevPos);
+
+ return count;
+ }
+
+ public void update() throws SQLException {
+ lastUpdate = xRow.getString(1);
+ lastUpdate += "_";
+ xRowUpdate.updateString(1, lastUpdate);
+ }
+
+ public boolean wasUpdated() throws SQLException {
+ String getStr = xRow.getString(1);
+
+ return lastUpdate.equals(getStr);
+ }
+
+ public int currentRow() throws SQLException {
+ return xResSet.getRow();
+ }
+ });
+
+ // Adding relations for XRow as a Vector with all data
+ // of current row of RowSet.
+
+ Vector rowData = new Vector();
+
+ for (int i = 0; i < DBTools.TST_TABLE_VALUES[0].length; i++) {
+ rowData.add(DBTools.TST_TABLE_VALUES[0][i]);
+ }
+
+ tEnv.addObjRelation("CurrentRowData", rowData);
+
+ // Adding relation for XRowUpdate
+ XRow row = (XRow) UnoRuntime.queryInterface(XRow.class, oObj);
+ tEnv.addObjRelation("XRowUpdate.XRow", row);
+
+
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "Cycle");
+
+ PropertyValue propVal = new PropertyValue();
+ propVal.Name = "Name";
+ propVal.Value = "Text since XPropertyAccess";
+
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", propVal);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes connection of <code>RowSet</code> instance created.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("closing connection...");
+ try {
+ conn.close();
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't close the connection");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Connection was already closed. It's OK.");
+ }
+
+
+ log.println("closing data source...");
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, dbSrc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close data source");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close data source");
+ }
+
+
+ log.println("closing document...");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+
+ log.println("revoking data source...");
+ try {
+ dbTools.revokeDB(dbSourceName);
+ } catch (com.sun.star.container.NoSuchElementException e){
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while object test cleaning up :");
+ e.printStackTrace(log);
+ throw new StatusException("Error while object test cleaning up", e);
+ }
+ }
+
+ /**
+ * Implementation of interface _XDatabaseParameterBroadcaster.CheckParameterListener
+ * for the XDatabaseParameterBroadcaster test
+ * @see ifc.form._XDatabaseParameterBroadcaster
+ */
+ public class ParameterListenerImpl implements _XDatabaseParameterBroadcaster.CheckParameterListener {
+ boolean listenerWasCalled = false;
+ PrintWriter log = new PrintWriter(System.out);
+
+ /**
+ * Return true, if the listener was called, false otherwise.
+ * @return True, if any other method of the listener was called.
+ */
+ public boolean checkListener() {
+ return listenerWasCalled;
+ }
+
+ /**
+ * Take the DataBaseParameterEvent and fill it with a meaningful value.
+ * @param e The database parameter that will be filled with a value.
+ * @return True, if the value could be filled.
+ */
+ public boolean approveParameter(DatabaseParameterEvent e) {
+ log.println("### ParameterListenerImpl: approve called.");
+ XIndexAccess params = e.Parameters;
+ int count = params.getCount();
+ try {
+ for(int i=0; i<count; i++) {
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: Parameter "+i+": "+params.getByIndex(i));
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, params.getByIndex(i));
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: Parameter Name: '"+xProp.getPropertyValue("Name") + "' is set to Value '1'");
+ xProp.setPropertyValue("Value", new Integer(1));
+ listenerWasCalled = true;
+ }
+ }
+ catch(Exception eI) {
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: Exception!");
+ eI.printStackTrace(log);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Dummy implemetnation. Do nothing, just log
+ * @param o Ignore.
+ */
+ public void disposing(EventObject o) {
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: disposing");
+ }
+
+ /**
+ * Set a log writer, so messages go to log instead of Standard.out
+ * @param log The log messages get printed to.
+ */
+ public void setLog(PrintWriter log) {
+ this.log = log;
+ }
+
+ }
+
+
+ /**
+ * Implementation of interface _XCompletedExecution.CheckInteractionHandler
+ * for the XCompletedExecution test
+ * @see ifc.sdb._XCompletedExecution
+ */
+ public class InteractionHandlerImpl implements _XCompletedExecution.CheckInteractionHandler {
+ private boolean handlerWasUsed = false;
+ private PrintWriter log = new PrintWriter(System.out);
+
+ public boolean checkInteractionHandler() {
+ return handlerWasUsed;
+ }
+
+ public void handle(XInteractionRequest xInteractionRequest) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: handle called.");
+ handlerWasUsed = true;
+
+ Object o = xInteractionRequest.getRequest();
+ ParametersRequest req = (ParametersRequest)o;
+ XIndexAccess params = req.Parameters;
+ int count = params.getCount();
+ try {
+ for(int i=0; i<count; i++) {
+ Object aObject = params.getByIndex(i);
+ Any any = (Any)aObject;
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Parameter "+i+": "+params.getByIndex(i));
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, params.getByIndex(i));
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Parameter Name: '"+xProp.getPropertyValue("Name") + "' is set to Value '1'");
+ xProp.setPropertyValue("Value", new Integer(1));
+ handlerWasUsed = true;
+ }
+ }
+ catch(Exception eI) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Exception!");
+ eI.printStackTrace(log);
+ }
+ }
+
+ public void setLog(PrintWriter log) {
+ this.log = log;
+ }
+
+ }
+} // finish class ODatabaseForm
diff --git a/qadevOOo/tests/java/mod/_forms/ODateControl.java b/qadevOOo/tests/java/mod/_forms/ODateControl.java
new file mode 100644
index 000000000000..e143929fa19d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ODateControl.java
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.DateField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XDateField</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XDateField
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XDateField
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class ODateControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.DateField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "DateField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the ODateControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get ODateControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ODateControl", e);
+ }
+
+ log.println("creating a new environment for ODateControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ODateControl
diff --git a/qadevOOo/tests/java/mod/_forms/ODateModel.java b/qadevOOo/tests/java/mod/_forms/ODateModel.java
new file mode 100644
index 000000000000..297c5088937e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ODateModel.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DateField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::awt::UnoControlDateFieldModel</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::DateField</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.awt.UnoControlDateFieldModel
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.DateField
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.awt._UnoControlDateFieldModel
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.form.component._DateField
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class ODateModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Date";
+ * super.m_kindOfControl="DateField";
+ * super.m_ObjectName = "stardiv.one.form.component.DateField";
+ *
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_DATE_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * NamedValue Date = new NamedValue();
+ * Date.Name = "Date";
+ * Date.Value = new Integer(DBTools.TST_DATE);
+ * super.m_propertiesToSet.add(Date);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Date";
+
+ super.m_kindOfControl="DateField";
+
+ super.m_ObjectName = "stardiv.one.form.component.DateField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_DATE_F;
+ super.m_propertiesToSet.add(DataField);
+
+ NamedValue Date = new NamedValue();
+ Date.Name = "Date";
+ Date.Value = new Integer(DBTools.TST_DATE);
+ super.m_propertiesToSet.add(Date);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+} // finish class ODateModel
diff --git a/qadevOOo/tests/java/mod/_forms/OEditControl.java b/qadevOOo/tests/java/mod/_forms/OEditControl.java
new file mode 100644
index 000000000000..ac56d9f0cf93
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OEditControl.java
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.TextField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::form::XChangeBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.form.XChangeBroadcaster
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.form._XChangeBroadcaster
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OEditControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.TextField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * <li> <code>'Win1'</code> for
+ * {@link ifc.form.XChangeBroadcaster} : the window (controller)
+ * of the tested component. </li>
+ * <li> <code>'Win2'</code> for
+ * {@link ifc.form.XChangeBroadcaster} : the window (controller)
+ * of another component. </li>
+ * <li> <code>'CONTROL'</code> for
+ * {@link ifc.form.XChangeBroadcaster} : the controller
+ * of another component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XControl aControl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OEditControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OEditControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OEditControl", e);
+ }
+
+ log.println("creating a new environment for OEditControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // relations for XChangeBroadcaster
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("Win1",
+ (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ oObj));
+ tEnv.addObjRelation("Win2", forObjRel);
+ tEnv.addObjRelation("CONTROL", aControl);
+
+
+ // relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OEditControl
diff --git a/qadevOOo/tests/java/mod/_forms/OEditModel.java b/qadevOOo/tests/java/mod/_forms/OEditModel.java
new file mode 100644
index 000000000000..4004b68d13a1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OEditModel.java
@@ -0,0 +1,170 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.TextField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::component::TextField</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::awt::UnoControlEditModel</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseTextField</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.component.TextField
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.awt.UnoControlEditModel
+* @see com.sun.star.form.component.DatabaseTextField
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form.component._TextField
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.awt._UnoControlEditModel
+* @see ifc.form.component._DatabaseTextField
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OEditModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * <super.m_ChangePropertyName</CODE> = "Text";
+ * super.m_kindOfControl</CODE>="TextField";
+ * super.m_ObjectName</CODE> = "Edit";
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "DataField";
+ * myProp.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(myProp);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="TextField";
+
+ super.m_ObjectName = "stardiv.one.form.component.Edit";
+
+ NamedValue myProp = new NamedValue();
+ myProp.Name = "DataField";
+ myProp.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(myProp);
+
+ super.m_LCShape_Type = "FixedText";
+
+ super.m_ChangePropertyName = "Text";
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+} // finish class OEditModel
diff --git a/qadevOOo/tests/java/mod/_forms/OFileControlModel.java b/qadevOOo/tests/java/mod/_forms/OFileControlModel.java
new file mode 100644
index 000000000000..3ece2f3a359e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFileControlModel.java
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.FileControl</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlFileControlModel</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::form::component::FileControl</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form.FormControlModel
+ * @see com.sun.star.awt.UnoControlFileControlModel
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.form.component.FileControl
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.awt._UnoControlFileControlModel
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ * @see ifc.form.component._FileControl
+ */
+public class OFileControlModel extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Draw document where controls are placed.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) tParam.getMSF()));
+
+ try {
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create a document :");
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Can't create a document"));
+ }
+ }
+
+ /**
+ * Disposes Draw document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates FileControl in the Form. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ //get FileControlModel
+ String objName = "FileControl";
+
+ XControlShape aShape = null;
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xDrawDoc);
+
+ try {
+ Object oInt = oDocMSF.createInstance(
+ "com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance(
+ "com.sun.star.form.component." + objName);
+ aControl = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class, aCon);
+ aShape = (XControlShape) UnoRuntime.queryInterface(
+ XControlShape.class, oInt);
+ size.Height = 1500;
+ size.Width = 3000;
+ position.X = 1000;
+ position.Y = 1000;
+ aShape.setSize(size);
+ aShape.setPosition(position);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ log.println("Couldn't create a component " + e);
+ throw new StatusException(Status.failed("Can't create component"));
+ }
+
+ aShape.setControl(aControl);
+
+ DrawTools.getDrawPage(xDrawDoc, 0).add((XShape) aShape);
+ oObj = aShape.getControl();
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component." +
+ objName);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OFileControlModel
diff --git a/qadevOOo/tests/java/mod/_forms/OFixedTextModel.java b/qadevOOo/tests/java/mod/_forms/OFixedTextModel.java
new file mode 100644
index 000000000000..5753da62d75a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFixedTextModel.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.FixedText</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::awt::UnoControlFixedTextModel</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.container.XChild
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.awt.UnoControlFixedTextModel
+* @see com.sun.star.lang.XComponent
+* @see ifc.io._XPersistObject
+* @see ifc.container._XChild
+* @see ifc.form._FormControlModel
+* @see ifc.form._FormComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XPropertyState
+* @see ifc.container._XNamed
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.awt._UnoControlFixedTextModel
+* @see ifc.lang._XComponent
+*/
+
+public class OFixedTextModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CommandButton";
+ * super.m_ObjectName = "com.sun.star.form.component.CommandButton";
+ * super.m_LCShape_Type = "CommandButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="FixedText";
+
+ super.m_ObjectName = "stardiv.one.form.component.FixedText";
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+
+} // finish class OFixedTextModel
diff --git a/qadevOOo/tests/java/mod/_forms/OFormattedControl.java b/qadevOOo/tests/java/mod/_forms/OFormattedControl.java
new file mode 100644
index 000000000000..4888caba5441
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFormattedControl.java
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.FormattedField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OFormattedControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.FormattedField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "FormattedField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OFormattedControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OFormattedControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OFormattedControl", e);
+ }
+
+ log.println("creating a new environment for OFormattedControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OFormattedControl
diff --git a/qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java b/qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java
new file mode 100644
index 000000000000..b51b4b575932
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DBTools;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.FormattedField</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::form::XReset</code></li>
+ * <li> <code>com::sun::star::form::XBoundComponent</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+ * <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+ * <li> <code>com::sun::star::form::component::DatabaseFormattedField</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::form::XLoadListener</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlFormattedFieldModel</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.form.XReset
+ * @see com.sun.star.form.XBoundComponent
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.form.DataAwareControlModel
+ * @see com.sun.star.form.XUpdateBroadcaster
+ * @see com.sun.star.form.component.DatabaseFormattedField
+ * @see com.sun.star.form.FormControlModel
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XEventListener
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.form.XLoadListener
+ * @see com.sun.star.awt.UnoControlFormattedFieldModel
+ * @see com.sun.star.container.XChild
+ * @see ifc.io._XPersistObject
+ * @see ifc.form._XReset
+ * @see ifc.form._XBoundComponent
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.form._DataAwareControlModel
+ * @see ifc.form._XUpdateBroadcaster
+ * @see ifc.form.component._DatabaseFormattedField
+ * @see ifc.form._FormControlModel
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XEventListener
+ * @see ifc.beans._XPropertyAccess
+ * @see ifc.beans._XPropertyContainer
+ * @see ifc.beans._XPropertySet
+ * @see ifc.form._XLoadListener
+ * @see ifc.awt._UnoControlFormattedFieldModel
+ * @see ifc.container._XChild
+ */
+public class OFormattedFieldWrapper extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ ' super.m_ChangePropertyName = "Text";
+ * super.m_kindOfControl="DatabaseImageControl";
+ * super.m_ObjectName = "stardiv.one.form.component.DatabaseImageControl";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_BINARY_STREAM_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Text";
+
+ super.m_kindOfControl="DatabaseFormattedField";
+
+ super.m_ObjectName = "stardiv.one.form.component.Edit";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ } /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+} // finish class OFormattedFieldWrapper
diff --git a/qadevOOo/tests/java/mod/_forms/OFormsCollection.java b/qadevOOo/tests/java/mod/_forms/OFormsCollection.java
new file mode 100644
index 000000000000..af94a546b004
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFormsCollection.java
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.FormTools;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.Forms</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* </ul>
+*
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+*
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.container.XIndexReplace
+* @see com.sun.star.container.XNameContainer
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.container.XNameAccess
+* @see ifc.container._XNameReplace
+* @see ifc.container._XIndexReplace
+* @see ifc.container._XNameContainer
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.container._XIndexContainer
+* @see ifc.container._XNameAccess
+*/
+public class OFormsCollection extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a draw document");
+ xDrawDoc = DrawTools.createDrawDoc(((XMultiServiceFactory) tParam.getMSF()));
+ }
+
+ /**
+ * Disposes drawing document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Adds some controls to the 'Standard' form of a draw page,
+ * then adds an empty form to a collection of forms. Then
+ * returns the collection as a test object. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1' ... 'INSTANCEN'</code> for
+ * <code>XNameReplace, XNameContainer, XIndexReplace,
+ * XIndexContainer </code> : objects to be inserted
+ * or replaced with in interface tests. Number of relations
+ * depends on number of interface test threads. For each
+ * thread there must be an individual element. </li>
+ * <li> <code>'XNameContainer.AllowDuplicateNames'</code> :
+ * if this relation exists then container elements can have duplicate
+ * names. In case of forms' collection forms can have equal names.</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XDrawPage oDP = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ oDP = DrawTools.getDrawPage(xDrawDoc, 0);
+
+ (DrawTools.getShapes(oDP))
+ .add(FormTools.createControlShape(xDrawDoc, 2000, 1500, 1000, 1000,
+ "CheckBox"));
+ (DrawTools.getShapes(oDP))
+ .add(FormTools.createControlShape(xDrawDoc, 3000, 4500, 15000,
+ 1000, "CommandButton"));
+ (DrawTools.getShapes(oDP))
+ .add(FormTools.createControlShape(xDrawDoc, 5000, 3500, 7500, 5000,
+ "TextField"));
+
+ oObj = FormTools.getForms(oDP);
+ FormTools.insertForm(xDrawDoc, (XNameContainer) oObj, "SecondForm");
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ XComponent xComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xDrawDoc);
+ int THRCNT = 1;
+ if (Param.get("THRCNT")!= null) {
+ THRCNT = Integer.parseInt((String) Param.get("THRCNT"));
+ }
+
+ for (int n = 1; n < (THRCNT + 1); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ tEnv.addObjRelation("INSTANCE" + n,
+ FormTools.createControl(xComp, "Form"));
+ }
+
+
+ // adding indicator that this collection can have duplicate
+ // elements with the same names for XNameContainer test.
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+ tEnv.addObjRelation("INSTANCE", FormTools.createControl(xComp, "Form"));
+ tEnv.addObjRelation("INSTANCE2",
+ FormTools.createControl(xComp, "Form"));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OFormsCollection
diff --git a/qadevOOo/tests/java/mod/_forms/OGridControlModel.java b/qadevOOo/tests/java/mod/_forms/OGridControlModel.java
new file mode 100644
index 000000000000..65131dae1c46
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OGridControlModel.java
@@ -0,0 +1,431 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.form.XGridColumnFactory;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.GridControl</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::script::XEventAttacherManager</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::form::component::GridControl</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* <li> <code>com::sun::star::form::XGridColumnFactory</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::container::XContainer</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+*
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.form.XReset
+* @see com.sun.star.script.XEventAttacherManager
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.form.component.GridControl
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XIndexReplace
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XNameContainer
+* @see com.sun.star.form.XGridColumnFactory
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.container.XChild
+* @see com.sun.star.container.XContainer
+* @see ifc.io._XPersistObject
+* @see ifc.container._XNameReplace
+* @see ifc.form._XReset
+* @see ifc.script._XEventAttacherManager
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.container._XElementAccess
+* @see ifc.form.component._GridControl
+* @see ifc.view._XSelectionSupplier
+* @see ifc.container._XEnumerationAccess
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XIndexReplace
+* @see ifc.container._XNamed
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XNameContainer
+* @see ifc.form._XGridColumnFactory
+* @see ifc.lang._XComponent
+* @see ifc.container._XNameAccess
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexContainer
+* @see ifc.container._XChild
+* @see ifc.container._XContainer
+*/
+
+public class OGridControlModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CommandButton";
+ * super.m_ObjectName = "com.sun.star.form.component.CommandButton";
+ * super.m_LCShape_Type = "CommandButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="GridControl";
+
+ super.m_ObjectName = "stardiv.one.form.component.Grid";
+
+ super.m_LCShape_Type = "GridControl";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+
+ XInterface oObj = tEnv.getTestObject();
+
+ XPropertySet aControl = null;
+ XPropertySet aControl2 = null;
+ XPropertySet aControl3 = null;
+ XPropertySet aControl4 = null;
+ XPropertySet aControl5 = null;
+
+ try {
+ XGridColumnFactory columns = (XGridColumnFactory) UnoRuntime.queryInterface(
+ XGridColumnFactory.class, oObj);
+ aControl = columns.createColumn("TextField");
+ aControl2 = columns.createColumn("DateField");
+ aControl3 = columns.createColumn("TextField");
+ aControl4 = columns.createColumn("TextField");
+ aControl5 = columns.createColumn("TextField");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ // Some exception occures.FAILED
+ log.println("!!! Couldn't create instance : " + e);
+ throw new StatusException("Can't create column instances.", e);
+ }
+
+ XNameContainer aContainer = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class, oObj);
+
+ try {
+ aContainer.insertByName("First", aControl);
+ aContainer.insertByName("Second", aControl2);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! Could't insert column Instance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't insert columns", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Could't insert column Instance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't insert columns", e);
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("!!! Could't insert column Instance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't insert columns", e);
+ }
+
+ //Relations for XSelectionSupplier
+ tEnv.addObjRelation("Selections", new Object[] { aControl, aControl2 });
+
+ // adding relation for XNameContainer
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+
+ // adding relation for XContainer
+ tEnv.addObjRelation("INSTANCE", aControl3);
+ tEnv.addObjRelation("INSTANCE1", aControl4);
+ tEnv.addObjRelation("INSTANCE2", aControl5);
+
+
+ tEnv.addObjRelation("Comparer",
+ new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XNamed named1 = (XNamed) UnoRuntime.queryInterface(
+ XNamed.class, o1);
+ XNamed named2 = (XNamed) UnoRuntime.queryInterface(
+ XNamed.class, o2);
+
+ if (named1.getName().equals(named2.getName())) {
+ return 0;
+ }
+
+ return -1;
+ }
+
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ }
+ });
+
+
+// HashSet exclude = new HashSet();
+//
+// exclude.add("FormatKey");
+//
+// tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+// new Checker(m_XFormLoader, m_XPS, m_XCtrl, m_ChangePropertyName, m_ChangePropertyValue));
+ return tEnv;
+ }
+
+} // finish class OButtonModelold
+
+
+class OGridControlModelold extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) tParam.getMSF()));
+
+ log.println("creating a draw document");
+
+ try {
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create Draw document", e);
+ }
+ }
+
+ /**
+ * Disposes drawing document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * <code>GridControl</code> component created and added to the draw
+ * page. Then two columns are created and added to the grid.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1' ... 'INSTANCEN'</code> for
+ * <code>XNameReplace, XNameContainer, XIndexReplace,
+ * XIndexContainer </code> : objects to be inserted
+ * or replaced with in interface tests. Number of relations
+ * depends on number of interface test threads. For each
+ * thread there must be an individual element. </li>
+ * <li> <code>'XNameContainer.AllowDuplicateNames'</code> :
+ * if this relation exists then container elements can have duplicate
+ * names. <code>GridControl</code> can have.</li>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * <li> <code>'INSTANCE'</code> for
+ * {@link ifc.container._XContainer} : a column instance. </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XInterface oInstance = null;
+ XPropertySet aControl = null;
+ XPropertySet aControl2 = null;
+ XPropertySet aControl3 = null;
+ XPropertySet aControl4 = null;
+ XPropertySet aControl5 = null;
+ XGridColumnFactory columns = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ //get GridControlModel
+ String objName = "Grid";
+ XControlShape shape = FormTools.insertControlShape(xDrawDoc, 5000,
+ 7000, 2000, 2000,
+ "GridControl");
+ oObj = shape.getControl();
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ try {
+ columns = (XGridColumnFactory) UnoRuntime.queryInterface(
+ XGridColumnFactory.class, oObj);
+ aControl = columns.createColumn("TextField");
+ aControl2 = columns.createColumn("DateField");
+ aControl3 = columns.createColumn("TextField");
+ aControl4 = columns.createColumn("TextField");
+ aControl5 = columns.createColumn("TextField");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ // Some exception occures.FAILED
+ log.println("!!! Couldn't create instance : " + e);
+ throw new StatusException("Can't create column instances.", e);
+ }
+
+ XNameContainer aContainer = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class, oObj);
+
+ try {
+ aContainer.insertByName("First", aControl);
+ aContainer.insertByName("Second", aControl2);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! Could't insert column Instance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't insert columns", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Could't insert column Instance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't insert columns", e);
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("!!! Could't insert column Instance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't insert columns", e);
+ }
+
+ //Relations for XSelectionSupplier
+ tEnv.addObjRelation("Selections", new Object[] { aControl, aControl2 });
+
+ // COMPARER
+
+ int THRCNT = 1;
+ String count = (String)Param.get("THRCNT");
+ if (count != null)
+ THRCNT = Integer.parseInt(count);
+
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ try {
+ for (int n = 1; n < (3 * THRCNT + 1); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ oInstance = columns.createColumn("TextField");
+ tEnv.addObjRelation("INSTANCE" + n, oInstance);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create 'INSTANCEn' relations", e);
+ }
+
+
+ // adding relation for XNameContainer
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+ // OK tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component." + objName);
+
+
+ // adding relation for XContainer
+ tEnv.addObjRelation("INSTANCE", aControl3);
+ tEnv.addObjRelation("INSTANCE2", aControl4);
+
+
+ //adding ObjRelation for XPersistObject
+ // OK tEnv.addObjRelation("PSEUDOPERSISTENT", new Boolean(true)); // OK
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OGridControlModel
diff --git a/qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java b/qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java
new file mode 100644
index 000000000000..7b4a6adea8be
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java
@@ -0,0 +1,214 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.GroupBox</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XView
+ */
+public class OGroupBoxControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.GroupBox</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 5000,
+ 7000, 2000, 2000,
+ "GroupBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OGroupBoxControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OGroupBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OGroupBoxControl", e);
+ }
+
+ log.println("creating a new environment for OGroupBoxControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+
+ // Adding relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow",
+ UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OGroupBoxControl
diff --git a/qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java b/qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java
new file mode 100644
index 000000000000..8f8f227457c6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.GroupBox</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::UnoControlGroupBoxModel</code></li>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.awt.UnoControlGroupBoxModel
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form.FormControlModel
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+ * @see com.sun.star.beans.XPropertyContainer
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.awt._UnoControlGroupBoxModel
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ */
+public class OGroupBoxModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * <super.m_ChangePropertyName</CODE> = "Text";
+ * super.m_kindOfControl</CODE>="GroupBox";
+ * super.m_ObjectName</CODE> = "GroupBox";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="GroupBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.GroupBox";
+
+ super.m_LCShape_Type = "FixedText";
+
+ super.m_ChangePropertyName = "Text";
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+
+} // finish class OGroupBoxModel
diff --git a/qadevOOo/tests/java/mod/_forms/OHiddenModel.java b/qadevOOo/tests/java/mod/_forms/OHiddenModel.java
new file mode 100644
index 000000000000..de2f93bc494c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OHiddenModel.java
@@ -0,0 +1,203 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.FormTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.HiddenControl</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::form::component::HiddenControl</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form.FormControlModel
+ * @see com.sun.star.form.component.HiddenControl
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.form.component._HiddenControl
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ */
+public class OHiddenModel extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) tParam.getMSF()));
+
+ try {
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes drawing document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates hidden component, then adds Form into draw page,
+ * and inserts the component into Form components' collection.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+ String objName = "HiddenControl";
+ XInterface ctrl = SOF.createControl(xDrawDoc, objName);
+
+ try {
+ XDrawPage oDP = DrawTools.getDrawPage(xDrawDoc, 0);
+
+ XNameContainer nc = FormTools.getForms(oDP);
+ FormTools.insertForm(xDrawDoc, nc, "OHiddenModelForm");
+
+ Object frm = nc.getByName("OHiddenModelForm");
+
+ XNameContainer frmNC = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class, frm);
+
+ frmNC.insertByName("OHiddenModel", ctrl);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),
+ frmNC.getByName("OHiddenModel"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create and add control", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create and add control", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create and add control", e);
+ } catch (com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create and add control", e);
+ }
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ util.dbg.getSuppServices(oObj);
+
+ log.println("adding DrawDocument as obj relation to environment");
+ tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component.Hidden");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Name";
+ prop.Value = "new Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "Name");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OHiddenModel
diff --git a/qadevOOo/tests/java/mod/_forms/OImageButtonControl.java b/qadevOOo/tests/java/mod/_forms/OImageButtonControl.java
new file mode 100644
index 000000000000..8d8744ed7377
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageButtonControl.java
@@ -0,0 +1,219 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.ImageButton</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XApproveActionBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XApproveActionBroadcaster
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XApproveActionBroadcaster
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XView
+ */
+public class OImageButtonControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.ImageButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "ImageButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OImageButtonControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OImageButtonControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OImageButtonControl", e);
+ }
+
+ log.println(
+ "creating a new environment for OImageButtonControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OImageButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/OImageButtonModel.java b/qadevOOo/tests/java/mod/_forms/OImageButtonModel.java
new file mode 100644
index 000000000000..9920e26feea9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageButtonModel.java
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.ImageButton</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::awt::UnoControlImageControlModel</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::XImageProducerSupplier</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::component::ImageButton</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.container.XChild
+* @see com.sun.star.awt.UnoControlImageControlModel
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.XImageProducerSupplier
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.component.ImageButton
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.lang.XComponent
+* @see ifc.io._XPersistObject
+* @see ifc.container._XChild
+* @see ifc.awt._UnoControlImageControlModel
+* @see ifc.form._FormControlModel
+* @see ifc.form._FormComponent
+* @see ifc.form._XImageProducerSupplier
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XPropertyState
+* @see ifc.form.component._ImageButton
+* @see ifc.container._XNamed
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.lang._XComponent
+*/
+
+public class OImageButtonModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="ImageButton";
+ * super.m_ObjectName = "stardiv.one.form.component.ImageButton";
+ * super.m_LCShape_Type = "ImageButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="ImageButton";
+
+ super.m_ObjectName = "stardiv.one.form.component.ImageButton";
+
+ super.m_LCShape_Type = "ImageButton";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+
+} // finish class OImageButtonModel
diff --git a/qadevOOo/tests/java/mod/_forms/OImageControlControl.java b/qadevOOo/tests/java/mod/_forms/OImageControlControl.java
new file mode 100644
index 000000000000..f8771e086ec2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageControlControl.java
@@ -0,0 +1,220 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.DatabaseImageControl</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XView
+ */
+public class OImageControlControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.DatabaseImageControl</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShapeWithDefaultControl(
+ xTextDoc, 3000, 4500, 15000, 10000,
+ "DatabaseImageControl");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OImageControlControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ aControl = the_access.getControl(the_Model2);
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OImageControlControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OImageControlControl", e);
+ }
+
+ log.println(
+ "creating a new environment for OImageControlControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OImageControlControl
diff --git a/qadevOOo/tests/java/mod/_forms/OImageControlModel.java b/qadevOOo/tests/java/mod/_forms/OImageControlModel.java
new file mode 100644
index 000000000000..461b60fa52cd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageControlModel.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DatabaseImageControl</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::form::XImageProducerSupplier</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::awt::UnoControlImageControlModel</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code>
+* <b>(currently nonavailable)</b></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseImageControl</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+*
+* @see com.sun.star.form.XImageProducerSupplier
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.awt.UnoControlImageControlModel
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.form.component.DatabaseImageControl
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.form._XImageProducerSupplier
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.awt._UnoControlImageControlModel
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.form.component._DatabaseImageControl
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OImageControlModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="DatabaseImageControl";
+ * super.m_ObjectName = "stardiv.one.form.component.DatabaseImageControl";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_BINARY_STREAM_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl= "DatabaseImageControl";
+
+ super.m_ObjectName = "stardiv.one.form.component.ImageControl";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_BINARY_STREAM_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ } /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+} // finish class OImageControlModel
diff --git a/qadevOOo/tests/java/mod/_forms/OListBoxControl.java b/qadevOOo/tests/java/mod/_forms/OListBoxControl.java
new file mode 100644
index 000000000000..66dfaa38d777
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OListBoxControl.java
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XListBox;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+public class OListBoxControl extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( ((XMultiServiceFactory) Param.getMSF()) );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object anotherCtrl = null ;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"ListBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(
+ xTextDoc,3000,4500,5000,10000,"TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,xTextDoc.getCurrentController());
+
+ //now get the OListBoxControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200,200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get OListBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OListBoxControl", e );
+ }
+
+ log.println( "creating a new environment for OListBoxControl object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS",aGraphic);
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT",xTextDoc);
+ tEnv.addObjRelation("WINPEER",the_win);
+ tEnv.addObjRelation("TOOLKIT",the_kit);
+ tEnv.addObjRelation("MODEL",the_Model);
+
+ // Adding relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener() ;
+ final XListBox box = (XListBox) UnoRuntime.queryInterface(XListBox.class, oObj) ;
+ box.addItemListener(listener) ;
+ tEnv.addObjRelation("TestItemListener", listener) ;
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class, anotherCtrl);
+
+ XWindow objWin = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class, oObj);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow",forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape",aShape);
+
+ tEnv.addObjRelation("Win1",objWin);
+ tEnv.addObjRelation("Win2",forObjRel);
+
+ tEnv.addObjRelation("CONTROL",anotherCtrl);
+
+ // adding relation for XChangeBroadcaster
+ box.addItem("Item1", (short) 0);
+ box.addItem("Item2", (short) 1);
+
+ tEnv.addObjRelation("XChangeBroadcaster.Changer",
+ new ifc.form._XChangeBroadcaster.Changer() {
+ public void change(){
+ box.addItem("Item1", (short) 0);
+ box.addItem("Item2", (short) 1);
+ box.selectItemPos((short) 0, true);
+ box.selectItemPos((short) 1, true);
+ }
+ }
+ );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OListBoxControl
+
diff --git a/qadevOOo/tests/java/mod/_forms/OListBoxModel.java b/qadevOOo/tests/java/mod/_forms/OListBoxModel.java
new file mode 100644
index 000000000000..ebfe3bf5a47f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OListBoxModel.java
@@ -0,0 +1,236 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XLoadable;
+
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.form._XUpdateBroadcaster.UpdateChecker;
+import java.io.PrintWriter;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DatabaseListBox</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::awt::UnoControlListBoxModel</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::ListBox</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseListBox</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.awt.UnoControlListBoxModel
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.ListBox
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.form.component.DatabaseListBox
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.awt._UnoControlListBoxModel
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.form.component._ListBox
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.form.component._DatabaseListBox
+* @see ifc.container._XChild
+*/
+public class OListBoxModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Date";
+ * super.m_kindOfControl="DateField";
+ * super.m_ObjectName = "stardiv.one.form.component.DateField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_DATE_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * NamedValue ListSource = new NamedValue();
+ * ListSource.Name = "ListSource";
+ * ListSource.Value = new String[] {
+ * "OListBoxModel1", "OListBoxModel2", "OListBoxModel3"};
+ * super.m_propertiesToSet.add(ListSource);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "SelectedItems";
+
+ super.m_kindOfControl="ListBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.ListBox";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ NamedValue ListSource = new NamedValue();
+ ListSource.Name = "ListSource";
+ ListSource.Value = new String[] {
+ "OListBoxModel1", "OListBoxModel2", "OListBoxModel3"};
+ super.m_propertiesToSet.add(ListSource);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * This test uses not the generic implementaion of <CODE>cecker()</CODE> of its
+ * super class. This tests uses its own implementation of <CODE>checker()</CODE>
+ * to test <CODE>com::sun::star::form::XUpdateBroadcaster</CODE>
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new Checker(m_XFormLoader, m_XPS, m_XCtrl, m_ChangePropertyName, m_ChangePropertyValue));
+ return tEnv;
+ }
+
+ static class Checker implements UpdateChecker {
+ private short lastItem = (short) 0;
+ XLoadable formLoaderF = null;
+ XPropertySet ps = null;
+ XInterface ctrl = null;
+ String ChangePropertyName = null;
+ Object ChangePropertyValue = null;
+
+ public Checker(XLoadable xl, XPropertySet ps, XInterface ctrl, String ChangePropertyName, Object ChangePropertyValue) {
+ formLoaderF = xl;
+ this.ps = ps;
+ this.ctrl = ctrl;
+ this.ChangePropertyName=ChangePropertyName;
+ this.ChangePropertyValue=ChangePropertyValue;
+ }
+
+ public void update() throws Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+ lastItem = (short) (1 - lastItem);
+ ps.setPropertyValue(ChangePropertyName, new short[] { lastItem });
+ }
+
+ public void commit() throws SQLException {
+ XBoundComponent bound = (XBoundComponent) UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = (XResultSetUpdate) UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws Exception {
+ formLoaderF.reload();
+
+ short[] getS = (short[]) ps.getPropertyValue(ChangePropertyName);
+
+ return (getS.length > 0) && (lastItem == getS[0]);
+ }
+ }
+
+} // finish class OListBoxModel
diff --git a/qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java b/qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java
new file mode 100644
index 000000000000..f965a9c8af3f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+import util.DesktopTools;
+
+public class ONavigationBarControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CommandButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "NavigationToolBar");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get ONavigationBarControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ONavigationBarControl", e);
+ }
+
+ log.println("creating a new environment for ONavigationBarControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ONavigationBarControl
diff --git a/qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java b/qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java
new file mode 100644
index 000000000000..ffe624ed8f5d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class ONavigationBarModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="NavigationToolBar";
+ * super.m_ObjectName = "om.sun.star.form.component.NavigationToolBar";
+ * super.m_LCShape_Type = "NavigationToolBar";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="NavigationToolBar";
+
+ super.m_ObjectName = "com.sun.star.form.component.NavigationToolBar";
+
+ super.m_LCShape_Type = "NavigationToolBar";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+
+} // finish class ONavigationBarModel
+
diff --git a/qadevOOo/tests/java/mod/_forms/ONumericControl.java b/qadevOOo/tests/java/mod/_forms/ONumericControl.java
new file mode 100644
index 000000000000..ce03616582b0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONumericControl.java
@@ -0,0 +1,245 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.NumericField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XNumericField</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XNumericField
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XNumericField
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class ONumericControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.NumericField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "NumericField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the ONumericControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get ONumericControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ONumericControl", e);
+ }
+
+ log.println("creating a new environment for ONumericControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ tEnv.addObjRelation("XTextComponent.onlyNumbers", new Boolean(true));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ONumericControl
diff --git a/qadevOOo/tests/java/mod/_forms/ONumericModel.java b/qadevOOo/tests/java/mod/_forms/ONumericModel.java
new file mode 100644
index 000000000000..8a2ba304283f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONumericModel.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.for.component.NumericField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::component::NumericField</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::awt::UnoControlNumericFieldModel</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.component.NumericField
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.awt.UnoControlNumericFieldModel
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form.component._NumericField
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.awt._UnoControlNumericFieldModel
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class ONumericModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Time";
+ * super.m_kindOfControl="TimeField";
+ * super.m_ObjectName = "stardiv.one.form.component.TimeField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_INT_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Value";
+
+ super.m_kindOfControl="NumericField";
+
+ super.m_ObjectName = "stardiv.one.form.component.NumericField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_DOUBLE_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ } /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+} // finish class ONumericModel
diff --git a/qadevOOo/tests/java/mod/_forms/OPatternControl.java b/qadevOOo/tests/java/mod/_forms/OPatternControl.java
new file mode 100644
index 000000000000..34d325498c79
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OPatternControl.java
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.PatternField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XPatternField</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XPatternField
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XPatternField
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OPatternControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.PatternField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "PatternField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OPatternControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OPatternControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OPatternControl", e);
+ }
+
+ log.println("creating a new environment for OPatternControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OPatternControl
diff --git a/qadevOOo/tests/java/mod/_forms/OPatternModel.java b/qadevOOo/tests/java/mod/_forms/OPatternModel.java
new file mode 100644
index 000000000000..cc80327ff20d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OPatternModel.java
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.PatternField</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::form::XReset</code></li>
+ * <li> <code>com::sun::star::form::XBoundComponent</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::form::component::PatternField</code></li>
+ * <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+ * <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlPatternFieldModel</code></li>
+ * <li> <code>com::sun::star::form::component::DatabasePatternField</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::form::XLoadListener</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.form.XReset
+ * @see com.sun.star.form.XBoundComponent
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.form.component.PatternField
+ * @see com.sun.star.form.DataAwareControlModel
+ * @see com.sun.star.form.XUpdateBroadcaster
+ * @see com.sun.star.awt.UnoControlPatternFieldModel
+ * @see com.sun.star.form.component.DatabasePatternField
+ * @see com.sun.star.form.FormControlModel
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XEventListener
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.form.XLoadListener
+ * @see com.sun.star.container.XChild
+ * @see ifc.io._XPersistObject
+ * @see ifc.form._XReset
+ * @see ifc.form._XBoundComponent
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.form.component._PatternField
+ * @see ifc.form._DataAwareControlModel
+ * @see ifc.form._XUpdateBroadcaster
+ * @see ifc.awt._UnoControlPatternFieldModel
+ * @see ifc.form.component._DatabasePatternField
+ * @see ifc.form._FormControlModel
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XEventListener
+ * @see ifc.beans._XPropertySet
+ * @see ifc.form._XLoadListener
+ * @see ifc.container._XChild
+ */
+public class OPatternModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Text";
+ * super.m_kindOfControl="PatternField";
+ * super.m_ObjectName = "stardiv.one.form.component.PatternField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Text";
+
+ super.m_kindOfControl="PatternField";
+
+ super.m_ObjectName = "stardiv.one.form.component.PatternField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ } /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ return super.createTestEnvironment(Param, log);
+ }
+
+} // finish class OPatternModel
diff --git a/qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java b/qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java
new file mode 100644
index 000000000000..e013cb29cff8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java
@@ -0,0 +1,222 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.RadioButton</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XRadioButton</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XRadioButton
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XRadioButton
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XView
+ */
+public class ORadioButtonControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.RadioButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "RadioButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the ORadioButtonControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get ORadioButtonControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ORadioButtonControl", e);
+ }
+
+ log.println(
+ "creating a new environment for ORadioButtonControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ORadioButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java b/qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java
new file mode 100644
index 000000000000..36e3927f46af
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.RadioButton</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::component::RadioButton</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::awt::UnoControlRadioButtonModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.component.RadioButton
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.awt.UnoControlRadioButtonModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.form.component._RadioButton
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.awt._UnoControlRadioButtonModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class ORadioButtonModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName</CODE> = "State";
+ * super.m_kindOfControl</CODE>="RadioButton";
+ * super.m_ObjectName</CODE> = "RadioButton";
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "DataField";
+ * myProp.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(myProp);
+ * super.m_LCShape_Type = "GroupBox";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+ super.m_ChangePropertyName = "State";
+
+ super.m_kindOfControl="RadioButton";
+
+ super.m_ObjectName = "stardiv.one.form.component.RadioButton";
+
+ NamedValue myProp = new NamedValue();
+ myProp.Name = "DataField";
+ myProp.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(myProp);
+
+ super.m_LCShape_Type = "GroupBox";
+
+ }
+ /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+ tEnv.addObjRelation("DataAwareControlModel.NewFieldName",
+ DBTools.TST_INT_F);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+
+ return tEnv;
+ }
+
+} // finish class ORadioButtonModel
diff --git a/qadevOOo/tests/java/mod/_forms/OScrollBarModel.java b/qadevOOo/tests/java/mod/_forms/OScrollBarModel.java
new file mode 100644
index 000000000000..a847bfff055d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OScrollBarModel.java
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.WriterTools;
+
+public class OScrollBarModel extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates Writer document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ log.println( "creating a textdocument" );
+ xTextDoc = WriterTools.createTextDoc(((XMultiServiceFactory) tParam.getMSF()));
+ }
+
+ /**
+ * Disposes the Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"ScrollBar");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+ oObj = aShape.getControl();
+ log.println( "creating a new environment for OScrollBarModel object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ System.out.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ String objName = "ScrollBar";
+ tEnv.addObjRelation("OBJNAME", "com.sun.star.form.component." + objName);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java b/qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java
new file mode 100644
index 000000000000..bde3fd640e52
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.WriterTools;
+
+public class OSpinButtonModel extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a Writer document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ log.println( "creating a textdocument" );
+ xTextDoc = WriterTools.createTextDoc(((XMultiServiceFactory) tParam.getMSF()));
+ }
+
+ /**
+ * Disposes the Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Adds spin button into text and retrieves it's control model.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"SpinButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+ oObj = aShape.getControl();
+ log.println( "creating a new environment for OButtonModel object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("OBJNAME", "com.sun.star.form.component.SpinButton");
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+
+ System.out.println("Implementation name: "+util.utils.getImplName(oObj));
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_forms/OTimeControl.java b/qadevOOo/tests/java/mod/_forms/OTimeControl.java
new file mode 100644
index 000000000000..f23d635de7df
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OTimeControl.java
@@ -0,0 +1,258 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.TimeField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTimeField</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTimeField
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTimeField
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OTimeControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) Param.getMSF()));
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.TimeField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "TimeField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OTimeControl
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get OTimeControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get OTimeControl", e);
+ }
+
+ log.println("creating a new environment for OTimeControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ FormTools.switchDesignOf(((XMultiServiceFactory) Param.getMSF()), xTextDoc);
+ shortWait();
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Sleeps for 0.2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+} // finish class OTimeControl
diff --git a/qadevOOo/tests/java/mod/_forms/OTimeModel.java b/qadevOOo/tests/java/mod/_forms/OTimeModel.java
new file mode 100644
index 000000000000..de1e17332d7f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OTimeModel.java
@@ -0,0 +1,237 @@
+/*************************************************************************
+ *
+ * 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 mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XLoadable;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import java.util.HashSet;
+import ifc.form._XUpdateBroadcaster.UpdateChecker;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.TimeField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlTimeFieldModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::component::TimeField</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.awt.UnoControlTimeFieldModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.component.TimeField
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.FormControlModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.awt._UnoControlTimeFieldModel
+* @see ifc.io._XPersistObject
+* @see ifc.form.component._TimeField
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OTimeModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Time";
+ * super.m_kindOfControl="TimeField";
+ * super.m_ObjectName = "stardiv.one.form.component.TimeField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_INT_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Time";
+
+ super.m_kindOfControl="TimeField";
+
+ super.m_ObjectName = "stardiv.one.form.component.TimeField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_INT_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ } /**
+ * calls <CODE>cleanup()</CODE> from it's super class
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ super.cleanup(tParam, log);
+ }
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from it's super class
+ * This test uses not the generic implementaion of <CODE>cecker()</CODE> of its
+ * super class. This tests uses its own implementation of <CODE>checker()</CODE>
+ * to test <CODE>com::sun::star::form::XUpdateBroadcaster</CODE>
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+
+ HashSet exclude = new HashSet();
+
+ exclude.add("FormatKey");
+
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new Checker(m_XFormLoader, m_XPS, m_XCtrl, m_ChangePropertyName, m_ChangePropertyValue));
+ return tEnv;
+ }
+
+ static class Checker implements UpdateChecker {
+ private short lastItem = (short) 0;
+ XLoadable formLoaderF = null;
+ XPropertySet ps = null;
+ XInterface ctrl = null;
+ String ChangePropertyName = null;
+ Object ChangePropertyValue = null;
+
+ public Checker(XLoadable xl, XPropertySet ps, XInterface ctrl, String ChangePropertyName, Object ChangePropertyValue) {
+ formLoaderF = xl;
+ this.ps = ps;
+ this.ctrl = ctrl;
+ this.ChangePropertyName=ChangePropertyName;
+ this.ChangePropertyValue=ChangePropertyValue;
+ }
+
+ private int lastTime = 0;
+
+ public void update() throws com.sun.star.uno.Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+
+ Integer time = (Integer) ps.getPropertyValue("Time");
+
+ if (time != null) {
+ lastTime = time.intValue() + 150000;
+ }
+
+ ps.setPropertyValue("Time", new Integer(lastTime));
+ }
+
+ public void commit() throws com.sun.star.sdbc.SQLException {
+ XBoundComponent bound = (XBoundComponent) UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = (XResultSetUpdate) UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws com.sun.star.uno.Exception {
+ formLoaderF.reload();
+
+ Integer getT = (Integer) ps.getPropertyValue("Time");
+
+ return (getT != null) &&
+ (Math.abs(getT.intValue() - lastTime) < 100);
+ }
+ }
+} // finish class OTimeModel
diff --git a/qadevOOo/tests/java/mod/_forms/package.html b/qadevOOo/tests/java/mod/_forms/package.html
new file mode 100644
index 000000000000..15ed2ca3a131
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'forms'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_fps/FilePicker.java b/qadevOOo/tests/java/mod/_fps/FilePicker.java
new file mode 100644
index 000000000000..b4e31924062b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fps/FilePicker.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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 mod._fps;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ui.FilePicker</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ui::XFilePicker</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+* <li> <code>com::sun::star::ui::XExecutableDialog</code></li>
+* <li> <code>com::sun::star::ui::XFilePickerControlAccess</code></li>
+* <li> <code>com::sun::star::ui::XFilterManager</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::ui::XFilePickerNotifier</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ui.XFilePicker
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.lang.XTypeProvider
+* @see com.sun.star.ui.XExecutableDialog
+* @see com.sun.star.ui.XFilePickerControlAccess
+* @see com.sun.star.ui.XFilterManager
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.ui.XFilePickerNotifier
+* @see com.sun.star.ui.XFilePicker
+* @see ifc.ui._XFilePicker
+* @see ifc.lang._XInitialization
+* @see ifc.lang._XServiceInfo
+* @see ifc.lang._XTypeProvider
+* @see ifc.ui._XExecutableDialog
+* @see ifc.ui._XFilePickerControlAccess
+* @see ifc.ui._XFilterManager
+* @see ifc.lang._XComponent
+* @see ifc.ui._XFilePickerNotifier
+*/
+public class FilePicker extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ui.FilePicker</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} : argument
+ * for creating dialog from teamplate. </li>
+ * <li> <code>'XFilePickerControlAccess.ControlID'</code> for
+ * {@link ifc.ui._XFilePickerControlAccess} : here
+ * it is identifier of check box.</li>
+ * <li> <code>'XFilePickerControlAccess.ControlValue'</code> for
+ * {@link ifc.ui._XFilePickerControlAccess} :
+ * The value for control to set (since the initial value
+ * of the control is empty) .</li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+
+ Object[] iniArgs = new Object[] { new Short
+ (com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_READONLY_VERSION)};
+ short ctrlId =
+ com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_READONLY;
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ui.dialogs.FilePicker" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XInitialization
+ tEnv.addObjRelation("XInitialization.args", iniArgs) ;
+
+ // adding relation for XFilePickerControlAccess
+ tEnv.addObjRelation("XFilePickerControlAccess.ControlID",
+ new Short(ctrlId)) ;
+ tEnv.addObjRelation("XFilePickerControlAccess.ControlValue",
+ Boolean.FALSE) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java b/qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java
new file mode 100644
index 000000000000..0180503fe9f2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 mod._ftransl;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.datatransfer.DataFormatTranslator</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::datatransfer::XDataFormatTranslator</code></li>
+ * <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.datatransfer.XDataFormatTranslator
+ * @see com.sun.star.lang.XTypeProvider
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.datatransfer._XDataFormatTranslator
+ * @see ifc.lang._XTypeProvider
+ */
+public class DataFormatTranslator extends TestCase {
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.datatransfer.DataFormatTranslator</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.datatransfer.DataFormatTranslator" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("DataFormatTranslator Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( "creating a new environment for DataFormatTranslator object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class DataFormatTranslator
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ControlMenuController.java b/qadevOOo/tests/java/mod/_fwk/ControlMenuController.java
new file mode 100755
index 000000000000..cd469b9ed269
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ControlMenuController.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+
+/**
+ */
+public class ControlMenuController extends TestCase {
+ XInterface oObj = null;
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ *
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Create test environment.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.ControlMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'ControlMenuController'", e);
+ }
+
+
+/* log.println("Creating instance...");
+
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+
+/* XText xText = xTextDoc.getText();
+ XTextCursor xTextCursor = xText.createTextCursor();
+
+ for (int i = 0; i < 11; i++) {
+ xText.insertString(xTextCursor, "A sample text and why not? ", false);
+ }
+
+ XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ // the supplier is available from the model
+ XUIConfigurationManagerSupplier xSupplier =
+ (XUIConfigurationManagerSupplier)UnoRuntime.queryInterface(
+ XUIConfigurationManagerSupplier.class, xModel);
+
+ xManager = xSupplier.getUIConfigurationManager();
+
+ // just to make sure, it's the right one.
+ log.println("TestObject: " + util.utils.getImplName(xManager));
+ tEnv = new TestEnvironment(xManager); */
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/Desktop.java b/qadevOOo/tests/java/mod/_fwk/Desktop.java
new file mode 100644
index 000000000000..f777b58a9e27
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/Desktop.java
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.frame.Desktop</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::beans::XPropertySet</code></li>
+* <li><code>com::sun::star::frame::XComponentLoader</code></li>
+* <li><code>com::sun::star::frame::XDesktop</code></li>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li><code>com::sun::star::frame::XFrame</code></li>
+* <li><code>com::sun::star::frame::XFramesSupplier</code></li>
+* <li><code>com::sun::star::frame::XTasksSupplier</code></li>
+* <li><code>com::sun::star::lang::XComponent</code></li>
+* <li><code>com::sun::star::task::XStatusIndicatorFactory</code></li>
+* </ul><p>
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.frame.XComponentLoader
+* @see com.sun.star.frame.XDesktop
+* @see com.sun.star.frame.XDispatchProvider
+* @see com.sun.star.frame.XFrame
+* @see com.sun.star.frame.XFramesSupplier
+* @see com.sun.star.frame.XTasksSupplier
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.task.XStatusIndicatorFactory
+* @see ifc.beans._XPropertySet
+* @see ifc.frame._XComponentLoader
+* @see ifc.frame._XDesktop
+* @see ifc.frame._XDispatchProvider
+* @see ifc.frame._XFrame
+* @see ifc.frame._XFramesSupplier
+* @see ifc.frame._XTasksSupplier
+* @see ifc.lang._XComponent
+* @see ifc.task._XStatusIndicatorFactory
+*/
+public class Desktop extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ try {
+ xTextDoc.dispose();
+ } catch (com.sun.star.lang.DisposedException de) {}
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.frame.Desktop</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.Desktop");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL", ".uno:Open");
+
+ tEnv.addObjRelation("Desktop",(XDesktop)
+ UnoRuntime.queryInterface(XDesktop.class,oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java b/qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java
new file mode 100644
index 000000000000..46c31dde8850
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XModel;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.DispatchStatement;
+import com.sun.star.frame.XDispatchRecorder;
+import com.sun.star.frame.XDispatchRecorderSupplier;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.util.URL;
+import util.utils;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::container::XElementAccess</code></li>
+* <li><code>com::sun::star::container::XIndexAccess</code></li>
+* <li><code>com::sun::star::container::XIndexReplace</code></li>
+* <li><code>com::sun::star::frame::XDispatchRecorder</code></li>
+* </ul><p>
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XIndexReplace
+* @see com.sun.star.frame.XDispatchRecorder
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XIndexReplace
+* @see ifc.frame._XDispatchRecorder
+*/
+public class DispatchRecorder extends TestCase {
+ XComponent oDoc = null;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.frame.Desktop</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ XFrame xFrame = null;
+ XDispatchRecorder xDR = null;
+
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)Param.getMSF());
+ oDoc = SOF.createTextDoc(null);
+ try {
+ Thread.sleep(1000);
+ }
+ catch (InterruptedException ex) {
+ }
+
+ XModel model = (XModel) UnoRuntime.queryInterface(XModel.class, oDoc);
+ xFrame = model.getCurrentController().getFrame();
+
+ XPropertySet xFramePS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xFrame);
+ XDispatchRecorderSupplier xDRS = null;
+ xDRS = (XDispatchRecorderSupplier) AnyConverter.toObject(
+ new Type(XDispatchRecorderSupplier.class),
+ xFramePS.getPropertyValue("DispatchRecorderSupplier"));
+ if (xDRS == null) {
+
+ Object oDRS = ((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.DispatchRecorderSupplier");
+ xFramePS.setPropertyValue("DispatchRecorderSupplier", oDRS);
+ xDRS = (XDispatchRecorderSupplier)
+ UnoRuntime.queryInterface(XDispatchRecorderSupplier.class,oDRS);
+ }
+
+ xDR = xDRS.getDispatchRecorder();
+ if (xDR != null) {
+ oObj = xDR;
+ } else {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.DispatchRecorder");
+ xDR = (XDispatchRecorder) UnoRuntime.queryInterface
+ (XDispatchRecorder.class, oObj);
+ xDRS.setDispatchRecorder(xDR);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create component", e);
+ }
+
+
+ // fill recorder with content. It's needed for XIndexReplace
+ URL dispURL = utils.parseURL((XMultiServiceFactory) Param.getMSF(), ".uno:InsertDateField");
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.recordDispatch()";
+ PropertyValue[] dispArgs = new PropertyValue[] {prop};
+ xDR.recordDispatch(dispURL, dispArgs);
+
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // INSTANCEn : _XIndexReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ int THRCNT = 1;
+ if (Param.get("THRCNT")!= null) {
+ THRCNT = Integer.parseInt((String) Param.get("THRCNT"));
+ }
+
+ URL instanceURL = null;
+ DispatchStatement instance = new DispatchStatement();
+ PropertyValue dispProp = new PropertyValue();
+
+ for (int n = 1; n < (THRCNT + 1); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ instanceURL = utils.parseURL((XMultiServiceFactory) Param.getMSF(), ".uno:InsertText");
+ dispProp.Name = "Text";
+ dispProp.Value = "Instance " + n;
+ dispArgs = new PropertyValue[] {dispProp};
+ instance.aCommand = instanceURL.Complete;
+ instance.aArgs = dispArgs;
+ instance.aTarget = "_top";
+ instance.nFlags = com.sun.star.frame.FrameSearchFlag.ALL;
+
+ tEnv.addObjRelation("INSTANCE" + n, instance);
+ }
+
+ tEnv.addObjRelation("XDispatchRecorder.Frame", xFrame);
+ log.println("Object created: TRUE");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java b/qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java
new file mode 100644
index 000000000000..739c3d5709de
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatchRecorderSupplier</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatchRecorderSupplier
+* @see ifc.frame._XDispatchRecorderSupplier
+*/
+public class DispatchRecorderSupplier extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates instance of
+ * <code>com.sun.star.comp.framework.DispatchRecorderSupplier</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.DispatchRecorderSupplier");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/DocumentProperties.java b/qadevOOo/tests/java/mod/_fwk/DocumentProperties.java
new file mode 100644
index 000000000000..22e36b48a8ed
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/DocumentProperties.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.document.DocumentInfo</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li><code>com::sun::star::beans::XPropertySet</code></li>
+* <li><code>com::sun::star::document::XDocumentInfo</code></li>
+* <li><code>com::sun::star::document::XStandaloneDocumentInfo</code></li>
+* <li><code>com::sun::star::lang::XComponent</code></li>
+* </ul><p>
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.document.XDocumentInfo
+* @see com.sun.star.document.XStandaloneDocumentInfo
+* @see com.sun.star.lang.XComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XPropertySet
+* @see ifc.document._XDocumentInfo
+* @see ifc.document._XStandaloneDocumentInfo
+* @see ifc.lang._XComponent
+*/
+public class DocumentProperties extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Obtains the property <code>'DocumentInfo'</code> of the created document.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ shortWait();
+
+ XDocumentInfoSupplier xdis = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface(XDocumentInfoSupplier.class, xTextDoc);
+ //oObj = (XInterface)UnoRuntime.queryInterface(XInterface.class, docInfo);
+ oObj = xdis.getDocumentInfo();
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FontMenuController.java b/qadevOOo/tests/java/mod/_fwk/FontMenuController.java
new file mode 100755
index 000000000000..9231cecfb0cf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FontMenuController.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class FontMenuController extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FontMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'FontMenuController'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java b/qadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java
new file mode 100755
index 000000000000..c0d99302af6c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class FontSizeMenuController extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FontSizeMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'FontSizeMenuController'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FooterMenuController.java b/qadevOOo/tests/java/mod/_fwk/FooterMenuController.java
new file mode 100755
index 000000000000..1b8184072ca2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FooterMenuController.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class FooterMenuController extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FooterMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'FooterMenuController'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FormatMenuController.java b/qadevOOo/tests/java/mod/_fwk/FormatMenuController.java
new file mode 100755
index 000000000000..426d1790fb16
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FormatMenuController.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class FormatMenuController extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FormatMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'FormatMenuController'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/Frame.java b/qadevOOo/tests/java/mod/_fwk/Frame.java
new file mode 100644
index 000000000000..1dbcd3adc62c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/Frame.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li><code>com::sun::star::frame::XFrame</code></li>
+* <li><code>com::sun::star::frame::XFramesSupplier</code></li>
+* <li><code>com::sun::star::task::XStatusIndicatorFactory</code></li>
+* <li><code>com::sun::star::lang::XComponent</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatchProvider
+* @see com.sun.star.frame.XFrame
+* @see com.sun.star.frame.XFramesSupplier
+* @see com.sun.star.task.XStatusIndicatorFactory
+* @see com.sun.star.lang.XComponent
+* @see ifc.frame._XDispatchProvider
+* @see ifc.frame._XFrame
+* @see ifc.frame._XFramesSupplier
+* @see ifc.task._XStatusIndicatorFactory
+* @see ifc.lang._XComponent
+*/
+public class Frame extends TestCase {
+
+ XTextDocument xTextDoc;
+ XFrame frame = null;
+
+
+ /**
+ * Creates a text document and obtains a frame of current controller.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ frame = xTextDoc.getCurrentController().getFrame();
+ oObj = (XInterface)UnoRuntime.queryInterface(XInterface.class, frame);
+
+ log.println(util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ ".uno:SwitchControlDesignMode");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+ /**
+ * Disposes the document created and finally disposes
+ * the frame containing the document (for case when the frame
+ * contains no model after some interafce manipulations).
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ try {
+ XCloseable xTextClose = (XCloseable) UnoRuntime.queryInterface(XCloseable.class, xTextDoc);
+ xTextClose.close(true);
+ } catch(Exception e){}
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/HeaderMenuController.java b/qadevOOo/tests/java/mod/_fwk/HeaderMenuController.java
new file mode 100755
index 000000000000..f39f184720c1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/HeaderMenuController.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class HeaderMenuController extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.HeaderMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'HeaderMenuController'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/JobExecutor.java b/qadevOOo/tests/java/mod/_fwk/JobExecutor.java
new file mode 100644
index 000000000000..32ee88d123f4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/JobExecutor.java
@@ -0,0 +1,317 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XHierarchicalNameAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.task.XJob;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XChangesBatch;
+import com.sun.star.uno.AnyConverter;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::task::XJobExecutor</code></li>
+ * </ul><p>
+ * The following files are needed for testcase creation :
+ * <ul>
+ * <li> <code>qadevlibs/JobExecutor.jar</code> :
+ * this is java component <code>test.Job</code> which
+ * should be registered before or during this testcase
+ * creation. This component must implement
+ * <code>com.sun.star.task.XJob</code> interface and count
+ * <code>execute</code> method calls. It also should
+ * implement <code>container.XNamed</code> interface and
+ * <code>getName</code> method must return string with number
+ * of calls.</li>
+ * <ul> <p>
+ *
+ * Also <b>important prerequicity</b>: if Job and Event is not yet
+ * added to configuration or <code>test.Job</code> component is
+ * not yet registered, the SOffice <b>must be destroyed</b> during
+ * testcase initialization. <p>
+ *
+ * @see com.sun.star.task.XJobExecutor
+ * @see ifc.task._XJobExecutor
+ */
+public class JobExecutor extends TestCase {
+
+ static Job job = new Job();
+ XNamed xNamed = null;
+ Object oRootCfg = null;
+
+ /**
+ * For testcase initializing :
+ * <ol>
+ * <li> Implementation <code>test.Job</code> must be registered in
+ * SOffice registry. </li>
+ * <li> Configuration in package <code>org.OpenOffice.Office.Jobs</code>
+ * must be updated. <code>TestJob</code> must be registered for
+ * service <code>test.Job</code> and event for this job named
+ * <code>TextEvent</code> must be registered. </li>
+ * </ol>. <p>
+ *
+ * First these two conditions are checked. If job and event are not
+ * registered they are inserted into configuration and commited.
+ * After what SOffice must be destroyed for proper initialization
+ * of <code>JobExecutor</code> after startup. <p>
+ *
+ * Then if the implementation was not registered before it is
+ * registered in soffice <code>applicat.rbd</code> file (registering
+ * the component in currently running Java environment has no effect
+ * for <code>JobExecutor</code> in some reasons). <p>
+ *
+ * Note: SOffice is started again while the next
+ * <code>(XMultiServiceFactory)SOLink.getMSF()</code> call.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ boolean serviceRegistered = false;
+ boolean configured = false;
+
+ try {
+ Object obj = ((XMultiServiceFactory)Param.getMSF()).createInstance("test.Job");
+ serviceRegistered = obj != null;
+ } catch(com.sun.star.uno.Exception e) {}
+
+ log.println("Service test.Job is "
+ + (serviceRegistered ? "already" : "not yet") + " registered.");
+ if (! serviceRegistered){
+ String message = "You have to register 'test.Job' before office is stared.\n";
+ message += "Please run '$OFFICEPATH/program/pkgchk $DOCPTH/qadevlibs/JobExecutor.jar'";
+ throw new StatusException(message, new Exception());
+ }
+
+
+ XNameAccess jobs = null;
+ XNameAccess events = null;
+ try {
+ Object obj = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.configuration.ConfigurationProvider");
+ XMultiServiceFactory xConfigMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, obj);
+ PropertyValue[] args = new PropertyValue[1];
+ args[0] = new PropertyValue();
+ args[0].Name = "nodepath";
+ args[0].Value = "org.openoffice.Office.Jobs";
+ oRootCfg = xConfigMSF.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationUpdateAccess", args);
+ XHierarchicalNameAccess xHNA = (XHierarchicalNameAccess)
+ UnoRuntime.queryInterface(XHierarchicalNameAccess.class, oRootCfg);
+ obj = xHNA.getByHierarchicalName("Jobs");
+ jobs = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, obj);
+ obj = xHNA.getByHierarchicalName("Events");
+ events = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, obj);
+ } catch (Exception e) {
+ throw new StatusException("Couldn't get configuration", e);
+ }
+
+ configured = jobs.hasByName("TestJob") && events.hasByName("TestEvent");
+
+ log.println("Test job and event is "
+ + (configured ? "already" : "not yet") + " configured.");
+
+ if (!configured) {
+ try {
+ log.println("Adding configuration to Jobs ...");
+ XSingleServiceFactory jobsFac = (XSingleServiceFactory)
+ UnoRuntime.queryInterface(XSingleServiceFactory.class, jobs);
+ Object oNewJob = jobsFac.createInstance();
+ XNameReplace xNewJobNR = (XNameReplace)
+ UnoRuntime.queryInterface(XNameReplace.class, oNewJob);
+ xNewJobNR.replaceByName("Service", "test.Job");
+ XNameContainer xJobsNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, jobs);
+ xJobsNC.insertByName("TestJob", oNewJob);
+
+ log.println("Adding configuration to Events ...");
+ XSingleServiceFactory eventsFac = (XSingleServiceFactory)
+ UnoRuntime.queryInterface(XSingleServiceFactory.class, events);
+ Object oNewEvent = eventsFac.createInstance();
+
+ XNameAccess xNewEventNA = (XNameAccess)
+ UnoRuntime.queryInterface(XNameAccess.class, oNewEvent);
+ Object oJobList = xNewEventNA.getByName("JobList");
+ XSingleServiceFactory jobListFac = (XSingleServiceFactory)
+ AnyConverter.toObject(new Type(XSingleServiceFactory.class),
+ oJobList);
+ XNameContainer jobListNC = (XNameContainer)
+ AnyConverter.toObject(new Type(XNameContainer.class),
+ oJobList);
+ log.println("\tAdding TimeStamps to Events ...");
+ Object oNewJobTimeStamps = jobListFac.createInstance();
+
+ jobListNC.insertByName("TestJob", oNewJobTimeStamps);
+
+
+ XNameContainer xEventsNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, events);
+ xEventsNC.insertByName("TestEvent", oNewEvent);
+
+ XChangesBatch xCB = (XChangesBatch)
+ UnoRuntime.queryInterface(XChangesBatch.class, oRootCfg);
+ xCB.commitChanges();
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ex) {}
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change config", e);
+ }
+ }
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ *
+ * Service <code>com.sun.star.comp.framework.JobExecutor</code>
+ * is created.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ Object job = null;
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.JobExecutor");
+ job = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance("test.Job");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ xNamed = (XNamed) UnoRuntime.queryInterface(XNamed.class, job);
+ log.println("Count = " + xNamed.getName());
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("CallCounter", xNamed);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ }
+}
+
+/**
+ * Currently not used.
+ */
+class Job implements
+ XServiceInfo, XSingleServiceFactory {
+
+ private static class Impl implements XServiceInfo, XTypeProvider, XJob, XNamed {
+ int callCount = 0;
+
+ public byte[] getImplementationId() {
+ return toString().getBytes();
+ }
+
+ public Type[] getTypes() {
+ Class interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+
+ public Object execute(NamedValue[] param) {
+ callCount++;
+
+ return null;
+ }
+
+ public String getName() {
+ return String.valueOf(callCount);
+ }
+
+ public void setName(String n) {}
+
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+ }
+
+ public static final String __serviceName = "test.Job";
+ static Impl impl = new Impl();
+
+ public Object createInstanceWithArguments(Object[] args) {
+ return impl;
+ }
+
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/JobHandler.java b/qadevOOo/tests/java/mod/_fwk/JobHandler.java
new file mode 100644
index 000000000000..6a6cacf2c83d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/JobHandler.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li><code>com::sun::star::lang::XInitialization</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatchProvider
+* @see com.sun.star.lang.XInitialization
+* @see ifc.frame._XDispatchProvider
+* @see ifc.lang._XInitialization
+*/
+public class JobHandler extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+ boolean serviceRegistered = false;
+
+ try {
+ Object obj = ((XMultiServiceFactory)Param.getMSF()).createInstance("test.Job");
+ serviceRegistered = obj != null;
+ } catch(com.sun.star.uno.Exception e) {}
+
+ log.println("Service test.Job is "
+ + (serviceRegistered ? "already" : "not yet") + " registered.");
+ if (! serviceRegistered){
+ String message = "You have to register 'test.Job' before office is stared.\n";
+ message += "Please run '$OFFICEPATH/program/pkgchk $DOCPTH/qadevlibs/JobExecutor.jar'";
+ throw new StatusException(message, new Exception());
+ }
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.jobs.JobDispatch");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL", "vnd.sun.star.job:alias=TestJob");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/LayoutManager.java b/qadevOOo/tests/java/mod/_fwk/LayoutManager.java
new file mode 100755
index 000000000000..d967ff287a38
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/LayoutManager.java
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.util.XCloseable;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+
+/**
+ */
+public class LayoutManager extends TestCase {
+ XInterface xManager = null;
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Create test environment:
+ * <ul>
+ * <li>Create test doc</li>
+ * <li>Get the frame</li>
+ * <li>Get the LayoutManager from the frame</li>
+ * </ul>
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ log.println("Creating instance...");
+
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+
+ XText xText = xTextDoc.getText();
+ XTextCursor xTextCursor = xText.createTextCursor();
+
+ for (int i = 0; i < 11; i++) {
+ xText.insertString(xTextCursor, "A sample text and why not? ", false);
+ }
+
+ XFrame xFrame = xTextDoc.getCurrentController().getFrame();
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xFrame);
+ try {
+ Object any = xProp.getPropertyValue("LayoutManager");
+ xManager = (XInterface)UnoRuntime.queryInterface(XInterface.class, any);
+ }
+ catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not get property 'LayoutManager' from the current frame.", e);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not get property 'LayoutManager' from the current frame.", e);
+ }
+
+ // just to make sure, it's the right one.
+ log.println("TestObject: " + util.utils.getImplName(xManager));
+ tEnv = new TestEnvironment(xManager);
+
+ tEnv.addObjRelation("XLayoutManager.TextDoc", xTextDoc);
+ tEnv.addObjRelation("XLayoutManager.Frame",xFrame);
+
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/MacrosMenuController.java b/qadevOOo/tests/java/mod/_fwk/MacrosMenuController.java
new file mode 100755
index 000000000000..015db63832e4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/MacrosMenuController.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ *
+ */
+public class MacrosMenuController extends TestCase{
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.MacrosMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'MacrosMenuController'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java b/qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java
new file mode 100644
index 000000000000..afaf35486841
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::lang::XInitialization</code></li>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* </ul><p>
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.frame.XDispatchProvider
+* @see ifc.lang._XInitialization
+* @see ifc.frame._XDispatchProvider
+*/
+public class MailToDispatcher extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.framework.MailToDispatcher</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.MailToDispatcher");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "mailto:soffice@sparc.spb.su");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/MenuBarFactory.java b/qadevOOo/tests/java/mod/_fwk/MenuBarFactory.java
new file mode 100755
index 000000000000..f7d11d422046
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/MenuBarFactory.java
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+ */
+public class MenuBarFactory extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.MenuBarFactory");
+
+ tEnv = new TestEnvironment(oObj);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Cannot create test object 'MenuBarFactory'", e);
+ }
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ModuleManager.java b/qadevOOo/tests/java/mod/_fwk/ModuleManager.java
new file mode 100755
index 000000000000..790ad94ddcfc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ModuleManager.java
@@ -0,0 +1,281 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import lib.*;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.text.XTextDocument;
+
+/** Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::frame::XModuleManager</code></li>
+ * <li><code>com::sun::star::container::XNameAccess</code></li>
+ * <li><code>com::sun::star::container::XElementAccess</code></li>
+ * </ul><p>
+ * @see com.sun.star.frame.XModuleManager
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.frame._XModuleManager
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ */
+public class ModuleManager extends TestCase {
+
+ XTextDocument xTextDoc = null;
+ XComponent xWebDoc = null;
+ XComponent xGlobalDoc = null;
+ XSpreadsheetDocument xSheetDoc = null;
+ XComponent xDrawDoc = null;
+ XComponent xImpressDoc = null;
+ XComponent xMathDoc = null;
+
+ /** Creating a Testenvironment for the interfaces to be tested.
+ * @param Param test parameters
+ * @param log simple logger
+ * @throws StatusException was thrwon on error
+ * @return the test environement
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.ModuleManager");
+ } catch(Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ // get text document interfaces
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+ XModel xTextMode1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+ XController xTextController = xTextMode1.getCurrentController();
+ XFrame xTextFrame = xTextController.getFrame();
+
+
+ // get webdoc interfaces
+ try {
+ log.println("creating a web document");
+ xWebDoc = SOF.loadDocument("private:factory/swriter/web");
+
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+ XModel xWebMode1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xWebDoc);
+ XController xWebController = xWebMode1.getCurrentController();
+ XFrame xWebFrame = xWebController.getFrame();
+
+ // get global document interfaces
+ try {
+ log.println("creating a global document");
+ xGlobalDoc = SOF.loadDocument("private:factory/swriter/GlobalDocument");
+
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+ XModel xGlobalMode1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xGlobalDoc);
+ XController xGlobalController = xGlobalMode1.getCurrentController();
+ XFrame xGlobalFrame = xGlobalController.getFrame();
+
+ // get clac interfaces
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+ XModel xSheetMode1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xSheetDoc);
+
+ XController xSheetController = xSheetMode1.getCurrentController();
+ XFrame xSheetFrame = xSheetController.getFrame();
+ // get draw interfaces
+ try {
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+ XModel xDrawMode1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xDrawDoc);
+ XController xDrawController = xDrawMode1.getCurrentController();
+ XFrame xDrawFrame = xDrawController.getFrame();
+
+ // get impress interfaces
+ try {
+ log.println("creating a impress document");
+ xImpressDoc = SOF.createImpressDoc(null);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+ XModel xImpressMode1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xImpressDoc);
+ XController xImpressController = xImpressMode1.getCurrentController();
+ XFrame xImpressFrame = xImpressController.getFrame();
+
+ // get math interfaces
+ try {
+ log.println("creating a math document");
+ xMathDoc = SOF.createMathDoc(null);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+ XModel xMathMode1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xMathDoc);
+ XController xMathController = xMathMode1.getCurrentController();
+ XFrame xMathFrame = xMathController.getFrame();
+
+ PropertyValue[] xFrameSeq = new PropertyValue[7];
+ xFrameSeq[0] = new PropertyValue();
+ xFrameSeq[0].Name = "com.sun.star.text.TextDocument";
+ xFrameSeq[0].Value = xTextFrame;
+ xFrameSeq[1] = new PropertyValue();
+ xFrameSeq[1].Name = "com.sun.star.text.WebDocument";
+ xFrameSeq[1].Value = xWebFrame;
+ xFrameSeq[2] = new PropertyValue();
+ xFrameSeq[2].Name = "com.sun.star.text.GlobalDocument";
+ xFrameSeq[2].Value = xGlobalFrame;
+ xFrameSeq[3] = new PropertyValue();
+ xFrameSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
+ xFrameSeq[3].Value = xSheetFrame;
+ xFrameSeq[4] = new PropertyValue();
+ xFrameSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
+ xFrameSeq[4].Value = xDrawFrame;
+ xFrameSeq[5] = new PropertyValue();
+ xFrameSeq[5].Name = "com.sun.star.formula.FormulaProperties";
+ xFrameSeq[5].Value = xMathFrame;
+ xFrameSeq[6] = new PropertyValue();
+ xFrameSeq[6].Name = "com.sun.star.presentation.PresentationDocument";
+ xFrameSeq[6].Value = xImpressFrame;
+
+ PropertyValue[] xControllerSeq = new PropertyValue[7];
+ xControllerSeq[0] = new PropertyValue();
+ xControllerSeq[0].Name = "com.sun.star.text.TextDocument";
+ xControllerSeq[0].Value = xTextController;
+ xControllerSeq[1] = new PropertyValue();
+ xControllerSeq[1].Name = "com.sun.star.text.WebDocument";
+ xControllerSeq[1].Value = xWebController;
+ xControllerSeq[2] = new PropertyValue();
+ xControllerSeq[2].Name = "com.sun.star.text.GlobalDocument";
+ xControllerSeq[2].Value = xGlobalController;
+ xControllerSeq[3] = new PropertyValue();
+ xControllerSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
+ xControllerSeq[3].Value = xSheetController;
+ xControllerSeq[4] = new PropertyValue();
+ xControllerSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
+ xControllerSeq[4].Value = xDrawController;
+ xControllerSeq[5] = new PropertyValue();
+ xControllerSeq[5].Name = "com.sun.star.formula.FormulaProperties";
+ xControllerSeq[5].Value = xMathController;
+ xControllerSeq[6] = new PropertyValue();
+ xControllerSeq[6].Name = "com.sun.star.presentation.PresentationDocument";
+ xControllerSeq[6].Value = xImpressController;
+
+ PropertyValue[] xModelSeq = new PropertyValue[7];
+ xModelSeq[0] = new PropertyValue();
+ xModelSeq[0].Name = "com.sun.star.text.TextDocument";
+ xModelSeq[0].Value = xTextMode1;
+ xModelSeq[1] = new PropertyValue();
+ xModelSeq[1].Name = "com.sun.star.text.WebDocument";
+ xModelSeq[1].Value = xWebMode1;
+ xModelSeq[2] = new PropertyValue();
+ xModelSeq[2].Name = "com.sun.star.text.GlobalDocument";
+ xModelSeq[2].Value = xGlobalMode1;
+ xModelSeq[3] = new PropertyValue();
+ xModelSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
+ xModelSeq[3].Value = xSheetMode1;
+ xModelSeq[4] = new PropertyValue();
+ xModelSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
+ xModelSeq[4].Value = xDrawMode1;
+ xModelSeq[5] = new PropertyValue();
+ xModelSeq[5].Name = "com.sun.star.presentation.PresentationDocument";
+ xModelSeq[5].Value = xImpressMode1;
+ xModelSeq[6] = new PropertyValue();
+ xModelSeq[6].Name = "com.sun.star.formula.FormulaProperties";
+ xModelSeq[6].Value = xMathMode1;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ tEnv.addObjRelation("XModuleManager.XFrame", xFrameSeq);
+ tEnv.addObjRelation("XModuleManager.XController", xControllerSeq);
+ tEnv.addObjRelation("XModuleManager.XModel", xModelSeq);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /** Disposes text document.
+ * @param tParam test parameters
+ * @param log simple logger
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " closing all documents " );
+ DesktopTools.closeDoc(xTextDoc);
+ DesktopTools.closeDoc(xWebDoc);
+ DesktopTools.closeDoc(xGlobalDoc);
+ DesktopTools.closeDoc(xSheetDoc);
+ DesktopTools.closeDoc(xDrawDoc);
+ DesktopTools.closeDoc(xImpressDoc);
+ DesktopTools.closeDoc(xMathDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java
new file mode 100755
index 000000000000..7b30a94b3293
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java
@@ -0,0 +1,245 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.embed.ElementModes;
+import com.sun.star.embed.XStorage;
+import com.sun.star.embed.XTransactedObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.ui.XModuleUIConfigurationManagerSupplier;
+import ifc.ui._XUIConfiguration;
+import java.io.PrintWriter;
+import com.sun.star.lang.EventObject;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.util.XCloseable;
+import com.sun.star.ui.ConfigurationEvent;
+import com.sun.star.ui.XUIConfigurationManager;
+import ifc.ui._XUIConfigurationManager;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+import util.utils;
+
+/**
+ */
+public class ModuleUIConfigurationManager extends TestCase {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = null;
+ XTextDocument xTextDoc = null;
+ XStorage xStore = null;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ if (xTextDoc != null) {
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+ log.println(" disposing storage");
+ if (xStore != null) {
+ xStore.dispose();
+ }
+ }
+
+ /**
+ * Create environment.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+
+ try {
+ xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ log.println("Creating instance...");
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+
+ Object o = (XInterface)xMSF.createInstance("com.sun.star.ui.ModuleUIConfigurationManagerSupplier");
+ XModuleUIConfigurationManagerSupplier xMUICMS = (XModuleUIConfigurationManagerSupplier)
+ UnoRuntime.queryInterface(XModuleUIConfigurationManagerSupplier.class, o);
+
+ util.dbg.printInterfaces(xMUICMS);
+ oObj = xMUICMS.getUIConfigurationManager("com.sun.star.text.TextDocument");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+
+ XNameAccess xMM = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, xMSF.createInstance("com.sun.star.comp.framework.ModuleManager"));
+ String[] names = xMM.getElementNames();
+
+ o = xMSF.createInstance("com.sun.star.embed.StorageFactory");
+ XSingleServiceFactory xStorageService = (XSingleServiceFactory)
+ UnoRuntime.queryInterface(XSingleServiceFactory.class, o);
+ Object[]props = new Object[2];
+
+ String aFile = util.utils.getOfficeTempDir(xMSF) + "dummyFile.dat";
+ log.println("storage file : '"+ aFile + "'");
+
+ props[0] = aFile;
+ props[1] = new Integer(ElementModes.READWRITE);
+ xStore = (XStorage)UnoRuntime.queryInterface(XStorage.class, xStorageService.createInstanceWithArguments(props));
+
+ PropertyValue[] initProps = new PropertyValue[4];
+ PropertyValue propVal = new PropertyValue();
+ propVal.Name = "DefaultConfigStorage";
+ propVal.Value = xStore;
+ initProps[0] = propVal;
+ propVal = new PropertyValue();
+ propVal.Name = "UserConfigStorage";
+ propVal.Value = xStore;
+ initProps[1] = propVal;
+ propVal = new PropertyValue();
+ propVal.Name = "ModuleIdentifier";
+ propVal.Value = "swriter";
+ initProps[2] = propVal;
+ propVal = new PropertyValue();
+ propVal.Name = "UserRootCommit";
+ propVal.Value = (XTransactedObject)UnoRuntime.queryInterface(XTransactedObject.class, xStore);
+ initProps[3] = propVal;
+
+
+ tEnv.addObjRelation("XInitialization.args", initProps);
+
+ // the short cut manager service name
+ // 2do: correct the service name when it's no longer in
+ tEnv.addObjRelation("XConfigurationManager.ShortCutManager",
+ "com.sun.star.ui.ModuleAcceleratorConfiguration");
+
+ // the resourceURL
+ tEnv.addObjRelation("XModuleUIConfigurationManager.ResourceURL",
+ "private:resource/menubar/menubar");
+ tEnv.addObjRelation("XUIConfiguration.XUIConfigurationListenerImpl",
+ new ConfigurationListener(log,
+ (XUIConfigurationManager)UnoRuntime.queryInterface(
+ XUIConfigurationManager.class, oObj), xMSF));
+ tEnv.addObjRelation("XModuleUIConfigurationManagerSupplier.ConfigManagerImplementationName",
+ "com.sun.star.comp.framework.ModuleUIConfigurationManager");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Cannot create test object", e);
+ }
+ return tEnv;
+ }
+
+ /**
+ * An implementation of the _XUIConfiguration.XUIConfigurationListenerImpl
+ * interface to trigger the event for a listener call.
+ * @see ifc.ui._XUIConfiguration
+ */
+ public static class ConfigurationListener implements _XUIConfiguration.XUIConfigurationListenerImpl {
+ private boolean triggered = false;
+ private PrintWriter log = null;
+ private XUIConfigurationManager xUIManager = null;
+ private XMultiServiceFactory xMSF = null;
+
+ public ConfigurationListener(PrintWriter _log, XUIConfigurationManager xUIManager, XMultiServiceFactory xMSF) {
+ log = _log;
+ this.xUIManager = xUIManager;
+ this.xMSF = xMSF;
+ }
+ public void reset(){
+ triggered = false;
+ }
+ public void fireEvent() {
+ try {
+ XIndexAccess xMenuBarSettings = xUIManager.getSettings(
+ "private:resource/menubar/menubar", true);
+
+ PropertyValue[]prop = _XUIConfigurationManager.createMenuBarEntry(
+ "Trigger Event", xMenuBarSettings, xMSF, log);
+ _XUIConfigurationManager.createMenuBarItem("Click for Macro",
+ (XIndexContainer)UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+ XIndexContainer x = (XIndexContainer)UnoRuntime.queryInterface(XIndexContainer.class, xMenuBarSettings);
+ x.insertByIndex(x.getCount(), prop);
+ xUIManager.replaceSettings("private:resource/menubar/menubar", xMenuBarSettings);
+ xUIManager.reset();
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ }
+ public boolean actionWasTriggered(){
+ return triggered;
+ }
+ public void disposing(EventObject e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.disposing the listener.");
+ }
+ public void elementInserted(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementInserted.");
+ }
+ public void elementRemoved(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementRemoved.");
+ }
+ public void elementReplaced(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementReplaced.");
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java
new file mode 100755
index 000000000000..0d3ba82f9115
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+ *
+ */
+public class ModuleUIConfigurationManagerSupplier extends TestCase{
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.ui.ModuleUIConfigurationManagerSupplier");
+ tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("XModuleUIConfigurationManagerSupplier.ConfigurationManager",
+ "com.sun.star.frame.StartModule");
+ tEnv.addObjRelation("XModuleUIConfigurationManagerSupplier.ConfigManagerImplementationName", "com.sun.star.comp.framework.ModuleUIConfigurationManager");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Cannot create test object", e);
+ }
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/ObjectMenuController.java b/qadevOOo/tests/java/mod/_fwk/ObjectMenuController.java
new file mode 100755
index 000000000000..3fd6a3d8ed0c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ObjectMenuController.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.util.XCloseable;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class ObjectMenuController extends TestCase {
+ XInterface oObj = null;
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Create test environment:
+ * <ul>
+ * <li>create a text doc</li>
+ * <li>get the model from the text doc</li>
+ * <li>query model for XUIConfigurationManagerSupplier interface</li>
+ * <li>get the manager from the supplier</li>
+ * </ul>
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.ObjectMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'ControlMenuController'", e);
+ }
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java b/qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java
new file mode 100755
index 000000000000..e45cd14ad452
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.XCloseable;
+import com.sun.star.frame.XUIControllerRegistration;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+
+/**
+ */
+public class PopupMenuControllerFactory extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+
+ /**
+ * Create test environment:
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface xInst = null;
+
+ log.println("Creating instance...");
+
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+ util.dbg.printInterfaces(xTextDoc);
+
+ try {
+ xInst = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.framework.PopupMenuControllerFactory");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ log.println("TestObject: " + util.utils.getImplName(xInst));
+ tEnv = new TestEnvironment(xInst);
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ try {
+ Object o = xProp.getPropertyValue("DefaultContext");
+ XComponentContext xContext = (XComponentContext)UnoRuntime.queryInterface(XComponentContext.class, o);
+ tEnv.addObjRelation("DC", xContext);
+ }
+ catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Cannot get the 'DefaultContext' for XMultiComponentFactory test.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Cannot get the 'DefaultContext' for XMultiComponentFactory test.");
+ e.printStackTrace(log);
+ }
+
+ // register one controller, so it can be instantiated
+ XUIControllerRegistration xReg = (XUIControllerRegistration)
+ UnoRuntime.queryInterface(XUIControllerRegistration.class, xInst);
+
+ xReg.registerController(".uno:MyCommandUrl", "", "com.sun.star.comp.framework.FooterMenuController");
+ tEnv.addObjRelation("XUIControllerRegistration.RegisteredController", ".uno:MyCommandUrl");
+ tEnv.addObjRelation("XMultiComponentFactory.ServiceNames", new String[]{".uno:MyCommandUrl"});
+
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ServiceHandler.java b/qadevOOo/tests/java/mod/_fwk/ServiceHandler.java
new file mode 100644
index 000000000000..391e01f4cb42
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ServiceHandler.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::lang::XInitialization</code></li>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* </ul><p>
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.frame.XDispatchProvider
+* @see ifc.lang._XInitialization
+* @see ifc.frame._XDispatchProvider
+*/
+public class ServiceHandler extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.framework.ServiceHandler</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.ServiceHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "service:com.sun.star.io.Pipe");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/SoundHandler.java b/qadevOOo/tests/java/mod/_fwk/SoundHandler.java
new file mode 100644
index 000000000000..3b74f8015a43
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/SoundHandler.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import util.utils;
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatch</code></li>
+* <li><code>com::sun::star::frame::XNotifyingDispatch</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.frame.XNotifyingDispatch
+* @see ifc.frame._XDispatch
+* @see ifc.frame._XNotifyingDispatch
+*/
+public class SoundHandler extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.frame.ContentHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ URL dispURL = utils.parseURL((XMultiServiceFactory)Param.getMSF(),
+ utils.getFullTestURL("ok.wav"));
+ System.out.println("DISPATCHURL: "+ dispURL.Complete);
+
+ tEnv.addObjRelation("XDispatch.URL", dispURL);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java b/qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java
new file mode 100644
index 000000000000..bc3cfa588aa7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+ */
+public class StatusBarControllerFactory extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.StatusBarControllerFactory");
+
+ tEnv = new TestEnvironment(oObj);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Cannot create test object 'StatusBarControllerFactory'", e);
+ }
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ try {
+ Object o = xProp.getPropertyValue("DefaultContext");
+ XComponentContext xContext = (XComponentContext)UnoRuntime.queryInterface(XComponentContext.class, o);
+ tEnv.addObjRelation("DC", xContext);
+ }
+ catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Cannot get the 'DefaultContext' for XMultiComponentFactory test.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Cannot get the 'DefaultContext' for XMultiComponentFactory test.");
+ e.printStackTrace(log);
+ }
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java b/qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java
new file mode 100644
index 000000000000..5472043e4e88
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class ToolBarsMenuController extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.ToolBarsMenuController");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'ToolBarsMenuController'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java b/qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java
new file mode 100644
index 000000000000..9f7492a497b8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class UICategoryDescription extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.UICategoryDescription");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'UICategoryDescription'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/UICommandDescription.java b/qadevOOo/tests/java/mod/_fwk/UICommandDescription.java
new file mode 100755
index 000000000000..19277d71621c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UICommandDescription.java
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ *
+ * @author sg128468
+ */
+public class UICommandDescription extends TestCase {
+ XInterface oObj = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.frame.UICommandDescription");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could not create object 'UICommandDescription'", e);
+ }
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java b/qadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java
new file mode 100755
index 000000000000..0ab78ad40bab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java
@@ -0,0 +1,205 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.embed.ElementModes;
+import com.sun.star.embed.XStorage;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.ui._XUIConfiguration;
+import java.io.PrintWriter;
+import com.sun.star.lang.EventObject;
+import com.sun.star.ui.ConfigurationEvent;
+import com.sun.star.ui.UIElementType;
+import com.sun.star.ui.XUIConfigurationManager;
+import com.sun.star.ui.XUIConfigurationStorage;
+import ifc.ui._XUIConfigurationManager;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class UIConfigurationManager extends TestCase {
+ XUIConfigurationManager xManager = null;
+
+
+ /**
+ * Create test environment:
+ * <ul>
+ * <li>create a text doc</li>
+ * <li>get the model from the text doc</li>
+ * <li>query model for XUIConfigurationManagerSupplier interface</li>
+ * <li>get the manager from the supplier</li>
+ * </ul>
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ log.println("Creating instance...");
+
+ try {
+ xManager = (XUIConfigurationManager)UnoRuntime.queryInterface(
+ XUIConfigurationManager.class, xMSF.createInstance(
+ "com.sun.star.comp.framework.UIConfigurationManager"));
+ }
+ catch(com.sun.star.uno.Exception e) {
+ }
+ // just to make sure, it's the right one.
+ log.println("TestObject: " + utils.getImplName(xManager));
+ tEnv = new TestEnvironment(xManager);
+
+ // create a configuration storage
+ try {
+ String sourceDeleteCfg = util.utils.getFullTestURL("delete.cfg");
+ String deleteCfg = util.utils.getFullURL(util.utils.getOfficeTemp(xMSF) + "delete.cfg");
+ util.utils.copyFile(xMSF, sourceDeleteCfg, deleteCfg);
+ XStorage xSubStorage = null;
+ Object o = (XInterface)xMSF.createInstance("com.sun.star.embed.StorageFactory");
+ XSingleServiceFactory xSSF = (XSingleServiceFactory)UnoRuntime.queryInterface(
+ XSingleServiceFactory.class, o);
+ Object[] props = new Object[2];
+ props[0] = deleteCfg;
+ props[1] = new Integer(ElementModes.READWRITE);
+ XStorage xRootStorage = (XStorage)UnoRuntime.queryInterface(XStorage.class, xSSF.createInstanceWithArguments(props));
+ xSubStorage = xRootStorage.openStorageElement("Configurations2", ElementModes.READWRITE);
+
+ XUIConfigurationStorage xConfigStorage =(XUIConfigurationStorage)UnoRuntime.queryInterface(XUIConfigurationStorage.class, xManager);
+ xConfigStorage.setStorage(xSubStorage);
+ tEnv.addObjRelation("XUIConfigurationStorage.Storage", xSubStorage);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ log.println("Could not create storage: " + e.toString());
+ }
+ util.dbg.printInterfaces(xManager);
+
+ tEnv.addObjRelation("XUIConfiguration.XUIConfigurationListenerImpl",
+ new ConfigurationListener(log, xManager, xMSF));
+
+ // the short cut manager service name
+ // 2do: correct the service name when it's no longer in
+ tEnv.addObjRelation("XConfigurationManager.ShortCutManager",
+ "com.sun.star.ui.DocumentAcceleratorConfiguration");
+ return tEnv;
+ }
+
+ /**
+ * An implementation of the _XUIConfiguration.XUIConfigurationListenerImpl
+ * interface to trigger the event for a listener call.
+ * @see ifc.ui._XUIConfiguration
+ */
+ public static class ConfigurationListener implements _XUIConfiguration.XUIConfigurationListenerImpl {
+ private boolean triggered = false;
+ private PrintWriter log = null;
+ private XUIConfigurationManager xUIManager = null;
+ private XMultiServiceFactory xMSF = null;
+ private static int iUniqueCounter;
+
+ public ConfigurationListener(PrintWriter _log, XUIConfigurationManager xUIManager, XMultiServiceFactory xMSF) {
+ log = _log;
+ this.xUIManager = xUIManager;
+ this.xMSF = xMSF;
+ iUniqueCounter = 0;
+ }
+ public void reset(){
+ triggered = false;
+ }
+ public void fireEvent() {
+ try {
+ if (iUniqueCounter == 0) {
+ iUniqueCounter++;
+ PropertyValue[][]props = xUIManager.getUIElementsInfo(UIElementType.UNKNOWN);
+ XIndexAccess xMenuBarSettings = xUIManager.getSettings(
+ "private:resource/menubar/menubar", true);
+
+ PropertyValue[]prop = _XUIConfigurationManager.createMenuBarEntry(
+ "Trigger Event", xMenuBarSettings, xMSF, log);
+ _XUIConfigurationManager.createMenuBarItem("Click for Macro",
+ (XIndexContainer)UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+ XIndexContainer x = (XIndexContainer)UnoRuntime.queryInterface(XIndexContainer.class, xMenuBarSettings);
+ x.insertByIndex(x.getCount(), prop);
+ xUIManager.replaceSettings("private:resource/menubar/menubar", xMenuBarSettings);
+ xUIManager.reset();
+ }
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ }
+ public boolean actionWasTriggered(){
+ return triggered;
+ }
+ public void disposing(EventObject e) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.disposing the listener.");
+ }
+ public void elementInserted(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementInserted.");
+ }
+ public void elementRemoved(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementRemoved.");
+ }
+ public void elementReplaced(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementReplaced.");
+ }
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java b/qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java
new file mode 100755
index 000000000000..aef3ad663ae1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.util.XCloseable;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+
+/**
+ */
+public class UIElementFactoryManager extends TestCase {
+ Object oObj = null;
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Create test environment:
+ * <ul>
+ * <li>create a text doc</li>
+ * <li>get the model from the text doc</li>
+ * <li>query model for XUIConfigurationManagerSupplier interface</li>
+ * <li>get the manager from the supplier</li>
+ * </ul>
+ * @param tParam The test parameters.
+ * @param The log writer.
+ * @return The test environment.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ log.println("Creating instance...");
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+ try {
+ oObj = xMSF.createInstance("com.sun.star.ui.UIElementFactoryManager");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Cannot create test object.", e);
+ }
+ log.println("TestObject: " + util.utils.getImplName(oObj));
+
+ tEnv = new TestEnvironment((XInterface)oObj);
+
+
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/URLTransformer.java b/qadevOOo/tests/java/mod/_fwk/URLTransformer.java
new file mode 100644
index 000000000000..56fee3181ae0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/URLTransformer.java
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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 mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::util::XURLTransformer</code></li>
+* </ul><p>
+* @see com.sun.star.util.XURLTransformer
+* @see ifc.util._XURLTransformer
+*/
+public class URLTransformer extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.framework.URLTransformer");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ Status.failed("Couldn't create instance"));
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java b/qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java
new file mode 100644
index 000000000000..109611657bab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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 mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class ContentHandlerFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.frame.ContentHandlerFactory</code>. <p>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.frame.ContentHandlerFactory") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ContentHandlerFactory", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ tEnv.addObjRelation("XMSF.serviceNames", xNA.getElementNames());
+ String[] dummy = xNA.getElementNames();
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "com.sun.star.comp.framework.SoundHandler";
+ querySequenze[0] = query;
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/FilterFactory.java b/qadevOOo/tests/java/mod/_fwl/FilterFactory.java
new file mode 100644
index 000000000000..42c05bd24f41
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/FilterFactory.java
@@ -0,0 +1,205 @@
+/*************************************************************************
+ *
+ * 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 mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.framework.FilterFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class FilterFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.framework.FilterFactory</code>.
+ * Prepares relation for
+ * <code>XMultiServiceFactory.createInstanceWithArguments</code> method
+ * test. Only filters wich have their service names can be instantiated
+ * in some reasons (?). For instantiation used filter type as service
+ * name and its name as a parameter. <p>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.document.FilterFactory") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get FilterFactory", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ String[] filterNames = xNA.getElementNames();
+
+ // XNameContainer; XNameReplace
+ String filterName = filterNames[0];
+ Object[] instance = null;;
+ PropertyValue instanceProp = new PropertyValue();
+ try{
+ instance = (Object[]) xNA.getByName(filterName);
+ PropertyValue[] props = (PropertyValue[]) instance;
+ instanceProp = (PropertyValue) getPropertyValue
+ (((PropertyValue[]) instance), "FilterService"); //instance[9];
+ } catch (com.sun.star.container.NoSuchElementException e){
+ throw new StatusException(
+ Status.failed("Couldn't get elements from object"));
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ throw new StatusException(
+ Status.failed("Couldn't get elements from object"));
+ }
+
+ log.println("adding INSTANCE 1 as obj relation to environment");
+
+ log.println("fill property 'TemplateName' with 'INSTANCE1'");
+ setPropertyValueValue((PropertyValue[])instance, "TemplateName", "INSTANCE1");
+ tEnv.addObjRelation("INSTANCE" +1, instance);
+
+
+ // XMSF
+ Vector vFTypes = new Vector();
+ Vector vFArgs = new Vector();
+ for (int i = 0; i < filterNames.length; i++) {
+ PropertyValue[] filterProps = null;
+ try {
+ System.out.println(filterNames[i]);
+ filterProps = (PropertyValue[])
+ xNA.getByName(filterNames[i]);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ throw new StatusException("Couldn't create relation", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ throw new StatusException("Couldn't create relation", e);
+ }
+ String filterImpl = (String) getPropertyValueValue
+ (filterProps, "FilterService");
+ if (filterImpl != null && filterImpl.length() > 0) {
+ String filterType = (String) getPropertyValueValue
+ (filterProps, "Type");
+ vFTypes.add(filterType);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "FilterName";
+ prop.Value = filterNames[i];
+ vFArgs.add(new Object[] {prop});
+
+ log.println("Found filter '" + filterNames[i] + "', type: " +
+ filterType + ", service name: '" + filterImpl + "'");
+ }
+ }
+
+ tEnv.addObjRelation("XMSF.serviceNamesWithArgs",
+ vFTypes.toArray(new String[vFTypes.size()]));
+ tEnv.addObjRelation("XMSF.Args",
+ vFArgs.toArray(new Object[vFArgs.size()][]));
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "Rich Text Format";
+ querySequenze[0] = query;
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ protected Object getPropertyValueValue(PropertyValue[] props, String pName) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ return i < props.length ? props[i].Value : null;
+
+ }
+
+ protected void setPropertyValueValue(PropertyValue[] props, String pName, Object pValue) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ props[i].Value = pValue;
+ }
+
+ protected PropertyValue getPropertyValue(PropertyValue[] props, String pName) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ return i < props.length ? props[i] : null;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java b/qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java
new file mode 100644
index 000000000000..da819d91fe3c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * 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 mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class FrameLoaderFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.frame.FrameLoaderFactory") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get FrameLoaderFactory", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ tEnv.addObjRelation("XMSF.serviceNames", xNA.getElementNames());
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "com.sun.star.frame.Bibliography";
+ querySequenze[0] = query;
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/PathSettings.java b/qadevOOo/tests/java/mod/_fwl/PathSettings.java
new file mode 100644
index 000000000000..dbedc87bd374
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/PathSettings.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.UnoRuntime;
+import java.io.PrintWriter;
+import java.util.HashSet;
+import java.util.Set;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.framework.PathSettings</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::util::PathSettings</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.util.PathSettings
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.util._PathSettings
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XMultiPropertySet
+ */
+public class PathSettings extends TestCase {
+
+ private static NamedValue[] m_Properties;
+ private static XPropertySet xPS;
+
+ /**
+ * restores the old values of the path settings
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println("restore old values of path settings...");
+
+ for (int i=0; i < m_Properties.length; i++){
+ try{
+
+ xPS.setPropertyValue(m_Properties[i].Name, m_Properties[i].Value);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ } catch (PropertyVetoException e){
+ } catch (IllegalArgumentException e){
+ } catch (WrappedTargetException e){
+ }
+ }
+ }
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.framework.PathSettings</code>.
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.comp.framework.PathSettings") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get GridControl", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ Set exclProps = new HashSet();
+ exclProps.add("UIConfig");
+ tEnv.addObjRelation("XFastPropertySet.ExcludeProps", exclProps);
+ tEnv.addObjRelation("XMultiPropertySet.ExcludeProps", exclProps);
+
+ saveAllPropertyValues(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ private void saveAllPropertyValues(XInterface oObj){
+
+ xPS = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ XPropertySetInfo xPSI = xPS.getPropertySetInfo();
+
+ Property[] allProperties = xPSI.getProperties();
+ m_Properties = new NamedValue[allProperties.length];
+
+ for (int i=0; i < allProperties.length; i++){
+ try{
+ m_Properties[i] = new NamedValue(allProperties[i].Name,
+ xPS.getPropertyValue(allProperties[i].Name));
+
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ } catch (WrappedTargetException e){
+ }
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java b/qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java
new file mode 100644
index 000000000000..ba69d3d86035
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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 mod._fwl;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com::sun::star::util::XStringSubstitution
+ * @see ifc.util._XStringSubstitution
+ */
+public class SubstituteVariables extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.util.PathSubstitution</code>. <p>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.util.PathSubstitution") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SubstituteVariables", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/TypeDetection.java b/qadevOOo/tests/java/mod/_fwl/TypeDetection.java
new file mode 100644
index 000000000000..4a298e8bc637
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/TypeDetection.java
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.container.XNameAccess;
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XStorable;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import util.SOfficeFactory;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.document.TypeDetection</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XContainerQuery</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameReplace</code></li>
+ * <li> <code>com::sun::star::document::XTypeDetection</code></li>
+ * <li> <code>com::sun::star::util::XFlushable</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XContainerQuery
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameReplace
+ * @see com.sun.star.document.XTypeDetection
+ * @see com.sun.star.util.XFlushable
+ * @see ifc.container._XContainerQuery
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XNameContainer
+ * @see ifc.container._XNameReplace
+ * @see ifc.document._XTypeDetection
+ * @see ifc.util.XFlushable
+ */
+public class TypeDetection extends TestCase {
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.document.TypeDetection</code>. <p>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.document.TypeDetection") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TypeDetection", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ String[] elementNames = xNA.getElementNames();
+ String elementName = elementNames[0];
+ Object[] instance = null;;
+ try{
+ instance = (Object[]) xNA.getByName(elementName);
+ } catch (com.sun.star.container.NoSuchElementException e){
+ throw new StatusException(
+ Status.failed("Couldn't get elements from object"));
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ throw new StatusException(
+ Status.failed("Couldn't get elements from object"));
+ }
+
+ log.println("adding INSTANCE 1 as obj relation to environment");
+
+ setPropertyValueValue((PropertyValue[])instance, "Preferred", "INSTANCE1");
+ tEnv.addObjRelation("INSTANCE" +1, instance);
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "writer_Text";
+ querySequenze[0] = query;
+
+
+ log.println("create text document with bookmarks");
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+ String fileURL = null;
+ try {
+ xTextDoc = SOF.createTextDoc( null );
+ XInterface xBookMark = SOF.createBookmark( xTextDoc );
+ SOF.insertTextContent( xTextDoc, (XTextContent) xBookMark );
+
+ fileURL = utils.getOfficeTemp((XMultiServiceFactory)Param.getMSF() );
+ fileURL = fileURL + "bookmarks.oot";
+
+ XStorable store = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDoc);
+ System.out.println(fileURL);
+ store.storeToURL(fileURL, new PropertyValue[0]);
+
+ } catch( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create Bookmark", e );
+ }
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+ tEnv.addObjRelation("XTypeDetection.bookmarkDoc", fileURL+"#bookmark");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+ protected void setPropertyValueValue(PropertyValue[] props, String pName, Object pValue) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ props[i].Value = pValue;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/BreakIterator.java b/qadevOOo/tests/java/mod/_i18n/BreakIterator.java
new file mode 100644
index 000000000000..caad1aade8d1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/BreakIterator.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.BreakIterator</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XBreakIterator</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see ifc.i18n._XBreakIterator
+*/
+public class BreakIterator extends TestCase {
+
+ XComponent xTextDoc;
+
+ /**
+ * Loads a Text document with name 'Iterator.sxw' from test
+ * documents directory
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xTextDoc = SOF.loadDocument(utils.getFullTestURL("Iterator.sxw"));
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't load document", e );
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.BreakIterator</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.i18n.BreakIterator" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("Locale", new Locale("en", "US", ""));
+
+ XTextDocument xDoc = (XTextDocument)UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc);
+ XTextRange xTextRange = (XTextRange)xDoc.getText();
+ tEnv.addObjRelation("UnicodeString", xTextRange.getString());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Disposes the Text document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ xTextDoc.dispose();
+ }
+
+} // finish class BreakIterator
+
diff --git a/qadevOOo/tests/java/mod/_i18n/CalendarImpl.java b/qadevOOo/tests/java/mod/_i18n/CalendarImpl.java
new file mode 100644
index 000000000000..2ebbb1a38281
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/CalendarImpl.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.Calendar</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::Calendar</code></li>
+* </ul>
+* @see ifc.i18n._Calendar
+*/
+public class CalendarImpl extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.Calendar</code>.
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.LocaleCalendar" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/ChapterCollator.java b/qadevOOo/tests/java/mod/_i18n/ChapterCollator.java
new file mode 100644
index 000000000000..423c8b8cde28
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/ChapterCollator.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.ChapterCollator</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XCollator</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see ifc.i18n._XCollator
+* @see ifc.lang._XServiceInfo
+*/
+public class ChapterCollator extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.ChapterCollator</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.ChapterCollator" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/CharacterClassification.java b/qadevOOo/tests/java/mod/_i18n/CharacterClassification.java
new file mode 100644
index 000000000000..d3267a6117e8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/CharacterClassification.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.CharacterClassification</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::i18n::XCharacterClassification</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.i18n.XCharacterClassification
+ * @see ifc.i18n._XCharacterClassification
+ */
+public class CharacterClassification extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.CharacterClassification</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.CharacterClassification" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("CharacterClassification Service not available" );
+ throw new StatusException
+ ( "CharacterClassification Service not available", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CharacterClassification object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class CharacterClassification
+
diff --git a/qadevOOo/tests/java/mod/_i18n/Collator.java b/qadevOOo/tests/java/mod/_i18n/Collator.java
new file mode 100644
index 000000000000..a887a86df3ff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/Collator.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.Collator</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XCollator</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see ifc.i18n._XCollator
+*/
+public class Collator extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.Collator</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.i18n.Collator" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java b/qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java
new file mode 100644
index 000000000000..9f2990cc3ba5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.IndexEntrySupplier</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::i18n::XIndexEntrySupplier</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.i18n.XIndexEntrySupplier
+ * @see ifc.i18n._XIndexEntrySupplier
+ */
+public class IndexEntrySupplier extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.IndexEntrySupplier</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.IndexEntrySupplier" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/LocaleData.java b/qadevOOo/tests/java/mod/_i18n/LocaleData.java
new file mode 100644
index 000000000000..f71dcbcb8501
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/LocaleData.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.LocaleData</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::i18n::XLocaleData</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.i18n.XLocaleData
+ * @see ifc.i18n._XLocaleData
+ */
+public class LocaleData extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.LocaleData</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.i18n.LocaleData" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("LocaleData Service not available" );
+ throw new StatusException( "LocaleData Service not available", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for LocaleData object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class LocaleData
+
diff --git a/qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java b/qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java
new file mode 100644
index 000000000000..7b46c973f683
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.NumberFormatCodeMapper</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::i18n::XNumberFormatCode</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.i18n.XNumberFormatCode
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.i18n._XNumberFormatCode
+ */
+public class NumberFormatCodeMapper extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.NumberFormatCodeMapper</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.NumberFormatCodeMapper" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("NumberFormatCodeMapper Service not available" );
+ throw new StatusException
+ ( "NumberFormatCodeMapper Service not available", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for NumberFormatCodeMapper object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class NumberFormatCodeMapper
+
diff --git a/qadevOOo/tests/java/mod/_i18n/TextSearch.java b/qadevOOo/tests/java/mod/_i18n/TextSearch.java
new file mode 100644
index 000000000000..835e0a3c1a90
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/TextSearch.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.util.TextSearch</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::util::XTextSearch</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see ifc.util._XTextSearch
+*/
+public class TextSearch extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.util.TextSearch</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.util.TextSearch" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/Transliteration.java b/qadevOOo/tests/java/mod/_i18n/Transliteration.java
new file mode 100644
index 000000000000..1f89d930d39f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/Transliteration.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.Transliteration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XTransliteration</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see ifc.i18n._XTransliteration
+*/
+public class Transliteration extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.Transliteration</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.i18n.Transliteration" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_implreg.uno/ImplementationRegistration.java b/qadevOOo/tests/java/mod/_implreg.uno/ImplementationRegistration.java
new file mode 100644
index 000000000000..7805a66c3042
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_implreg.uno/ImplementationRegistration.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._implreg.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.ImplementationRegistration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XImplementationRegistration</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.registry.XImplementationRegistration
+* @see com.sun.star.registry.ImplementationRegistration
+* @see ifc.registry._XImplementationRegistration
+*/
+public class ImplementationRegistration extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service
+ * <code>com.sun.star.registry.ImplementationRegistration</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.ImplementationRegistration" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ if (oInterface == null)
+ log.println("Service wasn't created") ;
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class NestedRegistry
+
diff --git a/qadevOOo/tests/java/mod/_implreg.uno/package.html b/qadevOOo/tests/java/mod/_implreg.uno/package.html
new file mode 100644
index 000000000000..0be74c09b1f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_implreg.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'impreg'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java b/qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java
new file mode 100644
index 000000000000..184aaff2db8c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 mod._impreg;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.ImplementationRegistration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XImplementationRegistration</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.registry.XImplementationRegistration
+* @see com.sun.star.registry.ImplementationRegistration
+* @see ifc.registry._XImplementationRegistration
+*/
+public class ImplementationRegistration extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service
+ * <code>com.sun.star.registry.ImplementationRegistration</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.ImplementationRegistration" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ if (oInterface == null)
+ log.println("Service wasn't created") ;
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class NestedRegistry
+
diff --git a/qadevOOo/tests/java/mod/_impreg/package.html b/qadevOOo/tests/java/mod/_impreg/package.html
new file mode 100644
index 000000000000..0be74c09b1f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_impreg/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'impreg'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_insp/Introspection.java b/qadevOOo/tests/java/mod/_insp/Introspection.java
new file mode 100644
index 000000000000..f3b9956dcc3f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_insp/Introspection.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._insp;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.beans.Introspection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XIntrospection</code></li>
+* </ul>
+* This object test can be run in several
+* threads concurently.
+* @see com.sun.star.beans.XIntrospection
+* @see com.sun.star.beans.Introspection
+* @see ifc.beans._XIntrospection
+*/
+public class Introspection extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.comp.stoc.Introspection</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.Introspection" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class Introspection
+
diff --git a/qadevOOo/tests/java/mod/_insp/package.html b/qadevOOo/tests/java/mod/_insp/package.html
new file mode 100644
index 000000000000..13780f055979
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_insp/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'insp'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_introspection.uno/Introspection.java b/qadevOOo/tests/java/mod/_introspection.uno/Introspection.java
new file mode 100644
index 000000000000..2c0ddac78ba8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_introspection.uno/Introspection.java
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 mod._introspection.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.beans.Introspection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XIntrospection</code></li>
+* </ul>
+* This object test can be run in several
+* threads concurently.
+* @see com.sun.star.beans.XIntrospection
+* @see com.sun.star.beans.Introspection
+* @see ifc.beans._XIntrospection
+*/
+public class Introspection extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.comp.stoc.Introspection</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.Introspection" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class Introspection
+
diff --git a/qadevOOo/tests/java/mod/_introspection.uno/package.html b/qadevOOo/tests/java/mod/_introspection.uno/package.html
new file mode 100644
index 000000000000..13780f055979
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_introspection.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'insp'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_inv/Invocation.java b/qadevOOo/tests/java/mod/_inv/Invocation.java
new file mode 100644
index 000000000000..06de72e30c5a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_inv/Invocation.java
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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 mod._inv;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.Invocation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XSingleServiceFactory</code></li>
+* </ul>
+* @see com.sun.star.script.Invocation
+* @see com.sun.star.lang.XSingleServiceFactory
+* @see ifc.lang._XSingleServiceFactory
+*/
+public class Invocation extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.script.Invocation</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSingleServiceFactory.createInstance.negative'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory} ;
+ * <code>String</code> relation; If its value 'true' then
+ * <code>createInstance</code> method for the object isn't
+ * supported. In this case object doesn't support this method.</li>
+ * <li> <code>'XSingleServiceFactory.arguments'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory} ;
+ * has <code>Object[]</code> type. This relation is used as
+ * a parameter for <code>createInstanceWithArguments</code>
+ * method call. If this relation doesn't exist test pass
+ * zerro length array as argument. Here
+ * <code>com.sun.star.io.Pipe</code> instance is passed.</li>
+ * <li> <code>'XSingleServiceFactory.MustSupport'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory}.
+ * Specifies that created instance must support
+ * <code>com.sun.star.script.XInvocation</code> interface.
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.Invocation");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ // the createInstance should fail according to the documentation
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.createInstance.negative", "true");
+
+ // creating parameters to createInstanceWithArguments
+ Object[] args = new Object[1];
+
+ args[0] = xMSF.createInstance("com.suns.star.io.Pipe");
+
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.arguments", args);
+
+ tEnv.addObjRelation("XSingleServiceFactory.MustSupport",
+ new Class[] {com.sun.star.script.XInvocation.class});
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_inv/package.html b/qadevOOo/tests/java/mod/_inv/package.html
new file mode 100644
index 000000000000..945e2c80f719
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_inv/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'inv'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java b/qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java
new file mode 100644
index 000000000000..91a91ab3f28a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 mod._invadp;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.InvocationAdapterFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::script::XInvocationAdapterFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.script.XInvocationAdapterFactory
+* @see com.sun.star.script.InvocationAdapterFactory
+* @see ifc.script._XInvocationAdapterFactory
+*/
+public class InvocationAdapterFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.script.InvocationAdapterFactory</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.InvocationAdapterFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_invadp/package.html b/qadevOOo/tests/java/mod/_invadp/package.html
new file mode 100644
index 000000000000..3e8474139317
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invadp/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'invadp'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_invocadapt.uno/InvocationAdapterFactory.java b/qadevOOo/tests/java/mod/_invocadapt.uno/InvocationAdapterFactory.java
new file mode 100644
index 000000000000..46dd600d0cf3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocadapt.uno/InvocationAdapterFactory.java
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 mod._invocadapt.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.InvocationAdapterFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::script::XInvocationAdapterFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.script.XInvocationAdapterFactory
+* @see com.sun.star.script.InvocationAdapterFactory
+* @see ifc.script._XInvocationAdapterFactory
+*/
+public class InvocationAdapterFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.script.InvocationAdapterFactory</code>.
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.InvocationAdapterFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_invocadapt.uno/package.html b/qadevOOo/tests/java/mod/_invocadapt.uno/package.html
new file mode 100644
index 000000000000..3e8474139317
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocadapt.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'invadp'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_invocation.uno/Invocation.java b/qadevOOo/tests/java/mod/_invocation.uno/Invocation.java
new file mode 100644
index 000000000000..f112fe07ab34
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocation.uno/Invocation.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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 mod._invocation.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.Invocation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XSingleServiceFactory</code></li>
+* </ul>
+* @see com.sun.star.script.Invocation
+* @see com.sun.star.lang.XSingleServiceFactory
+* @see ifc.lang._XSingleServiceFactory
+*/
+public class Invocation extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.script.Invocation</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSingleServiceFactory.createInstance.negative'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory} ;
+ * <code>String</code> relation; If its value 'true' then
+ * <code>createInstance</code> method for the object isn't
+ * supported. In this case object doesn't support this method.</li>
+ * <li> <code>'XSingleServiceFactory.arguments'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory} ;
+ * has <code>Object[]</code> type. This relation is used as
+ * a parameter for <code>createInstanceWithArguments</code>
+ * method call. If this relation doesn't exist test pass
+ * zerro length array as argument. Here
+ * <code>com.sun.star.io.Pipe</code> instance is passed.</li>
+ * <li> <code>'XSingleServiceFactory.MustSupport'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory}.
+ * Specifies that created instance must support
+ * <code>com.sun.star.script.XInvocation</code> interface.
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.Invocation");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ // the createInstance should fail according to the documentation
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.createInstance.negative", "true");
+
+ // creating parameters to createInstanceWithArguments
+ Object[] args = new Object[1];
+
+ args[0] = xMSF.createInstance("com.suns.star.io.Pipe");
+
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.arguments", args);
+
+ tEnv.addObjRelation("XSingleServiceFactory.MustSupport",
+ new Class[] {com.sun.star.script.XInvocation.class});
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_invocation.uno/package.html b/qadevOOo/tests/java/mod/_invocation.uno/package.html
new file mode 100644
index 000000000000..945e2c80f719
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocation.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'inv'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_javaloader.uno/JavaComponentLoader.java b/qadevOOo/tests/java/mod/_javaloader.uno/JavaComponentLoader.java
new file mode 100644
index 000000000000..7e9a5f68f5a7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javaloader.uno/JavaComponentLoader.java
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * 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 mod._javaloader.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.Java2</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>MyPersistObjectImpl.jar</code> : jar which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compilant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class JavaComponentLoader extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.Java2</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading jar implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : jar file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance(
+ "com.sun.star.comp.stoc.JavaComponentLoader" );
+ }
+ catch( Exception e ) {
+ log.println("JavaComponentLoader Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for JavaComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.JavaComponentLoader") ;
+
+ String implURL = utils.getFullTestURL("qadevlibs/MyPersistObjectImpl.jar");
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.cmp.MyPersistObject") ;
+
+ return tEnv;
+ } // finish method createTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java b/qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java
new file mode 100644
index 000000000000..8d20e4e2ffc7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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 mod._javaloader;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.Java2</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>MyPersistObjectImpl.jar</code> : jar which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compilant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class JavaComponentLoader extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.Java2</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading jar implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : jar file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance(
+ "com.sun.star.comp.stoc.JavaComponentLoader" );
+ }
+ catch( Exception e ) {
+ log.println("JavaComponentLoader Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for JavaComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.JavaComponentLoader") ;
+
+ String implURL = utils.getFullTestURL("qadevlibs/MyPersistObjectImpl.jar");
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.cmp.MyPersistObject") ;
+
+ return tEnv;
+ } // finish method createTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_javavm.uno/JavaVirtualMachine.java b/qadevOOo/tests/java/mod/_javavm.uno/JavaVirtualMachine.java
new file mode 100644
index 000000000000..63e60fa95976
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javavm.uno/JavaVirtualMachine.java
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 mod._javavm.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.java.JavaVirtualMachine</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::java::XJavaThreadRegister_11</code></li>
+* <li> <code>com::sun::star::java::XJavaVM</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.java.XJavaThreadRegister_11
+* @see com.sun.star.java.XJavaVM
+* @see com.sun.star.java.XJavaVirtualMachine
+* @see ifc.java._XJavaThreadRegister_11
+* @see ifc.java._XJavaVM
+*/
+public class JavaVirtualMachine extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.java.JavaVirtualMachine</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.java.JavaVirtualMachine");
+
+ return new TestEnvironment(xInt);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_javavm.uno/package.html b/qadevOOo/tests/java/mod/_javavm.uno/package.html
new file mode 100644
index 000000000000..a58e59cf2325
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javavm.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'jen'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java b/qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java
new file mode 100644
index 000000000000..fd056e877f6b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 mod._jdbc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see ifc.sdbc._XDriver
+*/
+public class JDBCDriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>flat.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * The values for list are obtained from the parameter
+ * <code>jdbc.user</code> and <code>jdbc.password</code>.</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.sdbc.JDBCDriver");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for JDBCDriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String jdbcURL = (String) Param.get("jdbc.url");
+ if (jdbcURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "jdbc:" + jdbcURL);
+
+ String user = (String) Param.get("jdbc.user");
+ String password = (String) Param.get("jdbc.password");
+ if (user == null || password == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+ PropertyValue[] info = new PropertyValue[4];
+ info[0] = new PropertyValue();
+ info[0].Name = "JavaDriverClass";
+ info[0].Value = DBTools.TST_JDBC_DRIVER;
+ info[1] = new PropertyValue();
+ info[1].Name = "user";
+ info[1].Value = user;
+ info[2] = new PropertyValue();
+ info[2].Name = "password";
+ info[2].Value = password;
+ info[3] = new PropertyValue();
+ info[3].Name = "isPasswordRequired";
+ info[3].Value = new Boolean(true);
+
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String flatUrl = (String) Param.get("flat.url");
+ if (flatUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'flat.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "sdbc:flat:" + flatUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java b/qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java
new file mode 100644
index 000000000000..136eed306ebe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 mod._jen;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.java.JavaVirtualMachine</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::java::XJavaThreadRegister_11</code></li>
+* <li> <code>com::sun::star::java::XJavaVM</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.java.XJavaThreadRegister_11
+* @see com.sun.star.java.XJavaVM
+* @see com.sun.star.java.XJavaVirtualMachine
+* @see ifc.java._XJavaThreadRegister_11
+* @see ifc.java._XJavaVM
+*/
+public class JavaVirtualMachine extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.java.JavaVirtualMachine</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.java.JavaVirtualMachine");
+
+ return new TestEnvironment(xInt);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_jen/package.html b/qadevOOo/tests/java/mod/_jen/package.html
new file mode 100644
index 000000000000..a58e59cf2325
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_jen/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'jen'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_lng/DicList.java b/qadevOOo/tests/java/mod/_lng/DicList.java
new file mode 100644
index 000000000000..13b0998babe3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lng/DicList.java
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * 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 mod._lng;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.linguistic2.XDictionary;
+import com.sun.star.linguistic2.XDictionaryList;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.lingu2.DicList</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::linguistic2::XSearchableDictionaryList</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::linguistic2::XDictionaryList</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.linguistic2.XSearchableDictionaryList
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.linguistic2.XDictionaryList
+ * @see ifc.linguistic2._XSearchableDictionaryList
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.linguistic2._XDictionaryList
+ */
+public class DicList extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.lingu2.DicList</code>. Then two dictionaries
+ * are created (positive and negative) and added to the list, one
+ * entry is added to each of dictionaries and they both are activated.
+ * The distionary list is retruned as a component for testing.
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.lingu2.DicList");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //creating a user defined dictionary for XSearchableDictionaryList
+ XDictionaryList xDicList = (XDictionaryList) UnoRuntime.queryInterface(
+ XDictionaryList.class, oObj);
+ xDicList.removeDictionary(xDicList.getDictionaryByName("MyDictionary"));
+ XDictionary xDic = xDicList.createDictionary("NegativDic",new Locale(
+ "en","US","WIN"),com.sun.star.linguistic2.DictionaryType.NEGATIVE,"");
+ XDictionary xDic2 = xDicList.createDictionary("PositivDic",new Locale(
+ "en","US","WIN"),com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+ xDic2.add("Positiv",false,"");
+ xDic.add("Negativ",true,"");
+ xDicList.addDictionary(xDic);
+ xDicList.addDictionary(xDic2);
+ xDic.setActive(true);
+ xDic2.setActive(true);
+
+ return tEnv;
+ }
+
+} // finish class DicList
+
diff --git a/qadevOOo/tests/java/mod/_lng/LinguProps.java b/qadevOOo/tests/java/mod/_lng/LinguProps.java
new file mode 100644
index 000000000000..c209f4b2367b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lng/LinguProps.java
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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 mod._lng;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.LinguProperties</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::linguistic2::LinguProperties</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.linguistic2.LinguProperties
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertySet
+ * @see ifc.linguistic2._LinguProperties
+ */
+public class LinguProps extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.LinguProperties</code>.
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguProperties");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+
+} // finish class LinguProps
+
diff --git a/qadevOOo/tests/java/mod/_lng/LngSvcMgr.java b/qadevOOo/tests/java/mod/_lng/LngSvcMgr.java
new file mode 100644
index 000000000000..609cfe4101a3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lng/LngSvcMgr.java
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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 mod._lng;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.LinguServiceManager</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::linguistic2::XLinguServiceManager</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.linguistic2.XLinguServiceManager
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.linguistic2._XLinguServiceManager
+ */
+public class LngSvcMgr extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.LinguServiceManager</code>.
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguServiceManager");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+
+} // finish class LngSvcMgr
+
diff --git a/qadevOOo/tests/java/mod/_lnn/Hyphenator.java b/qadevOOo/tests/java/mod/_lnn/Hyphenator.java
new file mode 100644
index 000000000000..431cdaafd994
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lnn/Hyphenator.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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 mod._lnn;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.Hyphenator</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::linguistic2::XHyphenator</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSupportedLocales</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::lang::XServiceDisplayName</code></li>
+ * <li> <code>com::sun::star::linguistic2::XLinguServiceEventBroadcaster</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.linguistic2.XHyphenator
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.linguistic2.XSupportedLocales
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XServiceDisplayName
+ * @see com.sun.star.linguistic2.XLinguServiceEventBroadcaster
+ * @see ifc.lang._XInitialization
+ * @see ifc.linguistic2._XHyphenator
+ * @see ifc.lang._XComponent
+ * @see ifc.linguistic2._XSupportedLocales
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.lang._XServiceDisplayName
+ * @see ifc.linguistic2._XLinguServiceEventBroadcaster
+ */
+public class Hyphenator extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.Hyphenator</code>.
+ * Then a property for using new German rules for hyphenation
+ * is set.
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.Hyphenator");
+ Object LP = xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguProperties");
+ XPropertySet LProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,LP);
+ LProps.setPropertyValue("IsGermanPreReform",new Boolean(true));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+
+} // finish class Hyphenator
+
diff --git a/qadevOOo/tests/java/mod/_lnn/SpellChecker.java b/qadevOOo/tests/java/mod/_lnn/SpellChecker.java
new file mode 100644
index 000000000000..293c80a07c1c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lnn/SpellChecker.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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 mod._lnn;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.linguistic2.XLinguServiceManager;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.SpellChecker</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSupportedLocales</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSpellChecker</code></li>
+ * <li> <code>com::sun::star::lang::XServiceDisplayName</code></li>
+ * <li> <code>com::sun::star::linguistic2::XLinguServiceEventBroadcaster</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.linguistic2.XSupportedLocales
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.linguistic2.XSpellChecker
+ * @see com.sun.star.lang.XServiceDisplayName
+ * @see com.sun.star.linguistic2.XLinguServiceEventBroadcaster
+ * @see ifc.lang._XInitialization
+ * @see ifc.lang._XComponent
+ * @see ifc.linguistic2._XSupportedLocales
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.linguistic2._XSpellChecker
+ * @see ifc.lang._XServiceDisplayName
+ * @see ifc.linguistic2._XLinguServiceEventBroadcaster
+ */
+public class SpellChecker extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.SpellChecker</code>.
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface oObj = null;
+ Object LinguServiceManager = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.lingu2.SpellChecker");
+ LinguServiceManager = xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguServiceManager");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XLinguServiceManager xLinguServiceManager = (XLinguServiceManager) UnoRuntime.queryInterface(XLinguServiceManager.class, LinguServiceManager);
+ tEnv.addObjRelation("AlternativeChecker",xLinguServiceManager.getSpellChecker());
+
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_lnn/Thesaurus.java b/qadevOOo/tests/java/mod/_lnn/Thesaurus.java
new file mode 100644
index 000000000000..566bbbaf4561
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lnn/Thesaurus.java
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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 mod._lnn;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.Thesaurus</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSupportedLocales</code></li>
+ * <li> <code>com::sun::star::linguistic2::XThesaurus</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::lang::XServiceDisplayName</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.linguistic2.XSupportedLocales
+ * @see com.sun.star.linguistic2.XThesaurus
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XServiceDisplayName
+ * @see ifc.lang._XInitialization
+ * @see ifc.lang._XComponent
+ * @see ifc.linguistic2._XSupportedLocales
+ * @see ifc.linguistic2._XThesaurus
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.lang._XServiceDisplayName
+ */
+public class Thesaurus extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.Thesaurus</code>.
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.Thesaurus");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java b/qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java
new file mode 100644
index 000000000000..523ed4cd0e2d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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 mod._mcnttype;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.mcnttype.MimeContentTypeFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::datatransfer::XMimeContentTypeFactory</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.datatransfer.XMimeContentTypeFactory
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.lang.XTypeProvider
+* @see com.sun.star.mcnttype.MimeContentTypeFactory
+* @see ifc.datatransfer._XMimeContentTypeFactory
+* @see ifc.lang._XServiceInfo
+* @see ifc.lang._XTypeProvider
+*/
+public class MimeContentTypeFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.datatransfer.MimeContentTypeFactory</code>. <p>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+
+
+ try {
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.datatransfer.MimeContentTypeFactory" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_mozab/MozabDriver.java b/qadevOOo/tests/java/mod/_mozab/MozabDriver.java
new file mode 100644
index 000000000000..1ff1c8492fb8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_mozab/MozabDriver.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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 mod._mozab;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class MozabDriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>mozab.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).
+ createInstance("com.sun.star.comp.sdbc.MozabDriver");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String mozabURL = (String) Param.get("mozab.url");
+ if (mozabURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'mozabURL' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:address:" + mozabURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_namingservice.uno/NamingService.java b/qadevOOo/tests/java/mod/_namingservice.uno/NamingService.java
new file mode 100644
index 000000000000..0c2a3128e0ff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_namingservice.uno/NamingService.java
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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 mod._namingservice.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.uno.NamingService</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::uno::XNamingService</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.uno.XNamingService
+* @see com.sun.star.uno.NamingService
+* @see ifc.uno._XNamingService
+*/
+public class NamingService extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.uno.NamingService</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XNamingService.RegisterObject'</code> for
+ * {@link ifc.uno._XNamingService} : an object
+ * which can be registered. Here it is an instance
+ * of <code>com.sun.star.lang.ServiceManager</code>
+ * service.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null;
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.uno.NamingService" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // objRelation for XNamingService as object to be registered
+ try {
+ tEnv.addObjRelation("XNamingService.RegisterObject",
+ xMSF.createInstance
+ ("com.sun.star.lang.ServiceManager")) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create object relation") ;
+ throw new StatusException("Can't create object relation", e) ;
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_namingservice/NamingService.java b/qadevOOo/tests/java/mod/_namingservice/NamingService.java
new file mode 100644
index 000000000000..b6d02e0a2ac8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_namingservice/NamingService.java
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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 mod._namingservice;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.uno.NamingService</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::uno::XNamingService</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.uno.XNamingService
+* @see com.sun.star.uno.NamingService
+* @see ifc.uno._XNamingService
+*/
+public class NamingService extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.uno.NamingService</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XNamingService.RegisterObject'</code> for
+ * {@link ifc.uno._XNamingService} : an object
+ * which can be registered. Here it is an instance
+ * of <code>com.sun.star.lang.ServiceManager</code>
+ * service.</li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.uno.NamingService" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // objRelation for XNamingService as object to be registered
+ try {
+ tEnv.addObjRelation("XNamingService.RegisterObject",
+ ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.lang.ServiceManager")) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create object relation") ;
+ throw new StatusException("Can't create object relation", e) ;
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_namingservice/package.html b/qadevOOo/tests/java/mod/_namingservice/package.html
new file mode 100644
index 000000000000..5eae896a6805
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_namingservice/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'namingservice'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_nestedreg.uno/NestedRegistry.java b/qadevOOo/tests/java/mod/_nestedreg.uno/NestedRegistry.java
new file mode 100644
index 000000000000..6c5f7dc53997
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_nestedreg.uno/NestedRegistry.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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 mod._nestedreg.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.XInterface;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.RegistryTools;
+import util.utils;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.NestedRegistry</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> XSimpleRegistry.rdb </b> : Registry file created before. </li>
+* <li><b> XSimpleRegistry_open#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* <li><b> XSimpleRegistry_merge#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.registry.XSimpleRegistry
+* @see com.sun.star.lang.XInitialization
+* @see ifc.registry._XSimpleRegistry
+* @see ifc.lang._XInitialization
+*/
+public class NestedRegistry extends TestCase {
+
+ protected static int uniq = 0 ;
+ XSimpleRegistry reg1;
+ XSimpleRegistry reg2;
+
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam ) {
+ try {
+ reg1.destroy();
+ reg2.destroy();
+ }
+ catch (com.sun.star.registry.InvalidRegistryException e) {}
+ }
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @throws java.io.IOException If any problems occur during copiing.
+ */
+ protected void copyFile(String src, String dst, PrintWriter log)
+ throws java.io.IOException {
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+
+ if (dstF.exists()) dstF.delete() ;
+ dstF.createNewFile() ;
+
+ dstF.deleteOnExit() ;
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0)
+ fOut.write(buf, 0, bytesRead) ;
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two temporary copies of registry file created before, opens
+ * them, and creates service <code>com.sun.star.comp.stoc.NestedRegistry</code>
+ * with these two registries. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NR'</code> for {@link ifc.registry._XSimpleRegistry} :
+ * Just informs interface test that <code>NestedRegistry</code>
+ * service is tested. If this relation exists, than some methods
+ * are not supported. The relation is a <code>String</code> with
+ * object name.</li>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ final String tmpDir = utils.getOfficeTempDirSys(
+ (XMultiServiceFactory)Param.getMSF()) ;
+ final String openF = tmpDir + "XSimpleRegistry_open" + uniq + ".rdb" ;
+ final String destroyF = tmpDir
+ + "XSimpleRegistry_destroy" + uniq + ".rdb" ;
+ final String mergeF = tmpDir + "XSimpleRegistry_merge" + uniq + ".rdb" ;
+ uniq++ ;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ try {
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, openF, log) ;
+ copyFile(source, mergeF, log) ;
+ } catch (java.io.IOException e) {
+ log.println("Exception occured while copying files");
+ e.printStackTrace(log);
+ throw new StatusException("Exception occured while copying files", e);
+ }
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ reg1 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg1.open(mergeF, false, true) ;
+ reg2 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg2.open(openF, false, true) ;
+ XSimpleRegistry[] arg = new XSimpleRegistry[2];
+ arg[0]=reg1;
+ arg[1]=reg2;
+ oInterface = xMSF.createInstanceWithArguments
+ ( "com.sun.star.comp.stoc.NestedRegistry", arg );
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("NR","NestedRegistry");
+
+ tEnv.addObjRelation("XSimpleRegistry.open", openF) ;
+ tEnv.addObjRelation("XSimpleRegistry.merge", mergeF) ;
+ tEnv.addObjRelation("XSimpleRegistry.destroy", destroyF) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+
+ }
+
+} // finish class NestedRegistry
+
diff --git a/qadevOOo/tests/java/mod/_nestedreg.uno/package.html b/qadevOOo/tests/java/mod/_nestedreg.uno/package.html
new file mode 100644
index 000000000000..16090213476e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_nestedreg.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'defreg'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_odbc/ODBCDriver.java b/qadevOOo/tests/java/mod/_odbc/ODBCDriver.java
new file mode 100644
index 000000000000..6289f863dce7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_odbc/ODBCDriver.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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 mod._odbc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+ * Test allows to run object tests in several threads concurently.
+ * @see com.sun.star.sdbc.Driver
+ * @see com.sun.star.sdbc.XDriver
+ * @see ifc.sdbc._XDriver
+ */
+public class ODBCDriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>odbc.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.sdbc.ODBCDriver");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create object"));
+ }
+
+ log.println("creating a new environment for ODBCDriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String odbcURL = (String) Param.get("odbc.url");
+ if (odbcURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'odbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:odbc:" + odbcURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_pcr/ObjectInspector.java b/qadevOOo/tests/java/mod/_pcr/ObjectInspector.java
new file mode 100644
index 000000000000..52635c813eb9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_pcr/ObjectInspector.java
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * 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 mod._pcr;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFrames;
+import com.sun.star.frame.XFramesSupplier;
+import com.sun.star.inspection.XObjectInspector;
+import com.sun.star.inspection.XObjectInspectorModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.CloseVetoException;
+import com.sun.star.util.XCloseable;
+import helper.PropertyHandlerImpl;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import util.DesktopTools;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.reflection.ObjectInspector</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::inspection::XObjectInspector</code></li>
+ * <li> <code>com::sun::star::frame::XController</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.inspection.XObjectInspector
+ * @see com.sun.star.frame.XController
+ */
+public class ObjectInspector extends TestCase {
+
+ /**
+ * module variable which holds the Desktop
+ * @see com.sun.star.frame.Desktop
+ */
+ protected static Object StarDesktop = null;
+
+ /**
+ * assign to the module variable <CODE>StarDesktop</CODE> the desktop
+ * @param Param the test parameters
+ * @param log the log writer
+ * @see lib.TestParameters
+ * @see share.LogWriter
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println("create a desktop...");
+ StarDesktop = DesktopTools.createDesktop((XMultiServiceFactory) Param.getMSF());
+ if (StarDesktop == null){
+ throw new StatusException("Could not get a Desktop: null", null);
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.inspection.ObjectInspector</code> and adds it to
+ * a floating frame.<br>
+ * To test <CODE>com.sun.star.inspection.XObjectInspector.inspect()</CODE>
+ * an own implementation of
+ * <CODE>com.sun.star.inspection.XPropertyHandler</CODE> was used.
+ * @param tParam the tests parameter
+ * @param log the logger
+ * @return the test environement
+ * @see util.DesktopTools
+ * @see helper.PropertyHandlerImpl
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ this.cleanup(tParam, log);
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface oInspector = (XInterface) xMSF.createInstance("com.sun.star.inspection.ObjectInspector");
+
+ XObjectInspector xInspector = (XObjectInspector) UnoRuntime.queryInterface(XObjectInspector.class, oInspector);
+
+ log.println("ImplementationName '" + utils.getImplName(xInspector) + "'");
+
+ XInterface oInspectorModel = (XInterface) xMSF.createInstance("com.sun.star.inspection.ObjectInspectorModel");
+
+ XObjectInspectorModel xInspectorModel = (XObjectInspectorModel)
+ UnoRuntime.queryInterface(XObjectInspectorModel.class, oInspectorModel);
+
+ XInterface oInspectorModelToSet = (XInterface) xMSF.createInstance("com.sun.star.inspection.ObjectInspectorModel");
+
+ XObjectInspectorModel xInspectorModelToSet = (XObjectInspectorModel)
+ UnoRuntime.queryInterface(XObjectInspectorModel.class, oInspectorModelToSet);
+
+
+ log.println("create a floating frame...");
+
+ XWindow xWindow = null;
+ try{
+
+ XWindowPeer xWindowPeer = DesktopTools.createFloatingWindow(xMSF);
+
+ xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class, xWindowPeer);
+
+ } catch (StatusException e){
+ throw new StatusException("Coud not create test object", e);
+ }
+
+ XInterface oFrame = (XInterface) xMSF.createInstance("com.sun.star.frame.Frame");
+
+ XFrame xFrame = (XFrame) UnoRuntime.queryInterface(XFrame.class, oFrame);
+
+ xFrame.setName("ObjectInspector");
+ xFrame.initialize(xWindow);
+
+ XFramesSupplier xFramesSup = (XFramesSupplier) UnoRuntime.queryInterface(XFramesSupplier.class, StarDesktop);
+
+ XFrames xFrames = xFramesSup.getFrames();
+ xFrames.append(xFrame);
+
+
+ log.println("attach ObjectInspector to floating frame...");
+
+ XInitialization xOII = (XInitialization) UnoRuntime.queryInterface(XInitialization.class, xInspectorModel);
+
+ xOII.initialize(new Object[0]);
+
+ xInspector.setInspectorModel(xInspectorModel);
+
+ // for debug purposes the following lines could commented out. But in
+ // this case the com.sun.star.frame.XController would be failed!
+ //xInspector.attachFrame(xFrame);
+ //xWindow.setVisible(true);
+
+ Object[] oInspect = new Object[1];
+ oInspect[0] = new PropertyHandlerImpl();
+
+ TestEnvironment tEnv = new TestEnvironment(xInspector);
+
+ // com.sun.star.frame.XController
+ tEnv.addObjRelation("Frame",xFrame);
+
+ tEnv.addObjRelation("XObjectInspector.toInspect", oInspect);
+
+ tEnv.addObjRelation("XObjectInspector.InspectorModelToSet", xInspectorModelToSet);
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ }
+
+ /**
+ * Closes the ObjectOnspector using <CODE>XCloseable</CODE>
+ * @see com.sun.star.util.XCloseable
+ * @param Param the test parameter
+ * @param log the logger
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog if one exists ... ");
+
+ XFrame existentInspector = null;
+
+ XFrame xFrame = (XFrame) UnoRuntime.queryInterface(XFrame.class, StarDesktop);
+
+ existentInspector = xFrame.findFrame( "ObjectInspector", 255 );
+
+ if ( existentInspector != null ){
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, existentInspector);
+ try{
+ closer.close(true);
+ } catch (CloseVetoException e){
+ log.println("Could not close inspector: " + e.toString());
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java b/qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java
new file mode 100644
index 000000000000..f6044a3926d8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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 mod._pcr;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XFrame;
+import com.sun.star.inspection.XObjectInspectorModel;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.CloseVetoException;
+import com.sun.star.util.XCloseable;
+import helper.PropertyHandlerFactroy;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import util.DesktopTools;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.reflection.ObjectInspectorModel</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::inspection::XObjectInspectorModel</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.inspection.XObjectInspectorModel
+ */
+public class ObjectInspectorModel extends TestCase {
+
+ /**
+ * module variable which holds the Desktop
+ * @see com.sun.star.frame.Desktop
+ */
+ protected static Object StarDesktop = null;
+
+ /**
+ * assign to the module variable <CODE>StarDesktop</CODE> the desktop
+ * @param Param the test parameters
+ * @param log the log writer
+ * @see lib.TestParameters
+ * @see share.LogWriter
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println("create a desktop...");
+ StarDesktop = DesktopTools.createDesktop((XMultiServiceFactory) Param.getMSF());
+ if (StarDesktop == null){
+ throw new StatusException("Could not get a Desktop: null", null);
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.inspection.ObjectInspectorModel</code> with a <code>DefaultContext</code> and
+ * <code>PropertyHandlerFactroy[]</code> as parameter
+ *
+ * @param tParam the tests parameter
+ * @param log the logger
+ * @return the test environement
+ * @see util.DesktopTools
+ * @see helper.PropertyHandlerImpl
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ this.cleanup(tParam, log);
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ XPropertySet xMSFProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ XComponentContext xDefaultContext = null;
+ try{
+ // Get the default context from the office server.
+ Object oDefaultContext = xMSFProp.getPropertyValue("DefaultContext");
+
+ // Query for the interface XComponentContext.
+ xDefaultContext = (XComponentContext) UnoRuntime.queryInterface(
+ XComponentContext.class, oDefaultContext);
+
+ } catch (UnknownPropertyException e){
+ throw new StatusException("could not get DefaultContext from xMSF", e);
+ } catch (WrappedTargetException e){
+ throw new StatusException("could not get DefaultContext from xMSF", e);
+ } catch (Exception e){
+ throw new StatusException("could not get DefaultContext from xMSF", e);
+ }
+
+ try {
+
+ Object[] oHandlerFactories = new Object[1];
+ oHandlerFactories[0] = new PropertyHandlerFactroy();
+
+ int minHelpTextLines = 200;
+ int maxHelpTextLines = 400;
+
+ XObjectInspectorModel oInspectorModel = com.sun.star.inspection.ObjectInspectorModel.
+ createWithHandlerFactoriesAndHelpSection(xDefaultContext, oHandlerFactories,
+ minHelpTextLines, maxHelpTextLines);
+
+ log.println("ImplementationName '" + utils.getImplName(oInspectorModel) + "'");
+
+ TestEnvironment tEnv = new TestEnvironment(oInspectorModel);
+
+ // com.sun.star.inspection.XObjectInspectorModel
+ tEnv.addObjRelation("minHelpTextLines", new Integer(minHelpTextLines));
+ tEnv.addObjRelation("maxHelpTextLines", new Integer(maxHelpTextLines));
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ }
+
+ /**
+ * Closes the ObjectOnspector using <CODE>XCloseable</CODE>
+ * @see com.sun.star.util.XCloseable
+ * @param Param the test parameter
+ * @param log the logger
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog if one exists ... ");
+
+ XFrame existentInspector = null;
+
+ XFrame xFrame = (XFrame) UnoRuntime.queryInterface(XFrame.class, StarDesktop);
+
+ existentInspector = xFrame.findFrame( "ObjectInspector", 255 );
+
+ if ( existentInspector != null ){
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, existentInspector);
+ try{
+ closer.close(true);
+ } catch (CloseVetoException e){
+ log.println("Could not close inspector: " + e.toString());
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_proxyfac.uno/ProxyFactory.java b/qadevOOo/tests/java/mod/_proxyfac.uno/ProxyFactory.java
new file mode 100644
index 000000000000..ccd1286f697e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyfac.uno/ProxyFactory.java
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 mod._proxyfac.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.ProxyFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XProxyFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.reflection.XProxyFactory
+* @see com.sun.star.reflection.ProxyFactory
+* @see ifc.reflection._XProxyFactory
+*/
+public class ProxyFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.ProxyFactory</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.reflection.ProxyFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java b/qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java
new file mode 100644
index 000000000000..75857eecc44d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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 mod._proxyfac;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.ProxyFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XProxyFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.reflection.XProxyFactory
+* @see com.sun.star.reflection.ProxyFactory
+* @see ifc.reflection._XProxyFactory
+*/
+public class ProxyFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.ProxyFactory</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.reflection.ProxyFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_proxyfac/package.html b/qadevOOo/tests/java/mod/_proxyfac/package.html
new file mode 100644
index 000000000000..807d5622d1ec
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyfac/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'proxyfac'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_proxyset/SOffice52ProxySettings.java b/qadevOOo/tests/java/mod/_proxyset/SOffice52ProxySettings.java
new file mode 100644
index 000000000000..8ac66de12de6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyset/SOffice52ProxySettings.java
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * 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 mod._proxyset;
+
+import java.io.PrintWriter;
+import java.util.Hashtable;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.system.SOffice52ProxySettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::system::XProxySettings</code></li>
+ * <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.system.XProxySettings
+ * @see com.sun.star.lang.XTypeProvider
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.system._XProxySettings
+ * @see ifc.lang._XTypeProvider
+ */
+public class SOffice52ProxySettings extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of
+ * <code>com.sun.star.system.SOffice52ProxySettings</code>,for testing.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XProxySettings.proxySettings'</code> for
+ * {@link ifc.system._XProxySettings} : </li>
+ * <p>It passes a Hashtable with expected proxy settings as object
+ * relation "XProxySettings.proxySettings", to verify results. The expected
+ * settings are taken from parameters. The following parameters are recognized:
+ * <ul>
+ * <li>test.proxy.soffice52.ftpProxyAddress</li>
+ * <li>test.proxy.soffice52.ftpProxyPort</li>
+ * <li>test.proxy.soffice52.gopherProxyAddress</li>
+ * <li>test.proxy.soffice52.gopherProxyPort</li>
+ * <li>test.proxy.soffice52.httpProxyAddress</li>
+ * <li>test.proxy.soffice52.httpProxyPort</li>
+ * <li>test.proxy.soffice52.httpsProxyAddress</li>
+ * <li>test.proxy.soffice52.httpsProxyPort</li>
+ * <li>test.proxy.soffice52.socksProxyAddress</li>
+ * <li>test.proxy.soffice52.socksProxyPort</li>
+ * <li>test.proxy.soffice52.proxyBypassAddress</li>
+ * <li>test.proxy.soffice52.proxyEnabled</li>
+ * </ul>.
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance(
+ "com.sun.star.system.SOffice52ProxySettings");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // extracting parameters to proxy settings
+ Hashtable proxySettings = new Hashtable(12);
+
+ String prefix = "test.proxy.soffice52.";
+
+ final String[] names = {
+ "ftpProxyAddress",
+ "ftpProxyPort",
+ "gopherProxyAddress",
+ "gopherProxyPort",
+ "httpProxyAddress",
+ "httpProxyPort",
+ "httpsProxyAddress",
+ "httpsProxyPort",
+ "socksProxyAddress",
+ "socksProxyPort",
+ "proxyBypassAddress",
+ "proxyEnabled"
+ };
+
+ for (int i = 0; i < names.length; i++) {
+ String name = prefix + names[i];
+ String value = (String) tParam.get(name);
+
+ if (value == null) {
+ value = "";
+ }
+
+ proxySettings.put(names[i], value);
+ }
+
+ tEnv.addObjRelation("XProxySettings.proxySettings", proxySettings);
+
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_proxyset/SystemProxySettings.java b/qadevOOo/tests/java/mod/_proxyset/SystemProxySettings.java
new file mode 100644
index 000000000000..50ece587ff33
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyset/SystemProxySettings.java
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * 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 mod._proxyset;
+
+import java.io.PrintWriter;
+import java.util.Hashtable;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.system.SystemProxySettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::system::XProxySettings</code></li>
+ * <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.system.XProxySettings
+ * @see com.sun.star.lang.XTypeProvider
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.system._XProxySettings
+ * @see ifc.lang._XTypeProvider
+ */
+public class SystemProxySettings extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of
+ * <code>com.sun.star.system.SystemProxySettings</code>,for testing.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XProxySettings.proxySettings'</code> for
+ * {@link ifc.system._XProxySettings} : </li>
+ * <p>It passes a Hashtable with expected proxy settings as object
+ * relation "XProxySettings.proxySettings", to verify results. The expected
+ * settings are taken from parameters. The following parameters are recognized:
+ * <ul>
+ * <li>test.proxy.soffice52.ftpProxyAddress</li>
+ * <li>test.proxy.soffice52.ftpProxyPort</li>
+ * <li>test.proxy.soffice52.gopherProxyAddress</li>
+ * <li>test.proxy.soffice52.gopherProxyPort</li>
+ * <li>test.proxy.soffice52.httpProxyAddress</li>
+ * <li>test.proxy.soffice52.httpProxyPort</li>
+ * <li>test.proxy.soffice52.httpsProxyAddress</li>
+ * <li>test.proxy.soffice52.httpsProxyPort</li>
+ * <li>test.proxy.soffice52.socksProxyAddress</li>
+ * <li>test.proxy.soffice52.socksProxyPort</li>
+ * <li>test.proxy.soffice52.proxyBypassAddress</li>
+ * <li>test.proxy.soffice52.proxyEnabled</li>
+ * </ul>.
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.system.SystemProxySettings" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // extracting parameters to proxy settings
+ Hashtable proxySettings = new Hashtable(12);
+
+ String prefix = "test.proxy.system.";
+
+ final String[] names = {
+ "ftpProxyAddress",
+ "ftpProxyPort",
+ "gopherProxyAddress",
+ "gopherProxyPort",
+ "httpProxyAddress",
+ "httpProxyPort",
+ "httpsProxyAddress",
+ "httpsProxyPort",
+ "socksProxyAddress",
+ "socksProxyPort",
+ "proxyBypassAddress",
+ "proxyEnabled"
+ };
+
+ for (int i = 0; i < names.length; i++) {
+ String name = prefix + names[i];
+ String value = (String) tParam.get(name);
+
+ if (value == null) {
+ value = "";
+ }
+
+ proxySettings.put(names[i], value);
+ }
+
+ tEnv.addObjRelation("XProxySettings.proxySettings", proxySettings);
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_qadevOOo/SelfTest.java b/qadevOOo/tests/java/mod/_qadevOOo/SelfTest.java
new file mode 100755
index 000000000000..adca07f799d6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_qadevOOo/SelfTest.java
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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 mod._qadevOOo;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+
+public class SelfTest extends TestCase
+{
+ private XTextDocument xTextDoc = null;
+
+ protected void initialize(TestParameters tParam, PrintWriter log)
+ {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory) tParam.getMSF());
+
+ log.println("initialize the selftest");
+ try
+ {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log)
+ {
+ log.println(" cleanup selftest");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log)
+ {
+ XInterface oObj = null;
+ log.println("creating a test environment");
+
+ // get the bodytext of textdocument here
+ log.println("getting the TextCursor");
+
+ final XSimpleText aText = xTextDoc.getText();
+ final XTextCursor textCursor = aText.createTextCursor();
+ oObj = textCursor;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java b/qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java
new file mode 100644
index 000000000000..9785b9fd484e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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 mod._rdbtdp;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.TypeDescriptionProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XHierarchicalNameAccess</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.container.XHierarchicalNameAccess
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.reflection.TypeDescriptionProvider
+* @see ifc.container._XHierarchicalNameAccess
+* @see ifc.lang._XComponent
+*/
+public class RegistryTypeDescriptionProvider extends TestCase {
+
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.TypeDescriptionProvider</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ElementName'</code> for
+ * {@link ifc.container._XHierarchicalNameAccess} :
+ * name of the existing element. Here it type name for
+ * <code>com.sun.star.uno.XInterface</code> interface.</li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = (XComponentContext)
+ UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager
+ Object o = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ // the manager contains all providers
+ XEnumerationAccess aProviderAccess = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class, o);
+ // collect enumeration
+ XEnumeration xProviderEnum;
+ if (aProviderAccess.hasElements())
+ xProviderEnum = aProviderAccess.createEnumeration();
+ else
+ throw new lib.StatusException(Status.failed(
+ "No TypeDescriptionProvider given"));
+ // take the first registry type description provider
+ oInterface = xProviderEnum.nextElement();
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oInterface);
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ //oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XHierarchicalNameAccess
+ tEnv.addObjRelation("ElementName", "com.sun.star.uno.XInterface") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_rdbtdp/package.html b/qadevOOo/tests/java/mod/_rdbtdp/package.html
new file mode 100644
index 000000000000..ee0975e6e4cb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_rdbtdp/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'rdbtdp'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_regtypeprov.uno/RegistryTypeDescriptionProvider.java b/qadevOOo/tests/java/mod/_regtypeprov.uno/RegistryTypeDescriptionProvider.java
new file mode 100644
index 000000000000..6030cf18d99a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_regtypeprov.uno/RegistryTypeDescriptionProvider.java
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * 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 mod._regtypeprov.uno;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import java.io.PrintWriter;
+import lib.Status;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.TypeDescriptionProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XHierarchicalNameAccess</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.container.XHierarchicalNameAccess
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.reflection.TypeDescriptionProvider
+* @see ifc.container._XHierarchicalNameAccess
+* @see ifc.lang._XComponent
+*/
+public class RegistryTypeDescriptionProvider extends TestCase {
+
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.TypeDescriptionProvider</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ElementName'</code> for
+ * {@link ifc.container._XHierarchicalNameAccess} :
+ * name of the existing element. Here it type name for
+ * <code>com.sun.star.uno.XInterface</code> interface.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = (XComponentContext)
+ UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager
+ Object o = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ // the manager contains all providers
+ XEnumerationAccess aProviderAccess = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class, o);
+ // collect enumeration
+ XEnumeration xProviderEnum;
+ if (aProviderAccess.hasElements())
+ xProviderEnum = aProviderAccess.createEnumeration();
+ else
+ throw new lib.StatusException(Status.failed(
+ "No TypeDescriptionProvider given"));
+ // take the first registry type description provider
+ oInterface = xProviderEnum.nextElement();
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oInterface);
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ //oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XHierarchicalNameAccess
+ tEnv.addObjRelation("ElementName", "com.sun.star.uno.XInterface") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_remotebridge.uno/various.java b/qadevOOo/tests/java/mod/_remotebridge.uno/various.java
new file mode 100644
index 000000000000..0bcaecc361db
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_remotebridge.uno/various.java
@@ -0,0 +1,309 @@
+/*************************************************************************
+ *
+ * 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 mod._remotebridge.uno;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.bridge.XInstanceProvider;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.bridge.Bridge</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::bridge::XBridge</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.bridge.XBridge
+* @see com.sun.star.bridge.Bridge
+* @see ifc.lang._XInitialization
+* @see ifc.lang._XComponent
+* @see ifc.bridge._XBridge
+*/
+public class various extends TestCase {
+
+ /**
+ * String for establishing a connection
+ */
+ protected String connectString = null ;
+
+ /**
+ * Choose the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50000;
+ private int curPort = 50000;
+
+ private XAcceptor xAcctr;
+ private XConnector xCntr;
+ private XBridgeFactory xBrdgFctr;
+ private AcceptorThread accThread;
+
+ public XInterface bridge = null;
+
+ /**
+ * Implementation of interface XInstanceProvider
+ *
+ * @see com.sun.star.bridge.XInstanceProvider
+ */
+ protected class MyInstanceProvider implements XInstanceProvider {
+ /**
+ * a MultiServiceFactory for creating instances
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ private XMultiServiceFactory xMSF = null;
+
+ /**
+ * Construct object with a MultiServiceFactory
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ public MyInstanceProvider(XMultiServiceFactory xMSF) {
+ this.xMSF = xMSF;
+ }
+
+ /**
+ * get an instance by name
+ */
+ public Object getInstance(String aInstanceName)
+ throws com.sun.star.container.NoSuchElementException
+ {
+ System.out.println("######## Try to get "+aInstanceName);
+ try {
+ return xMSF.createInstance(aInstanceName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+ }
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occured, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * If exception occured during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ private XAcceptor acc = null ;
+ private XInstanceProvider xInstProv = null ;
+ private XBridgeFactory xBrdgFctr = null;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Creates object which can call <code>accept</code> method
+ * of the Acceptor object specified.
+ */
+ public AcceptorThread(XAcceptor acc, XInstanceProvider xInstProv,
+ XBridgeFactory xBrdgFctr) {
+ this.acc = acc ;
+ this.xInstProv = xInstProv;
+ this.xBrdgFctr = xBrdgFctr;
+ }
+
+ /**
+ * Call <code>accept()</code> method and establish a bridge with an
+ * instance provider
+ */
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString) ;
+ xBrdgFctr.createBridge("MyBridge", "urp",
+ acceptedCall, xInstProv);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ } catch (com.sun.star.bridge.BridgeExistsException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ private final boolean[] bridgeDisposed = new boolean[1] ;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.bridge.Bridge</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} and
+ * {@link ifc.bridge._XBridge} : contains arguments
+ * for <code>initialize()</code> method test.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.Bridge");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ // creating arguments for XInitialization
+ // first, creating a connection
+ // connection string
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+
+ // select the port
+// curPort; //utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ connectString = "socket,host=" +
+ cncstr.substring(idx, cncstr.indexOf(",", idx)) +
+ ",port=" + curPort;
+
+ // create acceptor
+ XInterface oAcctr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+
+ xAcctr = (XAcceptor)UnoRuntime.queryInterface(
+ XAcceptor.class, oAcctr);
+ // create connector
+ XInterface oCntr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Connector") ;
+ xCntr = (XConnector)UnoRuntime.queryInterface(
+ XConnector.class, oCntr);
+
+ // create bridge factory
+ XInterface oBrdg = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory") ;
+ xBrdgFctr = (XBridgeFactory)
+ UnoRuntime.queryInterface(XBridgeFactory.class, oBrdg);
+
+ // create own implementation of XInstanceProvider
+ XInstanceProvider xInstProv = new MyInstanceProvider(xMSF);
+ // create waiting acceptor thread
+ accThread = new AcceptorThread(xAcctr, xInstProv, xBrdgFctr);
+ accThread.start();
+ // let the thread sleep
+ try {
+ Thread.sleep(500);
+ }
+ catch (java.lang.InterruptedException e) {}
+
+ // establish the connection
+ XConnection xConnection = xCntr.connect(connectString);
+
+ String protocol = "urp";
+ String bridgeName = protocol + ":" + connectString;
+
+/* bridgeDisposed[0] = false ;
+ XComponent xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xInt);
+ final PrintWriter logF = log;
+ xComp.addEventListener(new XEventListener() {
+ public void disposing(EventObject ev) {
+ bridgeDisposed[0] = true ;
+ logF.println("The bridge Disposed.");
+ }
+ });
+*/
+ tEnv.addObjRelation("XInitialization.args", new Object[] {
+ bridgeName, protocol, xConnection, null});
+
+ bridge = tEnv.getTestObject();
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+
+ /**
+ * Stop the acceptor thread and dispose the bridge
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ System.out.println("++++++++ cleanup");
+ xAcctr.stopAccepting();
+ if (accThread.isAlive()) {
+ accThread.interrupt();
+ }
+ XComponent xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xAcctr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xCntr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xBrdgFctr);
+ if (xComp != null)
+ xComp.dispose();
+
+ xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, bridge);
+ if (xComp != null) {
+ System.out.println("######## Dispose bridge");
+ bridgeDisposed[0] = true;
+ xComp.dispose();
+ // wait for dispose
+ try {
+ Thread.sleep(5000);
+ }
+ catch(java.lang.InterruptedException e) {
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_remotebridge/package.html b/qadevOOo/tests/java/mod/_remotebridge/package.html
new file mode 100644
index 000000000000..64610d7f8124
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_remotebridge/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'remotebridge'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_remotebridge/various.java b/qadevOOo/tests/java/mod/_remotebridge/various.java
new file mode 100644
index 000000000000..88491ab7a186
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_remotebridge/various.java
@@ -0,0 +1,305 @@
+/*************************************************************************
+ *
+ * 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 mod._remotebridge;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.bridge.XInstanceProvider;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.bridge.Bridge</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::bridge::XBridge</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.bridge.XBridge
+* @see com.sun.star.bridge.Bridge
+* @see ifc.lang._XInitialization
+* @see ifc.lang._XComponent
+* @see ifc.bridge._XBridge
+*/
+public class various extends TestCase {
+
+ /**
+ * String for establishing a connection
+ */
+ protected String connectString = null ;
+
+ /**
+ * Choose the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50000;
+ private int curPort = 50000;
+
+ private XAcceptor xAcctr;
+ private XConnector xCntr;
+ private XBridgeFactory xBrdgFctr;
+ private AcceptorThread accThread;
+
+ public XInterface bridge = null;
+
+ /**
+ * Implementation of interface XInstanceProvider
+ *
+ * @see com.sun.star.bridge.XInstanceProvider
+ */
+ protected class MyInstanceProvider implements XInstanceProvider {
+ /**
+ * a MultiServiceFactory for creating instances
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ private XMultiServiceFactory xMSF = null;
+
+ /**
+ * Construct object with a MultiServiceFactory
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ public MyInstanceProvider(XMultiServiceFactory xMSF) {
+ this.xMSF = xMSF;
+ }
+
+ /**
+ * get an instance by name
+ */
+ public Object getInstance(String aInstanceName)
+ throws com.sun.star.container.NoSuchElementException
+ {
+ System.out.println("######## Try to get "+aInstanceName);
+ try {
+ return xMSF.createInstance(aInstanceName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+ }
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occured, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * If exception occured during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ private XAcceptor acc = null ;
+ private XInstanceProvider xInstProv = null ;
+ private XBridgeFactory xBrdgFctr = null;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Creates object which can call <code>accept</code> method
+ * of the Acceptor object specified.
+ */
+ public AcceptorThread(XAcceptor acc, XInstanceProvider xInstProv,
+ XBridgeFactory xBrdgFctr) {
+ this.acc = acc ;
+ this.xInstProv = xInstProv;
+ this.xBrdgFctr = xBrdgFctr;
+ }
+
+ /**
+ * Call <code>accept()</code> method and establish a bridge with an
+ * instance provider
+ */
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ private final boolean[] bridgeDisposed = new boolean[1] ;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.bridge.Bridge</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} and
+ * {@link ifc.bridge._XBridge} : contains arguments
+ * for <code>initialize()</code> method test.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.Bridge");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ // creating arguments for XInitialization
+ // first, creating a connection
+ // connection string
+ String cncstr = (String) tParam.get("CNCSTR") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+
+ // select the port
+// curPort; //utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ connectString = "socket,host=" +
+ cncstr.substring(idx, cncstr.indexOf(",", idx)) +
+ ",port=" + curPort;
+
+ // create acceptor
+ XInterface oAcctr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+
+ xAcctr = (XAcceptor)UnoRuntime.queryInterface(
+ XAcceptor.class, oAcctr);
+ // create connector
+ XInterface oCntr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Connector") ;
+ xCntr = (XConnector)UnoRuntime.queryInterface(
+ XConnector.class, oCntr);
+
+ // create bridge factory
+ XInterface oBrdg = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory") ;
+ xBrdgFctr = (XBridgeFactory)
+ UnoRuntime.queryInterface(XBridgeFactory.class, oBrdg);
+
+ // create own implementation of XInstanceProvider
+ XInstanceProvider xInstProv = new MyInstanceProvider(xMSF);
+ // create waiting acceptor thread
+ accThread = new AcceptorThread(xAcctr, xInstProv, xBrdgFctr);
+ accThread.start();
+ // let the thread sleep
+ try {
+ Thread.sleep(500);
+ }
+ catch (java.lang.InterruptedException e) {}
+
+ // establish the connection
+ XConnection xConnection = xCntr.connect(connectString);
+
+ String protocol = "urp";
+ String bridgeName = protocol + ":" + connectString;
+
+/* bridgeDisposed[0] = false ;
+ XComponent xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xInt);
+ final PrintWriter logF = log;
+ xComp.addEventListener(new XEventListener() {
+ public void disposing(EventObject ev) {
+ bridgeDisposed[0] = true ;
+ logF.println("The bridge Disposed.");
+ }
+ });
+*/
+ tEnv.addObjRelation("XInitialization.args", new Object[] {
+ bridgeName, protocol, xConnection, null});
+
+ bridge = tEnv.getTestObject();
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+
+ /**
+ * Stop the acceptor thread and dispose the bridge
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ System.out.println("++++++++ cleanup");
+ xAcctr.stopAccepting();
+ if (accThread.isAlive()) {
+ accThread.interrupt();
+ }
+ XComponent xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xAcctr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xCntr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, xBrdgFctr);
+ if (xComp != null)
+ xComp.dispose();
+
+ xComp = (XComponent)UnoRuntime.queryInterface(
+ XComponent.class, bridge);
+ if (xComp != null) {
+ System.out.println("######## Dispose bridge");
+ bridgeDisposed[0] = true;
+ xComp.dispose();
+ // wait for dispose
+ try {
+ Thread.sleep(5000);
+ }
+ catch(java.lang.InterruptedException e) {
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java
new file mode 100644
index 000000000000..b7018b7691f7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java
@@ -0,0 +1,220 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+public class AccessibleEditableTextPara_HeaderFooter extends TestCase {
+ protected static XComponent xCalcDoc = null;
+ protected static XMultiServiceFactory msf = null;
+ protected static XAccessibleAction action = null;
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XAccessibleContext oObj = null;
+ Object toolkit = null;
+
+ try {
+ toolkit = msf.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ DiagThread psDiag = new DiagThread(xCalcDoc, msf);
+ psDiag.start();
+
+ util.utils.shortWait(Param.getInt("ShortWait")*5);
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext ok_button = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Cancel");
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PARAGRAPH);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + oObj.getAccessibleName());
+ log.println("ParentDescription " +
+ oObj.getAccessibleParent().getAccessibleContext()
+ .getAccessibleDescription());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, ok_button);
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ XAccessibleEditableText eText = (XAccessibleEditableText) UnoRuntime.queryInterface(
+ XAccessibleEditableText.class,
+ oObj);
+
+ eText.setText("LEFT");
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("Destroy", "AccessibleEditableTextPara_PreviewCell");
+
+ final XAccessibleEditableText editText = eText;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ editText.setText("LEFT_EVENT");
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'OK' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" disposing xCalcDoc ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xCalcDoc);
+ }
+
+ /**
+ * Opens new writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ msf = (XMultiServiceFactory) Param.getMSF();
+
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xCalcDoc = (XComponent) UnoRuntime.queryInterface(XComponent.class,
+ SOF.createCalcDoc(
+ null));
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+
+ /**
+ * Thread for opening modal dialog 'Print Settings'.
+ */
+ public class DiagThread extends Thread {
+ public XComponent xCalcDoc = null;
+ public XMultiServiceFactory msf = null;
+
+ public DiagThread(XComponent xCalcDoc, XMultiServiceFactory msf) {
+ this.xCalcDoc = xCalcDoc;
+ this.msf = msf;
+ }
+
+ public void run() {
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xCalcDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ //Opening HeaderFooterDialog
+ try {
+ String aSlotID = ".uno:EditHeaderAndFooter";
+ XDispatchProvider xDispProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ msf.createInstance(
+ "com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter
+ // we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't open dialog");
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java
new file mode 100644
index 000000000000..4e0276304743
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java
@@ -0,0 +1,193 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+public class AccessibleEditableTextPara_PreviewCell extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Obtains the accessible object for a one of cell in preview mode.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XAccessibleContext oObj = null;
+ XCell xCell = null;
+
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ xCell = oSheet.getCellByPosition(0, 0);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ }
+
+ xCell.setFormula("Value");
+
+ XModel xModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //switch to 'Print Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ( (XMultiServiceFactory) Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ shortWait();
+
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), xModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+ //AccessibilityTools.printAccessibleTree(log,xRoot);
+ AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE_CELL,true);
+
+ xRoot = AccessibilityTools.SearchedAccessible;
+
+ //AccessibilityTools.printAccessibleTree(log,xRoot);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,AccessibleRole.PARAGRAPH);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + oObj.getAccessibleName());
+ log.println("Parent " + utils.getImplName(oObj.getAccessibleParent()));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EditOnly", "AccessibleEditableTextPara_PreviewCell");
+ tEnv.addObjRelation("Destroy", "AccessibleEditableTextPara_PreviewCell");
+
+ final XCell cell_to_change = xCell;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ cell_to_change.setFormula("NewString");
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java
new file mode 100644
index 000000000000..c295e7197eb1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a cell in the spreadsheet. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleTable</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleTable
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.n.star.accessibility._XAccessibleSelection
+ * @see ifc.n.star.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.n.star.accessibility._XAccessibleComponent
+ * @see ifc.n.star.accessibility._XAccessibleTable
+ * @see ifc.n.star.accessibility._XAccessibleContext
+ */
+public class ScAccessibleCell extends TestCase {
+
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switchs the document to Print Preview mode.
+ * Obtains accissible object for the page view.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.TABLE_CELL, "B1");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // relation for XAccessibleEventBroadcaster
+ XCell xCell = null;
+ final String text = "XAccessibleText";
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = null;
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("couldn't get sheet",iae);
+ }
+ xCell = oSheet.getCellByPosition(1, 0) ;
+ xCell.setFormula(text);
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, oSheet);
+ XTableColumns oColumns = (XTableColumns) oColumnRowRange.getColumns();
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oColumns);
+ XPropertySet column = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class,oIndexAccess.getByIndex(1));
+ column.setPropertyValue("OptimalWidth", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ }
+
+ tEnv.addObjRelation("EditOnly",
+ "This method is only supported if the Cell is in edit mode");
+
+ final XCell fCell = xCell ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ fCell.setFormula("firing event");
+ fCell.setFormula(text);
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", text);
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java
new file mode 100644
index 000000000000..3a18fce51185
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScAccessibleCsvCell extends TestCase {
+
+ Thread lThread = null;
+ static XAccessibleAction accAction = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+
+ shortWait();
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.awt.Toolkit") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e );
+ }
+
+
+ XExtendedToolkit tk = (XExtendedToolkit)
+ UnoRuntime.queryInterface(XExtendedToolkit.class,oObj);
+
+ XWindow xWindow = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.PUSH_BUTTON, "Cancel");
+
+ accAction = (XAccessibleAction) UnoRuntime.queryInterface(XAccessibleAction.class, oObj);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.TABLE, true);
+
+ //util.dbg.printInterfaces(oObj);
+
+ XAccessibleContext cont = (XAccessibleContext)
+ UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+
+ String name = "";
+ try {
+ XAccessible acc = cont.getAccessibleChild(3);
+ name = acc.getAccessibleContext().getAccessibleName();
+ log.println("Child: "+ name);
+ log.println("ImplementationName " + utils.getImplName(acc));
+ oObj = acc;
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {}
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ tEnv.addObjRelation("XAccessibleText.Text", name);
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " closing Dialog " );
+ try {
+ accAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {
+ log.println("Couldn't close dialog");
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ log.println("opening dialog");
+
+ PropertyValue[] args = new PropertyValue[1];
+ try {
+ args[0] = new PropertyValue();
+ args[0].Name = "InteractionHandler";
+ args[0].Value = ((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ }
+
+ lThread = new loadThread(SOF, args);
+ lThread.start();
+ shortWait();
+ }
+
+ /**
+ * Sleeps for 2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+ public class loadThread extends Thread {
+
+ private SOfficeFactory SOF = null ;
+ private PropertyValue[] args = null;
+ public XComponent xSpreadSheedDoc = null;
+
+ public loadThread(SOfficeFactory SOF, PropertyValue[] Args) {
+ this.SOF = SOF;
+ this.args = Args;
+ }
+
+ public void run() {
+ try {
+ String url= utils.getFullTestURL("10test.csv");
+ log.println("loading "+url);
+ SOF.loadDocument(url,args);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+ }
+
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java
new file mode 100644
index 000000000000..15c81df729af
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScAccessibleCsvGrid extends TestCase {
+
+ Thread lThread = null;
+ static XAccessibleAction accAction = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ shortWait();
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.awt.Toolkit") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e );
+ }
+
+
+ XExtendedToolkit tk = (XExtendedToolkit)
+ UnoRuntime.queryInterface(XExtendedToolkit.class,oObj);
+
+
+ XWindow xWindow = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.PUSH_BUTTON, "Cancel");
+
+ accAction = (XAccessibleAction) UnoRuntime.queryInterface(XAccessibleAction.class, oObj);
+
+ /*int count = accAction.getAccessibleActionCount();
+
+ for (int i = 0; i<count; i++) {
+ try {
+ System.out.println(i+": "+accAction.getAccessibleActionDescription(i));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {}
+ }*/
+
+ //util.dbg.printInterfaces(oObj);
+
+ //AccessibilityTools.printAccessibleTree(log, xRoot);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.TABLE, true);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " closing Dialog " );
+ try {
+ accAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {
+ log.println("Couldn't close dialog");
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ log.println("opening dialog");
+
+ PropertyValue[] args = new PropertyValue[1];
+ try {
+ args[0] = new PropertyValue();
+ args[0].Name = "InteractionHandler";
+ args[0].Value = ((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ }
+
+ lThread = new loadThread(SOF, args);
+ lThread.start();
+ shortWait();
+
+ }
+
+ /**
+ * Sleeps for 2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+ public class loadThread extends Thread {
+
+ private SOfficeFactory SOF = null ;
+ private PropertyValue[] args = null;
+ public XComponent xSpreadSheedDoc = null;
+
+ public loadThread(SOfficeFactory SOF, PropertyValue[] Args) {
+ this.SOF = SOF;
+ this.args = Args;
+ }
+
+ public void run() {
+ try {
+ String url= utils.getFullTestURL("10test.csv");
+ log.println("loading "+url);
+ SOF.loadDocument(url,args);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java
new file mode 100644
index 000000000000..08b7b85b0fdb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java
@@ -0,0 +1,229 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScAccessibleCsvRuler extends TestCase {
+
+ Thread lThread = null;
+ static XAccessibleAction accAction = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ shortWait();
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) Param.getMSF();
+
+ try {
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Cancel");
+
+ accAction = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ XAccessibleContext acc = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.RADIO_BUTTON);
+
+ log.println("Click on: " + acc.getAccessibleName());
+
+ XAccessibleAction accAction2 = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, acc);
+
+ try {
+ accAction2.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {
+ }
+
+
+ //util.dbg.printInterfaces(oObj);
+ AccessibilityTools.printAccessibleTree(log, xRoot);
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT,
+ "Ruler", true);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ int lastone = 100;
+
+ for (int i = 0; i < 1000; i++) {
+ try {
+ text.getCharacterBounds(i);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ lastone = i - 1;
+
+ break;
+ }
+ }
+
+ tEnv.addObjRelation("LimitedBounds", new Integer(lastone));
+ tEnv.addObjRelation("PreviousUsed",new int[]{11,22,33,44,55,66,77,88,99});
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+/* log.println( " closing Dialog " );
+ try {
+ accAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {
+ log.println("Couldn't close dialog");
+ } */
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ log.println("opening dialog");
+
+ PropertyValue[] args = new PropertyValue[1];
+ try {
+ args[0] = new PropertyValue();
+ args[0].Name = "InteractionHandler";
+ args[0].Value = ((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ }
+
+ lThread = new loadThread(SOF, args);
+ lThread.start();
+ shortWait();
+
+ }
+
+ /**
+ * Sleeps for 2 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+ public class loadThread extends Thread {
+
+ private SOfficeFactory SOF = null ;
+ private PropertyValue[] args = null;
+ public XComponent xSpreadSheedDoc = null;
+
+ public loadThread(SOfficeFactory SOF, PropertyValue[] Args) {
+ this.SOF = SOF;
+ this.args = Args;
+ }
+
+ public void run() {
+ try {
+ String url= utils.getFullTestURL("10test.csv");
+ log.println("loading "+url);
+ SOF.loadDocument(url,args);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java
new file mode 100644
index 000000000000..fd930eedaf01
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by accessible component of
+ * a spreadsheet document.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class ScAccessibleDocument extends TestCase {
+
+ static XComponent xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Obtains accissible object for the spreadsheet document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpages" );
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT, "");
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow xDocWin = xWindow;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rect = xDocWin.getPosSize();
+ xDocWin.setPosSize(rect.X,rect.Y,rect.Height,rect.Width-10,com.sun.star.awt.PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSpreadsheetDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ String url = utils.getFullTestURL("calcshapes.sxc");
+ log.println("loading document "+url);
+ xSpreadsheetDoc = SOF.loadDocument(url);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java
new file mode 100644
index 000000000000..ff6328dc1b92
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java
@@ -0,0 +1,242 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a spreadsheet page in 'Page Preview' mode.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.n.star.accessibility._XAccessibleComponent
+ * @see ifc.n.star.accessibility._XAccessibleContext
+ */
+public class ScAccessibleDocumentPagePreview extends TestCase {
+
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switchs the document to Print Preview mode.
+ * Obtains accissible object for the page view.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // inserting some content to have non-empty page preview
+ XCell xCell = null;
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = null;
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(1));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("couldn't get sheet",iae);
+ }
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessibleDocumentPagePreview - Page 2");
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(2));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("couldn't get sheet",iae);
+ }
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessibleDocumentPagePreview - Page 3");
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("couldn't get sheet",iae);
+ }
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessibleDocumentPagePreview");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // switching to 'Page Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {}
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentContainerWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.DOCUMENT, "");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XDesktop desk = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class,util.DesktopTools.createDesktop((XMultiServiceFactory)Param.getMSF()));
+ final XWindow win = desk.getCurrentFrame().getComponentWindow();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rec = win.getPosSize();
+ win.setPosSize(rec.X,rec.Y,rec.Height-10,rec.Width, com.sun.star.awt.PosSize.POSSIZE);
+ win.setPosSize(rec.X,rec.Y,rec.Height,rec.Width,com.sun.star.awt.PosSize.POSSIZE );
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ String url = utils.getFullTestURL("calcshapes.sxc");
+ log.println("loading document "+url);
+ xSpreadsheetDoc = (XSpreadsheetDocument)UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class,SOF.loadDocument(url));
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {}
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java
new file mode 100644
index 000000000000..599f8a097ad6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java
@@ -0,0 +1,282 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a printed header in 'Page Preview' mode.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.n.star.accessibility._XAccessibleComponent
+ * @see ifc.n.star.accessibility._XAccessibleContext
+ */
+public class ScAccessiblePageHeader extends TestCase {
+
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switchs the document to Print Preview mode.
+ * Obtains accissible object for the page view.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // inserting some content to have non-empty page preview
+ XCell xCell = null;
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = null;
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("couldn't get sheet",iae);
+ }
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessiblePageHeader");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // switching to 'Page Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ( (XMultiServiceFactory) Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {}
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.HEADER, "");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ XStyle StdStyle = null;
+
+ try{
+ XNameAccess PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),
+ StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class), PageStyles.getByName("Default"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("Couldn't convert any", iae);
+ }
+
+ //get the property-set
+ final XPropertySet PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ }
+
+ final XHeaderFooterContent RPHC2 = RPHC;
+
+ final XText center = RPHC2.getCenterText();
+ final XText left = RPHC2.getLeftText();
+ final XText right = RPHC2.getRightText();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ center.setString("CENTER");
+ left.setString("LEFT");
+ right.setString("RIGHT");
+ try {
+ PropSet.setPropertyValue("RightPageHeaderContent",RPHC2);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.lang.WrappedTargetException e) {}
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ try {
+ XCloseable oComp = (XCloseable)
+ UnoRuntime.queryInterface (XCloseable.class, xSpreadsheetDoc) ;
+ oComp.close(true);
+ } catch(com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document: "+e.getMessage());
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java
new file mode 100644
index 000000000000..3e387afeb8d3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleStateSet;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a printed header in 'Page Preview' mode.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.n.star.accessibility._XAccessibleComponent
+ * @see ifc.n.star.accessibility._XAccessibleContext
+ */
+public class ScAccessiblePageHeaderArea extends TestCase {
+
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switchs the document to Print Preview mode.
+ * Obtains accissible object for the page view.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // inserting some content to have non-empty page preview
+ XCell xCell = null;
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessiblePageHeaderArea");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // switching to 'Page Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ( (XMultiServiceFactory) Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {}
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentContainerWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ try {
+ oObj = at.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.HEADER, "").getAccessibleChild(0);
+ XAccessibleContext cont = (XAccessibleContext)
+ UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+ XAccessibleStateSet StateSet = cont.getAccessibleStateSet();
+ if (StateSet.contains((short)27)) {
+ log.println("Object is transient");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iabe) {
+ throw new StatusException("Couldn't find needed Child",iabe);
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XAccessibleContext zoomIn =
+ at.getAccessibleObjectForRole(xRoot,AccessibleRole.PUSH_BUTTON, "Zoom In");
+
+ final XAccessibleAction pressZoom = (XAccessibleAction)
+ UnoRuntime.queryInterface(XAccessibleAction.class, zoomIn);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ pressZoom.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ibe) {}
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ try {
+ XCloseable oComp = (XCloseable)
+ UnoRuntime.queryInterface (XCloseable.class, xSpreadsheetDoc) ;
+ oComp.close(true);
+ }catch(com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document: "+e.getMessage());
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java
new file mode 100644
index 000000000000..d6f93c401c77
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleValue</code>
+ * </li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessiblePreviewCell extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Obtains the accessible object for a one of cell in preview mode.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XCell xCell = null;
+
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ xCell = oSheet.getCellByPosition(0, 0);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ }
+
+ xCell.setFormula("Value");
+
+ XModel xModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //switch to 'Print Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), xModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE_CELL, true);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ System.out.println("Fire Event");
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java
new file mode 100644
index 000000000000..d57690852dc9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java
@@ -0,0 +1,293 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XURLTransformer;
+
+
+/**
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleValue</code>
+ * </li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessiblePreviewHeaderCell extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ if (xSheetDoc != null) {
+ try {
+ XCloseable oComp = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xSheetDoc);
+ oComp.close(true);
+ xSheetDoc = null;
+ } catch (com.sun.star.util.CloseVetoException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("document already disposed");
+ xSheetDoc = null;
+ }
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Sets a value of the cell 'A1'. Sets the property 'PrintHeaders'
+ * of the style 'Default' of the family 'PageStyles' to true.
+ * Switchs the document to preview mode and then obtains the
+ * accessible object for the header cell.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ if (xSheetDoc != null) {
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel xModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //setting value of cell A1
+ XCell xCell = null;
+
+ try {
+ log.println("Getting spreadsheet");
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets();
+ XIndexAccess oIndexSheets = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet");
+ xCell = oSheet.getCellByPosition(0, 0);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ }
+
+ xCell.setFormula("Value");
+
+ //setting property 'PrintHeaders' of the style 'Default'
+ XStyleFamiliesSupplier xSFS = (XStyleFamiliesSupplier) UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSheetDoc);
+ XNameAccess xNA = xSFS.getStyleFamilies();
+ XPropertySet xPropSet = null;
+
+ try {
+ Object oPageStyles = xNA.getByName("PageStyles");
+ xNA = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class,
+ oPageStyles);
+
+ Object oDefStyle = xNA.getByName("Default");
+ xPropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oDefStyle);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't get element"));
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't get element"));
+ }
+
+ try {
+ xPropSet.setPropertyValue("PrintHeaders", new Boolean(true));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property 'PrintHeaders'"));
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property 'PrintHeaders'"));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property 'PrintHeaders'"));
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(
+ "Couldn't set property 'PrintHeaders'"));
+ }
+
+ //switching to 'Print Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ ( (XMultiServiceFactory) Param.getMSF())
+ .createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), xModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE, "A");
+
+ if (oObj == null) {
+ log.println("Version with a fixed #103863#");
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.TABLE_CELL,
+ true);
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.currentThread().sleep(500);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java
new file mode 100644
index 000000000000..2c7271f50e86
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java
@@ -0,0 +1,222 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+import util.PropertyName;
+
+/**
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleTable</code>
+ * </li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleTable
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessiblePreviewTable extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Obtains the accessible object for a table in preview mode.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XCell xCell = null;
+
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ xCell = oSheet.getCellByPosition(0, 0);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ }
+
+ xCell.setFormula("Value");
+
+ XModel xModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //switch to 'Print Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentContainerWindow((XMultiServiceFactory)Param.getMSF(), xModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log,xRoot, Param.getBool(PropertyName.DEBUG_IS_ACTIVE));
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XAccessibleContext zoomIn =
+ at.getAccessibleObjectForRole(xRoot,AccessibleRole.PUSH_BUTTON, "Zoom In");
+
+ log.println("Getting "+ zoomIn.getAccessibleName());
+
+ final XAccessibleAction pressZoom = (XAccessibleAction)
+ UnoRuntime.queryInterface(XAccessibleAction.class, zoomIn);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ pressZoom.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ibe) {}
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java
new file mode 100644
index 000000000000..0d5fd6c1bb86
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java
@@ -0,0 +1,168 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for accessible object of spreadsheet document.<p>
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleTable</code>
+ * </li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleTable
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessibleSpreadsheet extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Obtains the accessible object for the spreadsheet.
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ XModel xModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), xModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE );
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // relation for XAccessibleEventBroadcaster
+ XCell xCell = null;
+ final String text = "Text for testing of the interface XAccessibleText";
+ try {
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ xCell = oSheet.getCellByPosition(5, 5) ;
+ xCell.setFormula(text);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception ceating relation :");
+ e.printStackTrace(log);
+ }
+
+ final XCell fCell = xCell ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ fCell.setFormula("firing event");
+ fCell.setFormula(text);
+ }
+ });
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAnnotationObj.java b/qadevOOo/tests/java/mod/_sc/ScAnnotationObj.java
new file mode 100644
index 000000000000..aa43190a6a42
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAnnotationObj.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.sheet.XSheetAnnotationAnchor;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which represents some text annotation
+* anchored to some cell in spreadsheet (implement
+* <code>com.sun.star.sheet.CellAnnotation</code>).<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XSimpleText</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::sheet::XSheetAnnotation</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.sheet.CellAnnotation
+* @see com.sun.star.text.XSimpleText
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.sheet.XSheetAnnotation
+* @see ifc.text._XSimpleText
+* @see ifc.text._XTextRange
+* @see ifc.sheet._XSheetAnnotation
+*/
+public class ScAnnotationObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one them. Then a single cell is retrieved, and
+ * using its <code>com.sun.star.sheet.XSheetAnnotationAnchor</code>
+ * interface an annotation is got.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CELLPOS'</code> for
+ * {@link ifc.sheet._XSheetAnnotation} (of <code>
+ * com.sun.star.table.CellAddress</code> type) which
+ * contains the annotation cell address.</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ CellAddress cellPos = new CellAddress((short)0, 1, 2);
+
+ log.println("Getting test object ") ;
+
+ XSpreadsheetDocument xArea = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ XSpreadsheets oSheets = (XSpreadsheets) xArea.getSheets();
+
+ XIndexAccess XAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XCell oCell = null;
+ try {
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),XAccess.getByIndex(cellPos.Sheet));
+ XCellRange oCRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ oCell = oCRange.getCellByPosition(cellPos.Column, cellPos.Row);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ }
+
+ XSheetAnnotationAnchor oAnnoA = (XSheetAnnotationAnchor)
+ UnoRuntime.queryInterface(XSheetAnnotationAnchor.class, oCell);
+ XSheetAnnotation oAnno = oAnnoA.getAnnotation();
+
+ oObj = oAnno;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("CELLPOS", cellPos);
+
+ // Other parameters required for interface tests
+
+ return tEnv;
+ }
+
+} // finish class ScAnnotationObj
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java b/qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java
new file mode 100644
index 000000000000..723163c13989
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java
@@ -0,0 +1,213 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.sheet.XSheetAnnotationAnchor;
+import com.sun.star.sheet.XSheetAnnotationShapeSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.utils;
+
+import java.io.PrintWriter;
+import util.DefaultDsc;
+import util.InstCreator;
+
+
+/**
+* Test for object which represents some text annotation
+* anchored to some cell in spreadsheet (implement
+* <code>com.sun.star.sheet.CellAnnotation</code>).<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XSimpleText</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::sheet::XSheetAnnotation</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.sheet.CellAnnotation
+* @see com.sun.star.text.XSimpleText
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.sheet.XSheetAnnotation
+* @see ifc.text._XSimpleText
+* @see ifc.text._XTextRange
+* @see ifc.sheet._XSheetAnnotation
+*/
+public class ScAnnotationShapeObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF =
+ SOfficeFactory.getFactory((XMultiServiceFactory) tParam
+ .getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ log.println("Loading: "+utils.getFullTestURL(
+ "ScAnnotationShapeObj.sxc"));
+ xSheetDoc =
+ (XSpreadsheetDocument) UnoRuntime.queryInterface(XSpreadsheetDocument.class,
+ SOF.loadDocument(utils.getFullTestURL(
+ "ScAnnotationShapeObj.sxc")));
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp =
+ (XComponent) UnoRuntime.queryInterface(XComponent.class,
+ xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one them. Then a single cell is retrieved, and
+ * using its <code>com.sun.star.sheet.XSheetAnnotationAnchor</code>
+ * interface an annotation is got.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CELLPOS'</code> for
+ * {@link ifc.sheet._XSheetAnnotation} (of <code>
+ * com.sun.star.table.CellAddress</code> type) which
+ * contains the annotation cell address.</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ CellAddress cellPos = new CellAddress((short) 0, 1, 2);
+
+ log.println("Getting test object ");
+
+ XSpreadsheetDocument xArea =
+ (XSpreadsheetDocument) UnoRuntime.queryInterface(XSpreadsheetDocument.class,
+ xSheetDoc);
+ XSpreadsheets oSheets = (XSpreadsheets) xArea.getSheets();
+
+ XIndexAccess XAccess =
+ (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,
+ oSheets);
+ XCell oCell = null;
+
+ try {
+ XSpreadsheet oSheet =
+ (XSpreadsheet) AnyConverter.toObject(new Type(
+ XSpreadsheet.class),
+ XAccess.getByIndex(cellPos.Sheet));
+ XCellRange oCRange =
+ (XCellRange) UnoRuntime.queryInterface(XCellRange.class,
+ oSheet);
+ oCell =
+ oCRange.getCellByPosition(cellPos.Column, cellPos.Row);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting test object from spreadsheet document",
+ e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting test object from spreadsheet document",
+ e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting test object from spreadsheet document",
+ e);
+ }
+
+ XSheetAnnotationAnchor oAnnoA =
+ (XSheetAnnotationAnchor) UnoRuntime.queryInterface(XSheetAnnotationAnchor.class,
+ oCell);
+ XSheetAnnotation oAnno = oAnnoA.getAnnotation();
+
+ XSimpleText xAnnoText =
+ (XSimpleText) UnoRuntime.queryInterface(XSimpleText.class,
+ oAnno);
+ xAnnoText.setString("ScAnnotationShapeObj");
+
+ XSheetAnnotationShapeSupplier xSheetAnnotationShapeSupplier =
+ (XSheetAnnotationShapeSupplier) UnoRuntime.queryInterface(XSheetAnnotationShapeSupplier.class,
+ oAnno);
+
+ oObj = xSheetAnnotationShapeSupplier.getAnnotationShape();
+
+ log.println("ImplementationName: "
+ + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding ObjRelation for RotationDescriptor
+ tEnv.addObjRelation("NoShear", Boolean.TRUE);
+
+ //adding ObjRelation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.DateTime");
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation(
+ "XTEXTINFO", new InstCreator( xSheetDoc, tDsc ) );
+
+ return tEnv;
+ }
+}
+ // finish class ScAnnotationShapeObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java b/qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java
new file mode 100644
index 000000000000..94dd58a9c7ff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.sheet.XSheetAnnotationAnchor;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.util.XSortable
+ *
+ */
+public class ScAnnotationTextCursor extends TestCase {
+
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ CellAddress cellPos = new CellAddress((short)0, 1, 2);
+
+ try {
+ log.println("Getting test object ") ;
+
+ XSpreadsheetDocument xArea = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+
+ XSpreadsheets oSheets = (XSpreadsheets) xArea.getSheets();
+
+ XIndexAccess XAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+
+ XSpreadsheet oSheet = (XSpreadsheet)XAccess.getByIndex(cellPos.Sheet);
+
+ XCellRange oCRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+
+ XCell oCell = oCRange.getCellByPosition(cellPos.Column, cellPos.Row);
+
+ XSheetAnnotationAnchor oAnnoA = (XSheetAnnotationAnchor)
+ UnoRuntime.queryInterface(XSheetAnnotationAnchor.class, oCell);
+
+ XSheetAnnotation oAnno = oAnnoA.getAnnotation();
+ XSimpleText aText = (XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class,oAnno);
+ aText.setString("A nice little Test");
+ oObj = aText.createTextCursor();
+
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+
+ return tEnv;
+ }
+
+} // finish class ScAnnotationTextCursor
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScAnnotationsObj.java b/qadevOOo/tests/java/mod/_sc/ScAnnotationsObj.java
new file mode 100644
index 000000000000..0ce18e51d13f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAnnotationsObj.java
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.sheet.XSheetAnnotationAnchor;
+import com.sun.star.sheet.XSheetAnnotationsSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which represents a collection of annotations
+* for a spreadsheet document (implements
+* <code>com.sun.star.sheet.CellAnnotations</code>). <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::sheet::XSheetAnnotations</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.sheet.CellAnnotations
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.sheet.XSheetAnnotations
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.sheet._XSheetAnnotations
+*/
+public class ScAnnotationsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * From a document collection of spreadsheets a single one is
+ * retrieved and one annotation is added to it. Then a collection
+ * of annotations is retrieved using spreadsheet's
+ * <code>com.sun.star.sheet.XSheetAnnotationsSupplier</code> interface.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ log.println("Getting test object ") ;
+
+ XSpreadsheetDocument xSpreadsheetDoc = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ XSpreadsheets sheets = (XSpreadsheets) xSpreadsheetDoc.getSheets();
+
+ XNameAccess oNames = (XNameAccess)
+ UnoRuntime.queryInterface( XNameAccess.class, sheets );
+ XCell oCell = null;
+ XSpreadsheet oSheet = null;
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+ // adding an annotation...
+ XCellRange oCRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ oCell = oCRange.getCellByPosition(10,10);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ }
+
+ XSheetAnnotationAnchor oAnnoA = (XSheetAnnotationAnchor)
+ UnoRuntime.queryInterface(XSheetAnnotationAnchor.class, oCell);
+ XSheetAnnotation oAnno = oAnnoA.getAnnotation();
+ XSimpleText sText = ((XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class, oAnno));
+ sText.setString("ScAnnotationsObj");
+
+ XSheetAnnotationsSupplier supp = (XSheetAnnotationsSupplier)
+ UnoRuntime.queryInterface(
+ XSheetAnnotationsSupplier.class, oSheet);
+ oObj = supp.getAnnotations();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+
+} // finish class ScAnnotationsObj
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScAreaLinkObj.java b/qadevOOo/tests/java/mod/_sc/ScAreaLinkObj.java
new file mode 100644
index 000000000000..9ecf4045bfb8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAreaLinkObj.java
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XAreaLinks;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.CellAreaLink</code>.
+* This object reflects some cell range (this range
+* can also be from another saved document) in
+* any range (of the same size) of the current
+* document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XAreaLink</code></li>
+* <li> <code>com::sun::star::util::XRefreshable</code></li>
+* <li> <code>com::sun::star::sheet::CellAreaLink</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.sheet.XAreaLink
+* @see com.sun.star.util.XRefreshable
+* @see com.sun.star.sheet.CellAreaLink
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._XAreaLink
+* @see ifc.util._XRefreshable
+* @see ifc.sheet._CellAreaLink
+* @see ifc.beans._XPropertySet
+*/
+public class ScAreaLinkObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of Area Links using the 'AreaLinks'
+ * property of the Spreadsheet document. Adds a new link to this
+ * collection, which has a source in the same document. This
+ * link is passed as a tested object.
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+
+ // creation of testobject here
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xSheetDoc);
+ XAreaLinks links = (XAreaLinks) AnyConverter.toObject(
+ new Type(XAreaLinks.class),props.getPropertyValue("AreaLinks")) ;
+ CellAddress addr = new CellAddress ((short) 1,2,3) ;
+ String aSourceArea = util.utils.getFullTestURL("calcshapes.sxc");
+ links.insertAtPosition (addr, aSourceArea, "a2:b5", "", "") ;
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), links.getByIndex(0)) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAreaLinksObj.java b/qadevOOo/tests/java/mod/_sc/ScAreaLinksObj.java
new file mode 100644
index 000000000000..1c3c64e25b98
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAreaLinksObj.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XAreaLinks;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.CellAreaLinks</code>.
+* This is a collection aff all links present
+* in a Spreadsheet document.
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::sheet::XAreaLinks</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.sheet.XAreaLinks
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.sheet._XAreaLinks
+* @see com.sun.star.sheet.CellAreaLinks
+*/
+public class ScAreaLinksObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of Area Links using the 'AreaLinks'
+ * property of the Spreadsheet document. Adds a new link to this
+ * collection, which has a source in the same document. The
+ * link collection is passed as a tested object.
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log){
+
+ XInterface oObj = null;
+ TestEnvironment tEnv = null ;
+
+ try {
+
+ // creation of testobject here
+ XPropertySet props = (XPropertySet)UnoRuntime.queryInterface
+ (XPropertySet.class, xSheetDoc);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),props.getPropertyValue("AreaLinks")) ;
+ XAreaLinks links = null ;
+
+ // adding one link into collection (for best testing)
+ links = (XAreaLinks) UnoRuntime.queryInterface(XAreaLinks.class, oObj) ;
+ CellAddress addr = new CellAddress ((short) 1,2,3) ;
+ String aSourceArea = util.utils.getFullTestURL("calcshapes.sxc");
+ links.insertAtPosition (addr, aSourceArea, "a2:b5", "", "") ;
+
+ // creating test environment
+ tEnv = new TestEnvironment(oObj);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ return tEnv ;
+ }
+
+} // finish class ScAreaLinksObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java b/qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java
new file mode 100644
index 000000000000..32f1158bf42c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.TableAutoFormatField</code>.
+* In StarCalc application there is a collection of autoformats
+* for tables (you can select a predefined format for a
+* table or create your own). Each autoformat has a number
+* of fields with definitions of font parameters, number
+* formats etc. for different parts of a table (column and
+* row names, footers, data). This object represents the
+* field of the same kind. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::TableAutoFormatField</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.sheet.TableAutoFormatField
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._TableAutoFormatField
+* @see ifc.beans._XPropertySet
+*/
+public class ScAutoFormatFieldObj extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Using SOffice ServiceManager an instance of
+ * <code>com.sun.star.sheet.TableAutoFormatField</code> service
+ * is created. From this collection one Format is retrieved
+ * and then from this format one of its compound fields is
+ * retrieved.
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+
+ log.println ("create Object ...") ;
+ // creation of testobject here
+ XInterface formats = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.sheet.TableAutoFormats");
+ XIndexAccess formatsIndex = (XIndexAccess)UnoRuntime.queryInterface
+ (XIndexAccess.class, formats);
+ XInterface format = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),formatsIndex.getByIndex(0));
+ XIndexAccess formatIndex = (XIndexAccess) UnoRuntime.queryInterface
+ (XIndexAccess.class, format);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),formatIndex.getByIndex(0));
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ return tEnv;
+ }
+
+} // finish class ScAutoFormatFieldObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScAutoFormatObj.java b/qadevOOo/tests/java/mod/_sc/ScAutoFormatObj.java
new file mode 100644
index 000000000000..840f2e600cda
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAutoFormatObj.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.TableAutoFormat</code>. <p>
+* In StarCalc application there is a collection of autoformats
+* for tables (you can select a predefined format for a
+* table or create your own). This object represents
+* one of these autoformats. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::sheet::TableAutoFormat</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.sheet.TableAutoFormat
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.sheet._TableAutoFormat
+* @see ifc.beans._XPropertySet
+*/
+public class ScAutoFormatObj extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Using SOffice ServiceManager an instance of
+ * <code>com.sun.star.sheet.TableAutoFormatField</code> service
+ * is created. From this collection one Format is retrieved as
+ * object tested.
+ */
+ public TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+
+ XInterface oObj = null;
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)(XMultiServiceFactory)tParam.getMSF();
+ try {
+ XInterface formats = (XInterface)oMSF.createInstance
+ ("com.sun.star.sheet.TableAutoFormats");
+ XIndexAccess formatsIndex = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, formats);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),formatsIndex.getByIndex
+ (formatsIndex.getCount() - 1));
+
+ XNamed objNamed = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class, oObj) ;
+ log.println("AutoFormat name is '" + objNamed.getName() + "'") ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScAutoFormatsObj.java b/qadevOOo/tests/java/mod/_sc/ScAutoFormatsObj.java
new file mode 100644
index 000000000000..21590965fbdf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAutoFormatsObj.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.TableAutoFormats</code>. <p>
+* In StarCalc application there is a collection of autoformats
+* for tables (you can select a predefined format for a
+* table or create your own). The object represents
+* this collection. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.container.XNameContainer
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XNameReplace
+* @see ifc.container._XNameContainer
+*/
+public class ScAutoFormatsObj extends TestCase{
+ static XSpreadsheetDocument xSheetDoc = null;
+ static SOfficeFactory SOF = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sheet.TableAutoFormats</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XNameContainer},
+ * {@link ifc.container._XNameReplace} N relations
+ * which represents objects to be inserted - one
+ * object for each interface thread. </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+ // creation of testobject here
+ // get AutoFormats
+ XComponent xComp = (XComponent)UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.sheet.TableAutoFormats"));
+ Object secondInstance = SOF.createInstance
+ (xComp, "com.sun.star.sheet.TableAutoFormat");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ //adding ObjRelation for XNameContainer
+ tEnv.addObjRelation("SecondInstance",secondInstance);
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ Integer.parseInt((String)Param.get("THRCNT"));
+ }
+ for (int n = 1; n < (THRCNT+1) ;n++ ) {
+ log.println( "adding INSTANCE" + n
+ +" as mod relation to environment" );
+ tEnv.addObjRelation("INSTANCE" + n, SOF.createInstance(xComp,
+ "com.sun.star.sheet.TableAutoFormat"));
+ }
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+ }
+
+} // finish class ScAutoFormatsObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java b/qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java
new file mode 100644
index 000000000000..55ed9e3c3b73
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java
@@ -0,0 +1,326 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetCellRange;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCellCursor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::sheet::XUsedAreaCursor</code></li>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeAddressable</code></li>
+* <li> <code>com::sun::star::table::XCellCursor</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellCursor</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::sheet::XArrayFormulaRange</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRange</code></li>
+* <li> <code>com::sun::star::sheet::SheetCellRange</code></li>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::util::XMergeable</code></li>
+* <li> <code>com::sun::star::table::XColumnRowRange</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCellCursor
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.sheet.XUsedAreaCursor
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.sheet.XCellRangeAddressable
+* @see com.sun.star.table.XCellCursor
+* @see com.sun.star.sheet.XSheetCellCursor
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.sheet.XArrayFormulaRange
+* @see com.sun.star.sheet.XSheetCellRange
+* @see com.sun.star.sheet.SheetCellRange
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.util.XMergeable
+* @see com.sun.star.table.XColumnRowRange
+* @see ifc.style._ParagraphProperties
+* @see ifc.sheet._XUsedAreaCursor
+* @see ifc.table._CellProperties
+* @see ifc.table._XCellRange
+* @see ifc.sheet._XCellRangeAddressable
+* @see ifc.table._XCellCursor
+* @see ifc.sheet._XSheetCellCursor
+* @see ifc.style._CharacterProperties
+* @see ifc.sheet._XSheetOperation
+* @see ifc.sheet._XArrayFormulaRange
+* @see ifc.sheet._XSheetCellRange
+* @see ifc.sheet._SheetCellRange
+* @see ifc.chart._XChartData
+* @see ifc.beans._XPropertySet
+* @see ifc.util._XMergeable
+* @see ifc.table._XColumnRowRange
+*/
+public class ScCellCursorObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them, retrieves some cell range and creates cursor range
+ * that is instance of the service
+ * <code>com.sun.star.sheet.SheetCellCursor</code>,
+ * fills some cells in the cell range.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SHEET'</code> for
+ * {@link ifc.table._XCellCursor},
+ * {@link ifc.sheet._XArrayFormulaRange} (the spreadsheet that was
+ * retieved from collection)</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ TestEnvironment tEnv = null;
+ XSpreadsheet oSheet = null;
+ XCellRange testRange = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ XSpreadsheets oSpreadsheets = ((XSpreadsheetDocument) UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class,
+ xSheetDoc)).getSheets();
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oSpreadsheets.getByName(
+ oSpreadsheets.getElementNames()[0]));
+
+ testRange = oSheet.getCellRangeByName("$A$1:$D$4");
+
+ XSheetCellRange testSheetRange = (XSheetCellRange) UnoRuntime.queryInterface(
+ XSheetCellRange.class,
+ testRange);
+ oObj = oSheet.createCursorByRange(testSheetRange);
+ oSheet.getCellByPosition(1, 1).setValue(1);
+ oSheet.getCellByPosition(4, 5).setValue(1);
+ oSheet.getCellByPosition(3, 2).setFormula("xTextDoc");
+ oSheet.getCellByPosition(3, 3).setFormula("xTextDoc");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while creating test object:");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Exception occured while creating test object:");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while creating test object:");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while creating test object:");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ log.println("Test object successfully created.");
+
+ tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("CRDESC",
+ "Column and RowDescriptions can't be changed for this Object");
+
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.B1";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "Sheet1.B2";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.A1 ... Sheet1.B1 ... Sheet1.B3 ... Sheet1.C1 ... Sheet1.D1";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.A2;Sheet1.C2";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.A2";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+
+ tEnv.addObjRelation("NewData",
+ new Object[][]
+ {
+ { "", "", "", "" },
+ { "", "2", "3", "4" },
+ { "", "2", "3", "4" },
+ { "", "2", "3", "4" }
+ });
+
+ XPropertySet PropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet", PropSet);
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XCellRange oTable = testRange;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ try {
+ oTable.getCellByPosition(0, 0).setValue(4);
+ oTable.getCellByPosition(0, 1).setFormula("b");
+ oTable.getCellByPosition(0, 2).setValue(3);
+ oTable.getCellByPosition(0, 3).setValue(23);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[4];
+
+ for (int i = 0; i < 4; i++) {
+ try {
+ XCell cell = oTable.getCellByPosition(0, i);
+ value[i] = cell.getFormula();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ out.println("Sorting ascending");
+
+ String[] rightVal = { "3", "4", "23", "b" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted uncorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ }
+} // finish class ScCellCursorObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellFieldObj.java b/qadevOOo/tests/java/mod/_sc/ScCellFieldObj.java
new file mode 100644
index 000000000000..a2f0d11e3bb5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellFieldObj.java
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that represents a text field (implements
+* <code>com.sun.star.text.TextField</code>) which inserted in a cell of
+* the spreadsheet. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::text::XTextField</code></li>
+* <li> <code>com::sun::star::text::XTextContent</code></li>
+* <li> <code>com::sun::star::text::TextContent</code></li>
+* </ul>
+* @see com.sun.star.text.TextField
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.text.XTextField
+* @see com.sun.star.text.XTextContent
+* @see com.sun.star.text.TextContent
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.text._XTextField
+* @see ifc.text._XTextContent
+* @see ifc.text._TextContent
+*/
+public class ScCellFieldObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.TextField.URL</code>, inserts it to the content
+ * of the cell in the spreadsheet, retrieves a text content
+ * <code>com.sun.star.text.XTextContent</code> from the cell.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TRO'</code> for
+ * {@link ifc.text._TextContent} </li>
+ * <li> <code>'CONTENT'</code> for
+ * {@link ifc.text._XTextContent} (type of
+ * <code>com.sun.star.text.XTextContent</code> that was queried from
+ * the newly created service <code>com.sun.star.text.TextField.URL</code>)</li>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextContent} (the text of the cell)</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XText oText = null;
+ XTextContent oContent = null;
+ XInterface aField = null;
+
+ try {
+ // we want to create an instance of ScCellFieldObj.
+ // to do this we must get an MultiServiceFactory.
+
+ XMultiServiceFactory _oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xSheetDoc);
+
+ // Now create the instance of com.sun.star.text.TextField.
+ // This object has type ScCellFieldObj.
+
+ oObj = (XInterface)
+ _oMSF.createInstance("com.sun.star.text.TextField.URL");
+
+ aField = (XInterface)
+ _oMSF.createInstance("com.sun.star.text.TextField.URL");
+ oContent = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, aField);
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ XCell oCell = oSheet.getCellByPosition(2,3);
+ oText = (XText)UnoRuntime.queryInterface(XText.class, oCell);
+
+ XTextContent oTextContent = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oObj);
+
+ oText.insertTextContent(
+ oText.createTextCursor(), oTextContent, true);
+
+ oCell = oSheet.getCellByPosition(1,4);
+ oText = (XText)UnoRuntime.queryInterface(XText.class, oCell);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ log.println ("Object created.") ;
+ tEnv.addObjRelation("TRO", new Boolean(true));
+
+ tEnv.addObjRelation("CONTENT",oContent);
+ tEnv.addObjRelation("TEXT",oText);
+
+ return tEnv;
+ }
+
+} // finish class ScCellFieldObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellFieldsObj.java b/qadevOOo/tests/java/mod/_sc/ScCellFieldsObj.java
new file mode 100644
index 000000000000..f91389211354
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellFieldsObj.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object that represents a colection of text fields
+ * in a cell of a spreadsheet. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::util::XRefreshable</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.util.XRefreshable
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.util._XRefreshable
+ * @see ifc.container._XElementAccess
+ */
+public class ScCellFieldsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.TextField.URL</code>, inserts it to the content
+ * of the cell in the spreadsheet. Then the component is obtained
+ * by <code>XTextFieldsSupplier</code> interface of a cell.<p>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XText oText = null;
+ XTextContent oContent = null;
+ XInterface aField = null;
+
+ try {
+ // we want to create an instance of ScCellFieldObj.
+ // to do this we must get an MultiServiceFactory.
+
+ XMultiServiceFactory _oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xSheetDoc);
+
+ aField = (XInterface)
+ _oMSF.createInstance("com.sun.star.text.TextField.URL");
+ oContent = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, aField);
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ XCell oCell = oSheet.getCellByPosition(2,3);
+ oText = (XText)UnoRuntime.queryInterface(XText.class, oCell);
+
+ oText.insertTextContent(
+ oText.createTextCursor(), oContent, true);
+
+ XTextFieldsSupplier xTextFieldsSupp = (XTextFieldsSupplier)
+ UnoRuntime.queryInterface(XTextFieldsSupplier.class, oCell);
+
+ oObj = xTextFieldsSupp.getTextFields();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellFormatsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScCellFormatsEnumeration.java
new file mode 100644
index 000000000000..c78ac67cf64f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellFormatsEnumeration.java
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellFormatRangesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.CellFormatRangesEnumeration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XEnumeration</code></li>
+* </ul>
+* @see com.sun.star.sheet.CellFormatRangesEnumeration
+* @see com.sun.star.container.XEnumeration
+* @see ifc.container._XEnumeration
+*/
+public class ScCellFormatsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Then retrieves a collection of cell format range
+ * using the interface <code>XCellFormatRangesSupplier</code>, creates the
+ * enumeration of this collection using interface <code>XEnumerationAccess</code>.
+ * This enumeration is the instance of the service
+ * <code>com.sun.star.sheet.CellFormatRangesEnumeration</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} (type of
+ * <code>XEnumerationAccess</code> that was queried from the collection
+ * of cell format range)</li>
+ * </ul>
+ * @see com.sun.star.sheet.CellFormatRangesEnumeration
+ * @see com.sun.star.sheet.XCellFormatRangesSupplier
+ * @see com.sun.star.container.XEnumerationAccess
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("getting CellFormats");
+
+ XCellFormatRangesSupplier xCFRS = (XCellFormatRangesSupplier)
+ UnoRuntime.queryInterface(XCellFormatRangesSupplier.class,oSheet);
+ XIndexAccess formats = xCFRS.getCellFormatRanges();
+
+ log.println("getting Enumeration");
+ XEnumerationAccess oEnum = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,formats);
+ oObj = oEnum.createEnumeration();
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("ENUM", oEnum);
+
+ return tEnv;
+ }
+
+} // finish class ScCellFormatsEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellFormatsObj.java b/qadevOOo/tests/java/mod/_sc/ScCellFormatsObj.java
new file mode 100644
index 000000000000..68396cbb37de
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellFormatsObj.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellFormatRangesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.CellFormatRanges</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.CellFormatRanges
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScCellFormatsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Then retrieves a collection of format cell
+ * range using the interface <code>XCellFormatRangesSupplier</code> that is
+ * instance of service <code>com.sun.star.sheet.CellFormatRanges</code>.
+ * @see com.sun.star.sheet.CellFormatRanges
+ * @see com.sun.star.sheet.XCellFormatRangesSupplier
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("getting CellFormats");
+ XCellFormatRangesSupplier xCFRS = (XCellFormatRangesSupplier)
+ UnoRuntime.queryInterface(XCellFormatRangesSupplier.class, oSheet);
+ XIndexAccess formats = xCFRS.getCellFormatRanges();
+
+ oObj = formats;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+} // finish class ScCellFormatsObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellObj.java b/qadevOOo/tests/java/mod/_sc/ScCellObj.java
new file mode 100644
index 000000000000..7711676f41a3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellObj.java
@@ -0,0 +1,216 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCell</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::text::XSimpleText</code></li>
+* <li> <code>com::sun::star::table::XCell</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::document::XActionLockable</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::text::XText</code></li>
+* <li> <code>com::sun::star::sheet::XCellAddressable</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCell
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.text.XSimpleText
+* @see com.sun.star.table.XCell
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.document.XActionLockable
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.text.XText
+* @see com.sun.star.sheet.XCellAddressable
+* @see ifc.table._CellProperties
+* @see ifc.text._XSimpleText
+* @see ifc.table._XCell
+* @see ifc.text._XTextRange
+* @see ifc.beans._XPropertySet
+* @see ifc.style._CharacterProperties
+* @see ifc.document._XActionLockable
+* @see ifc.style._ParagraphProperties
+* @see ifc.text._XText
+* @see ifc.sheet._XCellAddressable
+*/
+public class ScCellObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "Creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Retrieves some cell from the spreadsheet
+ * that is instance of the service <code>com.sun.star.sheet.SheetCell</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXTINFO',</code> for
+ * {@link ifc.text._XText} </li>
+ * </ul>
+ * @see com.sun.star.sheet.SheetCell
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ XSpreadsheet oSheet = null;
+ XCell cell = null;
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ oObj = oSheet.getCellByPosition(2, 3) ;
+ cell = (XCell)UnoRuntime.queryInterface(XCell.class, oObj);
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ }
+
+ log.println( "creating a new environment for ScCellObj object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relations for interface tests
+ DefaultDsc tDsc = new DefaultDsc(
+ "com.sun.star.text.XTextContent", "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xSheetDoc, tDsc ) );
+ // add the sheet
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.C4";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.C4";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.C4";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.C4";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+ tEnv.addObjRelation("XCellRangesQuery.CREATEENTRIES", Boolean.TRUE);
+
+ // make entries in this cell at the interface test
+ tEnv.addObjRelation("XTextFieldsSupplier.MAKEENTRY", Boolean.TRUE);
+ tEnv.addObjRelation("MAKEENTRYINCELL", cell);
+
+ // for XSearchable amd XReplaceable interface test
+ tEnv.addObjRelation("XSearchable.MAKEENTRYINCELL", cell);
+ tEnv.addObjRelation("EXCLUDEFINDNEXT", Boolean.TRUE);
+
+ // for XFormulaQuery interface test
+ tEnv.addObjRelation("EXPECTEDDEPENDENTVALUES", new int[]{2,2,3,3});
+ tEnv.addObjRelation("EXPECTEDPRECEDENTVALUES", new int[]{0,3,0,0});
+ tEnv.addObjRelation("RANGEINDICES", new int[]{0,0});
+
+ // XTextFieldsSupplier
+ tEnv.addObjRelation("SPREADSHEET", xSheetDoc);
+
+ XPropertySet PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet",PropSet);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScCellObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java b/qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java
new file mode 100644
index 000000000000..5d4fdcaae4e4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java
@@ -0,0 +1,312 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCellRange</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::util::XMergeable</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeAddressable</code></li>
+* <li> <code>com::sun::star::sheet::XArrayFormulaRange</code></li>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::table::XColumnRowRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::sheet::SheetCellRange</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCellRange
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.util.XMergeable
+* @see com.sun.star.sheet.XCellRangeAddressable
+* @see com.sun.star.sheet.XArrayFormulaRange
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.table.XColumnRowRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.sheet.SheetCellRange
+* @see ifc.table._CellProperties
+* @see ifc.util._XMergeable
+* @see ifc.sheet._XCellRangeAddressable
+* @see ifc.sheet._XArrayFormulaRange
+* @see ifc.chart._XChartData
+* @see ifc.table._XColumnRowRange
+* @see ifc.beans._XPropertySet
+* @see ifc.style._CharacterProperties
+* @see ifc.sheet._XSheetOperation
+* @see ifc.table._XCellRange
+* @see ifc.style._ParagraphProperties
+* @see ifc.sheet._SheetCellRange
+*/
+public class ScCellRangeObj extends TestCase {
+ XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Retrieves some cell range from the spreadsheet.
+ * The retrieved cell range is instance of the service
+ * <code>com.sun.star.sheet.SheetCellRange</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SHEET'</code> for
+ * {@link ifc.sheet._XArrayFormulaRange} (the spreadsheet which the cell
+ * range was retrieved from)</li>
+ * </ul>
+ * @see com.sun.star.sheet.XSpreadsheet
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XCellRange testRange;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ XSpreadsheets oSpreadsheets = ((XSpreadsheetDocument) UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class,
+ xSheetDoc)).getSheets();
+ XNameAccess oNames = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class, oSpreadsheets);
+
+ XSpreadsheet oSheet = null;
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+
+ oObj = oSheet.getCellRangeByPosition(0, 0, 3, 4);
+ testRange = (XCellRange) UnoRuntime.queryInterface(
+ XCellRange.class, oObj);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ }
+
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.B1:C1;Sheet1.B3";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "Sheet1.B2:B3";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.A1 ... Sheet1.B1 ... Sheet1.B5 ... Sheet1.C3 ... Sheet1.D1";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "Sheet1.C2";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.A2:A4;Sheet1.C2:D4";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.A2";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+ tEnv.addObjRelation("XCellRangesQuery.CREATEENTRIES", Boolean.TRUE);
+
+ XPropertySet PropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet", PropSet);
+
+ // XSearchable: Add a cell to make a seacrchable entry
+ try {
+ tEnv.addObjRelation("XSearchable.MAKEENTRYINCELL", new XCell[] {
+ testRange.getCellByPosition(0,0), testRange.getCellByPosition(0,1)});
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e){
+ e.printStackTrace((PrintWriter)log);
+ log.println("Cannot make required object relation 'XSearchable.MAKEENTRYINCELL'.");
+ }
+
+ // XCellRangeData
+/* Object[][] newData = new Object[5][4];
+ for (int i=0; i<newData.length; i++) {
+ for (int j=0; j<newData[i].length; j++) {
+ newData[i][j] = new Double(i*10+j);
+ }
+ }
+ tEnv.addObjRelation("NewData", newData); */
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XCellRange oTable = testRange;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ try {
+ oTable.getCellByPosition(0, 0).setValue(4);
+ oTable.getCellByPosition(0, 1).setFormula("b");
+ oTable.getCellByPosition(0, 2).setValue(3);
+ oTable.getCellByPosition(0, 3).setValue(23);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[4];
+
+ for (int i = 0; i < 4; i++) {
+ try {
+ XCell cell = oTable.getCellByPosition(0, i);
+ value[i] = cell.getFormula();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ out.println("Sorting ascending");
+
+ String[] rightVal = { "3", "4", "23", "b" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted uncorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ }
+} // finish class ScCellRangeObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java b/qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java
new file mode 100644
index 000000000000..b3c3e4e66e1d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java
@@ -0,0 +1,264 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCellRanges</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRangeContainer</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRanges</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCellRanges
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.container.XNameContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.sheet.XSheetCellRangeContainer
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.sheet.XSheetCellRanges
+* @see com.sun.star.container.XNameAccess
+* @see ifc.table._CellProperties
+* @see ifc.container._XNameReplace
+* @see ifc.container._XNameContainer
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.sheet._XSheetCellRangeContainer
+* @see ifc.sheet._XSheetOperation
+* @see ifc.sheet._XSheetCellRanges
+* @see ifc.container._XNameAccess
+*/
+public class ScCellRangesObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp =
+ (XComponent) UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sheet.SheetCellRanges</code> and fills some cells.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XNameReplace},
+ * {@link ifc.container._XNameContainer} (type of
+ * <code>XCellRange</code>)</li>
+ * <li> <code>'THRCNT'</code> for
+ * {@link ifc.container._XNameReplace}(the number of the running threads
+ * that was retrieved from the method parameter <code>Param</code>)</li>
+ * <li> <code>'NameReplaceIndex'</code> for
+ * {@link ifc.container._XNameReplace} </li>
+ * </ul>
+ * @see com.sun.star.table.XCellRange
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oRange = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+
+ log.println("Getting test object ");
+
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+
+ oObj = (XInterface)
+ SOF.createInstance(oComp, "com.sun.star.sheet.SheetCellRanges");
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndSheets = (XIndexAccess)
+ UnoRuntime.queryInterface (XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = null;
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class), oIndSheets.getByIndex(0));
+ XNameContainer oRanges = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oObj);
+
+ oRange = oSheet.getCellRangeByName("C1:D4");
+ oRanges.insertByName("Range1", oRange);
+ oRange = oSheet.getCellRangeByName("E2:F5");
+ oRanges.insertByName("Range2", oRange);
+ oRange = oSheet.getCellRangeByName("G2:H3");
+ oRanges.insertByName("Range3", oRange);
+ oRange = oSheet.getCellRangeByName("I7:J8");
+ oRanges.insertByName("Range4", oRange);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ for (int i = 0; i < 10; i++) {
+ for (int j = 0; j < 5; j++) {
+ oSheet.getCellByPosition(i, j).setFormula("a");
+ }
+ }
+ for (int i = 0; i < 10; i++) {
+ for (int j = 5; j < 10; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i + j);
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException (
+ "Exception occurred while filling cells", e);
+ }
+
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // NameReplaceIndex : _XNameReplace
+ log.println( "adding NameReplaceIndex as mod relation to environment" );
+ tEnv.addObjRelation("NameReplaceIndex", "0");
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT= Integer.parseInt((String)Param.get("THRCNT"));
+ }
+ int a = 0;
+ int b = 0;
+ for (int n = 1; n < (THRCNT + 1) ; n++) {
+ a = n * 2;
+ b = a + 1;
+ oRange = oSheet.getCellRangeByName("A" + a + ":B" + b);
+ log.println(
+ "adding INSTANCE" + n + " as mod relation to environment" );
+
+ tEnv.addObjRelation("INSTANCE" + n, oRange);
+ }
+
+ XPropertySet PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet",PropSet);
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.I7:J8";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.I7:J8";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.C2:D4"; // first range, first line invisible
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+
+ // for XSearchable and XReplaceable interface test
+ tEnv.addObjRelation("SEARCHSTRING", "15");
+
+ // for XFormulaQuery interface test
+ tEnv.addObjRelation("EXPECTEDDEPENDENTVALUES", new int[]{4,5,1,4});
+ tEnv.addObjRelation("EXPECTEDPRECEDENTVALUES", new int[]{4,5,1,4});
+ return tEnv ;
+ }
+
+} // finish class ScCellRangesObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellSearchObj.java b/qadevOOo/tests/java/mod/_sc/ScCellSearchObj.java
new file mode 100644
index 000000000000..5e1f6153eb07
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellSearchObj.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSearchable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.util.SearchDescriptor</code> that was implemented by
+* a spreadsheet. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::util::XSearchDescriptor</code></li>
+* <li> <code>com::sun::star::util::SearchDescriptor</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::util::XReplaceDescriptor</code></li>
+* </ul>
+* @see com.sun.star.util.SearchDescriptor
+* @see com.sun.star.util.XSearchDescriptor
+* @see com.sun.star.util.SearchDescriptor
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.util.XReplaceDescriptor
+* @see ifc.util._XSearchDescriptor
+* @see ifc.util._SearchDescriptor
+* @see ifc.beans._XPropertySet
+* @see ifc.util._XReplaceDescriptor
+*/
+public class ScCellSearchObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Creates search descriptor using the interface
+ * <code>XSearchable</code>. The created search descriptor is instance of
+ * the service <code>com.sun.star.util.SearchDescriptor</code> that
+ * implemented by a spreasheet.
+ * @see com.sun.star.util.XSearchable
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ XSearchable xSearch = (XSearchable)
+ UnoRuntime.queryInterface(XSearchable.class,oSheet);
+
+ oObj = xSearch.createSearchDescriptor();
+ // create testobject here
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ScCellSearchObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java b/qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java
new file mode 100644
index 000000000000..05313f90cb00
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.TextCursor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XTextCursor</code></li>
+* <li> <code>com::sun::star::text::XWordCursor</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::text::XSentenceCursor</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::text::XParagraphCursor</code></li>
+* <li> <code>com::sun::star::document::XDocumentInsertable</code></li>
+* <li> <code>com::sun::star::util::XSortable</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+* </ul>
+* @see com.sun.star.text.TextCursor
+* @see com.sun.star.text.XTextCursor
+* @see com.sun.star.text.XWordCursor
+* @see com.sun.star.style.CharacterPropertiesComplex
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XContentEnumerationAccess
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.text.XSentenceCursor
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.text.XParagraphCursor
+* @see com.sun.star.document.XDocumentInsertable
+* @see com.sun.star.util.XSortable
+* @see com.sun.star.style.CharacterPropertiesAsian
+* @see ifc.text._XTextCursor
+* @see ifc.text._XWordCursor
+* @see ifc.style._CharacterPropertiesComplex
+* @see ifc.text._XTextRange
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XContentEnumerationAccess
+* @see ifc.beans._XPropertyState
+* @see ifc.style._CharacterProperties
+* @see ifc.text._XSentenceCursor
+* @see ifc.style._ParagraphProperties
+* @see ifc.text._XParagraphCursor
+* @see ifc.document._XDocumentInsertable
+* @see ifc.util._XSortable
+* @see ifc.style._CharacterPropertiesAsian
+*/
+public class ScCellTextCursor extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Retrieves the cell from the spreadsheet
+ * and creates text cursor of the cell using the interface
+ * <code>XText</code>. This text cursor is the instance of
+ * the service <code>com.sun.star.text.TextCursor</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXT'</code> for
+ * {@link ifc.text._XTextRange} (type of
+ * <code>XEnumerationAccess</code> that was retrieved from the
+ * collection of visible cells)</li>
+ * </ul>
+ * @see com.sun.star.text.XText
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XCell aCell = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ aCell = oSheet.getCellByPosition(1,1) ;
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document",e) ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document",e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document",e) ;
+ }
+
+ XText aText = (XText) UnoRuntime.queryInterface(XText.class, aCell);
+ aText.setString("ScCellTextCursor");
+ oObj = aText.createTextCursor();
+
+ log.println( "creating a new environment for ScCellTextCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relations for interface tests
+ tEnv.addObjRelation("XTEXT", aText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScCellTextCursor
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScCellsEnumeration.java
new file mode 100644
index 000000000000..5b41b5bb2928
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellsEnumeration.java
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangesQuery;
+import com.sun.star.sheet.XSheetCellRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.CellsEnumeration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XEnumeration</code></li>
+* </ul>
+* @see com.sun.star.sheet.CellsEnumeration
+* @see com.sun.star.container.XEnumeration
+* @see ifc.container._XEnumeration
+*/
+public class ScCellsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Replaces text of some cells.
+ * Retrives a cell range of the visible cells using the interface
+ * <code>XCellRangesQuery</code>. Retrieves a collection of cells from
+ * this cell range and creates it's enumeration using the interface
+ * <code>XEnumerationAccess</code>.The created enumeration is the instance
+ * of the service <code>com.sun.star.sheet.CellsEnumeration</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} (type of
+ * <code>XEnumerationAccess</code> that was retrieved from the
+ * collection of visible cells)</li>
+ * </ul>
+ * @see com.sun.star.sheet.XCellRangesQuery
+ * @see com.sun.star.container.XEnumerationAccess
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object cellArr[] = new Object[3] ;
+ XEnumerationAccess oEnum = null;
+
+ // creation of testobject here
+ XSpreadsheets oSheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XCellRange oSheet = null;
+ try {
+ oSheet = (XCellRange) AnyConverter.toObject(
+ new Type(XCellRange.class),oIndexAccess.getByIndex(0));
+
+ XCell oCell_1 = (XCell)oSheet.getCellByPosition(0, 0);
+ XTextRange oTextRange = (XTextRange)
+ UnoRuntime.queryInterface(XTextRange.class, oCell_1);
+ oTextRange.setString("Test string 1");
+
+ XCell oCell_2 = (XCell)oSheet.getCellByPosition(5, 1);
+ oCell_2.setValue(15);
+
+ XCell oCell_3 = (XCell)oSheet.getCellByPosition(3, 9);
+ oTextRange = (XTextRange)
+ UnoRuntime.queryInterface(XTextRange.class, oCell_3);
+ oTextRange.setString("test 2");
+ cellArr[0] = oCell_1;
+ cellArr[1] = oCell_2;
+ cellArr[2] = oCell_3;
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ XCellRangesQuery oCellRangesQuery = (XCellRangesQuery)
+ UnoRuntime.queryInterface(XCellRangesQuery.class, oSheet);
+ XSheetCellRanges oSheetCellRanges = oCellRangesQuery.queryVisibleCells();
+ oEnum = (XEnumerationAccess) oSheetCellRanges.getCells();
+ oObj = oSheetCellRanges.getCells().createEnumeration();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // ENUM: XEnumeration
+ tEnv.addObjRelation("ENUM", oEnum);
+
+ return tEnv;
+ }
+
+} // finish class ScCellsEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellsObj.java b/qadevOOo/tests/java/mod/_sc/ScCellsObj.java
new file mode 100644
index 000000000000..4e83d890427e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellsObj.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangesQuery;
+import com.sun.star.sheet.XSheetCellRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.Cells</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.Cells
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScCellsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Replaces text of some cells.
+ * Retrives a cell range of the visible cells using the interface
+ * <code>XCellRangesQuery</code>. Retrieves a collection of cells from
+ * this cell range, this collection is instance of the service
+ * <code>com.sun.star.sheet.Cells</code>.
+ * @see com.sun.star.sheet.XCellRangesQuery
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object cellArr[] = new Object[3];
+
+ // creation of testobject here
+ XSpreadsheets oSheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XCellRange oSheet = null;
+ try {
+ oSheet = (XCellRange) AnyConverter.toObject(
+ new Type(XCellRange.class),oIndexAccess.getByIndex(0));
+
+ XCell oCell_1 = (XCell)oSheet.getCellByPosition(0, 0);
+ XTextRange oTextRange = (XTextRange)
+ UnoRuntime.queryInterface(XTextRange.class, oCell_1);
+
+ oTextRange.setString("ScCellsObj test 1");
+
+ XCell oCell_2 = (XCell)oSheet.getCellByPosition(5, 1);
+ oCell_2.setValue(15);
+
+ XCell oCell_3 = (XCell)oSheet.getCellByPosition(3, 9);
+ oTextRange = (XTextRange)
+ UnoRuntime.queryInterface(XTextRange.class, oCell_3);
+
+ oTextRange.setString("ScCellsObj test 2");
+
+ cellArr[0] = oCell_1;
+ cellArr[2] = oCell_2;
+ cellArr[1] = oCell_3;
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ XCellRangesQuery oCellRangesQuery = (XCellRangesQuery)
+ UnoRuntime.queryInterface(XCellRangesQuery.class, oSheet);
+ XSheetCellRanges oSheetCellRanges = oCellRangesQuery.queryVisibleCells();
+
+ oObj = oSheetCellRanges.getCells();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+ log.println ("Object created.") ;
+
+ return tEnv;
+ }
+
+} // finish class ScCellsObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScChartObj.java b/qadevOOo/tests/java/mod/_sc/ScChartObj.java
new file mode 100644
index 000000000000..4c0e38aeaab3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScChartObj.java
@@ -0,0 +1,289 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XTableChart;
+import com.sun.star.table.XTableCharts;
+import com.sun.star.table.XTableChartsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.table.TableChart</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::table::XTableChart</code></li>
+* <li> <code>com::sun::star::document::XEmbeddedObjectSupplier</code></li>
+* </ul>
+* @see com.sun.star.table.TableChart
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.table.XTableChart
+* @see com.sun.star.document.XEmbeddedObjectSupplier
+* @see ifc.container._XNamed
+* @see ifc.table._XTableChart
+* @see ifc.document._XEmbeddedObjectSupplier
+*/
+public class ScChartObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Inserts some values into the cells of the some cell
+ * range address. Adds the chart that using the data from the cells of this
+ * cell range address. New chart is the instance of
+ * the service <code>com.sun.star.table.TableChart</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'setName'</code> for
+ * {@link ifc.container._XNamed}(the method <code>setName</code> must
+ * not be tested)</li>
+ * </ul>
+ * @see com.sun.star.container.XNamed
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XSpreadsheet oSheet=null;
+
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ }
+
+ log.println("Creating the Header") ;
+
+ insertIntoCell(1,0,"JAN",oSheet,"");
+ insertIntoCell(2,0,"FEB",oSheet,"");
+ insertIntoCell(3,0,"MAR",oSheet,"");
+ insertIntoCell(4,0,"APR",oSheet,"");
+ insertIntoCell(5,0,"MAI",oSheet,"");
+ insertIntoCell(6,0,"JUN",oSheet,"");
+ insertIntoCell(7,0,"JUL",oSheet,"");
+ insertIntoCell(8,0,"AUG",oSheet,"");
+ insertIntoCell(9,0,"SEP",oSheet,"");
+ insertIntoCell(10,0,"OCT",oSheet,"");
+ insertIntoCell(11,0,"NOV",oSheet,"");
+ insertIntoCell(12,0,"DEC",oSheet,"");
+ insertIntoCell(13,0,"SUM",oSheet,"");
+
+ log.println("Fill the lines");
+
+ insertIntoCell(0,1,"Smith",oSheet,"");
+ insertIntoCell(1,1,"42",oSheet,"V");
+ insertIntoCell(2,1,"58.9",oSheet,"V");
+ insertIntoCell(3,1,"-66.5",oSheet,"V");
+ insertIntoCell(4,1,"43.4",oSheet,"V");
+ insertIntoCell(5,1,"44.5",oSheet,"V");
+ insertIntoCell(6,1,"45.3",oSheet,"V");
+ insertIntoCell(7,1,"-67.3",oSheet,"V");
+ insertIntoCell(8,1,"30.5",oSheet,"V");
+ insertIntoCell(9,1,"23.2",oSheet,"V");
+ insertIntoCell(10,1,"-97.3",oSheet,"V");
+ insertIntoCell(11,1,"22.4",oSheet,"V");
+ insertIntoCell(12,1,"23.5",oSheet,"V");
+ insertIntoCell(13,1,"=SUM(B2:M2)",oSheet,"");
+
+ insertIntoCell(0,2,"Jones",oSheet,"");
+ insertIntoCell(1,2,"21",oSheet,"V");
+ insertIntoCell(2,2,"40.9",oSheet,"V");
+ insertIntoCell(3,2,"-57.5",oSheet,"V");
+ insertIntoCell(4,2,"-23.4",oSheet,"V");
+ insertIntoCell(5,2,"34.5",oSheet,"V");
+ insertIntoCell(6,2,"59.3",oSheet,"V");
+ insertIntoCell(7,2,"27.3",oSheet,"V");
+ insertIntoCell(8,2,"-38.5",oSheet,"V");
+ insertIntoCell(9,2,"43.2",oSheet,"V");
+ insertIntoCell(10,2,"57.3",oSheet,"V");
+ insertIntoCell(11,2,"25.4",oSheet,"V");
+ insertIntoCell(12,2,"28.5",oSheet,"V");
+ insertIntoCell(13,2,"=SUM(B3:M3)",oSheet,"");
+
+ insertIntoCell(0,3,"Brown",oSheet,"");
+ insertIntoCell(1,3,"31.45",oSheet,"V");
+ insertIntoCell(2,3,"-20.9",oSheet,"V");
+ insertIntoCell(3,3,"-117.5",oSheet,"V");
+ insertIntoCell(4,3,"23.4",oSheet,"V");
+ insertIntoCell(5,3,"-114.5",oSheet,"V");
+ insertIntoCell(6,3,"115.3",oSheet,"V");
+ insertIntoCell(7,3,"-171.3",oSheet,"V");
+ insertIntoCell(8,3,"89.5",oSheet,"V");
+ insertIntoCell(9,3,"41.2",oSheet,"V");
+ insertIntoCell(10,3,"71.3",oSheet,"V");
+ insertIntoCell(11,3,"25.4",oSheet,"V");
+ insertIntoCell(12,3,"38.5",oSheet,"V");
+ insertIntoCell(13,3,"=SUM(A4:L4)",oSheet,"");
+
+ // insert a chart
+
+ Rectangle oRect = new Rectangle(500, 3000, 25000, 11000);
+
+ XCellRange oRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ XCellRange myRange = oRange.getCellRangeByName("A1:N4");
+ XCellRangeAddressable oRangeAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
+ CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
+
+ CellRangeAddress[] oAddr = new CellRangeAddress[1];
+ oAddr[0] = myAddr;
+ XTableChartsSupplier oSupp = (XTableChartsSupplier)
+ UnoRuntime.queryInterface(XTableChartsSupplier.class, oSheet);
+
+ log.println("Insert Chart");
+
+ XTableCharts oCharts = oSupp.getCharts();
+ oCharts.addNewByName("ScChartObj", oRect, oAddr, true, true);
+
+ // get the TableChart
+ XTableChart oChart = null;
+ try {
+ XNameAccess names = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),UnoRuntime.queryInterface(
+ XNameAccess.class, oCharts));
+
+ oChart = (XTableChart) AnyConverter.toObject(
+ new Type(XTableChart.class),names.getByName("ScChartObj"));
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get TableChart");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TableChart", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get TableChart");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TableChart", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't get TableChart");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TableChart", e);
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oChart);
+
+ //adding ObjRelation 'setName' for 'XNamed'
+ tEnv.addObjRelation("setName", new Boolean(true));
+
+ return tEnv;
+ }
+
+ /**
+ * Inserts a value or a formula in the cell of the spreasheet.
+ * @param CellX is the column index of the cell
+ * @param CellY is the row index of the cell
+ * @param theValue string representation of the value
+ * @param TT1 specify the spreadsheet, the interface
+ * <code>com.sun.star.sheet.XSpreadsheet</code>
+ * @param flag if it's equal to <code>'V'</code> then the method inserts
+ * a double-value in the cell else it inserts a formula in the cell
+ */
+ public static void insertIntoCell(
+ int CellX, int CellY, String theValue, XSpreadsheet TT1, String flag)
+ {
+ XCell oCell = null;
+
+ try {
+ oCell = TT1.getCellByPosition(CellX, CellY);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ System.out.println("Could not get Cell");
+ }
+
+ if (flag.equals("V")) {
+ oCell.setValue(new Float(theValue).floatValue());
+ } else {
+ oCell.setFormula(theValue);
+ }
+ } // end of insertIntoCell
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScChartsObj.java b/qadevOOo/tests/java/mod/_sc/ScChartsObj.java
new file mode 100644
index 000000000000..ffce67b4f173
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScChartsObj.java
@@ -0,0 +1,273 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XTableCharts;
+import com.sun.star.table.XTableChartsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.table.TableCharts</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::table::XTableCharts</code></li>
+* </ul>
+* @see com.sun.star.table.TableCharts
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.table.XTableCharts
+* @see ifc.container._XNameAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.table._XTableCharts
+*/
+public class ScChartsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Inserts some values into the cells of the some cell
+ * range address. Obtains the collection of the charts using the interface
+ * <code>XTableChartsSupplier</code>. Creates and adds the chart that using
+ * the data from the cells of this cell range address. Collection of
+ * the charts is the instance of the service
+ * <code>com.sun.star.table.TableCharts</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'RECT'</code> for
+ * {@link ifc.table._XTableCharts}(of type <code>Rectangle</code>
+ * the position of the chart)</li>
+ * <li> <code>'ADDR'</code> for
+ * {@link ifc.table._XTableCharts}(of type
+ * <code>com.sun.star.table.CellRangeAddress[]</code> data source ranges
+ * for chart creating)</li>
+ * </ul>
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.table.XTableChartsSupplier
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XSpreadsheet oSheet=null;
+
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ }
+
+ log.println("Creating the Header") ;
+
+ insertIntoCell(1,0,"JAN",oSheet,"");
+ insertIntoCell(2,0,"FEB",oSheet,"");
+ insertIntoCell(3,0,"MAR",oSheet,"");
+ insertIntoCell(4,0,"APR",oSheet,"");
+ insertIntoCell(5,0,"MAI",oSheet,"");
+ insertIntoCell(6,0,"JUN",oSheet,"");
+ insertIntoCell(7,0,"JUL",oSheet,"");
+ insertIntoCell(8,0,"AUG",oSheet,"");
+ insertIntoCell(9,0,"SEP",oSheet,"");
+ insertIntoCell(10,0,"OCT",oSheet,"");
+ insertIntoCell(11,0,"NOV",oSheet,"");
+ insertIntoCell(12,0,"DEC",oSheet,"");
+ insertIntoCell(13,0,"SUM",oSheet,"");
+
+ log.println("Fill the lines");
+
+ insertIntoCell(0,1,"Smith",oSheet,"");
+ insertIntoCell(1,1,"42",oSheet,"V");
+ insertIntoCell(2,1,"58.9",oSheet,"V");
+ insertIntoCell(3,1,"-66.5",oSheet,"V");
+ insertIntoCell(4,1,"43.4",oSheet,"V");
+ insertIntoCell(5,1,"44.5",oSheet,"V");
+ insertIntoCell(6,1,"45.3",oSheet,"V");
+ insertIntoCell(7,1,"-67.3",oSheet,"V");
+ insertIntoCell(8,1,"30.5",oSheet,"V");
+ insertIntoCell(9,1,"23.2",oSheet,"V");
+ insertIntoCell(10,1,"-97.3",oSheet,"V");
+ insertIntoCell(11,1,"22.4",oSheet,"V");
+ insertIntoCell(12,1,"23.5",oSheet,"V");
+ insertIntoCell(13,1,"=SUM(B2:M2)",oSheet,"");
+
+ insertIntoCell(0,2,"Jones",oSheet,"");
+ insertIntoCell(1,2,"21",oSheet,"V");
+ insertIntoCell(2,2,"40.9",oSheet,"V");
+ insertIntoCell(3,2,"-57.5",oSheet,"V");
+ insertIntoCell(4,2,"-23.4",oSheet,"V");
+ insertIntoCell(5,2,"34.5",oSheet,"V");
+ insertIntoCell(6,2,"59.3",oSheet,"V");
+ insertIntoCell(7,2,"27.3",oSheet,"V");
+ insertIntoCell(8,2,"-38.5",oSheet,"V");
+ insertIntoCell(9,2,"43.2",oSheet,"V");
+ insertIntoCell(10,2,"57.3",oSheet,"V");
+ insertIntoCell(11,2,"25.4",oSheet,"V");
+ insertIntoCell(12,2,"28.5",oSheet,"V");
+ insertIntoCell(13,2,"=SUM(B3:M3)",oSheet,"");
+
+ insertIntoCell(0,3,"Brown",oSheet,"");
+ insertIntoCell(1,3,"31.45",oSheet,"V");
+ insertIntoCell(2,3,"-20.9",oSheet,"V");
+ insertIntoCell(3,3,"-117.5",oSheet,"V");
+ insertIntoCell(4,3,"23.4",oSheet,"V");
+ insertIntoCell(5,3,"-114.5",oSheet,"V");
+ insertIntoCell(6,3,"115.3",oSheet,"V");
+ insertIntoCell(7,3,"-171.3",oSheet,"V");
+ insertIntoCell(8,3,"89.5",oSheet,"V");
+ insertIntoCell(9,3,"41.2",oSheet,"V");
+ insertIntoCell(10,3,"71.3",oSheet,"V");
+ insertIntoCell(11,3,"25.4",oSheet,"V");
+ insertIntoCell(12,3,"38.5",oSheet,"V");
+ insertIntoCell(13,3,"=SUM(A4:L4)",oSheet,"");
+
+ // insert a chart
+ Rectangle oRect = new Rectangle(500, 3000, 25000, 11000);
+
+ XCellRange oRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ XCellRange myRange = oRange.getCellRangeByName("A1:N4");
+ XCellRangeAddressable oRangeAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
+ CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
+
+ CellRangeAddress[] oAddr = new CellRangeAddress[1];
+ oAddr[0] = myAddr;
+ XTableChartsSupplier oSupp = (XTableChartsSupplier)
+ UnoRuntime.queryInterface(XTableChartsSupplier.class, oSheet);
+
+
+ log.println("Insert Chart");
+ XTableCharts oCharts = oSupp.getCharts();
+ oCharts.addNewByName("ScChartObj", oRect, oAddr, true, true);
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oCharts);
+
+ tEnv.addObjRelation("RECT", oRect);
+ tEnv.addObjRelation("ADDR", oAddr);
+
+ return tEnv;
+ }
+
+ /**
+ * Inserts a value or a formula in the cell of the spreasheet.
+ * @param CellX is the column index of the cell
+ * @param CellY is the row index of the cell
+ * @param theValue string representation of the value
+ * @param TT1 specify the spreadsheet, the interface
+ * <code>com.sun.star.sheet.XSpreadsheet</code>
+ * @param flag if it's equal to <code>'V'</code> then the method inserts
+ * a double-value in the cell else it inserts a formula in the cell
+ */
+ public static void insertIntoCell(
+ int CellX, int CellY, String theValue, XSpreadsheet TT1, String flag) {
+
+ XCell oCell = null;
+
+ try {
+ oCell = TT1.getCellByPosition(CellX, CellY);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ System.out.println("Could not get Cell");
+ }
+
+ if (flag.equals("V")) {
+ oCell.setValue(new Float(theValue).floatValue());
+ } else {
+ oCell.setFormula(theValue);
+ }
+
+ } // end of insertIntoCell
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScConsolidationDescriptor.java b/qadevOOo/tests/java/mod/_sc/ScConsolidationDescriptor.java
new file mode 100644
index 000000000000..9ca1dfb9c448
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScConsolidationDescriptor.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XConsolidatable;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.ConsolidationDescriptor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XConsolidationDescriptor</code></li>
+* </ul>
+* @see com.sun.star.sheet.ConsolidationDescriptor
+* @see com.sun.star.sheet.XConsolidationDescriptor
+* @see ifc.sheet._XConsolidationDescriptor
+*/
+public class ScConsolidationDescriptor extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Creates consolidation description using
+ * the interface <code>XConsolidatable</code>.
+ * This description is the instance of the service
+ * <code>com.sun.star.sheet.ConsolidationDescriptor</code>.
+ * @see com.sun.star.sheet.ConsolidationDescriptor
+ * @see com.sun.star.sheet.XConsolidatable
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XConsolidatable xConsolidate = (XConsolidatable)
+ UnoRuntime.queryInterface(XConsolidatable.class, xSheetDoc);
+
+ oObj = xConsolidate.createConsolidationDescriptor(true);
+ // create testobject here
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScConsolidationDescriptor
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDDELinkObj.java b/qadevOOo/tests/java/mod/_sc/ScDDELinkObj.java
new file mode 100644
index 000000000000..a1f3dfb433f4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDDELinkObj.java
@@ -0,0 +1,245 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DDELink</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::util::XRefreshable</code></li>
+* <li> <code>com::sun::star::sheet::XDDELink</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> ScDDELinksObj.sdc </b> : the predefined testdocument </li>
+* </ul> <p>
+* @see com.sun.star.sheet.DDELink
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.util.XRefreshable
+* @see com.sun.star.sheet.XDDELink
+* @see ifc.container._XNamed
+* @see ifc.util._XRefreshable
+* @see ifc.sheet._XDDELink
+*/
+public class ScDDELinkObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+ static XComponent oDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document and testdocument if it was loaded already.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ if (oDoc != null) {
+ util.DesktopTools.closeDoc(oDoc);
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Disposes the testdocument if it was loaded already.
+ * Creates an instance of the <code>com.sun.star.frame.Desktop</code>
+ * and loads the predefined testdocument. Retrieves a collection of
+ * spreadsheets from a document and takes one of them. Sets specific formula
+ * to some cells in the spreadsheet(the formula specify DDE links to the
+ * testdocument). Retrieves the collection of DDE links in the document and
+ * retrives first DDE link from the collection.
+ * The retrived DDE link is the instance of the service
+ * <code>com.sun.star.sheet.DDELink</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'setName'</code> for
+ * {@link ifc.container._XNamed}(specify that the method
+ * <code>setName</code> must not be tested)</li>
+ * <li> <code>'APPLICATION'</code> for
+ * {@link ifc.sheet._XDDELink}(the name of the current application)</li>
+ * <li> <code>'ITEM'</code> for
+ * {@link ifc.sheet._XDDELink}(the DDE item that was set in the formula)</li>
+ * <li> <code>'TOPIC'</code> for
+ * {@link ifc.sheet._XDDELink}(the full testdocument name)</li>
+ * </ul>
+ * @see com.sun.star.frame.Desktop
+ * @see com.sun.star.sheet.DDELink
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ if (oDoc != null) {
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // create testobject here
+
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)Param.getMSF();
+
+ // load the predefined testdocument
+ String testdoc = util.utils.getFullTestURL("ScDDELinksObj.sdc");
+ try {
+ oDoc = SOfficeFactory.getFactory(oMSF).loadDocument(testdoc);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ }
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ String sAppl = "soffice";
+ String sItem = "Sheet1.A1";
+ testdoc = util.utils.getFullTestDocName("ScDDELinksObj.sdc");
+ try {
+ oSheet.getCellByPosition(5, 5).setFormula(
+ "=DDE(\""+ sAppl +"\";\""+testdoc+"\";\""+ sItem +"\"");
+ oSheet.getCellByPosition(1, 4).setFormula(
+ "=DDE(\""+ sAppl +"\";\""+testdoc+"\";\""+ sItem +"\"");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while filling cells", e);
+ }
+
+ try {
+ log.println("Getting test object ") ;
+
+ // Getting named ranges.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ XNameAccess links = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class), UnoRuntime.queryInterface(
+ XNameAccess.class, docProps.getPropertyValue("DDELinks")));
+
+ String[] linkNames = links.getElementNames();
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),links.getByName(linkNames[0]));
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("APPLICATION", sAppl);
+ tEnv.addObjRelation("ITEM", sItem);
+ tEnv.addObjRelation("TOPIC", testdoc);
+ tEnv.addObjRelation("setName", new Boolean(true));
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDDELinksObj.java b/qadevOOo/tests/java/mod/_sc/ScDDELinksObj.java
new file mode 100644
index 000000000000..fbcb724c27fd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDDELinksObj.java
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DDELinks</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> ScDDELinksObj.sdc </b> : the predefined testdocument </li>
+* </ul> <p>
+* @see com.sun.star.sheet.DDELinks
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScDDELinksObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+ static XComponent oDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document and testdocument.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.
+ queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Disposes the testdocument if it was loaded already.
+ * Creates an instance of the <code>com.sun.star.frame.Desktop</code>
+ * and loads the predefined testdocument. Retrieves a collection of
+ * spreadsheets from a document and takes one of them. Sets specific formula
+ * to some cells in the spreadsheet(the formula specify DDE links to the
+ * testdocument). Retrieves the collection of DDE links in the document.
+ * The retrived collection of DDE link is the instance of the service
+ * <code>com.sun.star.sheet.DDELinks</code>.
+ * @see com.sun.star.frame.Desktop
+ * @see com.sun.star.sheet.DDELinks
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // create testobject here
+
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)Param.getMSF();
+
+ // load the predefined testdocument
+ String testdoc = utils.getFullTestURL("ScDDELinksObj.sdc");
+ try {
+ oDoc = SOfficeFactory.getFactory(oMSF).loadDocument(testdoc);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ }
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ testdoc = utils.getFullTestDocName("ScDDELinksObj.sdc");
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setFormula(
+ "=DDE(\"soffice\";\""+testdoc+"\";\"Sheet1.A1\"");
+ oSheet.getCellByPosition(1, 4).setFormula(
+ "=DDE(\"soffice\";\""+testdoc+"\";\"Sheet1.A1\"");
+ oSheet.getCellByPosition(2, 0).setFormula(
+ "=DDE(\"soffice\";\""+testdoc+"\";\"Sheet1.A1\"");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while filling cells", e);
+ }
+
+ try {
+ log.println("Getting test object ") ;
+
+ // Getting named ranges.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ oObj = (XInterface)AnyConverter.toObject(
+ new Type(XInterface.class),docProps.getPropertyValue("DDELinks"));
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupItemObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupItemObj.java
new file mode 100644
index 000000000000..7ef352c94d2a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupItemObj.java
@@ -0,0 +1,371 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.DataPilotFieldGroupInfo;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotFieldGrouping;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+
+public class ScDataPilotFieldGroupItemObj extends TestCase
+{
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize (TestParameters tParam, PrintWriter log)
+ {
+ SOfficeFactory SOF = SOfficeFactory.getFactory (
+ (XMultiServiceFactory) tParam.getMSF ());
+
+ try
+ {
+ log.println ("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc (null);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ // Some exception occures.FAILED
+ e.printStackTrace (log);
+ throw new StatusException ("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup (TestParameters tParam, PrintWriter log)
+ {
+ log.println (" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface (
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc (oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment (TestParameters Param,
+ PrintWriter log)
+ {
+ XInterface oObj = null;
+ XInterface datapilotfield = null;
+ XInterface groups = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println ("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAdress = new CellRangeAddress ();
+ sCellRangeAdress.Sheet = 0;
+ sCellRangeAdress.StartColumn = 1;
+ sCellRangeAdress.StartRow = 0;
+ sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAdress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAdress = new CellAddress ();
+ sCellAdress.Sheet = 0;
+ sCellAdress.Column = 7;
+ sCellAdress.Row = 8;
+
+ log.println ("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets ();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface (
+ XIndexAccess.class, xSpreadsheets);
+
+ try
+ {
+ oSheet = (XSpreadsheet) AnyConverter.toObject (
+ new Type (XSpreadsheet.class),
+ oIndexAccess.getByIndex (0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject (
+ new Type (XSpreadsheet.class),
+ oIndexAccess.getByIndex (1));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+
+ try
+ {
+ log.println ("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ {
+ oSheet.getCellByPosition (i, 0).setFormula ("Col" + i);
+ oSheet.getCellByPosition (0, i).setFormula ("Row" + i);
+ oSheet2.getCellByPosition (i, 0).setFormula ("Col" + i);
+ oSheet2.getCellByPosition (0, i).setFormula ("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ {
+ for (int j = 1; j < mMaxFieldIndex; j++)
+ {
+ oSheet.getCellByPosition (i, j).setValue (i * (j + 1));
+ oSheet2.getCellByPosition (i, j).setValue (i * (j + 2));
+ }
+ }
+
+ oSheet.getCellByPosition (1, 1).setFormula ("aName");
+ oSheet.getCellByPosition (1, 2).setFormula ("otherName");
+ oSheet.getCellByPosition (1, 3).setFormula ("una");
+ oSheet.getCellByPosition (1, 4).setFormula ("otherName");
+ oSheet.getCellByPosition (1, 5).setFormula ("somethingelse");
+
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't fill some cells", e);
+ }
+
+ // change a value of a cell and check the change in the data pilot
+ // (for the XDataPilotTable.refresh() test)
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ Integer aChangeValue = null;
+
+ try
+ {
+ // cell of data
+ oChangeCell = oSheet.getCellByPosition (1, 5);
+
+ int x = sCellAdress.Column;
+ int y = sCellAdress.Row + 3;
+
+
+ // cell of the data pilot output
+ oCheckCell = oSheet.getCellByPosition (x, y);
+ aChangeValue = new Integer (27);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get cells for changeing.", e);
+ }
+
+
+ // create the test objects
+ log.println ("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier) UnoRuntime.queryInterface (
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables ();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor ();
+ DPDsc.setSourceRange (sCellRangeAdress);
+
+ XPropertySet fieldPropSet = null;
+
+ try
+ {
+ Object oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (0);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.ROW);
+ oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (1);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (2);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.COLUMN);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+
+ log.println ("Insert the DataPilotTable");
+
+ if (DPT.hasByName ("DataPilotTable"))
+ {
+ DPT.removeByName ("DataPilotTable");
+ }
+
+ DPT.insertNewByName ("DataPilotTable", sCellAdress, DPDsc);
+ XIndexAccess xIA = (XIndexAccess) UnoRuntime.queryInterface (XIndexAccess.class,DPTS.getDataPilotTables ());
+ XIndexAccess IA = null;
+ try
+ {
+ XDataPilotDescriptor xDPT = (XDataPilotDescriptor) UnoRuntime.queryInterface (XDataPilotDescriptor.class,xIA.getByIndex (0));
+ IA = xDPT.getRowFields ();
+ //getSRange(IA);
+ System.out.println ("COUNT: "+IA.getCount ());
+ datapilotfield = (XInterface) AnyConverter.toObject (
+ new Type (XInterface.class), IA.getByIndex (0));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+
+ try
+ {
+ XDataPilotFieldGrouping dpfg = (XDataPilotFieldGrouping) UnoRuntime.queryInterface (XDataPilotFieldGrouping.class, datapilotfield);
+ String[] elements = new String[]{"aName","otherName"};
+ dpfg.createNameGroup (elements);
+ DataPilotFieldGroupInfo dpgi=null;
+ xIA = (XIndexAccess) UnoRuntime.queryInterface (XIndexAccess.class,DPTS.getDataPilotTables ());
+ try
+ {
+ XDataPilotDescriptor xDPT = (XDataPilotDescriptor) UnoRuntime.queryInterface (XDataPilotDescriptor.class,xIA.getByIndex (0));
+ IA = xDPT.getRowFields ();
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ for (int i=0;i<IA.getCount ();i++)
+ {
+ datapilotfield = (XInterface) AnyConverter.toObject (
+ new Type (XInterface.class), IA.getByIndex (i));
+ XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface (XPropertySet.class, IA.getByIndex (i));
+ if (((Boolean)xPropertySet.getPropertyValue ("IsGroupField")).booleanValue ())
+ {
+ xPropertySet = (XPropertySet) UnoRuntime.queryInterface (XPropertySet.class, datapilotfield);
+ XNamed xNamed = (XNamed) UnoRuntime.queryInterface (XNamed.class, IA.getByIndex (i));
+ System.out.println ("name: "+xNamed.getName ());
+ dpgi = (DataPilotFieldGroupInfo) xPropertySet.getPropertyValue ("GroupInfo");
+ }
+ }
+ groups = dpgi.Groups;
+ XIndexAccess groupAccess = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, groups);
+ XNameAccess groupNames = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, groupAccess.getByIndex(0));
+ oObj = (XInterface) UnoRuntime.queryInterface(XInterface.class, groupNames.getByName("aName"));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace ();
+ }
+
+ log.println ("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment (oObj);
+
+ log.println ("Implementationname: " + util.utils.getImplName (oObj));
+
+ // Other parameters required for interface tests
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupObj.java
new file mode 100644
index 000000000000..71a699175c85
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupObj.java
@@ -0,0 +1,369 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.DataPilotFieldGroupInfo;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotFieldGrouping;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+
+public class ScDataPilotFieldGroupObj extends TestCase
+{
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize (TestParameters tParam, PrintWriter log)
+ {
+ SOfficeFactory SOF = SOfficeFactory.getFactory (
+ (XMultiServiceFactory) tParam.getMSF ());
+
+ try
+ {
+ log.println ("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc (null);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ // Some exception occures.FAILED
+ e.printStackTrace (log);
+ throw new StatusException ("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup (TestParameters tParam, PrintWriter log)
+ {
+ log.println (" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface (
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc (oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment (TestParameters Param,
+ PrintWriter log)
+ {
+ XInterface oObj = null;
+ XInterface datapilotfield = null;
+ XInterface groups = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println ("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAdress = new CellRangeAddress ();
+ sCellRangeAdress.Sheet = 0;
+ sCellRangeAdress.StartColumn = 1;
+ sCellRangeAdress.StartRow = 0;
+ sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAdress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAdress = new CellAddress ();
+ sCellAdress.Sheet = 0;
+ sCellAdress.Column = 7;
+ sCellAdress.Row = 8;
+
+ log.println ("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets ();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface (
+ XIndexAccess.class, xSpreadsheets);
+
+ try
+ {
+ oSheet = (XSpreadsheet) AnyConverter.toObject (
+ new Type (XSpreadsheet.class),
+ oIndexAccess.getByIndex (0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject (
+ new Type (XSpreadsheet.class),
+ oIndexAccess.getByIndex (1));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+
+ try
+ {
+ log.println ("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ {
+ oSheet.getCellByPosition (i, 0).setFormula ("Col" + i);
+ oSheet.getCellByPosition (0, i).setFormula ("Row" + i);
+ oSheet2.getCellByPosition (i, 0).setFormula ("Col" + i);
+ oSheet2.getCellByPosition (0, i).setFormula ("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ {
+ for (int j = 1; j < mMaxFieldIndex; j++)
+ {
+ oSheet.getCellByPosition (i, j).setValue (i * (j + 1));
+ oSheet2.getCellByPosition (i, j).setValue (i * (j + 2));
+ }
+ }
+
+ oSheet.getCellByPosition (1, 1).setFormula ("aName");
+ oSheet.getCellByPosition (1, 2).setFormula ("otherName");
+ oSheet.getCellByPosition (1, 3).setFormula ("una");
+ oSheet.getCellByPosition (1, 4).setFormula ("otherName");
+ oSheet.getCellByPosition (1, 5).setFormula ("somethingelse");
+
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't fill some cells", e);
+ }
+
+ // change a value of a cell and check the change in the data pilot
+ // (for the XDataPilotTable.refresh() test)
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ Integer aChangeValue = null;
+
+ try
+ {
+ // cell of data
+ oChangeCell = oSheet.getCellByPosition (1, 5);
+
+ int x = sCellAdress.Column;
+ int y = sCellAdress.Row + 3;
+
+
+ // cell of the data pilot output
+ oCheckCell = oSheet.getCellByPosition (x, y);
+ aChangeValue = new Integer (27);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get cells for changeing.", e);
+ }
+
+
+ // create the test objects
+ log.println ("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier) UnoRuntime.queryInterface (
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables ();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor ();
+ DPDsc.setSourceRange (sCellRangeAdress);
+
+ XPropertySet fieldPropSet = null;
+
+ try
+ {
+ Object oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (0);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.ROW);
+ oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (1);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (2);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.COLUMN);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+
+ log.println ("Insert the DataPilotTable");
+
+ if (DPT.hasByName ("DataPilotTable"))
+ {
+ DPT.removeByName ("DataPilotTable");
+ }
+
+ DPT.insertNewByName ("DataPilotTable", sCellAdress, DPDsc);
+ XIndexAccess xIA = (XIndexAccess) UnoRuntime.queryInterface (XIndexAccess.class,DPTS.getDataPilotTables ());
+ XIndexAccess IA = null;
+ try
+ {
+ XDataPilotDescriptor xDPT = (XDataPilotDescriptor) UnoRuntime.queryInterface (XDataPilotDescriptor.class,xIA.getByIndex (0));
+ IA = xDPT.getRowFields ();
+ //getSRange(IA);
+ System.out.println ("COUNT: "+IA.getCount ());
+ datapilotfield = (XInterface) AnyConverter.toObject (
+ new Type (XInterface.class), IA.getByIndex (0));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+
+ try
+ {
+ XDataPilotFieldGrouping dpfg = (XDataPilotFieldGrouping) UnoRuntime.queryInterface (XDataPilotFieldGrouping.class, datapilotfield);
+ String[] elements = new String[]{"aName","otherName"};
+ dpfg.createNameGroup (elements);
+ DataPilotFieldGroupInfo dpgi=null;
+ xIA = (XIndexAccess) UnoRuntime.queryInterface (XIndexAccess.class,DPTS.getDataPilotTables ());
+ try
+ {
+ XDataPilotDescriptor xDPT = (XDataPilotDescriptor) UnoRuntime.queryInterface (XDataPilotDescriptor.class,xIA.getByIndex (0));
+ IA = xDPT.getRowFields ();
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ for (int i=0;i<IA.getCount ();i++)
+ {
+ datapilotfield = (XInterface) AnyConverter.toObject (
+ new Type (XInterface.class), IA.getByIndex (i));
+ XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface (XPropertySet.class, IA.getByIndex (i));
+ if (((Boolean)xPropertySet.getPropertyValue ("IsGroupField")).booleanValue ())
+ {
+ xPropertySet = (XPropertySet) UnoRuntime.queryInterface (XPropertySet.class, datapilotfield);
+ XNamed xNamed = (XNamed) UnoRuntime.queryInterface (XNamed.class, IA.getByIndex (i));
+ System.out.println ("name: "+xNamed.getName ());
+ dpgi = (DataPilotFieldGroupInfo) xPropertySet.getPropertyValue ("GroupInfo");
+ }
+ }
+ groups = dpgi.Groups;
+ XIndexAccess groupAccess = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, groups);
+ oObj = (XInterface) UnoRuntime.queryInterface(XInterface.class, groupAccess.getByIndex(0));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace ();
+ }
+
+ log.println ("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment (oObj);
+
+ log.println ("Implementationname: " + util.utils.getImplName (oObj));
+
+ // Other parameters required for interface tests
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupsObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupsObj.java
new file mode 100644
index 000000000000..152c1d82a09a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldGroupsObj.java
@@ -0,0 +1,367 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.DataPilotFieldGroupInfo;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotFieldGrouping;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+
+public class ScDataPilotFieldGroupsObj extends TestCase
+{
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize (TestParameters tParam, PrintWriter log)
+ {
+ SOfficeFactory SOF = SOfficeFactory.getFactory (
+ (XMultiServiceFactory) tParam.getMSF ());
+
+ try
+ {
+ log.println ("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc (null);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ // Some exception occures.FAILED
+ e.printStackTrace (log);
+ throw new StatusException ("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup (TestParameters tParam, PrintWriter log)
+ {
+ log.println (" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface (
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc (oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment (TestParameters Param,
+ PrintWriter log)
+ {
+ XInterface oObj = null;
+ XInterface datapilotfield = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println ("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAdress = new CellRangeAddress ();
+ sCellRangeAdress.Sheet = 0;
+ sCellRangeAdress.StartColumn = 1;
+ sCellRangeAdress.StartRow = 0;
+ sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAdress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAdress = new CellAddress ();
+ sCellAdress.Sheet = 0;
+ sCellAdress.Column = 7;
+ sCellAdress.Row = 8;
+
+ log.println ("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets ();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface (
+ XIndexAccess.class, xSpreadsheets);
+
+ try
+ {
+ oSheet = (XSpreadsheet) AnyConverter.toObject (
+ new Type (XSpreadsheet.class),
+ oIndexAccess.getByIndex (0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject (
+ new Type (XSpreadsheet.class),
+ oIndexAccess.getByIndex (1));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get a spreadsheet", e);
+ }
+
+ try
+ {
+ log.println ("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ {
+ oSheet.getCellByPosition (i, 0).setFormula ("Col" + i);
+ oSheet.getCellByPosition (0, i).setFormula ("Row" + i);
+ oSheet2.getCellByPosition (i, 0).setFormula ("Col" + i);
+ oSheet2.getCellByPosition (0, i).setFormula ("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ {
+ for (int j = 1; j < mMaxFieldIndex; j++)
+ {
+ oSheet.getCellByPosition (i, j).setValue (i * (j + 1));
+ oSheet2.getCellByPosition (i, j).setValue (i * (j + 2));
+ }
+ }
+
+ oSheet.getCellByPosition (1, 1).setFormula ("aName");
+ oSheet.getCellByPosition (1, 2).setFormula ("otherName");
+ oSheet.getCellByPosition (1, 3).setFormula ("una");
+ oSheet.getCellByPosition (1, 4).setFormula ("otherName");
+ oSheet.getCellByPosition (1, 5).setFormula ("somethingelse");
+
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't fill some cells", e);
+ }
+
+ // change a value of a cell and check the change in the data pilot
+ // (for the XDataPilotTable.refresh() test)
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ Integer aChangeValue = null;
+
+ try
+ {
+ // cell of data
+ oChangeCell = oSheet.getCellByPosition (1, 5);
+
+ int x = sCellAdress.Column;
+ int y = sCellAdress.Row + 3;
+
+
+ // cell of the data pilot output
+ oCheckCell = oSheet.getCellByPosition (x, y);
+ aChangeValue = new Integer (27);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get cells for changeing.", e);
+ }
+
+
+ // create the test objects
+ log.println ("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier) UnoRuntime.queryInterface (
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables ();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor ();
+ DPDsc.setSourceRange (sCellRangeAdress);
+
+ XPropertySet fieldPropSet = null;
+
+ try
+ {
+ Object oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (0);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.ROW);
+ oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (1);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ oDataPilotField = DPDsc.getDataPilotFields ().getByIndex (2);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface (
+ XPropertySet.class, oDataPilotField);
+ fieldPropSet.setPropertyValue ("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.COLUMN);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't create a test environment", e);
+ }
+
+ log.println ("Insert the DataPilotTable");
+
+ if (DPT.hasByName ("DataPilotTable"))
+ {
+ DPT.removeByName ("DataPilotTable");
+ }
+
+ DPT.insertNewByName ("DataPilotTable", sCellAdress, DPDsc);
+ XIndexAccess xIA = (XIndexAccess) UnoRuntime.queryInterface (XIndexAccess.class,DPTS.getDataPilotTables ());
+ XIndexAccess IA = null;
+ try
+ {
+ XDataPilotDescriptor xDPT = (XDataPilotDescriptor) UnoRuntime.queryInterface (XDataPilotDescriptor.class,xIA.getByIndex (0));
+ IA = xDPT.getRowFields ();
+ //getSRange(IA);
+ System.out.println ("COUNT: "+IA.getCount ());
+ datapilotfield = (XInterface) AnyConverter.toObject (
+ new Type (XInterface.class), IA.getByIndex (0));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+
+ try
+ {
+ XDataPilotFieldGrouping dpfg = (XDataPilotFieldGrouping) UnoRuntime.queryInterface (XDataPilotFieldGrouping.class, datapilotfield);
+ String[] elements = new String[]{"aName","otherName"};
+ dpfg.createNameGroup (elements);
+ DataPilotFieldGroupInfo dpgi=null;
+ xIA = (XIndexAccess) UnoRuntime.queryInterface (XIndexAccess.class,DPTS.getDataPilotTables ());
+ try
+ {
+ XDataPilotDescriptor xDPT = (XDataPilotDescriptor) UnoRuntime.queryInterface (XDataPilotDescriptor.class,xIA.getByIndex (0));
+ IA = xDPT.getRowFields ();
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ catch (com.sun.star.lang.IndexOutOfBoundsException e)
+ {
+ e.printStackTrace ();
+ throw new StatusException ("Couldn't get data pilot field", e);
+ }
+ for (int i=0;i<IA.getCount ();i++)
+ {
+ datapilotfield = (XInterface) AnyConverter.toObject (
+ new Type (XInterface.class), IA.getByIndex (i));
+ XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface (XPropertySet.class, IA.getByIndex (i));
+ if (((Boolean)xPropertySet.getPropertyValue ("IsGroupField")).booleanValue ())
+ {
+ xPropertySet = (XPropertySet) UnoRuntime.queryInterface (XPropertySet.class, datapilotfield);
+ XNamed xNamed = (XNamed) UnoRuntime.queryInterface (XNamed.class, IA.getByIndex (i));
+ System.out.println ("name: "+xNamed.getName ());
+ dpgi = (DataPilotFieldGroupInfo) xPropertySet.getPropertyValue ("GroupInfo");
+ }
+ }
+ oObj = dpgi.Groups;
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace ();
+ }
+
+ log.println ("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment (oObj);
+
+ log.println ("Implementationname: " + util.utils.getImplName (oObj));
+
+ // Other parameters required for interface tests
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldObj.java
new file mode 100644
index 000000000000..c19e8dab3b36
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldObj.java
@@ -0,0 +1,396 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.DataPilotFieldOrientation;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::DataPilotField</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.sheet._DataPilotField
+* @see ifc.beans._XPropertySet
+*/
+public class ScDataPilotFieldObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table and inserts new data pilot table with this descriptor
+ * to the collection. Obtains the collection of all the data pilot fields
+ * using the interface <code>XDataPilotDescriptor</code>. Retrieves from
+ * the collection the data pilot field with index 0. This data pilot field
+ * is the instance of the service <code>com.sun.star.sheet.DataPilotField</code>.
+ * @see com.sun.star.sheet.DataPilotField
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ * @see com.sun.star.sheet.XDataPilotDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAdress = new CellRangeAddress();
+ sCellRangeAdress.Sheet = 0;
+ sCellRangeAdress.StartColumn = 1;
+ sCellRangeAdress.StartRow = 0;
+ sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAdress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAdress = new CellAddress();
+ sCellAdress.Sheet = 0;
+ sCellAdress.Column = 7;
+ sCellAdress.Row = 8;
+
+ log.println("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(1));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ try {
+ log.println("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ oSheet2.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet2.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ for (int j = 1; j < mMaxFieldIndex; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ oSheet2.getCellByPosition(i, j).setValue(i * (j + 2));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ // change a value of a cell and check the change in the data pilot
+ // (for the XDataPilotTable.refresh() test)
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ Integer aChangeValue = null;
+
+ try {
+ // cell of data
+ oChangeCell = oSheet.getCellByPosition(1, 5);
+
+ int x = sCellAdress.Column;
+ int y = sCellAdress.Row + 3;
+
+
+ // cell of the data pilot output
+ oCheckCell = oSheet.getCellByPosition(x, y);
+ aChangeValue = new Integer(27);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get cells for changeing.", e);
+ }
+
+
+ // create the test objects
+ log.println("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier) UnoRuntime.queryInterface(
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(sCellRangeAdress);
+
+ XPropertySet fieldPropSet = null;
+
+ try {
+ Object oDataPilotField = DPDsc.getDataPilotFields().getByIndex(0);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oDataPilotField);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ try {
+ fieldPropSet.setPropertyValue("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ log.println("Insert the DataPilotTable");
+
+ if (DPT.hasByName("DataPilotTable")) {
+ DPT.removeByName("DataPilotTable");
+ }
+
+ XIndexAccess IA = DPDsc.getDataPilotFields();
+ getSRange(IA);
+
+ DPT.insertNewByName("DataPilotTable", sCellAdress, DPDsc);
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), IA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ }
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ // Other parameters required for interface tests
+ return tEnv;
+ }
+
+ private void getSRange(XIndexAccess IA) {
+ int fieldsAmount = IA.getCount() + 1;
+
+ String[] fieldsNames = new String[fieldsAmount];
+
+ int i = -1;
+ int cnt = 0;
+
+ while ((++i) < fieldsAmount) {
+ Object field;
+
+ try {
+ field = IA.getByIndex(i);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ XNamed named = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ field);
+ String name = named.getName();
+
+ log.println("**Field : '" + name + "' ... ");
+
+ if (!name.equals("Data")) {
+ fieldsNames[cnt] = name;
+
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, field);
+
+ try {
+ switch (cnt % 5) {
+ case 0:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.COLUMN);
+ log.println(" Column");
+
+ break;
+
+ case 1:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.ROW);
+ log.println(" Row");
+
+ break;
+
+ case 2:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.DATA);
+ log.println(" Data");
+
+ break;
+
+ case 3:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.HIDDEN);
+ log.println(" Hidden");
+
+ break;
+
+ case 4:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.PAGE);
+ log.println(" Page");
+
+ break;
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ if ((++cnt) > 4) {
+ break;
+ }
+ } else {
+ return;
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldsObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldsObj.java
new file mode 100644
index 000000000000..a8de7196baba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotFieldsObj.java
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotFields</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotFields
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScDataPilotFieldsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table and inserts new data pilot table with this descriptor
+ * to the collection. Obtains the collection of all the data pilot fields
+ * using the interface <code>XDataPilotDescriptor</code>. This collection
+ * is the instance of the service <code>com.sun.star.sheet.DataPilotFields</code>.
+ * @see com.sun.star.sheet.DataPilotFields
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ * @see com.sun.star.sheet.XDataPilotDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // create testobject here
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ try {
+ log.println("Filing a table");
+ for (int i = 1; i < 4; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < 4; i++)
+ for (int j = 1; j < 4; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier)
+ UnoRuntime.queryInterface(XDataPilotTablesSupplier.class, oSheet);
+
+ log.println("Getting test object ") ;
+
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(new CellRangeAddress((short)0, 0, 0, 4, 4));
+ DPT.insertNewByName(
+ "DataPilotTable",
+ new CellAddress((short)0, 5, 5),
+ DPDsc);
+
+ oObj = DPDsc.getDataPilotFields();
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java
new file mode 100644
index 000000000000..c50a32775416
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java
@@ -0,0 +1,414 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.DataPilotFieldOrientation;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotField;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::DataPilotField</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.sheet._DataPilotField
+* @see ifc.beans._XPropertySet
+*/
+public class ScDataPilotItemObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table and inserts new data pilot table with this descriptor
+ * to the collection. Obtains the collection of all the data pilot fields
+ * using the interface <code>XDataPilotDescriptor</code>. Retrieves from
+ * the collection the data pilot field with index 0. This data pilot field
+ * is the instance of the service <code>com.sun.star.sheet.DataPilotField</code>.
+ * @see com.sun.star.sheet.DataPilotField
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ * @see com.sun.star.sheet.XDataPilotDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAdress = new CellRangeAddress();
+ sCellRangeAdress.Sheet = 0;
+ sCellRangeAdress.StartColumn = 1;
+ sCellRangeAdress.StartRow = 0;
+ sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAdress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAdress = new CellAddress();
+ sCellAdress.Sheet = 0;
+ sCellAdress.Column = 7;
+ sCellAdress.Row = 8;
+
+ log.println("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(1));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ try {
+ log.println("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ oSheet2.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet2.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ for (int j = 1; j < mMaxFieldIndex; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ oSheet2.getCellByPosition(i, j).setValue(i * (j + 2));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ // change a value of a cell and check the change in the data pilot
+ // (for the XDataPilotTable.refresh() test)
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ Integer aChangeValue = null;
+
+ try {
+ // cell of data
+ oChangeCell = oSheet.getCellByPosition(1, 5);
+
+ int x = sCellAdress.Column;
+ int y = sCellAdress.Row + 3;
+
+
+ // cell of the data pilot output
+ oCheckCell = oSheet.getCellByPosition(x, y);
+ aChangeValue = new Integer(27);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get cells for changeing.", e);
+ }
+
+
+ // create the test objects
+ log.println("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier) UnoRuntime.queryInterface(
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(sCellRangeAdress);
+
+ XPropertySet fieldPropSet = null;
+
+ try {
+ Object oDataPilotField = DPDsc.getDataPilotFields().getByIndex(0);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oDataPilotField);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ try {
+ fieldPropSet.setPropertyValue("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ log.println("Insert the DataPilotTable");
+
+ if (DPT.hasByName("DataPilotTable")) {
+ DPT.removeByName("DataPilotTable");
+ }
+
+ XIndexAccess IA = DPDsc.getDataPilotFields();
+ getSRange(IA);
+
+ DPT.insertNewByName("DataPilotTable", sCellAdress, DPDsc);
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), IA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ }
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ XDataPilotField xDataPilotField = (XDataPilotField) UnoRuntime.queryInterface(
+ XDataPilotField.class, oObj);
+
+ XIndexAccess xIA = xDataPilotField.getItems();
+
+ try {
+ oObj = (XInterface) UnoRuntime.queryInterface(XInterface.class,
+ xIA.getByIndex(0));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get DataPilotItemObj");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get DataPilotItemObj");
+ e.printStackTrace(log);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("NoSetName", "ScDataPilotItemObj");
+ return tEnv;
+ }
+
+ private void getSRange(XIndexAccess IA) {
+ int fieldsAmount = IA.getCount() + 1;
+
+ String[] fieldsNames = new String[fieldsAmount];
+
+ int i = -1;
+ int cnt = 0;
+
+ while ((++i) < fieldsAmount) {
+ Object field;
+
+ try {
+ field = IA.getByIndex(i);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ XNamed named = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ field);
+ String name = named.getName();
+
+ log.println("**Field : '" + name + "' ... ");
+
+ if (!name.equals("Data")) {
+ fieldsNames[cnt] = name;
+
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, field);
+
+ try {
+ switch (cnt % 5) {
+ case 0:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.COLUMN);
+ log.println(" Column");
+
+ break;
+
+ case 1:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.ROW);
+ log.println(" Row");
+
+ break;
+
+ case 2:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.DATA);
+ log.println(" Data");
+
+ break;
+
+ case 3:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.HIDDEN);
+ log.println(" Hidden");
+
+ break;
+
+ case 4:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.PAGE);
+ log.println(" Page");
+
+ break;
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ if ((++cnt) > 4) {
+ break;
+ }
+ } else {
+ return;
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotItemsObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotItemsObj.java
new file mode 100644
index 000000000000..ac9971b3c778
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotItemsObj.java
@@ -0,0 +1,402 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.DataPilotFieldOrientation;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotField;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::DataPilotField</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.sheet._DataPilotField
+* @see ifc.beans._XPropertySet
+*/
+public class ScDataPilotItemsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table and inserts new data pilot table with this descriptor
+ * to the collection. Obtains the collection of all the data pilot fields
+ * using the interface <code>XDataPilotDescriptor</code>. Retrieves from
+ * the collection the data pilot field with index 0. This data pilot field
+ * is the instance of the service <code>com.sun.star.sheet.DataPilotField</code>.
+ * @see com.sun.star.sheet.DataPilotField
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ * @see com.sun.star.sheet.XDataPilotDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAdress = new CellRangeAddress();
+ sCellRangeAdress.Sheet = 0;
+ sCellRangeAdress.StartColumn = 1;
+ sCellRangeAdress.StartRow = 0;
+ sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAdress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAdress = new CellAddress();
+ sCellAdress.Sheet = 0;
+ sCellAdress.Column = 7;
+ sCellAdress.Row = 8;
+
+ log.println("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(1));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ try {
+ log.println("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ oSheet2.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet2.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ for (int j = 1; j < mMaxFieldIndex; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ oSheet2.getCellByPosition(i, j).setValue(i * (j + 2));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ // change a value of a cell and check the change in the data pilot
+ // (for the XDataPilotTable.refresh() test)
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ Integer aChangeValue = null;
+
+ try {
+ // cell of data
+ oChangeCell = oSheet.getCellByPosition(1, 5);
+
+ int x = sCellAdress.Column;
+ int y = sCellAdress.Row + 3;
+
+
+ // cell of the data pilot output
+ oCheckCell = oSheet.getCellByPosition(x, y);
+ aChangeValue = new Integer(27);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get cells for changeing.", e);
+ }
+
+
+ // create the test objects
+ log.println("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier) UnoRuntime.queryInterface(
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(sCellRangeAdress);
+
+ XPropertySet fieldPropSet = null;
+
+ try {
+ Object oDataPilotField = DPDsc.getDataPilotFields().getByIndex(0);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oDataPilotField);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ try {
+ fieldPropSet.setPropertyValue("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ log.println("Insert the DataPilotTable");
+
+ if (DPT.hasByName("DataPilotTable")) {
+ DPT.removeByName("DataPilotTable");
+ }
+
+ XIndexAccess IA = DPDsc.getDataPilotFields();
+ getSRange(IA);
+
+ DPT.insertNewByName("DataPilotTable", sCellAdress, DPDsc);
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), IA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ }
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ XDataPilotField xDataPilotField = (XDataPilotField) UnoRuntime.queryInterface(
+ XDataPilotField.class, oObj);
+
+ oObj = xDataPilotField.getItems();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ // Other parameters required for interface tests
+ return tEnv;
+ }
+
+ private void getSRange(XIndexAccess IA) {
+ int fieldsAmount = IA.getCount() + 1;
+
+ String[] fieldsNames = new String[fieldsAmount];
+
+ int i = -1;
+ int cnt = 0;
+
+ while ((++i) < fieldsAmount) {
+ Object field;
+
+ try {
+ field = IA.getByIndex(i);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ XNamed named = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ field);
+ String name = named.getName();
+
+ log.println("**Field : '" + name + "' ... ");
+
+ if (!name.equals("Data")) {
+ fieldsNames[cnt] = name;
+
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, field);
+
+ try {
+ switch (cnt % 5) {
+ case 0:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.COLUMN);
+ log.println(" Column");
+
+ break;
+
+ case 1:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.ROW);
+ log.println(" Row");
+
+ break;
+
+ case 2:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.DATA);
+ log.println(" Data");
+
+ break;
+
+ case 3:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.HIDDEN);
+ log.println(" Hidden");
+
+ break;
+
+ case 4:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.PAGE);
+ log.println(" Page");
+
+ break;
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ if ((++cnt) > 4) {
+ break;
+ }
+ } else {
+ return;
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotTableObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotTableObj.java
new file mode 100644
index 000000000000..290c2d9c07b2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotTableObj.java
@@ -0,0 +1,355 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.TableFilterField;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSheetFilterDescriptor;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotTable</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::XDataPilotTable</code></li>
+* <li> <code>com::sun::star::sheet::XDataPilotDescriptor</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotTable
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.XDataPilotTable
+* @see com.sun.star.sheet.XDataPilotDescriptor
+* @see ifc.container._XNamed
+* @see ifc.sheet._XDataPilotTable
+* @see ifc.sheet._XDataPilotDescriptor
+*/
+public class ScDataPilotTableObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table. Obtains the collection of all the data pilot fields
+ * using the interface <code>XDataPilotDescriptor</code>. Sets field
+ * orientation for every of the data pilot fields. Sets the definitions of
+ * the filter fields for the created description. Inserts new data pilot
+ * table with this descriptor to the collection.
+ * This new data pilot table is the instance of the service
+ * <code>com.sun.star.sheet.DataPilotTable</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OUTPUTRANGE'</code> for
+ * {@link ifc.sheet._XDataPilotTable}(the cell range address of the
+ * created data pilot table) </li>
+ * <li> <code>'FIELDSAMOUNT'</code> for
+ * {@link ifc.sheet._XDataPilotDescriptor}(the number of filled fields
+ * which descriptor was created for) </li>
+ * <li> <code>'CELLFORCHANGE'</code> for
+ * {@link ifc.sheet._XDataPilotTable}(value of this cell will be changed)</li>
+ * <li> <code>'CELLFORCHECK'</code> for
+ * {@link ifc.sheet._XDataPilotTable}(value of this cell must be changed
+ * after refresh call)</li>
+ * </ul>
+ * @see com.sun.star.sheet.DataPilotTable
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ * @see com.sun.star.sheet.XDataPilotDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ CellAddress sCellAddress = new CellAddress();
+ sCellAddress.Sheet = 0;
+ sCellAddress.Column = 7;
+ sCellAddress.Row = 8;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = xSheetDoc.getSheets();
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ XSpreadsheet oSheet = null;
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ oChangeCell = oSheet.getCellByPosition(1, 5);
+ oCheckCell = oSheet.getCellByPosition(
+ sCellAddress.Column, sCellAddress.Row + 3);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+ log.println("Getting sheet - " + (oSheet == null ? "FAILED" : "OK"));
+ try {
+ log.println("Filing a table");
+ for (int i = 1; i < 6; i++) {
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ }
+
+ for (int i = 1; i < 6; i++)
+ for (int j = 1; j < 6; j++) {
+ oSheet.getCellByPosition(i, j).setValue(2.5 * j + i);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ CellRangeAddress sCellRangeAddress = new CellRangeAddress();
+ sCellRangeAddress.Sheet = 0;
+ sCellRangeAddress.StartColumn = 1;
+ sCellRangeAddress.StartRow = 0;
+ sCellRangeAddress.EndColumn = 5;
+ sCellRangeAddress.EndRow = 5;
+
+ TableFilterField[] filterFields = new TableFilterField[2];
+ filterFields[0] = new TableFilterField();
+ filterFields[0].Connection = com.sun.star.sheet.FilterConnection.AND;
+ filterFields[0].Field = 1;
+ filterFields[0].IsNumeric = true;
+ filterFields[0].NumericValue = 4;
+ filterFields[0].Operator = com.sun.star.sheet.FilterOperator.GREATER;
+ filterFields[1] = new TableFilterField();
+ filterFields[1].Connection = com.sun.star.sheet.FilterConnection.AND;
+ filterFields[1].Field = 1;
+ filterFields[1].IsNumeric = true;
+ filterFields[1].NumericValue = 12;
+ filterFields[1].Operator = com.sun.star.sheet.FilterOperator.LESS_EQUAL;
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier)
+ UnoRuntime.queryInterface(XDataPilotTablesSupplier.class, oSheet);
+ log.println("Getting test object");
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(sCellRangeAddress);
+
+ XSheetFilterDescriptor SFD = DPDsc.getFilterDescriptor();
+ SFD.setFilterFields(filterFields);
+
+ XPropertySet fieldPropSet = null;
+ try {
+ Object oDataPilotField = DPDsc.getDataPilotFields().getByIndex(0);
+ fieldPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oDataPilotField);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ try {
+ fieldPropSet.setPropertyValue("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ if (DPT.hasByName("DataPilotTable")) {
+ DPT.removeByName("DataPilotTable");
+ }
+ DPT.insertNewByName("DataPilotTable", sCellAddress, DPDsc);
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),DPT.getByName(DPT.getElementNames()[0]));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("OUTPUTRANGE", sCellAddress);
+ tEnv.addObjRelation("CELLFORCHANGE", oChangeCell);
+ tEnv.addObjRelation("CELLFORCHECK", oCheckCell);
+ tEnv.addObjRelation("FIELDSAMOUNT", new Integer(5));
+ tEnv.addObjRelation("SHEETDOCUMENT", xSheetDoc);
+
+ createTable2(oSheet, sCellRangeAddress, tEnv);
+
+ return tEnv;
+ }
+
+ /**
+ * Create a new DataPilot table output for use with testing XDataPilotTable2
+ * interface.
+ *
+ * @param oSheet current sheet instance
+ * @param srcRange source range
+ * @param tEnv test environment instance
+ */
+ private void createTable2(XSpreadsheet oSheet, CellRangeAddress srcRange, TestEnvironment tEnv)
+ {
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier)
+ UnoRuntime.queryInterface(XDataPilotTablesSupplier.class, oSheet);
+ log.println("Creating test table object");
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(srcRange);
+
+ XIndexAccess xIA = DPDsc.getDataPilotFields();
+ int fieldCount = xIA.getCount() - 1; // skip the last field because it's always hidden.
+ try
+ {
+ for (int i = 0; i < fieldCount; ++i)
+ {
+ Object o = xIA.getByIndex(i);
+ XPropertySet fieldPropSet = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, o);
+
+ if (i == fieldCount - 1)
+ {
+ // last field
+ fieldPropSet.setPropertyValue(
+ "Function", com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue(
+ "Orientation", com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ }
+ else if (i%2 == 0)
+ {
+ // even number fields
+ fieldPropSet.setPropertyValue(
+ "Orientation", com.sun.star.sheet.DataPilotFieldOrientation.COLUMN);
+ }
+ else if (i%2 == 1)
+ {
+ // odd number fields
+ fieldPropSet.setPropertyValue(
+ "Orientation", com.sun.star.sheet.DataPilotFieldOrientation.ROW);
+ }
+ }
+
+ if (DPT.hasByName("DataPilotTable2"))
+ DPT.removeByName("DataPilotTable2");
+
+ CellAddress destAddr = new CellAddress();
+ destAddr.Sheet = 0;
+ destAddr.Column = 0;
+ destAddr.Row = 14;
+ DPT.insertNewByName("DataPilotTable2", destAddr, DPDsc);
+
+ Object o = DPT.getByName("DataPilotTable2");
+ tEnv.addObjRelation("DATAPILOTTABLE2", o);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotTablesObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotTablesObj.java
new file mode 100644
index 000000000000..27ce48595b7c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotTablesObj.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotTables</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XDataPilotTables</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotTables
+* @see com.sun.star.sheet.XDataPilotTables
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.sheet._XDataPilotTables
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScDataPilotTablesObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table and inserts new data pilot table with this descriptor
+ * to the collection. The collection of data pilot tables is the instance of
+ * the service <code>com.sun.star.sheet.DataPilotTables</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SHEET'</code> for
+ * {@link ifc.sheet._XDataPilotTables}(the spreadsheet which
+ * the collection of data pilot tables was retrieved from) </li>
+ * </ul>
+ * @see com.sun.star.sheet.DataPilotTable
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // create testobject here
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+
+ try {
+ log.println("Filing a table");
+ for (int i = 1; i < 4; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < 4; i++)
+ for (int j = 1; j < 4; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier)
+ UnoRuntime.queryInterface(XDataPilotTablesSupplier.class, oSheet);
+
+ log.println("Getting test object ") ;
+
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(new CellRangeAddress((short)0, 0, 0, 4, 4));
+ DPT.insertNewByName(
+ "DataPilotTable",
+ new CellAddress((short)0, 5, 5),
+ DPDsc );
+
+ oObj = DPT;
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("SHEET", oSheet);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java b/qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java
new file mode 100644
index 000000000000..0b9a71c860a3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java
@@ -0,0 +1,258 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XCellRangeReferrer;
+import com.sun.star.sheet.XDatabaseRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XImportable;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DatabaseRange</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::DatabaseRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::sheet::XDatabaseRange</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeReferrer</code></li>
+* </ul>
+* @see com.sun.star.sheet.DatabaseRange
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.DatabaseRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.sheet.XDatabaseRange
+* @see com.sun.star.sheet.XCellRangeReferrer
+* @see ifc.container._XNamed
+* @see ifc.sheet._DatabaseRange
+* @see ifc.beans._XPropertySet
+* @see ifc.sheet._XDatabaseRange
+* @see ifc.sheet._XCellRangeReferrer
+*/
+public class ScDatabaseRangeObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of database ranges in the document.
+ * If the database range with name <code>'dbRange'</code> exists
+ * in the collection then removes it from the collection.
+ * Creates new database range and adds it to the collection with the name
+ * <code>'dbRange'</code>.The database range that was added to the collection
+ * is the instance of the service <code>com.sun.star.sheet.DatabaseRange</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DATAAREA'</code> for
+ * {@link ifc.sheet._XCellRangeReferrer}(of type
+ * <code>CellRangeAddress</code>)</li>
+ * <li> <code>'XCELLRANGE'</code> (of type <code>XCellRange</code>):
+ * cell range of the spreadsheet with database range</li>
+ * </ul>
+ * @see com.sun.star.sheet.DatabaseRange
+ * @see com.sun.star.table.CellRangeAddress
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ log.println("Getting test object ");
+
+ XPropertySet docProps = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, xSheetDoc);
+
+ XSpreadsheets sheets = xSheetDoc.getSheets();
+ String[] names = sheets.getElementNames();
+ XDatabaseRanges dbRanges = null;
+ XImportable xImp = null;
+
+ try {
+ Object sheet = sheets.getByName(names[0]);
+ xImp = (XImportable) UnoRuntime.queryInterface(XImportable.class,
+ sheet);
+ dbRanges = (XDatabaseRanges) AnyConverter.toObject(
+ new Type(XDatabaseRanges.class),
+ docProps.getPropertyValue("DatabaseRanges"));
+ _doImport(xImp);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a property", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a property", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a property", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e);
+ }
+
+ if (dbRanges.hasByName("dbRange")) {
+ dbRanges.removeByName("dbRange");
+ }
+
+ //CellRangeAddress aRange = new CellRangeAddress((short)0, 0, 0, 0, 13);
+ CellRangeAddress aRange = null;
+
+ //dbRanges.addNewByName("dbRange", aRange);
+ XNameAccess dbrNA = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class, dbRanges);
+ XNamed xNamed = null;
+
+ try {
+ String[] dbNames = dbrNA.getElementNames();
+ xNamed = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ dbrNA.getByName(
+ dbNames[0]));
+ xNamed.setName("dbRange");
+
+ XCellRangeReferrer aReferrer = (XCellRangeReferrer) UnoRuntime.queryInterface(
+ XCellRangeReferrer.class,
+ dbrNA.getByName("dbRange"));
+ XCellRangeAddressable aRangeA = (XCellRangeAddressable) UnoRuntime.queryInterface(
+ XCellRangeAddressable.class,
+ aReferrer.getReferredCells());
+ aRange = aRangeA.getRangeAddress();
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),
+ dbrNA.getByName("dbRange"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("DATAAREA", aRange);
+
+ XCellRange xCellRange = null;
+
+ try {
+ Object sheet = sheets.getByName(names[0]);
+ xCellRange = (XCellRange) UnoRuntime.queryInterface(
+ XCellRange.class, sheet);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting of first spreadsheet from spreadsheet" +
+ " document", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting of first spreadsheet from spreadsheet" +
+ " document", e);
+ }
+
+ tEnv.addObjRelation("XCELLRANGE", xCellRange);
+
+ return tEnv;
+ }
+
+ public void _doImport(XImportable imp) {
+ PropertyValue[] descriptor = imp.createImportDescriptor(false);
+
+ log.print("Setting the ImportDescriptor (Bibliograpy, SQL, select Identifier from biblio) -- ");
+ descriptor[0].Value = "Bibliography";
+ descriptor[1].Value = com.sun.star.sheet.DataImportMode.SQL;
+ descriptor[2].Value = "select Identifier from biblio";
+ log.println("done");
+
+ log.print("Importing data (Bibliograpy, Table, biblio) -- ");
+ imp.doImport(descriptor);
+ log.println("done");
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDatabaseRangesObj.java b/qadevOOo/tests/java/mod/_sc/ScDatabaseRangesObj.java
new file mode 100644
index 000000000000..1125628c357e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDatabaseRangesObj.java
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XDatabaseRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DatabaseRanges</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XDatabaseRanges</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.DatabaseRanges
+* @see com.sun.star.sheet.XDatabaseRanges
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.sheet._XDatabaseRanges
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScDatabaseRangesObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of database ranges in the document.
+ * If the database range with name <code>'dbRange'</code> doesn't exist
+ * in the collection then creates new database range and adds it to the
+ * collection with the name <code>'dbRange'</code> to have one element
+ * for the test of the interface <code>ElementAccess</code> at least.
+ * The collection of database ranges is the instance of the service
+ * <code>com.sun.star.sheet.DatabaseRanges</code>.
+ * @see com.sun.star.sheet.DatabaseRanges
+ * @see com.sun.star.container.XElementAccess
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ log.println("Getting test object ") ;
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+
+ XDatabaseRanges dbRanges = null;
+ try {
+ dbRanges = (XDatabaseRanges) AnyConverter.toObject(
+ new Type(XDatabaseRanges.class),
+ docProps.getPropertyValue("DatabaseRanges"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ }
+
+ log.println("Adding at least one element for ElementAccess interface");
+ CellRangeAddress aRange = new CellRangeAddress((short)0, 2, 4, 5, 6);
+ if (!dbRanges.hasByName("dbRange")) {
+ dbRanges.addNewByName("dbRange", aRange);
+ }
+
+ oObj = dbRanges;
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java b/qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java
new file mode 100644
index 000000000000..afcae57deb47
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+public class ScDocumentConfiguration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a sheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+ DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory docMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xSheetDoc);
+ Object oObj = null;
+
+ try {
+ oObj = docMSF.createInstance("com.sun.star.sheet.DocumentSettings");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Couldn't create document settings", e);
+ }
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment((XInterface) oObj);
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScDrawPageObj.java b/qadevOOo/tests/java/mod/_sc/ScDrawPageObj.java
new file mode 100644
index 000000000000..a01dd8441fc9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDrawPageObj.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScDrawPageObj extends TestCase {
+
+ static XSpreadsheetDocument xDoc = null;
+
+ /**
+ * Creates a new Draw document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document created before
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent xComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xDoc);
+ util.DesktopTools.closeDoc(xComp);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * From the Calc document created a collection of its draw
+ * pages is obtained. Two new pages are inserted. And one
+ * page is obtained as a testing component. A shape is added
+ * to this page. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeGrouper} :
+ * the draw page tested. </li>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes} :
+ * the creator which can create instances of
+ * <code>com.sun.star.drawing.Line</code> service </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null ;
+ XDrawPages oDP = null;
+
+ XComponent xComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xDoc);
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ log.println( "getting Drawpages" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class,xDoc);
+ oDP = (XDrawPages) oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDP.getByIndex(0));
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ oShape = SOF.createShape(xComp,5000,3500,7500,5000,"Rectangle");
+ DrawTools.getShapes((XDrawPage) oObj).add(oShape);
+ XShape oShape1 = SOF.createShape(xComp,
+ 5000,5500,5000,5000,"Rectangle");
+ DrawTools.getShapes((XDrawPage) oObj).add(oShape1);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create enviroment", e) ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create enviroment", e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create enviroment", e) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // relation for XShapes interface
+ ShapeDsc sDsc = new ShapeDsc(5000,3500,7500,10000,"Line");
+ tEnv.addObjRelation("Shape", new InstCreator(xDoc, sDsc)) ;
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ // adding relation for XShapeGrouper
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDrawPagesObj.java b/qadevOOo/tests/java/mod/_sc/ScDrawPagesObj.java
new file mode 100644
index 000000000000..ce766e056f66
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDrawPagesObj.java
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawPages</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::XDrawPageExpander</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::drawing::XDrawPageSummarizer</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XDrawPages</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawPages
+* @see com.sun.star.drawing.XDrawPageExpander
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.drawing.XDrawPageSummarizer
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XDrawPages
+* @see ifc.drawing._XDrawPageExpander
+* @see ifc.container._XIndexAccess
+* @see ifc.drawing._XDrawPageSummarizer
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XDrawPages
+*/
+public class ScDrawPagesObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of all drawpages in the document using the
+ * interface <code>XDrawPagesSupplier</code>. Creates and inserts two new
+ * drawPages into this collection. The retrieved collection is the instance
+ * of the service <code>com.sun.star.drawing.DrawPages</code>.
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ * @see com.sun.star.drawing.DrawPages
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+ XDrawPages oDP = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpages" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xSheetDoc);
+ oDP = (XDrawPages) oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ oObj = oDP;
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScDrawPagesObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScFilterDescriptorBase.java b/qadevOOo/tests/java/mod/_sc/ScFilterDescriptorBase.java
new file mode 100644
index 000000000000..2477eb8230d1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScFilterDescriptorBase.java
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetFilterable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetFilterDescriptor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XSheetFilterDescriptor</code></li>
+* <li> <code>com::sun::star::sheet::SheetFilterDescriptor</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetFilterDescriptor
+* @see com.sun.star.sheet.XSheetFilterDescriptor
+* @see com.sun.star.sheet.SheetFilterDescriptor
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._XSheetFilterDescriptor
+* @see ifc.sheet._SheetFilterDescriptor
+* @see ifc.beans._XPropertySet
+*/
+public class ScFilterDescriptorBase extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some cells in the spreadsheet.
+ * Creates the filter descriptor using the interface
+ * <code>XSheetFilterable</code>. This filter descriptor is the instance
+ * of the service <code>com.sun.star.sheet.SheetFilterDescriptor</code>.
+ * @see com.sun.star.sheet.XSheetFilterable
+ * @see com.sun.star.sheet.SheetFilterDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XSheetFilterable SF = null;
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while filling cells", e);
+ }
+
+ SF = (XSheetFilterable)
+ UnoRuntime.queryInterface(XSheetFilterable.class, oSheet);
+
+ oObj = SF.createFilterDescriptor(true);
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScFilterDescriptorBase
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScFunctionDescriptionObj.java b/qadevOOo/tests/java/mod/_sc/ScFunctionDescriptionObj.java
new file mode 100644
index 000000000000..9360a2301205
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScFunctionDescriptionObj.java
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+import java.util.Random;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScFunctionDescriptionObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.
+ queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ try {
+ log.println("Getting test object ") ;
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) Param.getMSF();
+
+ XInterface FDs = (XInterface)oDocMSF.
+ createInstance("com.sun.star.sheet.FunctionDescriptions");
+ XNameAccess NA = (XNameAccess)UnoRuntime.queryInterface
+ (XNameAccess.class, FDs);
+
+ String names[] = NA.getElementNames();
+ Random rnd = new Random();
+ int idx = rnd.nextInt(names.length);
+
+ oObj = (XInterface)NA.getByName(names[idx]);
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException
+ ("Error getting test object from spreadsheet document",e) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScFunctionListObj.java b/qadevOOo/tests/java/mod/_sc/ScFunctionListObj.java
new file mode 100644
index 000000000000..19762e3897e3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScFunctionListObj.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.FunctionDescriptions</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::sheet::XFunctionDescriptions</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.FunctionDescriptions
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.sheet.XFunctionDescriptions
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.sheet._XFunctionDescriptions
+* @see ifc.container._XElementAccess
+*/
+public class ScFunctionListObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sheet.FunctionDescriptions</code>.
+ * @see com.sun.star.sheet.FunctionDescriptions
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ log.println("Getting test object ") ;
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)Param.getMSF();
+ try {
+ oObj = (XInterface)oDocMSF.createInstance(
+ "com.sun.star.sheet.FunctionDescriptions");
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScHeaderFieldObj.java b/qadevOOo/tests/java/mod/_sc/ScHeaderFieldObj.java
new file mode 100644
index 000000000000..e8180fa2f255
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScHeaderFieldObj.java
@@ -0,0 +1,241 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.TextField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::text::XTextField</code></li>
+* <li> <code>com::sun::star::text::XTextContent</code></li>
+* <li> <code>com::sun::star::text::TextContent</code></li>
+* </ul>
+* @see com.sun.star.text.TextField
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.text.XTextField
+* @see com.sun.star.text.XTextContent
+* @see com.sun.star.text.TextContent
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.text._XTextField
+* @see ifc.text._XTextContent
+* @see ifc.text._TextContent
+*/
+public class ScHeaderFieldObj extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families available in the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains default style from the style family <code>'PageStyles'</code>.
+ * Retrieves the interface <code>XHeaderFooterContent</code> from the style
+ * using the property <code>'RightPageHeaderContent'</code>. Creates the
+ * instance of the service <code>com.sun.star.text.TextField.Time</code> and
+ * the instance of the service <code>com.sun.star.text.TextField.Date</code>
+ * Obtains the text (the interface <code>XText</code>) which is printed in
+ * the left part of the header or footer and inserts in it's content
+ * the second created instance.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CONTENT'</code> for
+ * {@link ifc.text._XTextContent}(the interface <code>XTextContent</code>
+ * that was queried from the second created instance) </li>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextContent}(the the text which is printed in the
+ * right part of the header or footer) </li>
+ * </ul>
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ * @see com.sun.star.sheet.XHeaderFooterContent
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.text.XTextContent
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+ XTextContent oContent = null;
+ XInterface aField = null;
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ try{
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Default"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ }
+
+ //get the property-set
+ PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ }
+
+ XText left = RPHC.getLeftText();
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xSpreadsheetDoc );
+
+ XTextContent the_Field = null;
+ try {
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.TextField.Time" );
+
+ the_Field = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+ aField = (XInterface)
+ oDocMSF.createInstance("com.sun.star.text.TextField.Date");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ oContent = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, aField);
+
+ XTextCursor the_Cursor = left.createTextCursor();
+
+ try {
+ left.insertTextContent(the_Cursor,the_Field, false);
+ PropSet.setPropertyValue("RightPageHeaderContent", RPHC);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("CONTENT",oContent);
+ tEnv.addObjRelation("TEXT", RPHC.getRightText());
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScHeaderFieldObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScHeaderFieldsObj.java b/qadevOOo/tests/java/mod/_sc/ScHeaderFieldsObj.java
new file mode 100644
index 000000000000..25cbc68fa9c4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScHeaderFieldsObj.java
@@ -0,0 +1,221 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by collection of
+ * text fields conained in the text of a page header. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::util::XRefreshable</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.util.XRefreshable
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.util._XRefreshable
+ * @see ifc.container._XElementAccess
+ */
+public class ScHeaderFieldsObj extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families available in the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains default style from the style family <code>'PageStyles'</code>.
+ * Retrieves the interface <code>XHeaderFooterContent</code> from the style
+ * using the property <code>'RightPageHeaderContent'</code>. Creates the
+ * instance of the service <code>com.sun.star.text.TextField.Time</code> .
+ * Obtains the text (the interface <code>XText</code>) which is printed in
+ * the left part of the header or footer and inserts in it's content
+ * the created field instance. Then the tested component is obtained
+ * through <code>XTextFieldsSupplier</code> interface of a text.
+ *
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ * @see com.sun.star.sheet.XHeaderFooterContent
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.text.XTextContent
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ try{
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Default"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ }
+
+ //get the property-set
+ PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ }
+
+ XText left = RPHC.getLeftText();
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xSpreadsheetDoc );
+
+ XTextContent the_Field = null;
+ try {
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.TextField.Time" );
+
+ the_Field = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XTextCursor the_Cursor = left.createTextCursor();
+
+ try {
+ left.insertTextContent(the_Cursor,the_Field, false);
+ PropSet.setPropertyValue("RightPageHeaderContent", RPHC);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ XTextFieldsSupplier xTFSupp = (XTextFieldsSupplier)
+ UnoRuntime.queryInterface(XTextFieldsSupplier.class, left);
+
+ oObj = xTFSupp.getTextFields();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScHeaderFooterContentObj.java b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterContentObj.java
new file mode 100644
index 000000000000..2d3719cf8fa4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterContentObj.java
@@ -0,0 +1,190 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.HeaderFooterContent</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XHeaderFooterContent</code></li>
+* </ul>
+* @see com.sun.star.sheet.HeaderFooterContent
+* @see com.sun.star.sheet.XHeaderFooterContent
+* @see ifc.sheet._XHeaderFooterContent
+*/
+public class ScHeaderFooterContentObj extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families available in the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains default style from the style family <code>'PageStyles'</code>.
+ * Retrieves value of the property <code>'RightPageHeaderContent'</code>.
+ * Sets some text for every part of header or footer using the interface
+ * <code>XHeaderFooterContent</code> and sets new value of the property
+ * <code>'RightPageHeaderContent'</code>. The value of this property is the
+ * instance of the service <code>com.sun.star.sheet.HeaderFooterContent</code>.
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ * @see com.sun.star.sheet.XHeaderFooterContent
+ * @see com.sun.star.sheet.HeaderFooterContent
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ try{
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Default"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ }
+
+ //get the property-set
+ PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ }
+
+ XText center = RPHC.getCenterText();
+ XText left = RPHC.getLeftText();
+ XText right = RPHC.getRightText();
+
+ center.setString("CENTER");
+ left.setString("LEFT");
+ right.setString("RIGHT");
+
+ try {
+ PropSet.setPropertyValue("RightPageHeaderContent", RPHC);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ }
+
+ // create testobject here
+ oObj = RPHC;
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScHeaderFooterContentObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java
new file mode 100644
index 000000000000..521d754da79a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.TextCursor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XTextCursor</code></li>
+* <li> <code>com::sun::star::text::XWordCursor</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::text::XSentenceCursor</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::text::XParagraphCursor</code></li>
+* <li> <code>com::sun::star::document::XDocumentInsertable</code></li>
+* <li> <code>com::sun::star::util::XSortable</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+* </ul>
+* @see com.sun.star.text.TextCursor
+* @see com.sun.star.text.XTextCursor
+* @see com.sun.star.text.XWordCursor
+* @see com.sun.star.style.CharacterPropertiesComplex
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XContentEnumerationAccess
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.text.XSentenceCursor
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.text.XParagraphCursor
+* @see com.sun.star.document.XDocumentInsertable
+* @see com.sun.star.util.XSortable
+* @see com.sun.star.style.CharacterPropertiesAsian
+* @see ifc.text._XTextCursor
+* @see ifc.text._XWordCursor
+* @see ifc.style._CharacterPropertiesComplex
+* @see ifc.text._XTextRange
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XContentEnumerationAccess
+* @see ifc.beans._XPropertyState
+* @see ifc.style._CharacterProperties
+* @see ifc.text._XSentenceCursor
+* @see ifc.style._ParagraphProperties
+* @see ifc.text._XParagraphCursor
+* @see ifc.document._XDocumentInsertable
+* @see ifc.util._XSortable
+* @see ifc.style._CharacterPropertiesAsian
+*/
+public class ScHeaderFooterTextCursor extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families available in the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains default style from the style family <code>'PageStyles'</code>.
+ * Retrieves value of the property <code>'RightPageHeaderContent'</code>.
+ * Sets some string for the text which is printed in the center part of the
+ * header or footer using the interface <code>XHeaderFooterContent</code>
+ * and sets new value of the property <code>'RightPageHeaderContent'</code>.
+ * Creates text cursor for the text which is printed in the center part of
+ * the header or footer. This text cursor is the instance of the service
+ * <code>com.sun.star.text.TextCursor</code>.
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ try{
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Default"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ }
+
+ //get the property-set
+ PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ }
+
+ XText center = RPHC.getCenterText();
+ center.setString("CENTER");
+
+ try {
+ PropSet.setPropertyValue("RightPageHeaderContent",RPHC);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ }
+
+ // create testobject here
+ oObj = center.createTextCursor();
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // add relation for XTextRange
+ tEnv.addObjRelation("XTEXT",
+ UnoRuntime.queryInterface(XText.class,center));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScHeaderFooterTextCursor
diff --git a/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java
new file mode 100644
index 000000000000..38495bbc8673
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java
@@ -0,0 +1,278 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.Text</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+* <li> <code>com::sun::star::text::XSimpleText</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+* <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::text::XText</code></li>
+* </ul>
+* @see com.sun.star.text.Text
+* @see com.sun.star.text.XTextRangeMover
+* @see com.sun.star.text.XSimpleText
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.text.XRelativeTextContentInsert
+* @see com.sun.star.text.XTextRangeCompare
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.text.XText
+* @see ifc.text._XTextRangeMover
+* @see ifc.text._XSimpleText
+* @see ifc.text._XTextRange
+* @see ifc.text._XRelativeTextContentInsert
+* @see ifc.text._XTextRangeCompare
+* @see ifc.container._XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.text._XText
+*/
+public class ScHeaderFooterTextObj extends TestCase {
+
+ static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families available in the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains default style from the style family <code>'PageStyles'</code>.
+ * Retrieves value of the property <code>'RightPageHeaderContent'</code>.
+ * Creates text cursor for the text which is printed in the center part of
+ * the header or footer using the interface <code>XHeaderFooterContent</code>.
+ * Insert some lines using the created cursor and sets new value of the
+ * property <code>'RightPageHeaderContent'</code>. The value of the property
+ * <code>'RightPageHeaderContent'</code> is the instance of the service
+ * <code>com.sun.star.text.Text</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'RangeForMove'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range to be moved)</li>
+ * <li> <code>'XTextRange'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range that includes moving
+ * range)</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert}(the instance creator
+ * which can create instances of some text content service)</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert}(the instance creator
+ * which can create instances of <code>com.sun.star.text.Paragraph</code>
+ * service)</li>
+ * </ul>
+ * @see com.sun.star.text.Text
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ try{
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Default"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ }
+
+ //get the property-set
+ PropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get HeaderContent", e);
+ }
+
+ XText center = RPHC.getCenterText();
+
+ XTextRange text_to_move = null;
+
+ log.println( "inserting some lines" );
+ try {
+ XTextCursor oCursor = center.createTextCursor();
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ center.insertString(oCursor,"Paragraph 1", false);
+ center.insertString(oCursor,": ScHeaderFooterTextObj", false);
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertString(oCursor, "THE QUICK BROWN FOX JUMPS OVER THE" +
+ " LAZY DOG: ScHeaderFooterTextObj", false );
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ oCursor.setString("TextForMove");
+ text_to_move = oCursor;
+
+ XTextCursor oCursor1 = center.createTextCursorByRange(center.getEnd());
+ center.insertString(oCursor1,"Paragraph 2", false);
+ center.insertString(oCursor1,": ScHeaderFooterTextObj", false);
+ center.insertControlCharacter(
+ oCursor1, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertString( oCursor1, "THE QUICK BROWN FOX JUMPS OVER THE" +
+ " LAZY DOG: ScHeaderFooterTextObj", false);
+ center.insertControlCharacter(
+ oCursor1, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertControlCharacter(
+ oCursor1, ControlCharacter.LINE_BREAK, false );
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert Text ", e);
+ }
+
+ try {
+ PropSet.setPropertyValue("RightPageHeaderContent", RPHC);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set HeaderContent", e);
+ }
+
+ // create testobject here
+ oObj = center;
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ DefaultDsc tDsc = new DefaultDsc(
+ "com.sun.star.text.XTextContent","com.sun.star.text.TextField.Time");
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation(
+ "XTEXTINFO", new InstCreator( xSpreadsheetDoc, tDsc ) );
+
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator(xSpreadsheetDoc, pDsc) );
+
+ log.println("adding TextRange for XTextRangeMover" );
+ tEnv.addObjRelation("RangeForMove", text_to_move);
+ tEnv.addObjRelation("XTextRange", RPHC.getCenterText());
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+} // finish class ScHeaderFooterTextObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScImportDescriptorBase.java b/qadevOOo/tests/java/mod/_sc/ScImportDescriptorBase.java
new file mode 100644
index 000000000000..a3bd6160657c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScImportDescriptorBase.java
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XImportable;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.sheet.DatabaseImportDescriptor
+ *
+ */
+public class ScImportDescriptorBase extends TestCase {
+
+ XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ XImportable xIMP = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+ if (xSpreadsheets == null) log.println("FAILED"); else log.println("OK");
+
+ log.println("getting a sheet");
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oObj = (XInterface) UnoRuntime.queryInterface(XInterface.class,oIndexAccess.getByIndex(0));
+ } catch (Exception e) {
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ xIMP = (XImportable) UnoRuntime.queryInterface(XImportable.class,oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("xIMP",xIMP);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScImportDescriptorBase
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAnnotationsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAnnotationsEnumeration.java
new file mode 100644
index 000000000000..33066b04432c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAnnotationsEnumeration.java
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetAnnotations;
+import com.sun.star.sheet.XSheetAnnotationsSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class ScIndexEnumeration_CellAnnotationsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while filling cells", e);
+ }
+
+ XSheetAnnotationsSupplier sas = (XSheetAnnotationsSupplier)
+ UnoRuntime.queryInterface(XSheetAnnotationsSupplier.class, oSheet);
+
+ XSheetAnnotations anno = sas.getAnnotations();
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class, anno);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAreaLinksEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAreaLinksEnumeration.java
new file mode 100644
index 000000000000..787c0e33881d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_CellAreaLinksEnumeration.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XAreaLinks;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_CellAreaLinksEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log){
+
+ XInterface oObj = null;
+ TestEnvironment tEnv = null ;
+
+ try {
+
+ // creation of testobject here
+ XPropertySet props = (XPropertySet)UnoRuntime.queryInterface
+ (XPropertySet.class, xSheetDoc);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),props.getPropertyValue("AreaLinks")) ;
+ XAreaLinks links = null ;
+
+ // adding one link into collection (for best testing)
+ links = (XAreaLinks) UnoRuntime.queryInterface(XAreaLinks.class, oObj) ;
+ CellAddress addr = new CellAddress ((short) 1,2,3) ;
+ String aSourceArea = util.utils.getFullTestURL("calcshapes.sxc");
+ links.insertAtPosition (addr, aSourceArea, "a2:b5", "", "") ;
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println ("Exception occured while creating test Object.") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ return tEnv ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DDELinksEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DDELinksEnumeration.java
new file mode 100644
index 000000000000..0406f914622c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DDELinksEnumeration.java
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_DDELinksEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+ static XComponent oDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document and testdocument.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.
+ queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // create testobject here
+
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)Param.getMSF();
+
+ // load the predefined testdocument
+ String testdoc = utils.getFullTestURL("ScDDELinksObj.sdc");
+ try {
+ oDoc = SOfficeFactory.getFactory(oMSF).loadDocument(testdoc);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't load test document", e);
+ }
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ testdoc = utils.getFullTestDocName("ScDDELinksObj.sdc");
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setFormula(
+ "=DDE(\"soffice\";\""+testdoc+"\";\"Sheet1.A1\"");
+ oSheet.getCellByPosition(1, 4).setFormula(
+ "=DDE(\"soffice\";\""+testdoc+"\";\"Sheet1.A1\"");
+ oSheet.getCellByPosition(2, 0).setFormula(
+ "=DDE(\"soffice\";\""+testdoc+"\";\"Sheet1.A1\"");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while filling cells", e);
+ }
+
+ try {
+ log.println("Getting test object ") ;
+
+ // Getting named ranges.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ oObj = (XInterface)AnyConverter.toObject(
+ new Type(XInterface.class),docProps.getPropertyValue("DDELinks"));
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e) ;
+ }
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotFieldsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotFieldsEnumeration.java
new file mode 100644
index 000000000000..955fb407b22e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotFieldsEnumeration.java
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_DataPilotFieldsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // create testobject here
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ try {
+ log.println("Filing a table");
+ for (int i = 1; i < 4; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < 4; i++)
+ for (int j = 1; j < 4; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier)
+ UnoRuntime.queryInterface(XDataPilotTablesSupplier.class, oSheet);
+
+ log.println("Getting test object ") ;
+
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(new CellRangeAddress((short)0, 0, 0, 4, 4));
+ DPT.insertNewByName(
+ "DataPilotTable",
+ new CellAddress((short)0, 5, 5),
+ DPDsc);
+
+ oObj = DPDsc.getDataPilotFields();
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotItemsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotItemsEnumeration.java
new file mode 100644
index 000000000000..5755966c0ed2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotItemsEnumeration.java
@@ -0,0 +1,408 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.DataPilotFieldOrientation;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotField;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::DataPilotField</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.sheet._DataPilotField
+* @see ifc.beans._XPropertySet
+*/
+public class ScIndexEnumeration_DataPilotItemsEnumeration
+ extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table and inserts new data pilot table with this descriptor
+ * to the collection. Obtains the collection of all the data pilot fields
+ * using the interface <code>XDataPilotDescriptor</code>. Retrieves from
+ * the collection the data pilot field with index 0. This data pilot field
+ * is the instance of the service <code>com.sun.star.sheet.DataPilotField</code>.
+ * @see com.sun.star.sheet.DataPilotField
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ * @see com.sun.star.sheet.XDataPilotDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAdress = new CellRangeAddress();
+ sCellRangeAdress.Sheet = 0;
+ sCellRangeAdress.StartColumn = 1;
+ sCellRangeAdress.StartRow = 0;
+ sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAdress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAdress = new CellAddress();
+ sCellAdress.Sheet = 0;
+ sCellAdress.Column = 7;
+ sCellAdress.Row = 8;
+
+ log.println("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(1));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ try {
+ log.println("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ oSheet2.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet2.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ for (int j = 1; j < mMaxFieldIndex; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ oSheet2.getCellByPosition(i, j).setValue(i * (j + 2));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ // change a value of a cell and check the change in the data pilot
+ // (for the XDataPilotTable.refresh() test)
+ Object oChangeCell = null;
+ Object oCheckCell = null;
+ Integer aChangeValue = null;
+
+ try {
+ // cell of data
+ oChangeCell = oSheet.getCellByPosition(1, 5);
+
+ int x = sCellAdress.Column;
+ int y = sCellAdress.Row + 3;
+
+
+ // cell of the data pilot output
+ oCheckCell = oSheet.getCellByPosition(x, y);
+ aChangeValue = new Integer(27);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get cells for changeing.", e);
+ }
+
+
+ // create the test objects
+ log.println("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier) UnoRuntime.queryInterface(
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(sCellRangeAdress);
+
+ XPropertySet fieldPropSet = null;
+
+ try {
+ Object oDataPilotField = DPDsc.getDataPilotFields().getByIndex(0);
+ fieldPropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oDataPilotField);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ try {
+ fieldPropSet.setPropertyValue("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't create a test environment", e);
+ }
+
+ log.println("Insert the DataPilotTable");
+
+ if (DPT.hasByName("DataPilotTable")) {
+ DPT.removeByName("DataPilotTable");
+ }
+
+ XIndexAccess IA = DPDsc.getDataPilotFields();
+ getSRange(IA);
+
+ DPT.insertNewByName("DataPilotTable", sCellAdress, DPDsc);
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), IA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't get data pilot field", e);
+ }
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ XDataPilotField xDataPilotField = (XDataPilotField) UnoRuntime.queryInterface(
+ XDataPilotField.class, oObj);
+
+ XEnumerationAccess xEnumerationAccess = (XEnumerationAccess) UnoRuntime.queryInterface(
+ XEnumerationAccess.class,
+ xDataPilotField.getItems());
+
+ oObj = xEnumerationAccess.createEnumeration();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ // Other parameters required for interface tests
+ return tEnv;
+ }
+
+ private void getSRange(XIndexAccess IA) {
+ int fieldsAmount = IA.getCount() + 1;
+
+ String[] fieldsNames = new String[fieldsAmount];
+
+ int i = -1;
+ int cnt = 0;
+
+ while ((++i) < fieldsAmount) {
+ Object field;
+
+ try {
+ field = IA.getByIndex(i);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ XNamed named = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ field);
+ String name = named.getName();
+
+ log.println("**Field : '" + name + "' ... ");
+
+ if (!name.equals("Data")) {
+ fieldsNames[cnt] = name;
+
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, field);
+
+ try {
+ switch (cnt % 5) {
+ case 0:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.COLUMN);
+ log.println(" Column");
+
+ break;
+
+ case 1:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.ROW);
+ log.println(" Row");
+
+ break;
+
+ case 2:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.DATA);
+ log.println(" Data");
+
+ break;
+
+ case 3:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.HIDDEN);
+ log.println(" Hidden");
+
+ break;
+
+ case 4:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.PAGE);
+ log.println(" Page");
+
+ break;
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ if ((++cnt) > 4) {
+ break;
+ }
+ } else {
+ return;
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotTablesEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotTablesEnumeration.java
new file mode 100644
index 000000000000..652623f2ef74
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DataPilotTablesEnumeration.java
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_DataPilotTablesEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // create testobject here
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ try {
+ log.println("Filing a table");
+ for (int i = 1; i < 4; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < 4; i++)
+ for (int j = 1; j < 4; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't fill some cells", e);
+ }
+
+ XDataPilotTablesSupplier DPTS = (XDataPilotTablesSupplier)
+ UnoRuntime.queryInterface(XDataPilotTablesSupplier.class, oSheet);
+
+ log.println("Getting test object ") ;
+
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(new CellRangeAddress((short)0, 0, 0, 4, 4));
+ DPT.insertNewByName(
+ "DataPilotTable",
+ new CellAddress((short)0, 5, 5),
+ DPDsc );
+
+ oObj = DPT;
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DatabaseRangesEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DatabaseRangesEnumeration.java
new file mode 100644
index 000000000000..314c5884952b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_DatabaseRangesEnumeration.java
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XDatabaseRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class ScIndexEnumeration_DatabaseRangesEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ log.println("Getting test object ") ;
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+
+ XDatabaseRanges dbRanges = null;
+ try {
+ dbRanges = (XDatabaseRanges) AnyConverter.toObject(
+ new Type(XDatabaseRanges.class),
+ docProps.getPropertyValue("DatabaseRanges"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ }
+
+ log.println("Adding at least one element for ElementAccess interface");
+ CellRangeAddress aRange = new CellRangeAddress((short)0, 2, 4, 5, 6);
+ if (!dbRanges.hasByName("dbRange")) {
+ dbRanges.addNewByName("dbRange", aRange);
+ }
+
+ oObj = dbRanges;
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_FunctionDescriptionEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_FunctionDescriptionEnumeration.java
new file mode 100644
index 000000000000..017920b57d02
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_FunctionDescriptionEnumeration.java
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_FunctionDescriptionEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ log.println("Getting test object ") ;
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)Param.getMSF();
+ try {
+ oObj = (XInterface)oDocMSF.createInstance(
+ "com.sun.star.sheet.FunctionDescriptions");
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document", e);
+ }
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_LabelRangesEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_LabelRangesEnumeration.java
new file mode 100644
index 000000000000..6a07462a0df9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_LabelRangesEnumeration.java
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XLabelRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_LabelRangesEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ try {
+ log.println("Getting test object ") ;
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ Object ranges = docProps.getPropertyValue("ColumnLabelRanges");
+ XLabelRanges lRanges = (XLabelRanges)
+ UnoRuntime.queryInterface(XLabelRanges.class, ranges);
+
+ log.println("Adding at least one element for ElementAccess interface");
+ CellRangeAddress aRange2 = new CellRangeAddress((short)0, 0, 1, 0, 6);
+ CellRangeAddress aRange1 = new CellRangeAddress((short)0, 0, 0, 0, 1);
+ lRanges.addNew(aRange1, aRange2);
+
+ oObj = lRanges;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ }
+
+ log.println("creating a new environment for object");
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_NamedRangesEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_NamedRangesEnumeration.java
new file mode 100644
index 000000000000..080a454fac51
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_NamedRangesEnumeration.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XNamedRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_NamedRangesEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ log.println("Getting test object ");
+
+ // Getting named ranges.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ Object ranges = null;
+ try {
+ ranges = docProps.getPropertyValue("NamedRanges");
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get NamedRanges", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get NamedRanges", e);
+ }
+
+ XNamedRanges xNamedRanges = (XNamedRanges)
+ UnoRuntime.queryInterface(XNamedRanges.class, ranges);
+
+ CellRangeAddress DataArea = new CellRangeAddress((short)0, 0, 0, 2, 2);
+ CellAddress base = new CellAddress(DataArea.Sheet,
+ DataArea.StartColumn,
+ DataArea.StartRow);
+
+ xNamedRanges.addNewByName("ANamedRange", "A1:B2", base, 0);
+
+ CellAddress listOutputPosition = new CellAddress((short)0, 1, 1);
+ xNamedRanges.outputList(listOutputPosition);
+
+ oObj = xNamedRanges;
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_ScenariosEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_ScenariosEnumeration.java
new file mode 100644
index 000000000000..f8ca5d66c8b3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_ScenariosEnumeration.java
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XScenariosSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_ScenariosEnumeration extends TestCase {
+ public static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't fill some cell", e);
+ }
+
+ XScenariosSupplier xSupp = (XScenariosSupplier)
+ UnoRuntime.queryInterface(XScenariosSupplier.class, oSheet);
+ XCellRange oRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ XCellRange myRange = oRange.getCellRangeByName("A1:N4");
+ XCellRangeAddressable oRangeAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
+ CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
+
+ CellRangeAddress[] oAddr = new CellRangeAddress[1];
+ oAddr[0] = myAddr;
+
+ xSupp.getScenarios().addNewByName("ScScenarios", oAddr, "Range");
+
+ XInterface oObj = xSupp.getScenarios();
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetCellRangesEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetCellRangesEnumeration.java
new file mode 100644
index 000000000000..5001a02da185
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetCellRangesEnumeration.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_SheetCellRangesEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp =
+ (XComponent) UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oRange = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+
+ log.println("Getting test object ");
+
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+
+ oObj = (XInterface)
+ SOF.createInstance(oComp, "com.sun.star.sheet.SheetCellRanges");
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndSheets = (XIndexAccess)
+ UnoRuntime.queryInterface (XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = null;
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndSheets.getByIndex(0));
+ XNameContainer oRanges = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oObj);
+
+ oRange = oSheet.getCellRangeByName("C1:D4");
+ oRanges.insertByName("Range1", oRange);
+ oRange = oSheet.getCellRangeByName("E2:F5");
+ oRanges.insertByName("Range2", oRange);
+ oRange = oSheet.getCellRangeByName("G2:H3");
+ oRanges.insertByName("Range3", oRange);
+ oRange = oSheet.getCellRangeByName("I7:J8");
+ oRanges.insertByName("Range4", oRange);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ for (int i = 0; i < 10; i++) {
+ for (int j = 0; j < 5; j++) {
+ oSheet.getCellByPosition(i, j).setFormula("a");
+ }
+ }
+ for (int i = 0; i < 10; i++) {
+ for (int j = 5; j < 10; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i + j);
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException (
+ "Exception occurred while filling cells", e);
+ }
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetLinksEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetLinksEnumeration.java
new file mode 100644
index 000000000000..e91b153dcbab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SheetLinksEnumeration.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetLinkable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_SheetLinksEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+ XSpreadsheet oSheet = null;
+
+ log.println("Getting test object ") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ XSheetLinkable SL = (XSheetLinkable)
+ UnoRuntime.queryInterface(XSheetLinkable.class, oSheet);
+
+ // creating link.
+ String aSourceArea = util.utils.getFullTestURL("calcshapes.sxc");
+ SL.link(aSourceArea, "Sheet1", "", "",
+ com.sun.star.sheet.SheetLinkMode.VALUE);
+
+ // Getting links.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+
+ Object links = null;
+ try {
+ links = docProps.getPropertyValue("SheetLinks");
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SheetLinks", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SheetLinks", e);
+ }
+
+ oObj = (XInterface)UnoRuntime.queryInterface(XInterface.class, links);
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration.java
new file mode 100644
index 000000000000..d369c81ec336
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetViewPanesEnumeration.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_SpreadsheetViewPanesEnumeration extends TestCase {
+ private static XSpreadsheetDocument xSpreadsheetDoc;
+ private static SOfficeFactory SOF;
+ private static XInterface oObj;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // get a soffice factory object
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println("disposing xSpreadsheetDocument");
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XModel xm = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+ XController xc = xm.getCurrentController();
+ XIndexAccess xIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xc);
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xIA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,xIA);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetsEnumeration.java
new file mode 100644
index 000000000000..325472ed724a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SpreadsheetsEnumeration.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_SpreadsheetsEnumeration extends TestCase {
+ private static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // get a soffice factory object
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println("disposing xSpreadsheetDocument");
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ XInterface oObj = (XInterface)
+ UnoRuntime.queryInterface(XInterface.class, xSpreadsheets);
+
+ log.println("creating a new environment for object");
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SubTotalFieldsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SubTotalFieldsEnumeration.java
new file mode 100644
index 000000000000..83c3b22e9f70
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_SubTotalFieldsEnumeration.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.SubTotalColumn;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.sheet.XSubTotalCalculatable;
+import com.sun.star.sheet.XSubTotalDescriptor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_SubTotalFieldsEnumeration extends TestCase {
+ public static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ XSubTotalCalculatable xSTC = (XSubTotalCalculatable)
+ UnoRuntime.queryInterface(XSubTotalCalculatable.class, oSheet);
+
+ XSubTotalDescriptor xSTD = xSTC.createSubTotalDescriptor(true);
+
+ SubTotalColumn[] columns = new SubTotalColumn[1];
+ SubTotalColumn column = new SubTotalColumn();
+ column.Column = 5;
+ column.Function = GeneralFunction.SUM;
+ columns[0] = column;
+ xSTD.addNew(columns, 1);
+
+ XIndexAccess oDescIndex = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSTD);
+
+ XInterface oObj = null;
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oDescIndex);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableAutoFormatEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableAutoFormatEnumeration.java
new file mode 100644
index 000000000000..a399e095fed8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableAutoFormatEnumeration.java
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_TableAutoFormatEnumeration extends TestCase{
+ static XSpreadsheetDocument xSheetDoc = null;
+ static SOfficeFactory SOF = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ try {
+ // creation of testobject here
+ // get AutoFormats
+ oObj = (XInterface)((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.sheet.TableAutoFormats");
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println ("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+ }
+
+} // finish class ScAutoFormatsObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableChartsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableChartsEnumeration.java
new file mode 100644
index 000000000000..f1beaf8ad87b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableChartsEnumeration.java
@@ -0,0 +1,238 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XTableCharts;
+import com.sun.star.table.XTableChartsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_TableChartsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XSpreadsheet oSheet=null;
+
+ try {
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't get Sheet ");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ }
+
+ log.println("Creating the Header") ;
+
+ insertIntoCell(1,0,"JAN",oSheet,"");
+ insertIntoCell(2,0,"FEB",oSheet,"");
+ insertIntoCell(3,0,"MAR",oSheet,"");
+ insertIntoCell(4,0,"APR",oSheet,"");
+ insertIntoCell(5,0,"MAI",oSheet,"");
+ insertIntoCell(6,0,"JUN",oSheet,"");
+ insertIntoCell(7,0,"JUL",oSheet,"");
+ insertIntoCell(8,0,"AUG",oSheet,"");
+ insertIntoCell(9,0,"SEP",oSheet,"");
+ insertIntoCell(10,0,"OCT",oSheet,"");
+ insertIntoCell(11,0,"NOV",oSheet,"");
+ insertIntoCell(12,0,"DEC",oSheet,"");
+ insertIntoCell(13,0,"SUM",oSheet,"");
+
+ log.println("Fill the lines");
+
+ insertIntoCell(0,1,"Smith",oSheet,"");
+ insertIntoCell(1,1,"42",oSheet,"V");
+ insertIntoCell(2,1,"58.9",oSheet,"V");
+ insertIntoCell(3,1,"-66.5",oSheet,"V");
+ insertIntoCell(4,1,"43.4",oSheet,"V");
+ insertIntoCell(5,1,"44.5",oSheet,"V");
+ insertIntoCell(6,1,"45.3",oSheet,"V");
+ insertIntoCell(7,1,"-67.3",oSheet,"V");
+ insertIntoCell(8,1,"30.5",oSheet,"V");
+ insertIntoCell(9,1,"23.2",oSheet,"V");
+ insertIntoCell(10,1,"-97.3",oSheet,"V");
+ insertIntoCell(11,1,"22.4",oSheet,"V");
+ insertIntoCell(12,1,"23.5",oSheet,"V");
+ insertIntoCell(13,1,"=SUM(B2:M2)",oSheet,"");
+
+ insertIntoCell(0,2,"Jones",oSheet,"");
+ insertIntoCell(1,2,"21",oSheet,"V");
+ insertIntoCell(2,2,"40.9",oSheet,"V");
+ insertIntoCell(3,2,"-57.5",oSheet,"V");
+ insertIntoCell(4,2,"-23.4",oSheet,"V");
+ insertIntoCell(5,2,"34.5",oSheet,"V");
+ insertIntoCell(6,2,"59.3",oSheet,"V");
+ insertIntoCell(7,2,"27.3",oSheet,"V");
+ insertIntoCell(8,2,"-38.5",oSheet,"V");
+ insertIntoCell(9,2,"43.2",oSheet,"V");
+ insertIntoCell(10,2,"57.3",oSheet,"V");
+ insertIntoCell(11,2,"25.4",oSheet,"V");
+ insertIntoCell(12,2,"28.5",oSheet,"V");
+ insertIntoCell(13,2,"=SUM(B3:M3)",oSheet,"");
+
+ insertIntoCell(0,3,"Brown",oSheet,"");
+ insertIntoCell(1,3,"31.45",oSheet,"V");
+ insertIntoCell(2,3,"-20.9",oSheet,"V");
+ insertIntoCell(3,3,"-117.5",oSheet,"V");
+ insertIntoCell(4,3,"23.4",oSheet,"V");
+ insertIntoCell(5,3,"-114.5",oSheet,"V");
+ insertIntoCell(6,3,"115.3",oSheet,"V");
+ insertIntoCell(7,3,"-171.3",oSheet,"V");
+ insertIntoCell(8,3,"89.5",oSheet,"V");
+ insertIntoCell(9,3,"41.2",oSheet,"V");
+ insertIntoCell(10,3,"71.3",oSheet,"V");
+ insertIntoCell(11,3,"25.4",oSheet,"V");
+ insertIntoCell(12,3,"38.5",oSheet,"V");
+ insertIntoCell(13,3,"=SUM(A4:L4)",oSheet,"");
+
+ // insert a chart
+ Rectangle oRect = new Rectangle(500, 3000, 25000, 11000);
+
+ XCellRange oRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ XCellRange myRange = oRange.getCellRangeByName("A1:N4");
+ XCellRangeAddressable oRangeAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
+ CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
+
+ CellRangeAddress[] oAddr = new CellRangeAddress[1];
+ oAddr[0] = myAddr;
+ XTableChartsSupplier oSupp = (XTableChartsSupplier)
+ UnoRuntime.queryInterface(XTableChartsSupplier.class, oSheet);
+
+
+ log.println("Insert Chart");
+ XTableCharts oCharts = oSupp.getCharts();
+ oCharts.addNewByName("ScChartObj", oRect, oAddr, true, true);
+
+ log.println("creating a new environment for object");
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oCharts);
+
+ XInterface oObj = ea.createEnumeration();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+// tEnv.addObjRelation("RECT", oRect);
+// tEnv.addObjRelation("ADDR", oAddr);
+
+ return tEnv;
+ }
+
+ /**
+ * Inserts a value or a formula in the cell of the spreasheet.
+ * @param CellX is the column index of the cell
+ * @param CellY is the row index of the cell
+ * @param theValue string representation of the value
+ * @param TT1 specify the spreadsheet, the interface
+ * <code>com.sun.star.sheet.XSpreadsheet</code>
+ * @param flag if it's equal to <code>'V'</code> then the method inserts
+ * a double-value in the cell else it inserts a formula in the cell
+ */
+ public static void insertIntoCell(
+ int CellX, int CellY, String theValue, XSpreadsheet TT1, String flag) {
+
+ XCell oCell = null;
+
+ try {
+ oCell = TT1.getCellByPosition(CellX, CellY);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ System.out.println("Could not get Cell");
+ }
+
+ if (flag.equals("V")) {
+ oCell.setValue(new Float(theValue).floatValue());
+ } else {
+ oCell.setFormula(theValue);
+ }
+
+ } // end of insertIntoCell
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableColumnsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableColumnsEnumeration.java
new file mode 100644
index 000000000000..d6e3267daf0f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableColumnsEnumeration.java
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_TableColumnsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("craeting a test environment");
+
+ log.println("getting column");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XNameAccess oNames = (XNameAccess)
+ UnoRuntime.queryInterface( XNameAccess.class, xSpreadsheets );
+ XSpreadsheet xSpreadsheet = null;
+ try {
+ xSpreadsheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ }
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, xSpreadsheet);
+ XTableColumns oColumns = (XTableColumns) oColumnRowRange.getColumns();
+ oObj = oColumns;
+
+ log.println("creating a new environment for object");
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableConditionalEntryEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableConditionalEntryEnumeration.java
new file mode 100644
index 000000000000..13c5a2939703
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableConditionalEntryEnumeration.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.ConditionOperator;
+import com.sun.star.sheet.XSheetConditionalEntries;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_TableConditionalEntryEnumeration extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while filling cells");
+ e.printStackTrace(log);
+ }
+
+ Object CFormat = null;
+ XPropertySet Props = null;
+
+ try {
+ Props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oSheet);
+ CFormat = Props.getPropertyValue("ConditionalFormat");
+ if (utils.isVoid(CFormat)) {
+ log.println("Property 'ConditionalFormat' is void");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ try {
+ XSheetConditionalEntries xSCE = (XSheetConditionalEntries)
+ UnoRuntime.queryInterface(XSheetConditionalEntries.class, CFormat);
+ xSCE.addNew(Conditions());
+ Props.setPropertyValue("ConditionalFormat", xSCE);
+ oObj = xSCE;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ }
+
+ log.println("creating a new environment for object");
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Returns the array of the property values that was filled by condition
+ * values.
+ */
+ protected PropertyValue[] Conditions() {
+ PropertyValue[] con = new PropertyValue[5];
+ CellAddress ca = new CellAddress();
+ ca.Column = 1;
+ ca.Row = 5;
+ ca.Sheet = 0;
+ con[0] = new PropertyValue();
+ con[0].Name = "StyleName";
+ con[0].Value = "Result2";
+ con[1] = new PropertyValue();
+ con[1].Name = "Formula1";
+ con[1].Value = "$Sheet1.$B$5";
+ con[2] = new PropertyValue();
+ con[2].Name = "Formula2";
+ con[2].Value = "";
+ con[3] = new PropertyValue();
+ con[3].Name = "Operator";
+ con[3].Value = ConditionOperator.EQUAL;
+ con[4] = new PropertyValue();
+ con[4].Name = "SourcePosition";
+ con[4].Value = ca;
+ return con;
+ }
+
+} // finish class ScTableConditionalEntry
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableRowsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableRowsEnumeration.java
new file mode 100644
index 000000000000..52e362fab9aa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TableRowsEnumeration.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableRows;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScIndexEnumeration_TableRowsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println("getting row");
+ XSpreadsheet xSpreadsheet = null;
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XNameAccess oNames = (XNameAccess)
+ UnoRuntime.queryInterface( XNameAccess.class, xSpreadsheets );
+ try {
+ xSpreadsheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ }
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, xSpreadsheet);
+
+ XTableRows oRows = (XTableRows) oColumnRowRange.getRows();
+ oObj = oRows;
+
+ log.println("creating a new environment for object");
+
+ XEnumerationAccess ea = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class,oObj);
+
+ oObj = ea.createEnumeration();
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ // creating test environment
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM",ea);
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TextFieldEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TextFieldEnumeration.java
new file mode 100644
index 000000000000..6f1c23f614ce
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScIndexEnumeration_TextFieldEnumeration.java
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object that represents enumeration of a colection
+ * of text fields in a cell of a spreadsheet. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumeration</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XEnumeration
+ * @see ifc.container._XEnumeration
+ */
+public class ScIndexEnumeration_TextFieldEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.TextField.URL</code>, inserts it to the content
+ * of the cell in the spreadsheet. Then the component is obtained
+ * by <code>XTextFieldsSupplier</code> interface of a cell
+ * and <code>XEnumerationSupplier</code> interface .<p>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XText oText = null;
+ XTextContent oContent = null;
+ XInterface aField = null;
+ XTextFieldsSupplier xTextFieldsSupp = null;
+
+ try {
+ // we want to create an instance of ScCellFieldObj.
+ // to do this we must get an MultiServiceFactory.
+
+ XMultiServiceFactory _oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xSheetDoc);
+
+ aField = (XInterface)
+ _oMSF.createInstance("com.sun.star.text.TextField.URL");
+ oContent = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, aField);
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ XCell oCell = oSheet.getCellByPosition(2,3);
+ oText = (XText)UnoRuntime.queryInterface(XText.class, oCell);
+
+ oText.insertTextContent(
+ oText.createTextCursor(), oContent, true);
+
+ xTextFieldsSupp = (XTextFieldsSupplier)
+ UnoRuntime.queryInterface(XTextFieldsSupplier.class, oCell);
+
+ oObj = xTextFieldsSupp.getTextFields().createEnumeration();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occured while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test object", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ tEnv.addObjRelation("ENUM", xTextFieldsSupp.getTextFields());
+
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScLabelRangeObj.java b/qadevOOo/tests/java/mod/_sc/ScLabelRangeObj.java
new file mode 100644
index 000000000000..59e7850f15fc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScLabelRangeObj.java
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XLabelRange;
+import com.sun.star.sheet.XLabelRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.LabelRange</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XLabelRange</code></li>
+* </ul>
+* @see com.sun.star.sheet.LabelRange
+* @see com.sun.star.sheet.XLabelRange
+* @see ifc.sheet._XLabelRange
+*/
+public class ScLabelRangeObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Obtains the value of the property <code>'ColumnLabelRanges'</code>
+ * from the document. The property value is the collection of label ranges.
+ * Adds new label range to the collection using the interface
+ * <code>XLabelRanges</code> that was queried from the property value.
+ * Retrieved from the collection the label range with index 0.
+ * The retrieved label range is the instance of the service
+ * <code>com.sun.star.sheet.LabelRange</code>.
+ * @see com.sun.star.sheet.LabelRange
+ * @see com.sun.star.sheet.XLabelRanges
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ try {
+ log.println("Getting test object ") ;
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ Object ranges = docProps.getPropertyValue("ColumnLabelRanges");
+ XLabelRanges lRanges = (XLabelRanges)
+ UnoRuntime.queryInterface(XLabelRanges.class, ranges);
+
+ log.println("Adding at least one element for ElementAccess interface");
+ CellRangeAddress aRange2 = new CellRangeAddress((short)0, 0, 1, 0, 6);
+ CellRangeAddress aRange1 = new CellRangeAddress((short)0, 0, 0, 0, 1);
+ lRanges.addNew(aRange1, aRange2);
+
+ oObj = (XLabelRange) AnyConverter.toObject(
+ new Type(XLabelRange.class),lRanges.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e) ;
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("testing...");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScLabelRangeObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScLabelRangesObj.java b/qadevOOo/tests/java/mod/_sc/ScLabelRangesObj.java
new file mode 100644
index 000000000000..c1e3b57e2b63
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScLabelRangesObj.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XLabelRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.LabelRanges</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XLabelRanges</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.LabelRanges
+* @see com.sun.star.sheet.XLabelRanges
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.sheet._XLabelRanges
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScLabelRangesObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Obtains the value of the property <code>'ColumnLabelRanges'</code>
+ * from the document. The property value is the collection of label ranges.
+ * Adds new label range to the collection using the interface
+ * <code>XLabelRanges</code> that was queried from the property value.
+ * This collection is the instance of the service
+ * <code>com.sun.star.sheet.LabelRanges</code>.
+ * @see com.sun.star.sheet.LabelRanges
+ * @see com.sun.star.sheet.XLabelRanges
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ try {
+ log.println("Getting test object ") ;
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ Object ranges = docProps.getPropertyValue("ColumnLabelRanges");
+ XLabelRanges lRanges = (XLabelRanges)
+ UnoRuntime.queryInterface(XLabelRanges.class, ranges);
+
+ log.println("Adding at least one element for ElementAccess interface");
+ CellRangeAddress aRange2 = new CellRangeAddress((short)0, 0, 1, 0, 6);
+ CellRangeAddress aRange1 = new CellRangeAddress((short)0, 0, 0, 0, 1);
+ lRanges.addNew(aRange1, aRange2);
+
+ oObj = lRanges;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ throw new StatusException(
+ "Error getting test object from spreadsheet document",e);
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("testing...");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScLabelRangesObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScModelObj.java b/qadevOOo/tests/java/mod/_sc/ScModelObj.java
new file mode 100644
index 000000000000..6dd93942ff6b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScModelObj.java
@@ -0,0 +1,232 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+import ifc.view._XPrintJobBroadcaster;
+import java.io.File;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SpreadsheetDocument</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XSpreadsheetDocument</code></li>
+* <li> <code>com::sun::star::sheet::SpreadsheetDocumentSettings</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::frame::XModel</code></li>
+* <li> <code>com::sun::star::sheet::SpreadsheetDocument</code></li>
+* <li> <code>com::sun::star::util::XNumberFormatsSupplier</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.SpreadsheetDocument
+* @see com.sun.star.sheet.XSpreadsheetDocument
+* @see com.sun.star.sheet.SpreadsheetDocumentSettings
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.frame.XModel
+* @see com.sun.star.sheet.SpreadsheetDocument
+* @see com.sun.star.util.XNumberFormatsSupplier
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._XSpreadsheetDocument
+* @see ifc.sheet._SpreadsheetDocumentSettings
+* @see ifc.lang._XComponent
+* @see ifc.frame._XModel
+* @see ifc.sheet._SpreadsheetDocument
+* @see ifc.util._XNumberFormatsSupplier
+* @see ifc.beans._XPropertySet
+*/
+public class ScModelObj extends TestCase {
+ public static XSpreadsheetDocument xSpreadsheetDoc;
+ public static XSpreadsheetDocument xSecondsheetDoc;
+
+ /**
+ * Disposes Spreadsheet documents.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+
+ oComp = (XComponent) UnoRuntime.queryInterface(XComponent.class,
+ xSecondsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Disposes the spreadsheet documents if they was created already.
+ * Creates two spreadsheet documents. Rertieves the current controller for
+ * each of them. Obtains the collection of spreadsheets, takes one of them
+ * and takes some cell from the spreadsheet. The created documents are the instances
+ * of the service <code>com.sun.star.sheet.SpreadsheetDocument</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SELSUPP'</code> for
+ * {@link ifc.frame._XModel}( the interface
+ * <code>XSelectionSupplier</code> that was queried from the current
+ * controller of the spreadsheet)</li>
+ * <li> <code>'TOSELECT'</code> for
+ * {@link ifc.frame._XModel}( the cell that was retrieved from the
+ * spreadsheet)</li>
+ * <li> <code>'CONT2'</code> for
+ * {@link ifc.frame._XModel}( the current controller of the second
+ * spreadsheet)</li>
+ * </ul>
+ * @see
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("craeting a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ if (xSpreadsheetDoc != null) {
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ if (xSecondsheetDoc != null) {
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xSecondsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ try {
+ log.println("creating two spreadsheet documents");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ xSecondsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document ", e);
+ }
+
+ XModel model1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xSpreadsheetDoc);
+ XModel model2 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xSecondsheetDoc);
+ XInterface oObj = model1;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController cont1 = model1.getCurrentController();
+ XController cont2 = model2.getCurrentController();
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ XCell toSel = null;
+ XCell[] xCalculatableCells = null;
+ try {
+ log.println("Getting spreadsheet");
+
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets();
+ XIndexAccess oIndexSheets = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet");
+ toSel = oSheet.getCellByPosition(2, 3);
+ // create a simple formula for XCalculatable
+ oSheet.getCellByPosition(4, 5).setValue(15);
+ oSheet.getCellByPosition(5, 5).setValue(10);
+ oSheet.getCellByPosition(6, 5).setFormula("= E6 * F6");
+ xCalculatableCells = new XCell[]{
+ oSheet.getCellByPosition(4, 5),
+ oSheet.getCellByPosition(5, 5),
+ oSheet.getCellByPosition(6, 5)
+ };
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error getting cell object from spreadsheet document", e);
+ }
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", toSel);
+
+ log.println("Adding cells for XCalculatable");
+ tEnv.addObjRelation("XCalculatable.Cells", xCalculatableCells);
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT2", cont2);
+
+ // create object relation for XPrintJobBroadcaster
+ String fileName = utils.getOfficeTempDirSys((XMultiServiceFactory) Param.getMSF())+"printfile.prt" ;
+ File f = new File(fileName);
+ if (f.exists()) {
+ f.delete();
+ }
+ _XPrintJobBroadcaster.MyPrintJobListener listener = new _XPrintJobBroadcaster.MyPrintJobListener(oObj, fileName);
+ tEnv.addObjRelation("XPrintJobBroadcaster.XPrintJobListener", listener);
+
+ return tEnv;
+ }
+
+} // finish class ScModelObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScNamedRangeObj.java b/qadevOOo/tests/java/mod/_sc/ScNamedRangeObj.java
new file mode 100644
index 000000000000..9be7b474161a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScNamedRangeObj.java
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XNamedRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.NamedRange</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::XNamedRange</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeReferrer</code></li>
+* </ul>
+* @see com.sun.star.sheet.NamedRange
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.XNamedRange
+* @see com.sun.star.sheet.XCellRangeReferrer
+* @see ifc.container._XNamed
+* @see ifc.sheet._XNamedRange
+* @see ifc.sheet._XCellRangeReferrer
+*/
+public class ScNamedRangeObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Obtains the value of the property
+ * <code>'NamedRanges'</code> that is the collection of named ranges.
+ * Creates and adds new range to the collection. This new range is the instance of the
+ * service <code>com.sun.star.sheet.NamedRange</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DATAAREA'</code> for
+ * {@link ifc.sheet._XCellRangeReferrer} (the cell range address of the
+ * created range) </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ log.println("Getting test object ") ;
+
+ // Getting named ranges.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+
+ Object ranges = null;
+ try {
+ ranges = docProps.getPropertyValue("NamedRanges");
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get NamedRanges", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get NamedRanges", e);
+ }
+
+ XNamedRanges xNamedRanges = (XNamedRanges)
+ UnoRuntime.queryInterface(XNamedRanges.class, ranges);
+
+ CellRangeAddress DataArea = new CellRangeAddress((short)0, 0, 0, 1, 1);
+ CellAddress base = new CellAddress(DataArea.Sheet,
+ DataArea.StartColumn,
+ DataArea.StartRow);
+
+ if (xNamedRanges.hasByName("ANamedRange")) {
+ xNamedRanges.removeByName("ANamedRange");
+ }
+
+ xNamedRanges.addNewByName("ANamedRange", "A1:B2", base, 0);
+
+ CellAddress listOutputPosition = new CellAddress((short)0, 1, 1);
+ xNamedRanges.outputList(listOutputPosition);
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xNamedRanges.getByName("ANamedRange"));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("DATAAREA", DataArea);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScNamedRangesObj.java b/qadevOOo/tests/java/mod/_sc/ScNamedRangesObj.java
new file mode 100644
index 000000000000..b7ed2add02c6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScNamedRangesObj.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XNamedRanges;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.NamedRanges</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XNamedRanges</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.NamedRanges
+* @see com.sun.star.sheet.XNamedRanges
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.sheet._XNamedRanges
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScNamedRangesObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Obtains the value of the property
+ * <code>'NamedRanges'</code> that is the collection of named ranges.
+ * This collection is the instance of the service
+ * <code>com.sun.star.sheet.NamedRanges</code>. Creates and adds new range to
+ * the collection.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SHEET'</code> for
+ * {@link ifc.sheet._XNamedRanges} (the retrieved spreadsheet) </li>
+ * </ul>
+ * @see com.sun.star.sheet.NamedRanges
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+ XSpreadsheet oSheet = null;
+
+ log.println("Getting test object ");
+ XSpreadsheets oSheets = xSheetDoc.getSheets();
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ // Getting named ranges.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ Object ranges = null;
+ try {
+ ranges = docProps.getPropertyValue("NamedRanges");
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get NamedRanges", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get NamedRanges", e);
+ }
+
+ XNamedRanges xNamedRanges = (XNamedRanges)
+ UnoRuntime.queryInterface(XNamedRanges.class, ranges);
+
+ CellRangeAddress DataArea = new CellRangeAddress((short)0, 0, 0, 2, 2);
+ CellAddress base = new CellAddress(DataArea.Sheet,
+ DataArea.StartColumn,
+ DataArea.StartRow);
+
+ xNamedRanges.addNewByName("ANamedRange", "A1:B2", base, 0);
+
+ CellAddress listOutputPosition = new CellAddress((short)0, 1, 1);
+ xNamedRanges.outputList(listOutputPosition);
+
+ oObj = xNamedRanges;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("SHEET", oSheet);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScRecentFunctionsObj.java b/qadevOOo/tests/java/mod/_sc/ScRecentFunctionsObj.java
new file mode 100644
index 000000000000..30f9de40250f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScRecentFunctionsObj.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.RecentFunctions</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XRecentFunctions</code></li>
+* </ul>
+* @see com.sun.star.sheet.RecentFunctions
+* @see com.sun.star.sheet.XRecentFunctions
+* @see ifc.sheet._XRecentFunctions
+*/
+public class ScRecentFunctionsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sheet.RecentFunctions</code> and an instance of the
+ * service <code>com.sun.star.sheet.FunctionDescriptions</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FUNCTIONLIST'</code> for
+ * {@link ifc.sheet._XRecentFunctions}(the second created instance)</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ XInterface allFunctions = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ try {
+ log.println("Getting test object ") ;
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)Param.getMSF();
+ oObj = (XInterface)oDocMSF.createInstance(
+ "com.sun.star.sheet.RecentFunctions");
+ allFunctions = (XInterface)oDocMSF.createInstance(
+ "com.sun.star.sheet.FunctionDescriptions");
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+ XNameAccess NA = (XNameAccess)
+ UnoRuntime.queryInterface(XNameAccess.class, allFunctions);
+ tEnv.addObjRelation("FUNCTIONLIST", NA);
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScScenariosObj.java b/qadevOOo/tests/java/mod/_sc/ScScenariosObj.java
new file mode 100644
index 000000000000..aae4b08ba19e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScScenariosObj.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XScenariosSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.Scenarios</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::sheet::XScenarios</code></li>
+* </ul>
+* @see com.sun.star.sheet.Scenarios
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.sheet.XScenarios
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.sheet._XScenarios
+*/
+public class ScScenariosObj extends TestCase {
+ public static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some cells of the spreadsheet.
+ * Retrieves the collection of all scenarios using the interface
+ * <code>XScenariosSupplier</code>. Creates a new scenario and adds it to the
+ * collection. This collection is the instance of the service
+ * <code>com.sun.star.sheet.Scenarios</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ADDR'</code> for
+ * {@link ifc.sheet._XScenarios}(the array of cell range addresses
+ * of the created scenario)</li>
+ * </ul>
+ * @see com.sun.star.sheet.Scenarios
+ * @see com.sun.star.sheet.XScenariosSupplier
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet)AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't fill some cell", e);
+ }
+
+ XScenariosSupplier xSupp = (XScenariosSupplier)
+ UnoRuntime.queryInterface(XScenariosSupplier.class, oSheet);
+ XCellRange oRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ XCellRange myRange = oRange.getCellRangeByName("A1:N4");
+ XCellRangeAddressable oRangeAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
+ CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
+
+ CellRangeAddress[] oAddr = new CellRangeAddress[1];
+ oAddr[0] = myAddr;
+
+ xSupp.getScenarios().addNewByName("ScScenarios", oAddr, "Range");
+
+ XInterface oObj = xSupp.getScenarios();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("adding ObjectRelation for XScenarios");
+ tEnv.addObjRelation("ADDR", oAddr);
+
+ return tEnv;
+ }
+
+
+} // finish class ScScenariosObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScShapeObj.java b/qadevOOo/tests/java/mod/_sc/ScShapeObj.java
new file mode 100644
index 000000000000..1257498a53fd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScShapeObj.java
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScShapeObj extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a sheetdoc" );
+ xSheetDoc = (XComponent) UnoRuntime.queryInterface(XComponent.class, SOF.createCalcDoc(null));
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.EllipseShape</code> as tested component
+ * and adds it to the document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instnaces of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ oShape = SOF.createShape(xSheetDoc,5000, 3500, 7500, 5000,"Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xSheetDoc,0)).add(oShape);
+ oObj = oShape ;
+
+ for (int i=0; i < 10; i++) {
+ DrawTools.getShapes(DrawTools.getDrawPage(xSheetDoc,0)).add(
+ SOF.createShape(xSheetDoc,
+ 5000, 3500, 7510 + 10 * i, 5010 + 10 * i, "Rectangle"));
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oShape );
+
+ log.println("Implementation name: "+util.utils.getImplName(oObj));
+ tEnv.addObjRelation("DOCUMENT",xSheetDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScShapeObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java b/qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java
new file mode 100644
index 000000000000..1a6fa837dbce
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java
@@ -0,0 +1,193 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetLinkable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetLink</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::util::XRefreshable</code></li>
+* <li> <code>com::sun::star::sheet::SheetLink</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> ScSheetLinksObj.sdc </b> : for creating link </li>
+* </ul> <p>
+* @see com.sun.star.sheet.SheetLink
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.util.XRefreshable
+* @see com.sun.star.sheet.SheetLink
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.util._XRefreshable
+* @see ifc.sheet._SheetLink
+* @see ifc.beans._XPropertySet
+*/
+public class ScSheetLinkObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Links the sheet to another sheet in another
+ * document using the interface <code>XSheetLinkable</code>. Obtains the
+ * value of the property <code>'SheetLinks'</code> that is the collection of
+ * sheet links. Retrieves from the collection one of the sheet link that
+ * is the instance of the service <code>com.sun.star.sheet.SheetLink</code>.
+ * @see com.sun.star.sheet.SheetLink
+ * @see com.sun.star.sheet.XSheetLinkable
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+ XSpreadsheet oSheet = null;
+
+ log.println("Getting test object ") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ XSheetLinkable SL = (XSheetLinkable)
+ UnoRuntime.queryInterface(XSheetLinkable.class, oSheet);
+
+ // creating link. Doesn't matter that it refers to unexistant object.
+ // this is for proper work of XAccess tests.
+ String sURL = utils.getFullTestDocName("ScSheetLinksObj.sdc");
+ SL.link(sURL, "Sheet1", "", "", com.sun.star.sheet.SheetLinkMode.VALUE);
+
+ // Getting links.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ Object oLinks = null;
+ try {
+ oLinks = docProps.getPropertyValue("SheetLinks");
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SheetLinks", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SheetLinks", e);
+ }
+
+ XNameAccess links = (XNameAccess)
+ UnoRuntime.queryInterface(XNameAccess.class, oLinks);
+
+ String[] names = links.getElementNames();
+
+ try {
+ oObj = (XInterface)AnyConverter.toObject(
+ new Type(XInterface.class),links.getByName(names[0]));
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.container.NoSuchElementException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by name", e);
+ }
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScSheetLinksObj.java b/qadevOOo/tests/java/mod/_sc/ScSheetLinksObj.java
new file mode 100644
index 000000000000..ada0b9d5cd1c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSheetLinksObj.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSheetLinkable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetLinks</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetLinks
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class ScSheetLinksObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Links the sheet to another sheet using the
+ * interface <code>XSheetLinkable</code>. Obtains the
+ * value of the property <code>'SheetLinks'</code> that is the collection of
+ * sheet links. This collection is the instance of the service
+ * <code>com.sun.star.sheet.SheetLinks</code>.
+ * @see com.sun.star.sheet.SheetLink
+ * @see com.sun.star.sheet.XSheetLinkable
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+ XSpreadsheet oSheet = null;
+
+ log.println("Getting test object ") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ XSheetLinkable SL = (XSheetLinkable)
+ UnoRuntime.queryInterface(XSheetLinkable.class, oSheet);
+
+ // creating link. Doesn't matter that it refers to unexistant object.
+ // this is for proper work of X*Access tests.
+ String aSourceArea = util.utils.getFullTestURL("calcshapes.sxc");
+ SL.link(aSourceArea, "Sheet1", "", "",
+ com.sun.star.sheet.SheetLinkMode.VALUE);
+
+ // Getting links.
+ XPropertySet docProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+
+ Object links = null;
+ try {
+ links = docProps.getPropertyValue("SheetLinks");
+ } catch(com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SheetLinks", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SheetLinks", e);
+ }
+
+ oObj = (XInterface)UnoRuntime.queryInterface(XInterface.class, links);
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScSortDescriptorBase.java b/qadevOOo/tests/java/mod/_sc/ScSortDescriptorBase.java
new file mode 100644
index 000000000000..c193eef05d1c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSortDescriptorBase.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSortable;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.sheet.SheetSortDescriptor
+ *
+ */
+public class ScSortDescriptorBase extends TestCase {
+
+ static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ XSortable xSORT = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+ if (xSpreadsheets == null) log.println("FAILED"); else log.println("OK");
+
+ log.println("getting a sheet");
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oObj = (XInterface) UnoRuntime.queryInterface(XInterface.class,oIndexAccess.getByIndex(0));
+ } catch (Exception e) {
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ xSORT = (XSortable) UnoRuntime.queryInterface(XSortable.class,oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("xSORT",xSORT);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScSortDescriptorBase
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettings.java b/qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettings.java
new file mode 100644
index 000000000000..eb5b9760a8ee
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettings.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.GlobalSheetSettings</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::GlobalSheetSettings</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.GlobalSheetSettings
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._GlobalSheetSettings
+* @see ifc.beans._XPropertySet
+*/
+public class ScSpreadsheetSettings extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sheet.GlobalSheetSettings</code>.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ try {
+ oObj = (XInterface)((XMultiServiceFactory)tParam.getMSF()).
+ createInstance("com.sun.star.sheet.GlobalSheetSettings");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScSpreadsheetSettings
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettingsObj.java b/qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettingsObj.java
new file mode 100644
index 000000000000..98016c8b5cf9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSpreadsheetSettingsObj.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SpreadsheetDocumentSettings</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::SpreadsheetDocumentSettings</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.SpreadsheetDocumentSettings
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._SpreadsheetDocumentSettings
+* @see ifc.beans._XPropertySet
+*/
+public class ScSpreadsheetSettingsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * The spreadsheet document is the instance of the service
+ * <code>com.sun.star.sheet.SpreadsheetDocumentSettings</code>.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ oObj = xSheetDoc;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScStyleFamiliesObj.java b/qadevOOo/tests/java/mod/_sc/ScStyleFamiliesObj.java
new file mode 100644
index 000000000000..a9601a671554
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScStyleFamiliesObj.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.style.StyleFamilies</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* </ul>
+* @see com.sun.star.style.StyleFamilies
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexAccess
+*/
+public class ScStyleFamiliesObj extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families from the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * This collection is the instance of the service
+ * <code>com.sun.star.style.StyleFamilies</code>.
+ * @see com.sun.star.style.StyleFamilies
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws StatusException {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XNameAccess oStyleFamilies=null;
+ // create testobject here
+ log.println("getting style families");
+ XStyleFamiliesSupplier oStyleFamiliesSupplier =(XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class, xSpreadsheetDoc);
+
+ oStyleFamilies = oStyleFamiliesSupplier.getStyleFamilies();
+
+ TestEnvironment tEnv = new TestEnvironment(oStyleFamilies);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+} // finish class ScStyleFamiliesObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScStyleFamilyObj.java b/qadevOOo/tests/java/mod/_sc/ScStyleFamilyObj.java
new file mode 100644
index 000000000000..3c90df65111e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScStyleFamilyObj.java
@@ -0,0 +1,216 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.style.StyleFamily</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* </ul>
+* @see com.sun.star.style.StyleFamily
+* @see com.sun.star.container.XNameContainer
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XNameReplace
+* @see ifc.container._XNameContainer
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XNameReplace
+*/
+public class ScStyleFamilyObj extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families from the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains style family with index 0 from the collection.
+ * Creates the two instance of the service <code>com.sun.star.style.CellStyle</code>.
+ * One of the instance uses for inserting of new style to the obtained style
+ * family that is the instance of the service
+ * <code>com.sun.star.style.StyleFamily</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SecondInstance'</code> for
+ * {@link ifc.container._XNameContainer}(the second created instance of
+ * the service <code>com.sun.star.style.CellStyle</code>)</li>
+ * <li> <code>'XNameReplaceINDEX'</code> for
+ * {@link ifc.container._XNameContainer}(the number of the current
+ * running threads multiplied by two)</li>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XNameContainer}(the created instances of
+ * the service <code>com.sun.star.style.CellStyle</code>)</li>
+ * </ul>
+ * @see com.sun.star.style.CellStyle
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XNameAccess oStyleFamilyNameAccess = null;
+ // create testobject here
+ log.println("getting style");
+ XStyleFamiliesSupplier oStyleFamiliesSupplier = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class, xSpreadsheetDoc);
+
+ XNameAccess oStyleFamilies = oStyleFamiliesSupplier.getStyleFamilies();
+ XIndexAccess oStyleFamiliesIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oStyleFamilies);
+ try {
+ oStyleFamilyNameAccess = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),
+ oStyleFamiliesIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occured while getting StyleFamily", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occured while getting StyleFamily", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occured while getting StyleFamily", e);
+ }
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ XComponent xComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc);
+
+ XInterface oInstance = (XInterface)
+ SOF.createInstance(xComp,"com.sun.star.style.CellStyle");
+
+ // insert a Style which can be replaced by name
+ XNameContainer oContainer = (XNameContainer)
+ UnoRuntime.queryInterface(
+ XNameContainer.class, oStyleFamilyNameAccess);
+ try {
+ oContainer.insertByName("ScStyleFamilyObj", oInstance);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert new style family", e);
+ } catch (com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert new style family", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert new style family", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oStyleFamilyNameAccess);
+
+ oInstance = (XInterface)
+ SOF.createInstance(xComp, "com.sun.star.style.CellStyle");
+
+ //second instance for insertByName in XNameContainer
+ tEnv.addObjRelation("SecondInstance", oInstance);
+
+ int THRCNT = 1;
+ if ((String)tParam.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)tParam.get("THRCNT"));
+ }
+
+ log.println( "adding XNameReplaceINDEX as mod relation to environment" );
+ tEnv.addObjRelation("XNameReplaceINDEX", new Integer(2*THRCNT).toString());
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+ for (int n = 1; n < 2*(THRCNT+1) ;n++ ) {
+ log.println( "adding INSTANCE" + n +
+ " as mod relation to environment" );
+ tEnv.addObjRelation("INSTANCE" + n, SOF.createInstance(
+ xComp,"com.sun.star.style.CellStyle"));
+ }
+ // NAMEREPLACE : _XNameReplace
+ log.println("adding NAMEREPLACE as mod relation to environment");
+ String cName = "ScStyleFamilyObj";
+ tEnv.addObjRelation("NAMEREPLACE", cName);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScStyleFamilyObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScStyleObj.java b/qadevOOo/tests/java/mod/_sc/ScStyleObj.java
new file mode 100644
index 000000000000..44181500ce9f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScStyleObj.java
@@ -0,0 +1,270 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.style.Style</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::style::Style</code></li>
+* <li> <code>com::sun::star::style::XStyle</code></li>
+* </ul>
+* @see com.sun.star.style.Style
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.style.Style
+* @see com.sun.star.style.XStyle
+* @see ifc.container._XNamed
+* @see ifc.style._Style
+* @see ifc.style._XStyle
+*/
+public class ScStyleObj extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of style families from the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains style family with index 0 from the collection and obtains
+ * style with index 0 from this style family. Creates the instance of the
+ * service <code>com.sun.star.style.CellStyle</code>. Inserts the created
+ * style to the obtained style family. Retrieves a collection of spreadsheets
+ * from the document and takes one of them. Gets a cell from the spreadsheet
+ * and sets the value of property <code>'CellStyle'</code> to the created
+ * style. The created style is the instance of the service
+ * <code>com.sun.star.style.Style</code> also.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle}(the style with index 0 that was obtained
+ * from the collection)</li>
+ * </ul>
+ * @see com.sun.star.style.CellStyle
+ * @see com.sun.star.style.Style
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oStyleFamiliesSupplier = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class, xSpreadsheetDoc);
+ XNameAccess oStyleFamilies = oStyleFamiliesSupplier.getStyleFamilies();
+ XIndexAccess oStyleFamiliesIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oStyleFamilies);
+ XNameAccess oStyleFamilyNameAccess = null;
+ XStyle oStyle = null;
+ try {
+ oStyleFamilyNameAccess = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),
+ oStyleFamiliesIndexAccess.getByIndex(0));
+
+ XIndexAccess oStyleFamilyIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,
+ oStyleFamilyNameAccess);
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oStyleFamilyIndexAccess.getByIndex(0));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ log.println("Creating a user-defined style");
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xSpreadsheetDoc);
+
+ XInterface oInt = null;
+ try {
+ oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CellStyle");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+ XStyle oMyStyle = (XStyle)UnoRuntime.queryInterface(XStyle.class, oInt);
+
+ XNameContainer oStyleFamilyNameContainer = (XNameContainer)UnoRuntime.
+ queryInterface(XNameContainer.class, oStyleFamilyNameAccess);
+
+ try {
+ if (oStyleFamilyNameContainer.hasByName("My Style")) {
+ oStyleFamilyNameContainer.removeByName("My Style");
+ }
+
+ oStyleFamilyNameContainer.insertByName("My Style", oMyStyle);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test environment", e);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test environment", e);
+ } catch(com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test environment", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create test environment", e);
+ }
+
+
+ //using the style
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+
+ XCell aCell = null;
+ try {
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ log.println("Getting a cell from sheet") ;
+ aCell = oSheet.getCellByPosition(2,3) ;
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet by index", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet by index", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet by index", e);
+ }
+
+ XPropertySet xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, aCell);
+
+ try {
+ xProp.setPropertyValue("CellStyle", oMyStyle.getName());
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property CellStyle", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property CellStyle", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property CellStyle", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property CellStyle", e);
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oMyStyle);
+
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ tEnv.addObjRelation("PropertyNames", getPropertyNames
+ ((XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oMyStyle)));
+
+ return tEnv;
+ }
+
+ public String[] getPropertyNames(XPropertySet props) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ Vector names = new Vector() ;
+
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) {
+ names.add(the_props[i].Name);
+ }
+ }
+ return (String[]) names.toArray(new String[names.size()]) ;
+ }
+} // finish class ScStyleObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScSubTotalDescriptorBase.java b/qadevOOo/tests/java/mod/_sc/ScSubTotalDescriptorBase.java
new file mode 100644
index 000000000000..f353d6a2f547
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSubTotalDescriptorBase.java
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.SubTotalColumn;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.sheet.XSubTotalCalculatable;
+import com.sun.star.sheet.XSubTotalDescriptor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SubTotalDescriptor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XSubTotalDescriptor</code></li>
+* <li> <code>com::sun::star::sheet::SubTotalDescriptor</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.XSubTotalDescriptor
+* @see com.sun.star.sheet.SubTotalDescriptor
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._XSubTotalDescriptor
+* @see ifc.sheet._SubTotalDescriptor
+* @see ifc.beans._XPropertySet
+*/
+public class ScSubTotalDescriptorBase extends TestCase {
+ public static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Creates a subtotal descriptor using the interface
+ * <code>XSubTotalCalculatable</code>. This descriptor is the instance of the
+ * service <code>com.sun.star.sheet.SubTotalDescriptor</code>.
+ * @see com.sun.star.sheet.XSubTotalCalculatable
+ * @see com.sun.star.sheet.SubTotalDescriptor
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ XSubTotalCalculatable xSTC = (XSubTotalCalculatable)
+ UnoRuntime.queryInterface(XSubTotalCalculatable.class, oSheet);
+
+ SubTotalColumn[] columns = new SubTotalColumn[1];
+ SubTotalColumn column = new SubTotalColumn();
+ column.Column = 3;
+ column.Function = GeneralFunction.SUM;
+ columns[0] = column;
+
+ XSubTotalDescriptor desc = xSTC.createSubTotalDescriptor(true);
+ desc.addNew(columns, 1);
+
+ XInterface oObj = desc;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScSubTotalDescriptorBase
diff --git a/qadevOOo/tests/java/mod/_sc/ScSubTotalFieldObj.java b/qadevOOo/tests/java/mod/_sc/ScSubTotalFieldObj.java
new file mode 100644
index 000000000000..ffe5db10607b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSubTotalFieldObj.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.SubTotalColumn;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.sheet.XSubTotalCalculatable;
+import com.sun.star.sheet.XSubTotalDescriptor;
+import com.sun.star.sheet.XSubTotalField;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SubTotalField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XSubTotalField</code></li>
+* </ul>
+* @see com.sun.star.sheet.SubTotalField
+* @see com.sun.star.sheet.XSubTotalField
+* @see ifc.sheet._XSubTotalField
+*/
+public class ScSubTotalFieldObj extends TestCase {
+ public static XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Creates a subtotal descriptor using the interface
+ * <code>XSubTotalCalculatable</code>. Adds a subtotal field definition to
+ * the descriptor. Obtains the subtotal field with index 0 from the
+ * collection. The obtained subtotal field is the instance of the service
+ * <code>com.sun.star.sheet.SubTotalField</code>.
+ * @see com.sun.star.sheet.XSubTotalCalculatable
+ * @see com.sun.star.sheet.SubTotalField
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type (XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ XSubTotalCalculatable xSTC = (XSubTotalCalculatable)
+ UnoRuntime.queryInterface(XSubTotalCalculatable.class, oSheet);
+
+ XSubTotalDescriptor xSTD = xSTC.createSubTotalDescriptor(true);
+
+ SubTotalColumn[] columns = new SubTotalColumn[1];
+ SubTotalColumn column = new SubTotalColumn();
+ column.Column = 5;
+ column.Function = GeneralFunction.SUM;
+ columns[0] = column;
+ xSTD.addNew(columns, 1);
+
+ XIndexAccess oDescIndex = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSTD);
+
+ XInterface oObj = null;
+
+ try {
+ oObj = ( XSubTotalField ) AnyConverter.toObject(
+ new Type(XSubTotalField.class),oDescIndex.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get XSubTotalField", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get XSubTotalField", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get XSubTotalField", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScSubTotalFieldObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScTabViewObj.java b/qadevOOo/tests/java/mod/_sc/ScTabViewObj.java
new file mode 100644
index 000000000000..d90f91b43ab0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTabViewObj.java
@@ -0,0 +1,283 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.form.XForm;
+import com.sun.star.lang.WrappedTargetException;
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sheet.SpreadsheetView</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::sheet::XViewSplitable</code></li>
+ * <li> <code>com::sun::star::sheet::XViewFreezable</code></li>
+ * <li> <code>com::sun::star::sheet::SpreadsheetViewSettings</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::sheet::XSpreadsheetView</code></li>
+ * <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+ * </ul>
+ * @see com.sun.star.sheet.XViewSplitable
+ * @see com.sun.star.sheet.XViewFreezable
+ * @see com.sun.star.sheet.SpreadsheetViewSettings
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.sheet.XSpreadsheetView
+ * @see com.sun.star.view.XSelectionSupplier
+ * @see ifc.sheet._XViewSplitable
+ * @see ifc.sheet._XViewFreezable
+ * @see ifc.sheet._SpreadsheetViewSettings
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.sheet._XSpreadsheetView
+ * @see ifc.view._XSelectionSupplier
+ */
+public class ScTabViewObj extends TestCase {
+ public static XSpreadsheetDocument xSpreadsheetDoc;
+ public static XSpreadsheetDocument xSpreadsheetDoc2;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // get a soffice factory object
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating two spreadsheet documents");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ try {
+ Thread.sleep(1000);
+ } catch (java.lang.InterruptedException e) {}
+ xSpreadsheetDoc2 = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ XComponent oComp2 = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc2) ;
+ util.DesktopTools.closeDoc(oComp2);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retieves the current controller of the spreadsheet document using the
+ * interface <code>XModel</code>. The controller is the instance of the
+ * service <code>com.sun.star.sheet.SpreadsheetView</code>. Retrieves
+ * a collection of spreadsheets from the document and takes one of them.
+ * Fills two cells in the spreadsheet.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Sheet'</code> for
+ * {@link ifc.sheet._XSpreadsheetView}(the retrieved spreadsheet)</li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.sheet.SpreadsheetView
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XDrawPage oDrawPage = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XModel aSecondModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc2);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class), oIndexAccess.getByIndex(1));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XDispatchProvider.URL", ".uno:Copy") ;
+
+ log.println("adding 'Sheet' as ObjRelation");
+ tEnv.addObjRelation("Sheet", oSheet);
+ tEnv.addObjRelation("Frame",aModel.getCurrentController().getFrame());
+ tEnv.addObjRelation("SecondModel",aSecondModel);
+ tEnv.addObjRelation("FirstModel",aModel);
+
+ //Relation for XControlAccess
+ tEnv.addObjRelation("DOCUMENT", UnoRuntime.queryInterface(XComponent.class,xSpreadsheetDoc));
+ tEnv.addObjRelation("XControlAccess.isSheet", Boolean.TRUE);
+ //Relations for XSelectionSupplier
+ XCell cell_1 = null;
+ XCell cell_2 = null;
+ Object cellRange = null;
+ try {
+ cellRange = (Object)oSheet.getCellRangeByPosition(0, 0, 3, 3);
+ cell_1 = oSheet.getCellByPosition(5,5);
+ cell_2 = oSheet.getCellByPosition(7,7);
+ cell_2.setValue(17.5);
+ cell_1.setValue(5.5);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get some cell", e);
+ }
+
+ Object[] selections = {oSheet, cellRange, cell_1, cell_2};
+ tEnv.addObjRelation("Selections", selections);
+
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XCellRangeAddressable adr1 = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, o1);
+ XCellRangeAddressable adr2 = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, o2);
+ if (adr1 == null || adr2 == null) return -1;
+ CellRangeAddress range1 = adr1.getRangeAddress();
+ CellRangeAddress range2 = adr2.getRangeAddress();
+ return ValueComparer.equalValue(range1, range2) ? 0 : 1 ;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ // XForm for com.sun.star.view.XFormLayerAccess
+
+ XForm myForm = null;
+ String kindOfControl="CommandButton";
+ XShape aShape = null;
+ try{
+ log.println("adding contol shape '" + kindOfControl + "'");
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc) ;
+
+ aShape = FormTools.createControlShape(oComp, 3000, 4500, 15000, 10000, kindOfControl);
+
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create following control shape : '" +
+ kindOfControl + "': ", e);
+ }
+
+ log.println("adding relation for com.sun.star.view.XFormLayerAccess: XForm");
+ try {
+ log.println( "getting Drawpages" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class,xSpreadsheetDoc);
+ XDrawPages oDP = (XDrawPages) oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDP.getByIndex(0));
+ if (oDrawPage == null)
+ log.println("ERROR: could not get DrawPage: null");
+
+ oDrawPage.add(aShape);
+ log.println("getting XForm");
+ XNameContainer xForm = FormTools.getForms(oDrawPage);
+ try {
+ myForm = (XForm) AnyConverter.toObject(new Type(XForm.class),xForm.getByName("Standard"));
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not XFormm 'Standard': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not XFormm 'Standard': " + ex.toString());
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not XFormm 'Standard': " + ex.toString());
+ }
+ if (myForm == null)
+ log.println("ERROR: could not get XForm: null");
+ tEnv.addObjRelation("XFormLayerAccess.XForm", myForm);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ }
+ return tEnv;
+ }
+
+} // finish class ScTabViewObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java b/qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java
new file mode 100644
index 000000000000..e3f0f54d0e94
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.table.TableColumn</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::table::TableColumn</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.table.TableColumn
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.table._TableColumn
+* @see ifc.table._XCellRange
+* @see ifc.beans._XPropertySet
+*/
+public class ScTableColumnObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Obtaines the collection of columns in the range using the interface
+ * <code>XColumnRowRange</code>. Retrieves the column with index 10 that is
+ * the instance of the service <code>com.sun.star.table.TableColumn</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'setName'</code> for
+ * {@link ifc.container._XNamed} </li>
+ * <li> <code>'ValidRange'</code> for
+ * {@link ifc.table._XCellRange} </li>
+ * </ul>
+ * @see com.sun.star.table.XColumnRowRange
+ * @see com.sun.star.table.TableColumn
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ XSpreadsheet xSpreadsheet = null;
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XNameAccess oNames = (XNameAccess)
+ UnoRuntime.queryInterface( XNameAccess.class, xSpreadsheets );
+ try {
+ xSpreadsheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get element by name", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get element by name", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get element by name", e);
+ }
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, xSpreadsheet);
+ XTableColumns oColumns = (XTableColumns) oColumnRowRange.getColumns();
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oColumns);
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oIndexAccess.getByIndex(10));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // a valid Range for XCellRange
+ tEnv.addObjRelation("ValidRange","K1:K1");
+
+ //since TableColumnsNames are fixed XNamed::setName() should always be OK
+ tEnv.addObjRelation("setName",new Boolean(true));
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableColumnsObj.java b/qadevOOo/tests/java/mod/_sc/ScTableColumnsObj.java
new file mode 100644
index 000000000000..6dca3b67d4bb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableColumnsObj.java
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.table.TableColumns</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::table::XTableColumns</code></li>
+* </ul>
+* @see com.sun.star.table.TableColumns
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.table.XTableColumns
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.table._XTableColumns
+*/
+public class ScTableColumnsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Obtaines the collection of columns in the range using the interface
+ * <code>XColumnRowRange</code>. This collection is the instance of the
+ * service <code>com.sun.star.table.TableColumns</code>.
+ * @see com.sun.star.table.XColumnRowRange
+ * @see com.sun.star.table.TableColumns
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("craeting a test environment");
+
+ log.println("getting column");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XNameAccess oNames = (XNameAccess)
+ UnoRuntime.queryInterface( XNameAccess.class, xSpreadsheets );
+ XSpreadsheet xSpreadsheet = null;
+ try {
+ xSpreadsheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ }
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, xSpreadsheet);
+ XTableColumns oColumns = (XTableColumns) oColumnRowRange.getColumns();
+ oObj = oColumns;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // adding relation for XTableColumns
+ tEnv.addObjRelation("XTableColumns.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, xSpreadsheet));
+
+ return tEnv;
+ }
+} // finish class ScTableColumnsObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableConditionalEntry.java b/qadevOOo/tests/java/mod/_sc/ScTableConditionalEntry.java
new file mode 100644
index 000000000000..b427536b3dba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableConditionalEntry.java
@@ -0,0 +1,230 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.ConditionOperator;
+import com.sun.star.sheet.XSheetConditionalEntries;
+import com.sun.star.sheet.XSheetConditionalEntry;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.TableConditionalEntry</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XSheetConditionalEntry</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCondition</code></li>
+* </ul>
+* @see com.sun.star.sheet.TableConditionalEntry
+* @see com.sun.star.sheet.XSheetConditionalEntry
+* @see com.sun.star.sheet.XSheetCondition
+* @see ifc.sheet._XSheetConditionalEntry
+* @see ifc.sheet._XSheetCondition
+*/
+public class ScTableConditionalEntry extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Fills some cells of the spreadsheet. Retrieves value of the property
+ * <code>'ConditionalFormat'</code> that is the collection of the conditions
+ * of a conditional format. Adds new conditional entry to the collection
+ * using the interface <code>XSheetConditionalEntries</code>. Sets new value
+ * of the property <code>'ConditionalFormat'</code>. Obtains the conditional
+ * entry with index 0 that is the instance of the service
+ * <code>com.sun.star.sheet.TableConditionalEntry</code>.
+ * @see com.sun.star.sheet.XSheetConditionalEntries
+ * @see com.sun.star.sheet.TableConditionalEntry
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while filling cells");
+ e.printStackTrace(log);
+ }
+
+ Object CFormat = null;
+ XPropertySet Props = null;
+
+ try {
+ Props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oSheet);
+ CFormat = Props.getPropertyValue("ConditionalFormat");
+ if (utils.isVoid(CFormat)) {
+ log.println("Property 'ConditionalFormat' is void");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ try {
+ XSheetConditionalEntries xSCE = (XSheetConditionalEntries)
+ UnoRuntime.queryInterface(XSheetConditionalEntries.class, CFormat);
+ xSCE.addNew(Conditions());
+ Props.setPropertyValue("ConditionalFormat", xSCE);
+ oObj = (XSheetConditionalEntry) AnyConverter.toObject(
+ new Type(XSheetConditionalEntry.class),xSCE.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while getting Entry", e);
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Returns the array of the property values that was filled by condition
+ * values.
+ */
+ protected PropertyValue[] Conditions() {
+ PropertyValue[] con = new PropertyValue[5];
+ CellAddress ca = new CellAddress();
+ ca.Column = 1;
+ ca.Row = 5;
+ ca.Sheet = 0;
+ con[0] = new PropertyValue();
+ con[0].Name = "StyleName";
+ con[0].Value = "Result2";
+ con[1] = new PropertyValue();
+ con[1].Name = "Formula1";
+ con[1].Value = "$Sheet1.$B$5";
+ con[2] = new PropertyValue();
+ con[2].Name = "Formula2";
+ con[2].Value = "";
+ con[3] = new PropertyValue();
+ con[3].Name = "Operator";
+ con[3].Value = ConditionOperator.EQUAL;
+ con[4] = new PropertyValue();
+ con[4].Name = "SourcePosition";
+ con[4].Value = ca;
+ return con;
+ }
+
+} // finish class ScTableConditionalEntry
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableConditionalFormat.java b/qadevOOo/tests/java/mod/_sc/ScTableConditionalFormat.java
new file mode 100644
index 000000000000..c873ba5e4367
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableConditionalFormat.java
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.ConditionOperator;
+import com.sun.star.sheet.XSheetConditionalEntries;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.TableConditionalFormat</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::sheet::XSheetConditionalEntries</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.TableConditionalFormat
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.sheet.XSheetConditionalEntries
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.sheet._XSheetConditionalEntries
+* @see ifc.container._XElementAccess
+*/
+public class ScTableConditionalFormat extends TestCase {
+
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Fills some cells of the spreadsheet. Retrieves value of the property
+ * <code>'ConditionalFormat'</code> that is the collection of the conditions
+ * of a conditional format. Adds new two conditional entries to the
+ * collection using the interface <code>XSheetConditionalEntries</code>.
+ * The retrieved collection is the instance of the service
+ * <code>com.sun.star.sheet.TableConditionalFormat</code>.
+ * @see com.sun.star.sheet.TableConditionalFormat
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while filling cells");
+ e.printStackTrace(log);
+ }
+
+ XPropertySet Props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oSheet);
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),
+ Props.getPropertyValue("ConditionalFormat"));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ConditionalFromat", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ConditionalFromat", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ConditionalFromat", e);
+ }
+
+ XSheetConditionalEntries xSCE = (XSheetConditionalEntries)
+ UnoRuntime.queryInterface(XSheetConditionalEntries.class, oObj);
+ xSCE.addNew(Conditions(5));
+ xSCE.addNew(Conditions(2));
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Returns the array of the property values that was filled by condition
+ * values.
+ */
+ public PropertyValue[] Conditions(int nr) {
+ PropertyValue[] con = new PropertyValue[5];
+ CellAddress ca = new CellAddress();
+ ca.Column = 1;
+ ca.Row = 5;
+ ca.Sheet = 0;
+ con[0] = new PropertyValue();
+ con[0].Name = "StyleName";
+ con[0].Value = "Result2";
+ con[1] = new PropertyValue();
+ con[1].Name = "Formula1";
+ con[1].Value = "$Sheet1.$B$"+nr;
+ con[2] = new PropertyValue();
+ con[2].Name = "Formula2";
+ con[2].Value = "";
+ con[3] = new PropertyValue();
+ con[3].Name = "Operator";
+ con[3].Value = ConditionOperator.EQUAL;
+ con[4] = new PropertyValue();
+ con[4].Name = "SourcePosition";
+ con[4].Value = ca;
+ return con;
+ }
+
+} // finish class ScTableConditionalFormat
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableRowObj.java b/qadevOOo/tests/java/mod/_sc/ScTableRowObj.java
new file mode 100644
index 000000000000..077cbf26c4c1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableRowObj.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableRows;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.table.TableRow</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::table::TableRow</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.table.TableRow
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.table._TableRow
+* @see ifc.table._XCellRange
+* @see ifc.beans._XPropertySet
+*/
+public class ScTableRowObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Obtains the collection of rows using the interface
+ * <code>XColumnRowRange</code>. Obtains the row with index 6 from the
+ * collection and this is the instance of the service
+ * <code>com.sun.star.table.TableRow</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ValidRange'</code> for
+ * {@link ifc.table._XCellRange} </li>
+ * </ul>
+ * @see com.sun.star.table.XColumnRowRange
+ * @see com.sun.star.table.TableRow
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ XSpreadsheet xSpreadsheet = null;
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XNameAccess oNames = (XNameAccess)
+ UnoRuntime.queryInterface( XNameAccess.class, xSpreadsheets );
+ try {
+ xSpreadsheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, xSpreadsheet);
+ XTableRows oRows = (XTableRows) oColumnRowRange.getRows();
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oRows);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oIndexAccess.getByIndex(6));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception during creating Testenvironment", e);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception during creating Testenvironment", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception during creating Testenvironment", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception during creating Testenvironment", e);
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("ValidRange","A7:A7");
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableRowsObj.java b/qadevOOo/tests/java/mod/_sc/ScTableRowsObj.java
new file mode 100644
index 000000000000..17e45dc1fb59
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableRowsObj.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableRows;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.table.TableRows</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::table::XTableRows</code></li>
+* </ul>
+* @see com.sun.star.table.TableRows
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.table.XTableRows
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.table._XTableRows
+*/
+public class ScTableRowsObj extends TestCase {
+ XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Obtains the collection of rows using the interface
+ * <code>XColumnRowRange</code>. The obtained collection is the instance of
+ * the service <code>com.sun.star.table.TableRows</code>.
+ * @see com.sun.star.table.XColumnRowRange
+ * @see com.sun.star.table.TableRows
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println("getting row");
+ XSpreadsheet xSpreadsheet = null;
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSheetDoc.getSheets();
+ XNameAccess oNames = (XNameAccess)
+ UnoRuntime.queryInterface( XNameAccess.class, xSpreadsheets );
+ try {
+ xSpreadsheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get spreadsheet", e);
+ }
+
+ XColumnRowRange oColumnRowRange = (XColumnRowRange)
+ UnoRuntime.queryInterface(XColumnRowRange.class, xSpreadsheet);
+
+ XTableRows oRows = (XTableRows) oColumnRowRange.getRows();
+ oObj = oRows;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // adding relation for XTableRows
+ tEnv.addObjRelation("XTableRows.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, xSpreadsheet));
+
+ return tEnv;
+ }
+} // finish class ScTableRowsObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java b/qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java
new file mode 100644
index 000000000000..f6355fe0de86
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java
@@ -0,0 +1,421 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XScenariosSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+import ifc.sheet._XCellRangesQuery;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.Spreadsheet</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::table::XTableChartsSupplier</code></li>
+* <li> <code>com::sun::star::sheet::XSpreadsheet</code></li>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetAnnotationsSupplier</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeAddressable</code></li>
+* <li> <code>com::sun::star::sheet::XDataPilotTablesSupplier</code></li>
+* <li> <code>com::sun::star::sheet::Spreadsheet</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeMovement</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::sheet::XScenariosSupplier</code></li>
+* <li> <code>com::sun::star::sheet::XSheetPageBreak</code></li>
+* <li> <code>com::sun::star::sheet::XArrayFormulaRange</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRange</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::SheetCellRange</code></li>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::util::XMergeable</code></li>
+* <li> <code>com::sun::star::table::XColumnRowRange</code></li>
+* </ul>
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.table.XTableChartsSupplier
+* @see com.sun.star.sheet.XSpreadsheet
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.sheet.XSheetAnnotationsSupplier
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.sheet.XCellRangeAddressable
+* @see com.sun.star.sheet.XDataPilotTablesSupplier
+* @see com.sun.star.sheet.Spreadsheet
+* @see com.sun.star.sheet.XCellRangeMovement
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.sheet.XScenariosSupplier
+* @see com.sun.star.sheet.XSheetPageBreak
+* @see com.sun.star.sheet.XArrayFormulaRange
+* @see com.sun.star.sheet.XSheetCellRange
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.SheetCellRange
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.util.XMergeable
+* @see com.sun.star.table.XColumnRowRange
+* @see ifc.style._ParagraphProperties
+* @see ifc.table._XTableChartsSupplier
+* @see ifc.sheet._XSpreadsheet
+* @see ifc.table._CellProperties
+* @see ifc.sheet._XSheetAnnotationsSupplier
+* @see ifc.table._XCellRange
+* @see ifc.sheet._XCellRangeAddressable
+* @see ifc.sheet._XDataPilotTablesSupplier
+* @see ifc.sheet._Spreadsheet
+* @see ifc.sheet._XCellRangeMovement
+* @see ifc.style._CharacterProperties
+* @see ifc.sheet._XSheetOperation
+* @see ifc.sheet._XScenariosSupplier
+* @see ifc.sheet._XSheetPageBreak
+* @see ifc.sheet._XArrayFormulaRange
+* @see ifc.sheet._XSheetCellRange
+* @see ifc.container._XNamed
+* @see ifc.sheet._SheetCellRange
+* @see ifc.chart._XChartData
+* @see ifc.beans._XPropertySet
+* @see ifc.util._XMergeable
+* @see ifc.table._XColumnRowRange
+*/
+public class ScTableSheetObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a sheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ try {
+ XCloseable oCloser = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xSheetDoc);
+ oCloser.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Document already disposed");
+ } catch (java.lang.NullPointerException e) {
+ log.println("Couldn't get XCloseable");
+ }
+
+ try {
+ log.println("Sleeping 500 Millis");
+ Thread.sleep(500);
+ } catch (InterruptedException ex) {
+ }
+
+ log.println("... Done");
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Fills some cell in the spreadsheet. The retrieved spreadsheet is the
+ * instance of the service <code>com.sun.star.sheet.Spreadsheet</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'noArray'</code> for
+ * {@link ifc.sheet._XArrayFormulaRange}(to avoid the test of
+ * the interface <code>XArrayFormulaRange</code>)</li>
+ * </ul>
+ * @see com.sun.star.sheet.XArrayFormulaRange
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ log.println("getting sheets");
+
+ XSpreadsheets xSpreadsheets = (XSpreadsheets) xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, xSpreadsheets);
+
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ oSheet.getCellByPosition(8, 8).setFormula("= B5 + C1");
+ // fill cells for XSheetOtline::autoutline
+ oSheet.getCellByPosition(6, 6).setValue(3);
+ oSheet.getCellByPosition(7, 6).setValue(3);
+ oSheet.getCellByPosition(8, 6).setFormula("= SUM(G7:H7)");
+ oSheet.getCellByPosition(9, 6).setFormula("= G7*I7");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Exception occurred while filling cells", e);
+ }
+
+ oObj = (XInterface) UnoRuntime.queryInterface(XInterface.class, oSheet);
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // do not execute com::sun::star::sheets::XCellSeries::fillAuto()
+ tEnv.addObjRelation("XCELLSERIES_FILLAUTO", new Boolean(false));
+
+ // set the adress ranges of the cells (see values set above): for e.g. XSheetOutline test
+ tEnv.addObjRelation("CellRangeAddress",
+ new CellRangeAddress((short)0, 6, 6, 8, 8));
+ tEnv.addObjRelation("CellRangeSubAddress",
+ new CellRangeAddress((short)0, 6, 6, 7, 8));
+ // pick a cell with a formula for XSheetAuditing, a dependent cell and a precedent cell
+ tEnv.addObjRelation("XSheetAuditing.CellAddress", new CellAddress((short)0, 8, 6));
+ tEnv.addObjRelation("XSheetAuditing.PrecedentCellAddress", new CellAddress((short)0, 7, 6));
+ tEnv.addObjRelation("XSheetAuditing.DependentCellAddress", new CellAddress((short)0, 9, 6));
+
+ // add an existing sheet for linking
+ tEnv.addObjRelation("XSheetLinkable.LinkSheet", "ScSheetLinksObj.sdc");
+
+ //adding Scenario and with that a ScenarioSheet-Relation for Scenario and XScenarioEnhanced
+ XScenariosSupplier scene = (XScenariosSupplier) UnoRuntime.queryInterface(
+ XScenariosSupplier.class,
+ tEnv.getTestObject());
+ scene.getScenarios()
+ .addNewByName("Scenario",
+ new CellRangeAddress[] {
+ new CellRangeAddress((short) 0, 0, 0, 10, 10)
+ }, "Comment");
+
+ XSpreadsheet sSheet = null;
+
+ try {
+ sSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class,
+ xSpreadsheets.getByName("Scenario"));
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get Scenario");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get Scenario");
+ }
+
+ tEnv.addObjRelation("ScenarioSheet", sSheet);
+
+ log.println("adding ObjRelation 'noArray' to avoid the test" +
+ " 'XArrayFormulaRange'");
+ tEnv.addObjRelation("noArray", "ScTableSheetObj");
+
+ XPropertySet PropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet", PropSet);
+ tEnv.addObjRelation("SHEET", oSheet);
+
+ // add expected results for the XCellRangesQuery interface test
+ String[] expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.B5;Sheet1.C1";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "Sheet1.B5;Sheet1.C1;Sheet1.F6";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.A1 ... Sheet1.B1 ... Sheet1.B6 ... Sheet1.C2 ... Sheet1.D1 ... Sheet1.F1 ... Sheet1.F7 ... Sheet1.G1";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "Sheet1.I7:J7;Sheet1.I9";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.A5;Sheet1.C1";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.A2";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS",
+ expectedResults);
+
+ // for XFormulaQuery interface test
+ try {
+ tEnv.addObjRelation("MAKEENTRYINCELL",
+ oSheet.getCellByPosition(15, 15));
+ tEnv.addObjRelation("RANGEINDICES", new int[] { 0, 0 });
+ tEnv.addObjRelation("EXPECTEDDEPENDENTVALUES",
+ new int[] { 0, 255, 0, 65535 });
+ tEnv.addObjRelation("EXPECTEDPRECEDENTVALUES",
+ new int[] { 0, 255, 0, 65535 });
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println(
+ "Cannot add the necessary object relation for XFormulaQuery test.");
+ }
+
+ // XSearchable interface test
+ try {
+ tEnv.addObjRelation("XSearchable.MAKEENTRYINCELL",
+ new XCell[] {
+ oSheet.getCellByPosition(15, 15),
+ oSheet.getCellByPosition(15, 16)
+ });
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace((PrintWriter) log);
+ log.println(
+ "Cannot make required object relation 'XSearchable.MAKEENTRYINCELL'.");
+ }
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XCellRange oTable = oSheet;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ try {
+ oTable.getCellByPosition(0, 0).setValue(4);
+ oTable.getCellByPosition(0, 1).setFormula("b");
+ oTable.getCellByPosition(0, 2).setValue(3);
+ oTable.getCellByPosition(0, 3).setValue(23);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[4];
+
+ for (int i = 0; i < 4; i++) {
+ try {
+ XCell cell = oTable.getCellByPosition(0, i);
+ value[i] = cell.getFormula();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ out.println("Sorting ascending");
+
+ String[] rightVal = { "3", "4", "23", "b" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted uncorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableSheetsObj.java b/qadevOOo/tests/java/mod/_sc/ScTableSheetsObj.java
new file mode 100644
index 000000000000..c31f692b8e51
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableSheetsObj.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.Spreadsheets</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XSpreadsheets</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* </ul>
+* @see com.sun.star.sheet.Spreadsheets
+* @see com.sun.star.sheet.XSpreadsheets
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.container.XNameContainer
+* @see ifc.sheet._XSpreadsheets
+* @see ifc.container._XNameAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XNameReplace
+* @see ifc.container._XNameContainer
+*/
+public class ScTableSheetsObj extends TestCase {
+ private static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // get a soffice factory object
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println("disposing xSpreadsheetDocument");
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the spreadsheets using the interface
+ * <code>XSpreadsheetDocument</code>. The retrieved collection is the
+ * instance of the service <code>com.sun.star.sheet.Spreadsheets</code>.
+ * Creates instances of the service <code>com.sun.star.sheet.Spreadsheet</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SecondInstance'</code> for
+ * {@link ifc.container._XNameContainer} (the created instance of the
+ * service <code>com.sun.star.sheet.Spreadsheet</code>) </li>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XNameContainer} (the created instances of the
+ * service <code>com.sun.star.sheet.Spreadsheet</code>) </li>
+ * </ul>
+ * @see com.sun.star.sheet.Spreadsheets
+ * @see com.sun.star.sheet.XSpreadsheetDocument
+ * @see com.sun.star.sheet.Spreadsheet
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ XInterface oObj = (XInterface)
+ UnoRuntime.queryInterface(XInterface.class, xSpreadsheets);
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("creating instance of the sheet object to use it in tests");
+ XSpreadsheet oSecondSheet = null;
+
+ try {
+ oSecondSheet = SOF.createSpreadsheet(xSpreadsheetDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instances", e);
+ }
+
+ //adding Instance for XNameContainer
+ tEnv.addObjRelation("SecondInstance",oSecondSheet);
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+ try {
+ for (int n = 1; n < (THRCNT+1) ;n++ ) {
+ log.println(
+ "adding INSTANCE" + n +" as mod relation to environment" );
+ tEnv.addObjRelation(
+ "INSTANCE" + n,
+ SOF.createSpreadsheet(xSpreadsheetDoc) );
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Couldn't create instances for object relations", e);
+ }
+
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableValidationObj.java b/qadevOOo/tests/java/mod/_sc/ScTableValidationObj.java
new file mode 100644
index 000000000000..972e1e010f55
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableValidationObj.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.TableValidation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::TableValidation</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCondition</code></li>
+* </ul>
+* @see com.sun.star.sheet.TableValidation
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.sheet.XSheetCondition
+* @see ifc.sheet._TableValidation
+* @see ifc.beans._XPropertySet
+* @see ifc.sheet._XSheetCondition
+*/
+public class ScTableValidationObj extends TestCase {
+ static XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Fills some cell in the spreadsheet. Obtains the property
+ * <code>'Validation'</code> of the spreadsheet. The value of the property
+ * is the instance of the service <code>com.sun.star.sheet.TableValidation</code>.
+ * @see com.sun.star.sheet.TableValidation
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = (XSpreadsheets)xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexAccess.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get a spreadsheet", e);
+ }
+
+ log.println("filling some cells");
+ try {
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Exception occurred while filling cells", e);
+ }
+
+ XPropertySet Props = null;
+
+ try {
+ Props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oSheet);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),Props.getPropertyValue("Validation"));
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get property 'Validation'", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get property 'Validation'", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get property 'Validation'", e);
+ }
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ScTableValidationObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsEnumeration.java b/qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsEnumeration.java
new file mode 100644
index 000000000000..1068af55b063
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsEnumeration.java
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XUniqueCellFormatRangesSupplier;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.awt.Color;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+public class ScUniqueCellFormatsEnumeration extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+ static XSpreadsheet oSheet = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a sheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ //add this lines after synchronisation
+ //log.println(" disposing xSheetDoc ");
+ //DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("Getting the first sheet");
+
+ XIndexAccess xIA = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, xSheetDoc.getSheets());
+
+ try {
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, xIA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ changeColor("A1:A5", 0, 255, 0);
+ changeColor("A6:B10", 255, 0, 0);
+ changeColor("B1:B6", 0, 0, 255);
+ changeColor("B7", 0, 255, 0);
+ changeColor("B8:B10", 0, 0, 255);
+ changeColor("C1:C10", 0, 0, 255);
+ changeColor("D1:D10", 0, 255, 0);
+
+ XUniqueCellFormatRangesSupplier xUCRS = (XUniqueCellFormatRangesSupplier) UnoRuntime.queryInterface(
+ XUniqueCellFormatRangesSupplier.class,
+ oSheet);
+
+ XEnumerationAccess xEnum = (XEnumerationAccess) UnoRuntime.queryInterface(
+ XEnumerationAccess.class,
+ xUCRS.getUniqueCellFormatRanges());
+ XInterface oObj = xEnum.createEnumeration();
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("ExpectedCount", new Integer(4));
+
+ return tEnv;
+ }
+
+ protected void changeColor(String RangeName, int r, int g, int b) {
+ XCellRange xRange = oSheet.getCellRangeByName(RangeName);
+ XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, xRange);
+ Color c = new Color(r, g, b);
+ int c2int = 16777216 + c.hashCode();
+
+ try {
+ xPropertySet.setPropertyValue("CellBackColor", new Integer(c2int));
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change CellFormat");
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change CellFormat");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change CellFormat");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change CellFormat");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsObj.java b/qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsObj.java
new file mode 100644
index 000000000000..e85fcb2bb4c5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScUniqueCellFormatsObj.java
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XUniqueCellFormatRangesSupplier;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.awt.Color;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+public class ScUniqueCellFormatsObj extends TestCase {
+ static XSpreadsheetDocument xSheetDoc = null;
+ static XSpreadsheet oSheet = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a sheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ //add this lines after synchronisation
+ //log.println(" disposing xSheetDoc ");
+ //DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("Getting the first sheet");
+
+ XIndexAccess xIA = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, xSheetDoc.getSheets());
+
+ try {
+ oSheet = (XSpreadsheet) UnoRuntime.queryInterface(
+ XSpreadsheet.class, xIA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get a spreadsheet", e);
+ }
+
+ changeColor("A1:A5", 0, 255, 0);
+ changeColor("A6:B10", 255, 0, 0);
+ changeColor("B1:B6", 0, 0, 255);
+ changeColor("B7", 0, 255, 0);
+ changeColor("B8:B10", 0, 0, 255);
+ changeColor("C1:C10", 0, 0, 255);
+ changeColor("D1:D10", 0, 255, 0);
+
+ XUniqueCellFormatRangesSupplier xUCRS = (XUniqueCellFormatRangesSupplier) UnoRuntime.queryInterface(
+ XUniqueCellFormatRangesSupplier.class,
+ oSheet);
+
+ XInterface oObj = xUCRS.getUniqueCellFormatRanges();
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+ protected void changeColor(String RangeName, int r, int g, int b) {
+ XCellRange xRange = oSheet.getCellRangeByName(RangeName);
+ XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, xRange);
+ Color c = new Color(r, g, b);
+ int c2int = 16777216 + c.hashCode();
+
+ try {
+ xPropertySet.setPropertyValue("CellBackColor", new Integer(c2int));
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change CellFormat");
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change CellFormat");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change CellFormat");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change CellFormat");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScViewPaneObj.java b/qadevOOo/tests/java/mod/_sc/ScViewPaneObj.java
new file mode 100644
index 000000000000..cf8bbce0843b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScViewPaneObj.java
@@ -0,0 +1,209 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import com.sun.star.container.NoSuchElementException;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.form.XForm;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XViewPane;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import util.FormTools;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sheet.SpreadsheetViewPane</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::sheet::XViewPane</code></li>
+ * <li> <code>com::sun::star::sheet::XCellRangeReferrer</code></li>
+ * </ul>
+ * @see com.sun.star.sheet.SpreadsheetViewPane
+ * @see com.sun.star.sheet.XViewPane
+ * @see com.sun.star.sheet.XCellRangeReferrer
+ * @see ifc.sheet._XViewPane
+ * @see ifc.sheet._XCellRangeReferrer
+ */
+public class ScViewPaneObj extends TestCase {
+ static private XSpreadsheetDocument xSpreadsheetDoc;
+ static private SOfficeFactory SOF;
+ static private XInterface oObj;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ // get a soffice factory object
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println("disposing xSpreadsheetDocument");
+ XComponent oComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retieves the current controller of the spreadsheet document using the
+ * interface <code>XModel</code>. The controller contains the collection
+ * of the view panes so retrieves the view pane with index 0 from
+ * the collection. The retrived view pane is the instance of the service
+ * <code>com.sun.star.sheet.SpreadsheetViewPane</code>. Retrieves the address
+ * of the cell range that consists of the cells which are visible in the pane.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DATAAREA'</code> for
+ * {@link ifc.sheet._XViewPane}(the retrieved address)</li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XDrawPage oDrawPage;
+
+ XModel xm = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+ XController xc = xm.getCurrentController();
+ XIndexAccess xIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xc);
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xIA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //Relation for XControlAccess
+ tEnv.addObjRelation("DOCUMENT", UnoRuntime.queryInterface(XComponent.class,xSpreadsheetDoc));
+ tEnv.addObjRelation("XControlAccess.isSheet", Boolean.TRUE);
+
+ XViewPane VP = (XViewPane)
+ UnoRuntime.queryInterface(XViewPane.class, oObj);
+ CellRangeAddress dataArea = VP.getVisibleRange();
+ tEnv.addObjRelation("DATAAREA", dataArea);
+
+ // XForm for com.sun.star.view.XFormLayerAccess
+ log.println("adding relation for com.sun.star.view.XFormLayerAccess: XForm");
+
+ XForm myForm = null;
+ String kindOfControl="CommandButton";
+ XShape aShape = null;
+ try{
+ log.println("adding contol shape '" + kindOfControl + "'");
+ XComponent oComp = (XComponent) UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc) ;
+
+ aShape = FormTools.createControlShape(oComp, 3000, 4500, 15000, 10000, kindOfControl);
+
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create following control shape : '" +
+ kindOfControl + "': ", e);
+ }
+
+ try {
+ log.println( "getting Drawpages" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class,xSpreadsheetDoc);
+ XDrawPages oDP = (XDrawPages) oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDP.getByIndex(0));
+ if (oDrawPage == null)
+ log.println("ERROR: could not get DrawPage: null");
+
+ oDrawPage.add(aShape);
+ log.println("getting XForm");
+ XNameContainer xForm = FormTools.getForms(oDrawPage);
+ try {
+ myForm = (XForm) AnyConverter.toObject(new Type(XForm.class),xForm.getByName("Standard"));
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not XFormm 'Standard': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not XFormm 'Standard': " + ex.toString());
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not XFormm 'Standard': " + ex.toString());
+ }
+ if (myForm == null)
+ log.println("ERROR: could not get XForm: null");
+ tEnv.addObjRelation("XFormLayerAccess.XForm", myForm);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ }
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLContentExporter.java b/qadevOOo/tests/java/mod/_sc/XMLContentExporter.java
new file mode 100644
index 000000000000..56a9ec8e6579
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLContentExporter.java
@@ -0,0 +1,216 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+
+ static XComponent xSheetDoc;
+ static ContentFilterChecker Filter;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. A cell in the sheet is set to some value. This made
+ * for checking if this value is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final String CELL_TEXT = "XMLContentExporter";
+
+ ContentFilterChecker Filter = new ContentFilterChecker(log);
+
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLContentExporter",
+ new Object[] {arg} );
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ // Setting some string to a cell
+ XSpreadsheetDocument xSpreadsheetDoc = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets();
+ XIndexAccess xSheetsIndexArray = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ XSpreadsheet xSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),xSheetsIndexArray.getByIndex(0));
+ XCell xCell = xSheet.getCellByPosition(0, 0);
+ xCell.setFormula(CELL_TEXT);
+
+ log.println("fill sheet 1 with contnet...");
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc, 1, 1, 1, 5, 5);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ } catch (java.lang.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create environment.", e);
+ }
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-content");
+ Filter.addTagEnclosed("office:body", "office:document-content");
+ Filter.addTagEnclosed("office:script", "office:document-content");
+ Filter.addTagEnclosed("table:table", "office:body");
+ Filter.addTagEnclosed("table:table-column", "table:table");
+ Filter.addTagEnclosed("table:table-row", "table:table");
+ Filter.addTagEnclosed("table:table-cell", "table:table-row");
+ Filter.addTagEnclosed("text:p", "table:table-cell");
+ Filter.addCharactersEnclosed(CELL_TEXT, "text:p");
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class ContentFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public ContentFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLContentImporter.java b/qadevOOo/tests/java/mod/_sc/XMLContentImporter.java
new file mode 100644
index 000000000000..26c8851c741d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLContentImporter.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ static XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLContentImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only content tags including table
+ * with test table name.
+ * After import table name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLContentImporter") ;
+ XImporter imp = (XImporter) UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relations
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ final String impValue = "XMLContentImporter_test" ;
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-content",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "office:class", "CDATA", "spreadsheet"
+ },
+ {"start", "office:body"},
+ {"start", "table:table",
+ "table:name", "CDATA", impValue},
+ {"end", "table:table"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ //save to log content before import
+ final PrintWriter fLog = log;
+ final XSpreadsheets xSheets = xSheetDoc.getSheets();
+
+ log.println("Sheets before importing :") ;
+ String[] names = xSheets.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ fLog.println("Sheet names :") ;
+ String[] snames = xSheets.getElementNames() ;
+ for (int i = 0; i < snames.length; i++) {
+ fLog.println(" " + snames[i]) ;
+ }
+ return xSheets.hasByName(impValue) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLExporter.java b/qadevOOo/tests/java/mod/_sc/XMLExporter.java
new file mode 100644
index 000000000000..f7a038f5dd88
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLExporter.java
@@ -0,0 +1,224 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. Checking whether tags for table corresponding to some sheet
+ * is exported.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker Filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+ final String SHEET_NAME = "XMLExporter_SheetTestName";
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLExporter", new Object[] {arg} );
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ //set name of sheet
+ XSpreadsheetDocument xSpreadsheetDoc = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets();
+ XIndexAccess xSheetsIndexArray = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ XSpreadsheet xSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),xSheetsIndexArray.getByIndex(0));
+ XNamed xSheetNamed = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class, xSheet);
+ xSheetNamed.setName(SHEET_NAME);
+
+ log.println("fill sheet with contnet...");
+ util.CalcTools.fillCalcSheetWithContent(xSheet, 3, 3, 50, 50);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ } catch (java.lang.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create environment.", e);
+ }
+
+ // adding tags which must be contained in XML output
+ Filter.addTag( new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:script"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:styles"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("table:table"),
+ new XMLTools.Tag("office:body") );
+ Filter.addTag(
+ new XMLTools.Tag("table:table", "table:name", SHEET_NAME) );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLImporter.java b/qadevOOo/tests/java/mod/_sc/XMLImporter.java
new file mode 100644
index 000000000000..64e9225bed02
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLImporter.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ XSpreadsheetDocument xSpreadsheetDoc = SOF.createCalcDoc( null );
+ xSheetDoc = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSpreadsheetDoc);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported tags contain new value for table name.
+ * After import table name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance("com.sun.star.comp.Calc.XMLImporter") ;
+ XImporter imp = (XImporter) UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(xSheetDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xSheetDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "office:class", "CDATA", "spreadsheet"
+ },
+ {"start", "office:body"},
+ {"start", "table:table",
+ "table:name", "CDATA", impValue},
+ {"end", "table:table"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter fLog = log ;
+ XSpreadsheetDocument xSpreadsheetDoc = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ final XSpreadsheets sheets = xSpreadsheetDoc.getSheets() ;
+ log.println("Sheets before importing :") ;
+ String[] names = sheets.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ fLog.println("Sheet names :") ;
+ String[] snames = sheets.getElementNames() ;
+ for (int i = 0; i < snames.length; i++) {
+ fLog.println(" " + snames[i]) ;
+ }
+
+ return sheets.hasByName(impValue) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java
new file mode 100644
index 000000000000..02c5cfb566f7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java
@@ -0,0 +1,205 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. A meta property 'Title' is set to some value. This made
+ * for checking if this value is successfully exported within
+ * the document meta information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ // Checking tags existance and changed property value
+ filter.addTag(new XMLTools.Tag ("office:document-meta"));
+ filter.addTag(new XMLTools.Tag ("office:meta"));
+ filter.addCharactersEnclosed("TestDocument",
+ new XMLTools.Tag ("dc:title"));
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLMetaExporter", new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ // Obtaining and changing property values
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface (XDocumentInfoSupplier.class,
+ xSheetDoc) ;
+ XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo()) ;
+ docInfo.setPropertyValue("Title", "TestDocument");
+
+ log.println("fill sheet 1 with contnet...");
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc,1, 3, 3, 50, 50);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create environment.", e) ;
+ } catch (java.lang.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create environment.", e);
+ }
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java
new file mode 100644
index 000000000000..29deca17e424
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ static XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLMetaImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including title tag
+ * with test title name.
+ * After import title name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impTitle = "XMLMetaImporter" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLMetaImporter") ;
+ XImporter imp = (XImporter) UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"},
+ {"start", "office:meta"} ,
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface(XDocumentInfoSupplier.class, xSheetDoc) ;
+ final XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo()) ;
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String) docInfo.getPropertyValue
+ ("Title") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java
new file mode 100644
index 000000000000..04c3cbc76c2a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. Sets settings' property 'ShowGrid' to 'false', then checks
+ * it in the exported xml document.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ SettingsFilterChecker filter = new SettingsFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLSettingsExporter",
+ new Object[] {arg} );
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ //set some settings
+ XModel xSheetModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+ XController xController = xSheetModel.getCurrentController();
+ XPropertySet xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xController);
+ xPropSet.setPropertyValue("ShowGrid", "false");
+
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc,1, 3, 3, 50, 50);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ } catch (java.lang.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create environment.", e);
+ }
+
+ //Create and prepare filter
+ // adding tags which must be contained in XML output
+ filter.addTag(new XMLTools.Tag("office:document-settings") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document-settings") );
+ filter.addCharactersEnclosed(
+ "false",
+ new XMLTools.Tag("config:config-item", "config:name", "ShowGrid") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class SettingsFilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public SettingsFilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java
new file mode 100644
index 000000000000..72954a3aa93f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java
@@ -0,0 +1,219 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XImporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ static XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLSettingsImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only settings tags including tag
+ * with new number of iteration steps.
+ * After import 'IterationCount' proeprty getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ final XPropertySet xPropSet ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLSettingsImporter") ;
+ XImporter imp = (XImporter) UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp) ;
+
+ XModel xSheetModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+ XController xController = xSheetModel.getCurrentController();
+ xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xController);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config"},
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "view-settings"},
+ {"start", "config:config-item-map-indexed",
+ "config:name", "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ShowGrid",
+ "config:type", "CDATA", "boolean"},
+ {"chars", "false"},
+ {"end", "config:config-item"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomType",
+ "config:type", "CDATA", "short"},
+ {"chars", "0"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomValue",
+ "config:type", "CDATA", "int"},
+ {"chars", "124"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Object gVal = xPropSet.getPropertyValue("ShowGrid") ;
+ logF.println("ShowGrid = " + gVal ) ;
+ return "false".equals(gVal) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java
new file mode 100644
index 000000000000..f0f5f387e0ef
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ static XComponent xSheetDoc;
+ protected int counter = 0;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+
+ try {
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. New style 'NewStyle' added to style family "Cell Styles".
+ * This made for checking if this style is successfully exported within
+ * the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ String newName = "NewStyle" + counter++;
+ // Adding tags for checking existance of head tag and property value
+ filter.addTag(new XMLTools.Tag("office:document-styles"));
+ filter.addTag(new XMLTools.Tag("style:style","style:name", newName));
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLStylesExporter", new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ // Obtaining and changing property values
+ XStyleFamiliesSupplier styleSup = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class, xSheetDoc);
+ XNameAccess StyleFamilies = styleSup.getStyleFamilies();
+ String[] styleFamiliesNames = StyleFamilies.getElementNames();
+ XNameContainer StyleFamilyName = (XNameContainer)
+ AnyConverter.toObject(new Type(XNameContainer.class),
+ StyleFamilies.getByName(styleFamiliesNames[0]));
+ Object SC = SOF.createInstance(
+ xSheetDoc, "com.sun.star.style.CellStyle");
+ XStyle StyleCell = (XStyle)
+ UnoRuntime.queryInterface(XStyle.class,SC);
+ StyleFamilyName.insertByName(newName, StyleCell);
+
+ log.println("fill sheet 1 with contnet...");
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc, 1, 3, 3, 50, 100);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create environment.", e);
+ } catch (java.lang.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create environment.", e);
+ }
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java
new file mode 100644
index 000000000000..7454ff849e42
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * 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 mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ static XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = (XComponent) UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLStylesImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only style tags including tag
+ * with new style name.
+ * After import style names getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLStylesImporter") ;
+ XImporter imp = (XImporter) UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ final String impStyleName = "XMLStylesImporter" ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:fo", "CDATA", "http://www.w3.org/1999/XSL/Format",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table"},
+ {"start", "office:styles"},
+ {"start", "style:style",
+ "style:name", "CDATA", impStyleName,
+ "style:family", "CDATA", "table-cell",
+ "style:parent-style-name", "CDATA", "Default"},
+ { "start", "style:properties",
+ "fo:width", "CDATA", "12cm",
+ "fo:background-color", "CDATA", "light-grey"},
+ {"end", "style:properties"},
+ {"end", "style:style"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XNameAccess styles = null ;
+ try {
+ XStyleFamiliesSupplier sup = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface
+ (XStyleFamiliesSupplier.class, xSheetDoc);
+ XNameAccess oStyleFamilies = sup.getStyleFamilies();
+ Object family = oStyleFamilies.getByName("CellStyles") ;
+ styles = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, family) ;
+ log.println("Styles before:") ;
+ String[] names = styles.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ }
+ final XNameAccess stylesF = styles ;
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ logF.println("Styles after:") ;
+ String[] names = stylesF.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ logF.println(" " + names[i]) ;
+ }
+ return stylesF.hasByName(impStyleName) ;
+ }
+ }) ;
+
+ return tEnv ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/package.html b/qadevOOo/tests/java/mod/_sc/package.html
new file mode 100644
index 000000000000..0e25718b7507
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'sc'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sch/AccArea.java b/qadevOOo/tests/java/mod/_sch/AccArea.java
new file mode 100644
index 000000000000..b371f1950558
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccArea.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccArea extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccArea");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccAxis.java b/qadevOOo/tests/java/mod/_sch/AccAxis.java
new file mode 100644
index 000000000000..2cdecae03aca
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccAxis.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccAxis extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccAxis");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccDataPoint.java b/qadevOOo/tests/java/mod/_sch/AccDataPoint.java
new file mode 100644
index 000000000000..3e94364a0559
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccDataPoint.java
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccDataPoint extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccDataPoint");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccDataSeries.java b/qadevOOo/tests/java/mod/_sch/AccDataSeries.java
new file mode 100644
index 000000000000..2d5ec4fde1d5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccDataSeries.java
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccDataSeries extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccDataSeries");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccDiagram.java b/qadevOOo/tests/java/mod/_sch/AccDiagram.java
new file mode 100644
index 000000000000..9b7f90766fdd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccDiagram.java
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccDiagram extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccDiagram");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccFloor.java b/qadevOOo/tests/java/mod/_sch/AccFloor.java
new file mode 100644
index 000000000000..37d56815983d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccFloor.java
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccFloor extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ log.println("Change Diagram to 3D");
+ XPropertySet ChartProps = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, xChartDoc.getDiagram() );
+ try {
+ ChartProps.setPropertyValue("Dim3D", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccFloor");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccGrid.java b/qadevOOo/tests/java/mod/_sch/AccGrid.java
new file mode 100644
index 000000000000..268f53ec8b3d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccGrid.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccGrid extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccGrid");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccLegend.java b/qadevOOo/tests/java/mod/_sch/AccLegend.java
new file mode 100644
index 000000000000..aa46cdb8407d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccLegend.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccLegend extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccLegend");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccLegendEntry.java b/qadevOOo/tests/java/mod/_sch/AccLegendEntry.java
new file mode 100644
index 000000000000..61c221df57e0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccLegendEntry.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccLegendEntry extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccLegendEntry");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccStatisticsObject.java b/qadevOOo/tests/java/mod/_sch/AccStatisticsObject.java
new file mode 100644
index 000000000000..aafe91fdd3d4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccStatisticsObject.java
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccStatisticsObject extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ log.println("Display MeanValue");
+ XPropertySet diagProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xChartDoc.getDiagram());
+ diagProps.setPropertyValue("MeanValue",new Boolean(true));
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccStatisticsObject");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccTitle.java b/qadevOOo/tests/java/mod/_sch/AccTitle.java
new file mode 100644
index 000000000000..0639f19ca4cc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccTitle.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccTitle extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccTitle");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccWall.java b/qadevOOo/tests/java/mod/_sch/AccWall.java
new file mode 100644
index 000000000000..66779421cc0b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccWall.java
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccWall extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ log.println("Change Diagram to 3D");
+ XPropertySet ChartProps = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, xChartDoc.getDiagram() );
+ try {
+ ChartProps.setPropertyValue("Dim3D", new Boolean(true));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccWall");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = (XAccessibleComponent)
+ UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java b/qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java
new file mode 100644
index 000000000000..9031680f93f1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleDocumentView extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ if (oObj == null) {
+ log.println("DocumentView hasn't the role 'Document'");
+ log.println("trying the role 'Shape'");
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE);
+ oObj = AccessibilityTools.SearchedContext;
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow xDocWin = xWindow;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rect = xDocWin.getPosSize();
+ xDocWin.setPosSize(100,100,100,100,PosSize.POSSIZE);
+ xDocWin.setPosSize(rect.X,rect.Y,rect.Width,rect.Height,
+ PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a chart document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartAxis.java b/qadevOOo/tests/java/mod/_sch/ChXChartAxis.java
new file mode 100644
index 000000000000..f796d5530a9c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartAxis.java
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisYSupplier;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartAxis</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::ChartAxis</code></li>
+* </ul>
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.ChartAxis
+* @see ifc.drawing._LineProperties
+* @see ifc.style._CharacterProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._ChartAxis
+*/
+public class ChXChartAxis extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Then obtains the properties
+ * of the y-axis of the diagram using the interface
+ * <code>XAxisYSupplier</code>. The obatined property is the instance
+ * of the service <code>com.sun.star.chart.ChartAxis</code>.
+ * @see com.sun.star.chart.XAxisYSupplier
+ * @see com.sun.star.chart.ChartAxis
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XPropertySet oObj = null;
+ XShape oDiagram = null;
+
+ // create testobject here
+ // get the Diagram
+ log.println( "getting Diagram" );
+ oDiagram = (XDiagram) xChartDoc.getDiagram();
+
+ // get the Axis
+ log.println( "getting ChartAxis" );
+ XAxisYSupplier oAxisSup = (XAxisYSupplier)
+ UnoRuntime.queryInterface(XAxisYSupplier.class,oDiagram);
+ oObj = (XPropertySet) oAxisSup.getYAxis();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+
+} // finish class ChXChartAxis
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartData.java b/qadevOOo/tests/java/mod/_sch/ChXChartData.java
new file mode 100644
index 000000000000..3236e345b8e6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartData.java
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartData</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* </ul>
+* @see com.sun.star.chart.ChartData
+* @see com.sun.star.chart.XChartData
+* @see ifc.chart._XChartData
+*/
+public class ChXChartData extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the data source of the chart. This data source is the instance
+ * of the service <code>com.sun.star.chart.ChartData</code>.
+ * @see com.sun.star.chart.ChartData
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Data
+ log.println( "getting Data" );
+ XChartData oObj = (XChartData) xChartDoc.getData();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXChartData
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java b/qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java
new file mode 100644
index 000000000000..14caeefff8c1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDataArray</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::chart::XChartDataArray</code></li>
+* </ul>
+* @see com.sun.star.chart.ChartDataArray
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.chart.XChartDataArray
+* @see ifc.chart._XChartData
+* @see ifc.chart._XChartDataArray
+*/
+public class ChXChartDataArray extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the data source of the chart. This data source is the instance
+ * of the service <code>com.sun.star.chart.ChartDataArray</code>.
+ * <code>com.sun.star.chart.ChartDataArray</code>.
+ * @see com.sun.star.chart.ChartDataArray
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Data
+ log.println( "getting Data" );
+ XChartData oObj = (XChartData) xChartDoc.getData();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXChartDataArray
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartDocument.java b/qadevOOo/tests/java/mod/_sch/ChXChartDocument.java
new file mode 100644
index 000000000000..deafa9922043
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartDocument.java
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDocument</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::frame::XModel</code></li>
+* <li> <code>com::sun::star::chart::XChartDocument</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::ChartTableAddressSupplier</code></li>
+* <li> <code>com::sun::star::chart::ChartDocument</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.frame.XModel
+* @see com.sun.star.chart.XChartDocument
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.ChartTableAddressSupplier
+* @see com.sun.star.chart.ChartDocument
+* @see ifc.lang._XComponent
+* @see ifc.frame._XModel
+* @see ifc.chart._XChartDocument
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._ChartTableAddressSupplier
+* @see ifc.chart._ChartDocument
+*/
+public class ChXChartDocument extends TestCase {
+ XChartDocument xChartDoc = null;
+ XChartDocument doc2 = null;
+
+ /**
+ * Disposes Chart documents.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ if( doc2!=null ) {
+ log.println( " closing xChartDoc2" );
+ util.DesktopTools.closeDoc(doc2);
+ doc2 = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two chart documents and retrieves current controllers from them
+ * using the interface <code>XChartDocument</code>. The created documents
+ * is the instances of the service <code>com.sun.star.chart.ChartDocument</code>.
+ * Obtains the data source of the second created chart and creates
+ * a pie diagram.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SELSUPP'</code> for
+ * {@link ifc.frame._XModel}(the controller of the first created chart
+ * document)</li>
+ * <li> <code>'TOSELECT'</code> for
+ * {@link ifc.frame._XModel}(the shape of the main title of
+ * the first created chart document)</li>
+ * <li> <code>'CONT2'</code> for
+ * {@link ifc.frame._XModel}(the second created chart document)</li>
+ * <li> <code>'DIAGRAM'</code> for
+ * {@link ifc.chart._XChartDocument}(the created pie diagram)</li>
+ * <li> <code>'CHARTDATA'</code> for
+ * {@link ifc.chart._XChartDocument}(the data source of the second
+ * created chart)</li>
+ * </ul>
+ * @see com.sun.star.chart.XChartData
+ * @see com.sun.star.chart.ChartDocument
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a chartdocument");
+ xChartDoc = SOF.createChartDoc(null);
+ log.println("Waiting before opening second document");
+ doc2 = SOF.createChartDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+
+ // get the chartdocument
+ log.println("getting ChartDocument");
+
+ XInterface oObj = (XChartDocument) xChartDoc;
+
+ XController cont1 = xChartDoc.getCurrentController();
+ XController cont2 = doc2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ log.println("creating a new environment for chartdocument object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", xChartDoc.getTitle());
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT2", cont2);
+
+ log.println("adding another Diagram as mod relation to environment");
+ tEnv.addObjRelation("DIAGRAM",
+ SOF.createDiagram(xChartDoc, "PieDiagram"));
+
+ log.println("adding another ChartData as mod relation to environment");
+
+ XChartData ChartData = doc2.getData();
+ tEnv.addObjRelation("CHARTDATA", ChartData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ChXChartDocument
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartView.java b/qadevOOo/tests/java/mod/_sch/ChXChartView.java
new file mode 100644
index 000000000000..f5476f2d0643
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartView.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShapeDescriptor;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.view.OfficeDocumentView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::view::XViewSettingsSupplier</code></li>
+* <li> <code>com::sun::star::view::XControlAccess</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* </ul>
+* @see com.sun.star.view.OfficeDocumentView
+* @see com.sun.star.view.XViewSettingsSupplier
+* @see com.sun.star.view.XControlAccess
+* @see com.sun.star.view.XSelectionSupplier
+* @see ifc.view._XViewSettingsSupplier
+* @see ifc.view._XControlAccess
+* @see ifc.view._XSelectionSupplier
+*/
+public class ChXChartView extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the current controller of the chart document using
+ * the interface <code>XModel</code>.The retrieved controller is the instance
+ * of the service <code>com.sun.star.view.OfficeDocumentView</code>.
+ * Obtains the main title and the legend of the chart document.
+ * Object relations created :
+ * <ul>
+ *
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XController oObj = null;
+ XModel oModel = null;
+
+ // get the ChartView
+ log.println( "getting ChartView" );
+ oModel = (XModel)UnoRuntime.queryInterface(XModel.class, xChartDoc);
+ oObj = (XController)oModel.getCurrentController();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("Selections", new Object[]
+ {xChartDoc.getArea(), xChartDoc.getDiagram(), xChartDoc.getTitle(),
+ xChartDoc.getLegend()} );
+
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XShapeDescriptor descr1 = (XShapeDescriptor)
+ UnoRuntime.queryInterface(XShapeDescriptor.class, o1);
+ XShapeDescriptor descr2 = (XShapeDescriptor)
+ UnoRuntime.queryInterface(XShapeDescriptor.class, o2);
+ if (descr1 == null || descr2 == null) {
+ return -1;
+ }
+ if (descr1.getShapeType().equals(descr2.getShapeType())) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ }
+ } );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChXChartView
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXDataPoint.java b/qadevOOo/tests/java/mod/_sch/ChXDataPoint.java
new file mode 100644
index 000000000000..0c1647684c75
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXDataPoint.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDataPointProperties</code>. <p>
+* Object implements the following interfaces
+* <ul>
+* <li> <code>com::sun::star::chart::ChartDataPointProperties</code></li>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::Chart3DBarProperties</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDataPointProperties
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.Chart3DBarProperties
+* @see ifc.chart._ChartDataPointProperties
+* @see ifc.drawing._FillProperties
+* @see ifc.drawing._LineProperties
+* @see ifc.style._CharacterProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._Chart3DBarProperties
+*/
+public class ChXDataPoint extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = (XChartDocument)
+ UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Obtains the properties of
+ * the specified data point. The obtained properties is the instance of
+ * the service <code>com.sun.star.chart.ChartDataPointProperties</code>.
+ * Creates a XY-diagram and bar-diagram also.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'LINE'</code> for
+ * {@link ifc.chart._ChartDataPointProperties}(the created XY-diagram)</li>
+ * <li> <code>'CHARTDOC'</code> for
+ * {@link ifc.chart._ChartDataPointProperties},
+ * {@link ifc.chart._Chart3DBarProperties}(the chart document)</li>
+ * <li> <code>'BAR'</code> for
+ * {@link ifc.chart._Chart3DBarProperties}(the created bar-diagram)</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XPropertySet oObj = null;
+ XDiagram oDiagram = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ // get the DataRowPoint_Point
+ try {
+ log.println( "getting ChXDataRowPoint_Point" );
+ oDiagram = (XDiagram) xChartDoc.getDiagram();
+ oObj = (XPropertySet) oDiagram.getDataPointProperties(1,1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get ChXDataRowPoint_Point", e );
+ }
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ Object line = SOF.createDiagram(xChartDoc,"XYDiagram");
+ tEnv.addObjRelation("LINE",line);
+
+ Object bar = SOF.createDiagram(xChartDoc,"BarDiagram");
+ tEnv.addObjRelation("BAR",bar);
+
+ log.println( "adding ChartDocument as mod relation to environment" );
+ tEnv.addObjRelation("CHARTDOC", xChartDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXDataPoint
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXDataRow.java b/qadevOOo/tests/java/mod/_sch/ChXDataRow.java
new file mode 100644
index 000000000000..69139ea5d902
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXDataRow.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDataRowProperties</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::chart::ChartStatistics</code></li>
+* <li> <code>com::sun::star::chart::ChartDataRowProperties</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::ChartDataPointProperties</code></li>
+* <li> <code>com::sun::star::chart::Chart3DBarProperties</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.chart.ChartStatistics
+* @see com.sun.star.chart.ChartDataRowProperties
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.ChartDataPointProperties
+* @see com.sun.star.chart.Chart3DBarProperties
+* @see com.sun.star.style.CharacterProperties
+* @see ifc.drawing._FillProperties
+* @see ifc.chart._ChartStatistics
+* @see ifc.chart._ChartDataRowProperties
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._ChartDataPointProperties
+* @see ifc.chart._Chart3DBarProperties
+* @see ifc.style._CharacterProperties
+*/
+public class ChXDataRow extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = (XChartDocument)
+ UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected synchronized void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Obtains the properties of
+ * the specified data row. The obtained properties is the instance of
+ * the service <code>com.sun.star.chart.ChartDataRowProperties</code>.
+ * Creates a XY-diagram and bar-diagram also.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'LINE'</code> for
+ * {@link ifc.chart._ChartDataPointProperties}(the created XY-diagram)</li>
+ * <li> <code>'CHARTDOC'</code> for
+ * {@link ifc.chart._ChartDataPointProperties},
+ * {@link ifc.chart._Chart3DBarProperties}(the chart document)</li>
+ * <li> <code>'BAR'</code> for
+ * {@link ifc.chart._Chart3DBarProperties}(the created bar-diagram)</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XPropertySet oObj = null;
+ XDiagram oDiagram = null;
+ // get the ChXDataRowPoint_Row
+ try {
+ log.println( "getting ChXDataRowPoint_Row" );
+ oDiagram = (XDiagram) xChartDoc.getDiagram();
+ oObj = (XPropertySet) oDiagram.getDataRowProperties(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get ChXDataRowPoint_Row", e );
+ }
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ Object line = SOF.createDiagram(xChartDoc,"XYDiagram");
+ tEnv.addObjRelation("LINE",line);
+
+ Object bar = SOF.createDiagram(xChartDoc,"BarDiagram");
+ tEnv.addObjRelation("BAR",bar);
+
+ log.println( "adding ChartDocument as mod relation to environment" );
+ tEnv.addObjRelation("CHARTDOC", xChartDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChXDataRow
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXDiagram.java b/qadevOOo/tests/java/mod/_sch/ChXDiagram.java
new file mode 100644
index 000000000000..908b947c4898
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXDiagram.java
@@ -0,0 +1,413 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.chart.XChartDataArray;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.document.XEmbeddedObjectSupplier;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XTableChart;
+import com.sun.star.table.XTableCharts;
+import com.sun.star.table.XTableChartsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by the following services:
+* <ul>
+* <li> <code>com.sun.star.chart.Dim3DDiagram</code> </li>
+* <li> <code>com.sun.star.chart.StockDiagram</code> </li>
+* <li> <code>com.sun.star.chart.LineDiagram</code> </li>
+* <li> <code>com.sun.star.chart.BarDiagram</code> </li>
+* <li> <code>com.sun.star.chart.StackableDiagram</code> </li>
+* </ul>
+* <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::chart::XDiagram</code></li>
+* <li> <code>com::sun::star::chart::ChartAxisXSupplier</code></li>
+* <li> <code>com::sun::star::chart::Dim3DDiagram</code></li>
+* <li> <code>com::sun::star::chart::StockDiagram</code></li>
+* <li> <code>com::sun::star::chart::ChartAxisZSupplier</code></li>
+* <li> <code>com::sun::star::chart::XTwoAxisXSupplier</code></li>
+* <li> <code>com::sun::star::chart::LineDiagram</code></li>
+* <li> <code>com::sun::star::chart::BarDiagram</code></li>
+* <li> <code>com::sun::star::chart::XAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::Diagram</code></li>
+* <li> <code>com::sun::star::chart::X3DDisplay</code></li>
+* <li> <code>com::sun::star::chart::ChartTwoAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::StackableDiagram</code></li>
+* <li> <code>com::sun::star::chart::ChartAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::XAxisXSupplier</code></li>
+* <li> <code>com::sun::star::chart::ChartTwoAxisXSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::chart::XTwoAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::ChartStatistics</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::chart::XAxisZSupplier</code></li>
+* <li> <code>com::sun::star::chart::XStatisticDisplay</code></li>
+* </ul>
+* @see com.sun.star.chart.XDiagram
+* @see com.sun.star.chart.ChartAxisXSupplier
+* @see com.sun.star.chart.Dim3DDiagram
+* @see com.sun.star.chart.StockDiagram
+* @see com.sun.star.chart.ChartAxisZSupplier
+* @see com.sun.star.chart.XTwoAxisXSupplier
+* @see com.sun.star.chart.LineDiagram
+* @see com.sun.star.chart.BarDiagram
+* @see com.sun.star.chart.XAxisYSupplier
+* @see com.sun.star.chart.Diagram
+* @see com.sun.star.chart.X3DDisplay
+* @see com.sun.star.chart.ChartTwoAxisYSupplier
+* @see com.sun.star.chart.StackableDiagram
+* @see com.sun.star.chart.ChartAxisYSupplier
+* @see com.sun.star.chart.XAxisXSupplier
+* @see com.sun.star.chart.ChartTwoAxisXSupplier
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.chart.XTwoAxisYSupplier
+* @see com.sun.star.chart.ChartStatistics
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.chart.XAxisZSupplier
+* @see com.sun.star.chart.XStatisticDisplay
+* @see ifc.chart._XDiagram
+* @see ifc.chart._ChartAxisXSupplier
+* @see ifc.chart._Dim3DDiagram
+* @see ifc.chart._StockDiagram
+* @see ifc.chart._ChartAxisZSupplier
+* @see ifc.chart._XTwoAxisXSupplier
+* @see ifc.chart._LineDiagram
+* @see ifc.chart._BarDiagram
+* @see ifc.chart._XAxisYSupplier
+* @see ifc.chart._Diagram
+* @see ifc.chart._X3DDisplay
+* @see ifc.chart._ChartTwoAxisYSupplier
+* @see ifc.chart._StackableDiagram
+* @see ifc.chart._ChartAxisYSupplier
+* @see ifc.chart._XAxisXSupplier
+* @see ifc.chart._ChartTwoAxisXSupplier
+* @see ifc.drawing._XShape
+* @see ifc.chart._XTwoAxisYSupplier
+* @see ifc.chart._ChartStatistics
+* @see ifc.beans._XPropertySet
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.chart._XAxisZSupplier
+* @see ifc.chart._XStatisticDisplay
+*/
+public class ChXDiagram extends TestCase {
+ XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " closing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Inserts some values into the cells of the some cell
+ * range address. Adds and retrieves the chart that using the data from
+ * the cells of this cell range address. Obtains the chart document which is
+ * embedded into the retrieved chart using the interface
+ * <code>XEmbeddedObjectSupplier</code>. Retrieves the diagram from
+ * the obtained chart document. The retrieved diagram is the instance of
+ * the service <code>com.sun.star.chart.Diagram</code>.
+ * Obtains the data source of the chart from the chart document.
+ * Creates a stock-diagram, a bar-diagram, a XY-diagram and line-diagram
+ * that are the instances of the following services:
+ * <ul>
+ * <li> <code>com.sun.star.chart.StockDiagram</code> </li>
+ * <li> <code>com.sun.star.chart.BarDiagram</code> </li>
+ * <li> <code>com.sun.star.chart.LineDiagram</code> </li>
+ * <li> <code>com.sun.star.chart.StackableDiagram</code> </li>
+ * </ul>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CHARTDOC'</code> for
+ * {@link ifc.chart._Dim3DDiagram}, {@link ifc.chart._StockDiagram},
+ * {@link ifc.chart._ChartAxisZSupplier}, {@link _LineDiagram},
+ * {@link ifc.chart._BarDiagram}, {@link ifc.chart._Diagram},
+ * {@link ifc.chart._ChartTwoAxisYSupplier},
+ * {@link ifc.chart._StackableDiagram}, {@link ifc.chart._Diagram},
+ * {@link ifc.chart._ChartAxisYSupplier},
+ * {@link ifc.chart._ChartTwoAxisXSupplier},
+ * {@link ifc.chart._ChartStatistics} (the obtained chart document)</li>
+ * <li> <code>'ROWAMOUNT', 'COLAMOUNT'</code> for
+ * {@link ifc.chart._XDiagram}(the number of chart columns and
+ * the number of chart rows) </li>
+ * <li> <code>'STOCK'</code> for
+ * {@link ifc.chart._StockDiagram}(the created stock-diagram) </li>
+ * <li> <code>'BAR'</code> for
+ * {@link ifc.chart._BarDiagram}, {@link ifc.chart._ChartAxisZSupplier},
+ * {@link ifc.chart._ChartTwoAxisXSupplier},
+ * {@link ifc.chart._ChartTwoAxisYSupplier}(the created bar-diagram)</li>
+ * <li> <code>'LINE'</code> for
+ * {@link ifc.chart._LineDiagram}(the created XY-diagram) </li>
+ * <li> <code>'STACK'</code> for
+ * {@link ifc.chart._StackableDiagram}(the created Line-diagram) </li>
+ * </ul>
+ * @see com.sun.star.document.XEmbeddedObjectSupplier
+ * @see com.sun.star.chart.Diagram
+ * @see com.sun.star.chart.StockDiagram
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ XSpreadsheet oSheet=null;
+ XChartDocument xChartDoc=null;
+ XDiagram oObj = null;
+
+ System.out.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ try {
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get sheet", e);
+ }
+
+ log.println("Creating the Header") ;
+
+ insertIntoCell(1,0,"JAN",oSheet,"");
+ insertIntoCell(2,0,"FEB",oSheet,"");
+ insertIntoCell(3,0,"MAR",oSheet,"");
+ insertIntoCell(4,0,"APR",oSheet,"");
+ insertIntoCell(5,0,"MAI",oSheet,"");
+ insertIntoCell(6,0,"JUN",oSheet,"");
+ insertIntoCell(7,0,"JUL",oSheet,"");
+ insertIntoCell(8,0,"AUG",oSheet,"");
+ insertIntoCell(9,0,"SEP",oSheet,"");
+ insertIntoCell(10,0,"OCT",oSheet,"");
+ insertIntoCell(11,0,"NOV",oSheet,"");
+ insertIntoCell(12,0,"DEC",oSheet,"");
+ insertIntoCell(13,0,"SUM",oSheet,"");
+
+ log.println("Fill the lines");
+
+ insertIntoCell(0,1,"Smith",oSheet,"");
+ insertIntoCell(1,1,"42",oSheet,"V");
+ insertIntoCell(2,1,"58.9",oSheet,"V");
+ insertIntoCell(3,1,"-66.5",oSheet,"V");
+ insertIntoCell(4,1,"43.4",oSheet,"V");
+ insertIntoCell(5,1,"44.5",oSheet,"V");
+ insertIntoCell(6,1,"45.3",oSheet,"V");
+ insertIntoCell(7,1,"-67.3",oSheet,"V");
+ insertIntoCell(8,1,"30.5",oSheet,"V");
+ insertIntoCell(9,1,"23.2",oSheet,"V");
+ insertIntoCell(10,1,"-97.3",oSheet,"V");
+ insertIntoCell(11,1,"22.4",oSheet,"V");
+ insertIntoCell(12,1,"23.5",oSheet,"V");
+ insertIntoCell(13,1,"=SUM(B2:M2)",oSheet,"");
+
+ insertIntoCell(0,2,"Jones",oSheet,"");
+ insertIntoCell(1,2,"21",oSheet,"V");
+ insertIntoCell(2,2,"40.9",oSheet,"V");
+ insertIntoCell(3,2,"-57.5",oSheet,"V");
+ insertIntoCell(4,2,"-23.4",oSheet,"V");
+ insertIntoCell(5,2,"34.5",oSheet,"V");
+ insertIntoCell(6,2,"59.3",oSheet,"V");
+ insertIntoCell(7,2,"27.3",oSheet,"V");
+ insertIntoCell(8,2,"-38.5",oSheet,"V");
+ insertIntoCell(9,2,"43.2",oSheet,"V");
+ insertIntoCell(10,2,"57.3",oSheet,"V");
+ insertIntoCell(11,2,"25.4",oSheet,"V");
+ insertIntoCell(12,2,"28.5",oSheet,"V");
+ insertIntoCell(13,2,"=SUM(B3:M3)",oSheet,"");
+
+ insertIntoCell(0,3,"Brown",oSheet,"");
+ insertIntoCell(1,3,"31.45",oSheet,"V");
+ insertIntoCell(2,3,"-20.9",oSheet,"V");
+ insertIntoCell(3,3,"-117.5",oSheet,"V");
+ insertIntoCell(4,3,"23.4",oSheet,"V");
+ insertIntoCell(5,3,"-114.5",oSheet,"V");
+ insertIntoCell(6,3,"115.3",oSheet,"V");
+ insertIntoCell(7,3,"-171.3",oSheet,"V");
+ insertIntoCell(8,3,"89.5",oSheet,"V");
+ insertIntoCell(9,3,"41.2",oSheet,"V");
+ insertIntoCell(10,3,"71.3",oSheet,"V");
+ insertIntoCell(11,3,"25.4",oSheet,"V");
+ insertIntoCell(12,3,"38.5",oSheet,"V");
+ insertIntoCell(13,3,"=SUM(A4:L4)",oSheet,"");
+
+ // insert a chart
+ Rectangle oRect = new Rectangle(500, 3000, 25000, 11000);
+
+ XCellRange oRange = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ XCellRange myRange = oRange.getCellRangeByName("A1:N4");
+ XCellRangeAddressable oRangeAddr = (XCellRangeAddressable)
+ UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
+ CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
+
+ CellRangeAddress[] oAddr = new CellRangeAddress[1];
+ oAddr[0] = myAddr;
+ XTableChartsSupplier oSupp = (XTableChartsSupplier)
+ UnoRuntime.queryInterface(XTableChartsSupplier.class, oSheet);
+
+ log.println("Insert Chart");
+ XTableCharts oCharts = oSupp.getCharts();
+
+
+ if (!oCharts.hasByName("ChXDiagram")) {
+ oCharts.addNewByName("ChXDiagram", oRect, oAddr, true, true);
+ }
+
+ // get the TableChart
+ XTableChart oChart = null;
+ try {
+ oChart = (XTableChart) AnyConverter.toObject(
+ new Type(XTableChart.class),((XNameAccess)
+ UnoRuntime.queryInterface(
+ XNameAccess.class, oCharts)).getByName("ChXDiagram"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TableChart", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TableChart", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TableChart", e);
+ }
+
+ XEmbeddedObjectSupplier oEOS = (XEmbeddedObjectSupplier)
+ UnoRuntime.queryInterface(XEmbeddedObjectSupplier.class, oChart);
+ XInterface oInt = oEOS.getEmbeddedObject();
+ xChartDoc = (XChartDocument)
+ UnoRuntime.queryInterface(XChartDocument.class,oInt);
+ oObj = (XDiagram) xChartDoc.getDiagram();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding ChartDocument as mod relation to environment" );
+ tEnv.addObjRelation("CHARTDOC", xChartDoc);
+
+ XChartDataArray da = (XChartDataArray)
+ UnoRuntime.queryInterface(XChartDataArray.class, xChartDoc.getData());
+ int cols = da.getColumnDescriptions().length;
+ int rows = da.getRowDescriptions().length;
+
+ tEnv.addObjRelation("ROWAMOUNT", new Integer(rows));
+ tEnv.addObjRelation("COLAMOUNT", new Integer(cols));
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ Object stock = SOF.createDiagram(xChartDoc,"StockDiagram");
+ tEnv.addObjRelation("STOCK",stock);
+
+ Object bar = SOF.createDiagram(xChartDoc,"BarDiagram");
+ tEnv.addObjRelation("BAR",bar);
+
+ Object line = SOF.createDiagram(xChartDoc,"XYDiagram");
+ tEnv.addObjRelation("LINE",line);
+
+ Object stack = SOF.createDiagram(xChartDoc,"LineDiagram");
+ tEnv.addObjRelation("STACK",stack);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Inserts a value or a formula in the cell of the spreasheet.
+ * @param CellX is the column index of the cell
+ * @param CellY is the row index of the cell
+ * @param theValue string representation of the value
+ * @param TT1 specify the spreadsheet, the interface
+ * <code>com.sun.star.sheet.XSpreadsheet</code>
+ * @param flag if it's equal to <code>'V'</code> then the method inserts
+ * a double-value in the cell else it inserts a formula in the cell
+ */
+ public static void insertIntoCell(
+ int CellX, int CellY, String theValue, XSpreadsheet TT1, String flag) {
+
+ XCell oCell = null;
+
+ try {
+ oCell = TT1.getCellByPosition(CellX, CellY);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ System.out.println("Could not get Cell");
+ }
+ if (flag.equals("V")) {oCell.setValue((new Float(theValue)).floatValue());}
+ else {oCell.setFormula(theValue);}
+
+ } // end of insertIntoCell
+
+
+} // finish class ChXDiagram
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartArea.java b/qadevOOo/tests/java/mod/_sch/ChartArea.java
new file mode 100644
index 000000000000..614327f94a1e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartArea.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartArea</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartArea
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._FillProperties
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+*/
+public class ChartArea extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = (XChartDocument)
+ UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieved the instance of the service <code>com.sun.star.chart.ChartArea</code>
+ * using the interface <code>XChartDocument</code>.
+ * @see com.sun.star.chart.XChartDocument
+ * @see com.sun.star.chart.ChartArea
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Area
+ log.println( "getting Area" );
+ XPropertySet oObj = (XPropertySet) xChartDoc.getArea();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChartArea
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartGrid.java b/qadevOOo/tests/java/mod/_sch/ChartGrid.java
new file mode 100644
index 000000000000..73a44b810436
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartGrid.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisXSupplier;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartGrid</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.chart.ChartGrid
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+*/
+public class ChartGrid extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Then obtains
+ * the properties of the main grid of the x-axis of the diagram
+ * using the interface <code>XAxisXSupplier</code>. This properties is
+ * the instance of the service <code>com.sun.star.chart.ChartGrid</code>.
+ * @see com.sun.star.chart.XAxisXSupplier
+ * @see com.sun.star.chart.ChartGrid
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XPropertySet oObj = null;
+ XShape oDiagram = null;
+
+ // get the Diagram
+ log.println( "getting Diagram" );
+ oDiagram = (XDiagram) xChartDoc.getDiagram();
+
+ // get the Grid
+ log.println( "getting ChartGrid" );
+ XAxisXSupplier oAxisSup = (XAxisXSupplier)
+ UnoRuntime.queryInterface(XAxisXSupplier.class,oDiagram);
+ oObj = (XPropertySet) oAxisSup.getXMainGrid();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChartGrid
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartLegend.java b/qadevOOo/tests/java/mod/_sch/ChartLegend.java
new file mode 100644
index 000000000000..a0dd4fe3ec64
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartLegend.java
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartLegend</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::drawing::Shape</code></li>
+* <li> <code>com::sun::star::chart::ChartLegend</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.drawing.Shape
+* @see com.sun.star.chart.ChartLegend
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.lang.XComponent
+* @see ifc.drawing._FillProperties
+* @see ifc.drawing._XShape
+* @see ifc.drawing._Shape
+* @see ifc.chart._ChartLegend
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.style._CharacterProperties
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.lang._XComponent
+*/
+public class ChartLegend extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = (XChartDocument)
+ UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. The retrieved
+ * diagram is the instance of the service
+ * <code>com.sun.star.chart.ChartLegend</code>.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XShape oObj = null;
+
+ // get the Legend
+ log.println( "getting Legend" );
+ oObj = (XShape) xChartDoc.getLegend();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("NoSetSize", "sch.ChartLegend");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChartLegend
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartLine.java b/qadevOOo/tests/java/mod/_sch/ChartLine.java
new file mode 100644
index 000000000000..950885060f5f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartLine.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartLine</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+*/
+public class ChartLine extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates a bar diagram and sets the created diagram for the chart document.
+ * Retrieves the property <code>'DataMeanValueProperties'</code> of
+ * the specified data row. The retrieved property is the instance of
+ * the service <code>com.sun.star.chart.ChartLine</code>.
+ * @see com.sun.star.chart.ChartLine
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XPropertySet oObj = null;
+ XDiagram oDiagram = null;
+ SOfficeFactory SOF = null;
+
+ //get LineDiagram
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ oDiagram = SOF.createDiagram(xChartDoc, "LineDiagram");
+
+ log.println( "getting Line-Diagram" );
+ xChartDoc.setDiagram(oDiagram);
+
+ // get the Line
+ try {
+ log.println( "getting Line" );
+ XPropertySet RowProps = oDiagram.getDataRowProperties(1);
+ RowProps.setPropertyValue("MeanValue", new Boolean( true ));
+ oObj = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class),
+ RowProps.getPropertyValue("DataMeanValueProperties"));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get Line", e );
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get Line", e );
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get Line", e );
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get Line", e );
+ }
+ catch(com.sun.star.beans.PropertyVetoException e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get Line", e );
+ }
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChartLine
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartTitle.java b/qadevOOo/tests/java/mod/_sch/ChartTitle.java
new file mode 100644
index 000000000000..f88c938693bc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartTitle.java
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * 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 mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartTitle</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::chart::ChartTitle</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::drawing::Shape</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.chart.ChartTitle
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.drawing.Shape
+* @see ifc.lang._XComponent
+* @see ifc.chart._ChartTitle
+* @see ifc.drawing._XShape
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.style._CharacterProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.drawing._Shape
+*/
+public class ChartTitle extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the shape of the main title of the chart document.
+ * The retrieved shape is the instance of the service
+ * <code>com.sun.star.chart.ChartTitle</code>.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Title
+ log.println( "getting Title" );
+ XShape oObj = (XShape) xChartDoc.getTitle();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("NoSetSize","sch.ChartTitle");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXChartObject_Title
+
diff --git a/qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java b/qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java
new file mode 100644
index 000000000000..b6f6bc4c881d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XDrawView;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleDrawDocumentView extends TestCase {
+
+ XComponent xDrawDoc;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ final XDrawPage fDP2 = oDPn.insertNewByIndex(1);
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oDPn);
+ XDrawPage oDP = null;
+ try {
+ oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ //get a Shape
+ log.println( "inserting a Shape" );
+ XShape oShape = SOF.createShape(xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow (
+ (XMultiServiceFactory)Param.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ //com.sun.star.accessibility.AccessibleRole
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName "+utils.getImplName(oObj));
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XDrawView xView = (XDrawView) UnoRuntime.queryInterface
+ (XDrawView.class, aModel.getCurrentController()) ;
+ final XDrawPage fDP1 = oDP;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xView.setCurrentPage(fDP2);
+ xView.setCurrentPage(fDP1);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing Draw document");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java b/qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java
new file mode 100644
index 000000000000..a486bada5987
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class AccessibleOutlineView extends TestCase {
+
+ XModel aModel = null;
+ XComponent xImpressDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow (
+ (XMultiServiceFactory)Param.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName "+utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, aModel);
+ final XDrawPages oDPn = oDPS.getDrawPages();
+
+ tEnv.addObjRelation("EventMsg","Inserting a drawpage via API has no "+
+ "effect to the outline view #101050# \r\n"+
+ "Therefore the listener isn't called");
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ oDPn.insertNewByIndex(1);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log ) {
+ log.println("disposing Impress document");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ //Change to Outline view
+ try {
+ String aSlotID = "slot:27010";
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface( XDispatchProvider.class, oObj );
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).
+ createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+ shortWait();
+ }
+
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java b/qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java
new file mode 100644
index 000000000000..31c00288a561
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class AccessibleSlideView extends TestCase {
+
+ XModel aModel = null;
+ XComponent xImpressDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, aModel);
+ XDrawPages oDPn = oDPS.getDrawPages();
+
+ oDPn.insertNewByIndex(0);
+
+ shortWait();
+
+ XWindow xWindow = at.getCurrentWindow (
+ (XMultiServiceFactory)Param.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ System.out.println("ImplementationName "+utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //util.dbg.printInterfaces(oObj);
+ log.println("Implementationname: "+util.utils.getImplName(oObj));
+
+ final XDrawPages DrawPages = oDPn;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ DrawPages.insertNewByIndex(2);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log ) {
+ log.println("disposing impress document");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ //Change to Outline view
+ try {
+ String aSlotID = "slot:27011";
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface( XDispatchProvider.class,
+ aModel.getCurrentController() );
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).
+ createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+
+ shortWait();
+
+ }
+
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java b/qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java
new file mode 100644
index 000000000000..be510ff1f98c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java
@@ -0,0 +1,303 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_DrawView extends TestCase {
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing.DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating two impress documents" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ shortWait();
+ xSecondDrawDoc = SOF.createDrawDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ shortWait();
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ XController aController2 = aModel2.getCurrentController();
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class, aController2);
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ try {
+ oShapeCol1 = ((XMultiServiceFactory)Param.getMSF()).
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = ((XMultiServiceFactory)Param.getMSF()).
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create instance"));
+ }
+
+ XShapes xShapes1 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ shortWait();
+
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = aController2.getFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel2);
+
+ tEnv.addObjRelation("SecondController", aController2);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = (XModifiable)
+ UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java b/qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java
new file mode 100644
index 000000000000..40244836da1e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java
@@ -0,0 +1,337 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>HandoutMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_HandoutView extends TestCase {
+ static XDesktop the_Desk;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>HandoutMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing.DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ try {
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ xDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ for (int i = 1; i < 10; i++){
+ the_pages.insertNewByIndex(i);
+ }
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ shortWait();
+
+ log.println("switch to HandoutView...");
+ try{
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:HandoutMode");
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(e.toString()));
+ }
+
+ utils.shortWait(500);
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ try {
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create instance"));
+ }
+
+ XShapes xShapes1 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ shortWait();
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = (XModifiable)
+ UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java b/qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java
new file mode 100644
index 000000000000..73445b3d33c7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java
@@ -0,0 +1,334 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>NotesMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_NotesView extends TestCase {
+ static XDesktop the_Desk;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>NotesMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing.DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ try {
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ xDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ shortWait();
+
+ log.println("switch to HandoutView...");
+ try{
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:NotesMode");
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(e.toString()));
+ }
+
+ utils.shortWait(500);
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ try {
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create instance"));
+ }
+
+ XShapes xShapes1 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ shortWait();
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = (XModifiable)
+ UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java b/qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java
new file mode 100644
index 000000000000..a6398884c7f6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java
@@ -0,0 +1,334 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>OutlineMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_OutlineView extends TestCase {
+ static XDesktop the_Desk;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>OutlineMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing.DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ try {
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ xDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ shortWait();
+
+ log.println("switch to HandoutView...");
+ try{
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:OutlineMode");
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(e.toString()));
+ }
+
+ utils.shortWait(500);
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ try {
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create instance"));
+ }
+
+ XShapes xShapes1 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ shortWait();
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = (XModifiable)
+ UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java b/qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java
new file mode 100644
index 000000000000..ad4634cc7324
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java
@@ -0,0 +1,334 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>DiaMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_PresentationView extends TestCase {
+ static XDesktop the_Desk;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>DiaMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing.DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ try {
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ xDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ shortWait();
+
+ log.println("switch to PresentationView...");
+ try{
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:DiaMode");
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed(e.toString()));
+ }
+
+ utils.shortWait(500);
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ try {
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException(Status.failed("Couldn't create instance"));
+ }
+
+ XShapes xShapes1 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ shortWait();
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = (XModifiable)
+ UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java b/qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java
new file mode 100644
index 000000000000..2ba3b56430dd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XLinkTargetSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.document.LinkTargets</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.document.LinkTargets
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class SdDocLinkTargets extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the possible links to childrens of the drawing document using
+ * the interface <code>XLinkTargetSupplier</code>. The retrieved collection
+ * is the instance of the service <code>com.sun.star.document.LinkTargets</code>.
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.document.LinkTargets
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ // get the Links here
+ log.println( "getting Links" );
+ XLinkTargetSupplier oLTS = (XLinkTargetSupplier)
+ UnoRuntime.queryInterface(XLinkTargetSupplier.class,xDrawDoc);
+ XInterface oObj = oLTS.getLinks();
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdDocLinkTargets
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdDrawPage.java b/qadevOOo/tests/java/mod/_sd/SdDrawPage.java
new file mode 100644
index 000000000000..1cd742919727
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdDrawPage.java
@@ -0,0 +1,216 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XMasterPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawPage</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+* <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+* <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+* <li> <code>com::sun::star::drawing::XShapes</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XMasterPageTarget</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawPage
+* @see com.sun.star.drawing.GenericDrawPage
+* @see com.sun.star.drawing.XShapeBinder
+* @see com.sun.star.drawing.XShapeGrouper
+* @see com.sun.star.drawing.XShapes
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XMasterPageTarget
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.drawing.XShapeCombiner
+* @see ifc.drawing._GenericDrawPage
+* @see ifc.drawing._XShapeBinder
+* @see ifc.drawing._XShapeGrouper
+* @see ifc.drawing._XShapes
+* @see ifc.lang._XServiceInfo
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XMasterPageTarget
+* @see ifc.container._XNamed
+* @see ifc.drawing._XShapeCombiner
+*/
+public class SdDrawPage extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code> and take one of them.
+ * The retrieved draw page is the instance of the service
+ * <code>com.sun.star.drawing.DrawPage</code>. Inserts some shapes
+ * into the draw page. Obtains the MasterPages collection. Creates
+ * the rectangle shape.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes}( the created rectangle shape )</li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder}, {@link ifc.drawing._XShapeGrouper},
+ * {@link ifc.drawing._XShapeCombiner}( the retrieved draw page )</li>
+ * <li> <code>'MasterPageSupplier'</code> for
+ * {@link ifc.drawing._XMasterPageTarget}(the obtained master pages
+ * collection)</li>
+ * </ul>
+ * @see com.sun.star.drawing.DrawPage
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,oDPn);
+ try {
+ oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get DrawPage", e );
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get DrawPage", e );
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get DrawPage", e );
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes) UnoRuntime.queryInterface
+ (XShapes.class,oObj);
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 2000, 1500, 1000, 1000, "Line"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle"));
+
+ //get the XMasterPagesSupplier
+ log.println("get XMasterPagesSupplier");
+ XMasterPagesSupplier oMPS = (XMasterPagesSupplier)
+ UnoRuntime.queryInterface(XMasterPagesSupplier.class, xDrawDoc);
+ XDrawPages oGroup = oMPS.getMasterPages();
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XControlShape aShape = FormTools.createControlShape(
+ xDrawDoc,3000,4500,15000,10000,"CommandButton");
+
+ oShapes.add((XShape) aShape);
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xDrawDoc, sDsc));
+ tEnv.addObjRelation("DrawPage", oObj);
+ tEnv.addObjRelation("MasterPageSupplier",oGroup);
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdDrawPage
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java b/qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java
new file mode 100644
index 000000000000..f994b318b2be
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawPages</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::XDrawPageExpander</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::drawing::XDrawPageSummarizer</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XDrawPages</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawPages
+* @see com.sun.star.drawing.XDrawPageExpander
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.drawing.XDrawPageSummarizer
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XDrawPages
+* @see ifc.drawing._XDrawPageExpander
+* @see ifc.container._XIndexAccess
+* @see ifc.drawing._XDrawPageSummarizer
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XDrawPages
+*/
+public class SdDrawPagesAccess extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code>. Inserts two new draw pages.
+ * The retrieved collection is the instance of the service
+ * <code>com.sun.star.drawing.DrawPages</code>.
+ * @see com.sun.star.drawing.DrawPages
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpages" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDP = (XDrawPages) oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ XInterface oObj = oDP;
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+
+} // finish class SdDrawPagesAccess
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java b/qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java
new file mode 100644
index 000000000000..e0a1344435a9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java
@@ -0,0 +1,189 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.GenericDrawPage</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+* <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+* <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+* <li> <code>com::sun::star::drawing::XShapes</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* </ul>
+* @see com.sun.star.drawing.GenericDrawPage
+* @see com.sun.star.drawing.XShapeBinder
+* @see com.sun.star.drawing.XShapeGrouper
+* @see com.sun.star.drawing.XShapes
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XShapeCombiner
+* @see com.sun.star.container.XNamed
+* @see ifc.drawing._GenericDrawPage
+* @see ifc.drawing._XShapeBinder
+* @see ifc.drawing._XShapeGrouper
+* @see ifc.drawing._XShapes
+* @see ifc.lang._XServiceInfo
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XShapeCombiner
+* @see ifc.container._XNamed
+*/
+public class SdGenericDrawPage extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code> and take one of them.
+ * The retrieved draw page is the instance of the service
+ * <code>com.sun.star.drawing.DrawPage</code>. Inserts some shapes
+ * into the draw page. Creates the rectangle shape.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes}( the created rectangle shape )</li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder}, {@link ifc.drawing._XShapeGrouper},
+ * {@link ifc.drawing._XShapeCombiner}( the retrieved draw page )</li>
+ * </ul>
+ * @see com.sun.star.drawing.DrawPage
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShapes oShapes = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class,xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess) UnoRuntime.queryInterface
+ (XIndexAccess.class,oDPn);
+ try {
+ oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ oShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class,oObj);
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 2000, 1500, 1000, 1000, "Line"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle"));
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xDrawDoc, sDsc));
+
+ // adding relation for XShapeGrouper
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+
+} // finish class SdGenericDrawPage
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdLayer.java b/qadevOOo/tests/java/mod/_sd/SdLayer.java
new file mode 100644
index 000000000000..7407a20ba17c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdLayer.java
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.drawing.XLayer;
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XLayerSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.Layer</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::Layer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.drawing.Layer
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._Layer
+* @see ifc.beans._XPropertySet
+*/
+public class SdLayer extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the layer manager from the document and takes one of the layer.
+ * The obtained layer is the instance of the service
+ * <code>com.sun.star.drawing.Layer</code>.
+ * @see com.sun.star.drawing.Layer
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XLayerManager oLM = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get the drawpage of drawing here
+ log.println( "getting LayerManager" );
+ XLayerSupplier oLS = (XLayerSupplier)
+ UnoRuntime.queryInterface(XLayerSupplier.class, xDrawDoc);
+ XNameAccess oNA = oLS.getLayerManager();
+ oLM = (XLayerManager)
+ UnoRuntime.queryInterface(XLayerManager.class, oNA);
+ XIndexAccess oIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,oLM);
+ log.println( "getting LayerManager" );
+ try {
+ oObj = (XLayer) AnyConverter.toObject(
+ new Type(XLayer.class),oIA.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdLayer
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdLayerManager.java b/qadevOOo/tests/java/mod/_sd/SdLayerManager.java
new file mode 100644
index 000000000000..cf8a0644ce8a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdLayerManager.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XLayerSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.LayerManager</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::XLayerManager</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.drawing.LayerManager
+* @see com.sun.star.drawing.XLayerManager
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.drawing._XLayerManager
+* @see ifc.container._XNameAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+*/
+public class SdLayerManager extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the layer manager using the interface <code>XLayerSupplier</code>.
+ * The manager is the instance of the service
+ * <code>com.sun.star.drawing.LayerManager</code>. Creates a rectangle shape.
+ * Retrieves the collection of the draw pages and take one of them.
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XLayerManager}(the created shape)</li>
+ * <li> <code>'Shapes'</code> for
+ * {@link ifc.drawing._XLayerManager}(the shape collection of
+ * the retrived draw page)</li>
+ * </ul>
+ * @see com.sun.star.drawing.XLayerSupplier
+ * @see com.sun.star.drawing.LayerManager
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ XLayerSupplier oLS = (XLayerSupplier)
+ UnoRuntime.queryInterface(XLayerSupplier.class, xDrawDoc);
+ XInterface oObj = oLS.getLayerManager();
+
+ log.println( "creating a new environment for XLayerManager object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator(xDrawDoc, sDsc));
+
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class,xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,oDPn);
+
+ XDrawPage oDP = null;
+ try {
+ oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDP);
+
+ log.println( "adding Shapes as mod relation to environment" );
+ tEnv.addObjRelation("Shapes", oShapes);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdLayerManager
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdMasterPage.java b/qadevOOo/tests/java/mod/_sd/SdMasterPage.java
new file mode 100644
index 000000000000..20cfce2a5da7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdMasterPage.java
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPagesSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.MasterPage</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+* <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+* <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+* <li> <code>com::sun::star::drawing::XShapes</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* </ul>
+* @see com.sun.star.drawing.MasterPage
+* @see com.sun.star.drawing.GenericDrawPage
+* @see com.sun.star.drawing.XShapeBinder
+* @see com.sun.star.drawing.XShapeGrouper
+* @see com.sun.star.drawing.XShapes
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XShapeCombiner
+* @see com.sun.star.container.XNamed
+* @see ifc.drawing._GenericDrawPage
+* @see ifc.drawing._XShapeBinder
+* @see ifc.drawing._XShapeGrouper
+* @see ifc.drawing._XShapes
+* @see ifc.lang._XServiceInfo
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XShapeCombiner
+* @see ifc.container._XNamed
+*/
+public class SdMasterPage extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the master pages from the document using the
+ * interface <code>XMasterPagesSupplier</code> and takes
+ * one of them. Inserts some shapes into the document. Creates a rectangle
+ * shape. The retrieved master page is the instance of the service
+ * <code>com.sun.star.drawing.MasterPage</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder}, {@link ifc.drawing._XShapeGrouper},
+ * {@link ifc.drawing._XShapeCombiner}( the draw page of the retrieved
+ * master page)</li>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes}(the created rectangle shape)</li>
+ * </ul>
+ * @see com.sun.star.drawing.XMasterPagesSupplier
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ // get the MasterPages here
+ log.println( "getting MasterPages" );
+ XMasterPagesSupplier oMPS = (XMasterPagesSupplier)
+ UnoRuntime.queryInterface(XMasterPagesSupplier.class, xDrawDoc);
+ XDrawPages oMPn = oMPS.getMasterPages();
+ XIndexAccess oMPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oMPn);
+
+ log.println( "getting MasterPage" );
+ XInterface oObj = null;
+ try {
+ oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oMPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get MasterPage by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get MasterPage by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get MasterPage by index", e);
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ //put something on the masterpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oObj);
+ oShapes.add(SOF.createShape(xDrawDoc, 2000, 1500, 1000, 1000, "Line"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle"));
+
+ log.println( "creating a new environment for MasterPage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding DrawPage as mod relation to environment" );
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xDrawDoc, sDsc));
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdMasterPage
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java b/qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java
new file mode 100644
index 000000000000..a0eb65b9301a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.MasterPages</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XDrawPages</code></li>
+* </ul>
+* @see com.sun.star.drawing.MasterPages
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XDrawPages
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XDrawPages
+*/
+public class SdMasterPagesAccess extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the master pages from the document using the
+ * interface <code>XMasterPagesSupplier</code>. Inserts two new draw pages.
+ * The retrieved collection is the instance of the service
+ * <code>com.sun.star.drawing.MasterPages</code>.
+ * @see com.sun.star.drawing.XMasterPagesSupplier
+ * @see com.sun.star.drawing.MasterPages
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ log.println( "creating a test environment" );
+
+ // get the MasterPages here
+ log.println( "getting MasterPages" );
+ XMasterPagesSupplier oMPS = (XMasterPagesSupplier)
+ UnoRuntime.queryInterface( XMasterPagesSupplier.class, xDrawDoc);
+ XDrawPages oMP = oMPS.getMasterPages();
+ log.println( "insert MasterPages" );
+ oMP.insertNewByIndex(1);
+ oMP.insertNewByIndex(2);
+ XInterface oObj = oMP;
+
+ log.println( "creating a new environment for MasterPagesAccess object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdMasterPagesAccess
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java b/qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java
new file mode 100644
index 000000000000..1cb240b76de7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XLinkTargetSupplier;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.document.LinkTargets</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.document.LinkTargets
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class SdPageLinkTargets extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of draw pages and take one of them.
+ * Obtains the collection of possible links using the interface
+ * <code>XLinkTargetSupplier</code>. The obtained collection is
+ * the instance of the service <code>com.sun.star.document.LinkTargets</code>.
+ * Inserts some shapes into the document.
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.document.LinkTargets
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ XDrawPage the_page = DrawTools.getDrawPage(xDrawDoc, 0);
+ XLinkTargetSupplier oLTS = (XLinkTargetSupplier)
+ UnoRuntime.queryInterface(XLinkTargetSupplier.class, the_page);
+ XInterface oObj = oLTS.getLinks();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class,the_page);
+ XShape oShape =
+ SOF.createShape(xDrawDoc, 15000, 13500, 5000, 5000, "OLE2");
+ oShapes.add(oShape);
+
+ XPropertySet shape_props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+
+ log.println("Inserting a Chart");
+
+ try {
+ shape_props.
+ setPropertyValue("CLSID","12DCAE26-281F-416F-a234-c3086127382e");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ }
+
+ log.println( "creating a new environment for LinkTargets object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdPageLinkTargets
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java b/qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java
new file mode 100644
index 000000000000..0d01141653af
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java
@@ -0,0 +1,299 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class SdUnoDrawView extends TestCase {
+ static XDesktop the_Desk;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing draw documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing.DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ public synchronized lib.TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating two draw documents" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ shortWait();
+ xSecondDrawDoc = SOF.createDrawDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ shortWait();
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ shape1, shape2, shape3});
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = (XModifiable)
+ UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+} // finish class SdUnoDrawView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java b/qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java
new file mode 100644
index 000000000000..73ff1f41799f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java
@@ -0,0 +1,246 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.present.OutlineView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::presentation::OutlineView</code></li>
+* <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li> <code>com::sun::star::awt::XWindow</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.presentation.OutlineView
+* @see com.sun.star.awt.XWindow
+* @see com.sun.star.frame.XDispatchProvider
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.awt._XWindow
+* @see ifc.presentation._OutlineView
+* @see ifc.frame._XDispatchProvider
+*/
+public class SdUnoOutlineView extends TestCase {
+ XDesktop the_Desk;
+ XComponent xImpressDoc;
+ XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ util.DesktopTools.closeDoc(xSecondDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating of the documents makes short
+ * wait to allow frames to be loaded. Retrieves the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service <code>com.sun.star.presentation.OutlineView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ //Change to Outline view
+ try {
+ String aSlotID = "slot:27010";
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface( XDispatchProvider.class, oObj );
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+
+ try {
+ log.println( "creating a second impress document" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ oObj = aModel.getCurrentController();
+
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ }
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27069");
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(5000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+} // finish class SdUnoOutlineView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoPresView.java b/qadevOOo/tests/java/mod/_sd/SdUnoPresView.java
new file mode 100644
index 000000000000..47a46180ba03
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoPresView.java
@@ -0,0 +1,301 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class SdUnoPresView extends TestCase {
+ static XDesktop the_Desk;
+ static XComponent xImpressDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ util.DesktopTools.closeDoc(xSecondDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating of the documents makes short
+ * wait to allow frames to be loaded. Retrieves the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'First'</code> for
+ * {@link ifc.view._XSelectionSupplier}(the first created shape) </li>
+ * <li> <code>'Second'</code> for
+ * {@link ifc.view._XSelectionSupplier}(the second created shape) </li>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating two impress documents" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ XDrawPage secondDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ the_pages.insertNewByIndex(0);
+ the_pages.insertNewByIndex(0);
+ the_pages.insertNewByIndex(0);
+ the_pages.insertNewByIndex(0);
+ secondDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(3));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get DrawPage", e);
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xImpressDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ oShapes.add(shape1);
+
+ oShapes = (XShapes)
+ UnoRuntime.queryInterface(XShapes.class, secondDrawPage);
+ shape1 = SOF.createShape(
+ xImpressDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ oShapes.add(shape1);
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, secondDrawPage});
+
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+ tEnv.addObjRelation("FirstPage", oDrawPage);
+ tEnv.addObjRelation("SecondPage", secondDrawPage);
+
+ //tEnv.addObjRelation("First", shape1);
+ //tEnv.addObjRelation("Second", shape2);
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27010");
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = (XModifiable)
+ UnoRuntime.queryInterface(XModifiable.class,xImpressDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xImpressDoc);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(5000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+} // finish class SdUnoDrawView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java b/qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java
new file mode 100644
index 000000000000..03849535157b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java
@@ -0,0 +1,222 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import com.sun.star.drawing.XDrawPages;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SdUnoSlideView extends TestCase {
+ XDesktop the_Desk;
+ XComponent xImpressDoc;
+ XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop)
+ UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ util.DesktopTools.closeDoc(xSecondDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating of the documents makes short
+ * wait to allow frames to be loaded. Retrieves the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service <code>com.sun.star.presentation.OutlineView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ XDrawPages xDP = null;
+ try {
+ log.println( "creating a impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ shortWait();
+ xDP = DrawTools.getDrawPages(xImpressDoc);
+ xDP.insertNewByIndex(0);
+ xDP.insertNewByIndex(0);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ //Change to Slide view
+ try {
+ String aSlotID = "slot:27011";
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface( XDispatchProvider.class, oObj );
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change to slide view");
+ }
+
+ try {
+ log.println( "creating a second impress document" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel aModel2 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ oObj = aModel.getCurrentController();
+
+ log.println( "creating a new environment for slide view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ }
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ XFrame the_frame = the_Desk.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel2);
+
+ XController secondController = aModel2.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27069");
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ //creating obj-relation for the XSelectionSupplier
+ try {
+ Object[] selections =
+ new Object[]{xDP.getByIndex(0),xDP.getByIndex(1),xDP.getByIndex(2)};
+ tEnv.addObjRelation("Selections", selections);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ }
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+
+} // finish class SdUnoOutlineView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java
new file mode 100644
index 000000000000..b26ae478216c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.presentation.CustomPresentation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* </ul>
+* @see com.sun.star.presentation.CustomPresentation
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexReplace
+* @see ifc.container._XNamed
+* @see ifc.container._XIndexContainer
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexReplace
+*/
+public class SdXCustomPresentation extends TestCase {
+ XComponent xImpressDoc;
+
+ /**
+ * Creates Impress document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Disposes Impress document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the CustomPresentation from the document
+ * using the interface <code>XCustomPresentationSupplier</code>. Creates and
+ * inserts new instance of the presentation to the collection. The created
+ * instance is the instance of the service
+ * <code>com.sun.star.presentation.CustomPresentation</code>. Obtains
+ * the collection of draw pages from the document and takes one of them.
+ * Inserts the obtained draw page to the created instance. Inserts some new
+ * draw pages.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XIndexContainerINDEX'</code> for
+ * {@link ifc.container._XIndexContainer}(the string representation of
+ * the zero)</li>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XIndexContainer}(the new inserted draw pages)</li>
+ * </ul>
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.presentation.CustomPresentation
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+
+ log.println( "creating a test environment" );
+
+ log.println( "get presentation" );
+ XCustomPresentationSupplier oPS = (XCustomPresentationSupplier)
+ UnoRuntime.queryInterface(
+ XCustomPresentationSupplier.class, xImpressDoc);
+ XInterface oObj = oPS.getCustomPresentations();
+
+ XSingleServiceFactory oSingleMSF = (XSingleServiceFactory)
+ UnoRuntime.queryInterface(XSingleServiceFactory.class, oObj);
+
+ XInterface oInstance = null;
+ try {
+ oInstance = (XInterface) oSingleMSF.createInstance();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XNameContainer aContainer = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oObj);
+
+ try {
+ aContainer.insertByName("FirstPresentation", oInstance);
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Presentation", e);
+ } catch (com.sun.star.container.ElementExistException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Presentation", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Presentation", e);
+ }
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oDPn);
+
+ XDrawPage oDrawPage = null;
+ try {
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ XIndexContainer aIContainer = (XIndexContainer)
+ UnoRuntime.queryInterface(XIndexContainer.class,oInstance);
+
+ try {
+ aIContainer.insertByIndex(0, oDrawPage);
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert DrawPage", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert DrawPage", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert DrawPage", e);
+ }
+
+ log.println( "creating a new environment for XPresentation object" );
+ TestEnvironment tEnv = new TestEnvironment( oInstance );
+
+ int THRCNT=1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+
+ // INDEX : _XNameContainer
+ log.println( "adding XIndexContainerINDEX as mod relation to environment" );
+ tEnv.addObjRelation("XIndexContainerINDEX", "0");
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+ try {
+ for (int n = 1; n < (2*THRCNT+1) ;n++ ) {
+ log.println( "adding INSTANCE" + n
+ +" as mod relation to environment" );
+ oDPn.insertNewByIndex(0);
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ tEnv.addObjRelation("INSTANCE" + n, oDrawPage);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could't adding INSTANCEn", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could't adding INSTANCEn", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could't adding INSTANCEn", e);
+ }
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SdXCustomPresentation
diff --git a/qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java
new file mode 100644
index 000000000000..9118dbb337d9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java
@@ -0,0 +1,212 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.presentation.CustomPresentationAccess</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::lang::XSingleServiceFactory</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* </ul>
+* @see com.sun.star.presentation.CustomPresentationAccess
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.lang.XSingleServiceFactory
+* @see com.sun.star.container.XNameContainer
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XNameReplace
+* @see ifc.lang._XSingleServiceFactory
+* @see ifc.container._XNameContainer
+*/
+public class SdXCustomPresentationAccess extends TestCase {
+ XComponent xImpressDoc;
+
+ /**
+ * Creates Impress document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes Impress document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the CustomPresentation from the document
+ * using the interface <code>XCustomPresentationSupplier</code>.
+ * The retrieved collection is the instance of the servcie
+ * <code>com.sun.star.presentation.CustomPresentationAccess</code>.
+ * Creates two new instances of the custom presentation using the interface
+ * <code>XSingleServiceFactory</code>. Inserts one of them to the
+ * retrieved collection. Creates and inserts several instances of
+ * the presentation.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SecondInstance'</code> for
+ * {@link ifc.container._XNameContainer}(the second created instance
+ * of the custom presentation)</li>
+ * <li> <code>'XNameContainerINDEX'</code> for
+ * {@link ifc.container._XNameContainer}(the number of current running
+ * threads)</li>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XNameReplace},
+ * {@link ifc.container._XNameContainer}(the created instances of
+ * the presentation)</li>
+ * </ul>
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.lang.XSingleServiceFactory
+ * @see com.sun.star.presentation.CustomPresentationAccess
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+
+ log.println( "creating a test environment" );
+
+ log.println( "get presentation" );
+ XCustomPresentationSupplier oPS = (XCustomPresentationSupplier)
+ UnoRuntime.queryInterface(
+ XCustomPresentationSupplier.class, xImpressDoc);
+ XInterface oObj = oPS.getCustomPresentations();
+
+
+ XSingleServiceFactory oSingleMSF = (XSingleServiceFactory)
+ UnoRuntime.queryInterface(XSingleServiceFactory.class, oObj);
+
+ XInterface oInstance = null;
+ XInterface oSecondInstance = null;
+ try{
+ oInstance = (XInterface) oSingleMSF.createInstance();
+ oSecondInstance = (XInterface) oSingleMSF.createInstance();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XNameContainer aContainer = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oObj);
+
+ if (aContainer.hasByName("FirstPresentation")) {
+ try {
+ aContainer.removeByName("FirstPresentation");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Exception while removing instance", e);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Exception while removing instance", e);
+ }
+ }
+
+ try {
+ aContainer.insertByName("FirstPresentation",oInstance);
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Instance", e);
+ } catch (com.sun.star.container.ElementExistException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Instance", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Instance", e);
+ }
+
+ log.println( "creating a new environment for XPresentation object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding an instance for insertByName ('XNameContainer')
+ tEnv.addObjRelation("SecondInstance", oSecondInstance);
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+
+ // INDEX : _XNameContainer
+ log.println( "adding XNameContainerINDEX as mod relation to environment" );
+ tEnv.addObjRelation("XNameContainerINDEX",
+ (new Integer(THRCNT)).toString());
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+ try {
+ for (int n = 1; n < (2*THRCNT+1) ;n++ ) {
+ log.println( "adding INSTANCE" + n
+ +" as mod relation to environment" );
+ oInstance = (XInterface) oSingleMSF.createInstance();
+ tEnv.addObjRelation("INSTANCE" + n, oInstance);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could't adding INSTANCEn: " + e);
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdXCustomPresentationAccess
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java b/qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java
new file mode 100644
index 000000000000..6e7652e13afd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java
@@ -0,0 +1,199 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.XSelectionSupplier;
+import ifc.view._XPrintJobBroadcaster;
+import java.io.File;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.presentation.PresentationDocument</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * <li> <code>com::sun::star::drawing::XMasterPagesSupplier</code></li>
+ * <li> <code>com::sun::star::presentation::XCustomPresentationSupplier</code></li>
+ * <li> <code>com::sun::star::document::XLinkTargetSupplier</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::drawing::XLayerSupplier</code></li>
+ * <li> <code>com::sun::star::presentation::XPresentationSupplier</code></li>
+ * <li> <code>com::sun::star::style::XStyleFamiliesSupplier</code></li>
+ * <li> <code>com::sun::star::drawing::DrawingDocument</code></li>
+ * <li> <code>com::sun::star::drawing::XDrawPageDuplicator</code></li>
+ * <li> <code>com::sun::star::drawing::XDrawPagesSupplier</code></li>
+ * </ul>
+ * @see com.sun.star.presentation.PresentationDocument
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see com.sun.star.drawing.XMasterPagesSupplier
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.drawing.XLayerSupplier
+ * @see com.sun.star.presentation.XPresentationSupplier
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ * @see com.sun.star.drawing.DrawingDocument
+ * @see com.sun.star.drawing.XDrawPageDuplicator
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ * @see ifc.lang._XMultiServiceFactory
+ * @see ifc.drawing._XMasterPagesSupplier
+ * @see ifc.presentation._XCustomPresentationSupplier
+ * @see ifc.document._XLinkTargetSupplier
+ * @see ifc.beans._XPropertySet
+ * @see ifc.drawing._XLayerSupplier
+ * @see ifc.presentation._XPresentationSupplier
+ * @see ifc.style._XStyleFamiliesSupplier
+ * @see ifc.drawing._DrawingDocument
+ * @see ifc.drawing._XDrawPageDuplicator
+ * @see ifc.drawing._XDrawPagesSupplier
+ */
+public class SdXImpressDocument extends TestCase {
+ XComponent xImpressDoc;
+ XComponent xImpressDoc2;
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ util.DesktopTools.closeDoc(xImpressDoc2);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates new impress document that is the instance of the service
+ * <code>com.sun.star.presentation.PresentationDocument</code>.
+ * @see com.sun.star.presentation.PresentationDocument
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating two impress documents");
+ xImpressDoc2 = SOF.createImpressDoc(null);
+ xImpressDoc = SOF.createImpressDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create documents", e);
+ }
+
+ XModel xModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xImpressDoc);
+ XModel xModel2 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xImpressDoc2);
+
+ XController cont1 = xModel1.getCurrentController();
+ XController cont2 = xModel2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ XShape aShape = SOF.createShape(xImpressDoc, 5000, 3500, 7500, 5000,
+ "Rectangle");
+
+
+ XPropertySet xShapeProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, aShape);
+
+ try {
+ xShapeProps.setPropertyValue("FillStyle", com.sun.star.drawing.FillStyle.SOLID);
+ xShapeProps.setPropertyValue("FillTransparence", new Integer(50));
+ } catch (UnknownPropertyException ex) {
+ ex.printStackTrace(log);
+ throw new StatusException("Couldn't make shape transparent", ex);
+ } catch (PropertyVetoException ex) {
+ ex.printStackTrace(log);
+ throw new StatusException("Couldn't make shape transparent", ex);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace(log);
+ throw new StatusException("Couldn't make shape transparent", ex);
+ } catch (WrappedTargetException ex) {
+ ex.printStackTrace(log);
+ throw new StatusException("Couldn't make shape transparent", ex);
+ }
+
+ DrawTools.getDrawPage(xImpressDoc, 0).add(aShape);
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(xImpressDoc);
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT2", cont2);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", aShape);
+
+ // create object relation for XPrintJobBroadcaster
+ String fileName = utils.getOfficeTempDirSys((XMultiServiceFactory) Param.getMSF())+"printfile.prt" ;
+ File f = new File(fileName);
+ if (f.exists()) {
+ f.delete();
+ }
+ _XPrintJobBroadcaster.MyPrintJobListener listener = new _XPrintJobBroadcaster.MyPrintJobListener(xImpressDoc, fileName);
+ tEnv.addObjRelation("XPrintJobBroadcaster.XPrintJobListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdDrawPage
diff --git a/qadevOOo/tests/java/mod/_sd/SdXPresentation.java b/qadevOOo/tests/java/mod/_sd/SdXPresentation.java
new file mode 100644
index 000000000000..ab0f673fb471
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXPresentation.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+import com.sun.star.presentation.XPresentationSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.presentation.Presentation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::presentation::Presentation</code></li>
+* <li> <code>com::sun::star::presentation::XPresentation</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.presentation.Presentation
+* @see com.sun.star.presentation.XPresentation
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.presentation._Presentation
+* @see ifc.presentation._XPresentation
+* @see ifc.beans._XPropertySet
+*/
+public class SdXPresentation extends TestCase {
+ XComponent xImpressDoc;
+
+ /**
+ * Creates Impress document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Impress document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the presentation from the document using the interface
+ * <code>XPresentationSupplier</code>. The retrieved presentation is the
+ * instance of the service <code>com.sun.star.presentation.Presentation</code>.
+ * Retrieves the collection of the customized presentations from the document
+ * using the interface <code>XCustomPresentationSupplier</code>.
+ * Creates and inserts two new instances of presentation to the retrieved
+ * collection.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Presentation'</code> for
+ * {@link ifc.presentation._Presentation}(the retrieved presentation)</li>
+ * </ul>
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.presentation.Presentation
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ log.println( "get presentation" );
+ XPresentationSupplier oPS = (XPresentationSupplier)
+ UnoRuntime.queryInterface(XPresentationSupplier.class, xImpressDoc);
+ XInterface oObj = oPS.getPresentation();
+
+ log.println( "get custom presentation" );
+ XCustomPresentationSupplier oCPS = (XCustomPresentationSupplier)
+ UnoRuntime.queryInterface(
+ XCustomPresentationSupplier.class, xImpressDoc);
+ XNameContainer xCP = oCPS.getCustomPresentations();
+
+ XInterface oInstance = null;
+ XInterface oInstance2 = null;
+
+ XSingleServiceFactory oSingleMSF = (XSingleServiceFactory)
+ UnoRuntime.queryInterface(XSingleServiceFactory.class, xCP);
+
+ try{
+ oInstance = (XInterface) oSingleMSF.createInstance();
+ oInstance2 = (XInterface) oSingleMSF.createInstance();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ try {
+ xCP.insertByName("FirstPresentation",oInstance);
+ xCP.insertByName("SecondPresentation", oInstance2);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Instance", e);
+ } catch (com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Instance", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Could't insert Instance", e);
+ }
+
+ log.println( "creating a new environment for XPresentation object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("Presentation",oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdPresentation
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdXShape.java b/qadevOOo/tests/java/mod/_sd/SdXShape.java
new file mode 100644
index 000000000000..4fc52490c97b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXShape.java
@@ -0,0 +1,219 @@
+/*************************************************************************
+ *
+ * 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 mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.Shape</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::drawing::Shape</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.drawing.Shape
+* @see ifc.lang._XComponent
+* @see ifc.drawing._XShape
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.beans._XPropertySet
+* @see ifc.drawing._Shape
+*/
+public class SdXShape extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code>. Creates a rectangle shape
+ * that is the instance of the service <code>com.sun.star.drawing.Shape</code>.
+ * Creates and adds several new rectangle shapes and one ellipse shape to
+ * the retrieved draw page. Sets and gets some properties of the created
+ * rectangle shape.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1'</code> for
+ * {@link ifc.drawing._XShapeDescriptor}, {@link ifc.drawing._XShape}
+ * (the value of the property 'Style' that was retrived from the created
+ * rectangle shape) </li>
+ * <li> <code>'Style2'</code> for
+ * {@link ifc.drawing._XShapeDescriptor}, {@link ifc.drawing._XShape}
+ * (the value of the property 'Style' that was retrived from the created
+ * ellipse shape) </li>
+ * </ul>
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ * @see com.sun.star.drawing.Shape
+ */
+ protected synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oDPn);
+ XDrawPage oDP = null;
+ try {
+ oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get by index", e);
+ }
+
+ //get a Shape
+ log.println( "getting Shape" );
+ XShapes oShapes = (XShapes) UnoRuntime.queryInterface
+ (XShapes.class, oDP);
+ XInterface oObj = SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ for (int i=0; i < 10; i++) {
+ oShapes.add(
+ SOF.createShape(xDrawDoc,
+ 5000, 3500, 7510 + 10 * i, 5010 + 10 * i, "Rectangle"));
+ }
+ XShape oShape = SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ oShapes.add((XShape) oObj);
+ oShapes.add((XShape) oShape);
+
+ log.println( "creating a new environment for XShape object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding two style as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ oShapeProps.setPropertyValue("ZOrder", new Integer(1));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set or get property value", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set or get property value", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set or get property value", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set or get property value", e);
+ }
+
+ tEnv.addObjRelation("Style1", aStyle);
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get property value", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get property value", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get property value", e);
+ }
+
+ tEnv.addObjRelation("Style2", aStyle);
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdXShape
diff --git a/qadevOOo/tests/java/mod/_sd/package.html b/qadevOOo/tests/java/mod/_sd/package.html
new file mode 100644
index 000000000000..000df01c68d4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'sd'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_servicemgr.uno/OServiceManager.java b/qadevOOo/tests/java/mod/_servicemgr.uno/OServiceManager.java
new file mode 100644
index 000000000000..3f509d121827
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_servicemgr.uno/OServiceManager.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 mod._servicemgr.uno;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::container::XSet</code></li>
+ * <li> <code>com::sun::star::lang::XMultiComponentFactory</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see com.sun.star.container.XContentEnumerationAccess
+ * @see com.sun.star.container.XSet
+ * @see com.sun.star.lang.XMultiComponentFactory
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.lang._XMultiServiceFactory
+ * @see ifc.container._XContentEnumerationAccess
+ * @see ifc.container._XSet
+ * @see ifc.lang._XMultiComponentFactory
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.lang._XComponent
+ */
+public class OServiceManager extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NewElement'</code> for
+ * {@link ifc.container._XSet} :
+ * element to be inserted into manager. Here
+ * a new <code>ServiceManager</code> implementation is
+ * create using
+ * <code>tools.SOConnect.createSimpleServiceManager()</code>
+ * and one of services contained in it is taken.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.OServiceManager" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("ServiceManager service not available" );
+ }
+
+ // adding a service to the manager
+ Object newElement = null ;
+ XMultiServiceFactory srvMan = null;
+ XComponentContext xContext = null;
+
+ try {
+
+ srvMan = com.sun.star.comp.helper.Bootstrap.createSimpleServiceManager();
+
+ } catch ( java.lang.Exception ex) {
+ log.println("Error creating SimpleServiceManager :");
+ ex.printStackTrace(log);
+ }
+
+ try {
+ XSet set = (XSet) UnoRuntime.queryInterface
+ (XSet.class, oInterface) ;
+ XSet set1 = (XSet) UnoRuntime.queryInterface
+ (XSet.class, srvMan) ;
+ XEnumeration oEnum = set1.createEnumeration();
+ Object srv = oEnum.nextElement();
+
+ set.insert(srv) ;
+
+ newElement = oEnum.nextElement();
+
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, oInterface);
+ if (xProp != null) {
+ xContext = (XComponentContext) AnyConverter.toObject(
+ new Type(XComponentContext.class),
+ xProp.getPropertyValue("DefaultContext"));
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't insert a service to the ServiceManager") ;
+ throw new StatusException("Can't create object environment", e) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XSet interface
+ tEnv.addObjRelation("NewElement", newElement) ;
+
+ // adding relation for XPropertySet
+ tEnv.addObjRelation("PTT",new String[]{"DefaultContext","none","none"});
+
+ //adding relation for XMultiComponentFactory
+ if (xContext != null) {
+ tEnv.addObjRelation("DC", xContext);
+ }
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OServiceManager
+
diff --git a/qadevOOo/tests/java/mod/_servicemgr.uno/package.html b/qadevOOo/tests/java/mod/_servicemgr.uno/package.html
new file mode 100644
index 000000000000..3875e8d7dd79
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_servicemgr.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'smgr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java b/qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java
new file mode 100644
index 000000000000..1760354e6108
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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 mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.frame.XDispatchProvider
+ * @see com.sun.star.lang.XInitialization
+ * @see ifc.frame._XDispatchProvider
+ * @see ifc.lang._XInitialization
+ */
+public class AppDispatchProvider extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.comp.sfx2.AppDispatchProvider") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get GridControl", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ System.out.println("ImplName: "+utils.getImplName(oObj));
+ dbg.printInterfaces(oObj);
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for :XDispatchProvider
+ tEnv.addObjRelation("XDispatchProvider.URL", ".uno:BibliographyComponent") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java b/qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java
new file mode 100644
index 000000000000..70a87965dbd6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.DocumentTemplates</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::frame::XDocumentTemplates</code></li>
+ * </ul> <p>
+ *
+ */
+public class DocumentTemplates extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ String aURL=util.utils.getFullTestURL("report2.stw");
+ xTextDoc = util.WriterTools.loadTextDoc((XMultiServiceFactory)tParam.getMSF(),aURL);
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ xTextDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.frame.DocumentTemplates</code>.
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface oObj = null;
+ XStorable store = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.frame.DocumentTemplates");
+ store = (XStorable) UnoRuntime.queryInterface
+ (XStorable.class,xTextDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("Store",store);
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sfx/FrameLoader.java b/qadevOOo/tests/java/mod/_sfx/FrameLoader.java
new file mode 100644
index 000000000000..5be24abdd3f2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/FrameLoader.java
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * 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 mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.comp.office.FrameLoader</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::frame::XFrameLoader</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.frame.FrameLoader
+* @see com.sun.star.frame.XSynchronousFrameLoader
+*/
+public class FrameLoader extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.office.FrameLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.comp.office.FrameLoader") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get GridControl", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException
+ (Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ System.out.println("ImplName: "+utils.getImplName(oObj));
+ dbg.printInterfaces(oObj);
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XFrameLoader
+ tEnv.addObjRelation("FrameLoader.URL","private:factory/swriter");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java b/qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java
new file mode 100644
index 000000000000..f54d57ac1ace
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * 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 mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.frame.XDispatchProvider
+ * @see com.sun.star.lang.XInitialization
+ * @see ifc.frame._XDispatchProvider
+ * @see ifc.lang._XInitialization
+ */
+public class SfxMacroLoader extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.comp.sfx2.SfxMacroLoader");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get service");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get GridControl", e );
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException(Status.failed("Service wasn't created")) ;
+ }
+
+ oObj = (XInterface) oInterface ;
+ System.out.println("ImplName: "+utils.getImplName(oObj));
+ dbg.printInterfaces(oObj);
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XFrameLoader
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "macro:tools.UCB.CreateFolder(\"" +
+ utils.getOfficeTemp((XMultiServiceFactory)Param.getMSF()) + "/SfxMacroLoader\")") ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sfx/StandaloneDocumentInfo.java b/qadevOOo/tests/java/mod/_sfx/StandaloneDocumentInfo.java
new file mode 100644
index 000000000000..81e0d459c0a3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/StandaloneDocumentInfo.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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 mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.document.XStandaloneDocumentInfo;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.document.StandaloneDocumentInfo</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::document::DocumentInfo</code></li>
+ * <li> <code>com::sun::star::document::XDocumentInfo</code></li>
+ * <li> <code>com::sun::star::document::XStandaloneDocumentInfo</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> SfxStandaloneDocInfoObject.sdw </b> : is copied
+ * to SOffice temporary directory and is used to load and
+ * save its info. </li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.document.DocumentInfo
+ * @see com.sun.star.document.XDocumentInfo
+ * @see com.sun.star.document.XStandaloneDocumentInfo
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XComponent
+ * @see ifc.document._DocumentInfo
+ * @see ifc.document._XDocumentInfo
+ * @see ifc.document._XStandaloneDocumentInfo
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertySet
+ */
+public class StandaloneDocumentInfo extends TestCase {
+
+ String destUrl = null ;
+
+ /**
+ * Copies file 'SfxStandaloneDocInfoObject.sdw' to tempopary
+ * location (overwriting the old file if exists).
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ String srcUrl = utils.getFullTestURL("SfxStandaloneDocInfoObject.sdw") ;
+ destUrl = utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) +
+ "SfxStandaloneDocInfoObject.sdw";
+
+ utils.doOverwriteFile((XMultiServiceFactory)tParam.getMSF(), srcUrl, destUrl) ;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.document.StandaloneDocumentInfo</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DOCURL'</code> for
+ * {@link ifc.document._XStandaloneDocumentInfo} :
+ * the Writer file URL in temporary location. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.document.StandaloneDocumentInfo");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ XStandaloneDocumentInfo the_info = (XStandaloneDocumentInfo)
+ UnoRuntime.queryInterface(XStandaloneDocumentInfo.class, oObj);
+ try {
+ the_info.loadFromURL(destUrl);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't load document: " + destUrl,e);
+ }
+ tEnv.addObjRelation("DOCURL",destUrl);
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_shlibloader.uno/DLLComponentLoader.java b/qadevOOo/tests/java/mod/_shlibloader.uno/DLLComponentLoader.java
new file mode 100644
index 000000000000..5ede3114c8f3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_shlibloader.uno/DLLComponentLoader.java
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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 mod._shlibloader.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.DLLComponentLoader</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>XImpReg.dll</code> : DLL which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compilant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class DLLComponentLoader extends TestCase {
+
+ /**
+ * Does nothing.
+ */
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.DLLComponentLoader</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading DLL implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : DLL file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null;
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.DLLComponentLoader" );
+ }
+ catch( Exception e ) {
+ log.println("DLLComponentLoader Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for DLLComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.SharedLibrary") ;
+ //String fs = System.getProperty("file.separator");
+ String os = (String) Param.get("OS");
+ if (os == null || os == "")
+ throw new StatusException(
+ "Couldn't determine operating system for naming convention.",
+ new NullPointerException());
+ String name = "javaloader.uno";
+ if (!os.equals("wntmsci"))
+ name = name + ".so";
+ else
+ name += ".dll";
+ String implURL = utils.getOfficeURL(xMSF)+"/"+name;
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.comp.stoc.JavaComponentLoader") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class DLLComponentLoader
+
diff --git a/qadevOOo/tests/java/mod/_shlibloader.uno/package.html b/qadevOOo/tests/java/mod/_shlibloader.uno/package.html
new file mode 100644
index 000000000000..55c1c1ffd2c3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_shlibloader.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'cpld'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_simplereg.uno/SimpleRegistry.java b/qadevOOo/tests/java/mod/_simplereg.uno/SimpleRegistry.java
new file mode 100644
index 000000000000..07d2bd70e6d9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simplereg.uno/SimpleRegistry.java
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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 mod._simplereg.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> XSimpleRegistry.rdb </b> : a registry file with
+ * some key set. </li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.registry.XSimpleRegistry
+ * @see ifc.registry._XSimpleRegistry
+ */
+public class SimpleRegistry extends TestCase {
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @param log The log writer.
+ * @throws java.io.IOException If any problems occur during copiing.
+ */
+ protected void copyFile(String src, String dst, PrintWriter log)
+ throws java.io.IOException {
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+ System.out.println("H1");
+
+ if (dstF.exists()) dstF.delete() ;
+ System.out.println("H2");
+ dstF.createNewFile() ;
+
+ dstF.deleteOnExit() ;
+ System.out.println("H3");
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ System.out.println("H4");
+
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0)
+ fOut.write(buf, 0, bytesRead) ;
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. Then
+ * makes three copies of a predefined registry file with different
+ * names in a temporary SOffice directory and passes their URLs as
+ * relations. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+ final String tmpDir = utils.getOfficeTempDirSys(
+ (XMultiServiceFactory)Param.getMSF()) ;
+ final String openF = "XSimpleRegistry_open.rdb" ;
+ final String destroyF = "XSimpleRegistry_destroy.rdb" ;
+ final String mergeF = "XSimpleRegistry_merge.rdb" ;
+
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.SimpleRegistry" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ if (oInterface == null)
+ log.println("Service wasn't created") ;
+
+ oObj = (XInterface) oInterface;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ try {
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, tmpDir + openF, log);
+ copyFile(source, tmpDir + destroyF, log);
+ copyFile(source, tmpDir + mergeF, log);
+ } catch (java.io.IOException e) {
+ log.println("Exception occured while copying files");
+ e.printStackTrace(log);
+ }
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XSimpleRegistry.open", tmpDir + openF);
+ tEnv.addObjRelation("XSimpleRegistry.destroy", tmpDir + destroyF);
+ tEnv.addObjRelation("XSimpleRegistry.merge", tmpDir + mergeF);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SimpleRegistry
+
diff --git a/qadevOOo/tests/java/mod/_simplereg.uno/package.html b/qadevOOo/tests/java/mod/_simplereg.uno/package.html
new file mode 100644
index 000000000000..09c65912df6f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simplereg.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'simreg'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java b/qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java
new file mode 100644
index 000000000000..e593bdcdcda3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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 mod._simreg;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> XSimpleRegistry.rdb </b> : a registry file with
+ * some key set. </li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.registry.XSimpleRegistry
+ * @see ifc.registry._XSimpleRegistry
+ */
+public class SimpleRegistry extends TestCase {
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @param log The log writer.
+ * @throws java.io.IOException If any problems occur during copiing.
+ */
+ protected void copyFile(String src, String dst, PrintWriter log)
+ throws java.io.IOException {
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+ log.println("H1");
+
+ if (dstF.exists()) dstF.delete() ;
+ log.println("H2");
+ dstF.createNewFile() ;
+
+ dstF.deleteOnExit() ;
+ log.println("H3");
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ System.out.println("H4");
+
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0)
+ fOut.write(buf, 0, bytesRead) ;
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. Then
+ * makes three copies of a predefined registry file with different
+ * names in a temporary SOffice directory and passes their URLs as
+ * relations. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ final String tmpDir = utils.getOfficeTempDirSys((XMultiServiceFactory)Param.getMSF()) ;
+ final String openF = "XSimpleRegistry_open.rdb" ;
+ final String destroyF = "XSimpleRegistry_destroy.rdb" ;
+ final String mergeF = "XSimpleRegistry_merge.rdb" ;
+
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.SimpleRegistry" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ if (oInterface == null)
+ log.println("Service wasn't created") ;
+
+ oObj = (XInterface) oInterface;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ try {
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, tmpDir + openF, log);
+ copyFile(source, tmpDir + destroyF, log);
+ copyFile(source, tmpDir + mergeF, log);
+ } catch (java.io.IOException e) {
+ log.println("Exception occured while copying files");
+ e.printStackTrace(log);
+ }
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XSimpleRegistry.open", tmpDir + openF);
+ tEnv.addObjRelation("XSimpleRegistry.destroy", tmpDir + destroyF);
+ tEnv.addObjRelation("XSimpleRegistry.merge", tmpDir + mergeF);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SimpleRegistry
+
diff --git a/qadevOOo/tests/java/mod/_simreg/package.html b/qadevOOo/tests/java/mod/_simreg/package.html
new file mode 100644
index 000000000000..09c65912df6f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simreg/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'simreg'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sm/SmEditAccessible.java b/qadevOOo/tests/java/mod/_sm/SmEditAccessible.java
new file mode 100644
index 000000000000..4101e3a57b1a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/SmEditAccessible.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessible
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessible
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class SmEditAccessible extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * Creates a <code>StarMath</code> document and obtains an accessibility
+ * component with the role <code>AccessibleRole.PANEL</code>.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+ try {
+ xMathDoc = SOF.openDoc("smath","_blank");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ } catch (com.sun.star.io.IOException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ }
+
+ // setting a formula in document
+ final String expFormula = "sum hat a";
+ final XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc);
+ try {
+ xPS.setPropertyValue("Formula", expFormula);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xMathDoc);
+
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.PANEL, "", "SmEditAccessible");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("Destroy", new Boolean(true));
+
+ final XAccessibleContext con = (XAccessibleContext) UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ System.out.println("Childs "+con.getAccessibleChildCount());
+ xPS.setPropertyValue("Formula", "sum hat x \n int a \n sum b");
+ shortWait();
+ System.out.println("Childs "+con.getAccessibleChildCount());
+ xPS.setPropertyValue("Formula", expFormula);
+ shortWait();
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Disposes the document created in <code>createTestEnvironment</code>
+ * method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+} // finish class SmModel
diff --git a/qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java b/qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java
new file mode 100644
index 000000000000..1698f4077d80
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessible
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessible
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class SmGraphicAccessible extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * Creates a <code>StarMath</code> document and obtains an accessibility
+ * component with the role <code>AccessibleRole.PANEL</code>.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF() );
+ try {
+ xMathDoc = SOF.openDoc("smath","_blank");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ } catch (com.sun.star.io.IOException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ }
+
+ // setting a formula in document
+ final String expFormula = "sum a cdot b";
+ final XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc);
+ try {
+ xPS.setPropertyValue("Formula", expFormula);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ }
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xMathDoc);
+
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.DOCUMENT, "Formula");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ final XAccessibleComponent xAC = (XAccessibleComponent)
+ UnoRuntime.queryInterface(XAccessibleComponent.class, oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ xAC.grabFocus();
+ xPS.setPropertyValue("Formula", "sum hat x");
+ shortWait();
+ xPS.setPropertyValue("Formula", expFormula);
+ shortWait();
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ }
+ }});
+
+ return tEnv;
+ }
+
+ /**
+ * Disposes the document created in <code>createTestEnvironment</code>
+ * method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+} // finish class SmModel
diff --git a/qadevOOo/tests/java/mod/_sm/SmModel.java b/qadevOOo/tests/java/mod/_sm/SmModel.java
new file mode 100644
index 000000000000..e739c2e53e34
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/SmModel.java
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+ * Test for object which is represented by
+ * <code>'StarMath'</code> document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::formula::FormulaProperties</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.formula.FormulaProperties
+ * @see ifc.formula._FormulaProperties
+ */
+public class SmModel extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates a <code>StarMath</code> document and passes it as
+ * tested component.
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+ try {
+ xMathDoc = SOF.openDoc("smath","_blank");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ } catch (com.sun.star.io.IOException ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ }
+
+ String Iname = util.utils.getImplName(xMathDoc);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(xMathDoc);
+ return tEnv;
+ }
+
+ /**
+ * Disposes the document created in <code>createTestEnvironment</code>
+ * method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+
+} // finish class SmModel
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLExporter.java b/qadevOOo/tests/java/mod/_sm/XMLExporter.java
new file mode 100644
index 000000000000..3b98986c9290
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLExporter.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a math document" );
+ xMathDoc = SOF.createMathDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The math document is set as a source document for exporter
+ * created. A new formula inserted into document. This made
+ * for checking if this formula is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final String expFormula = "a - b" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Math.XMLExporter", new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xMathDoc);
+
+ // setting a formula in document
+ XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+ xPS.setPropertyValue("Formula", expFormula) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // checking tags required
+ filter.addTag(new XMLTools.Tag("math:math")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("math:annotation"),
+ new XMLTools.Tag("math:semantics")) ;
+ filter.addCharactersEnclosed(expFormula,
+ new XMLTools.Tag("math:annotation")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"smath: StarOffice XML (Math)"}));
+ tEnv.addObjRelation("SourceDocument",xMathDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLImporter.java b/qadevOOo/tests/java/mod/_sm/XMLImporter.java
new file mode 100644
index 000000000000..635e104ec307
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLImporter.java
@@ -0,0 +1,170 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent xMathDoc;
+
+
+ /**
+ * New math document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ xMathDoc = SOF.openDoc("smath","_blank");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ }
+ }
+
+ /**
+ * Disposes document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies a formula
+ * in the document.
+ * After import the formula getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+ final String impFormula = "a - b" ;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.Math.XMLImporter");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("TargetDocument",xMathDoc);
+
+ String[][] xml = new String[][] {
+ {"start", "math:math",
+ "xmlns:math", "CDATA", "http://www.w3.org/1998/Math/MathML"},
+ {"start", "math:semantics"},
+ {"start", "math:annotation",
+ "math:encoding", "CDATA", "StarMath 5.0"},
+ {"chars", impFormula},
+ {"end", "math:annotation"},
+ {"end", "math:semantics"},
+ {"end", "math:math"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+ final XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String gFormula = (String) xPS.getPropertyValue
+ ("Formula") ;
+ logF.println("Formula returned = '" + gFormula + "'") ;
+ return impFormula.equals(gFormula) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java
new file mode 100644
index 000000000000..f5308b47d8e0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XDocumentInfo;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a math document" );
+ xMathDoc = SOF.createMathDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The math document is set as a source document for exporter
+ * created. A new user info field inserted into document. This made
+ * for checking if this info field is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final String expName = "XMLMetaExporterName" ;
+ final String expValue = "XMLMetaExporterValue" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Math.XMLMetaExporter", new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xMathDoc);
+
+ // setting a new name and value for user info field
+ XDocumentInfoSupplier xDocInfoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface(XDocumentInfoSupplier.class, xMathDoc) ;
+ XDocumentInfo xDocInfo = xDocInfoSup.getDocumentInfo() ;
+ xDocInfo.setUserFieldName((short) 0, expName) ;
+ xDocInfo.setUserFieldValue((short) 0, expValue) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // checking tags required
+ filter.addTag(new XMLTools.Tag("office:document-meta")) ;
+ filter.addCharactersEnclosed(expValue,
+ new XMLTools.Tag("meta:user-defined", "meta:name", expName)) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"smath: StarOffice XML (Math)"}));
+ tEnv.addObjRelation("SourceDocument",xMathDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java
new file mode 100644
index 000000000000..f9c04de22cea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfo;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ xMathDoc = SOF.openDoc("smath","_blank");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ }
+ }
+
+ /**
+ * Disposes document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLMetaImporter</code><p>
+ *
+ * The math document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies new user info
+ * field and a title of document.
+ * After import user fields info and the title of target document
+ * is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+ final String impName = "XMLMetaImporter" ;
+ final String impValue = "XMLMetaImporter_Value" ;
+ final String impTitle = "XMLMetaImporter Title" ;
+
+ final XDocumentInfoSupplier xDocInfoSup ;
+ try {
+ oObj = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.Math.XMLMetaImporter");
+
+ xDocInfoSup = (XDocumentInfoSupplier) UnoRuntime.queryInterface
+ (XDocumentInfoSupplier.class, xMathDoc) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("TargetDocument",xMathDoc);
+
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"
+ },
+ {"start", "office:meta"},
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"start", "meta:user-defined",
+ "meta:name", "CDATA", impName},
+ {"chars", impValue},
+ {"end", "meta:user-defined"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ XDocumentInfo xDocInfo = xDocInfoSup.getDocumentInfo() ;
+ XPropertySet xDocInfoProp = (XPropertySet)
+ UnoRuntime.queryInterface
+ (XPropertySet.class, xDocInfo) ;
+ boolean result = false ;
+ for (short i = 0; i < xDocInfo.getUserFieldCount(); i++) {
+ String gName = xDocInfo.getUserFieldName(i) ;
+ String gValue = xDocInfo.getUserFieldValue(i) ;
+ logF.println("Field '" + gName + "' = '"
+ + gValue + "'") ;
+ if (impName.equals(gName) && impValue.equals(gValue))
+ result = true ;
+ }
+ String gTitle = (String) xDocInfoProp.getPropertyValue
+ ("Title");
+ logF.println("Title returned : '" + gTitle + "'");
+ result &= impTitle.equals(gTitle) ;
+
+ return result ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java
new file mode 100644
index 000000000000..5e546997cd01
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a math document" );
+ xMathDoc = SOF.createMathDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The math document is set as a source document for exporter
+ * created. A new value for TopMargin property is set for document.
+ * This made
+ * for checking if this property is successfully exported within
+ * the document settings.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final short expMargin = 67 ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Math.XMLSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xMathDoc);
+
+ // setting a formula in document
+ XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+
+ xPS.setPropertyValue("TopMargin", new Short(expMargin)) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // checking tags required
+
+ filter.addTag(new XMLTools.Tag("office:document-settings")) ;
+ filter.addCharactersEnclosed(String.valueOf(expMargin),
+ new XMLTools.Tag("config:config-item", "config:name", "TopMargin")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"smath: StarOffice XML (Math)"}));
+ tEnv.addObjRelation("SourceDocument",xMathDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java
new file mode 100644
index 000000000000..06be0540f4ed
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * 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 mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ xMathDoc = SOF.openDoc("smath","_blank");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", ex );
+ }
+ }
+
+ /**
+ * Disposes document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLSettingsImporter</code><p>
+ *
+ * The math document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies new
+ * 'TopMargin' property value.
+ * After import 'TopMargin' property value of target document
+ * is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oObj = null;
+ final short impMargin = 67 ;
+
+ try {
+ oObj = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.Math.XMLSettingsImporter");
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("TargetDocument",xMathDoc);
+
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "office:version", "CDATA", "1.0"
+ },
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "configuration-settings"},
+
+ {"start", "config:config-item",
+ "config:name", "CDATA", "TopMargin",
+ "config:type", "CDATA", "short"},
+ {"chars", String.valueOf(impMargin)},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+ final XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Short gMargin = (Short) xPS.getPropertyValue
+ ("TopMargin") ;
+ logF.println("Margin returned: " + gMargin);
+ return impMargin == gMargin.shortValue() ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_smgr/OServiceManager.java b/qadevOOo/tests/java/mod/_smgr/OServiceManager.java
new file mode 100644
index 000000000000..09debfcacf45
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_smgr/OServiceManager.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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 mod._smgr;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::container::XSet</code></li>
+ * <li> <code>com::sun::star::lang::XMultiComponentFactory</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see com.sun.star.container.XContentEnumerationAccess
+ * @see com.sun.star.container.XSet
+ * @see com.sun.star.lang.XMultiComponentFactory
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.lang._XMultiServiceFactory
+ * @see ifc.container._XContentEnumerationAccess
+ * @see ifc.container._XSet
+ * @see ifc.lang._XMultiComponentFactory
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.lang._XComponent
+ */
+public class OServiceManager extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NewElement'</code> for
+ * {@link ifc.container._XSet} :
+ * element to be inserted into manager. Here
+ * a new <code>ServiceManager</code> implementation is
+ * create using
+ * <code>tools.SOConnect.createSimpleServiceManager()</code>
+ * and one of services contained in it is taken.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.OServiceManager" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("ServiceManager service not available" );
+ }
+
+ // adding a service to the manager
+ Object newElement = null ;
+ XMultiServiceFactory srvMan = null;
+ XComponentContext xContext = null;
+
+ try {
+
+ srvMan = com.sun.star.comp.helper.Bootstrap.createSimpleServiceManager();
+
+ } catch ( java.lang.Exception ex) {
+ log.println("Error creating SimpleServiceManager :");
+ ex.printStackTrace(log);
+ }
+
+ try {
+ XSet set = (XSet) UnoRuntime.queryInterface
+ (XSet.class, oInterface) ;
+ XSet set1 = (XSet) UnoRuntime.queryInterface
+ (XSet.class, srvMan) ;
+ XEnumeration oEnum = set1.createEnumeration();
+ Object srv = oEnum.nextElement();
+
+ set.insert(srv) ;
+
+ newElement = oEnum.nextElement();
+
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, oInterface);
+ if (xProp != null) {
+ xContext = (XComponentContext) AnyConverter.toObject(
+ new Type(XComponentContext.class),
+ xProp.getPropertyValue("DefaultContext"));
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't insert a service to the ServiceManager") ;
+ throw new StatusException("Can't create object environment", e) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XSet interface
+ tEnv.addObjRelation("NewElement", newElement) ;
+
+ // adding relation for XPropertySet
+ tEnv.addObjRelation("PTT",new String[]{"DefaultContext","none","none"});
+
+ //adding relation for XMultiComponentFactory
+ if (xContext != null) {
+ tEnv.addObjRelation("DC", xContext);
+ }
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OServiceManager
+
diff --git a/qadevOOo/tests/java/mod/_smgr/package.html b/qadevOOo/tests/java/mod/_smgr/package.html
new file mode 100644
index 000000000000..3875e8d7dd79
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_smgr/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'smgr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java b/qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java
new file mode 100644
index 000000000000..d592a65ad9e1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 mod._smplmail;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.system.SimpleSystemMail</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::system::XSimpleMailClientSupplier</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.system.XSimpleMailClientSupplier
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XTypeProvider
+ * @see ifc.system._XSimpleMailClientSupplier
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.lang._XTypeProvider
+ */
+public class SimpleSystemMail extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * In case if OS is Win or not specified tries to create an instance
+ * of the service <code>com.sun.star.system.SimpleSystemMail</code>. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SystemMailExist'</code> for
+ * {@link ifc.system._XSimpleMailClientSupplier} :
+ * the value depends on tested platform and
+ * <code>test.system.mail.isExist</code> INI
+ * parameter.</li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ boolean isWinOS = false ;
+ boolean isSystemMailExist = false ;
+
+ // if 'OS' parameter is not defined then by default
+ // Win platform is used. If really not the error will occurs.
+ isWinOS = Param.get("OS") == null ||
+ "wntmsci".equals(Param.get("OS")) ;
+ isSystemMailExist = "true".equalsIgnoreCase
+ ((String) Param.get("test.system.mail.isExist")) ;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ try {
+ if (isWinOS) {
+ log.println("The OS is Win : trying to create service");
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.system.SimpleSystemMail" );
+ } else {
+ log.println("The OS is NOT Win, SKIPPING this component");
+ log.println("Creating Dummy object ...");
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pipe" );
+ }
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("SystemMailExist", new Boolean(isSystemMailExist));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SimpleSystemMail
+
diff --git a/qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java b/qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java
new file mode 100644
index 000000000000..735382d54af2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 mod._srtrs;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.ucb.SortedDynamicResultSetFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::ucb::XSortedDynamicResultSetFactory</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.ucb.XSortedDynamicResultSetFactory
+ * @see ifc.ucb._XSortedDynamicResultSetFactory
+ */
+public class SortedDynamicResultSetFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.SortedDynamicResultSetFactory</code>.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ oInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SortedDynamicResultSetFactory");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/DataInputStream.java b/qadevOOo/tests/java/mod/_stm/DataInputStream.java
new file mode 100644
index 000000000000..0025fa88f842
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/DataInputStream.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XDataOutputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataInputStream</code>.
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.DataInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class DataInputStream extends TestCase {
+
+ /**
+ * Creates a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.io.DataInputStream</code> object,
+ * connects it to <code>com.sun.star.io.DataOutputStream</code>
+ * through <code>com.sun.star.io.Pipe</code>. All of possible data
+ * types are written into <code>DataOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();;
+ try {
+ oInterface = xMSF.createInstance("com.sun.star.io.DataInputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // creating and connecting DataOutputStream to the
+ // DataInputStream created through the Pipe
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+
+ XInterface oPipe = null;
+ try {
+ oPipe = (XInterface)
+ xMSF.createInstance("com.sun.star.io.Pipe");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XInputStream xPipeInput = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ XOutputStream xPipeOutput = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XInterface oDataOutput = null;
+ try {
+ oDataOutput = (XInterface)
+ xMSF.createInstance("com.sun.star.io.DataOutputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XDataOutputStream xDataOutput = (XDataOutputStream)
+ UnoRuntime.queryInterface(XDataOutputStream.class, oDataOutput) ;
+ XActiveDataSource xDataSource = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, oDataOutput) ;
+
+ xDataSource.setOutputStream(xPipeOutput) ;
+ xDataSink.setInputStream(xPipeInput) ;
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ // createing a connectable object for XConnectable interface
+ XInterface xConnect = null;
+ try {
+ xConnect = (XInterface)xMSF.createInstance(
+ "com.sun.star.io.DataInputStream") ;
+ } catch (Exception e) {
+ log.println("Can't create DataInputStream");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create DataInputStream", e);
+ }
+
+ // creating an input stream to set in XActiveDataSink
+ XInterface oDataInput = null;
+ try {
+ oDataInput = (XInterface) xMSF.createInstance(
+ "com.sun.star.io.Pipe" );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create new in stream") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create input stream", e) ;
+ }
+
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", xDataOutput);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", oDataInput);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/DataOutputStream.java b/qadevOOo/tests/java/mod/_stm/DataOutputStream.java
new file mode 100644
index 000000000000..2801677d1cc1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/DataOutputStream.java
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.DataOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XDataOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XDataOutputStream
+*/
+public class DataOutputStream extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.io.DataOutputStream</code>
+ * and an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Plugs the created pipe as output stream for the created DataOutputStream.
+ * @see com.sun.star.io.DataOutputStream
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ XInterface oPipe = null;
+ XMultiServiceFactory xMSF = null ;
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+ oPipe = (XInterface)xMSF.createInstance("com.sun.star.io.Pipe");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ oObj = (XInterface) oInterface;
+
+ final XOutputStream xPipeOutput = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XActiveDataSource xDataSource = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ xDataSource.setOutputStream(xPipeOutput);
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ final XInputStream xPipeInput = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ xPipeOutput.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.DataInputStream");
+ xInStream = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(xPipeInput);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/MarkableInputStream.java b/qadevOOo/tests/java/mod/_stm/MarkableInputStream.java
new file mode 100644
index 000000000000..8ea8769962e6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/MarkableInputStream.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class MarkableInputStream extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Writes some data to the
+ * <code>MarkableOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();;
+
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object xConnect = null;
+ try {
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance("com.sun.star.io.MarkableOutputStream");
+ xConnect = xMSF.createInstance("com.sun.star.io.DataInputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e) ;
+ }
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ XInterface oObj = (XInterface) mistream;
+
+ byte[] byteData = new byte[] {1,2,3,4,5,6};
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", mostream);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", mistream);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java b/qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java
new file mode 100644
index 000000000000..6e8185db10cc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableOutputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+*/
+public class MarkableOutputStream extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should be
+ * written into the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ XInterface aConnect;
+
+ try {
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e) ;
+ }
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ final XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ oObj = (XInterface) mostream;
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.MarkableInputStream");
+ xInStream = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/ObjectInputStream.java b/qadevOOo/tests/java/mod/_stm/ObjectInputStream.java
new file mode 100644
index 000000000000..bd9d950d15bf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/ObjectInputStream.java
@@ -0,0 +1,299 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.CannotRegisterImplementationException;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* <li> <code>com::sun::star::io::XObjectInputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see com.sun.star.io.XObjectInputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+* @see ifc.io._XObjectInputStream
+*/
+public class ObjectInputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ public void initialize(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ try {
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = (XImplementationRegistration)
+ UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+
+ }
+ catch (com.sun.star.uno.Exception e) {
+ System.err.println(
+ "Couldn't create implementation registration");
+ e.printStackTrace();
+ throw new StatusException("Couldn't create ImplReg", e);
+ }
+
+ XSimpleRegistry xReg = null;
+ try {
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ } catch (CannotRegisterImplementationException e) {
+ System.err.println("Name: " + url + " msg: " +
+ e.getMessage());
+ e.printStackTrace();
+ throw new StatusException(
+ "Couldn't register MyPersistObject", e);
+ }
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectInputStream</code>,
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Plugs the created
+ * markable input stream as input stream for the created
+ * <code>ObjectInputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code> and writes
+ * the created object to the object output stream.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XObjectInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ System.out.println("create TestEnvironment started.");
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object ostream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object istream = null;
+ Object xConnect = null;
+ try {
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ ostream = xMSF.createInstance
+ ("com.sun.star.io.ObjectOutputStream");
+ aPipe = xMSF.createInstance
+ ("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ xConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataInputStream") ;
+
+ } catch( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+ // Creating construction :
+ // ObjectOutputStream -> MarkableOutputStream -> Pipe ->
+ // -> MarkableInputStream -> ObjectInputStream
+ XActiveDataSource xdSo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ XObjectInputStream iStream = (XObjectInputStream)
+ UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ XObjectOutputStream oStream = null;
+ oStream = (XObjectOutputStream)
+ UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ XActiveDataSink xmSi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+ XInputStream xmIstream = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, mistream);
+
+ XActiveDataSink xdSi = (XActiveDataSink) UnoRuntime.queryInterface
+ (XActiveDataSink.class, istream);
+ xdSi.setInputStream(xmIstream);
+ xmSi.setInputStream(PipeIn);
+
+ // creating Persist object which has to be written
+ XPersistObject xPersObj = null;
+ try {
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = (XPersistObject)
+ UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write persist object.", e);
+ }
+
+
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+
+ System.out.println("create environment");
+ XInterface oObj = iStream;
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding persistent object
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ tEnv.addObjRelation("StreamWriter", oStream);
+ // for XActiveDataSink
+ tEnv.addObjRelation("InputStream", aPipe);
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // and by XInputStream interface methods
+ tEnv.addObjRelation("ByteData", byteData) ;
+
+ System.out.println("create TestEnvironment finished.");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java b/qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java
new file mode 100644
index 000000000000..cffbe744c84a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java
@@ -0,0 +1,320 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.CannotRegisterImplementationException;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* <li> <code>com::sun::star::io::XObjectOutputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XDataOutputStream
+* @see com.sun.star.io.XObjectOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XDataOutputStream
+* @see ifc.io._XObjectOutputStream
+*/
+public class ObjectOutputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ public void initialize(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ try {
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = (XImplementationRegistration)
+ UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+ }
+ catch (com.sun.star.uno.Exception e) {
+ System.err.println(
+ "Couldn't create implementation registration");
+ e.printStackTrace();
+ throw new StatusException("Couldn't create ImplReg", e);
+ }
+
+ XSimpleRegistry xReg = null;
+ try {
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ } catch (CannotRegisterImplementationException e) {
+ System.err.println("Name: " + url + " msg: " +
+ e.getMessage());
+ e.printStackTrace();
+ throw new StatusException(
+ "Couldn't register MyPersistObject", e);
+ }
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should
+ * be written into the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectOutputStream}(the created instance of the
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+
+ XObjectOutputStream oStream = null;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object ostream = null, istream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ XInterface aConnect = null;
+ Object minstream = null;
+
+ try {
+ ostream = xMSF.createInstance
+ ( "com.sun.star.io.ObjectOutputStream" );
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataInputStream");
+ minstream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ } catch( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ // creating the pipe where object has to be written to
+ XActiveDataSource xdSo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XActiveDataSink markIn = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, minstream);
+ XActiveDataSink inStream = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, istream);
+ XInputStream markInStream = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, minstream);
+
+ final XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ markIn.setInputStream(PipeIn);
+ inStream.setInputStream(markInStream);
+ XObjectInputStream objInputStream = (XObjectInputStream)
+ UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ oStream = (XObjectOutputStream)
+ UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ // creating Persistent object which has to be written
+ XPersistObject xPersObj = null ;
+ try {
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = (XPersistObject)
+ UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write persist object.", e) ;
+ }
+
+ oObj = oStream;
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ tEnv.addObjRelation("InputStream", objInputStream);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.ObjectInputStream");
+ xInStream = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/Pipe.java b/qadevOOo/tests/java/mod/_stm/Pipe.java
new file mode 100644
index 000000000000..988efe50d1fe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/Pipe.java
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pipe</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.Pipe
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XOutputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XOutputStream
+*/
+public class Pipe extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Writes some information to the created pipe.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pipe" );
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ oObj = (XInterface) oInterface;
+
+ // writing some information to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //add relation for io.XOutputStream
+ final XInputStream iStream = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, oObj);
+
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("StreamWriter", oObj);
+
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream inStream = null;
+ public void resetStreams() {
+ }
+
+ public XInputStream getInStream() {
+ return iStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/Pump.java b/qadevOOo/tests/java/mod/_stm/Pump.java
new file mode 100644
index 000000000000..982223d8dab1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/Pump.java
@@ -0,0 +1,190 @@
+/*************************************************************************
+ *
+ * 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 mod._stm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.NotConnectedException;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pump</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XActiveDataControl</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.Pump
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XActiveDataControl
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XActiveDataControl
+* @see ifc.io._XActiveDataSink
+*/
+public class Pump extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pump</code>.
+ * Settings up input and output streams for the created pump.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an input stream to set) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
+ * </ul>
+ * @see com.sun.star.io.Pump
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oPipe;
+
+ // creating an instance of stm.Pump
+ try {
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pump" );
+ oPipe = (XInterface) xMSF.createInstance( "com.sun.star.io.Pipe" );
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create the needed objects.", e) ;
+ }
+
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // setting up input and output streams for pump
+ XActiveDataSink xSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+ XActiveDataSource xSource = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ XInputStream xInput = new MyInput();
+ XOutputStream xOutput = new MyOutput();
+
+ xSink.setInputStream(xInput);
+ xSource.setOutputStream(xOutput);
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add object relations for ActiveDataSource and XActiveDataSink
+ tEnv.addObjRelation("InputStream", oPipe);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * XInputStream implementation to use with the test. It returns bytes of
+ * which a simple string consists.
+ */
+ private static class MyInput implements XInputStream {
+ String str = "Pump tesing string" ;
+
+ public int readBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+
+ if (str == null)
+ throw new NotConnectedException("Input stream was closed");
+
+ int actual = 0 ;
+ if (len <= str.length()) {
+ String resStr = str.substring(0, len-1) ;
+ bytes[0] = resStr.getBytes() ;
+ actual = len ;
+ str = str.substring(len) ;
+ } else {
+ bytes[0] = str.getBytes() ;
+ actual = str.length() ;
+ }
+
+ return actual;
+ }
+
+ public int readSomeBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+ return readBytes(bytes, len);
+ }
+
+ public void skipBytes(int len) throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ if (len >= str.length())
+ str = "" ;
+ else
+ str = str.substring(len) ;
+ }
+
+ public void closeInput() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ str = null ;
+ }
+
+ public int available() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ return str.length();
+ }
+ }
+
+ /**
+ * Dummy XOutputStream implementation to use with the test. Does nothing.
+ */
+ private static class MyOutput implements XOutputStream {
+ public void writeBytes(byte[] bytes) {
+ }
+
+ public void flush() {
+ }
+
+ public void closeOutput() {
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/package.html b/qadevOOo/tests/java/mod/_stm/package.html
new file mode 100644
index 000000000000..a35afb7a4a5f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'stm'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_streams.uno/DataInputStream.java b/qadevOOo/tests/java/mod/_streams.uno/DataInputStream.java
new file mode 100644
index 000000000000..145716aabe15
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/DataInputStream.java
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XDataOutputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import java.util.Vector;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataInputStream</code>.
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.DataInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class DataInputStream extends TestCase {
+
+ /**
+ * Creates a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.io.DataInputStream</code> object,
+ * connects it to <code>com.sun.star.io.DataOutputStream</code>
+ * through <code>com.sun.star.io.Pipe</code>. All of possible data
+ * types are written into <code>DataOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();;
+ try {
+ oInterface = xMSF.createInstance("com.sun.star.io.DataInputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // creating and connecting DataOutputStream to the
+ // DataInputStream created through the Pipe
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+
+ XInterface oPipe = null;
+ try {
+ oPipe = (XInterface)
+ xMSF.createInstance("com.sun.star.io.Pipe");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XInputStream xPipeInput = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ XOutputStream xPipeOutput = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XInterface oDataOutput = null;
+ try {
+ oDataOutput = (XInterface)
+ xMSF.createInstance("com.sun.star.io.DataOutputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ XDataOutputStream xDataOutput = (XDataOutputStream)
+ UnoRuntime.queryInterface(XDataOutputStream.class, oDataOutput) ;
+ XActiveDataSource xDataSource = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, oDataOutput) ;
+
+ xDataSource.setOutputStream(xPipeOutput) ;
+ xDataSink.setInputStream(xPipeInput) ;
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ // createing a connectable object for XConnectable interface
+ XInterface xConnect = null;
+ try {
+ xConnect = (XInterface)xMSF.createInstance(
+ "com.sun.star.io.DataInputStream") ;
+ } catch (Exception e) {
+ log.println("Can't create DataInputStream");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create DataInputStream", e);
+ }
+
+ // creating an input stream to set in XActiveDataSink
+ XInterface oDataInput = null;
+ try {
+ oDataInput = (XInterface) xMSF.createInstance(
+ "com.sun.star.io.Pipe" );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create new in stream") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create input stream", e) ;
+ }
+
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", xDataOutput);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", oDataInput);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/DataOutputStream.java b/qadevOOo/tests/java/mod/_streams.uno/DataOutputStream.java
new file mode 100644
index 000000000000..2a3f886b3e57
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/DataOutputStream.java
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import java.util.Vector;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.DataOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XDataOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XDataOutputStream
+*/
+public class DataOutputStream extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.io.DataOutputStream</code>
+ * and an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Plugs the created pipe as output stream for the created DataOutputStream.
+ * @see com.sun.star.io.DataOutputStream
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ XInterface oPipe = null;
+ XMultiServiceFactory xMSF = null ;
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+ oPipe = (XInterface)xMSF.createInstance("com.sun.star.io.Pipe");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ oObj = (XInterface) oInterface;
+
+ final XOutputStream xPipeOutput = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XActiveDataSource xDataSource = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ xDataSource.setOutputStream(xPipeOutput);
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ final XInputStream xPipeInput = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ xPipeOutput.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.DataInputStream");
+ xInStream = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(xPipeInput);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/MarkableInputStream.java b/qadevOOo/tests/java/mod/_streams.uno/MarkableInputStream.java
new file mode 100644
index 000000000000..a7bcb00a2087
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/MarkableInputStream.java
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class MarkableInputStream extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Writes some data to the
+ * <code>MarkableOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();;
+
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object xConnect = null;
+ try {
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance("com.sun.star.io.MarkableOutputStream");
+ xConnect = xMSF.createInstance("com.sun.star.io.DataInputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e) ;
+ }
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ XInterface oObj = (XInterface) mistream;
+
+ byte[] byteData = new byte[] {1,2,3,4,5,6};
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", mostream);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", mistream);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/MarkableOutputStream.java b/qadevOOo/tests/java/mod/_streams.uno/MarkableOutputStream.java
new file mode 100644
index 000000000000..d7bfd8efbb96
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/MarkableOutputStream.java
@@ -0,0 +1,204 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import java.util.Vector;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableOutputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+*/
+public class MarkableOutputStream extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should be
+ * written into the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ XInterface aConnect;
+
+ try {
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e) ;
+ }
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ final XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ oObj = (XInterface) mostream;
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.MarkableInputStream");
+ xInStream = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/ObjectInputStream.java b/qadevOOo/tests/java/mod/_streams.uno/ObjectInputStream.java
new file mode 100644
index 000000000000..80f3265fae74
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/ObjectInputStream.java
@@ -0,0 +1,296 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.CannotRegisterImplementationException;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import java.util.Vector;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* <li> <code>com::sun::star::io::XObjectInputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see com.sun.star.io.XObjectInputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+* @see ifc.io._XObjectInputStream
+*/
+public class ObjectInputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ public void initialize(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ try {
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = (XImplementationRegistration)
+ UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+
+ }
+ catch (com.sun.star.uno.Exception e) {
+ System.err.println(
+ "Couldn't create implementation registration");
+ e.printStackTrace();
+ throw new StatusException("Couldn't create ImplReg", e);
+ }
+
+ XSimpleRegistry xReg = null;
+ try {
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ } catch (CannotRegisterImplementationException e) {
+ System.err.println("Name: " + url + " msg: " +
+ e.getMessage());
+ e.printStackTrace();
+ throw new StatusException(
+ "Couldn't register MyPersistObject", e);
+ }
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectInputStream</code>,
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Plugs the created
+ * markable input stream as input stream for the created
+ * <code>ObjectInputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code> and writes
+ * the created object to the object output stream.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XObjectInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ System.out.println("create TestEnvironment started.");
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object ostream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object istream = null;
+ Object xConnect = null;
+ try {
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ ostream = xMSF.createInstance
+ ("com.sun.star.io.ObjectOutputStream");
+ aPipe = xMSF.createInstance
+ ("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ xConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataInputStream") ;
+
+ } catch( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+ // Creating construction :
+ // ObjectOutputStream -> MarkableOutputStream -> Pipe ->
+ // -> MarkableInputStream -> ObjectInputStream
+ XActiveDataSource xdSo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ XObjectInputStream iStream = (XObjectInputStream)
+ UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ XObjectOutputStream oStream = null;
+ oStream = (XObjectOutputStream)
+ UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ XActiveDataSink xmSi = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+ XInputStream xmIstream = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, mistream);
+
+ XActiveDataSink xdSi = (XActiveDataSink) UnoRuntime.queryInterface
+ (XActiveDataSink.class, istream);
+ xdSi.setInputStream(xmIstream);
+ xmSi.setInputStream(PipeIn);
+
+ // creating Persist object which has to be written
+ XPersistObject xPersObj = null;
+ try {
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = (XPersistObject)
+ UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write persist object.", e);
+ }
+
+
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+
+ System.out.println("create environment");
+ XInterface oObj = iStream;
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding persistent object
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ tEnv.addObjRelation("StreamWriter", oStream);
+ // for XActiveDataSink
+ tEnv.addObjRelation("InputStream", aPipe);
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // and by XInputStream interface methods
+ tEnv.addObjRelation("ByteData", byteData) ;
+
+ System.out.println("create TestEnvironment finished.");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/ObjectOutputStream.java b/qadevOOo/tests/java/mod/_streams.uno/ObjectOutputStream.java
new file mode 100644
index 000000000000..d6b8ac642ca2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/ObjectOutputStream.java
@@ -0,0 +1,317 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.CannotRegisterImplementationException;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import java.util.Vector;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* <li> <code>com::sun::star::io::XObjectOutputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XDataOutputStream
+* @see com.sun.star.io.XObjectOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XDataOutputStream
+* @see ifc.io._XObjectOutputStream
+*/
+public class ObjectOutputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ public void initialize(TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ try {
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = (XImplementationRegistration)
+ UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+ }
+ catch (com.sun.star.uno.Exception e) {
+ System.err.println(
+ "Couldn't create implementation registration");
+ e.printStackTrace();
+ throw new StatusException("Couldn't create ImplReg", e);
+ }
+
+ XSimpleRegistry xReg = null;
+ try {
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ } catch (CannotRegisterImplementationException e) {
+ System.err.println("Name: " + url + " msg: " +
+ e.getMessage());
+ e.printStackTrace();
+ throw new StatusException(
+ "Couldn't register MyPersistObject", e);
+ }
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should
+ * be written into the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectOutputStream}(the created instance of the
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XObjectOutputStream oStream = null;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ Object ostream = null, istream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ XInterface aConnect = null;
+ Object minstream = null;
+
+ try {
+ ostream = xMSF.createInstance
+ ( "com.sun.star.io.ObjectOutputStream" );
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataInputStream");
+ minstream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ } catch( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ // creating the pipe where object has to be written to
+ XActiveDataSource xdSo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XActiveDataSink markIn = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, minstream);
+ XActiveDataSink inStream = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, istream);
+ XInputStream markInStream = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, minstream);
+
+ final XOutputStream PipeOut = (XOutputStream)
+ UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ markIn.setInputStream(PipeIn);
+ inStream.setInputStream(markInStream);
+ XObjectInputStream objInputStream = (XObjectInputStream)
+ UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ oStream = (XObjectOutputStream)
+ UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ // creating Persistent object which has to be written
+ XPersistObject xPersObj = null ;
+ try {
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = (XPersistObject)
+ UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write persist object.", e) ;
+ }
+
+ oObj = oStream;
+
+ // all data types for writing to an XDataInputStream
+ Vector data = new Vector() ;
+ data.add(new Boolean(true)) ;
+ data.add(new Byte((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(new Short((short)1234)) ;
+ data.add(new Integer(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ tEnv.addObjRelation("InputStream", objInputStream);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.ObjectInputStream");
+ xInStream = (XInputStream) UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/Pipe.java b/qadevOOo/tests/java/mod/_streams.uno/Pipe.java
new file mode 100644
index 000000000000..440550a5b444
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/Pipe.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pipe</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.Pipe
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XOutputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XOutputStream
+*/
+public class Pipe extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Writes some information to the created pipe.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pipe" );
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", e);
+ }
+
+ oObj = (XInterface) oInterface;
+
+ // writing some information to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //add relation for io.XOutputStream
+ final XInputStream iStream = (XInputStream)
+ UnoRuntime.queryInterface(XInputStream.class, oObj);
+
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("StreamWriter", oObj);
+
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ public void resetStreams() {
+ }
+
+ public XInputStream getInStream() {
+ return iStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/Pump.java b/qadevOOo/tests/java/mod/_streams.uno/Pump.java
new file mode 100644
index 000000000000..dbccee2ee043
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/Pump.java
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 mod._streams.uno;
+
+import com.sun.star.io.NotConnectedException;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pump</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XActiveDataControl</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.Pump
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XActiveDataControl
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XActiveDataControl
+* @see ifc.io._XActiveDataSink
+*/
+public class Pump extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pump</code>.
+ * Settings up input and output streams for the created pump.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an input stream to set) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
+ * </ul>
+ * @see com.sun.star.io.Pump
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XInterface oPipe;
+
+ // creating an instance of stm.Pump
+ try {
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pump" );
+ oPipe = (XInterface) xMSF.createInstance( "com.sun.star.io.Pipe" );
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create the needed objects.", e) ;
+ }
+
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // setting up input and output streams for pump
+ XActiveDataSink xSink = (XActiveDataSink)
+ UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+ XActiveDataSource xSource = (XActiveDataSource)
+ UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ XInputStream xInput = new MyInput();
+ XOutputStream xOutput = new MyOutput();
+
+ xSink.setInputStream(xInput);
+ xSource.setOutputStream(xOutput);
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add object relations for ActiveDataSource and XActiveDataSink
+ tEnv.addObjRelation("InputStream", oPipe);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * XInputStream implementation to use with the test. It returns bytes of
+ * which a simple string consists.
+ */
+ private static class MyInput implements XInputStream {
+ String str = "Pump tesing string" ;
+
+ public int readBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+
+ if (str == null)
+ throw new NotConnectedException("Input stream was closed");
+
+ int actual = 0 ;
+ if (len <= str.length()) {
+ String resStr = str.substring(0, len-1) ;
+ bytes[0] = resStr.getBytes() ;
+ actual = len ;
+ str = str.substring(len) ;
+ } else {
+ bytes[0] = str.getBytes() ;
+ actual = str.length() ;
+ }
+
+ return actual;
+ }
+
+ public int readSomeBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+ return readBytes(bytes, len);
+ }
+
+ public void skipBytes(int len) throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ if (len >= str.length())
+ str = "" ;
+ else
+ str = str.substring(len) ;
+ }
+
+ public void closeInput() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ str = null ;
+ }
+
+ public int available() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ return str.length();
+ }
+ }
+
+ /**
+ * Dummy XOutputStream implementation to use with the test. Does nothing.
+ */
+ private static class MyOutput implements XOutputStream {
+ public void writeBytes(byte[] bytes) {
+ }
+
+ public void flush() {
+ }
+
+ public void closeOutput() {
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams.uno/package.html b/qadevOOo/tests/java/mod/_streams.uno/package.html
new file mode 100644
index 000000000000..a35afb7a4a5f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'stm'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java
new file mode 100644
index 000000000000..358819ee733d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.view.XSelectionSupplier;
+
+public class AccessibleBrowseBox extends TestCase {
+
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop((XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose(); // get a soffice factory object
+ }
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ shortWait();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ final XSelectionSupplier xSelect = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, the_frame2.getController());
+
+ PropertyValue[] params = new PropertyValue[]{new PropertyValue(), new PropertyValue(), new PropertyValue()};
+ params[0].Name = "DataSourceName";
+ params[0].Value = "Bibliography";
+ params[1].Name = "CommandType";
+ params[1].Value = new Integer(com.sun.star.sdb.CommandType.TABLE);
+ params[2].Name = "Command";
+ params[2].Value = "biblio";
+
+ final PropertyValue[] fParams = params;
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL, "", "AccessibleBrowseBox");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+
+ public void fireEvent() {
+ try {
+ xSelect.select(fParams);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java
new file mode 100644
index 000000000000..b953abde994e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java
@@ -0,0 +1,255 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxHeaderBar extends TestCase {
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service <code>com.sun.star.awt.Toolkit</code>
+ * and gets active top window. Then obtains an accessible object with
+ * the role <code>AccessibleRole.TABLE</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ //am controller ein XSelectionSupplier->mit params rufen
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = new Integer(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ shortWait();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XController xCont = the_frame2.getController();
+
+ XSelectionSupplier xSelect = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+ try {
+ xSelect.select(params);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ throw new StatusException("Could not select Biblio-Database", ex);
+ }
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ shortWait();
+
+ XAccessibleComponent accComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ final Point point = accComp.getLocationOnScreen();
+
+ shortWait();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X + 5, point.Y + 5);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java
new file mode 100644
index 000000000000..2e7cb013e2ee
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxHeaderCell extends TestCase {
+
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop((XMultiServiceFactory)Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser and loads
+ * the table. Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.UNKNOWN</code> and with the name
+ * <code>"Identifier"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider)UnoRuntime.
+ queryInterface(XDispatchProvider.class, secondController);
+
+ XDispatch getting = null;
+
+ log.println( "opening DatasourceBrowser" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ shortWait();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ final XInitialization xInit = (XInitialization)
+ UnoRuntime.queryInterface(
+ XInitialization.class, the_frame2.getController());
+
+ PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = new Integer(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ XController xCont = the_frame2.getController();
+
+ XSelectionSupplier xSelect = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+ try {
+ xSelect.select(params);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ throw new StatusException("Could not select Biblio-Database", ex);
+ }
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.ROW_HEADER);
+
+ log.println("ImplementationName: "+ util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000); ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java
new file mode 100644
index 000000000000..6842fd6da8e2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java
@@ -0,0 +1,238 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxTable extends TestCase {
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory)Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.TABLE</code> and with the name
+ * <code>"Table"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider)UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ shortWait();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+ XController xCont = the_frame2.getController();
+
+ the_frame2.setName("DatasourceBrowser");
+
+ final PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = new Integer(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ final XSelectionSupplier xSelect = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+
+ final Object[] initArgs = params;
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE,
+ "Table");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ xSelect.select(params);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java
new file mode 100644
index 000000000000..973f0bf9c324
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxTableCell extends TestCase {
+
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop((XMultiServiceFactory)Param.getMSF()) );
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser and loads
+ * the table. Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.TABLE_CELL</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+
+ XDispatchProvider aProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class,secondController);
+
+ XDispatch getting = null;
+
+ log.println( "opening DatasourceBrowser" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url,"_beamer",12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url,noArgs);
+
+ shortWait();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer",4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ final XInitialization xInit = (XInitialization)
+ UnoRuntime.queryInterface(
+ XInitialization.class, the_frame2.getController());
+
+ Object[] params = new Object[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = new Integer(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE_CELL);
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000); ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java
new file mode 100644
index 000000000000..73d3a3bf8aff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java
@@ -0,0 +1,287 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ */
+public class AccessibleIconChoiceCtrl extends TestCase {
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+ static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Closes the Hyperlink dialog.
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("closing HyperlinkDialog");
+
+ try {
+ if (accCloseButton != null) {
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the Hyperlink dialog.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.TREE</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> selects accessible childs
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) ( (XMultiServiceFactory) tParam.getMSF())
+ .createInstance("com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ( (XMultiServiceFactory) tParam.getMSF())
+ .createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ shortWait();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleContext closeButton = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+ accCloseButton = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ new Boolean(true));
+
+ String[] expectedStateNames = new String[] {
+ "com.sun.star.accessibility.AccessibleStateType.ENABLED",
+ "com.sun.star.accessibility.AccessibleStateType.FOCUSABLE",
+ "com.sun.star.accessibility.AccessibleStateType.SHOWING",
+ "com.sun.star.accessibility.AccessibleStateType.VISIBLE",
+ "com.sun.star.accessibility.AccessibleStateType.MANAGES_DESCENDANTS",
+ };
+
+ short[] expectedStates = new short[] {
+ com.sun.star.accessibility.AccessibleStateType.ENABLED,
+ com.sun.star.accessibility.AccessibleStateType.FOCUSABLE,
+ com.sun.star.accessibility.AccessibleStateType.SHOWING,
+ com.sun.star.accessibility.AccessibleStateType.VISIBLE,
+ com.sun.star.accessibility.AccessibleStateType.MANAGES_DESCENDANTS,
+ };
+
+ tEnv.addObjRelation("expectedStateNames", expectedStateNames);
+ tEnv.addObjRelation("expectedStates", expectedStates);
+
+ final XAccessibleSelection selection = (XAccessibleSelection) (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ selection.selectAccessibleChild(1);
+ selection.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java
new file mode 100644
index 000000000000..28ccb9859faf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java
@@ -0,0 +1,264 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleText
+ */
+public class AccessibleIconChoiceCtrlEntry extends TestCase {
+
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+ static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop((XMultiServiceFactory)Param.getMSF()));
+ }
+
+ /**
+ * Closes the Hyperlink dialog.
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("closing HyperlinkDialog");
+
+ try {
+ if (accCloseButton != null) {
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the Hyperlink dialog.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.LABEL</code> and with the name
+ * <code>"Internet"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}:
+ * the string representation of the item text
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider)UnoRuntime.
+ queryInterface(XDispatchProvider.class, secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface)((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer)UnoRuntime.queryInterface
+ (XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e );
+ }
+
+ XDispatch getting = null;
+ log.println( "opening HyperlinkDialog" );
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ XInterface oObj = null;
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.awt.Toolkit") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e );
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit)
+ UnoRuntime.queryInterface(XExtendedToolkit.class, oObj);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ shortWait();
+
+ XWindow xWindow = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class, tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.LABEL, "Internet");
+
+ XAccessibleContext closeButton = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON, "Close");
+
+ accCloseButton = (XAccessibleAction)
+ UnoRuntime.queryInterface(XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: "+ util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Internet");
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ tEnv.addObjRelation("LimitedBounds",
+ "only delivers senseful values for getCharacterBounds(0,length-1)");
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000); ;
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java
new file mode 100644
index 000000000000..c646aa1eaf25
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+public class AccessibleTabBar extends TestCase {
+ static XComponent xDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xCalcDoc");
+
+ if (xDoc != null) {
+ closeDoc(xDoc);
+ }
+ }
+
+ /**
+ * Creates a spreadsheet document. Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETAB</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xDoc != null) {
+ closeDoc(xDoc);
+ }
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) tParam.getMSF();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+
+ try {
+ log.println("creating a calc document");
+ xDoc = (XComponent) UnoRuntime.queryInterface(XComponent.class,
+ SOF.createCalcDoc(
+ null));
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ shortWait();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow aWin = xWindow;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ aWin.setPosSize(100,100, 500, 500, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 3 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ protected void closeDoc(XComponent xDoc) {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xDoc);
+
+ try {
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ } catch (java.lang.NullPointerException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java
new file mode 100644
index 000000000000..1e1b571881c2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleTabBarPage extends TestCase {
+
+ static XComponent xDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xCalcDoc");
+ if (xDoc != null) {
+ util.DesktopTools.closeDoc(xDoc);
+ }
+ }
+
+ /**
+ * Creates a spreadsheet document. Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETAB</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ if (xDoc != null) xDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a calc document" );
+ xDoc = (XComponent) UnoRuntime.queryInterface(XComponent.class, SOF.createCalcDoc(null));// SOF.createDrawDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ shortWait();
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.awt.Toolkit") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e );
+ }
+
+
+ XExtendedToolkit tk = (XExtendedToolkit)
+ UnoRuntime.queryInterface(XExtendedToolkit.class, oObj);
+
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ shortWait();
+
+ XWindow xWindow = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB, "Sheet1");
+ XAccessibleContext acc = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB, "Sheet2");
+ XAccessibleComponent accComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ acc);
+ final Point point = accComp.getLocationOnScreen();
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("Destroy","yes");
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X + 25, point.Y + 5);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java
new file mode 100644
index 000000000000..1d367d97bc95
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java
@@ -0,0 +1,209 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XLayerSupplier;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleTabBarPageList extends TestCase {
+ static XComponent xDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xDoc");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a spreadsheet document. Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETABLIST</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a draw document");
+ xDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ( (XMultiServiceFactory) tParam.getMSF())
+ .createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ shortWait();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PAGE_TAB_LIST);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ new Boolean(true));
+
+ XLayerSupplier oLS = (XLayerSupplier)
+ UnoRuntime.queryInterface(XLayerSupplier.class, xDoc);
+ XInterface oLM = oLS.getLayerManager();
+ final XLayerManager xLM = (XLayerManager) UnoRuntime.queryInterface(XLayerManager.class, oLM);
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xLM.insertNewByIndex(0);
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ protected void closeDoc() {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xDoc);
+
+ try {
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java
new file mode 100644
index 000000000000..6134bd1a3aef
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java
@@ -0,0 +1,249 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ */
+public class AccessibleTreeListBox extends TestCase {
+
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop((XMultiServiceFactory)Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service <code>com.sun.star.awt.Toolkit</code>
+ * and gets active top window. Then obtains an accessible object with
+ * the role <code>AccessibleRole.TREE</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * of type <code>Boolean</code> for
+ * {@link ifc.accessibility._XAccessibleSelection}:
+ * indicates that component supports single selection mode.</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider)UnoRuntime.
+ queryInterface(XDispatchProvider.class, secondController);
+
+ XDispatch getting = null;
+
+ log.println( "opening DatasourceBrowser" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ shortWait();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ log.println("ImplementationName: "+ util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XInitialization xInit = (XInitialization)
+ UnoRuntime.queryInterface(
+ XInitialization.class, the_frame2.getController());
+
+ Object[] params = new Object[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = new Integer(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ final Object[] fParams = params;
+
+// tEnv.addObjRelation("EventProducer",
+// new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+// public void fireEvent() {
+// fXComp.grabFocus();
+// }
+// });
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ xInit.initialize(fParams);
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e) ;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java
new file mode 100644
index 000000000000..c4ee3562d720
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java
@@ -0,0 +1,295 @@
+/*************************************************************************
+ *
+ * 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 mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleAction
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleText
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleTreeListBoxEntry extends TestCase {
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service <code>com.sun.star.awt.Toolkit</code>
+ * and gets active top window. Then obtains an accessible object with
+ * the role <code>AccessibleRole.LABEL</code> and with the name
+ * <code>"Bibliography"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * of type <code>Boolean</code> for
+ * {@link ifc.accessibility._XAccessibleSelection}:
+ * indicates that component supports single selection mode.</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}:
+ * the text of the component</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ shortWait();
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ XInitialization xInit = (XInitialization) UnoRuntime.queryInterface(
+ XInitialization.class,
+ the_frame2.getController());
+
+ PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = new Integer(com.sun.star.sdb.CommandType.QUERY);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "select * from biblio";
+ params[2] = param3;
+
+ XController xCont = the_frame2.getController();
+
+ XSelectionSupplier xSelect = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+ try {
+ xSelect.select(params);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ throw new StatusException("Could not select Biblio-Database", ex);
+ }
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.LABEL,
+ "Bibliography");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ //adding ObjectRelation for XAccessibleText
+ tEnv.addObjRelation("LimitedBounds", "true");
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Bibliography");
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ protected void closeDoc() {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+
+ try {
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java
new file mode 100644
index 000000000000..c77b82fcd6fa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleControlShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ final XShape oShape = FormTools.insertControlShape
+ (xDrawDoc,3000,4500,15000,1000,"CommandButton");
+
+ AccessibilityTools at = new AccessibilityTools();
+ utils.shortWait(5000);
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+// oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE,
+// "Button");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "Button");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {}
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java b/qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java
new file mode 100644
index 000000000000..104b10d5c0b1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class AccessibleEditableTextPara extends TestCase {
+
+ static XComponent xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Obtains accissible object for the spreadsheet document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext InputLine = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT_FRAME,"Input line");
+ try {
+ oObj = InputLine.getAccessibleChild(0);
+ XAccessibleEditableText et = (XAccessibleEditableText) UnoRuntime.queryInterface(XAccessibleEditableText.class, oObj);
+ et.setText("AccessibleEditablePara");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+
+ }
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleEditableText edText = (XAccessibleEditableText)
+ UnoRuntime.queryInterface(XAccessibleEditableText.class,oObj) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ int l = new String("AccessibleEditablePara").length();
+ edText.deleteText(0, l);
+ edText.setText("Event");
+ edText.setText("AccessibleEditablePara");
+ }catch(com.sun.star.lang.IndexOutOfBoundsException e) {}
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSpreadsheetDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = (XComponent) UnoRuntime.queryInterface(XComponent.class,SOF.createCalcDoc(null));
+ shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java
new file mode 100644
index 000000000000..3a48179223ea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleGraphicShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ final XShape oShape = SOF.createShape(xDrawDoc,
+ 5000,5000,1500,1000,"GraphicObject");
+
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+// oObj = at.getAccessibleObjectForRole
+// (xRoot, AccessibleRole.SHAPE, "GraphicObject");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "GraphicObject");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {}
+ }
+ });
+
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java
new file mode 100644
index 000000000000..b541353c48b1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleOLEShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ final XShape oShape = SOF.createShape
+ (xDrawDoc,5000,5000,1500,1000,"OLE2");
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet shape_props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+
+ log.println("Inserting a Chart");
+
+ try {
+ shape_props.
+ setPropertyValue("CLSID","12DCAE26-281F-416F-a234-c3086127382e");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change property", e);
+ }
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+// oObj = at.getAccessibleObjectForRole
+// (xRoot, AccessibleRole.SHAPE, "OLEShape");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "OLEShape");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {}
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java
new file mode 100644
index 000000000000..9be5cfdac65b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePageShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ //XShape oShape = null;
+ XDrawPage oPage = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+// oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE,
+// "PageShape");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "PageShape");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //at.getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLLBAR);
+ //final XAccessibleValue xAccVal = (XAccessibleValue)
+ // UnoRuntime.queryInterface
+ // (XAccessibleValue.class, at.SearchedContext) ;
+ oPage = DrawTools.getDrawPage(xDrawDoc,0);
+ final XPropertySet PageProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oPage);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ PageProps.setPropertyValue("Height",new Integer(5000));
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ System.out.println("Don't no the Property Height");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ System.out.println(
+ "PropertyVetoException Exception while changing Height");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ System.out.println(
+ "IllegalArgumentException Exception while changing Height");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ System.out.println(
+ "WrappedTargetException Exception while changing Height");
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java
new file mode 100644
index 000000000000..fcd9ad664f84
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePresentationGraphicShape extends TestCase {
+
+ static XComponent xDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDoc = SOF.createImpressDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory docMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xDoc);
+ try {
+ oShape = (XShape) UnoRuntime.queryInterface(XShape.class,
+ docMSF.createInstance
+ ("com.sun.star.presentation.GraphicObjectShape"));
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("couldn't create component", e);
+ }
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDoc,0)).add(oShape);
+
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ oShapeProps.setPropertyValue(
+ "GraphicURL",util.utils.getFullTestURL("space-metal.jpg"));
+ oShapeProps.setPropertyValue("IsEmptyPresentationObject", new Boolean(false));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ //DrawTools.getShapes(DrawTools.getDrawPage(xDoc,0)).add(oShape);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+// oObj = at.getAccessibleObjectForRole
+// (xRoot, AccessibleRole.SHAPE, "GraphicObject");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "GraphicObject");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final XShape fShape = oShape ;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = fShape.getSize();
+ size.Width += 100;
+ fShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {}
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java
new file mode 100644
index 000000000000..1c705a9b3067
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePresentationOLEShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createImpressDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory docMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc);
+ try {
+ oShape = (XShape) UnoRuntime.queryInterface(XShape.class,
+ docMSF.createInstance("com.sun.star.presentation.OLE2Shape"));
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("couldn't create component", e);
+ }
+
+
+ //DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ oShapeProps.setPropertyValue("IsEmptyPresentationObject", new Boolean(false));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ try {
+ oShapeProps.setPropertyValue(
+ "CLSID","12DCAE26-281F-416F-a234-c3086127382e");
+ oShapeProps.setPropertyValue("IsEmptyPresentationObject", new Boolean(false));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+// oObj = at.getAccessibleObjectForRole
+// (xRoot, AccessibleRole.SHAPE, "ImpressOLE");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "ImpressOLE");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final XShape fShape = oShape ;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = fShape.getSize();
+ size.Width += 100;
+ fShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {}
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java
new file mode 100644
index 000000000000..8979255a6c48
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePresentationShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createImpressDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory docMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc);
+ try {
+ oShape = (XShape) UnoRuntime.queryInterface(XShape.class,
+ docMSF.createInstance
+ ("com.sun.star.presentation.HandoutShape"));
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("couldn't create component", e);
+ }
+
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet shapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oShape);
+
+ try {
+ shapeProps.setPropertyValue(
+ "IsEmptyPresentationObject", new Boolean(false));
+ } catch (Exception e) {}
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+// oObj = at.getAccessibleObjectForRole
+// (xRoot, AccessibleRole.SHAPE, "ImpressHandout");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "ImpressHandout");
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final XShape fShape = oShape ;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = fShape.getSize();
+ size.Width += 100;
+ fShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {}
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleShape.java
new file mode 100644
index 000000000000..41210cbe9617
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleShape.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ final XShape oShape = SOF.createShape(xDrawDoc,
+ 3000,4500,15000,1000,"Rectangle");
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow ((XMultiServiceFactory)tParam.getMSF(),aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+// oObj = at.getAccessibleObjectForRole
+// (xRoot, AccessibleRole.SHAPE, "Rectangle");
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "Rectangle");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {}
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/GraphicExporter.java b/qadevOOo/tests/java/mod/_svx/GraphicExporter.java
new file mode 100644
index 000000000000..56ebf07d3729
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/GraphicExporter.java
@@ -0,0 +1,237 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.GraphicExportFilter</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::document::XFilter</code></li>
+ * <li> <code>com::sun::star::document::XMimeTypeInfo</code></li>
+ * <li> <code>com::sun::star::document::XExporter</code></li>
+ * </ul> <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> space-metal.jpg </b> : the file used for GraphicObject
+ * creation. This image must be then exported. </li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XMimeTypeInfo
+ * @see com.sun.star.document.XExporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XMimeTypeInfo
+ * @see ifc.document._XExporter
+ */
+public class GraphicExporter extends TestCase {
+ static XComponent xDrawDoc;
+
+ /**
+ * Creates a new draw document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a drawdoc");
+ xDrawDoc = DrawTools.createDrawDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes the draw document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.GraphicExportFilter</code> as
+ * a tested component. Then a <code>GraphicObjectShape</code>
+ * instance is added into the document and its image is obtained
+ * from JPEG file. This shape content is intended to be exported.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} :
+ * descriptor which contains target file name in
+ * the temporary directory, file type (JPEG)
+ * </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} :
+ * checks if the target file exists.
+ * In the case if SOffice is started in 'Hide' mode
+ * ('soapi.test.hidewindows' test parameter is 'true')
+ * the checker always returns <code>true</code>.
+ * </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} :
+ * the <code>GraphicObjectShape</code> component
+ * with loaded image.
+ * </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XShape oShape = null;
+ Object go = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ try {
+ go = ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.drawing.GraphicExportFilter");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // create testobject here
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc, 5000, 5000, 1500, 1000,
+ "GraphicObject");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc, 0)).add(oShape);
+
+ XPropertySet oShapeProps = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oShape);
+ XComponent xComp = null;
+
+ try {
+ oShapeProps.setPropertyValue("GraphicURL",
+ util.utils.getFullTestURL(
+ "space-metal.jpg"));
+ xComp = (XComponent) UnoRuntime.queryInterface(XComponent.class,
+ oShape);
+
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface(
+ XExporter.class, (XInterface) go);
+ xEx.setSourceDocument(xComp);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error while preparing component", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error while preparing component", e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error while preparing component", e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Error while preparing component", e);
+ }
+
+ final URL aURL = new URL();
+ aURL.Complete = util.utils.getOfficeTemp(
+ (XMultiServiceFactory) tParam.getMSF()) +
+ "picture.jpg";
+
+ final XSimpleFileAccess fAcc;
+
+ try {
+ Object oFAcc = ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.ucb.SimpleFileAccess");
+ fAcc = (XSimpleFileAccess) UnoRuntime.queryInterface(
+ XSimpleFileAccess.class, oFAcc);
+
+ if (fAcc.exists(aURL.Complete)) {
+ fAcc.kill(aURL.Complete);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error accessing file system :");
+ e.printStackTrace(log);
+ throw new StatusException("Error accessing file system.", e);
+ }
+
+ oObj = (XInterface) go;
+ log.println("ImplName " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("MediaDescriptor",
+ XMLTools.createMediaDescriptor(
+ new String[] {
+ "FilterName", "URL", "MediaType"
+ }, new Object[] { "JPG", aURL, "image/jpeg" }));
+ tEnv.addObjRelation("SourceDocument", xComp);
+
+ log.println("adding ObjRelation for XFilter");
+ log.println("This Component doesn't really support the cancel method");
+ log.println("See #101725");
+ tEnv.addObjRelation("NoFilter.cancel()", new Boolean(true));
+
+ final String hideMode = (String) tParam.get("soapi.test.hidewindows");
+ tEnv.addObjRelation("XFilter.Checker",
+ new ifc.document._XFilter.FilterChecker() {
+ public boolean checkFilter() {
+ try {
+ if ((hideMode != null) && hideMode.equals("true")) {
+ return true;
+ }
+
+ return fAcc.exists(aURL.Complete);
+ } catch (com.sun.star.uno.Exception e) {
+ return false;
+ }
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class GraphicExporter
diff --git a/qadevOOo/tests/java/mod/_svx/SvxDrawPage.java b/qadevOOo/tests/java/mod/_svx/SvxDrawPage.java
new file mode 100644
index 000000000000..15aa351c625a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxDrawPage.java
@@ -0,0 +1,224 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DrawTools;
+import util.FormTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.DrawPage</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+ * <li> <code>com::sun::star::drawing::XShapes</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::drawing::XMasterPageTarget</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.drawing.GenericDrawPage
+ * @see com.sun.star.drawing.XShapeBinder
+ * @see com.sun.star.drawing.XShapeGrouper
+ * @see com.sun.star.drawing.XShapes
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.drawing.XMasterPageTarget
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.drawing.XShapeCombiner
+ * @see ifc.drawing._GenericDrawPage
+ * @see ifc.drawing._XShapeBinder
+ * @see ifc.drawing._XShapeGrouper
+ * @see ifc.drawing._XShapes
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.drawing._XMasterPageTarget
+ * @see ifc.container._XNamed
+ * @see ifc.drawing._XShapeCombiner
+ */
+public class SvxDrawPage extends TestCase {
+ static XSpreadsheetDocument xDoc = null;
+
+ /**
+ * Creates a new Draw document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a sheetdocument");
+ xDoc = SOF.createCalcDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes the Draw document created before
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+ util.DesktopTools.closeDoc(xDoc);
+ ;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * From the Draw document created a collection of its draw
+ * pages is obtained. Two new pages are inserted. And one
+ * page is obtained as a testing component. A shape is added
+ * to this page. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeGrouper} :
+ * the draw page tested. </li>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes} :
+ * the creator which can create instances of
+ * <code>com.sun.star.drawing.Line</code> service </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XShape oShape = null;
+ XDrawPages oDP = null;
+
+ XComponent xComp = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, xDoc);
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ try {
+ log.println("getting Drawpages");
+
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier) UnoRuntime.queryInterface(
+ XDrawPagesSupplier.class, xDoc);
+ oDP = (XDrawPages) oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ oObj = (XDrawPage) AnyConverter.toObject(new Type(XDrawPage.class),
+ oDP.getByIndex(0));
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ oShape = SOF.createShape(xComp, 5000, 3500, 7500, 5000,
+ "Rectangle");
+ DrawTools.getShapes((XDrawPage) oObj).add(oShape);
+
+ XShape oShape1 = SOF.createShape(xComp, 5000, 5500, 5000, 5000,
+ "Rectangle");
+ DrawTools.getShapes((XDrawPage) oObj).add(oShape1);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create enviroment", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create enviroment", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ throw new StatusException("Can't create enviroment", e);
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //adding a controlButton to have a Form
+ FormTools.insertControlShape(
+ (XComponent) UnoRuntime.queryInterface(XComponent.class, xDoc),
+ 3000, 4500, 15000, 1000, "CommandButton");
+
+ // relation for XShapes interface
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Line");
+ tEnv.addObjRelation("Shape", new InstCreator(xDoc, sDsc));
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+
+ // adding relation for XShapeGrouper
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ // adding relation for XMasterPageTarget
+
+ /*XMasterPagesSupplier oMPS = (XMasterPagesSupplier)
+ UnoRuntime.queryInterface(XMasterPagesSupplier.class, xDoc);
+ XDrawPages oGroup = oMPS.getMasterPages();
+ tEnv.addObjRelation("MasterPageSupplier",oGroup); */
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SvxDrawPage
diff --git a/qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java b/qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java
new file mode 100644
index 000000000000..f6cd2accc6ba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+import com.sun.star.view.XSelectionSupplier;
+
+
+/**
+ *
+ * @author sw93809
+ * @version
+ */
+public class SvxGraphCtrlAccessibleContext extends TestCase{
+
+ static XComponent xDrawDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switchs the document to Print Preview mode.
+ * Obtains accissible object for the page view.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ final XShape oShape = SOF.createShape(xDrawDoc,
+ 5000,5000,1500,1000,"GraphicObject");
+
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet shapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oShape);
+
+ String url = util.utils.getFullTestURL("space-metal.jpg");
+
+ log.println("Inserting Graphic: "+url);
+
+ try {
+ shapeProps.setPropertyValue("GraphicURL", url);
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Property GraphicURL is unknown");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("Property GraphicURL is read only");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Property GraphicURL tried to set to illegal argument");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("Wrapped Target Exception was thrown while setting Property GraphicURL");
+ }
+
+
+ //Opening ImageMapDialog
+ try {
+ String aSlotID = "slot:10371";
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface( XDispatchProvider.class, xController );
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ utils.shortWait(Param.getInt(util.PropertyName.SHORT_WAIT));
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.awt.Toolkit") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e );
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit)
+ UnoRuntime.queryInterface(XExtendedToolkit.class,oObj);
+
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = (XWindow)
+ UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //selecting the inserted shape
+ final XSelectionSupplier SelSupp = (XSelectionSupplier)
+ UnoRuntime.queryInterface(XSelectionSupplier.class,xController);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ SelSupp.select(oShape);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ System.out.println("Couldn't select shape");
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ //Closing ImageMapDialog
+ try {
+ String aSlotID = "slot:10371";
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface( XDispatchProvider.class, xController );
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document ", e );
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java b/qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java
new file mode 100644
index 000000000000..28a5cdcaaff6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java
@@ -0,0 +1,263 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.XBitmap;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.GraphicObject</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::drawing::GraphicObjectShape</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.drawing.GraphicObjectShape
+ * @see com.sun.star.drawing.Shape
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._XShape
+ * @see ifc.drawing._GraphicObjectShape
+ * @see ifc.drawing._Shape
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.beans._XPropertySet
+ * @see ifc.drawing._TextProperties
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.text._XText
+ * @see ifc.lang._XComponent
+ */
+public class SvxGraphicObject extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * Creates a new Draw document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ }
+
+ /**
+ * Disposes the Draw document created before
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.GraphicObject</code> as a tested
+ * component and inserts it to one of draw pages of the document.
+ * <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'Bitmap1', 'Bitmap2'</code> for
+ * {@link ifc.drawing._GraphicObjectShape} :</li>
+ * two bitmap objects which are created by setting
+ * 'GraphicURL' property of component tested and
+ * getting its 'GraphicObjectFillBitmap' property.
+ * <li> <code>'IMAP'</code> for
+ * {@link ifc.drawing._GraphicObjectShape} :
+ * <code>com.sun.star.image.ImageMapRectangleObject</code>
+ * service instance. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instnaces of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+ Object imap=null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,5000,5000,1500,1000,"GraphicObject");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ oObj = oShape;
+
+ TestEnvironment tEnv = new TestEnvironment( oShape );
+
+ // adding two styles as ObjRelation for Shape
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Ellipse");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+
+ // adding graphic as ObjRelation for GraphicObjectShape
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XBitmap aBitmap = null;
+ try {
+ oShapeProps.setPropertyValue(
+ "GraphicURL",util.utils.getFullTestURL("space-metal.jpg"));
+ aBitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class),oShapeProps.getPropertyValue
+ ("GraphicObjectFillBitmap"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+
+ tEnv.addObjRelation("Bitmap1",aBitmap);
+
+ try {
+ oShapeProps.setPropertyValue(
+ "GraphicURL",util.utils.getFullTestURL("crazy-blue.jpg"));
+ aBitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class),oShapeProps.getPropertyValue
+ ("GraphicObjectFillBitmap"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ tEnv.addObjRelation("Bitmap2",aBitmap);
+
+ try {
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class,xDrawDoc);
+ imap = oDocMSF.createInstance
+ ( "com.sun.star.image.ImageMapRectangleObject" );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+
+ tEnv.addObjRelation("IMAP",imap);
+ tEnv.addObjRelation("ImapObject",imap);
+
+ // adding relation for XText interface
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ tEnv.addObjRelation("NoShear",new Boolean(true));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SvxGraphicObject
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShape.java b/qadevOOo/tests/java/mod/_svx/SvxShape.java
new file mode 100644
index 000000000000..6c3b3bc8bb8a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShape.java
@@ -0,0 +1,227 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.Shape</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::TextShape</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> SvxShape.sxd </b> : this document is loaded for
+ * adding a shape tested to it. </li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.TextShape
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._TextShape
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShape extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * Loads a Draw document with name 'SvxShape.sxd' from test
+ * documents directory
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.EllipseShape</code> as tested component
+ * and adds it to the document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instnaces of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ oObj = oShape ;
+
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oShape );
+
+ // adding relations for Shape service
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ log.println( "adding two style as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+
+ oShapeProps = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShape
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java b/qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java
new file mode 100644
index 000000000000..0225dbab878f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java
@@ -0,0 +1,247 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.EllipseShape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::EllipseShape</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> SvxShape.sxd </b> : this document is loaded for
+ * adding a shape tested to it. </li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.EllipseShape
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._EllipseShape
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShapeCircle extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * Loads a Draw document with name 'SvxShape.sxd' from test
+ * documents directory
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.EllipseShape</code> as tested component
+ * and adds it to the document. Then the FULL type of circle is set.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instnaces of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,5000,3000,3000,"Ellipse");
+
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oShape) ;
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ try {
+ props.setPropertyValue("CircleKind",
+ com.sun.star.drawing.CircleKind.FULL) ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Cann't set 'CircleKind' property : " + e);
+ throw new StatusException("Can't create component", e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Cann't set 'CircleKind' property : " + e);
+ throw new StatusException("Can't create component", e) ;
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Cann't set 'CircleKind' property : " + e);
+ throw new StatusException("Can't create component", e) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Cann't set 'CircleKind' property : " + e);
+ throw new StatusException("Can't create component", e) ;
+ }
+
+
+ oObj = oShape ;
+
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+
+ tEnv.addObjRelation("Style2",aStyle);
+
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeCircle
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java b/qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java
new file mode 100644
index 000000000000..b20595ec5f53
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxShapeCollection extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+ // adding some shapes for testing.
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ Object col = ((XMultiServiceFactory)tParam.getMSF()).createInstance
+ ("com.sun.star.drawing.ShapeCollection");
+ XShapes shapes = (XShapes) UnoRuntime.queryInterface
+ (XShapes.class,col);
+
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Ellipse");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ shapes.add(oShape);
+
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ shapes.add(oShape);
+
+ oObj = (XInterface) col ;
+
+ }
+ catch (Exception e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ System.out.println("IName: "+util.utils.getImplName(oObj));
+ ShapeDsc sDsc = new ShapeDsc(5000,3500,7500,10000,"Line");
+ tEnv.addObjRelation("Shape", new InstCreator(xDrawDoc, sDsc)) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeCollection
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java b/qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java
new file mode 100644
index 000000000000..9c38e394ff98
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java
@@ -0,0 +1,204 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.document.LinkTarget
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.drawing.ConnectorShapeDescriptor
+ * @see com.sun.star.drawing.LineShapeDescriptor
+ * @see com.sun.star.drawing.PolyPolygonDescriptor
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.drawing.ShadowDescriptor
+ * @see com.sun.star.drawing.ShapeDescriptor
+ * @see com.sun.star.drawing.Text
+ * @see com.sun.star.drawing.XConnectorShape
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.text.XTextRange
+ *
+ */
+public class SvxShapeConnector extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class,xDrawDoc);
+ Object oInt = oDocMSF.createInstance
+ ( "com.sun.star.drawing.ConnectorShape" );
+
+ oShape = (XShape)UnoRuntime.queryInterface( XShape.class, oInt );
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ }
+ catch (Exception e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ }
+
+ // create testobject here
+ oObj = oShape;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Ellipse");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ for (int i=0;i<10;i++) {
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(
+ SOF.createShape(xDrawDoc,
+ 3000,4500,7510+10*i,5010+10*i,"Rectangle"));
+ }
+
+ log.println( "adding two style as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+
+ tEnv.addObjRelation("Style2",aStyle);
+
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+ tEnv.addObjRelation("NoSetSize","SvxShapeConnector");
+ // adding relation for XConnectorShape
+ XShape oShape1 = SOF.createShape(xDrawDoc,1000,2000,1500,1000,"Line");
+ XShape oShape2 = SOF.createShape(xDrawDoc,1000,2000,4000,3000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape1);
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape2);
+ tEnv.addObjRelation("XConnectorShape.Shapes",
+ new XShape[] {oShape1, oShape2}) ;
+ System.out.println("IName: "+util.utils.getImplName(oObj));
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeConnector
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeControl.java b/qadevOOo/tests/java/mod/_svx/SvxShapeControl.java
new file mode 100644
index 000000000000..09b4ecb72226
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeControl.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.FormTools;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxShapeControl extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+
+ oShape = FormTools.insertControlShape(
+ xDrawDoc,3000,4500,15000,1000,"CommandButton");
+
+ oObj = oShape ;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style2",aStyle);
+
+ log.println( "adding document relation for XControlShape" );
+ tEnv.addObjRelation("xDoc", xDrawDoc) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeControl
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java b/qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java
new file mode 100644
index 000000000000..8a7c1d0300b3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxShapeDimensioning extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,4000,4000,3000,3000,"Measure");
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ for (int i=0;i<10;i++) {
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(
+ SOF.createShape(xDrawDoc,
+ 3000,4500,7510+10*i,5010+10*i,"Rectangle"));
+ }
+
+ oObj = oShape ;
+
+ //SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style2",aStyle);
+
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeDimensioning
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java b/qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java
new file mode 100644
index 000000000000..427c26046ff8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeGrouper;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.drawing._XDrawPage
+ *
+ */
+
+public class SvxShapeGroup extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method initializes the document
+ */
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ try {
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * in general this method disposes the document
+ */
+
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) {
+
+ XInterface oObj = null;
+ XShapes oShapes = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+
+ // get the drawpage of drawing here
+ try {
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class,xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,oDPn);
+ oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get DrawPage", e );
+ }
+
+ if (oObj == null) {
+ System.out.println("**************************");
+ System.out.println(" XDrawPage is NULL");
+ System.out.println("**************************");
+ }
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ oShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class,oObj);
+ XShape Shape1 = SOF.createShape(xDrawDoc,
+ 3000,4500,15000,1000,"Ellipse");
+ oShapes.add(SOF.createShape(xDrawDoc,
+ 2000,1500,1000,1000,"Line"));
+ oShapes.add(Shape1);
+ XShape Shape2 = SOF.createShape(xDrawDoc,
+ 5000,3500,7500,5000,"Rectangle");
+ oShapes.add(Shape2);
+
+ log.println( "adding two style as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,Shape1);
+ XStyle aStyle1 = null;
+ try {
+ aStyle1 = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,Shape2);
+ XStyle aStyle2 = null;
+ try {
+ aStyle2 = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+
+
+ //get the XShapeGrouper
+ try{
+ log.println("get XShapeGroup");
+ XShapeGrouper oSG = (XShapeGrouper)UnoRuntime.queryInterface
+ (XShapeGrouper.class, oObj);
+ oObj = oSG.group(oShapes);
+ } catch ( Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException(" Couldn't get XShapeGroup: ", e);
+ }
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(5000,3500,7500,10000,"Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xDrawDoc, sDsc));
+ //tEnv.addObjRelation("DrawPage", oObj);
+ //tEnv.addObjRelation("MasterPageSupplier",oGroup);
+
+ tEnv.addObjRelation("Style1",aStyle1);
+ tEnv.addObjRelation("Style2",aStyle2);
+ for (int i=0;i<6;i++) {
+ Shape2 = SOF.createShape(xDrawDoc,
+ 5000+100*i,3500+100*i,7500+100*i,5000+100*i,"Rectangle");
+ oShapes.add(Shape2);
+ }
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SvxShapeGroup
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java
new file mode 100644
index 000000000000..7e26f764f40e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java
@@ -0,0 +1,265 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.PolyPolygonShape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::PolyPolygonDescriptor</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TransparencyChart.sxs </b> : to load predefined chart
+ * document where two 'automatic' transparency styles exists :
+ * 'Transparency 1' and 'Transparency 2'.</li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.PolyPolygonDescriptor
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._PolyPolygonDescriptor
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShapePolyPolygon extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+ // adding some shapes for testing.
+ //SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ //oShape = SOF.createShape(xDrawDoc,6000,6000,5000,5000,"PolyPolygon");
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc) ;
+ XInterface oInst = (XInterface) xMSF.createInstance
+ ("com.sun.star.drawing.PolyPolygonShape") ;
+ oShape = (XShape) UnoRuntime.queryInterface
+ (XShape.class, oInst) ;
+
+ oShape.setSize(new Size(0,0)) ;
+ oShape.setPosition(new Point(0,0)) ;
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ Point[] square1 = new Point[] {
+ new Point(5000, 5000),
+ new Point(10000, 5000),
+ new Point(10000, 10000),
+ new Point(5000, 10000)} ;
+
+ Point[] square2 = new Point[] {
+ new Point(6500, 6500),
+ new Point(8500, 6500),
+ new Point(8500, 8500),
+ new Point(6500, 8500)} ;
+
+ Point[][] polygon = new Point[][] {square1, square2};
+
+ ((XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
+ oShape)).setPropertyValue("PolyPolygon", polygon) ;
+
+ oObj = oShape ;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create insance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style2",aStyle);
+
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeCollection
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java
new file mode 100644
index 000000000000..7ac67194b299
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java
@@ -0,0 +1,278 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.PolyPolygonBezierCoords;
+import com.sun.star.drawing.PolygonFlags;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.ClosedBezierShape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::PolyPolygonBezierDescriptor</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TransparencyChart.sxs </b> : to load predefined chart
+ * document where two 'automatic' transparency styles exists :
+ * 'Transparency 1' and 'Transparency 2'.</li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.PolyPolygonBezierDescriptor
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._PolyPolygonBezierDescriptor
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShapePolyPolygonBezier extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc) ;
+
+ XInterface oInst = (XInterface) xMSF.createInstance
+ ("com.sun.star.drawing.ClosedBezierShape") ;
+ oShape = (XShape) UnoRuntime.queryInterface
+ (XShape.class, oInst) ;
+
+ Point[] points = new Point[2];
+ points[0] = new Point();
+ points[0].X = 50;
+ points[0].Y = 50;
+ points[1] = new Point();
+ points[1].X = 5000;
+ points[1].Y = 5000;
+
+ Point[][] the_points = new Point[1][2];
+ the_points[0] = points;
+
+ PolygonFlags[] flags = new PolygonFlags[2];
+ flags[0] = PolygonFlags.NORMAL;
+ flags[1] = PolygonFlags.NORMAL;
+
+ PolygonFlags[][] the_flags = new PolygonFlags[1][2];
+ the_flags[0] = flags;
+
+ PolyPolygonBezierCoords coords = new PolyPolygonBezierCoords();
+ coords.Coordinates=the_points;
+ coords.Flags = the_flags;
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ oShape.setSize(new Size(3000,3000)) ;
+ oShape.setPosition(new Point(4000,4000)) ;
+
+ oObj = oShape ;
+
+ XPropertySet shapeProps = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oObj);
+
+ shapeProps.setPropertyValue("PolyPolygonBezier",coords);
+
+ //SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+ tEnv.addObjRelation("Style2",aStyle);
+
+ // adding relation for XText
+ util.DefaultDsc tDsc = new util.DefaultDsc
+ ("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapePolyPolygonBezier
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java b/qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java
new file mode 100644
index 000000000000..c7d7e8e13a7d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DrawTools;
+
+
+public class SvxUnoNumberingRules extends TestCase {
+ static XComponent xDrawDoc;
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a drawdoc");
+ xDrawDoc = DrawTools.createDrawDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory docMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xDrawDoc);
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) docMSF.createInstance(
+ "com.sun.star.text.NumberingRules");
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ Object NewRules=null;
+
+ try{
+ XIndexAccess xIA = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, oObj);
+ NewRules = xIA.getByIndex(2);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get new Rules for XIndexReplace");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get new Rules for XIndexReplace");
+ }
+
+ tEnv.addObjRelation("INSTANCE1",NewRules);
+
+ return tEnv;
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoText.java b/qadevOOo/tests/java/mod/_svx/SvxUnoText.java
new file mode 100644
index 000000000000..611b0e203c8a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoText.java
@@ -0,0 +1,170 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import com.sun.star.text.XText;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoText extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ * Object relations created :
+ * <ul>
+ * <li> <code>'RangeForMove'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range to be moved)</li>
+ * <li> <code>'XTextRange'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range that includes moving
+ * range)</li>
+ * </ul>
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ // create testobject here
+ XTextRange aRange = null;
+ XShape oShape = null;
+
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XSimpleText text = (XSimpleText) UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ cursor.setString("TextForMove");
+ aRange = cursor;
+ XTextCursor cursor1 = text.createTextCursorByRange(text.getEnd());
+ text.insertControlCharacter(cursor1,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor1, "Paragraph 2", false);
+ text.insertControlCharacter(cursor1,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor1, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor1,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ oObj = text.getText() ;
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.DateTime");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ // adding relation for XTextRangeMover
+ tEnv.addObjRelation("RangeForMove", aRange);
+ tEnv.addObjRelation("XTextRange", oObj);
+
+ // adding relation for XTextRangeComapre
+ tEnv.addObjRelation("TEXT", (XText) UnoRuntime.queryInterface(XText.class, oShape)) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxUnoText
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java
new file mode 100644
index 000000000000..af72326d32fd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextContent extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ XShape oShape = SOF.createShape(xDrawDoc,
+ 5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = (XSimpleText) UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = (XEnumerationAccess) UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java
new file mode 100644
index 000000000000..4e27561e01bc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextContentEnum extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = (XSimpleText) UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = (XEnumerationAccess) UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ oObj = xEA.createEnumeration() ;
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XEnumeration test
+ tEnv.addObjRelation("ENUM", xEA) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java
new file mode 100644
index 000000000000..c4521c9aadcf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextCursor extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XText text = (XText) UnoRuntime.queryInterface(XText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ oObj = cursor ;
+
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxUnoTextCursor
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java
new file mode 100644
index 000000000000..30226c575931
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see ifc._XComponent
+ * @see ifc._TextContent
+ * @see ifc._XTextContent
+ * @see ifc._XTextField
+ *
+ */
+public class SvxUnoTextField extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc( (XMultiServiceFactory) tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ }
+ catch (Exception e) {
+ log.println("Couldn't create Shape");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create Shape ",e);
+ }
+
+ XTextCursor the_Cursor = null;
+
+ // create testobject here
+ try {
+
+ XText the_Text = (XText) UnoRuntime.queryInterface(XText.class,oShape);
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface( XMultiServiceFactory.class, xDrawDoc );
+ the_Cursor = the_Text.createTextCursor();
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.TextField.DateTime" );
+ XTextContent the_Field = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create Textfield");
+ ex.printStackTrace(log);
+ throw new StatusException("Couldn't create TextField ",ex);
+ }
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("RANGE", the_Cursor);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxUnoTextField
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java
new file mode 100644
index 000000000000..ed6c61579b66
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextRange extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = (XSimpleText) UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = (XEnumerationAccess) UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ XInterface oTextContent = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+
+ xEA = (XEnumerationAccess) UnoRuntime.queryInterface
+ (XEnumerationAccess.class, oTextContent) ;
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java
new file mode 100644
index 000000000000..d9ef393e966f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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 mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextRangeEnumeration extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ try {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc((XMultiServiceFactory)tParam.getMSF());
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = (XSimpleText) UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = (XEnumerationAccess) UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ XInterface oTextContent = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+
+ xEA = (XEnumerationAccess) UnoRuntime.queryInterface
+ (XEnumerationAccess.class, oTextContent) ;
+
+ oObj = xEA.createEnumeration();
+
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", xEA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/package.html b/qadevOOo/tests/java/mod/_svx/package.html
new file mode 100644
index 000000000000..23cadeba3819
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'svx'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sw/CharacterStyle.java b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
new file mode 100755
index 000000000000..4c91540d52c2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.CharacterStyle</code>. <p>
+ * @see com.sun.star.style.CharacterStyle
+ */
+public class CharacterStyle extends TestCase {
+ private XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * At first style families are gotten from a text document using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from this style family using <code>XIndexAccess</code> interface.
+ * Next, method creates an instance of the service
+ * <code>com.sun.star.style.CharacterStyle</code> and inserts it to a
+ * previously obtained style family using <code>XNameContainer</code>
+ * interface. Finally, method creates a cursor of a major text of text
+ * document and sets it's property 'CharStyleName' value to the name of
+ * previously created style's name.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle} : style indexed '10' obtained from
+ * StyleFamily indexed '0' from text document using
+ * <code>XIndexAccess</code> interface.</li>
+ * </ul>
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ try {
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFsIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+ oSFNA = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class,oSFsIA.getByIndex(0));
+ XIndexAccess oSFIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = (XStyle) UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(0));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ try {
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CharacterStyle");
+ oMyStyle = (XStyle) UnoRuntime.queryInterface(XStyle.class, oInt);
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ try {
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ try {
+ xProp.setPropertyValue("CharStyleName", oMyStyle.getName());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+
+ short exclude = PropertyAttribute.MAYBEVOID + PropertyAttribute.READONLY;
+ tEnv.addObjRelation("PropertyNames",utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude));
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
new file mode 100755
index 000000000000..20e667cd4be5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.ConditionalParagraphStyle</code>. <p>
+ * @see com.sun.star.style.ConditionalParagraphStyle
+ */
+public class ConditionalParagraphStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Create a new instance of the conditional
+ * paragraph style, and insert it into the document.
+ * @see com.sun.star.style.ConditionalParagraphStyle
+ * @param tParam The test paramters
+ * @param log The log writer.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ try {
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("ParagraphStyles"));
+ XIndexAccess oSFIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = (XStyle) UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(1));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ try {
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.ConditionalParagraphStyle");
+ oMyStyle = (XStyle) UnoRuntime.queryInterface(XStyle.class, oInt);
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+
+ if (oMyStyle == null) {
+ log.println("FAILED");
+ throw new StatusException(Status.failed("Couldn't create an own style "));
+ }
+ else {
+ log.println("OK");
+ }
+
+ XNameContainer oSFNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ try {
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+ try {
+ xProp.setPropertyValue("ParaStyleName", oMyStyle.getName());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ short exclude = PropertyAttribute.MAYBEVOID + PropertyAttribute.READONLY;
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude);
+ tEnv.addObjRelation("PropertyNames", names);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/DocumentSettings.java b/qadevOOo/tests/java/mod/_sw/DocumentSettings.java
new file mode 100644
index 000000000000..5ece58f1a29c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/DocumentSettings.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import java.io.PrintWriter;
+
+
+public class DocumentSettings extends TestCase
+{
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log)
+ {
+ log.println(" opening xTextDoc ");
+ xTextDoc =
+ WriterTools.createTextDoc((XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log)
+ {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log
+ )
+ {
+ SOfficeFactory SOF =
+ SOfficeFactory.getFactory((XMultiServiceFactory) tParam.getMSF());
+ XInterface oObj = null;
+
+ log.println("creating a test environment");
+
+ oObj =
+ (XInterface) SOF.createInstance(
+ xTextDoc, "com.sun.star.text.DocumentSettings"
+ );
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/PageStyle.java b/qadevOOo/tests/java/mod/_sw/PageStyle.java
new file mode 100755
index 000000000000..25434add31cb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/PageStyle.java
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.PageStyle</code>. <p>
+ * @see com.sun.star.style.PageStyle
+ */
+public class PageStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ try {
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("PageStyles")); // get the page style
+ XIndexAccess oSFIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = (XStyle) UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(0));
+ log.println("Chosen pool style: "+oStyle.getName());
+
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ try {
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.PageStyle");
+// oMSF.createInstanceWithArguments("com.sun.star.style.PageStyle",new Object[]{oStyle});
+ oMyStyle = (XStyle) UnoRuntime.queryInterface(XStyle.class, oInt);
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+
+ XNameContainer oSFNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+
+ try {
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+ Property[] props = xProp.getPropertySetInfo().getProperties();
+ for (int i=0; i<props.length; i++)
+ System.out.println("# Property: " + props[i].Name + " val: " + props[i].Type.toString() + " attr: " + props[i].Attributes);
+ try {
+ xProp.setPropertyValue("PageDescName", oMyStyle.getName());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+// oMyStyle = oStyle;
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ tEnv.addObjRelation("FollowStyle", "Envelope");
+ XPropertySet xStyleProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+
+ short exclude = PropertyAttribute.MAYBEVOID + PropertyAttribute.READONLY;
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude);
+ tEnv.addObjRelation("PropertyNames", names);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
new file mode 100755
index 000000000000..1c75183170d3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.ParagraphStyle</code>. <p>
+ * @see com.sun.star.style.ParagraphStyle
+ */
+public class ParagraphStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ try {
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = (XNameAccess) UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("ParagraphStyles"));
+ XIndexAccess oSFIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ String[] els = oSFNA.getElementNames();
+ oStyle = (XStyle) UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(1));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ try {
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.ParagraphStyle");
+ oMyStyle = (XStyle) UnoRuntime.queryInterface(XStyle.class, oInt);
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ try {
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ try {
+ xProp.setPropertyValue("ParaStyleName", oMyStyle.getName());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ short exclude = PropertyAttribute.MAYBEVOID + PropertyAttribute.READONLY;
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude);
+ tEnv.addObjRelation("PropertyNames", names);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java
new file mode 100644
index 000000000000..3eb0aa20d8b5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SwAccessibleDocumentPageView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switchs the document to Print Preview mode.
+ * Obtains accissible object for the document page view.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ try {
+ for (int i=0; i<25; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwAccessibleDocumentPageView",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwAccessibleDocumentPageView",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't insert lines", e );
+ }
+
+ XController xController = xTextDoc.getCurrentController();
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ //switch to 'Print Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ( (XMultiServiceFactory) Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT );
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XText the_text = oText;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ String oldText = the_text.getString();
+ the_text.setString("EVENT FIRED");
+ shortWait();
+ the_text.setString(oldText);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+
+ /**
+ * Sleeps for 1 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(2000) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc( (XMultiServiceFactory) Param.getMSF());
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java
new file mode 100644
index 000000000000..45d0e9a226d8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for the text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleDocumentView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. The method is called from
+ * <code>getTestEnvironment()</code>. Obtains accissible object for
+ * text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ try {
+ for (int i=0; i<5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't insert lines", e );
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+ final XAccessibleValue xAccVal = (XAccessibleValue) UnoRuntime.queryInterface
+ (XAccessibleValue.class, SearchedContext) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xAccVal.setCurrentValue(xAccVal.getMinimumValue());
+ xAccVal.setCurrentValue(xAccVal.getMaximumValue());
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ public static boolean first = false;
+ public static XAccessibleContext SearchedContext = null;
+
+ public static void getAccessibleObjectForRole(XAccessible xacc,short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if (ac.getAccessibleRole()==role) {
+ if (first) SearchedContext = ac;
+ else first=true;
+ } else {
+ int k = ac.getAccessibleChildCount();
+ for (int i=0;i<k;i++) {
+ try {
+ getAccessibleObjectForRole(ac.getAccessibleChild(i),role);
+ if (SearchedContext != null) return ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java
new file mode 100644
index 000000000000..51c28e2e68aa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+public class SwAccessibleEndnoteView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Inserts the created endnote to the document.
+ * Changes zoom value to 10%(endnote must be in vissible area of the document).
+ * Obtains accessible object for the inserted endnote.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XInterface oEndnote = null;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a endnote");
+ try {
+ oEndnote = (XInterface) UnoRuntime.queryInterface(XInterface.class,
+ msf.createInstance("com.sun.star.text.Endnote"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create endnote", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ XTextContent xTC = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oEndnote);
+ try {
+ oText.insertTextContent(oCursor, xTC, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the endnote", e);
+ }
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+
+ try {
+ //change zoom value to 10%
+ //footer should be in the vissible area of the document
+ xPropSet.setPropertyValue("ZoomValue", new Short("10"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.END_NOTE);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 130%
+ PropSet.setPropertyValue("ZoomValue", new Short("15"));
+ //and back to 10%
+ PropSet.setPropertyValue("ZoomValue", new Short("10"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java
new file mode 100644
index 000000000000..33cdc1e2fff8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for a footer of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleFooterView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains style
+ * <code>Standard</code> from style family <code>PageStyles</code>.
+ * Changes values of property <code>FooterIsOn</code> by <code>true</code>.
+ * Changes zoom value to 10%(footer must be in vissible area of the document).
+ * Obtains accessible component for the footer.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standard' from style family 'PageStyles'
+ try {
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting style by name!", e);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error, no such style name! ", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting style by name!", e);
+ }
+
+ final XPropertySet PropSet = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ try {
+ log.println( "Switching on footer" );
+ PropSet.setPropertyValue("FooterIsOn", new Boolean(true));
+
+ //change zoom value to 10%
+ //footer should be in the vissible area of the document
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ xPropSet.setPropertyValue("ZoomValue", new Short("20"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.FOOTER);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ PropSet.setPropertyValue("FooterLeftMargin",
+ new Integer(1000));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException("Cann't change footer.", e);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java
new file mode 100644
index 000000000000..3b9604124211
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+public class SwAccessibleFootnoteView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Inserts the created footnote to the document.
+ * Changes zoom value to 10%(endnote must be in vissible area of the document).
+ * Obtains accessible object for the inserted footnote.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XFootnote oFootnote = null;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ try {
+ oFootnote = (XFootnote) UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create footnote", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ try {
+ oText.insertTextContent(oCursor, oFootnote, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the footnote", e);
+ }
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+
+ try {
+ //change zoom value to 10%
+ //footer should be in the vissible area of the document
+ xPropSet.setPropertyValue("ZoomValue", new Short("10"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.FOOTNOTE);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 130%
+ PropSet.setPropertyValue("ZoomValue", new Short("15"));
+ //and back to 10%
+ PropSet.setPropertyValue("ZoomValue", new Short("10"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java
new file mode 100644
index 000000000000..9fc37c112980
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for a header of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleHeaderView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains style
+ * <code>Standard</code> from style family <code>PageStyles</code>.
+ * Changes values of properties <code>HeaderIsOn</code> and
+ * <code>FooterIsOn</code> by <code>true</code>. Obtains accessible component
+ * for header.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standatd' from style family 'PageStyles'
+ try {
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting style by name!", e);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error, no such style name! ", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting style by name!", e);
+ }
+
+ final XPropertySet PropSet = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ try {
+ log.println( "Switching on header" );
+ PropSet.setPropertyValue("HeaderIsOn", new Boolean(true));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set propertyValue...", e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.HEADER);
+
+ oObj = AccessibilityTools.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ PropSet.setPropertyValue("HeaderLeftMargin",
+ new Integer(1000));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException("Cann't change footer.", e);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java b/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java
new file mode 100644
index 000000000000..f70fa3e11ae1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java
@@ -0,0 +1,286 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SwAccessiblePageView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switchs the document to Print Preview mode.
+ * Obtains accissible object for the page view.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XInterface port = null;
+ XInterface para = null;
+ XPropertySet paraP = null;
+ XPropertySet portP = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ try {
+ for (int i=0; i<2; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't insert lines", e );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ try {
+ para = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ XEnumerationAccess oEnumB = (XEnumerationAccess)
+ UnoRuntime.queryInterface( XEnumerationAccess.class, para );
+ XEnumeration oEnum2 = oEnumB.createEnumeration();
+ port = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum2.nextElement());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occured...");
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occured...");
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occured...");
+ }
+
+ try {
+ portP = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, port);
+ paraP = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, para);
+ paraP.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_AFTER);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ }
+
+ shortWait();
+
+ XController xController = xTextDoc.getCurrentController();
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ //switch to 'Print Preview' mode
+ try {
+ XDispatchProvider xDispProv = (XDispatchProvider)
+ UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
+ UnoRuntime.queryInterface(XURLTransformer.class,
+ ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ throw new StatusException(Status.failed("Couldn't change mode"));
+ }
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ System.out.println("Panel: "+AccessibleRole.PANEL);
+ System.out.println("ScrollPane: "+AccessibleRole.SCROLL_PANE);
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL,"Page");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+ final XAccessibleValue xAccVal = (XAccessibleValue) UnoRuntime.queryInterface
+ (XAccessibleValue.class, SearchedContext) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Integer old = (Integer) xAccVal.getCurrentValue();
+ Integer newValue = new Integer(old.intValue()+10);
+ xAccVal.setCurrentValue(newValue);
+ xAccVal.setCurrentValue(old);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ public static boolean first = false;
+ public static XAccessibleContext SearchedContext = null;
+
+ public static void getAccessibleObjectForRole(XAccessible xacc,short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if (ac.getAccessibleRole()==role) {
+ if (first) SearchedContext = ac;
+ else first=true;
+ } else {
+ int k = ac.getAccessibleChildCount();
+ for (int i=0;i<k;i++) {
+ try {
+ getAccessibleObjectForRole(ac.getAccessibleChild(i),role);
+ if (SearchedContext != null) return ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500) ;
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e) ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java
new file mode 100644
index 000000000000..23e7014e46eb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for paragraph of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleParagraphView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains accessible object
+ * for one of document paragraph.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ oText.setString("XAccessibleText");
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.PARAGRAPH);
+
+ oObj = at.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XText paraText = xTextDoc.getText();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ String old = paraText.getString();
+ paraText.setString("Just a line");
+ paraText.setString(old);
+ }
+ });
+
+ final String text = "XAccessibleText";
+
+ tEnv.addObjRelation("XAccessibleText.Text", text);
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc( (XMultiServiceFactory) Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java
new file mode 100644
index 000000000000..b067b9a6293d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Test of accessible object for the table cell of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTableCellView extends TestCase {
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a text table and inserts it to document. Then obtains accessible
+ * object for one of table cell.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ oTable = SOF.createTextTable(xTextDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create TextTable : " +
+ e.getMessage(), e);
+ }
+
+ try {
+ SOF.insertTextContent(xTextDoc, oTable);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert text content :" +
+ e.getMessage(), e);
+ }
+
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE_CELL);
+
+ oObj = at.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleSelection accSel = (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ at.SearchedContext.getAccessibleParent());
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ accSel.selectAllAccessibleChildren();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println("creating a text document");
+ xTextDoc = WriterTools.createTextDoc( (XMultiServiceFactory) Param.getMSF());
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java
new file mode 100644
index 000000000000..d08e2cef7d50
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the table of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTableView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a text table and inserts it into the document.
+ * Then obtains accessible object for the table.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)Param.getMSF());
+ try {
+ oTable = SOF.createTextTable( xTextDoc );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable : " +
+ e.getMessage(), e);
+ }
+
+ try {
+ SOF.insertTextContent(xTextDoc, oTable );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't insert text content :"
+ + e.getMessage(), e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE);
+
+ oObj = at.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", new Short("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", new Short("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java
new file mode 100644
index 000000000000..a55f458de64b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the text embedded object of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextEmbeddedObject extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Obtains accessible object for the embedded object.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.EMBEDDED_OBJECT);
+
+ oObj = at.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", new Short("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", new Short("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Loads the text document <code>SwXTextEmbeddedObject.sxw</code>
+ * with a text embedded object.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "open a text document" );
+ String testdoc = utils.getFullTestURL("SwXTextEmbeddedObject.sxw");
+ log.println(testdoc);
+ xTextDoc = WriterTools.loadTextDoc((XMultiServiceFactory)Param.getMSF(),testdoc);
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java
new file mode 100644
index 000000000000..676a475b099b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the text frame of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextFrameView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a frame and inserts it into document.
+ * Obtains accessible object for the inserted text frame.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+ // creating Frames
+ log.println( "creating Frames" );
+ try {
+ oFrame1 = SOF.createTextFrame(xTextDoc, 500, 500);
+ oPropSet = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, oFrame1 );
+ oPropSet.setPropertyValue("AnchorType",
+ TextContentAnchorType.AS_CHARACTER);
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println( "inserting Frame1" );
+ XTextContent the_content = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oFrame1);
+ oText.insertTextContent(oCursor, the_content, true);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert TextFrame", e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT_FRAME);
+
+ oObj = at.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", new Short("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", new Short("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java
new file mode 100644
index 000000000000..2f18e8eefc44
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the graphic object of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextGraphicObject extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a graphic object and inserts it into the document.
+ * Obtains accessible object for graphic object.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment()
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)Param.getMSF());
+ Object oGraphObj = SOF.createInstance(
+ xTextDoc, "com.sun.star.text.GraphicObject");
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oGraphObj);
+
+ log.println( "inserting graphic" );
+ try {
+ the_text.insertTextContent(the_cursor, the_content, true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ throw new StatusException("Couldn't insert Content", e);
+ }
+
+ XModel aModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow((XMultiServiceFactory)Param.getMSF(), aModel);
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.getAccessibleObjectForRole(xRoot, AccessibleRole.GRAPHIC);
+
+ oObj = at.SearchedContext;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", new Short("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", new Short("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param tParam test parameters
+ * @param tEnv the environment to cleanup
+ * @param log writer to log information while testing
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase()
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc((XMultiServiceFactory)Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java
new file mode 100644
index 000000000000..00bad4ad1f62
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.AutoTextContainer</code>.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::text::XAutoTextContainer</code></li>
+* </ul>
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.text.XAutoTextContainer
+* @see com.sun.star.text.AutoTextContainer
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.text._XAutoTextContainer
+*/
+public class SwXAutoTextContainer extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>.<p>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XAutoTextContainer oContainer = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a AutoTextContainer");
+ try {
+ XMultiServiceFactory myMSF = (XMultiServiceFactory)Param.getMSF();
+ Object oInst = myMSF.createInstance
+ ("com.sun.star.text.AutoTextContainer");
+ oContainer = (XAutoTextContainer)UnoRuntime.queryInterface
+ (XAutoTextContainer.class,oInst);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create AutoTextContainer", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oContainer);
+
+ return tEnv;
+ }
+
+} // finish class SwXAutoTextcontainer
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java
new file mode 100644
index 000000000000..9953196cfcbe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java
@@ -0,0 +1,217 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XAutoTextEntry;
+import com.sun.star.text.XAutoTextGroup;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.AutoTextEntry</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XAutoTextEntry</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.AutoTextEntry
+ * @see com.sun.star.text.AutoTextContainer
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XAutoTextEntry
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XAutoTextEntry
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XText
+ */
+public class SwXAutoTextEntry extends TestCase {
+ XTextDocument xTextDoc;
+ XAutoTextGroup oGroup;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ XMultiServiceFactory msf = (XMultiServiceFactory) tParam.getMSF();
+ SOfficeFactory SOF = SOfficeFactory.getFactory( msf );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Removes added element from AutoTextGroup
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ try {
+ if ( oGroup.hasByName("NewEntryName") ) {
+ log.println("Removing 'NewEntryName' element");
+ oGroup.removeByName("NewEntryName");
+ }
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Cannot remove TextEntry from group...");
+ e.printStackTrace(log);
+ }
+ log.println( "disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>, then selects the 'mytexts'
+ * group from the given container using <code>XNameAccess</code> interface,
+ * and inserts some text entry to this group. Then entry passed as test
+ * component.<p>
+ * Object relations created :
+ * <ul>
+ * <li><code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} : creates tables 6x4</li>
+ * <li><code>'TEXTDOC'</code> for
+ * {@link ifc.text._XAutoTextEntry} : text document</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ XAutoTextEntry oEntry = null;
+ XAutoTextContainer oContainer;
+ XInterface oObj = null;
+ int n = 0;
+ int nCount = 0;
+
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory myMSF = (XMultiServiceFactory)Param.getMSF();
+ Object oInst = myMSF.createInstance
+ ("com.sun.star.text.AutoTextContainer");
+ oContainer = (XAutoTextContainer)
+ UnoRuntime.queryInterface(XAutoTextContainer.class,oInst);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create AutoTextContainer", e);
+ }
+
+ XNameAccess oContNames = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, oContainer);
+
+ String contNames[] = oContNames.getElementNames();
+ for (int i =0; i < contNames.length; i++){
+ log.println("ContainerNames[ "+ i + "]: " + contNames[i]);
+ }
+
+ try{
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),oContNames.getByName("mytexts"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get AutoTextGroup", e);
+ }
+
+ oGroup = (XAutoTextGroup) UnoRuntime.queryInterface
+ (XAutoTextGroup.class, oObj);
+ String[] oENames = oGroup.getElementNames();
+ for (int i=0; i<oENames.length; i++) {
+ log.println("AutoTextEntryNames[" + i + "]: " + oENames[i]);
+ }
+
+ XText oText = xTextDoc.getText();
+ oText.insertString(oText.getStart(), "New AutoText", true);
+ XTextRange oTextRange = (XTextRange) oText;
+ try {
+ if ( oGroup.hasByName("NewEntryName") ) {
+ oGroup.removeByName("NewEntryName");
+ log.println("Element 'NewEntryName' exists, removing...");
+ }
+ log.println("Adding new element 'NewEntryName' to group...");
+ oGroup.insertNewByName("NewEntryName", "NewEntryTitle", oTextRange);
+ oEntry = (XAutoTextEntry) AnyConverter.toObject(
+ new Type(XAutoTextEntry.class),oGroup.getByName("NewEntryName"));
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ }
+
+ oObj = oEntry;
+
+ log.println("Trying to use XText as TextRange in the method applyTo");
+ oEntry.applyTo(oTextRange);
+
+ oTextRange = oText.createTextCursor();
+ log.println("Trying to use XTextCursor as TextRange in the method applyTo");
+ oEntry.applyTo(oTextRange);
+
+ log.println( "creating a new environment for AutoTextEntry object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.DateTime");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXAutoTextEntry
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java
new file mode 100644
index 000000000000..3e021d7267c9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.container.ElementExistException;
+import com.sun.star.container.XNameAccess;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.AutoTextGroup</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::XAutoTextGroup</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.XAutoTextGroup
+ * @see com.sun.star.text.AutoTextContainer
+ * @see ifc.container._XNamed
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._XAutoTextGroup
+ */
+public class SwXAutoTextGroup extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>, then creates a new
+ * group into the container.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TextRange'</code> for
+ * {@link ifc.text._XAutoTextGroup} range of text</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XAutoTextContainer oContainer;
+
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory myMSF = (XMultiServiceFactory)Param.getMSF();
+ Object oInst = myMSF.createInstance("com.sun.star.text.AutoTextContainer");
+ oContainer = (XAutoTextContainer) UnoRuntime.queryInterface(XAutoTextContainer.class,oInst);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create AutoTextContainer", e);
+ }
+ String myGroupName="myNewGroup2*1";
+
+ XAutoTextContainer xATC = (XAutoTextContainer) UnoRuntime.queryInterface(XAutoTextContainer.class, oContainer);
+
+ try {
+ log.println("removing element with name '" + myGroupName + "'");
+ xATC.removeByName(myGroupName);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ }
+
+ try {
+ log.println("adding element with name '" + myGroupName + "'");
+ xATC.insertNewByName(myGroupName);
+ } catch (ElementExistException ex) {
+ ex.printStackTrace(log);
+ throw new StatusException("could not insert '"+myGroupName+"' into container",ex);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace(log);
+ throw new StatusException("could not insert '"+myGroupName+"' into container",ex);
+ }
+
+
+ XNameAccess oContNames = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, oContainer);
+
+ if (Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE)){
+ String contNames[] = oContNames.getElementNames();
+ for (int i =0; i < contNames.length; i++){
+ log.println("ContainerNames[ "+ i + "]: " + contNames[i]);
+ }
+ }
+
+ try{
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),oContNames.getByName(myGroupName));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get AutoTextGroup '"+myGroupName + "'", e);
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ log.println( "creating a new environment for AutoTextGroup object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XText oText = xTextDoc.getText();
+ oText.insertString(oText.getStart(), "New AutoText", true);
+
+ log.println( "adding TextRange as mod relation to environment" );
+ tEnv.addObjRelation("TextRange", oText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXAutoTextGroup
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBodyText.java b/qadevOOo/tests/java/mod/_sw/SwXBodyText.java
new file mode 100644
index 000000000000..91c14dd2b0b6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBodyText.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Text</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXBodyText extends TestCase {
+ XTextDocument xTextDoc = null;;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Obtains body text from text document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : text</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates 6x4 tables</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ // get the bodytext of textdocument here
+ log.println( " getting the bodytext of textdocument with getText()" );
+ oObj = xTextDoc.getText();
+
+ log.println( " creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println(" adding Text as ObjRelation");
+ tEnv.addObjRelation("TEXT", oObj );
+
+ log.println( " adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXBodyText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBookmark.java b/qadevOOo/tests/java/mod/_sw/SwXBookmark.java
new file mode 100644
index 000000000000..12e7fa2403ff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBookmark.java
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Bookmark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ */
+public class SwXBookmark extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After creating
+ * a bookmark, it is inserted to the text document.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+ XInterface oObj = null;
+ Object instance = null;
+ log.println( "creating a test environment" );
+ try {
+ oObj = SOF.createBookmark( xTextDoc );
+ SOF.insertTextContent( xTextDoc, (XTextContent) oObj );
+ instance = SOF.createInstance(xTextDoc,"com.sun.star.text.Bookmark");
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create Bookmark", e );
+ }
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ util.dbg.printInterfaces((XInterface) instance);
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXBookmark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java b/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java
new file mode 100644
index 000000000000..a28896ef7844
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XBookmarksSupplier;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Bookmarks</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXBookmarks extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. Method
+ * creates two bookmarks and inserts them to the text document. Then bookmarks
+ * are gotten from text document using <code>XBookmarksSupplier</code>
+ * interface.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ try {
+ oObj = SOF.createBookmark( xTextDoc );
+ SOF.insertTextContent( xTextDoc, (XTextContent) oObj );
+ oObj = SOF.createBookmark( xTextDoc );
+ SOF.insertTextContent( xTextDoc, (XTextContent) oObj );
+ } catch( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create Bookmark", e );
+ }
+
+ XBookmarksSupplier oBSupp = (XBookmarksSupplier)
+ UnoRuntime.queryInterface(XBookmarksSupplier.class, xTextDoc);
+ XNameAccess oBookNA = oBSupp.getBookmarks();
+ oObj = oBookNA;
+ log.println( "creating a new environment for Bookmarks object" );
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXBookmarks
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXCell.java b/qadevOOo/tests/java/mod/_sw/SwXCell.java
new file mode 100644
index 000000000000..367b59e02979
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXCell.java
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is a cell of the table in a text document, and
+ * represented by service <code>com.sun.star.table.Cell</code><p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::CellProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.table.Cell
+ * @see com.sun.star.text.CellProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._CellProperties
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXCell extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After creating
+ * a text table, it is inserted to the text document. Finally, first cell of
+ * this table is gotten.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CellProperties.TextSection'</code> for
+ * {@link ifc.text._CellProperties} : range of complete paragraphs
+ * within a text</li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextContent oTable = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ log.println( "creating a test environment" );
+ try {
+ oTable = SOF.createTextTable(xTextDoc, 3, 4);
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Unable to create TextTable...");
+ e.printStackTrace(log);
+ }
+ try {
+ SOF.insertTextContent( xTextDoc, oTable );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Unable to insert TextContent...");
+ e.printStackTrace(log);
+ }
+ oObj = SOF.getFirstTableCell( oTable );
+
+ log.println( " creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ try {
+ XInterface oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ log.println(" adding TextSection object");
+ tEnv.addObjRelation("CellProperties.TextSection", oTS);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not get instance of TextSection");
+ e.printStackTrace(log);
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXCell
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXCellRange.java b/qadevOOo/tests/java/mod/_sw/SwXCellRange.java
new file mode 100644
index 000000000000..a9a5dfff9bd4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXCellRange.java
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.CellRange</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::CellProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.table.CellRange
+ * @see com.sun.star.text.CellProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._CellProperties
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXCellRange extends TestCase {
+ SOfficeFactory SOF;
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. At first
+ * method creates and initializes the table, then if text document has no
+ * tables, previously created table is inserted to text document. Finally,
+ * custom cell range is gotten from the table created.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CellProperties.TextSection'</code> for
+ * {@link ifc.text._CellProperties} : range of complete paragraphs
+ * within a text</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XTextTable the_table = null;
+ XInterface oObj = null;
+ try {
+ the_table = SOF.createTextTable( xTextDoc );
+ the_table.initialize(5, 5);
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create testobj: "
+ +e.getMessage(),e);
+ }
+
+ if( SOF.getTableCollection( xTextDoc ).getCount() == 0 ) {
+ try {
+ SOF.insertTextContent(xTextDoc, the_table );
+ } catch( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable : "
+ + e.getMessage(), e);
+ }
+ }
+ try {
+ XCellRange the_Range = (XCellRange)
+ UnoRuntime.queryInterface(XCellRange.class, the_table);
+ oObj = the_Range.getCellRangeByPosition(0, 0, 3, 4);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't get CellRange : "
+ + e.getMessage(), e);
+ }
+
+ log.println("Creating instance...");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ log.println("ImplName: " + util.utils.getImplName(oObj));
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ try {
+ XInterface oTS = (XInterface)
+ oDocMSF.createInstance("com.sun.star.text.TextSection");
+ log.println(" adding TextSection object");
+ tEnv.addObjRelation("CellProperties.TextSection", oTS);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not get instance of TextSection");
+ e.printStackTrace(log);
+ }
+
+ Object[][] NewData = new Object[5][];
+ NewData[0] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[1] = new Double[]
+ {new Double(4),new Double(9),new Double(2.5),new Double(5)};
+ NewData[2] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[3] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[4] = new Double[]
+ {new Double(4),new Double(9),new Double(2.5),new Double(5)};
+ tEnv.addObjRelation("NewData",NewData);
+
+ // com::sun::star::chart::XChartDataArray
+ tEnv.addObjRelation("CRDESC",
+ "Column and RowDescriptions can't be changed for this Object");
+
+
+ return tEnv;
+ }
+} // finish class SwXCellRange
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java b/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java
new file mode 100644
index 000000000000..582d2fbbfc23
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XChapterNumberingSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object, which is a collection of chapter numbering rules of document.
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::NumberingRules</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.NumberingRules
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._NumberingRules
+ */
+public class SwXChapterNumbering extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. Chapter
+ * numbering rules are gotten from text document using interface
+ * <code>XChapterNumberingSupplier</code>.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ XChapterNumberingSupplier oCNSupp = (XChapterNumberingSupplier)
+ UnoRuntime.queryInterface(XChapterNumberingSupplier.class,xTextDoc);
+ oObj = oCNSupp.getChapterNumberingRules();
+
+ PropertyValue[] instance1 = null;
+ try {
+ instance1 = (PropertyValue[]) oCNSupp.getChapterNumberingRules().getByIndex(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+
+ //instance1[0].Value = new Short((short)5);
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", instance1);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXChapterNumbering
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java
new file mode 100644
index 000000000000..ab776da4c6e1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.DocumentIndex</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XDocumentIndex</code></li>
+ * <li> <code>com::sun::star::text::BaseIndex</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::DocumentIndex</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XDocumentIndex
+ * @see com.sun.star.text.BaseIndex
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.DocumentIndex
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XDocumentIndex
+ * @see ifc.text._BaseIndex
+ * @see ifc.text._XTextContent
+ * @see ifc.text._DocumentIndex
+ */
+public class SwXDocumentIndex extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DocumentIndex</code>, then created document index
+ * is inserted to the text of the document as content.
+ *
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XTextContent xTC = null;
+ Object instance = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory)tParam.getMSF());
+ log.println( "creating a test environment" );
+ try {
+ xTC = SOF.createIndex(xTextDoc, "com.sun.star.text.DocumentIndex");
+ instance = SOF.createIndex(xTextDoc, "com.sun.star.text.DocumentIndex");
+ }
+ catch ( com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create the Index", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the Index into text document");
+ try {
+ oText.insertTextContent(oCursor, xTC, false);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the Index", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(xTC);
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ oCursor.gotoEnd(false);
+ tEnv.addObjRelation("RANGE", (XTextRange)
+ UnoRuntime.queryInterface(XTextRange.class, oCursor));
+
+ // relation for XDocumentIndex
+ tEnv.addObjRelation("TextDoc", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXDocumentIndex
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java
new file mode 100644
index 000000000000..b8e0448d2d12
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDocumentIndexMark;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.DocumentIndexMark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::BaseIndexMark</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * <li> <code>com::sun::star::text::DocumentIndexMark</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.BaseIndexMark
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.DocumentIndexMark
+ * @see ifc.lang._XComponent
+ * @see ifc.text._BaseIndexMark
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ * @see ifc.text._DocumentIndexMark
+ */
+public class SwXDocumentIndexMark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DocumentIndexMark</code>, attaches text to
+ * created DocumentIndexMark, and inserts DocumentIndexMark to the
+ * text document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object oDIM = null;
+ Object instance = null;
+ try {
+ oDIM = oDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ instance = oDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error:" + e);
+ }
+
+ XDocumentIndexMark xDIM = (XDocumentIndexMark)
+ UnoRuntime.queryInterface(XDocumentIndexMark.class, oDIM);
+
+ try {
+ oText.insertTextContent(oCursor, xDIM, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException
+ ("Couldn't insert the DocumentIndexMark", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(xDIM);
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ } // finish class SwXDocumentIndexMark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java
new file mode 100644
index 000000000000..3fd780373e08
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDocumentIndexesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for the object, which is represented by collection of document indexes.
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXDocumentIndexes extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.ContentIndex</code>, then created content index is
+ * inserted to the text document, and finally all document indexes are gotten
+ * from a text document using <code>XDocumentIndexesSupplier</code> interface.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ log.println( "creating a test environment" );
+ XTextContent xTC = null;
+
+ try {
+ xTC = SOF.createIndex(xTextDoc,"com.sun.star.text.ContentIndex");
+ }
+ catch ( com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create the Index", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the Index into text document");
+ try {
+ oText.insertTextContent(oCursor, xTC, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the Index", e);
+ }
+
+ XDocumentIndexesSupplier xDocInd = (XDocumentIndexesSupplier)
+ UnoRuntime.queryInterface(XDocumentIndexesSupplier.class,xTextDoc);
+
+ oObj = xDocInd.getDocumentIndexes();
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXDocumentIndexes
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java b/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java
new file mode 100644
index 000000000000..6a6d7f6480c0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.DrawPage</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+ * <li> <code>com::sun::star::drawing::XShapes</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::drawing::XMasterPageTarget</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.drawing.GenericDrawPage
+ * @see com.sun.star.drawing.XShapeBinder
+ * @see com.sun.star.drawing.XShapeGrouper
+ * @see com.sun.star.drawing.XShapes
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.drawing.XMasterPageTarget
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.drawing.XShapeCombiner
+ * @see ifc.drawing._GenericDrawPage
+ * @see ifc.drawing._XShapeBinder
+ * @see ifc.drawing._XShapeGrouper
+ * @see ifc.drawing._XShapes
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.drawing._XMasterPageTarget
+ * @see ifc.container._XNamed
+ * @see ifc.drawing._XShapeCombiner
+ */
+public class SwXDrawPage extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After
+ * obtaining DrawPage object several shapes are inserted to it.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes} : shape creator. </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder},
+ * {@link ifc.drawing._XShapeCombiner},
+ * {@link ifc.drawing._XShapeGrouper} : DrawPage component we are
+ * testing.</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XDrawPageSupplier XDPSupp;
+ XDrawPage xDP = null;
+ XShapes oShapes = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+ XDPSupp = (XDrawPageSupplier) UnoRuntime.queryInterface
+ (XDrawPageSupplier.class, xTextDoc);
+ xDP = XDPSupp.getDrawPage();
+ oObj = xDP;
+
+ //dbg.printInterfaces(oObj);
+ //System.exit(0);
+
+ log.println( "inserting some Shapes" );
+ oShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class, oObj);
+ oShapes.add(SOF.createShape(xTextDoc,2000,1500,1000,1000,"Line"));
+ oShapes.add(SOF.createShape(xTextDoc,3000,4500,15000,1000,"Ellipse"));
+ oShapes.add(SOF.createShape(xTextDoc,5000,3500,7500,5000,"Rectangle"));
+
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(15000,13500,7500,10000,"Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xTextDoc, sDsc));
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXDrawPage
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java b/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java
new file mode 100644
index 000000000000..7518b94309fc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.dbg;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XEndnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.FootnoteSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::FootnoteSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.FootnoteSettings
+ * @see ifc.text._FootnoteSettings
+ */
+public class SwXEndnoteProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Endnote</code>. Then created endnote is inserted
+ * to the text document, and finally endnote settings are gotten from text
+ * document using <code>XEndnotesSupplier</code> interface.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XEndnotesSupplier oInterface = null;
+ XInterface oObj = null;
+ XInterface oEndnote;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a endnote");
+ try {
+ oEndnote = (XInterface) UnoRuntime.queryInterface(XInterface.class,
+ msf.createInstance("com.sun.star.text.Endnote"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create endnote", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ XTextContent xTC = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oEndnote);
+ try {
+ oText.insertTextContent(oCursor, xTC, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the endnote", e);
+ }
+
+ oInterface = (XEndnotesSupplier)
+ UnoRuntime.queryInterface(XEndnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getEndnoteSettings();
+ dbg.printPropertiesNames((XPropertySet) oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java
new file mode 100644
index 000000000000..81a7e4b70447
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumeration</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XEnumeration
+ * @see ifc.container._XEnumeration
+ */
+public class SwXFieldEnumeration extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. FieldMaster
+ * object is created and attached to Bibliography database. After setting
+ * properties of created FieldMaster object, it is attached to the TextField
+ * object. Then TextField is inserted as TextContent to the text document.
+ * At the end, TextFields of text document are obtained and
+ * enumeration of these fields is created.<br>
+ * Creates instances of the services:
+ * <code>com.sun.star.text.FieldMaster.Database</code>,
+ * <code>com.sun.star.text.TextField.Database</code>.<br>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} : text fields</li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ Object FieldMaster = null;
+ XPropertySet PFieldMaster = null;
+ XDependentTextField xTF = null;
+ XEnumerationAccess xFEA = null;
+ XText the_Text;
+ XTextCursor the_Cursor;
+ XTextContent the_Field;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface( XMultiServiceFactory.class, xTextDoc );
+
+ try {
+ FieldMaster = oDocMSF.createInstance
+ ( "com.sun.star.text.FieldMaster.Database" );
+ PFieldMaster = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class,(XInterface) FieldMaster);
+ oObj = (XInterface)
+ oDocMSF.createInstance("com.sun.star.text.TextField.Database");
+ xTF = (XDependentTextField)
+ UnoRuntime.queryInterface(XDependentTextField.class,oObj);
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ try {
+ PFieldMaster.setPropertyValue("DataBaseName","Bibliography");
+ PFieldMaster.setPropertyValue("DataTableName","biblio");
+ PFieldMaster.setPropertyValue("DataColumnName","Address");
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ }
+
+ the_Text = xTextDoc.getText();
+ the_Cursor = the_Text.createTextCursor();
+ the_Field = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oObj);
+
+ try {
+ xTF.attachTextFieldMaster(PFieldMaster);
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create TextField", e );
+ }
+
+ // create testobject here
+ XTextFieldsSupplier oTFS = (XTextFieldsSupplier)
+ UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+ xFEA = oTFS.getTextFields();
+ oObj = oTFS.getTextFields().createEnumeration();
+
+ log.println( "creating a new environment for FieldEnumeration object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", xFEA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFieldEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java b/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java
new file mode 100644
index 000000000000..e2e7bac89b6c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.FieldMaster.Database</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::TextFieldMaster</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.TextFieldMaster
+ * @see com.sun.star.text.FieldMaster.Database
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._TextFieldMaster
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXFieldMaster extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.FieldMaster.Database</code>.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface( XMultiServiceFactory.class, xTextDoc );
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.FieldMaster.Database" );
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFieldMaster
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnote.java b/qadevOOo/tests/java/mod/_sw/SwXFootnote.java
new file mode 100644
index 000000000000..39ab7c74a009
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnote.java
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FrameDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Footnote</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XFootnote</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::Footnote</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XFootnote
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.Footnote
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XFootnote
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._Footnote
+ * @see ifc.text._XTextContent
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XText
+ */
+public class SwXFootnote extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created footnote
+ * to a text of document as content.
+ * Object relations created :
+ * <ul>
+ * <li><code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XFootnote oFootnote;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+ Object instance = null;
+ try {
+ oFootnote = (XFootnote) UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+ instance = msf.createInstance("com.sun.star.text.Footnote");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create footnote", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ try {
+ oText.insertTextContent(oCursor, oFootnote, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the footnote", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oFootnote);
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ log.println( "adding InstDescriptor object" );
+ FrameDsc tDsc = new FrameDsc( 3000, 6000 );
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ return tEnv;
+ }
+
+} // finish class SwXFootnote
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java b/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java
new file mode 100644
index 000000000000..df6e541fd553
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for the object, which is represented as set of footnote properties
+ * (instance of <code>com.sun.star.text.FootnoteSettings</code> service).
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::FootnoteSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.FootnoteSettings
+ * @see ifc.text._FootnoteSettings
+ */
+public class SwXFootnoteProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text document, and finally gets footnote settings from text
+ * document through <code>XFootnotesSupplier</code> interface.<br>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XFootnotesSupplier oInterface = null;
+ XInterface oObj = null;
+ XFootnote oFootnote;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ try {
+ oFootnote = (XFootnote) UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create footnote", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ try {
+ oText.insertTextContent(oCursor, oFootnote, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the footnote", e);
+ }
+
+ oInterface = (XFootnotesSupplier)
+ UnoRuntime.queryInterface(XFootnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getFootnoteSettings();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java b/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java
new file mode 100644
index 000000000000..661f3c9c055a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TextSectionDsc;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXFootnoteText extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text, and finally sets a string to the footnote. Then the text
+ * gotten from the footnote is returned as tested component.<br>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : footnote text</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : text section creator</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XFootnote oFootnote;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ try {
+ oFootnote = (XFootnote)UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create footnote", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ try {
+ oText.insertTextContent(oCursor, oFootnote, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the footnote", e);
+ }
+
+ XSimpleText oFootText = (XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class, oFootnote);
+ oFootText.setString("SwXFootnoteText");
+
+ oObj = oFootText.getText();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXT", (XText) oObj);
+
+ TextSectionDsc tDsc = new TextSectionDsc();
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFootnoteText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java b/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java
new file mode 100644
index 000000000000..0c50c4c28014
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Footnotes</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXFootnotes extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text, and finally gets all footnotes of text document
+ * through <code>XFootnotesSupplier</code> interface.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XFootnotesSupplier oInterface = null;
+ XInterface oObj = null;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+ XFootnote oFootnote;
+
+ try {
+ oFootnote = (XFootnote) UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create footnote", e);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ try {
+ oText.insertTextContent(oCursor, oFootnote, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert the footnote", e);
+ }
+ oInterface = (XFootnotesSupplier)
+ UnoRuntime.queryInterface(XFootnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getFootnotes();
+
+ log.println( "creating a new environment for Foontnotes object" );
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+} // finish class SwXFootnote
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFrames.java b/qadevOOo/tests/java/mod/_sw/SwXFrames.java
new file mode 100644
index 000000000000..ad4dd2eaa1c0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFrames.java
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextFramesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXFrames extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.TextFrame</code>. Then inserts created text frame
+ * to the text, and finally gets all frames of text document using
+ * <code>XTextFramesSupplier</code> interface.<br>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+ XMultiServiceFactory oDocMSF = null;
+ XTextFramesSupplier oInterface = null;
+
+ log.println( "creating a test environment" );
+ try {
+ oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object oInt = oDocMSF.createInstance("com.sun.star.text.TextFrame");
+ oFrame1 = (XTextFrame)
+ UnoRuntime.queryInterface( XTextFrame.class, oInt );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ throw new StatusException
+ ("Couldn't create instance of TextFrame", e);
+ }
+
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ try {
+ oText.insertTextContent(oCursor, oFrame1, false);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException
+ ("Error: can't insert text content to text document", e);
+ }
+
+ oInterface = (XTextFramesSupplier)
+ UnoRuntime.queryInterface( XTextFramesSupplier.class, xTextDoc );
+
+ oObj = oInterface.getTextFrames();
+
+ log.println( "creating a new environment for Frame object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFrames
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java b/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java
new file mode 100644
index 000000000000..dcf62875f97d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXHeadFootText extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. At first
+ * style families are obtained from text document, then style 'Standard' has
+ * gotten from style family 'PageStyles'. At the end, document header and
+ * footer are switched on and document text is obtained.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates tables 6x4</li>
+ * <li> <code>'TEXTDOC'</code> for
+ * {@link ifc.text._XTextRangeCompare} : text document</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ log.println( "creating a test environment" );
+ XStyleFamiliesSupplier StyleFam = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standatd' from style family 'PageStyles'
+ try {
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting style by name!", e);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error, no such style name! ", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Error getting style by name!", e);
+ }
+
+ PropSet = (XPropertySet)
+ UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ try {
+ log.println( "Switching on header" );
+ PropSet.setPropertyValue("HeaderIsOn", new Boolean(true));
+ log.println( "Switching on footer" );
+ PropSet.setPropertyValue("FooterIsOn", new Boolean(true));
+ log.println( "Get header text" );
+ oObj = (XText) UnoRuntime.queryInterface(
+ XText.class, PropSet.getPropertyValue("HeaderText"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set/get propertyValue...", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set/get propertyValue...", e);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set/get propertyValue...", e);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set/get propertyValue...", e);
+ }
+
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ log.println( "adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ tEnv.addObjRelation( "TEXT", oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXHeadFootText
diff --git a/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java b/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java
new file mode 100644
index 000000000000..aa339c2679b5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.dbg;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XLineNumberingProperties;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.LineNumberingProperties</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::LineNumberingProperties</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.LineNumberingProperties
+ * @see ifc.text._LineNumberingProperties
+ */
+public class SwXLineNumberingProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After inserting
+ * string and control character to the text document, line numbering
+ * properties are gotten using <code>XLineNumberingProperties</code> interface.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ // insert some Text
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ try {
+ for (int i=0; i<5; i++) {
+ oText.insertString(oCursor, "The quick brown fox jumps "+
+ "over the lazy Dog", false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ log.println("Exception occured: " + e);
+ }
+
+ XLineNumberingProperties oLNP = (XLineNumberingProperties)
+ UnoRuntime.queryInterface(XLineNumberingProperties.class,xTextDoc);
+ XPropertySet lineNumProps = oLNP.getLineNumberingProperties();
+ dbg.printPropertiesNames(lineNumProps);
+ TestEnvironment tEnv = new TestEnvironment(lineNumProps);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXLineNumberingProperties
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java b/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java
new file mode 100644
index 000000000000..64327817ec02
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java
@@ -0,0 +1,439 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.NamedValue;
+
+import util.DBTools;
+import util.utils;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdbc.*;
+import com.sun.star.sdbcx.XRowLocate;
+import com.sun.star.task.XJob;
+import com.sun.star.text.MailMergeType;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Here <code>com.sun.star.text.MailMerge</code> service is tested.<p>
+* @see com.sun.star.text.MailMerge
+* @see com.sun.star.task.XJob
+* @see com.sun.star.text.XMailMergeBroadcaster
+*/
+public class SwXMailMerge extends TestCase {
+
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ if (! Param.containsKey("uniqueSuffix")){
+ Param.put("uniqueSuffix", new Integer(0));
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. <p>
+ * Creates <code>MailMerge</code> service * Object relations created :
+ * <ul>
+ * <li> <code>'executeArgs'</code> for
+ * {@link ifc.text._XMailMergeBroadcaster} : NamedValue[]</li>
+ * <li> <code>'Job'</code> for
+ * {@link ifc.text._XMailMergeBroadcaster} : XJob</li>
+ * <li> <code>'XJobArgs'</code> for
+ * {@link ifc.task._XJob} : Object[]</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XInterface oRowSet = null;
+ Object oConnection = null;
+ XJob Job = null;
+
+ log.println(" instantiate MailMerge service");
+ try {
+ oObj = (XInterface) ( (XMultiServiceFactory) Param.getMSF()).createInstance
+ ("com.sun.star.text.MailMerge");
+ } catch (Exception e) {
+ throw new StatusException("Can't create object environment", e) ;
+ }
+
+ // <set some variables>
+ String cTestDoc = utils.getFullTestURL("MailMerge.sxw");
+ //cMailMerge_DocumentURL = cTestDoc
+ String cOutputURL = utils.getOfficeTemp( (XMultiServiceFactory) Param.getMSF());
+ String cDataSourceName = "Bibliography";
+ String cDataCommand = "biblio";
+ Object[] sel = new Object[2];
+ sel[0] = new int[2];
+ sel[1] = new int[5];
+ Object[] myBookMarks = new Object[2];
+ // </set some variables>
+
+ // <create XResultSet>
+ log.println("create a XResultSet");
+ try {
+ oRowSet = (XInterface) ( (XMultiServiceFactory) Param.getMSF()).createInstance
+ ("com.sun.star.sdb.RowSet");
+ } catch (Exception e) {
+ throw new StatusException("Can't create com.sun.star.sdb.RowSet", e);
+ }
+ XPropertySet oRowSetProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oRowSet);
+ XRowSet xRowSet = (XRowSet)
+ UnoRuntime.queryInterface(XRowSet.class, oRowSet);
+ try {
+ oRowSetProps.setPropertyValue("DataSourceName",cDataSourceName);
+ oRowSetProps.setPropertyValue("Command",cDataCommand);
+ oRowSetProps.setPropertyValue("CommandType", new Integer(CommandType.TABLE));
+ } catch (UnknownPropertyException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ } catch (PropertyVetoException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ } catch (IllegalArgumentException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ } catch (WrappedTargetException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ }
+ try {
+ xRowSet.execute();
+ } catch (SQLException e) {
+ throw new StatusException("Can't execute oRowSet", e);
+ }
+
+ XResultSet oResultSet = (XResultSet)
+ UnoRuntime.queryInterface(XResultSet.class, oRowSet);
+
+
+
+
+ // <create Bookmarks>
+ log.println("create bookmarks");
+ try {
+ XRowLocate oRowLocate = (XRowLocate) UnoRuntime.queryInterface(
+ XRowLocate.class, oResultSet);
+ oResultSet.first();
+ myBookMarks[0] = oRowLocate.getBookmark();
+ oResultSet.next();
+ myBookMarks[1] = oRowLocate.getBookmark();
+ } catch (SQLException e) {
+ throw new StatusException("Cant get Bookmarks", e);
+ }
+ // </create Bookmarks>
+
+ // <fill object with values>
+
+ log.println("fill MailMerge with default connection");
+
+ XPropertySet oObjProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ try {
+ oObjProps.setPropertyValue("ActiveConnection", getLocalXConnection(Param));
+ oObjProps.setPropertyValue("DataSourceName", cDataSourceName);
+ oObjProps.setPropertyValue("Command", cDataCommand);
+ oObjProps.setPropertyValue("CommandType", new Integer(CommandType.TABLE));
+ oObjProps.setPropertyValue("OutputType", new Short(MailMergeType.FILE));
+ oObjProps.setPropertyValue("DocumentURL", cTestDoc);
+ oObjProps.setPropertyValue("OutputURL", cOutputURL);
+ oObjProps.setPropertyValue("FileNamePrefix", "Author");
+ oObjProps.setPropertyValue("FileNameFromColumn", new Boolean(false));
+ oObjProps.setPropertyValue("Selection", new Object[0]);
+
+ } catch (UnknownPropertyException e) {
+ throw new StatusException("Can't set properties on oObj", e);
+ } catch (PropertyVetoException e) {
+ throw new StatusException("Can't set properties on oObj", e);
+ } catch (IllegalArgumentException e) {
+ throw new StatusException("Can't set properties on oObj", e);
+ } catch (WrappedTargetException e) {
+ throw new StatusException("Can't set properties on oObj", e);
+ }
+ // </fill object with values>
+
+
+ // <create object relations>
+ Object[] vXJobArgs = new Object[4];
+ NamedValue[] vXJobArg0 = new NamedValue[8];
+ NamedValue[] vXJobArg1 = new NamedValue[7];
+ NamedValue[] vXJobArg2 = new NamedValue[10];
+ NamedValue[] vXJobArg3 = new NamedValue[0];
+
+ // first Arguments
+ vXJobArg0[0] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg0[1] = new NamedValue("Command", cDataCommand);
+ vXJobArg0[2] = new NamedValue("CommandType",new Integer(CommandType.TABLE));
+ vXJobArg0[3] = new NamedValue("OutputType",new Short(MailMergeType.FILE));
+ vXJobArg0[4] = new NamedValue("DocumentURL", cTestDoc);
+ vXJobArg0[5] = new NamedValue("OutputURL", cOutputURL);
+ vXJobArg0[6] = new NamedValue("FileNamePrefix", "Identifier");
+ vXJobArg0[7] = new NamedValue("FileNameFromColumn", new Boolean(true));
+
+ //second Arguments
+ vXJobArg1[0] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg1[1] = new NamedValue("Command", cDataCommand);
+ vXJobArg1[2] = new NamedValue("CommandType",new Integer(CommandType.TABLE));
+ vXJobArg1[3] = new NamedValue("OutputType",
+ new Short(MailMergeType.PRINTER));
+ vXJobArg1[4] = new NamedValue("DocumentURL", cTestDoc);
+ vXJobArg1[5] = new NamedValue("FileNamePrefix", "Author");
+ vXJobArg1[6] = new NamedValue("FileNameFromColumn", new Boolean(true));
+
+ // third Arguments
+ vXJobArg2[0] = new NamedValue("ActiveConnection", getLocalXConnection(Param));
+ vXJobArg2[1] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg2[2] = new NamedValue("Command", cDataCommand);
+ vXJobArg2[3] = new NamedValue("CommandType",new Integer(CommandType.TABLE));
+ vXJobArg2[4] = new NamedValue("OutputType",
+ new Short(MailMergeType.FILE));
+ vXJobArg2[5] = new NamedValue("ResultSet", oResultSet);
+ vXJobArg2[6] = new NamedValue("OutputURL", cOutputURL);
+ vXJobArg2[7] = new NamedValue("FileNamePrefix", "Identifier");
+ vXJobArg2[8] = new NamedValue("FileNameFromColumn", new Boolean(true));
+ vXJobArg2[9] = new NamedValue("Selection", myBookMarks);
+
+ vXJobArgs[0] = vXJobArg0;
+ vXJobArgs[1] = vXJobArg1;
+ vXJobArgs[2] = vXJobArg2;
+ vXJobArgs[3] = vXJobArg3;
+
+
+ Job = (XJob) UnoRuntime.queryInterface(XJob.class, oObj);
+ try{
+ Job.execute(vXJobArg2);
+ } catch ( IllegalArgumentException e){
+ System.out.println(e.toString());
+ } catch ( Exception e){
+ System.out.println(e.toString());
+ }
+
+
+ // <create XResultSet>
+ log.println("create XResultSet");
+
+ try {
+ oRowSet = (XInterface) ( (XMultiServiceFactory) Param.getMSF()).createInstance
+ ("com.sun.star.sdb.RowSet");
+ } catch (Exception e) {
+ throw new StatusException("Can't create com.sun.star.sdb.RowSet", e);
+ }
+ oRowSetProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, oRowSet);
+
+ xRowSet = (XRowSet) UnoRuntime.queryInterface(XRowSet.class, oRowSet);
+
+ try {
+ oRowSetProps.setPropertyValue("DataSourceName",cDataSourceName);
+ oRowSetProps.setPropertyValue("Command",cDataCommand);
+ oRowSetProps.setPropertyValue("CommandType", new Integer(CommandType.TABLE));
+ } catch (UnknownPropertyException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ } catch (PropertyVetoException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ } catch (IllegalArgumentException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ } catch (WrappedTargetException e) {
+ throw new StatusException("Can't set properties on oRowSet", e);
+ }
+ try {
+ xRowSet.execute();
+ } catch (SQLException e) {
+ throw new StatusException("Can't execute oRowSet", e);
+ }
+
+ oResultSet = (XResultSet)
+ UnoRuntime.queryInterface(XResultSet.class, oRowSet);
+
+ XResultSet oMMXResultSet = null;
+ try {
+ oMMXResultSet = (XResultSet)
+ UnoRuntime.queryInterface(XResultSet.class,
+ ( (XInterface)
+ ( (XMultiServiceFactory)
+ Param.getMSF()).createInstance("com.sun.star.sdb.RowSet")));
+
+ } catch (Exception e) {
+ throw new StatusException("Can't create com.sun.star.sdb.RowSet", e);
+ }
+ // </create object relations>
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // <adding object relations>
+
+ // com.sun.star.sdb.DataAccessDescriptor
+ tEnv.addObjRelation("DataAccessDescriptor.XResultSet", oResultSet);
+ tEnv.addObjRelation("DataAccessDescriptor.XConnection", getRemoteXConnection(Param));
+
+ // com.sun.star.text.MailMaerge
+ tEnv.addObjRelation("MailMerge.XConnection", getRemoteXConnection(Param));
+ tEnv.addObjRelation("MailMerge.XResultSet", oMMXResultSet);
+
+ // com.sun.star.text.XMailMergeBroadcaster
+ tEnv.addObjRelation( "executeArgs", vXJobArg0);
+ tEnv.addObjRelation( "Job", Job);
+
+ // com.sun.star.task.XJob
+ tEnv.addObjRelation("XJobArgs", vXJobArgs);
+
+ // </adding object relations>
+
+ return tEnv ;
+ }
+
+ private XConnection getRemoteXConnection(TestParameters Param){
+
+ log.println("create remote connection");
+
+ String databaseName = null ;
+ XDataSource oXDataSource = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null ;
+ int uniqueSuffix = Param.getInt("uniqueSuffix");
+
+ try {
+ xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+
+ // retrieving temp directory for database
+ String tmpDatabaseUrl = utils.getOfficeTempDir((XMultiServiceFactory)Param.getMSF());
+
+ databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ String tmpDatabaseFile = tmpDatabaseUrl + databaseName + ".odb";
+ System.out.println("try to delete '"+tmpDatabaseFile+"'");
+ utils.deleteFile(((XMultiServiceFactory) Param.getMSF()), tmpDatabaseFile);
+
+
+ tmpDatabaseUrl = "sdbc:dbase:file:///" + tmpDatabaseUrl ;
+
+ // Creating new DBase data source in the TEMP directory
+ XInterface newSource = (XInterface) xMSF.createInstance
+ ("com.sun.star.sdb.DataSource") ;
+
+ XPropertySet xSrcProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, newSource);
+
+ xSrcProp.setPropertyValue("URL", tmpDatabaseUrl) ;
+
+ DBTools dbt = new DBTools( (XMultiServiceFactory)Param.getMSF(), log );
+ // registering source in DatabaseContext
+ log.println("register database '"+tmpDatabaseUrl+"' as '"+databaseName+"'" );
+ dbt.reRegisterDB(databaseName, newSource) ;
+
+ uniqueSuffix++;
+ Param.put("uniqueSuffix", new Integer(uniqueSuffix));
+
+ return dbt.connectToSource(newSource);
+ }
+ catch( Exception e ) {
+ uniqueSuffix++;
+ Param.put("uniqueSuffix", new Integer(uniqueSuffix));
+ log.println("could not register new database" );
+ e.printStackTrace();
+ throw new StatusException("could not register new database", e) ;
+ }
+ }
+
+ private XConnection getLocalXConnection(TestParameters Param){
+
+ log.println("create local connection");
+
+ XInterface oDataCont = null;
+ try {
+ oDataCont = (XInterface)( (XMultiServiceFactory) Param.getMSF()).createInstance
+ ("com.sun.star.sdb.DatabaseContext");
+ } catch(Exception e) {
+ throw new StatusException("Couldn't create instance of 'com.sun.star.sdb.DatabaseContext'", e);
+ }
+ XNameAccess xNADataCont = (XNameAccess)
+ UnoRuntime.queryInterface(XNameAccess.class, oDataCont);
+
+ String[] dataNames = xNADataCont.getElementNames();
+
+ String dataName="";
+ for (int i = 0; i < dataNames.length; i++){
+ if (dataNames[i].startsWith("Biblio")) dataName=dataNames[i];
+ }
+
+ try{
+
+ Object oDataBase = xNADataCont.getByName(dataName);
+ XDataSource xDataSource = (XDataSource)
+ UnoRuntime.queryInterface(XDataSource.class, oDataBase);
+
+ return xDataSource.getConnection("","");
+
+ } catch ( NoSuchElementException e){
+ throw new StatusException("Couldn't get registered data base", e);
+ } catch ( WrappedTargetException e){
+ throw new StatusException("Couldn't get registered data base", e);
+ } catch ( SQLException e){
+ throw new StatusException("Couldn't get XConnection from registered data base", e);
+ }
+
+ }
+
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("closing connections...");
+ XMultiServiceFactory xMsf = (XMultiServiceFactory) Param.getMSF();
+ DBTools dbt = new DBTools( xMsf, log );
+
+ if (Param.containsKey("uniqueSuffix")){
+ int uniqueSuffix = Param.getInt("uniqueSuffix");
+ uniqueSuffix--;
+ String databaseName = "";
+ while (uniqueSuffix >= 0){
+
+ databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ log.println("revoke '"+databaseName+"'");
+
+ try{
+ dbt.revokeDB(databaseName);
+ } catch (com.sun.star.uno.Exception e){
+ }
+
+ uniqueSuffix--;
+ }
+ }
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXModule.java b/qadevOOo/tests/java/mod/_sw/SwXModule.java
new file mode 100644
index 000000000000..dea1cc05998f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXModule.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.GlobalSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::view::XPrintSettingsSupplier</code></li>
+ * <li> <code>com::sun::star::view::XViewSettingsSupplier</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.view.XPrintSettingsSupplier
+ * @see com.sun.star.view.XViewSettingsSupplier
+ * @see ifc.view._XPrintSettingsSupplier
+ * @see ifc.view._XViewSettingsSupplier
+ */
+public class SwXModule extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.GlobalSettings</code>.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance(
+ "com.sun.star.text.GlobalSettings" );
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ throw new StatusException("Service not available", e) ;
+ }
+
+ if (oInterface == null) {
+ log.println("Service wasn't created") ;
+ throw new StatusException("Service wasn't created",
+ new NullPointerException()) ;
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXModule
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java b/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java
new file mode 100644
index 000000000000..72c7f759d9ff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.NumberingRules</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::NumberingRules</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.NumberingRules
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._NumberingRules
+ */
+public class SwXNumberingRules extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * At first some strings are inserted to a text document, then style families
+ * are gotten from text document using <code>XStyleFamiliesSupplier</code>.
+ * Then style family 'NuberingRules' is retrieved, then style indexed '0'
+ * is obtained. At the end property value 'NumberingRules' is obtained from
+ * given style.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+ XIndexAccess NumStyleI = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ try {
+ for (int i=0; i<5; i++) {
+ oText.insertString(oCursor, "The quick brown fox jumps "+
+ "over the lazy Dog", false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ }
+
+ XStyleFamiliesSupplier oStyleFamiliesSupplier = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+
+ try {
+ XNameAccess oStyleFamilies = oStyleFamiliesSupplier.getStyleFamilies();
+ XNameContainer NumStyles = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oStyleFamilies.getByName("NumberingStyles"));
+ NumStyleI = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class,NumStyles);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error, no such style family...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ }
+
+ Object instance1 = null;
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),NumStyleI.getByIndex(0));
+ XPropertySet props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),props.getPropertyValue("NumberingRules"));
+ XIndexAccess nRules = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, props.getPropertyValue("NumberingRules"));
+ instance1 = nRules.getByIndex(0);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", instance1);
+ return tEnv;
+ }
+
+} // finish class SwXNumberingRules
diff --git a/qadevOOo/tests/java/mod/_sw/SwXParagraph.java b/qadevOOo/tests/java/mod/_sw/SwXParagraph.java
new file mode 100644
index 000000000000..5e31bc5f75ff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXParagraph.java
@@ -0,0 +1,279 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Paragraph</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see com.sun.star.text.Paragraph
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.beans._XPropertyState
+ * @see ifc.style._CharacterProperties
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.lang._XComponent
+ * @see ifc.style._CharacterPropertiesAsian
+ */
+public class SwXParagraph extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. To obtain
+ * test component, at first several paragraphs are inserted to a major text
+ * of text document. Then enumeration of text paragraphs is created, and
+ * some paragraph is gotten using <code>XEnumeration</code> interface.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.style._CharacterProperties} : paragraph </li>
+ * <li> <code>'PORTION'</code> for
+ * {@link ifc.style._CharacterProperties} : some text portion of
+ * paragraph. To obtain text portion, enumeration of paragraph text portions is
+ * created, and some text portion is gotten using <code>XEnumeration</code>
+ * interface. </li>
+ * <li> <code>'NRULES'</code> for
+ * {@link ifc.style._ParagraphProperties} : value of property
+ * 'NumberingRules' of paragraph. Method changes property
+ * 'NumberingStyleName' of previously obtained paragraph, and gets value of
+ * a property 'NumberingRules'. </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ if (xTextDoc != null) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ XInterface oObj = null;
+ XPropertySet paraP = null;
+ XPropertySet portP = null;
+ Object nRules = null;
+ XInterface port = null;
+ XInterface para = null;
+
+ log.println( "creating a test environment" );
+
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ try {
+ for (int i=0; i<5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't insert lines", e );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = (XEnumerationAccess)
+ UnoRuntime.queryInterface(XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ try {
+ para = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ XEnumerationAccess oEnumB = (XEnumerationAccess)
+ UnoRuntime.queryInterface( XEnumerationAccess.class, para );
+ XEnumeration oEnum2 = oEnumB.createEnumeration();
+ port = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum2.nextElement());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occured...");
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occured...");
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occured...");
+ }
+
+ try {
+ portP = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, port);
+ paraP = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, para);
+ paraP.setPropertyValue("NumberingStyleName","Numbering 4");
+ nRules = paraP.getPropertyValue("NumberingRules");
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ }
+
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ } catch ( Exception e) {
+ log.println("Error, exception occured...");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ }
+
+
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println("adding ObjectRelation 'PARA' for CharacterProperties");
+ tEnv.addObjRelation("PARA", paraP);
+
+ log.println("adding ObjectRelation 'PORTION' for CharacterProperties");
+ tEnv.addObjRelation("PORTION", portP);
+
+ log.println("adding ObjectRelation 'NRULES' for ParagraphProperties");
+ tEnv.addObjRelation("NRULES", nRules);
+
+ tEnv.addObjRelation("NoAttach","SwXParagraph");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXParagraph
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java
new file mode 100644
index 000000000000..9be419637935
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ParagraphEnumeration</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumeration</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XEnumeration
+ * @see ifc.container._XEnumeration
+ */
+public class SwXParagraphEnumeration extends TestCase {
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After major
+ * text is gotten from a text document, three paragraphs (each of them
+ * filled by 5 strings) are inserted to major text. Finally, paragraph
+ * enumeration is created using <code>XEnumeration</code> interface.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} : major text of text document
+ * with several paragraphs inserted, queried to
+ * <code>XEnumerationAccess</code> interface.</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int i=0; i<3; i++) {
+ try {
+ oText.insertString( oCursor, "Paragraph Number: " + i, false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+
+ for (int j=0; j<5; j++){
+ try {
+ oText.insertString( oCursor,"The quick brown fox jumps"+
+ " over the lazy Dog: SwXParagraph", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ oText.insertString( oCursor, "THE QUICK BROWN FOX JUMPS"+
+ " OVER THE LAZY DOG: SwXParagraph", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ try {
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = (XEnumerationAccess)
+ UnoRuntime.queryInterface( XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ oObj = oEnum;
+
+ log.println("creating a new environment for ParagraphEnumeration object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", oEnumA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXParagraphEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java b/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java
new file mode 100644
index 000000000000..0a9345ccc401
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XPrintSettingsSupplier;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.PrintSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::PrintSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.PrintSettings
+ * @see ifc.text._PrintSettings
+ */
+public class SwXPrintSettings extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.GlobalSettings</code>, then print settings are
+ * gotten using <code>XPrintSettingsSupplier</code> interface.
+ */
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ Object oInst = null;
+
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory myMSF = (XMultiServiceFactory)tParam.getMSF();
+ oInst = myMSF.createInstance("com.sun.star.text.GlobalSettings");
+ } catch ( com.sun.star.uno.Exception e ){
+ log.println("Couldn't create instance!" + e);
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create instance!", e );
+ }
+ XPrintSettingsSupplier xPSS = (XPrintSettingsSupplier)
+ UnoRuntime.queryInterface(XPrintSettingsSupplier.class, oInst);
+ oObj = xPSS.getPrintSettings();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPrintSettings
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java b/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java
new file mode 100644
index 000000000000..56d2cca07516
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+
+/**
+ * Test for object which is represented by text document.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXPropertySet extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Method creates text document as a test component.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+ try {
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create text document", e );
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( xTextDoc );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPropertySet
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java b/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java
new file mode 100644
index 000000000000..1ab4f7b370ce
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by PropertySetInfo of
+ * text document.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySetInfo</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.beans.XPropertySetInfo
+ * @see ifc.beans._XPropertySetInfo
+ */
+public class SwXPropertySetInfo extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. Method
+ * creates text document, then obtains PropertySetInfo of created text
+ * document using <code>XPropertySet</code> interface.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ log.println( " getting the XPropertySetInfo" );
+ XPropertySet xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xTextDoc);
+ oObj = xProp.getPropertySetInfo();
+ log.println( " creating a new environment for PropertySetInfo object" );
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPropertySetInfo
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java b/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java
new file mode 100644
index 000000000000..f3761738fd7b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ReferenceMark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.ReferenceMark
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XTextContent
+ */
+public class SwXReferenceMark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.ReferenceMark</code>, then sets new
+ * name of created ReferenceMark using <code>XNamed</code> interface.
+ * Finally, renamed ReferenceMark is inserted to a major text of text
+ * document as a text content.
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ XText oText = null;
+ String Name = "SwXReferenceMark";
+
+ log.println( "creating a test environment" );
+ oText = xTextDoc.getText();
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object instance = null;
+ try {
+ oObj = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.ReferenceMark");
+ instance = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.ReferenceMark");
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get ReferenceMark", e);
+ }
+
+ XNamed oObjN = (XNamed) UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN.setName(Name);
+ XTextContent oObjTC = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oObj);
+
+ XTextCursor oCursor = oText.createTextCursor();
+ try {
+ oText.insertTextContent(oCursor, oObjTC, false);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ e.printStackTrace( log );
+ throw new StatusException(" Couldn't insert ReferenceMark", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXReferenceMark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java b/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java
new file mode 100644
index 000000000000..bf53b234bd97
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XReferenceMarksSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ReferenceMarks</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.ReferenceMarks
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXReferenceMarks extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instances of the service
+ * <code>com.sun.star.text.ReferenceMark</code>, then sets new names to
+ * created ReferenceMark's using <code>XNamed</code> interface. Then renamed
+ * ReferenceMark's are inserted to a major text of text document. Finally,
+ * ReferenceMarks are gotten from text document using
+ * <code>XReferenceMarksSupplier</code> interface.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XText oText = null;
+ String Name = "SwXReferenceMark01";
+ String Name2 = "SwXReferenceMark02";
+
+ log.println( "creating a test environment" );
+ oText = xTextDoc.getText();
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ // Creation and insertion of ReferenceMark01
+ try {
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.ReferenceMark" );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get ReferenceMark", e);
+ }
+ XNamed oObjN = (XNamed) UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN.setName(Name);
+ XTextContent oObjTC = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oObj);
+ XTextCursor oCursor = oText.createTextCursor();
+ try {
+ oText.insertTextContent(oCursor, oObjTC, false);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ e.printStackTrace( log );
+ throw new StatusException(" Couldn't insert ReferenceMark01", e);
+ }
+
+ // Creation and insertion of ReferenceMark02
+ try {
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.ReferenceMark" );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't get ReferenceMark", e);
+ }
+ XNamed oObjN2 = (XNamed) UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN2.setName(Name2);
+
+ XTextContent oObjTC2 = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oObj);
+ try {
+ oText.insertTextContent(oCursor, oObjTC2, false);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ e.printStackTrace( log );
+ throw new StatusException(" Couldn't insert ReferenceMark02", e);
+ }
+
+ // getting ReferenceMarks from text document
+ XReferenceMarksSupplier oRefSupp = (XReferenceMarksSupplier)
+ UnoRuntime.queryInterface(XReferenceMarksSupplier.class, xTextDoc);
+ oObj = oRefSupp.getReferenceMarks();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXReferenceMarks
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXShape.java b/qadevOOo/tests/java/mod/_sw/SwXShape.java
new file mode 100644
index 000000000000..bd516d22f46f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXShape.java
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.Shape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._XShape
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.beans._XPropertySet
+ * @see ifc.drawing._Shape
+ */
+public class SwXShape extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. At first,
+ * DrawPage is gotten from text document using <code>XDrawPageSupplier</code>
+ * interface. Then shape (rectangle) is created and added to DrawPage
+ * obtained before, then returned as a test component.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XDrawPage oDP = null;
+ XShapes oShapes = null;
+
+ log.println( "creating a test environment" );
+ log.println( "getting Drawpage" );
+ XDrawPageSupplier oDPS = (XDrawPageSupplier)
+ UnoRuntime.queryInterface(XDrawPageSupplier.class, xTextDoc);
+ oDP = oDPS.getDrawPage();
+
+ log.println( "getting Shape" );
+ oShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class, oDP);
+ oObj = SOF.createShape(xTextDoc,5000,3500,7500,5000,"Rectangle");
+ oShapes.add((XShape) oObj);
+
+ for ( int i = 0; i < 9; i++){
+ XInterface oShape = SOF.createShape(xTextDoc,
+ 5000 + 100*i,3500,7500,5000,"Rectangle");
+ oShapes.add((XShape) oShape);
+ }
+
+ log.println( "creating a new environment for XShape object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXShape
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyle.java b/qadevOOo/tests/java/mod/_sw/SwXStyle.java
new file mode 100644
index 000000000000..8fc9bb8fa9aa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyle.java
@@ -0,0 +1,248 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.Style</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::style::Style</code></li>
+ * <li> <code>com::sun::star::style::XStyle</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.style.Style
+ * @see com.sun.star.style.XStyle
+ * @see ifc.container._XNamed
+ * @see ifc.style._Style
+ * @see ifc.style._XStyle
+ */
+public class SwXStyle extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * At first style families are gotten from a text document using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from this style family using <code>XIndexAccess</code> interface.
+ * Next, method creates an instance of the service
+ * <code>com.sun.star.style.CharacterStyle</code> and inserts it to a
+ * previously obtained style family using <code>XNameContainer</code>
+ * interface. Finally, method creates a cursor of a major text of text
+ * document and sets it's property 'CharStyleName' value to the name of
+ * previously created style's name.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle} : slyle indexed '10' obtained from
+ * StyleFamily indexed '0' from text document using
+ * <code>XIndexAccess</code> interface.</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ try {
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFsIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+ oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFsIA.getByIndex(0));
+ XIndexAccess oSFIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oSFIA.getByIndex(10));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ try {
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CharacterStyle");
+ oMyStyle = (XStyle) UnoRuntime.queryInterface(XStyle.class, oInt);
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error: exception occured.");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ try {
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ try {
+ xProp.setPropertyValue("CharStyleName", oMyStyle.getName());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create environment ", e );
+ }
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ tEnv.addObjRelation("PropertyNames",getPropertyNames(xStyleProp));
+
+ return tEnv;
+ }
+
+ public String[] getPropertyNames(XPropertySet props) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ String[] names = new String[the_props.length];
+ String placebo = "";
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) placebo=the_props[i].Name;
+ }
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) {
+ names[i]=the_props[i].Name;
+ } else {
+ names[i] = placebo;
+ }
+ }
+ return names;
+ }
+
+} // finish class SwXStyle
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java b/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java
new file mode 100644
index 000000000000..d8a5b840ecb3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.StyleFamilies</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.style.StyleFamilies
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XIndexAccess
+ */
+public class SwXStyleFamilies extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. Style families
+ * are gotten from text document using <code>XStyleFamiliesSupplier</code>
+ * interface and returned as a test component.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+
+ log.println( "Creating a test environment" );
+ XTextDocument xArea = (XTextDocument)
+ UnoRuntime.queryInterface(XTextDocument.class, xTextDoc);
+ XStyleFamiliesSupplier oSFS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xArea);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+
+ TestEnvironment tEnv = new TestEnvironment(oSF);
+ return tEnv;
+ }
+
+
+} // finish class SwXStyle
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java b/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java
new file mode 100644
index 000000000000..75180338e316
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.StyleFamily</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameReplace</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XNameReplace
+ * @see ifc.container._XNameContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XNameReplace
+ */
+public class SwXStyleFamily extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. At first,
+ * style families of text document are gotten using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from previously obtained style families collection using
+ * <code>XIndexAccess</code> interface. Finally, method creates an instance
+ * of the service <code>com.sun.star.style.CharacterStyle</code> and inserts
+ * it to a gotten style family as 'SwXStyleFamily' using
+ * <code>XNameContainer</code> interface.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XNameReplaceINDEX'</code> for
+ * {@link ifc.container._XNameReplace} : number of last taken instance
+ * of <code>com.sun.star.style.CharacterStyle</code>, when multithread
+ * testing is going.</li>
+ * <li> <code>'NAMEREPLACE'</code> for
+ * {@link ifc.container._XNameReplace} : name of style family, inserted
+ * to style families of a text document.</li>
+ * <li> <code>'INSTANCEn'</code> for
+ * {@link ifc.container._XIndexContainer},
+ * {@link ifc.container._XIndexReplace},
+ * {@link ifc.container._XNameContainer},
+ * {@link ifc.container._XNameReplace} : several relations, which are
+ * represented by instances of service
+ * <code>com.sun.star.style.CharacterStyle</code>.</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XNameAccess oSFNA = null;
+
+ log.println( "Creating Test Environment..." );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF());
+ XComponent xComp = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class, xTextDoc);
+ XInterface oInstance = (XInterface)
+ SOF.createInstance(xComp, "com.sun.star.style.CharacterStyle");
+ XStyleFamiliesSupplier oSFsS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess oSF = oSFsS.getStyleFamilies();
+ XIndexAccess oSFIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+
+ try {
+ oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFIA.getByIndex(0));
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception. ", e);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception. ", e);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception. ", e);
+ }
+
+ XNameContainer oContainer = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ // insert a Style which can be replaced by name
+ try {
+ oContainer.insertByName("SwXStyleFamily",oInstance);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oSFNA);
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+ String nr = new Integer(THRCNT+1).toString();
+
+ log.println( "adding NameReplaceIndex as mod relation to environment" );
+ tEnv.addObjRelation("XNameReplaceINDEX", nr);
+
+ for (int n=1; n<(THRCNT+3); n++ ) {
+ log.println( "adding INSTANCE"+n+" as mod relation to environment");
+ tEnv.addObjRelation("INSTANCE"+n,
+ SOF.createInstance(xComp,"com.sun.star.style.CharacterStyle"));
+ }
+
+ log.println("adding NAMEREPLACE as mod relation to environment");
+ tEnv.addObjRelation("NAMEREPLACE", "SwXStyleFamily");
+
+ return tEnv;
+ }
+
+} // finish class SwXStyleFamily
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java b/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java
new file mode 100644
index 000000000000..2ceaf704254b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TextSectionDsc;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by cell text of the text table.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXTableCellText extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to a text document. Then cell named 'A1' is
+ * obtained from table, string 'SwXTableCellText' is set to this cell, then
+ * cell text is gotten from cell obtained before and returned as a test
+ * component.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : table cell text</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates text sections</li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "Creating a test environment" );
+ try {
+ oTable = SOF.createTextTable( xTextDoc );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable : "
+ +e.getMessage(),e);
+ }
+
+ try {
+ SOF.insertTextContent(xTextDoc, oTable );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't insert text content : "
+ +e.getMessage(),e);
+ }
+
+ XCell oCell = oTable.getCellByName("A1");
+ XSimpleText oCellText = (XSimpleText)
+ UnoRuntime.queryInterface(XSimpleText.class, oCell);
+ oCellText.setString("SwXTableCellText");
+ oObj = oCellText.getText();
+
+ log.println( "creating a new environment for Cell object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXT", (XText) oObj);
+
+ log.println( " adding InstCreator object" );
+ TextSectionDsc tDsc = new TextSectionDsc();
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTableCellText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java b/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java
new file mode 100644
index 000000000000..ace59c91cc02
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.TableColumns</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::table::XTableColumns</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.table.XTableColumns
+ * @see com.sun.star.table.TableColumns
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.table._XTableColumns
+ */
+public class SwXTableColumns extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to text document, then columns are gotten
+ * from table.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "creating a test environment" );
+
+ try {
+ oTable = SOF.createTextTable( xTextDoc );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable: "
+ +e.getMessage(),e);
+ }
+
+ try {
+ SOF.insertTextContent(xTextDoc, oTable );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't insert text content: "
+ +e.getMessage(),e);
+ }
+
+ oObj = oTable.getColumns();
+
+ log.println( "creating a new environment for TableColumns object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XTableColumns
+ tEnv.addObjRelation("XTableColumns.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, oTable));
+
+ tEnv.addObjRelation("XIndexAccess.getByIndex.mustBeNull", new Boolean(true));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTableColumns
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableRows.java b/qadevOOo/tests/java/mod/_sw/SwXTableRows.java
new file mode 100644
index 000000000000..8d11e3607f44
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableRows.java
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.TableRows</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::table::XTableRows</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.table.XTableRows
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.table._XTableRows
+ */
+public class SwXTableRows extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to text document, then rows are gotten
+ * from table.
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ oTable = SOF.createTextTable( xTextDoc );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable: "
+ +e.getMessage(),e);
+ }
+
+ try {
+ SOF.insertTextContent(xTextDoc, oTable );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace( log );
+ throw new StatusException("Couldn't insert text content: "
+ +e.getMessage(),e);
+ }
+ oObj = oTable.getRows();
+
+ log.println( "creating a new environment for TableColumns object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XTableColumns
+ tEnv.addObjRelation("XTableRows.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, oTable));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTableRows
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java b/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java
new file mode 100644
index 000000000000..cdb1b5d67830
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.TextColumns</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextColumns</code></li>
+ * <li> <code>com::sun::star::text::TextColumns</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XTextColumns
+ * @see com.sun.star.text.TextColumns
+ * @see ifc.text._XTextColumns
+ * @see ifc.text._TextColumns
+ */
+public class SwXTextColumns extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After style
+ * families are gotten from text document using
+ * <code>XStyleFamiliesSupplier</code> interface, style family indexed '2'
+ * is obtained using <code>XIndexAccess</code> interface. Then style
+ * named 'Standard' is gotten from previously obtained style family using
+ * <code>XNameAccess</code> interface, and 'TextColumns' property value
+ * of this style is returned as a test component. Finally, several
+ * paragraphs within the text are inserted to a text document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+ TestEnvironment tEnv = null;
+ XStyle oStyle = null;
+
+ log.println( "creating a test environment" );
+ log.println("getting PageStyle");
+ XStyleFamiliesSupplier oSFS = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFIA = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+
+ try {
+ XNameAccess oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFIA.getByIndex(2));
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oSFNA.getByName("Standard"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occured while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error, exception occured while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error, exception occured while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occured while getting style.");
+ e.printStackTrace(log);
+ }
+
+ try {
+ log.println("Getting property ('TextColumns') value of style "
+ + oStyle.getName());
+ XPropertySet xProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oStyle);
+ oObj = (XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),xProps.getPropertyValue("TextColumns"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Exception occured while getting style property");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Exception occured while getting style property");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Exception occured while getting style property");
+ e.printStackTrace(log);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some text to text document..." );
+ try {
+ for (int i =0; i < 5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println("Exception occured while inserting Text");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextColumns
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
new file mode 100644
index 000000000000..a7313943ce50
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
@@ -0,0 +1,316 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+import java.util.Vector;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XParagraphCursor;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.TextCursor</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextCursor</code></li>
+ * <li> <code>com::sun::star::text::XWordCursor</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::text::XSentenceCursor</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::text::XParagraphCursor</code></li>
+ * <li> <code>com::sun::star::document::XDocumentInsertable</code></li>
+ * <li> <code>com::sun::star::util::XSortable</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurently.
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XContentEnumerationAccess
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.util.XSortable
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see ifc.text._XTextCursor
+ * @see ifc.text._XWordCursor
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.text._XTextRange
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XContentEnumerationAccess
+ * @see ifc.beans._XPropertyState
+ * @see ifc.style._CharacterProperties
+ * @see ifc.text._XSentenceCursor
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.text._XParagraphCursor
+ * @see ifc.document._XDocumentInsertable
+ * @see ifc.util._XSortable
+ * @see ifc.style._CharacterPropertiesAsian
+ */
+public class SwXTextCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested. After major
+ * text of text document is obtained, text cursor is created and several
+ * paragraphs within the text are inserted to a text document. Finally,
+ * text cursor is returned as a test component.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXT'</code> for
+ * {@link ifc.text._XTextRange} : major text of text document</li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ log.println("creating a test environment");
+
+
+ // get the bodytext of textdocument here
+ log.println("getting the TextCursor");
+
+ final XSimpleText aText = xTextDoc.getText();
+ final XTextCursor textCursor = aText.createTextCursor();
+ oObj = textCursor;
+
+ log.println("inserting some text");
+
+ try {
+ for (int i = 0; i < 3; i++) {
+ aText.insertString(textCursor, "" + (3 - i), false);
+
+ for (int j = 0; j < 5; j++) {
+ aText.insertString(textCursor, "XTextCursor,XTextCursor",
+ false);
+ aText.insertString(textCursor, "The quick brown fox ",
+ false);
+ aText.insertString(textCursor, "jumps over the lazy dog ",
+ false);
+ }
+
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.LINE_BREAK,
+ false);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Error, insert text to text document.");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for SwXTextCursor object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XTEXT", xTextDoc.getText());
+
+ XPropertySet xCursorProp = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropertyNames", getPropertyNames(xCursorProp));
+
+ //Adding relation for util.XSortable
+ final XParagraphCursor paragrCursor = (XParagraphCursor) UnoRuntime.queryInterface(
+ XParagraphCursor.class,
+ oObj);
+ final PrintWriter finalLog = log;
+
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ textCursor.gotoEnd(false);
+
+ try {
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "4", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "b", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "3", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "a", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "23", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "ab", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ out.println("Unexpected exception:" + e);
+ }
+
+ out.println(
+ "Preparing cursor to sorting. Text before sorting:");
+ paragrCursor.gotoEnd(true);
+
+ for (int i = 0; i < 6; i++) {
+ paragrCursor.gotoPreviousParagraph(true);
+ }
+
+ out.println(textCursor.getString());
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ String ls = System.getProperty("line.separator");
+
+ String text = paragrCursor.getString();
+ out.println("Text after sorting:\n" + text);
+
+ boolean res = false;
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ res = text.endsWith(ls+"3"+ls+"4"+ls+"23");
+
+ if (!res) {
+ out.println("Text must ends by:\n" + "\r\n3\r\n4\r\n23\r\n");
+ }
+ } else {
+ res = text.startsWith("23"+ls+"4"+ls+"3"+ls);
+
+ if (!res) {
+ out.println("Text must starts with:\n" + "23\r\n4\r\n3\r\n");
+ }
+ }
+ } else {
+ if (isSortAscending) {
+ res = text.equals(ls+"23"+ls+"3"+ls+"4"+ls+"a"+ls+"ab"+ls+"b");
+
+ if (!res) {
+ out.println("Text must be equal to:\n" + "\r\n23\r\n3\r\n4\r\na\r\nab\r\nb\r\n");
+ }
+ } else {
+ res = text.endsWith("b"+ls+"ab"+ls+"a"+ls+"4"+ls+"3"+ls+"23"+ls);
+
+ if (!res) {
+ out.println("Text must be equal to:\n" + "b\r\nab\r\na\r\n4\r\n3\r\n23\r\n");
+ }
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ public String[] getPropertyNames(XPropertySet props) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ Vector names = new Vector();
+
+ for (int i = 0; i < the_props.length; i++) {
+ boolean isWritable = ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+
+ if (isWritable) {
+ names.add(the_props[i].Name);
+ }
+ }
+
+ return (String[]) names.toArray(new String[names.size()]);
+ }
+} // finish class SwXTextCursor
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java b/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java
new file mode 100644
index 000000000000..db5c223f4f29
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+//API Interfaces
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Defaults</code> created by a writer
+ * document's <code>XMultiServiceFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * <li> <code>com::sun::star::text::Defaults</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::style::ParagraphPropertiesComplex</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see com.sun.star.text.Defaults
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.style.ParagraphPropertiesComplex
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.style._CharacterPropertiesAsian
+ * @see ifc.text._Defaults
+ * @see ifc.style._CharacterProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.style._ParagraphPropertiesComplex
+ */
+public class SwXTextDefaults extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates the service <code>com.sun.star.text.Defaults</code>
+ */
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XMultiServiceFactory docMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class,xTextDoc);
+
+ try {
+ oObj = (XInterface)
+ docMSF.createInstance("com.sun.star.text.Defaults");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Couldn't create Object",e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+ /**
+ * Creates text document.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes text document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
new file mode 100644
index 000000000000..da2f53168863
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
@@ -0,0 +1,268 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextSection;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XTextTable;
+import com.sun.star.text.XWordCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+
+import util.SOfficeFactory;
+import util.WriterTools;
+
+
+public class SwXTextDocument extends TestCase {
+ XTextDocument xTextDoc;
+ XTextDocument xSecondTextDoc;
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ DesktopTools.closeDoc(xSecondTextDoc);
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ TestEnvironment tEnv = null;
+ XTextTable the_table = null;
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting some lines");
+
+ try {
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i,
+ false);
+ oText.insertString(oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ oText.insertString(oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.LINE_BREAK,
+ false);
+ }
+ for (int i = 0; i < 11; i++) {
+ oText.insertString(oCursor, "xTextDoc ", false);
+
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert lines", e);
+ }
+
+ //insert two sections parent and child
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xTextDoc);
+
+ XInterface oTS;
+ XTextSection xTS;
+
+ XTextSectionsSupplier oTSSupp = (XTextSectionsSupplier) UnoRuntime.queryInterface(
+ XTextSectionsSupplier.class,
+ xTextDoc);
+ XNameAccess oTSSuppName = oTSSupp.getTextSections();
+
+ oTS = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.TextSection");
+
+ XTextContent oTSC = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XWordCursor oWordC = (XWordCursor) UnoRuntime.queryInterface(
+ XWordCursor.class, oCursor);
+ oCursor.setString("End of TextSection");
+ oCursor.gotoStart(false);
+ oCursor.setString("Start of TextSection ");
+ oWordC.gotoEndOfWord(false);
+
+ XInterface oTS2 = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.TextSection");
+ oTSC = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
+ oTS2);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XIndexAccess oTSSuppIndex = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ oTSSuppName);
+ log.println(
+ "getting a TextSection with the XTextSectionSupplier()");
+ xTS = (XTextSection) UnoRuntime.queryInterface(XTextSection.class,
+ oTSSuppIndex.getByIndex(0));
+
+ XNamed xTSName = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ xTS);
+ xTSName.setName("SwXTextSection");
+
+ log.println(" adding TextTable");
+ the_table = SOfficeFactory.createTextTable(xTextDoc, 6, 4);
+
+ XNamed the_name = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ the_table);
+ the_name.setName("SwXTextDocument");
+ SOfficeFactory.insertTextContent(xTextDoc,
+ (XTextContent) the_table);
+
+ log.println(" adding ReferenceMark");
+
+ XInterface aMark = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.ReferenceMark");
+ the_name = (XNamed) UnoRuntime.queryInterface(XNamed.class, aMark);
+ the_name.setName("SwXTextDocument");
+
+ XTextContent oTC = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, aMark);
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println(" adding TextGraphic");
+ WriterTools.insertTextGraphic(xTextDoc, oDocMSF, 5200, 4200, 4400,
+ 4000, "space-metal.jpg",
+ "SwXTextDocument");
+
+ log.println(" adding EndNote");
+
+ XInterface aEndNote = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.Endnote");
+ oTC = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
+ aEndNote);
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println(" adding Bookmark");
+ SOfficeFactory.insertTextContent(xTextDoc,
+ (XTextContent) SOfficeFactory.createBookmark(
+ xTextDoc));
+
+ log.println(" adding DocumentIndex");
+ oTC = SOfficeFactory.createIndex(xTextDoc,
+ "com.sun.star.text.DocumentIndex");
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println(" adding TextFrame");
+
+ XTextFrame frame = SOfficeFactory.createTextFrame(xTextDoc, 500,
+ 500);
+ oTC = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
+ frame);
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println("creating a second textdocument");
+ xSecondTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ if (xTextDoc != null) {
+ log.println("Creating instance...");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oTextCursor = oText.createTextCursor();
+
+ for (int i = 0; i < 11; i++) {
+ oText.insertString(oTextCursor, "xTextDoc ", false);
+ }
+
+ tEnv = new TestEnvironment(xTextDoc);
+ } else {
+ log.println("Failed to create instance.");
+
+ return tEnv;
+ }
+
+ XModel model1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+ XModel model2 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xSecondTextDoc);
+
+ XController cont1 = model1.getCurrentController();
+ XController cont2 = model2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", the_table);
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT1", cont1);
+ tEnv.addObjRelation("CONT2", cont2);
+
+ return tEnv;
+ }
+} // finish class SwXTextDocument
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java
new file mode 100644
index 000000000000..50e218b0d319
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.XPropertySet;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.document.XEmbeddedObjectSupplier
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextEmbeddedObject
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextEmbeddedObject
+ *
+ */
+public class SwXTextEmbeddedObject extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ // create testobject here
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+ try {
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't open document", e);
+ }
+
+ XTextCursor xCursor = xTextDoc.getText().createTextCursor();
+ try {
+ XMultiServiceFactory xMultiServiceFactory = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object o = xMultiServiceFactory.createInstance("com.sun.star.text.TextEmbeddedObject" );
+ XTextContent xTextContent = (XTextContent)UnoRuntime.queryInterface(XTextContent.class, o);
+ String sChartClassID = "12dcae26-281f-416f-a234-c3086127382e";
+ XPropertySet xPropertySet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xTextContent);
+ xPropertySet.setPropertyValue( "CLSID", sChartClassID );
+
+ xTextDoc.getText().insertTextContent( xCursor, xTextContent, false );
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace((java.io.PrintWriter)log);
+ }
+
+ XTextEmbeddedObjectsSupplier oTEOS = (XTextEmbeddedObjectsSupplier) UnoRuntime.queryInterface(
+ XTextEmbeddedObjectsSupplier.class,
+ xTextDoc);
+
+ XNameAccess oEmObj = oTEOS.getEmbeddedObjects();
+ XIndexAccess oEmIn = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class, oEmObj);
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), oEmIn.getByIndex(0));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get Object", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("NoAttach", "SwXTextEmbeddedObject");
+
+ XTextFrame aFrame = SOF.createTextFrame(xTextDoc, 500, 500);
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XTextContent the_content = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, aFrame);
+
+ try {
+ oText.insertTextContent(oCursor, the_content, true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't insert frame " + e.getMessage());
+ }
+
+ tEnv.addObjRelation("TextFrame", aFrame);
+
+ tEnv.addObjRelation("NoSetSize", "SwXTextEmbeddedObject");
+ tEnv.addObjRelation("NoPos", "SwXTextEmbeddedObject");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextEmbeddedObject
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java
new file mode 100644
index 000000000000..51a3e8a45a12
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.beans.XPropertySet;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class SwXTextEmbeddedObjects extends TestCase {
+
+ XTextDocument oDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ oDoc = SOF.createTextDoc(null);
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn?t create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ // create testobject here
+ XTextCursor xCursor = oDoc.getText().createTextCursor();
+ try {
+ XMultiServiceFactory xMultiServiceFactory = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+ Object o = xMultiServiceFactory.createInstance("com.sun.star.text.TextEmbeddedObject" );
+ XTextContent xTextContent = (XTextContent)UnoRuntime.queryInterface(XTextContent.class, o);
+ String sChartClassID = "12dcae26-281f-416f-a234-c3086127382e";
+ XPropertySet xPropertySet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xTextContent);
+ xPropertySet.setPropertyValue( "CLSID", sChartClassID );
+
+ oDoc.getText().insertTextContent( xCursor, xTextContent, false );
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace((java.io.PrintWriter)log);
+ }
+
+ XTextEmbeddedObjectsSupplier oTEOS = (XTextEmbeddedObjectsSupplier)
+ UnoRuntime.queryInterface(XTextEmbeddedObjectsSupplier.class, oDoc);
+
+ oObj = oTEOS.getEmbeddedObjects();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextEmbeddedObjects
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextField.java b/qadevOOo/tests/java/mod/_sw/SwXTextField.java
new file mode 100644
index 000000000000..aabab6efe480
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextField.java
@@ -0,0 +1,168 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextField
+ *
+ */
+public class SwXTextField extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ Object instance = null;
+
+ // create testobject here
+ try {
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object FieldMaster = oDocMSF.createInstance
+ ( "com.sun.star.text.FieldMaster.Database" );
+ XPropertySet PFieldMaster = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class,(XInterface) FieldMaster);
+ oObj = (XInterface) oDocMSF.createInstance
+ ( "com.sun.star.text.TextField.Database" );
+
+ instance = (XInterface) oDocMSF.createInstance
+ ( "com.sun.star.text.TextField.DateTime" );
+
+ XDependentTextField xTF = (XDependentTextField)
+ UnoRuntime.queryInterface(XDependentTextField.class,oObj);
+
+ PFieldMaster.setPropertyValue("DataBaseName","Address Book File");
+ PFieldMaster.setPropertyValue("DataTableName","address");
+ PFieldMaster.setPropertyValue("DataColumnName","FIRSTNAME");
+ XText the_Text = xTextDoc.getText();
+ XTextCursor the_Cursor = the_Text.createTextCursor();
+ XTextContent the_Field = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+ xTF.attachTextFieldMaster(PFieldMaster);
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextField
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java b/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java
new file mode 100644
index 000000000000..d0ba5c70af3c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameReplace
+ *
+ */
+public class SwXTextFieldMasters extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // create testobject here
+ try {
+ XTextFieldsSupplier oTFS = (XTextFieldsSupplier)
+ UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+
+ oObj = oTFS.getTextFieldMasters();
+
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMasters object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFieldMasters
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java b/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java
new file mode 100644
index 000000000000..1b730500f37c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ *
+ */
+public class SwXTextFieldTypes extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // create testobject here
+ try {
+ XTextFieldsSupplier oTFS = (XTextFieldsSupplier)
+ UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+
+ oObj = oTFS.getTextFields();
+
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldTypes object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFieldTypes
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java b/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java
new file mode 100644
index 000000000000..64874119ca14
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+public class SwXTextFrame extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XTextFrame oFrame2 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+
+ // creating Frames
+ log.println("creating Frames");
+
+
+ Object instance = null;
+
+ try {
+ oFrame1 = SOF.createTextFrame(xTextDoc, 500, 500);
+ oFrame2 = SOF.createTextFrame(xTextDoc, 1500, 1500);
+ oPropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oFrame1);
+
+
+ // AnchorTypes: 0 = paragraph, 1 = as char, 2 = page,
+ // 3 = frame/paragraph 4= at char
+ oPropSet.setPropertyValue("AnchorType",
+ TextContentAnchorType.AS_CHARACTER);
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println("inserting Frame1");
+
+ XTextContent the_content = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, oFrame1);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ log.println("inserting Frame2");
+ the_content = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, oFrame2);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ XText oFrameText = oFrame1.getText();
+ oFrameText.insertString(oFrameText.getStart(), "The FrameText",
+ true);
+
+ instance = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.TextFrame");
+ } catch (Exception Ex) {
+ Ex.printStackTrace(log);
+ throw new StatusException("Couldn't insert TextFrame ", Ex);
+ }
+
+ oObj = oFrame1;
+
+ log.println("creating a new environment for TextFrame object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("CONTENT",
+ (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ log.println("adding ObjRelation for XShape " +
+ "(get/setPosition won't work there)");
+ tEnv.addObjRelation("NoPos", "SwXTextFrame");
+ tEnv.addObjRelation("NoSetSize", "SwXTextFrame");
+
+ tEnv.addObjRelation("TextFrame", oFrame2);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFrame
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java b/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java
new file mode 100644
index 000000000000..ef304a631f9f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XTextRangeMover
+ *
+ */
+public class SwXTextFrameText extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ // create testobject here
+ ////////////////////////////////////
+
+ try {
+ oFrame1 = SOF.createTextFrame(xTextDoc, 500, 500);
+ oPropSet = (XPropertySet)UnoRuntime.queryInterface
+ (XPropertySet.class, oFrame1 );
+ //AnchorTypes: 0 = paragraph, 1 = as char, 2 = page,
+ // 3 = frame/paragraph 4= at char
+ oPropSet.setPropertyValue("AnchorType", new Integer(2));
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println( "inserting Frame1" );
+ oText.insertTextContent(oCursor,oFrame1, false);
+
+ } catch (Exception Ex ) {
+ Ex.printStackTrace(log);
+ throw new StatusException("Couldn't insert TextFrame ", Ex);
+ }
+
+ XText oFText = (XText)UnoRuntime.queryInterface(XText.class, oFrame1);
+ XTextCursor oFCursor = oFText.createTextCursor();
+ oFText.insertString(oFCursor, "SwXTextFrameText", false);
+
+ oObj = oFText.getText();
+
+ log.println( "creating a new environment for TextFrameText object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXT", (XText) oObj);
+
+ log.println( "adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextFrameText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java
new file mode 100644
index 000000000000..9e45193586e2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SwXTextGraphicObject extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdoc" );
+ xTextDoc = SOF.createTextDoc( null );;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oGObject = null;
+ Object xTextFrame = null;
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ Object instance = null;
+
+ try {
+ oGObject = SOF.createInstance
+ (xTextDoc,"com.sun.star.text.GraphicObject");
+ instance = SOF.createInstance
+ (xTextDoc,"com.sun.star.text.GraphicObject");
+ xTextFrame = SOF.createTextFrame(xTextDoc, 500, 500);
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", ex );
+ }
+
+ oObj = (XInterface) oGObject;
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+ log.println("inserting Frame");
+ try{
+ XTextContent Framecontent = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, xTextFrame);
+ the_text.insertTextContent(the_cursor, Framecontent, true);
+ } catch (Exception e) {
+ System.out.println("Couldn't insert text frame");
+ e.printStackTrace();
+ throw new StatusException("Couldn't insert text frame", e );
+ }
+
+
+ log.println( "inserting graphic" );
+ try {
+ the_text.insertTextContent(the_cursor,the_content,true);
+ } catch (Exception e) {
+ System.out.println("Couldn't insert Content");
+ e.printStackTrace();
+ throw new StatusException("Couldn't insert Content", e );
+ }
+
+ log.println( "adding graphic" );
+ XPropertySet oProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ try {
+ String wat = util.utils.getFullTestURL("space-metal.jpg");
+ oProps.setPropertyValue("AnchorType",
+ TextContentAnchorType.AT_PARAGRAPH);
+ oProps.setPropertyValue("GraphicURL",wat);
+ oProps.setPropertyValue("HoriOrientPosition",new Integer(5500));
+ oProps.setPropertyValue("VertOrientPosition",new Integer(4200));
+ oProps.setPropertyValue("Width",new Integer(4400));
+ oProps.setPropertyValue("Height",new Integer(4000));
+ } catch (Exception e) {
+ System.out.println("Couldn't set property 'GraphicURL'");
+ e.printStackTrace();
+ throw new StatusException
+ ("Couldn't set property 'GraphicURL'", e );
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding ObjRelation for XShape "
+ +"(get/setPosition won't work there)" );
+ tEnv.addObjRelation("NoPos", "SwXTextGraphicObject");
+ tEnv.addObjRelation("NoSetSize","SwXTextGraphicObject");
+ Object ImgMap = null;
+ //creating ObjectRelation for the property
+ // 'ImageMap' of 'TextGraphicObject'
+ try {
+ XMultiServiceFactory xDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface
+ (XMultiServiceFactory.class,xTextDoc);
+ ImgMap = xDocMSF.createInstance
+ ("com.sun.star.image.ImageMapRectangleObject");
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ tEnv.addObjRelation("IMGMAP",ImgMap);
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ //object relation for text.BaseFrameProperties
+ tEnv.addObjRelation("TextFrame", xTextFrame);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextGraphicObject
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java
new file mode 100644
index 000000000000..8b233ea5ceb5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextGraphicObjectsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SwXTextGraphicObjects extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdoc" );
+ xTextDoc = SOF.createTextDoc( null );;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oGObject = null;
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ oGObject = SOF.createInstance
+ (xTextDoc,"com.sun.star.text.GraphicObject");
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ throw new StatusException("Couldn't create instance", ex );
+ }
+
+ oObj = (XInterface) oGObject;
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+ log.println( "inserting graphic" );
+ try {
+ the_text.insertTextContent(the_cursor,the_content,true);
+ } catch (Exception e) {
+ System.out.println("Couldn't insert Content");
+ e.printStackTrace();
+ throw new StatusException("Couldn't insert Content", e );
+ }
+
+ log.println( "adding graphic" );
+ XPropertySet oProps = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ try {
+ String wat = util.utils.getFullTestURL("space-metal.jpg");
+ oProps.setPropertyValue("GraphicURL",wat);
+ oProps.setPropertyValue("HoriOrientPosition",new Integer(5500));
+ oProps.setPropertyValue("VertOrientPosition",new Integer(4200));
+ oProps.setPropertyValue("Width",new Integer(4400));
+ oProps.setPropertyValue("Height",new Integer(4000));
+ } catch (Exception e) {
+ System.out.println("Couldn't set property 'GraphicURL'");
+ e.printStackTrace();
+ throw new StatusException("Couldn't set property 'GraphicURL'", e );
+ }
+
+ XTextGraphicObjectsSupplier xTGS = (XTextGraphicObjectsSupplier)
+ UnoRuntime.queryInterface(XTextGraphicObjectsSupplier.class,
+ xTextDoc);
+ oObj = xTGS.getGraphicObjects();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextGraphicObjects
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java b/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java
new file mode 100644
index 000000000000..3b581644cbe3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.TextPortion
+ *
+ */
+public class SwXTextPortion extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XInterface param = null;
+ XPropertySet paraP = null;
+ XPropertySet portP = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting Strings" );
+ log.println( "inserting ControlCharacter" );
+
+ try{
+ for (int i =0; i < 5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ oText.insertString( oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph\n",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ }catch(Exception e){
+ log.println("Couldn't insert Text");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't insert Text", e );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = (XEnumerationAccess)
+ UnoRuntime.queryInterface( XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ int n = 0;
+ while ( (oEnum.hasMoreElements()) ) {
+ try {
+ param = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ log.println("Element Nr.: " + n );
+ } catch ( Exception e) {
+ log.println("Couldn't get Paragraph");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get Paragraph", e );
+ }
+ n++;
+ }
+
+ XEnumerationAccess oEnumP = (XEnumerationAccess)
+ UnoRuntime.queryInterface( XEnumerationAccess.class, param );
+ XEnumeration oEnum2 = oEnumP.createEnumeration();
+ try {
+ oObj = (XInterface)AnyConverter.toObject(
+ new Type(XInterface.class),oEnum2.nextElement());
+ } catch ( Exception e) {
+ log.println("Couldn't get TextPortion");
+ e.printStackTrace(log);
+ throw new StatusException( "Couldn't get TextPortion", e );
+ }
+
+ portP = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ paraP = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, param);
+
+
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println("adding ObjRelation TRO for TextContent");
+ tEnv.addObjRelation("TRO", new Boolean(true));
+
+ log.println("adding ObjectRelation 'PARA' for CharacterProperties");
+ tEnv.addObjRelation("PARA", paraP);
+
+ log.println("adding ObjectRelation 'PORTION' for CharacterProperties");
+ tEnv.addObjRelation("PORTION", portP);
+
+ tEnv.addObjRelation("XTEXT", oText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTextPortion
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java
new file mode 100644
index 000000000000..b591a6b45be8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.TextPortion
+ *
+ */
+public class SwXTextPortionEnumeration extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface param = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting Strings" );
+ log.println( "inserting ControlCharacter" );
+
+
+ try{
+ for (int i =0; i < 5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ oText.insertString( oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph\n",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ }catch(Exception e){
+ log.println("Couldn't insert Text");
+ e.printStackTrace();
+ throw new StatusException( "Couldn't insert Text", e );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = (XEnumerationAccess)
+ UnoRuntime.queryInterface( XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ int n = 0;
+ while ( (oEnum.hasMoreElements()) ) {
+ try {
+ param = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ } catch ( Exception e) {
+ log.println("Couldn't get Paragraph");
+ e.printStackTrace();
+ throw new StatusException( "Couldn't get Paragraph", e );
+ }
+ n++;
+ }
+
+ XEnumerationAccess oEnumP = (XEnumerationAccess)
+ UnoRuntime.queryInterface( XEnumerationAccess.class, param );
+ XEnumeration oEnum2 = oEnumP.createEnumeration();
+
+ log.println( "creating a new environment for TextPortionEnumeration object" );
+ TestEnvironment tEnv = new TestEnvironment( oEnum2 );
+
+ log.println("adding ObjRelation ENUM for XEnumeration");
+ tEnv.addObjRelation("ENUM", oEnumP);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTextPortionEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextRange.java b/qadevOOo/tests/java/mod/_sw/SwXTextRange.java
new file mode 100644
index 000000000000..8b09a01dac9d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextRange.java
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+public class SwXTextRange extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+
+ XText aText = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // get the bodytext of textdocument here
+ log.println( "getting the TextRange of the text document" );
+ aText = xTextDoc.getText();
+ XTextCursor oCursor = aText.createTextCursor();
+
+ XInterface oObj = oCursor.getStart();
+
+ log.println( "creating a new environment for textrange object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ System.out.println("Implementation Name: "+utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextRange
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java b/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java
new file mode 100644
index 000000000000..5310ab00546a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ *
+ */
+public class SwXTextRanges extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int j =0; j < 5; j++){
+ try{
+ oText.insertString( oCursor,
+ "SwXTextRanges...SwXTextRanges...SwXTextRanges", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ catch( Exception e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ XSearchable oSearch = (XSearchable)UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextRanges");
+
+ oObj = oSearch.findAll(xSDesc);
+
+ log.println( "creating a new environment for textrange object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextRanges
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java b/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java
new file mode 100644
index 000000000000..d637bb23a252
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.util.SearchDescriptor
+ * @see com.sun.star.util.XSearchDescriptor
+ *
+ */
+public class SwXTextSearch extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int j =0; j < 5; j++){
+ try{
+ oText.insertString( oCursor,
+ "SwXTextSearch...SwXTextSearch...SwXTextSearch", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ catch( Exception e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ XSearchable oSearch = (XSearchable)UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextSearch");
+
+ oObj = xSDesc;
+
+ log.println( "creating a new environment for TextSearch object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextSearch
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSection.java b/qadevOOo/tests/java/mod/_sw/SwXTextSection.java
new file mode 100644
index 000000000000..c74f3a527323
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSection.java
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextSection;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XWordCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+
+public class SwXTextSection extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XInterface oTS = null;
+ XTextSection xTS = null;
+ XText oText = null;
+ XTextColumns TC = null;
+ Object instance = null;
+
+ log.println( "creating a test environment" );
+
+ oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ try {
+ XTextSectionsSupplier oTSSupp = (XTextSectionsSupplier)
+ UnoRuntime.queryInterface
+ ( XTextSectionsSupplier.class, xTextDoc );
+ XNameAccess oTSSuppName = oTSSupp.getTextSections();
+
+ //cleanup if necessary
+ if (oTSSuppName.hasByName("SwXTextSection")) {
+ XTextSection old = (XTextSection) AnyConverter.toObject(
+ new Type(XTextSection.class),
+ oTSSuppName.getByName("SwXTextSection"));
+ XComponent oldC = (XComponent)
+ UnoRuntime.queryInterface(XComponent.class,old);
+ oldC.dispose();
+ oText.setString("");
+ }
+
+ //insert two sections parent and child
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ instance = oDocMSF.createInstance("com.sun.star.text.TextSection");
+ XTextContent oTSC = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+ XWordCursor oWordC = (XWordCursor)
+ UnoRuntime.queryInterface(XWordCursor.class, oCursor);
+ oCursor.setString("End of TextSection");
+ oCursor.gotoStart(false);
+ oCursor.setString("Start of TextSection ");
+ oWordC.gotoEndOfWord(false);
+ XInterface oTS2 = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ oTSC = (XTextContent)UnoRuntime.queryInterface(XTextContent.class, oTS2);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XIndexAccess oTSSuppIndex = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, oTSSuppName);
+
+ log.println( "getting a TextSection with the XTextSectionSupplier()" );
+ xTS = (XTextSection) AnyConverter.toObject(
+ new Type(XTextSection.class),oTSSuppIndex.getByIndex(0));
+ XNamed xTSName = (XNamed)
+ UnoRuntime.queryInterface( XNamed.class, xTS);
+ xTSName.setName("SwXTextSection");
+ }
+ catch(Exception e){
+ System.out.println("Couldn't get Textsection " + e);
+ }
+
+ oObj = xTS;
+
+ log.println( "creating a new environment for TextSection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ tEnv.addObjRelation("TRO",new Boolean(true));
+
+ try {
+ TC = (XTextColumns) UnoRuntime.queryInterface(XTextColumns.class,
+ oDocMSF.createInstance("com.sun.star.text.TextColumns"));
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ throw new StatusException
+ ("Couldn't create instance of service TextColumns", e );
+ }
+ tEnv.addObjRelation("TC",TC);
+
+ tEnv.addObjRelation("CONTENT", (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}// finish class SwXTextSection
+
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSections.java b/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
new file mode 100644
index 000000000000..0a672de3bdc8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+public class SwXTextSections extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ XInterface oTS = null;
+ XNameAccess oTSSuppName = null;
+
+ XText oText = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+
+ log.println( "inserting TextSections" );
+
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ // First TextSection
+ try {
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ XTextContent oTSC = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+ }
+ catch(Exception e){
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ // Second TextSection
+ try {
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ XTextContent oTSC = (XTextContent)
+ UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+ }
+ catch(Exception e){
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+
+ log.println( "try to get a TextSection with the XTextSectionSupplier()" );
+
+ try{
+ XTextSectionsSupplier oTSSupp = (XTextSectionsSupplier)
+ UnoRuntime.queryInterface( XTextSectionsSupplier.class,
+ xTextDoc );
+ oTSSuppName = oTSSupp.getTextSections();
+ }
+ catch(Exception e){
+ System.out.println("Couldn't get Textsection " + e);
+ }
+
+
+ oObj = oTSSuppName;
+
+ log.println( "creating a new environment for TextSections object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextSection
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTable.java b/qadevOOo/tests/java/mod/_sw/SwXTextTable.java
new file mode 100644
index 000000000000..c3bc78208b27
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTable.java
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * this class tests the implementation of listed interfaces
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextTable
+ */
+public class SwXTextTable extends TestCase {
+ SOfficeFactory SOF;
+ XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ this method creates the testenvironment
+ @param tParam TestParameters class which contains additional
+ test parameters
+ @param log PrintWriter class to log the test state and result
+
+ @return TestEnvironment class
+
+ @see TestParameters
+ @see PrintWriter
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ // creation of testobject here
+ XTextTable oObj = null;
+ TestEnvironment tEnv = null;
+ Object instance = null;
+
+ try {
+ oObj = SOF.createTextTable(xTextDoc);
+ instance = SOF.createTextTable(xTextDoc);
+ } catch (com.sun.star.uno.Exception uE) {
+ uE.printStackTrace(log);
+ throw new StatusException("Couldn't create testobj : " +
+ uE.getMessage(), uE);
+ }
+
+ int nRow = 6;
+ int nCol = 2;
+ oObj.initialize(nRow, nCol);
+
+ log.println("Creating instance...");
+ tEnv = new TestEnvironment(oObj);
+
+ if (SOF.getTableCollection(xTextDoc).getCount() == 0) {
+ try {
+ SOF.insertTextContent(xTextDoc, oObj);
+ } catch (com.sun.star.uno.Exception uE) {
+ uE.printStackTrace(log);
+ throw new StatusException("Couldn't create TextTable : " +
+ uE.getMessage(), uE);
+ }
+ }
+
+ XPropertySet props = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ try {
+ props.setPropertyValue("ChartRowAsLabel", new Boolean(true));
+ props.setPropertyValue("ChartColumnAsLabel", new Boolean(true));
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+
+
+ //Adding relation for util.XTextTable
+ tEnv.addObjRelation("NROW", new Integer(nRow));
+ tEnv.addObjRelation("NCOL", new Integer(nCol));
+
+ //Adding ObjRelation for XCellRangeData
+ Object[][] newData = new Object[6][];
+ Object[] line = new Object[2];
+ line[0] = new Double(1.5);
+ line[1] = new Double(2.5);
+ newData[0] = line;
+ newData[1] = line;
+ newData[2] = line;
+ newData[3] = line;
+ newData[4] = line;
+ newData[5] = line;
+ tEnv.addObjRelation("NewData", newData);
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XTextTable oTable = oObj;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ oTable.getCellByName("A1").setValue(4);
+
+ XTextRange textRange = (XTextRange) UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A2"));
+ textRange.setString("b");
+ oTable.getCellByName("A3").setValue(3);
+ textRange = (XTextRange) UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A4"));
+ textRange.setString("a");
+ oTable.getCellByName("A5").setValue(23);
+ textRange = (XTextRange) UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A6"));
+ textRange.setString("ab");
+
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[6];
+
+ for (int i = 0; i < 6; i++) {
+ XCell cell = oTable.getCellByName("A" + (i + 1));
+ XTextRange textRange = (XTextRange) UnoRuntime.queryInterface(
+ XTextRange.class, cell);
+ value[i] = textRange.getString();
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23" };
+ String[] vals = { value[3], value[4], value[5] };
+ res = ValueComparer.equalValue(vals, rightVal);
+
+ if (!res) {
+ out.println("Expected: 3, 4, 23");
+ out.println("Getting: " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ } else {
+ String[] rightVal = { "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2] };
+ res = ValueComparer.equalValue(vals, rightVal);
+
+ if (!res) {
+ out.println("Expected: 23, 4, 3");
+ out.println("Getting: " + value[1] + ", " +
+ value[2] + ", " + value[3]);
+ }
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "23", "3", "4", "a", "ab", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+
+ if (!res) {
+ out.println("Expected: 23, 3, 4, a, ab, b");
+ out.println("Getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] +
+ ", " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ } else {
+ String[] rightVal = { "b", "ab", "a", "4", "3", "23" };
+ res = ValueComparer.equalValue(value, rightVal);
+
+ if (!res) {
+ out.println("Expected: b, ab, a, 4, 3, 23");
+ out.println("Getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] +
+ ", " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted uncorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ tEnv.addObjRelation("CONTENT",
+ (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ }
+} // finish class SwXTextTable
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java
new file mode 100644
index 000000000000..765dd4d6cea3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XTextTableCursor
+ *
+ */
+public class SwXTextTableCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ // create testobject here
+
+ XTextTable oTable = null;
+ try {
+ oTable = SOF.createTextTable( xTextDoc );
+ SOF.insertTextContent(xTextDoc, oTable );
+ }
+ catch( com.sun.star.uno.Exception uE ) {
+ uE.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable : "
+ + uE.getMessage(), uE);
+ }
+
+ oObj = oTable.createCursorByCellName("A1");
+
+ log.println( "creating a new environment for TextTableCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ tEnv.addObjRelation("STYLENAME1", "Table");
+ tEnv.addObjRelation("STYLENAME2", "Text");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTableCursor
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java b/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java
new file mode 100644
index 000000000000..11df9282c49f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XTableRows;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class SwXTextTableRow extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)Param.getMSF() );
+
+ try {
+ log.println("creating a texttable");
+ oTable = (XTextTable) SOF.createTextTable(xTextDoc,5,5);
+ } catch( Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ XText oText = xTextDoc.getText();
+
+ XTextCursor oCursor = oText.createTextCursor();
+
+ try {
+ log.println("inserting texttable");
+ oText.insertTextContent(oCursor, oTable, false);
+ } catch (Exception e) {
+ log.println("Exception!");
+ }
+
+ try {
+ log.println("getting table row");
+ XTableRows oTRn = oTable.getRows();
+ XIndexAccess oIA = (XIndexAccess) UnoRuntime.queryInterface
+ (XIndexAccess.class,oTRn);
+ oObj = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class),oIA.getByIndex(1));
+ } catch( Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for TextTableRow object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTableRow
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTables.java b/qadevOOo/tests/java/mod/_sw/SwXTextTables.java
new file mode 100644
index 000000000000..daa8768d83c5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTables.java
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.text.XTextTablesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XNameAccess
+ *
+ */
+public class SwXTextTables extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ int nRow = 4;
+ int nCol = 5;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ // create testobject here
+ TestEnvironment tEnv = null;
+ XTextTable oTable = null;
+ try {
+ oTable = SOF.createTextTable( xTextDoc );
+ SOF.insertTextContent(xTextDoc, oTable );
+ }
+ catch( Exception uE ) {
+ uE.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable : "
+ + uE.getMessage(), uE);
+ }
+
+ // Number two
+ XTextTable oTable2 = null;
+ try {
+ oTable2 = SOF.createTextTable( xTextDoc );
+ SOF.insertTextContent(xTextDoc, oTable2 );
+ }
+ catch( Exception uE ) {
+ uE.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable two: "
+ + uE.getMessage(), uE);
+ }
+
+ XMultiServiceFactory msf = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XTextTablesSupplier oTTSupp = (XTextTablesSupplier)
+ UnoRuntime.queryInterface(XTextTablesSupplier.class, msf);
+ oObj = oTTSupp.getTextTables();
+
+ if ( oTable != null ) {
+ log.println("Creating instance...");
+ tEnv = new TestEnvironment(oObj);
+ }
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation( "TEXTDOC", xTextDoc );
+ tEnv.addObjRelation( "ROW", new Integer( nRow ) );
+ tEnv.addObjRelation( "COL", new Integer( nCol ) );
+ try {
+ tEnv.addObjRelation( "INST", SOF.createTextTable( xTextDoc ));
+ }
+ catch( Exception uE ) {
+ uE.printStackTrace( log );
+ throw new StatusException("Couldn't create TextTable : "
+ + uE.getMessage(), uE);
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTables
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextView.java b/qadevOOo/tests/java/mod/_sw/SwXTextView.java
new file mode 100644
index 000000000000..891a953cb72e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextView.java
@@ -0,0 +1,297 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.WrappedTargetException;
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.form.XForm;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+import com.sun.star.view.XSelectionSupplier;
+import util.FormTools;
+import util.WriterTools;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XTextViewCursorSupplier
+ * @see com.sun.star.view.XControlAccess
+ * @see com.sun.star.view.XSelectionSupplier
+ * @see com.sun.star.view.XViewSettingsSupplier
+ *
+ */
+public class SwXTextView extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ boolean debug = false;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ debug = tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE);
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )throws StatusException {
+
+
+ // creation of testobject here
+ log.println( "creating a test environment" );
+
+ XController xContr = xTextDoc.getCurrentController();
+
+ TestEnvironment tEnv = new TestEnvironment(xContr);
+
+ util.dbg.getSuppServices(xContr);
+
+ SOfficeFactory SOF=SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ XTextFrame first =null;
+ XTextFrame second =null;
+
+ Object oFrame1 = null;
+ Object oFrame2 = null;
+ try {
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ oFrame1 = SOF.createInstance
+ (xTextDoc, "com.sun.star.text.TextFrame" );
+ first = (XTextFrame)UnoRuntime.queryInterface
+ ( XTextFrame.class, oFrame1);
+ oText.insertTextContent(oCursor,first, false);
+ first.getText().setString("Frame 1");
+ oFrame2 = SOF.createInstance(xTextDoc, "com.sun.star.text.TextFrame" );
+ second = (XTextFrame)UnoRuntime.queryInterface
+ ( XTextFrame.class, oFrame2);
+ oText.insertTextContent(oCursor,second, false);
+ second.getText().setString("Frame 2");
+ oText.insertString( oCursor,
+ "SwXTextRanges...SwXTextRanges...SwXTextRanges", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oText.insertString( oCursor,
+ "bla...bla...", false);
+ } catch (Exception Ex ) {
+ Ex.printStackTrace(log);
+ throw new StatusException("Couldn't insert text table ", Ex);
+ }
+
+ XSearchable oSearch = (XSearchable)UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextRanges");
+ XIndexAccess textRanges1 = oSearch.findAll(xSDesc);
+
+ xSDesc.setSearchString("bla");
+ XIndexAccess textRanges2 = oSearch.findAll(xSDesc);
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oFrame1, oFrame2, textRanges1, textRanges2});
+ tEnv.addObjRelation("Comparer", new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XServiceInfo serv1 = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, o1);
+ XServiceInfo serv2 = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, o2);
+
+ String implName1 = serv1.getImplementationName();
+ String implName2 = serv2.getImplementationName();
+ if (!implName1.equals(implName2)) {
+ return -1;
+ }
+
+ XIndexAccess indAc1 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, o2);
+
+ if (indAc1 != null && indAc2 != null) {
+ int c1 = indAc1.getCount();
+ int c2 = indAc2.getCount();
+ return c1 == c2 ? 0 : 1;
+ }
+
+ XText text1 = (XText)
+ UnoRuntime.queryInterface(XText.class, o1);
+ XText text2 = (XText)
+ UnoRuntime.queryInterface(XText.class, o2);
+
+ if (text1 != null && text2 != null) {
+ return text1.getString().equals(text2.getString()) ? 0 : 1;
+ }
+
+ return -1;
+ }
+ public boolean equals(Object obj) {
+ return compare(this, obj) == 0;
+ } });
+
+ XSelectionSupplier xsel = (XSelectionSupplier)
+ UnoRuntime.queryInterface(XSelectionSupplier.class,xContr);
+ try {
+ xsel.select(second);
+ } catch (Exception e) {
+ log.println("Couldn't select");
+ throw new StatusException( "Couldn't select", e );
+ }
+
+ tEnv.addObjRelation("DOCUMENT",xTextDoc);
+ XForm myForm = null;
+ String kindOfControl="CommandButton";
+ XShape aShape = null;
+ try{
+ log.println("adding contol shape '" + kindOfControl + "'");
+ aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ kindOfControl);
+ } catch (Exception e){
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create following control shape : '" +
+ kindOfControl + "': ", e);
+
+ }
+
+
+ log.println("adding relation for com.sun.star.view.XFormLayerAccess: XForm");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ try {
+
+ XDrawPage xDP = WriterTools.getDrawPage(xTextDoc);
+ if (xDP == null)
+ log.println("ERROR: could not get DrawPage");
+
+ XNameContainer xForms = FormTools.getForms(xDP);
+ if (xForms == null)
+ log.println("ERROR: could not get Forms");
+
+ log.println("the draw page contains folowing elemtens:");
+ String[] elements = FormTools.getForms(WriterTools.getDrawPage(xTextDoc)).getElementNames();
+ for (int i = 0; i< elements.length; i++){
+ log.println("Element[" + i + "] :" + elements[i]);
+ }
+
+ myForm = (XForm) AnyConverter.toObject(new Type(XForm.class), xForms.getByName("Standard"));
+ if (myForm == null){
+ log.println("ERROR: could not get 'Standard' from drawpage!");
+ if (debug){
+ log.println("the draw page contains folowing elemtens:");
+// String[] elements = FormTools.getForms(WriterTools.getDrawPage(xTextDoc)).getElementNames();
+// for (int i = 0; i< elements.length; i++){
+// log.println("Element[" + i + "] :" + elements[i]);
+// }
+ }
+ }
+ else
+ tEnv.addObjRelation("XFormLayerAccess.XForm", myForm);
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ }
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+} // finish class SwXTextView
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java
new file mode 100644
index 000000000000..a95e06573ea0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextViewCursorSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XPageCursor
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.util.XSortable
+ * @see com.sun.star.view.XScreenCursor
+ *
+ */
+public class SwXTextViewCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ oObj = xTextDoc.getCurrentController();
+
+ XTextViewCursorSupplier oTVCSupp = (XTextViewCursorSupplier)
+ UnoRuntime.queryInterface(XTextViewCursorSupplier.class, oObj);
+
+ oObj = oTVCSupp.getViewCursor();
+
+ log.println( "creating a new environment for TextViewCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+ tEnv.addObjRelation("XTEXT", xTextDoc.getText());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTextViewCursor
diff --git a/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java b/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java
new file mode 100644
index 000000000000..85cb5c3e642a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.ViewSettings
+ *
+ */
+public class SwXViewSettings extends TestCase {
+ XTextDocument xTextDoc;
+
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ oObj = xTextDoc.getCurrentController();
+ XViewSettingsSupplier oVSSupp = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class, oObj);
+
+ oObj = oVSSupp.getViewSettings();
+
+ log.println( "creating a new environment for ViewSettings object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXViewSettings
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java b/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java
new file mode 100644
index 000000000000..898f3a441e98
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XTextDocument xTextDoc;
+ ContentFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. A string inserted into document. This made
+ * for checking if this string is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ final String CONTENT = "XMLContentExporter";
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new ContentFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLContentExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ // text added to the document
+ XSimpleText aText = xTextDoc.getText();
+ XTextCursor curs = (XTextCursor) aText.createTextCursor();
+ aText.insertString(curs, CONTENT, false);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-content") ;
+ Filter.addTagEnclosed("office:body", "office:document-content") ;
+ Filter.addTagEnclosed("office:script", "office:document-content") ;
+ Filter.addTagEnclosed("office:body", "office:document-content") ;
+ Filter.addCharactersEnclosed(CONTENT, "text:p") ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class ContentFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public ContentFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java b/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java
new file mode 100644
index 000000000000..565ecce877fe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLContentImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only content tags including test text.
+ * After import text getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impText = "XMLContentImporter test." ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLContentImporter") ;
+ //XImporter imp = (XImporter) UnoRuntime.queryInterface
+ // (XImporter.class, oInt) ;
+ //imp.setTargetDocument(xTextDoc) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-content",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"
+ },
+ {"start", "office:body"},
+ {"start", "text:p"},
+ {"chars", impText},
+ {"end", "text:p"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final XTextDocument textDoc = (XTextDocument) UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc) ;
+ final PrintWriter fLog = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String docText = textDoc.getText().getString() ;
+ fLog.println("Document text returned = '" + docText + "'") ;
+ return impText.equals(docText) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLExporter.java b/qadevOOo/tests/java/mod/_sw/XMLExporter.java
new file mode 100644
index 000000000000..b24c71bb66bd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLExporter.java
@@ -0,0 +1,199 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XTextDocument xTextDoc;
+ FilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. A string inserted into document. This made
+ * for checking if this string is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ final String TEST_STR = "XMLExporter";
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),Filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLExporter", new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ XSimpleText aText = xTextDoc.getText();
+ XTextCursor curs = (XTextCursor) aText.createTextCursor();
+ aText.insertString(curs, TEST_STR, false);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document") ;
+ Filter.addTagEnclosed("office:meta", "office:document") ;
+ Filter.addTagEnclosed("office:settings", "office:document") ;
+ Filter.addTagEnclosed("office:script", "office:document") ;
+ Filter.addTagEnclosed("office:styles", "office:document") ;
+ Filter.addTagEnclosed("office:body", "office:document") ;
+ Filter.addCharactersEnclosed(TEST_STR, "text:p") ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return checkTags() ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLImporter.java b/qadevOOo/tests/java/mod/_sw/XMLImporter.java
new file mode 100644
index 000000000000..7fee85b07844
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLImporter.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported tags contain tag including tag with test text.
+ * After import text getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLImporter");
+ XImporter xIm = (XImporter) UnoRuntime.queryInterface
+ (XImporter.class,oObj);
+ xIm.setTargetDocument(xTextDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final String impText = "XMLImporter test." ;
+ String[][] xml = new String[][] {
+ {"start", "office:document" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "office:class", "CDATA", "text",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"},
+ {"start", "office:body" },
+ {"start", "text:p" },
+ {"chars", impText},
+ {"end", "text:p"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ tEnv.addObjRelation("TargetDocument",xTextDoc);
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ final XTextDocument textDoc = (XTextDocument) UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc) ;
+ final PrintWriter fLog = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String docText = textDoc.getText().getString() ;
+ fLog.println("Document text returned = '" + docText + "'") ;
+ return impText.equals(docText) ;
+ }
+ }) ;
+
+ return tEnv;
+
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java
new file mode 100644
index 000000000000..37f9594841d1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+ MetaFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. The 'Title' metadata property is set to a value. This made
+ * for checking if this property is successfully exported within
+ * the document metadata.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws StatusException {
+ final String TITLE = "Title for testing of XMLMetaExporter";
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new MetaFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLMetaExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ //set some meta data
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface
+ (XDocumentInfoSupplier.class, xTextDoc) ;
+ XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo()) ;
+ docInfo.setPropertyValue("Title", TITLE);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-meta");
+ Filter.addTagEnclosed("office:meta", "office:document-meta");
+ Filter.addCharactersEnclosed(TITLE, "dc:title");
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument", xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class MetaFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public MetaFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java
new file mode 100644
index 000000000000..aeab9166d41d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java
@@ -0,0 +1,189 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLMetaImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including
+ * title tag with test name.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impTitle = "XMLMetaImporter test." ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLMetaImporter") ;
+ //XImporter imp = (XImporter) UnoRuntime.queryInterface
+ // (XImporter.class, oInt) ;
+ //imp.setTargetDocument(xTextDoc) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"},
+ {"start", "office:meta"} ,
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier) UnoRuntime.queryInterface
+ (XDocumentInfoSupplier.class, xTextDoc) ;
+ final XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo()) ;
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String) docInfo.getPropertyValue("Title") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java
new file mode 100644
index 000000000000..aa99852595df
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java
@@ -0,0 +1,209 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+ SettingsFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. New document zoom is set as one of the 'View' settings. This made
+ * for checking if this setting is successfully exported within
+ * the document settings.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ final short ZOOM = 50;
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new SettingsFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ //set some settings
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ xPropSet.setPropertyValue("ZoomValue", new Short(ZOOM));
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // adding tags which must be contained in XML output
+ Filter.addTag( new XMLTools.Tag("office:document-settings") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document-settings") );
+ Filter.addCharactersEnclosed(
+ String.valueOf(ZOOM),
+ new XMLTools.Tag("config:config-item",
+ "config:name", "ZoomFactor") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class SettingsFilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public SettingsFilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java
new file mode 100644
index 000000000000..4e9b47aaffd8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLSettingsImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only settings tags including
+ * title tag with test zoom factor.
+ * After import zoom factor getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final short impZoom = 50 ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLSettingsImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ },
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "view-settings"
+ },
+ {"start", "config:config-item-map-indexed",
+ "config:name", "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomFactor",
+ "config:type", "CDATA", "short"
+ },
+ {"chars", String.valueOf(impZoom)},
+ {"end", "config:config-item"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomType",
+ "config:type", "CDATA", "short"
+ },
+ {"chars", "0"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = (XViewSettingsSupplier)
+ UnoRuntime.queryInterface(XViewSettingsSupplier.class, xController);
+ final XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Short gValue = (Short)
+ xPropSet.getPropertyValue("ZoomValue");
+ logF.println("ZoomValue property value = " + gValue) ;
+ return impZoom == gValue.shortValue() ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception while checking import :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java
new file mode 100644
index 000000000000..9b30cffb1b3b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java
@@ -0,0 +1,203 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. Footnote property 'Prefix' is set to a new value. This made
+ * for checking if this property value is successfully exported within
+ * the document styles.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLStylesExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter) UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // Cheching Head Tag existance and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-styles"));
+ filter.addTag(new XMLTools.Tag ("text:footnotes-configuration",
+ "style:num-prefix","New Property")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Obtain Footnotes properties
+ XFootnotesSupplier supp = (XFootnotesSupplier) UnoRuntime.queryInterface
+ (XFootnotesSupplier.class, xTextDoc);
+ XPropertySet set = supp.getFootnoteSettings();
+
+ // Change property "Prefix"
+ try {
+ set.setPropertyValue("Prefix","New Property");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't change property value", e );
+ }
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java
new file mode 100644
index 000000000000..f59fad454154
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * 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 mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLStylesImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only style tags including
+ * title tag with test prefix.
+ * After import prefixes getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impPrefix = "Prefix" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLStylesImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"
+ },
+ {"start", "office:styles"},
+ {"start", "text:footnotes-configuration",
+ "style:num-prefix", "CDATA", impPrefix},
+ {"end", "text:footnotes-configuration"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XFootnotesSupplier supp = (XFootnotesSupplier) UnoRuntime.queryInterface
+ (XFootnotesSupplier.class, xTextDoc);
+ final XPropertySet set = supp.getFootnoteSettings();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String prefix = (String) set.getPropertyValue("Prefix");
+ logF.println("Prefix returned = '" + prefix + "'") ;
+ return impPrefix.equals(prefix) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/package.html b/qadevOOo/tests/java/mod/_sw/package.html
new file mode 100644
index 000000000000..e8be03da8143
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'sw'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java b/qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java
new file mode 100644
index 000000000000..9f3e35e9bac8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._sysdtrans;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.XInterface;
+
+public class SystemClipboard extends TestCase {
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.datatransfer.clipboard.SystemClipboard");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ } catch (Exception e) {
+ log.println("Unexpected exception : " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sysdtrans/package.html b/qadevOOo/tests/java/mod/_sysdtrans/package.html
new file mode 100644
index 000000000000..2ab5aeaca58a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sysdtrans/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'sysdtrans'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java b/qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java
new file mode 100644
index 000000000000..dad98c0d7e24
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 mod._syssh;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.XInterface;
+
+public class SystemShellExecute extends TestCase {
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.system.SystemShellExecute");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ } catch (Exception e) {
+ log.println("Unexpected exception : " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_tcv/TypeConverter.java b/qadevOOo/tests/java/mod/_tcv/TypeConverter.java
new file mode 100644
index 000000000000..084834ff4d1c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tcv/TypeConverter.java
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 mod._tcv;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class TypeConverter extends TestCase {
+
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.script.Converter" );
+ }
+ catch( Exception e ) {
+ log.println("Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeConverter
+
diff --git a/qadevOOo/tests/java/mod/_tcv/package.html b/qadevOOo/tests/java/mod/_tcv/package.html
new file mode 100644
index 000000000000..7db1f329e77c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tcv/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'tcv'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java b/qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java
new file mode 100644
index 000000000000..3c3845b40462
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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 mod._tdmgr;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+public class TypeDescriptionManager extends TestCase {
+
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = (XComponentContext)
+ UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager from context
+ oInterface = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relation for XHierarchicalNameAccess ifc
+ // Name of the existing object
+ tEnv.addObjRelation("ElementName", "com.sun.star.container.XNameAccess") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeDescriptionManager
+
diff --git a/qadevOOo/tests/java/mod/_tdmgr/package.html b/qadevOOo/tests/java/mod/_tdmgr/package.html
new file mode 100644
index 000000000000..4bd4217bedba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tdmgr/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'tdmgr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java b/qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java
new file mode 100644
index 000000000000..ecea0b852e7a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 mod._text;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.DefaultNumberingProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XDefaultNumberingProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see ifc.text._DefaultNumberingProvider
+* @see ifc.text._XDefaultNumberingProvider
+*/
+public class DefaultNumberingProvider extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DefaultNumberingProvider</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.text.DefaultNumberingProvider" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java
new file mode 100644
index 000000000000..1e9c0cbb69b0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java
@@ -0,0 +1,246 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleButton extends lib.TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Printer Settings' dialog using document dispatch provider
+ * running in a separate thread. Finds active top window (the dialog
+ * window) and finds accessible button 'OK' walking through the
+ * accessible component tree.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XMultiServiceFactory msf = (XMultiServiceFactory) Param.getMSF();
+
+ try {
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ DiagThread psDiag = new DiagThread(xTextDoc, msf);
+ psDiag.start();
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Cancel");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp.grabFocus();
+ }
+ });
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'OK' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Opens new writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+
+ /**
+ * Thread for opening modal dialog 'Print Settings'.
+ */
+ public class DiagThread extends Thread {
+ public XTextDocument xTextDoc = null;
+ public XMultiServiceFactory msf = null;
+
+ public DiagThread(XTextDocument xTextDoc, XMultiServiceFactory msf) {
+ this.xTextDoc = xTextDoc;
+ this.msf = msf;
+ }
+
+ public void run() {
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ //Opening PrinterSetupDialog
+ try {
+ String aSlotID = ".uno:Zoom";
+ XDispatchProvider xDispProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ msf.createInstance(
+ "com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter
+ // we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't open dialog");
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java
new file mode 100644
index 000000000000..2ae69a72c246
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible compoent of
+ * check box in 'InsertTable' dialog. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleCheckBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+ private static DiagThread psDiag = null;
+
+ /**
+ * Opens 'Insert Table' dialog using document dispatch provider
+ * running in a separate thread. Finds active top window (the dialog
+ * window) and finds first accessible check box walking through the
+ * accessible component tree.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XMultiServiceFactory msf = (XMultiServiceFactory) Param.getMSF();
+ log.println("Creating text document");
+
+ if (xTextDoc == null) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ XInterface oObj = null;
+
+ log.println("getting toolkit");
+
+ try {
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ log.println("Opening Dialog in second thread");
+
+ psDiag = new DiagThread(xTextDoc, msf);
+ psDiag.start();
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ log.println("Getting the active TopWindow");
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Cancel");
+
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.CHECK_BOX);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp.grabFocus();
+ }
+ });
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'Cancel' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ log.println("closing dialog");
+ action.doAccessibleAction(0);
+ log.println("interrupting corresponding Thread");
+ psDiag.interrupt();
+ log.println("closing the document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ log.println("reinitialize the variable");
+ xTextDoc = null;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+ }
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ }
+
+ /**
+ * Thread for opening modal dialog 'Insert Table'.
+ */
+ public class DiagThread extends Thread {
+ public XTextDocument xTextDoc = null;
+ public XMultiServiceFactory msf = null;
+
+ public DiagThread(XTextDocument xTextDoc, XMultiServiceFactory msf) {
+ this.xTextDoc = xTextDoc;
+ this.msf = msf;
+ }
+
+ public void run() {
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ //Opening PrinterSetupDialog
+ try {
+ String aSlotID = ".uno:InsertTable";
+ XDispatchProvider xDispProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ msf.createInstance(
+ "com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't open dialog");
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java
new file mode 100644
index 000000000000..97879627d25d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java
@@ -0,0 +1,246 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of the 'Font' combo box in Format->Character... dislog box. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleComboBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens CharacterStyle dialog and
+ * finds AccessibleComboBox walking through the
+ * accessible component tree.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ DiagThread psDiag = new DiagThread(xTextDoc,
+ (XMultiServiceFactory) Param.getMSF());
+ psDiag.start();
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Cancel");
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PAGE_TAB_LIST);
+
+ XAccessibleSelection xAccSel = (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+
+ try {
+ xAccSel.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+ util.utils.shortWait(Param.getInt("ShortWait"));
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL, "",
+ "AccessibleComboBox");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ final XAccessibleComponent acomp1 = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ action);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acomp1.grabFocus();
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'Cancel' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" closing dialog ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Creates writer doc
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+
+ /**
+ * Thread for opening modal dialog 'Character style'.
+ */
+ public class DiagThread extends Thread {
+ public XTextDocument xTextDoc = null;
+ public XMultiServiceFactory msf = null;
+
+ public DiagThread(XTextDocument xTextDoc, XMultiServiceFactory msf) {
+ this.xTextDoc = xTextDoc;
+ this.msf = msf;
+ }
+
+ public void run() {
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ //Opening PrinterSetupDialog
+ try {
+ String aSlotID = ".uno:FontDialog";
+ XDispatchProvider xDispProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ xController);
+ XURLTransformer xParser = (com.sun.star.util.XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ msf.createInstance(
+ "com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't open dialog");
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java
new file mode 100644
index 000000000000..fee8473550e9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of the URL locator combo box located in the left upper corner
+ * of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleDropDownComboBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+
+ /**
+ * Finds AccessibleDropDownComboBox walking through the
+ * accessible component tree of a writer document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentContainerWindow(
+ (XMultiServiceFactory) Param.getMSF(),
+ xTextDoc);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.COMBO_BOX,
+ "", "AccessibleDropDownComboBox");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction editAction = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ editAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Disposes writer document.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java
new file mode 100644
index 000000000000..a42922a2f8f1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by style list box
+ * on toolbar of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleDropDownListBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Finds AccessibleDropDownListBox walking through the
+ * accessible component tree of a writer document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow(
+ (XMultiServiceFactory) Param.getMSF(),
+ xTextDoc);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.COMBO_BOX,
+ "", "AccessibleDropDownListBox");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction acomp = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ acomp.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException("Can't perform action 0", e);
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ DesktopTools.dockStylist((XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Disposes writer document.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java
new file mode 100644
index 000000000000..e26481176e1e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java
@@ -0,0 +1,235 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by edit field
+ * of 'Insert Hyperlink' dialog. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEditableText</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEditableText
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEditableText
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleEdit extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds first accessible edit field and
+ * button 'Close' (for closing this dialog when disposing)
+ * walking through the accessible component tree.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleEditableText edText = (XAccessibleEditableText) UnoRuntime.queryInterface(
+ XAccessibleEditableText.class,
+ oObj);
+ edText.setText("AccessibleEdit");
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ // buttonAccComp.grabFocus();
+ // acomp.grabFocus();
+ edText.setText("firing event ...");
+ edText.setText("firing event ... 2");
+ edText.setText("AccessibleEdit");
+ }
+ });
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("XAccessibleEditableText.hasAttr", Boolean.FALSE);
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Creates writer document
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java
new file mode 100644
index 000000000000..3bc7e81885c3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java
@@ -0,0 +1,209 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XFixedText;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accesible component
+ * of the fixed text label in 'Hyperlink' Dialog. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleFixedText extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+ private static XWindow xWinDlg = null;
+
+ /**
+ * Creates a new dialog adds fixed text control to it and
+ * displays it. Then the text's accessible component is
+ * obtained.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) Param.getMSF();
+ XControlModel dlgModel = null;
+
+ XControl txtControl = null;
+ XControlModel txtModel = null;
+
+ try {
+ dlgModel = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialogModel"));
+
+ XControl dlgControl = (XControl) UnoRuntime.queryInterface(
+ XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialog"));
+
+ dlgControl.setModel(dlgModel);
+
+ txtModel = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel"));
+
+ txtControl = (XControl) UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlFixedText"));
+
+ txtControl.setModel(txtModel);
+
+ XFixedText xFT = (XFixedText) UnoRuntime.queryInterface(
+ XFixedText.class, txtControl);
+ xFT.setText("FxedText");
+
+ XControlContainer ctrlCont = (XControlContainer) UnoRuntime.queryInterface(
+ XControlContainer.class,
+ dlgControl);
+
+ ctrlCont.addControl("Text", txtControl);
+
+ xWinDlg = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ dlgControl);
+
+ xWinDlg.setVisible(true);
+
+ xWinDlg.setPosSize(0, 0, 200, 100, PosSize.SIZE);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error creating dialog :");
+ e.printStackTrace(log);
+ }
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XAccessible xRoot = at.getAccessibleObject(xWinDlg);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.LABEL);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow xWin = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ txtControl);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xWin.setEnable(false);
+ xWin.setEnable(true);
+ }
+ });
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+ xWinDlg.dispose();
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleList.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleList.java
new file mode 100644
index 000000000000..6fe2129995cc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleList.java
@@ -0,0 +1,237 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+public class AccessibleList extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+ private static XMultiServiceFactory msf = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds button 'Close' (for closing this dialog when
+ * disposing) walking through the accessible component tree.
+ * Then the TREE component is found and the 'New Document' tab is
+ * selected to make list box visible. After that list box is obtained.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) msf.createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ // obtaining 'Close' button
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ // Selecting 'New Document' tab
+ try {
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleSelection xAccSel = (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+ xAccSel.selectAccessibleChild(3);
+ shortWait();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException("Can't switch to required tab", e);
+ }
+
+ log.println("# Getting the ListBox");
+
+ XAccessibleContext parent = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PANEL,
+ "",
+ "com.sun.star.comp.toolkit.AccessibleListBox");
+
+ log.println("# Getting the first child");
+
+ try {
+ oObj = parent.getAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ final XAccessibleComponent acomp1 = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ action);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp1.grabFocus();
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Creates writer document
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ msf = (XMultiServiceFactory) Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java
new file mode 100644
index 000000000000..7b65e74152b1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java
@@ -0,0 +1,250 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component
+ * of 'File type' list box situated in 'Insert Hyperlink'
+ * dialog on tab 'New Document'. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleListBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds button 'Close' (for closing this dialog when
+ * disposing) walking through the accessible component tree.
+ * Then the TREE component is found and the 'New Document' tab is
+ * selected to make list box visible. After that list box is obtained.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+
+ // obtaining 'Close' button
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ // Selecting 'New Document' tab
+ try {
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleSelection xAccSel = (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+ xAccSel.selectAccessibleChild(3);
+ shortWait();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException("Can't switch to required tab", e);
+ }
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL, "",
+ "com.sun.star.comp.toolkit.AccessibleListBox");
+
+ Object list = at.getAccessibleObjectForRole(at.SearchedAccessible,
+ AccessibleRole.LIST);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ list);
+ final XAccessibleComponent acomp1 = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ action);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp1.grabFocus();
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Creates writer document
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java
new file mode 100644
index 000000000000..ecbf43679ef8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java
@@ -0,0 +1,241 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component
+ * of 'File type' list box item situated in 'Insert Hyperlink'
+ * dialog on tab 'New Document'. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleListItem extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds button 'Close' (for closing this dialog when
+ * disposing) walking through the accessible component tree.
+ * Then the TREE component is found and the 'New Document' tab is
+ * selected to make list box visible. After that listbox item is obtained.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XMultiServiceFactory msf = (XMultiServiceFactory) Param.getMSF();
+
+ try {
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) msf.createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ // obtaining 'Close' button
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ // Selecting 'New Document' tab
+ try {
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleSelection xAccSel = (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+ xAccSel.selectAccessibleChild(3);
+ shortWait();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException("Can't switch to required tab", e);
+ }
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.LIST_ITEM,"Spr");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Creates writer document
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java
new file mode 100644
index 000000000000..4eaec80dcd81
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component of
+ * main menu of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleText
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleMenu extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Finds accessible component with role <code>MENU</code>
+ * walking through the accessible component tree of a document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XMultiServiceFactory msf = (XMultiServiceFactory) Param.getMSF();
+
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+
+ shortWait();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext menubar = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.MENU_BAR);
+ XInterface oObj = null;
+ Object menu2 = null;
+
+ try {
+ oObj = menubar.getAccessibleChild(2);
+ menu2 = menubar.getAccessibleChild(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction act1 = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+ final XAccessibleAction act2 = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, menu2);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ act2.doAccessibleAction(0);
+
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ }
+
+ act1.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly", "Can't change or select Text in Menu");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ new Boolean(false));
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ return tEnv;
+ }
+
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Object already disposed");
+ }
+ }
+
+ /**
+ * Creates a new writer document
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java
new file mode 100644
index 000000000000..2441bdaa7075
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component of
+ * menu bar of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleMenuBar extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Finds accessible component with role <code>MENUBAR</code>
+ * walking through the accessible component tree of a document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XInterface oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.MENU_BAR);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp.grabFocus();
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ new Boolean(false));
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Disposes document.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java
new file mode 100644
index 000000000000..a41abe45e520
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java
@@ -0,0 +1,203 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of a menu item in main menu of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleMenuItem extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+ private static XMultiServiceFactory msf = null;
+
+ /**
+ * Finds first accessible component with role <code>MENUITEM</code>
+ * walking through the accessible component tree of a document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext MenuBar = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.MENU_BAR);
+
+ try {
+ //activate Edit-Menu
+ XAccessible Menu = MenuBar.getAccessibleChild(1);
+ XAccessibleAction act = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, Menu);
+ act.doAccessibleAction(0);
+ shortWait();
+
+
+ //get a menue-item
+ oObj = Menu.getAccessibleContext().getAccessibleChild(11);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+
+ //oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.MENUITEM);
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ XAccessibleText text = (XAccessibleText) UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "Can't change or select Text in MenuBarItem");
+
+ tEnv.addObjRelation("Destroy", new Boolean(true));
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ msf = (XMultiServiceFactory) Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Disposes document.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java
new file mode 100644
index 000000000000..f05bcb025803
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java
@@ -0,0 +1,170 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of a menu separator in main menu of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleMenuSeparator extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+ private static XMultiServiceFactory msf = null;
+
+ /**
+ * Finds first accessible component with role <code>SEPARATOR</code>
+ * and implementation name <code>AccessibleMenuSeparator</code>
+ * walking through the accessible component tree of a document.
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ shortWait();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext MenuBar = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.MENU_BAR);
+ XAccessibleAction act = null;
+ XInterface oObj = null;
+
+ try {
+ //activate Edit-Menu
+ XAccessible Menu = MenuBar.getAccessibleChild(1);
+ act = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, Menu);
+ act.doAccessibleAction(0);
+
+ shortWait();
+
+
+ //get a menue-separator
+ oObj = Menu.getAccessibleContext().getAccessibleChild(3);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction aAct = act;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ aAct.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ try {
+ msf = (XMultiServiceFactory) Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Can't create document", e);
+ }
+ }
+
+ /**
+ * Disposes document.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ log.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java b/qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java
new file mode 100644
index 000000000000..f4b292c84b23
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java
@@ -0,0 +1,230 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+public class AccessiblePopupMenu extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+ private static Point point;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ log.println("release the popup menu");
+ try {
+ Robot rob = new Robot();
+ int x = point.X;
+ int y = point.Y;
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PUSHBUTTON</code> and with the name
+ * <code>"Bold"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}: the name of button</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ XInterface toolkit = null;
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ toolkit = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait(tParam);
+
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow(
+ (XMultiServiceFactory) tParam.getMSF(),
+ aModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ XAccessibleComponent window = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ point = window.getLocationOnScreen();
+ Rectangle rect = window.getBounds();
+
+ try {
+ Robot rob = new Robot();
+ int x = point.X + (rect.Width / 2);
+ int y = point.Y + (rect.Height / 2);
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON3_MASK);
+ rob.mouseRelease(InputEvent.BUTTON3_MASK);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ shortWait(tParam);
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ try {
+ xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getTopWindow(0));
+
+ xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Window");
+ }
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.POPUP_MENU);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ final XAccessibleSelection sel = (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ sel.selectAccessibleChild(2);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ private void shortWait(TestParameters tParam) {
+ util.utils.shortWait(tParam.getInt(util.PropertyName.SHORT_WAIT));
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java
new file mode 100644
index 000000000000..53f60643f955
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java
@@ -0,0 +1,310 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility.XAccessibleValue
+ * @see ifc.accessibility.XAccessibleText
+ */
+public class AccessibleRadioButton extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+ private static XAccessibleAction accCloseButton;
+
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Closes a Hyperlink dialog, disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ if (accCloseButton != null) {
+ log.println("closing HyperlinkDialog");
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Already disposed");
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document, opens a hypelink dialog, selects a first item
+ * in IconChoiceCtrl.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.RADIOBUTTON</code> with the name <code>
+ * "Internet"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}:
+ * the text of the component </li>
+ * <li> <code>'XAccessibleValue.anotherFromGroup'</code> for
+ * {@link ifc.accessibility._XAccessibleValue}:
+ * <code>'FTP'</code> button </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ util.utils.shortWait(2000);
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.shortWait(2000);
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ util.utils.shortWait(2000);
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XAccessibleContext iconChoiceCtrl = at.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.TREE,
+ "IconChoiceControl");
+
+ XAccessibleSelection sel = (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ iconChoiceCtrl);
+
+ try {
+ sel.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ }
+
+ at.printAccessibleTree(log,xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.RADIO_BUTTON,
+ "Web");
+
+ XAccessibleContext anotherButton = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.RADIO_BUTTON,
+ "FTP");
+
+ XAccessibleContext closeButton = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+
+ accCloseButton = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XAccessibleComponent acomp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acomp.grabFocus();
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Web");
+
+ tEnv.addObjRelation("EditOnly",
+ "Can't change or select Text in AccessibleRadioButton");
+
+ XAccessibleValue anotherButtonValue = (XAccessibleValue) UnoRuntime.queryInterface(
+ XAccessibleValue.class,
+ anotherButton);
+
+ tEnv.addObjRelation("XAccessibleValue.anotherFromGroup",
+ anotherButtonValue);
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java
new file mode 100644
index 000000000000..a52a9fef5483
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java
@@ -0,0 +1,186 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility.XAccessibleValue
+ * @see ifc.accessibility.XAccessibleAction
+ */
+public class AccessibleScrollBar extends TestCase {
+ private static XDesktop the_Desk;
+ private static XComponent xDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.SCROLLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xDoc = SOF.createDrawDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class, xDoc);
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow(
+ (XMultiServiceFactory) tParam.getMSF(),
+ aModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+
+ final XAccessibleAction act = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ act.doAccessibleAction(1);
+ } catch (Exception e) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java
new file mode 100644
index 000000000000..32dd630370a3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility.XAccessibleValue
+ * @see ifc.accessibility.XAccessibleAction
+ */
+public class AccessibleStatusBar extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.SCROLLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ ;
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ XInterface toolkit = null;
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ toolkit = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ final XWindow xWindow =
+ UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.STATUS_BAR);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle newPosSize = xWindow.getPosSize();
+ newPosSize.Width = newPosSize.Width - 20;
+ newPosSize.Height = newPosSize.Height - 20;
+ newPosSize.X = newPosSize.X + 20;
+ newPosSize.Y = newPosSize.Y + 20;
+ xWindow.setPosSize(
+ newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java
new file mode 100644
index 000000000000..446d0deb4f42
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility.XAccessibleValue
+ * @see ifc.accessibility.XAccessibleAction
+ */
+public class AccessibleStatusBarItem extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.SCROLLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ ;
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XInterface oObj = null;
+ XInterface secondItem = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentContainerWindow(
+ (XMultiServiceFactory) tParam.getMSF(),
+ aModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext statusbar = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.STATUS_BAR);
+
+ try {
+ oObj = statusbar.getAccessibleChild(6);
+ secondItem = statusbar.getAccessibleChild(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "Can't change or select Text in StatusBarItem");
+ tEnv.addObjRelation("XAccessibleText", secondItem);
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XTextDocument doc = xTextDoc;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ doc.getText().setString("AccessibleStatusBarItem");
+ }
+ });
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java
new file mode 100644
index 000000000000..488c8a39c7d1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java
@@ -0,0 +1,282 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility.XAccessibleSelection
+ */
+public class AccessibleTabControl extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+ private static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Closes an InsertFields dialog, disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ if (accCloseButton != null) {
+ log.println("closing InsertFields Dialog");
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+ }
+
+ /**
+ * Creates a text document, opens an InsertField dialog.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETABLIST</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * selects items </li>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * of type <code>Boolean</code> for
+ * {@link ifc.accessibility._XAccessibleSelection}:
+ * indicates that component supports single selection mode.</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening InsertField dialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:InsertField";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ shortWait();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PAGE_TAB_LIST);
+
+ XAccessibleContext closeButton = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+ accCloseButton = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleSelection selection = (XAccessibleSelection) (XAccessibleSelection) UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ selection.selectAccessibleChild(1);
+ selection.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ new Boolean(true));
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ new Boolean(false));
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.currentThread().sleep(500);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java
new file mode 100644
index 000000000000..318c2a96b8dd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java
@@ -0,0 +1,292 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ */
+public class AccessibleTabPage extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+ private static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Closes an InsertFields dialog, disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ if (accCloseButton != null) {
+ log.println("closing InsertFields Dialog");
+ accCloseButton.doAccessibleAction(0);
+ shortWait();
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close dialog " + e.getMessage());
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document, opens an InsertField dialog.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETAB</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ try {
+ if (accCloseButton != null) {
+ log.println("closing InsertFields Dialog");
+ accCloseButton.doAccessibleAction(0);
+ shortWait();
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close dialog " + e.getMessage());
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ shortWait();
+
+ XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ try {
+ XInterface transf = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = (XURLTransformer) UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create URLTransformer", e);
+ }
+
+ XDispatch getting = null;
+ log.println("opening InsertField dialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:InsertField";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ shortWait();
+
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ shortWait();
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ XAccessibleContext closeButton = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+ accCloseButton = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly", "toolkit.AccessibleTabPage");
+ tEnv.addObjRelation("LimitedBounds", "toolkit.AccessibleTabPage");
+
+ XAccessibleComponent accComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ final Point point = accComp.getLocationOnScreen();
+
+ shortWait();
+
+ XInterface xEventInt = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB, "Variables");
+ final XAccessibleComponent eventAccComp = (XAccessibleComponent) UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ xEventInt);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ eventAccComp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Sleeps for 0.5 sec. to allow StarOffice to react on <code>
+ * reset</code> call.
+ */
+ private void shortWait() {
+ try {
+ Thread.currentThread().sleep(1000);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java
new file mode 100644
index 000000000000..c02017508695
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ */
+public class AccessibleToolBox extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.TOOLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) tParam.getMSF();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XInterface oObj = null;
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.TOOL_BAR);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ XAccessible acc = at.getAccessibleObject(oObj);
+ XAccessible child = null;
+
+ try {
+ child = acc.getAccessibleContext().getAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ util.dbg.printInterfaces(child);
+
+ final XAccessibleAction action = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class,
+ child);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java
new file mode 100644
index 000000000000..d6ecc3ce7cc8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility.XAccessibleAction
+ * @see ifc.accessibility.XAccessibleText
+ * @see ifc.accessibility.XAccessibleValue
+ */
+public class AccessibleToolBoxItem extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PUSHBUTTON</code> and with the name
+ * <code>"Bold"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}: the name of button</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentContainerWindow(
+ (XMultiServiceFactory) tParam.getMSF(),
+ aModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = at.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.TOGGLE_BUTTON,
+ "Bold");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XAccessibleAction oAction = (XAccessibleAction) UnoRuntime.queryInterface(
+ XAccessibleAction.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ oAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Bold");
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java
new file mode 100644
index 000000000000..95f4f7ccb19d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility.XAccessibleAction
+ * @see ifc.accessibility.XAccessibleText
+ * @see ifc.accessibility.XAccessibleValue
+ */
+public class AccessibleWindow extends TestCase {
+ private static XDesktop the_Desk;
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ (XMultiServiceFactory) Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PUSHBUTTON</code> and with the name
+ * <code>"Bold"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}: the name of button</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ ;
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ XInterface toolkit = null;
+
+ try {
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ toolkit = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ XModel aModel = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XInterface oObj = null;
+
+ AccessibilityTools at = new AccessibilityTools();
+
+ XWindow xWindow = at.getCurrentWindow(
+ (XMultiServiceFactory) tParam.getMSF(),
+ aModel);
+
+ XAccessible xRoot = at.getAccessibleObject(xWindow);
+
+ at.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ XWindow xWin = (XWindow) UnoRuntime.queryInterface(
+ XWindow.class, tk.getActiveTopWindow());
+ Rectangle newPosSize = xWin.getPosSize();
+ newPosSize.Width = newPosSize.Width - 20;
+ newPosSize.Height = newPosSize.Height - 20;
+ newPosSize.X = newPosSize.X + 20;
+ newPosSize.Y = newPosSize.Y + 20;
+ xWin.setPosSize(newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java b/qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java
new file mode 100644
index 000000000000..5b4a0ed704e1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class MutableTreeDataModel extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XInterface oObj = null;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.tree.MutableTreeDataModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for MutableTreeDataModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "toolkit.MutableTreeDataModel");
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("XTreeDataModelListenerEvent", new XTreeDataModelListenerEvent());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ public class XTreeDataModelListenerEvent implements ifc.awt.tree._XTreeDataModel.XTreeDataModelListenerEvent{
+
+ public void fireEvent(){
+
+ XMutableTreeDataModel xModel = (XMutableTreeDataModel) UnoRuntime.queryInterface(XMutableTreeDataModel.class, oObj);
+ XMutableTreeNode node = xModel.createNode("EventNode", true);
+ try {
+ xModel.setRoot(node);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not preform event: " + ex.toString());
+ ex.printStackTrace();
+ }
+
+ }
+ }
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java b/qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java
new file mode 100644
index 000000000000..39c258c9ffd6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.ucb.CommandAbortedException;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.awt.tree._XMutableTreeNode.XMutableTreeNodeCreator;
+
+import java.io.PrintWriter;
+import lib.Status;
+import lib.StatusException;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.PropertyName;
+import util.utils;
+
+
+public class MutableTreeNode extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XInterface oObj = null;
+ private static XMutableTreeDataModel mXTreeDataModel;
+ private static XMultiServiceFactory mxMSF;
+ private static PrintWriter log;
+ private static boolean debug = false;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ this.log = log;
+ debug = tParam.getBool(PropertyName.DEBUG_IS_ACTIVE);
+ mxMSF = (XMultiServiceFactory) tParam.getMSF();
+// log.println("creating a textdocument");
+// xTextDoc = WriterTools.createTextDoc(mxMSF);
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XMutableTreeNode xNode;
+
+ try {
+ mXTreeDataModel = (XMutableTreeDataModel) UnoRuntime.queryInterface(XMutableTreeDataModel.class,
+ mxMSF.createInstance("com.sun.star.awt.tree.MutableTreeDataModel"));
+ } catch (com.sun.star.uno.Exception ex) {
+ throw new StatusException(Status.failed("ERROR: could not create instance of" +
+ " 'com.sun.star.awt.tree.MutableTreeDataModel'"));
+ }
+
+ xNode = mXTreeDataModel.createNode("UnoTreeControl", false);
+
+ String sDisplayValue = "UnoTreeControl";
+ String sExpandedGraphicURL = "private:graphicrepository/sd/res/triangle_down.png";
+ String sCollapsedGraphicURL = "private:graphicrepository/sd/res/triangle_right.png";
+ String sNodeGraphicURL = "private:graphicrepository/sw/imglst/nc20010.png";
+
+ xNode.setDisplayValue( sDisplayValue);
+ xNode.setDataValue(sDisplayValue);
+ xNode.setExpandedGraphicURL(sExpandedGraphicURL);
+ xNode.setCollapsedGraphicURL(sCollapsedGraphicURL);
+ xNode.setNodeGraphicURL(sNodeGraphicURL);
+ xNode.setHasChildrenOnDemand(true);
+
+ fillNode(xNode);
+
+ TestEnvironment tEnv = new TestEnvironment(xNode);
+
+ tEnv.addObjRelation("OBJNAME", "toolkit.MutableTreeDataModel");
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("XTreeNode_DisplayValue", sDisplayValue);
+ tEnv.addObjRelation("XTreeNode_ExpandedGraphicURL", sExpandedGraphicURL);
+ tEnv.addObjRelation("XTreeNode_CollapsedGraphicURL", sCollapsedGraphicURL);
+ tEnv.addObjRelation("XTreeNode_NodeGraphicURL", sNodeGraphicURL);
+
+ tEnv.addObjRelation("XMutableTreeNode_NodeToAppend",
+ mXTreeDataModel.createNode("XMutableTreeNode_NodeToAppend", true));
+
+ tEnv.addObjRelation("XMutableTreeNodeCreator", new XMutableTreeNodeCreator(){
+ public XMutableTreeNode createNode(String name){
+ return mXTreeDataModel.createNode(name, true);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ private void fillNode( XMutableTreeNode xNode ){
+
+ if( xNode.getChildCount() == 0 )
+ {
+ String sParentPath = (String) xNode.getDataValue();
+
+ String officeUserPath = utils.getOfficeUserPath(mxMSF);
+ Object fileacc = null;
+ try {
+ fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ XSimpleFileAccess sA = (XSimpleFileAccess)
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+
+
+ dirlist(officeUserPath, xNode);
+ }
+ }
+
+ private void dirlist(String dir, XMutableTreeNode xNode){
+
+ Object fileacc = null;
+ try {
+ fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ XSimpleFileAccess sfa = (XSimpleFileAccess)
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+ XMutableTreeNode xChildNode = null;
+ try {
+ xChildNode = mXTreeDataModel.createNode(dir.substring(dir.lastIndexOf("/")+1, dir.length()), sfa.isFolder(dir));
+ xChildNode.setDataValue(dir);
+ boolean test = sfa.isFolder(dir);
+ if (sfa.isFolder(dir)){
+ xChildNode.setExpandedGraphicURL( "private:graphicrepository/sd/res/triangle_down.png");
+ xChildNode.setCollapsedGraphicURL("private:graphicrepository/sd/res/triangle_right.png");
+ String[] children = sfa.getFolderContents(dir, true);
+ if (children != null){
+ for (int i=0; i<children.length; i++) {
+ // Get filename of file or directory
+ String filename = children[i];
+ dirlist( filename , xChildNode);
+ }
+ }
+ }
+ else{
+ xChildNode.setNodeGraphicURL( "private:graphicrepository/sw/imglst/nc20010.png");
+ }
+ } catch (CommandAbortedException ex) {
+ ex.printStackTrace();
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+
+ try {
+ xNode.appendChild( xChildNode );
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace();
+ }
+ }
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/TabController.java b/qadevOOo/tests/java/mod/_toolkit/TabController.java
new file mode 100644
index 000000000000..c7bd67265305
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/TabController.java
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XTabControllerModel;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.form.XForm;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class TabController extends TestCase {
+ private static XTextDocument xTextDoc = null;
+
+ protected void initialize(TestParameters param, PrintWriter log) {
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) param.getMSF());
+ } catch (Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XControl xCtrl1 = null;
+ XTabControllerModel tabCtrlModel = null;
+ XControlContainer aCtrlContainer = null;
+
+
+ // create object relations
+ FormTools.insertForm(xTextDoc,
+ FormTools.getForms(WriterTools.getDrawPage(
+ xTextDoc)), "MyForm");
+
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CommandButton",
+ "UnoControlButton");
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel model = aShape.getControl();
+ XControlAccess access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ try {
+ xCtrl1 = access.getControl(model);
+ } catch (Exception e) {
+ }
+
+ XForm form = null;
+
+ try {
+ form = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ (FormTools.getForms(
+ WriterTools.getDrawPage(
+ xTextDoc)))
+ .getByName("MyForm"));
+ } catch (Exception e) {
+ log.println("Couldn't get Form");
+ e.printStackTrace(log);
+ }
+
+ tabCtrlModel = (XTabControllerModel) UnoRuntime.queryInterface(
+ XTabControllerModel.class, form);
+
+ aCtrlContainer = (XControlContainer) UnoRuntime.queryInterface(
+ XControlContainer.class, xCtrl1.getContext());
+
+ // create object
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) param.getMSF()).createInstance(
+ "com.sun.star.awt.TabController");
+ } catch (Exception e) {
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ String objName = "TabController";
+ tEnv.addObjRelation("OBJNAME", "toolkit." + objName);
+ tEnv.addObjRelation("MODEL", tabCtrlModel);
+ tEnv.addObjRelation("CONTAINER", aCtrlContainer);
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java b/qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java
new file mode 100644
index 000000000000..3ba6305c2be9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class TabControllerModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters param, PrintWriter log) {
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) param.getMSF());
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ log.println("inserting some ControlShapes");
+
+ XControlShape shape1 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 1000,
+ "CommandButton");
+ XControlShape shape2 = FormTools.createControlShape(xTextDoc, 5000,
+ 3500, 7500, 5000,
+ "TextField");
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) param.getMSF()).createInstance(
+ "com.sun.star.awt.TabControllerModel");
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create " +
+ "TabControllerModel", e);
+ }
+
+ log.println("creating a new environment for TabControllerModel");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.TabController");
+ tEnv.addObjRelation("Model1", shape1.getControl());
+ tEnv.addObjRelation("Model2", shape2.getControl());
+
+
+ //Object Relation for XPersistObject
+ tEnv.addObjRelation("noPS", new Boolean(true));
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class TabControllerModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/Toolkit.java b/qadevOOo/tests/java/mod/_toolkit/Toolkit.java
new file mode 100644
index 000000000000..edca76e5e682
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/Toolkit.java
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+/**
+* Test for <code>com.sun.star.awt.Toolkit</code> service.
+*/
+public class Toolkit extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ ;
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.awt.Toolkit</code> service.
+ */
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XWindow win = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CommandButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+ XController cntrlr = (XController) UnoRuntime.queryInterface(
+ XController.class,
+ xTextDoc.getCurrentController());
+
+ //now get the toolkit
+ try {
+ win = cntrlr.getFrame().getContainerWindow();
+
+
+ //win = (XWindow) UnoRuntime.queryInterface(XWindow.class, ctrl) ;
+ the_win = the_access.getControl(the_Model).getPeer();
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ log.println(" creating a new environment for toolkit object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("WINPEER", the_win);
+
+ tEnv.addObjRelation("XModel", xModel);
+
+
+ // adding relation for XDataTransferProviderAccess
+ tEnv.addObjRelation("XDataTransferProviderAccess.XWindow", win);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class Toolkit
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java
new file mode 100644
index 000000000000..fac722977e95
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlButton extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ xTD2 = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XWindow anotherWindow = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CommandButton",
+ "UnoControlButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ButtonControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get ButtonControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ButtonControl", e);
+ }
+
+ log.println("creating a new environment for UnoControlButton object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ try {
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create XWindow", e);
+ }
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlButton
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java
new file mode 100644
index 000000000000..a46b8abee959
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlButtonModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlButtonModel");
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create object", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlButtonModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.Button");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlButtonModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java
new file mode 100644
index 000000000000..a2b8c167e2c4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XCheckBox;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCheckBox extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ xTD2 = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XWindow anotherWindow = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CheckBox",
+ "UnoControlCheckBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the CheckBoxControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get CheckBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get CheckBoxControl", e);
+ }
+
+ log.println("creating a new environment for UnoControlCheckBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // adding object relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener();
+ XCheckBox check = (XCheckBox) UnoRuntime.queryInterface(
+ XCheckBox.class, oObj);
+ check.addItemListener(listener);
+ tEnv.addObjRelation("TestItemListener", listener);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ try {
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create XWindow", e);
+ }
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCheckBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java
new file mode 100644
index 000000000000..76773c6d74ac
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCheckBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlCheckBoxModel");
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create object", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlCheckBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.CheckBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCheckBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java
new file mode 100644
index 000000000000..6bc357321d53
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+public class UnoControlComboBox extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "ComboBox",
+ "UnoControlComboBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ComboBoxControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get ComboBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ComboBoxControl", e);
+ }
+
+ log.println("creating a new environment for UnoControlComboBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlComboBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java
new file mode 100644
index 000000000000..4ee5eef572ab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlComboBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlComboBoxModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlComboBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ComboBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlComboBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java
new file mode 100644
index 000000000000..3b2b83380c04
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java
@@ -0,0 +1,252 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlContainer extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+ private static XControl xCtrl;
+ private static XControl xCtrl1;
+ private static XControl xCtrl2;
+
+ protected void initialize(TestParameters param, PrintWriter log) {
+ try {
+ log.println("creating a textdocument");
+ xTD2 = WriterTools.createTextDoc(
+ (XMultiServiceFactory) param.getMSF());
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) param.getMSF());
+ } catch (Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log) {
+ // create Object Relations -------------------------------------------
+ XInterface oObj = null;
+ XControlShape shape = null;
+ XControlModel model = null;
+ XControlAccess access = null;
+ XWindow anotherWindow = null;
+
+ // for XControl
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+
+ XControlContainer ctrlCont = null;
+
+ XGraphics aGraphic = null;
+
+
+ // create 3 XControls
+ // create first XControl
+ shape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "TextField");
+ WriterTools.getDrawPage(xTextDoc).add((XShape) shape);
+ model = shape.getControl();
+ access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class, xTextDoc.getCurrentController());
+
+ try {
+ xCtrl = access.getControl(model);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create XControl", e);
+ }
+
+
+ // create second XControl
+ shape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "TextField");
+ WriterTools.getDrawPage(xTextDoc).add((XShape) shape);
+ model = shape.getControl();
+ access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class, xTextDoc.getCurrentController());
+
+ try {
+ xCtrl1 = access.getControl(model);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create XControl", e);
+ }
+
+
+ // create third XControl
+ shape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "CommandButton");
+ WriterTools.getDrawPage(xTextDoc).add((XShape) shape);
+ model = shape.getControl();
+ access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class, xTextDoc.getCurrentController());
+
+ try {
+ xCtrl2 = access.getControl(model);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create XControl", e);
+ }
+
+ // create XToolkit, XWindowPeer, XDevice
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CommandButton",
+ "UnoControlButton");
+
+ WriterTools.getDrawPage(xTD2).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTD2.getCurrentController());
+
+ //get the ButtonControl for the needed Object relations
+ try {
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+
+ XDevice aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get ButtonControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ButtonControl", e);
+ }
+
+ try {
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create XWindow", e);
+ }
+
+ // finished create Object Relations -----------------------------------
+ // create the UnoControlContainer
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlContainer");
+
+ XControl xCtrl = (XControl) UnoRuntime.queryInterface(
+ XControl.class, oObj);
+ xCtrl.setModel(the_Model);
+
+ ctrlCont = (XControlContainer) UnoRuntime.queryInterface(
+ XControlContainer.class, oObj);
+ ctrlCont.addControl("jupp", access.getControl(aShape.getControl()));
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create UnoControlContainer", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlContainer object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class, oObj);
+ Rectangle ps = xWindow.getPosSize();
+ xWindow.setPosSize(ps.X+10, ps.Y+10, ps.Width+10, ps.Height+10, PosSize.POSSIZE);
+
+ String objName = "UnoControlContainer";
+ tEnv.addObjRelation("OBJNAME", "toolkit." + objName);
+
+
+ // Object relation for XContainer
+ tEnv.addObjRelation("XContainer.Container", ctrlCont);
+ tEnv.addObjRelation("INSTANCE", xCtrl);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ // Object Relation for XControlContainer
+ tEnv.addObjRelation("CONTROL1", xCtrl1);
+ tEnv.addObjRelation("CONTROL2", xCtrl2);
+
+
+ // Object Relation for XControl
+ tEnv.addObjRelation("CONTEXT", xTD2);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java
new file mode 100644
index 000000000000..cf7104282237
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlContainerModel extends TestCase {
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlContainerModel");
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create " +
+ "UnoControlContainerModel", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlContainer object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.ControlContainer");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java
new file mode 100644
index 000000000000..455c4765bef0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCurrencyField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CurrencyField",
+ "UnoControlCurrencyField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the CurrencyFieldControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get CurrencyFieldControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get CurrencyFieldControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlCurrencyField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCurrencyField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java
new file mode 100644
index 000000000000..e2c696b53ac2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCurrencyFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlCurrencyFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for " +
+ "UnoControlCurrencyFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.CurrencyField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCurrencyFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java
new file mode 100644
index 000000000000..073f262a0c12
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlDateField extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ xTD2 = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XWindow anotherWindow = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "DateField",
+ "UnoControlDateField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the DateFieldControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get DateFieldControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get DateFieldControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlDateField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ try {
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create XWindow", e);
+ }
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlDateField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java
new file mode 100644
index 000000000000..0144d0759b0d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlDateFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlDateFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlDateFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.DateField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlDateFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java
new file mode 100644
index 000000000000..d621681a75a4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java
@@ -0,0 +1,254 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTabController;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlDialog</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::awt::XWindow</code></li>
+* <li> <code>com::sun::star::awt::XDialog</code></li>
+* <li> <code>com::sun::star::awt::XControl</code></li>
+* <li> <code>com::sun::star::awt::XTopWindow</code></li>
+* <li> <code>com::sun::star::awt::XControlContainer</code></li>
+* <li> <code>com::sun::star::awt::XView</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.awt.XWindow
+* @see com.sun.star.awt.XDialog
+* @see com.sun.star.awt.XControl
+* @see com.sun.star.awt.XTopWindow
+* @see com.sun.star.awt.XControlContainer
+* @see com.sun.star.awt.XView
+* @see ifc.lang._XComponent
+* @see ifc.awt._XWindow
+* @see ifc.awt._XDialog
+* @see ifc.awt._XControl
+* @see ifc.awt._XTopWindow
+* @see ifc.awt._XControlContainer
+* @see ifc.awt._XView
+*/
+public class UnoControlDialog extends TestCase {
+ private static XWindow xWinDlg = null;
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates a Dialog Control and Model instance defines Model
+ * for Control, adds to Dialog a button, sets its size and
+ * sets the dialog visible. <p>
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory) Param.getMSF();
+ XControlModel dlgModel = null;
+
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ XControl butControl = null;
+ XControl butControl1 = null;
+ XControl butControl2 = null;
+ XTabController tabControl1 = null;
+ XTabController tabControl2 = null;
+
+ XControlContainer ctrlCont = null;
+
+ if (xWinDlg != null) {
+ xWinDlg.dispose();
+ }
+
+ try {
+ dlgModel = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialogModel"));
+
+ XControl dlgControl = (XControl) UnoRuntime.queryInterface(
+ XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialog"));
+
+ dlgControl.setModel(dlgModel);
+
+ XControlModel butModel = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel"));
+
+ butControl = (XControl) UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButton"));
+
+ butControl.setModel(butModel);
+
+
+ // creating additional controls for XUnoControlContainer
+ tabControl1 = (XTabController) UnoRuntime.queryInterface(
+ XTabController.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.TabController"));
+
+ tabControl2 = (XTabController) UnoRuntime.queryInterface(
+ XTabController.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.TabController"));
+
+
+ // creating additional controls for XControlContainer
+ butModel = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel"));
+
+ butControl1 = (XControl) UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButton"));
+
+ butControl1.setModel(butModel);
+
+ butModel = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel"));
+
+ butControl2 = (XControl) UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButton"));
+
+ butControl2.setModel(butModel);
+
+ ctrlCont = (XControlContainer) UnoRuntime.queryInterface(
+ XControlContainer.class, dlgControl);
+
+ xWinDlg = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ dlgControl);
+
+ xWinDlg.setVisible(true);
+
+ xWinDlg.setPosSize(10, 10, 220, 110, PosSize.SIZE);
+
+ the_win = dlgControl.getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(220, 220);
+ aGraphic = aDevice.createGraphics();
+
+ oObj = dlgControl;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error creating dialog :");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", dlgModel);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", dlgModel);
+
+ tEnv.addObjRelation("INSTANCE", butControl);
+ tEnv.addObjRelation("XContainer.Container", ctrlCont);
+
+
+ // adding relations for XUnoControlContainer
+ tEnv.addObjRelation("TABCONTROL1", tabControl1);
+ tEnv.addObjRelation("TABCONTROL2", tabControl2);
+
+
+ // adding relations for XControlContainer
+ tEnv.addObjRelation("CONTROL1", butControl1);
+ tEnv.addObjRelation("CONTROL2", butControl2);
+
+ XWindow forObjRel = xTextDoc.getCurrentController().getFrame()
+ .getComponentWindow();
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println("Disposing dialog ...");
+ xWinDlg.dispose();
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) tParam.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java
new file mode 100644
index 000000000000..558ea9f07d95
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java
@@ -0,0 +1,189 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlDialogModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlDialogModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.awt.UnoControlDialogModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlDialogModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlDialogModel extends TestCase {
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlDialogModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XInterface dialogModel = null;
+ String _buttonName = "MyButton";
+ String _labelName = "MyLabel";
+ String _labelPrefix = "MyLabelPrefix";
+ XMultiServiceFactory xMultiServiceFactory = null;
+
+ try {
+ dialogModel = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlDialogModel");
+
+ // create the dialog model and set the properties
+ XPropertySet xPSetDialog = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, dialogModel);
+ xPSetDialog.setPropertyValue("PositionX", new Integer(100));
+ xPSetDialog.setPropertyValue("PositionY", new Integer(100));
+ xPSetDialog.setPropertyValue("Width", new Integer(150));
+ xPSetDialog.setPropertyValue("Height", new Integer(100));
+ xPSetDialog.setPropertyValue("Title",
+ new String("Runtime Dialog Demo"));
+
+
+ // get the service manager from the dialog model
+ xMultiServiceFactory = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ dialogModel);
+
+ // create the button model and set the properties
+ Object buttonModel = xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel");
+ XPropertySet xPSetButton = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, buttonModel);
+ xPSetButton.setPropertyValue("PositionX", new Integer(50));
+ xPSetButton.setPropertyValue("PositionY", new Integer(30));
+ xPSetButton.setPropertyValue("Width", new Integer(50));
+ xPSetButton.setPropertyValue("Height", new Integer(14));
+ xPSetButton.setPropertyValue("Name", _buttonName);
+ xPSetButton.setPropertyValue("TabIndex", new Short((short) 0));
+ xPSetButton.setPropertyValue("Label", new String("Click Me"));
+
+ // create the label model and set the properties
+ Object labelModel = xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel");
+ XPropertySet xPSetLabel = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, labelModel);
+ xPSetLabel.setPropertyValue("PositionX", new Integer(40));
+ xPSetLabel.setPropertyValue("PositionY", new Integer(60));
+ xPSetLabel.setPropertyValue("Width", new Integer(100));
+ xPSetLabel.setPropertyValue("Height", new Integer(14));
+ xPSetLabel.setPropertyValue("Name", _labelName);
+ xPSetLabel.setPropertyValue("TabIndex", new Short((short) 1));
+ xPSetLabel.setPropertyValue("Label", _labelPrefix);
+
+ // insert the control models into the dialog model
+ XNameContainer xNameCont = (XNameContainer) UnoRuntime.queryInterface(
+ XNameContainer.class,
+ dialogModel);
+ xNameCont.insertByName(_buttonName, buttonModel);
+ xNameCont.insertByName(_labelName, labelModel);
+
+ // create the dialog control and set the model
+ XControl dialog = (XControl) UnoRuntime.queryInterface(
+ XControl.class,
+ ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlDialog"));
+ XControl xControl = (XControl) UnoRuntime.queryInterface(
+ XControl.class, dialog);
+ XControlModel xControlModel = (XControlModel) UnoRuntime.queryInterface(
+ XControlModel.class,
+ dialogModel);
+ xControl.setModel(xControlModel);
+ } catch (Exception e) {
+ throw new StatusException("Could no create test object", e);
+ }
+
+ oObj = dialogModel;
+
+ log.println("creating a new environment for object");
+
+ XMultiServiceFactory oMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ try {
+ // XNameReplace
+ tEnv.addObjRelation("INSTANCE1",
+ xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel"));
+
+
+ //XContainer
+ tEnv.addObjRelation("INSTANCE",
+ xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel"));
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not add object relations 'INSTANCEn'");
+ e.printStackTrace(log);
+ }
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.Dialog");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java
new file mode 100644
index 000000000000..e6460fc72d55
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlEdit extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "TextField",
+ "UnoControlEdit");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the EditControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get EditControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get EditControl", e);
+ }
+
+ log.println("creating a new environment for UnoControlEdit object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlEdit
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java
new file mode 100644
index 000000000000..4df1e7ee86cc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlEditModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlEditModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlEditModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.Edit");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlEditModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java
new file mode 100644
index 000000000000..ecf4c7170243
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFileControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "FileControl",
+ "UnoControlFileControl");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the FileControlControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get FileControlControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get FileControlControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFileControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFileControl
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java
new file mode 100644
index 000000000000..31153036da95
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFileControlModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlFileControlModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFileControlModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.FileControl");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFileControlModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java
new file mode 100644
index 000000000000..986f3acd9a2c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlFixedLineModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlFixedLineModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.awt.UnoControlFixedLineModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlFixedLineModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlFixedLineModel extends TestCase {
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlFixedLineModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlFixedLineModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.FixedLine");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java
new file mode 100644
index 000000000000..7ee0369ad4ea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFixedText extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "FixedText",
+ "UnoControlFixedText");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the FixedTextControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get FixedTextControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get FixedTextControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFixedText object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFixedText
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java
new file mode 100644
index 000000000000..6bbf6f0cadb1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFixedTextModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFixedTextModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.FixedText");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFixedTextModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java
new file mode 100644
index 000000000000..62b6169895bc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFormattedField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "DatabaseFormattedField",
+ "UnoControlFormattedField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, the_Model);
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the EditControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ xPS.setPropertyValue("Spin", new Boolean(true));
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get EditControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get EditControl", e);
+ }
+
+ log.println("creating a new environment for UnoControlEdit object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java
new file mode 100644
index 000000000000..549ddd82ef7d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFormattedFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlFormattedFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFormattedFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.FormattedField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFormattedFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java
new file mode 100644
index 000000000000..ef1377289fea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlGroupBox extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "GroupBox",
+ "UnoControlGroupBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the GroupBoxControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get GroupBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get GroupBoxControl", e);
+ }
+
+ log.println("creating a new environment for UnoControlGroupBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlGroupBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java
new file mode 100644
index 000000000000..a960cd91c607
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlGroupBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlGroupBoxModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlGroupBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.GroupBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlGroupBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java
new file mode 100644
index 000000000000..e8611f9aee4c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlImageControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "DatabaseImageControl",
+ "UnoControlImageControl");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XPropertySet xPS = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, the_Model);
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ImageControlControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ String imgUrl = util.utils.getFullTestURL("poliball.gif");
+
+ xPS.setPropertyValue("ImageURL", imgUrl);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get ImageControlControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ImageControlControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlImageControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlImageControl
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java
new file mode 100644
index 000000000000..ab69c310038c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlImageControlModel extends TestCase {
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlImageControlModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlImageControlModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ImageControl");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlImageControlModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java
new file mode 100644
index 000000000000..85e9abd9058c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XListBox;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlListBox extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "ListBox",
+ "UnoControlListBox");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ListBoxControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get ListBoxControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ListBoxControl", e);
+ }
+
+ log.println("creating a new environment for UnoControlListBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // adding object relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener();
+ XListBox list = (XListBox) UnoRuntime.queryInterface(XListBox.class,
+ oObj);
+ list.addItemListener(listener);
+ tEnv.addObjRelation("TestItemListener", listener);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlListBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java
new file mode 100644
index 000000000000..d567bb50bb8a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlListBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlListBoxModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlListBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ListBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java
new file mode 100644
index 000000000000..f9ac8e3b2d61
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+public class UnoControlNumericField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = (XCloseable) UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "NumericField",
+ "UnoControlNumericField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the NumericFieldControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get NumericFieldControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get NumericFieldControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlNumericField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ tEnv.addObjRelation("XTextComponent.onlyNumbers", "");
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlNumericField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java
new file mode 100644
index 000000000000..003f36fd0791
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlNumericFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlNumericFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlNumericFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.NumericField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlNumericFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java
new file mode 100644
index 000000000000..e3c514312b50
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlPatternField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "PatternField",
+ "UnoControlPatternField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the PatternFieldControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get PatternFieldControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get PatternFieldControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlPatternField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlPatternField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java
new file mode 100644
index 000000000000..2b77d40d0b15
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlPatternFieldModel extends TestCase {
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlPatternFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlPatternFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.PatternField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlPatternFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java
new file mode 100644
index 000000000000..39e9dca50035
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlProgressBarModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlProgressBarModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.awt.UnoControlProgressBarModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlProgressBarModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlProgressBarModel extends TestCase {
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlProgressBarModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlProgressBarModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ProgressBar");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java
new file mode 100644
index 000000000000..3b8eb313a3fa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlRadioButton extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "RadioButton",
+ "UnoControlRadioButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the RadioButtonControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get RadioButtonControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get RadioButtonControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlRadioButton object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlRadioButton
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java
new file mode 100644
index 000000000000..4805f9f4c61a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlRadioButtonModel extends TestCase {
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlRadioButtonModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlRadioButtonModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.RadioButton");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlRadioButtonModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java
new file mode 100644
index 000000000000..bf9a1b6492b8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlScrollBarModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlScrollBarModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.awt.UnoControlScrollBarModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlScrollBarModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlScrollBarModel extends TestCase {
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlScrollBarModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlScrollBarModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ScrollBar");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java
new file mode 100644
index 000000000000..04161dca61c2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlTimeField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "TimeField",
+ "UnoControlTimeField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the TimeFieldControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get TimeFieldControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get TimeFieldControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlTimeField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = (XTextComponent) UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlTimeField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java
new file mode 100644
index 000000000000..91472cd01e4b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlTimeFieldModel extends TestCase {
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlTimeFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlTimeFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.TimeField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlTimeFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java
new file mode 100644
index 000000000000..e12d323a5a8f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoScrollBarControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+
+ log.println("maximize the window size");
+ XModel xModel = (XModel) UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XFrame xFrame = xModel.getCurrentController().getFrame();
+ XWindow xWin = xFrame.getContainerWindow();
+
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ Dimension dim = tk.getScreenSize();
+
+ Rectangle newPosSize = xWin.getPosSize();
+ newPosSize.Width = new Double(dim.getWidth()).intValue();
+ newPosSize.Height = new Double(dim.getHeight()).intValue();
+ newPosSize.X = 0;
+ newPosSize.Y = 0;
+
+ xWin.setPosSize(newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, com.sun.star.awt.PosSize.POSSIZE);
+
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "ScrollBar",
+ "UnoControlScrollBar");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ScrollBarControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get ScrollBarControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get ScrollBarControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlScrollBar object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //adding Object-Relation for XScrollBar
+ tEnv.addObjRelation("Document", xTextDoc);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java
new file mode 100644
index 000000000000..332cf133568f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoSpinButtonControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "SpinButton",
+ "UnoControlSpinButton");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add((XShape) aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = (XControlAccess) UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the SpinButtonControl for the needed Object relations
+ try {
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+ } catch (Exception e) {
+ log.println("Couldn't get SpinButtonControl");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get SpinButtonControl", e);
+ }
+
+ log.println(
+ "creating a new environment for UnoControlSpinButton object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //adding Object-Relation for XScrollBar
+ tEnv.addObjRelation("Document", xTextDoc);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = (XWindow) UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ tEnv.addObjRelation("Document", xTextDoc);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java
new file mode 100644
index 000000000000..fff32d4aeb3d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoSpinButtonControlModel extends TestCase {
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlSpinButtonModel</code>.
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.UnoControlSpinButtonModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "com.sun.star.awt.UnoControlSpinButtonModel");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java
new file mode 100644
index 000000000000..5be41be69f27
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java
@@ -0,0 +1,303 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDialog;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.awt.tree.XTreeControl;
+import com.sun.star.awt.tree.XTreeNode;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.ucb.CommandAbortedException;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.PropertyName;
+import util.SOfficeFactory;
+import util.UITools;
+import util.utils;
+
+
+public class UnoTreeControl extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XMutableTreeDataModel mXTreeDataModel;
+ private static XMultiServiceFactory mxMSF;
+ private static PrintWriter log;
+ private static boolean debug = false;
+
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ this.log = log;
+ debug = Param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ (XMultiServiceFactory) Param.getMSF());
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+// log.println(" disposing xTextDoc ");
+//
+// util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ String sTreeControlName = "UnoTreeControl-Test";
+ mxMSF = (XMultiServiceFactory) Param.getMSF();
+ XInterface oObj = null;
+ XMutableTreeNode xNode = null;
+
+ try {
+
+ mXTreeDataModel = (XMutableTreeDataModel )
+ UnoRuntime.queryInterface(XMutableTreeDataModel.class,
+ mxMSF.createInstance("com.sun.star.awt.tree.MutableTreeDataModel"));
+
+ xNode = mXTreeDataModel.createNode("UnoTreeControl", false);
+
+ xNode.setDataValue( "UnoTreeControl");
+ xNode.setExpandedGraphicURL( "private:graphicrepository/sd/res/triangle_down.png");
+ xNode.setCollapsedGraphicURL( "private:graphicrepository/sd/res/triangle_right.png");
+
+ fillNode(xNode);
+
+ mXTreeDataModel.setRoot(xNode);
+
+ XControlModel xDialogModel = (XControlModel)
+ UnoRuntime.queryInterface(XControlModel.class,
+ mxMSF.createInstance("com.sun.star.awt.UnoControlDialogModel"));
+
+ XPropertySet xDialogPropertySet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xDialogModel);
+ xDialogPropertySet.setPropertyValue( "PositionX", new Integer(50) );
+ xDialogPropertySet.setPropertyValue( "PositionY", new Integer(50) );
+ xDialogPropertySet.setPropertyValue( "Width", new Integer(256) );
+ xDialogPropertySet.setPropertyValue( "Height", new Integer(256) );
+ xDialogPropertySet.setPropertyValue( "Title", "Tree Control Test");
+
+ XMultiServiceFactory xDialogMSF = (XMultiServiceFactory)
+ UnoRuntime.queryInterface(XMultiServiceFactory.class, xDialogModel);
+
+ XControlModel xTreeControlModel = (XControlModel)
+ UnoRuntime.queryInterface(XControlModel.class,
+ xDialogMSF.createInstance("com.sun.star.awt.tree.TreeControlModel"));
+
+ XPropertySet XTreeControlModelSet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTreeControlModel);
+
+ XTreeControlModelSet.setPropertyValue( "SelectionType",com.sun.star.view.SelectionType.NONE);
+ XTreeControlModelSet.setPropertyValue( "PositionX", new Integer(3 ));
+ XTreeControlModelSet.setPropertyValue( "PositionY", new Integer(3 ));
+ XTreeControlModelSet.setPropertyValue( "Width", new Integer(253));
+ XTreeControlModelSet.setPropertyValue( "Height", new Integer(253) );
+ XTreeControlModelSet.setPropertyValue( "DataModel", mXTreeDataModel );
+ XTreeControlModelSet.setPropertyValue( "ShowsRootHandles",new Boolean (false));
+ XTreeControlModelSet.setPropertyValue( "ShowsHandles", new Boolean (false));
+ XTreeControlModelSet.setPropertyValue( "RootDisplayed", new Boolean (true));
+ XTreeControlModelSet.setPropertyValue( "Editable", new Boolean (true ));
+
+ XNameContainer xDialogModelContainer = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, xDialogModel);
+
+ xDialogModelContainer.insertByName( sTreeControlName, xTreeControlModel);
+
+ XControl xDialogControl = (XControl)
+ UnoRuntime.queryInterface(XControl.class,
+ mxMSF.createInstance("com.sun.star.awt.UnoControlDialog"));
+
+ xDialogControl.setModel( xDialogModel );
+
+ XToolkit xToolkit = (XToolkit) UnoRuntime.queryInterface(XToolkit.class,
+ mxMSF.createInstance("com.sun.star.awt.Toolkit" ));
+
+ xDialogControl.createPeer( xToolkit, null );
+
+ // get the peers of the sub controls from the dialog peer container
+ XControlContainer xDialogContainer = (XControlContainer)
+ UnoRuntime.queryInterface(XControlContainer.class ,xDialogControl);
+
+ XTreeControl xTreeControl = (XTreeControl)
+ UnoRuntime.queryInterface(XTreeControl.class, xDialogContainer.getControl( sTreeControlName ));
+
+ xTreeControl.expandNode(xNode);
+ oObj = xTreeControl;
+
+ XDialog xDialog = (XDialog) UnoRuntime.queryInterface(XDialog.class, xDialogControl);
+
+ execurteDialog aDialog = new execurteDialog(xDialog);
+
+ aDialog.start();
+
+// xDialog.execute();
+
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XTreeControl_Node", xNode);
+
+ //com.sun.star.view.XSelectionSupplier
+ try {
+
+ System.out.println("count of children: " + xNode.getChildCount());
+ tEnv.addObjRelation("Selections", new Object[]{xNode.getChildAt(0), xNode});
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: could not add object relation 'Selections' because 'xNode.getChildAt(1) failed: " +
+ ex.toString());
+ }
+
+ tEnv.addObjRelation("Comparer",
+ new Comparator() {
+ public int compare(Object o1, Object o2) {
+ XMutableTreeNode xNode1 = (XMutableTreeNode) UnoRuntime.queryInterface(
+ XMutableTreeNode.class, o1);
+ XTreeNode xNode2a = null;
+ try {
+ xNode2a = (XTreeNode) AnyConverter.toObject(new Type(XTreeNode.class), o2);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace();
+ }
+
+ XMutableTreeNode xNode2 = (XMutableTreeNode) UnoRuntime.queryInterface(
+ XMutableTreeNode.class, xNode2a);
+
+ if (((String) xNode1.getDataValue()).equals((String)xNode2.getDataValue())) {
+ return 0;
+ }
+
+ return -1;
+ }
+ });
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ private void fillNode( XMutableTreeNode xNode ){
+
+ if( xNode.getChildCount() == 0 )
+ {
+ String sParentPath = (String) xNode.getDataValue();
+
+ String officeUserPath = utils.getOfficeUserPath(mxMSF);
+ Object fileacc = null;
+ try {
+ fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ XSimpleFileAccess sA = (XSimpleFileAccess)
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+
+
+ dirlist(officeUserPath, xNode);
+ }
+ }
+
+ private void dirlist(String dir, XMutableTreeNode xNode){
+
+ Object fileacc = null;
+ try {
+ fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ XSimpleFileAccess sfa = (XSimpleFileAccess)
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+ XMutableTreeNode xChildNode = null;
+ try {
+ xChildNode = mXTreeDataModel.createNode(dir.substring(dir.lastIndexOf("/")+1, dir.length()), sfa.isFolder(dir));
+ xChildNode.setDataValue(dir);
+ boolean test = sfa.isFolder(dir);
+ if (sfa.isFolder(dir)){
+ xChildNode.setExpandedGraphicURL( "private:graphicrepository/sd/res/triangle_down.png");
+ xChildNode.setCollapsedGraphicURL("private:graphicrepository/sd/res/triangle_right.png");
+ String[] children = sfa.getFolderContents(dir, true);
+ if (children != null){
+ for (int i=0; i<children.length; i++) {
+ // Get filename of file or directory
+ String filename = children[i];
+ dirlist( filename , xChildNode);
+ }
+ }
+ }
+ else{
+ xChildNode.setNodeGraphicURL( "private:graphicrepository/sw/imglst/nc20010.png");
+ }
+ } catch (CommandAbortedException ex) {
+ ex.printStackTrace();
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+
+ try {
+ xNode.appendChild( xChildNode );
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private class execurteDialog extends Thread{
+ private XDialog mXDialog;
+
+ public execurteDialog(XDialog xDialog){
+ mXDialog = xDialog;
+ }
+
+ public void run() {
+ mXDialog.endExecute();
+ }
+ }
+
+
+} // finish class UnoControlRadioButton
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java
new file mode 100644
index 000000000000..f8da7cd2082d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._toolkit;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoTreeModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) ((XMultiServiceFactory) Param.getMSF()).createInstance(
+ "com.sun.star.awt.tree.TreeControlModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for TreeControlModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "com.sun.star.awt.tree.TreeControlModel");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/package.html b/qadevOOo/tests/java/mod/_toolkit/package.html
new file mode 100644
index 000000000000..371cdbc777fc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'toolkit'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_typeconverter.uno/TypeConverter.java b/qadevOOo/tests/java/mod/_typeconverter.uno/TypeConverter.java
new file mode 100644
index 000000000000..7fb784e7d26b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typeconverter.uno/TypeConverter.java
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 mod._typeconverter.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class TypeConverter extends TestCase {
+
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.script.Converter" );
+ }
+ catch( Exception e ) {
+ log.println("Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeConverter
+
diff --git a/qadevOOo/tests/java/mod/_typeconverter.uno/package.html b/qadevOOo/tests/java/mod/_typeconverter.uno/package.html
new file mode 100644
index 000000000000..7db1f329e77c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typeconverter.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'tcv'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_typemgr.uno/TypeDescriptionManager.java b/qadevOOo/tests/java/mod/_typemgr.uno/TypeDescriptionManager.java
new file mode 100644
index 000000000000..4abc6230275d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typemgr.uno/TypeDescriptionManager.java
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 mod._typemgr.uno;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class TypeDescriptionManager extends TestCase {
+
+ protected void initialize ( TestParameters Param, PrintWriter log) {
+
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = (XComponentContext)
+ UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager from context
+ oInterface = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relation for XHierarchicalNameAccess ifc
+ // Name of the existing object
+ tEnv.addObjRelation("ElementName", "com.sun.star.container.XNameAccess") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeDescriptionManager
+
diff --git a/qadevOOo/tests/java/mod/_typemgr.uno/package.html b/qadevOOo/tests/java/mod/_typemgr.uno/package.html
new file mode 100644
index 000000000000..4bd4217bedba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typemgr.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'tdmgr'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java b/qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java
new file mode 100644
index 000000000000..1df5afb6733e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.ContentProviderFactory</code>. <p>
+*/
+public class UcbContentProviderProxyFactory extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.ContentProviderFactory</code>.
+ */
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param,PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UcbContentProviderProxyFactory" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UcbContentProviderProxyFactory
+
diff --git a/qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java b/qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java
new file mode 100644
index 000000000000..12fec3fc7fa3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class UcbPropertiesManager extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UcbPropertiesManager" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UcbPropertiesManager
+
diff --git a/qadevOOo/tests/java/mod/_ucb/UcbStore.java b/qadevOOo/tests/java/mod/_ucb/UcbStore.java
new file mode 100644
index 000000000000..459e068fab5b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UcbStore.java
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.Store</code>. <p>
+*/
+public class UcbStore extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.Store</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.comp.ucb.UcbStore" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UcbStore
+
diff --git a/qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java b/qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java
new file mode 100644
index 000000000000..42391e5f83e7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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 mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.UniversalContentBroker</code>. <p>
+*/
+public class UniversalContentBroker extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.UniversalContentBroker</code>.
+ */
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class,oObj);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+
+ tEnv.addObjRelation("CONTENT1",
+ "vnd.sun.star.webdav://localhost/davhome/");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UniversalContentBroker
+
diff --git a/qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java b/qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java
new file mode 100644
index 000000000000..6e4d8b4b3708
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 mod._ucpchelp;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class CHelpContentProvider extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object aUCB = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.HelpContentProvider" );
+ aUCB = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class,aUCB);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1", "vnd.sun.star.help://swriter?System=WIN&Language=de&Query=text&HitCount=120&Scope=Heading");
+ tEnv.addObjRelation("CONTENT2",
+ util.utils.getFullTestURL("SwXTextEmbeddedObject.sdw"));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class FileProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java b/qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java
new file mode 100644
index 000000000000..1caf45ea4777
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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 mod._ucpdav;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Creates a <code>com.sun.star.ucb.WebDAVContentProvider</code> instance.
+ */
+public class WebDAVContentProvider extends TestCase {
+ /**
+ * Creates a <code>com.sun.star.ucb.WebDAVContentProvider</code> instance
+ * and adds a <code>XContentIdentifierFactory</code> instance as a "FACTORY"
+ * relation for <code>XContentProviderTest</code>.
+ */
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface xInt;
+
+ log.println("creating WebDAVContentProvider instance");
+ try {
+ xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.ucb.WebDAVContentProvider");
+ } catch (Exception e) {
+ log.println("Unexpected exception " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ log.println("creating XContentIdentifierFactory");
+ XContentIdentifierFactory xCIF;
+
+ try {
+ xCIF = (XContentIdentifierFactory)UnoRuntime.queryInterface(
+ XContentIdentifierFactory.class,
+ xMSF.createInstance(
+ "com.sun.star.comp.ucb.UniversalContentBroker"));
+ } catch (Exception e) {
+ log.println("Unexpected exception " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ tEnv.addObjRelation("FACTORY", xCIF);
+
+ tEnv.addObjRelation("CONTENT1",
+ "vnd.sun.star.webdav://localhost/davhome/");
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_ucpfile/FileProvider.java b/qadevOOo/tests/java/mod/_ucpfile/FileProvider.java
new file mode 100644
index 000000000000..edab6d30166e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpfile/FileProvider.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 mod._ucpfile;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class FileProvider extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.FileProvider" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class,oObj);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1",
+ util.utils.getOfficeTemp((XMultiServiceFactory)Param.getMSF()));
+ tEnv.addObjRelation("CONTENT2",
+ util.utils.getFullTestURL("SwXTextEmbeddedObject.sdw"));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class FileProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java b/qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java
new file mode 100644
index 000000000000..ec709d5158ac
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._ucpftp;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class FTPContentProvider extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object aUCB = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.FTPContentProvider" );
+ aUCB = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class,aUCB);
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ util.dbg.printInterfaces(oObj);
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1","ftp:///ftp.sun.com");
+ tEnv.addObjRelation("CONTENT2","ftp:///ftp.openoffice.org");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class FileProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java b/qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java
new file mode 100644
index 000000000000..675c9502b54a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 mod._ucphier;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class HierarchyContentProvider extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object ucb = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.HierarchyContentProvider" );
+ ucb = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class,ucb);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.hier:/");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class HierarchyContentProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java b/qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java
new file mode 100644
index 000000000000..366fd30eef41
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 mod._ucphier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Creates <code>HierarchyDataSource</code> implementation of
+ * <code>ucphier</code> module.
+ *
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class HierarchyDataSource extends TestCase {
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ oInterface = xMSF.createInstance(
+ "com.sun.star.ucb.DefaultHierarchyDataSource");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java b/qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java
new file mode 100644
index 000000000000..3d9668f82567
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 mod._ucppkg;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class PackageContentProvider extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object ucb = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.PackageContentProvider" );
+ ucb = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class,ucb);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1",
+ "vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/");
+ tEnv.addObjRelation("CONTENT2",
+ "vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fyour.xsw/");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class PackageContentProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java b/qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java
new file mode 100644
index 000000000000..6b6e86557476
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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 mod._ucprmt;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.RemoteAccessContentProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XContentProvider</code></li>
+* <li> <code>com::sun::star::ucb::XFileIdentifierConverter</code></li>
+* <li> <code>com::sun::star::ucb::XContentIdentifierFactory</code></li>
+* <li> <code>com::sun::star::ucb::XParameterizedContentProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see com.sun.star.ucb.XContentProvider
+* @see com.sun.star.ucb.XFileIdentifierConverter
+* @see com.sun.star.ucb.XContentIdentifierFactory
+* @see com.sun.star.ucb.XParameterizedContentProvider
+* @see ifc.ucb._XContentProvider
+* @see ifc.ucb._XFileIdentifierConverter
+* @see ifc.ucb._XContentIdentifierFactory
+* @see ifc.ucb._XParameterizedContentProvider
+*/
+public class ContentProvider extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucprmt.ContentProvider</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FACTORY'</code> for
+ * {@link ifc.ucb._XContentProvider} factory for
+ * content identifiers. Here it is
+ * <code>UniversalContentBroker</code> service.</li>
+ * <li> <code>'CONTENT1'</code> for
+ * {@link ifc.ucb._XContentProvider}: suitable
+ * content URL for this provider </li>
+ * <li> <code>'CONTENT2'</code> for
+ * {@link ifc.ucb._XContentProvider}: another suitable
+ * content URL for this provider </li>
+ * </ul>
+ */
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XContentIdentifierFactory cntIDFac = null ;
+
+ try {
+ oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.ucb.RemoteAccessContentProvider");
+ cntIDFac = (XContentIdentifierFactory) UnoRuntime.queryInterface
+ (XContentIdentifierFactory.class, oObj) ;
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ if (oObj == null) {
+ log.println("!!! Object wasn't created !!!") ;
+ throw new StatusException(Status.failed
+ ("!!! Object wasn't created !!!")) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XContentProvider
+ tEnv.addObjRelation("FACTORY", cntIDFac) ;
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.wfs:///user/work");
+ tEnv.addObjRelation("CONTENT2","vnd.sun.star.wfs:///user/config");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java b/qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java
new file mode 100644
index 000000000000..5935fae84abb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 mod._ucprmt;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XRemoteContentProviderAcceptor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ProviderAcceptor extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance
+ ("com.sun.star.ucb.RemoteContentProviderAcceptor");
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //adding ObjRelation for XRemoteContentProviderAcceptor
+ XRemoteContentProviderAcceptor xRCPA = (XRemoteContentProviderAcceptor)
+ UnoRuntime.queryInterface(XRemoteContentProviderAcceptor.class,oObj);
+
+ tEnv.addObjRelation("RCPA",xRCPA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java b/qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java
new file mode 100644
index 000000000000..3d184a87f946
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._ucprmt;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ProxyProvider extends TestCase {
+
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) {
+
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ XContentIdentifierFactory cntIDFac = null ;
+
+ try {
+ oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.ucb.RemoteProxyContentProvider");
+ cntIDFac = (XContentIdentifierFactory) UnoRuntime.queryInterface
+ (XContentIdentifierFactory.class, oObj) ;
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ if (oObj == null) {
+ log.println("!!! Object wasn't created !!!") ;
+ throw new StatusException(Status.failed
+ ("!!! Object wasn't created !!!")) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XContentProvider
+ tEnv.addObjRelation("FACTORY", cntIDFac) ;
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.pkg:///user/work");
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.wfs://");
+
+ tEnv.addObjRelation("NoCONTENT",new Boolean(true));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java b/qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java
new file mode 100644
index 000000000000..2df8d47fbee9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 mod._uui;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.uui.InteractionHandler</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::task::XInteractionHandler</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurently.
+* @see ifc.task._XInteractionHandler
+*/
+public class UUIInteractionHandler extends TestCase {
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.uui.InteractionHandler</code>.
+ */
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.uui.InteractionHandler" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Can't create an object." );
+ throw new StatusException( "Can't create an object", e );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_uuresolver.uno/UnoUrlResolver.java b/qadevOOo/tests/java/mod/_uuresolver.uno/UnoUrlResolver.java
new file mode 100644
index 000000000000..8adc3de640fe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver.uno/UnoUrlResolver.java
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 mod._uuresolver.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class UnoUrlResolver extends TestCase {
+
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.UnoUrlResolver");
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ Object oBFctr = xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory");
+ tEnv.addObjRelation("BRIDGEFACTORY", oBFctr);
+
+ Object oAcctr = xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+ tEnv.addObjRelation("ACCEPTOR", oAcctr);
+
+ int port = util.utils.getNextFreePort(20004);
+ tEnv.addObjRelation("PORT", new Integer(port));
+
+ return tEnv;
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_uuresolver.uno/package.html b/qadevOOo/tests/java/mod/_uuresolver.uno/package.html
new file mode 100644
index 000000000000..31e2a677b04f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver.uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'uuresolver'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java b/qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java
new file mode 100644
index 000000000000..59f18de31344
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 mod._uuresolver;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.XInterface;
+
+public class UnoUrlResolver extends TestCase {
+
+
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+
+ try {
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.UnoUrlResolver");
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ Object oBFctr = xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory");
+ tEnv.addObjRelation("BRIDGEFACTORY", oBFctr);
+
+ Object oAcctr = xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+ tEnv.addObjRelation("ACCEPTOR", oAcctr);
+
+ String os = System.getProperty("OS");
+ System.out.println("OS: " + os);
+ int port = 20004;
+ if (os.equalsIgnoreCase("wntmsci"))
+ port = 20004;
+ if (os.equalsIgnoreCase("unxsols"))
+ port = 20004;
+ if (os.equalsIgnoreCase("unxsoli"))
+ port = 30004;
+ if (os.equalsIgnoreCase("unxlngi"))
+ port = 20006;
+
+ tEnv.addObjRelation("PORT", new Integer(port));
+
+ return tEnv;
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_uuresolver/package.html b/qadevOOo/tests/java/mod/_uuresolver/package.html
new file mode 100644
index 000000000000..31e2a677b04f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Containes all test cases for the module 'uuresolver'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java
new file mode 100644
index 000000000000..6fe4765389da
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Close document
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The chart document is set as a source document for exporter
+ * created. A new 'main title' is set for chart. This made
+ * for checking if this title is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final String exportStr = "XMLContentExporter" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Chart.XMLContentExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xChartDoc);
+
+ Object oTitle = xChartDoc.getTitle() ;
+ XPropertySet xTitleProp = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+ xTitleProp.setPropertyValue("String", exportStr) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ filter.addTag(new XMLTools.Tag("office:document-content")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document-content"));
+ filter.addCharactersEnclosed(exportStr,
+ new XMLTools.Tag("chart:title")) ;
+
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"schart: StarOffice XML (Chart)"}));
+ tEnv.addObjRelation("SourceDocument",xChartDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java
new file mode 100644
index 000000000000..5e48b073fc9f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XComponent comp ;
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ comp = xChartDoc;
+ }
+
+ /**
+ * Close document
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ comp = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLContentImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies the title
+ * of a chart.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLContentImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ final XPropertySet xTitleProp ;
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Chart.XMLContentImporter") ;
+
+
+ Object oTitle = xChartDoc.getTitle() ;
+ xTitleProp = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-content",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "office:class", "CDATA", "chart"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "chart:chart"},
+ {"start", "chart:title"},
+ {"start", "text:p"},
+ {"chars", impValue},
+ {"end", "text:p"},
+ {"end", "chart:title"},
+ {"end", "chart:chart"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String)
+ xTitleProp.getPropertyValue("String") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impValue.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println
+ ("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java
new file mode 100644
index 000000000000..c0edd4f82cda
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java
@@ -0,0 +1,204 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Close document
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The chart document is set as a source document for exporter
+ * created. A new 'main title' is set for chart. This made
+ * for checking if this title is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final String exportStr = "XMLExporter test." ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Chart.XMLExporter", new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xChartDoc);
+
+ Object oTitle = xChartDoc.getTitle() ;
+ XPropertySet xTitleProp = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+ xTitleProp.setPropertyValue("String", exportStr) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ filter.addTag(new XMLTools.Tag("office:document")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document"));
+ filter.addTagEnclosed(new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document"));
+ filter.addCharactersEnclosed(exportStr,
+ new XMLTools.Tag("chart:title")) ;
+
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"schart: StarOffice XML (Chart)"}));
+ tEnv.addObjRelation("SourceDocument",xChartDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java
new file mode 100644
index 000000000000..83a422df9128
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java
@@ -0,0 +1,204 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent comp ;
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ comp = xChartDoc;
+ }
+
+ /**
+ * Close document
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ comp = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies the title
+ * of a chart.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ final XPropertySet xTitleProp ;
+ try {
+ oInt = xMSF.createInstance("com.sun.star.comp.Chart.XMLImporter") ;
+
+ Object oTitle = xChartDoc.getTitle() ;
+ xTitleProp = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "office:class", "CDATA", "chart"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "chart:chart"},
+ {"start", "chart:title"},
+ {"start", "text:p"},
+ {"chars", impValue},
+ {"end", "text:p"},
+ {"end", "chart:title"},
+ {"end", "chart:chart"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String)
+ xTitleProp.getPropertyValue("String") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impValue.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println
+ ("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java
new file mode 100644
index 000000000000..4405b5c5ac60
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Close document
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * Existing of some tags checked in XML data exported.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Chart.XMLStylesExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xChartDoc);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+
+ filter.addTag(new XMLTools.Tag("office:document-styles")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:styles"),
+ new XMLTools.Tag("office:document-styles"));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"schart: StarOffice XML (Chart)"}));
+ tEnv.addObjRelation("SourceDocument",xChartDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java
new file mode 100644
index 000000000000..7bd02228203d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java
@@ -0,0 +1,185 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XComponent comp ;
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+
+ comp = xChartDoc;
+ }
+
+ /**
+ * Close document
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ comp = null;
+ }
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLStylesImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Chart.XMLStylesImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "office:class", "CDATA", "chart",
+ "office:version", "CDATA", "1.0"
+ },
+ {"start", "office:styles"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ logF.println("No ways to check styles import were not found.");
+ logF.println(" TRUE returned.");
+ return true ;
+/* } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+*/ }
+ }) ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java
new file mode 100644
index 000000000000..f628a1c11b8f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Then a new page (Slide) created in this document and
+ * both two pages renamed to 'NewSlide1' and 'NewSlide2'. After this
+ * filter checks that new tags exist in the XML output.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ // Adding tags for checking existance of head tag and other tags
+ filter.addTag(new XMLTools.Tag("office:document-content"));
+ filter.addTag(new XMLTools.Tag("office:body"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page"),
+ new XMLTools.Tag("office:body"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide1"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide2"));
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLContentExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ //xEx.setSourceDocument(xDrawDoc);
+
+ XDrawPagesSupplier supp = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages set = supp.getDrawPages();
+
+ // This is an XML-export BUG (new slide named "NewSlide2"
+ // can not be exported to XML)
+ set.insertNewByIndex(1);
+
+ XDrawPage page1 = (XDrawPage)
+ UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(0));
+ XNamed NPage1 = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class,page1);
+ NPage1.setName("NewSlide1");
+ XDrawPage page2 = (XDrawPage)
+ UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(1));
+ XNamed NPage2 = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class,page2);
+ NPage2.setName("NewSlide2");
+ xEx.setSourceDocument(xDrawDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument",xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log,true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java
new file mode 100644
index 000000000000..b6e948aa6312
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLContentImporter</code><p>
+ *
+ * The Draw document is set as a target document for importer.
+ * Imported XML-data contains only content tags including pages
+ * named 'NewSlide1' and 'NewSlide2'.
+ * Pages getting from target document is checked after import
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Draw.XMLContentImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ // New XML document generated to be imported to Draw document
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing",
+ "office:class", "CDATA", "drawing"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", "NewSlide1",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end", "draw:page"},
+ {"start", "draw:page", "draw:name", "CDATA", "NewSlide2",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end","draw:page"},
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"}};
+
+ // adding relation for XDocumentHandler
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml);
+
+ //save to log content before import
+ final PrintWriter fLog = log;
+
+ // Checking target document after import
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ XDrawPagesSupplier supp = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xDrawDoc);
+ final XDrawPages xPages = supp.getDrawPages();
+ XNamed[] pageArray = new XNamed[ xPages.getCount() ];
+ for (int i=0; i < xPages.getCount(); i++) {
+ try {
+ pageArray[i] = (XNamed) UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(i));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(fLog) ;
+ throw new StatusException
+ ("Can't get page name by index.", e) ;
+ }
+ }
+ fLog.println("Slide names after import:");
+ for ( int i = 0; i < xPages.getCount(); i++ ) {
+ if ((pageArray[i].getName().equals("NewSlide1"))
+ || (pageArray[i].getName().equals("NewSlide2"))) {
+ fLog.println(" " + pageArray[i].getName());
+ }
+ else {
+ fLog.println("Error: some imported values are not exist in target document!");
+ return false;
+ }
+ }
+ return true;
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java
new file mode 100644
index 000000000000..1b468c8a373c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Then a new page (Slide) created in this document and
+ * both two pages renamed to 'NewSlide1' and 'NewSlide2'. After this
+ * filter checks that new tags exist in the XML output.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ // Adding tags for checking existance of head tag and other tags
+ filter.addTag(new XMLTools.Tag("office:document"));
+ filter.addTag(new XMLTools.Tag("office:body"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page"),
+ new XMLTools.Tag("office:body"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide1"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide2"));
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLExporter", new Object[] {arg});
+
+
+ XDrawPagesSupplier supp = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages set = supp.getDrawPages();
+
+ // This is an XML-export BUG (new slide named "NewSlide2" can not be exported to XML)
+ set.insertNewByIndex(1);
+
+ XDrawPage page1 = (XDrawPage)
+ UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(0));
+ XNamed NPage1 = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class,page1);
+ NPage1.setName("NewSlide1");
+ XDrawPage page2 = (XDrawPage)
+ UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(1));
+ XNamed NPage2 = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class,page2);
+ NPage2.setName("NewSlide2");
+
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument",xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log,true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java
new file mode 100644
index 000000000000..563b948d875f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLImporter</code><p>
+ *
+ * The Draw document is set as a target document for importer.
+ * Imported XML-data contains only content tags including pages
+ * named 'NewSlide1' and 'NewSlide2'.
+ * Pages getting from target document are checked after import.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance("com.sun.star.comp.Draw.XMLImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing",
+ "office:class", "CDATA", "drawing"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", "NewSlide1",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end", "draw:page"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", "NewSlide2",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end","draw:page"},
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ //save to log content before import
+ final PrintWriter fLog = log;
+
+ // Checking target document after import
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ XDrawPagesSupplier supp = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xDrawDoc);
+ final XDrawPages xPages = supp.getDrawPages();
+ XNamed[] pageArray = new XNamed[ xPages.getCount() ];
+ for (int i=0; i < xPages.getCount(); i++) {
+ try {
+ pageArray[i] = (XNamed) UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(i));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(fLog) ;
+ throw new StatusException
+ ("Can't get page name by index.", e) ;
+ }
+ }
+ fLog.println("Slide names after import:");
+ for ( int i = 0; i < xPages.getCount(); i++ ) {
+ if ((pageArray[i].getName().equals("NewSlide1"))
+ || (pageArray[i].getName().equals("NewSlide2"))) {
+ fLog.println(" " + pageArray[i].getName());
+ }
+ else {
+ fLog.println("Error: some imported values are not exist in target document!");
+ return false;
+ }
+ }
+ return true;
+ }
+ });
+
+ return tEnv;
+ } // end of getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java
new file mode 100644
index 000000000000..4cfc5a72acaf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java
@@ -0,0 +1,205 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Set title of document to 'XMLMetaExporter'.
+ * This made for checking if this title is successfully exported within
+ * the document meta information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final String TITLE = "XMLMetaExporter";
+
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLMetaExporter", new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class, oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ //set some meta data
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface(XDocumentInfoSupplier.class,
+ xDrawDoc) ;
+ XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo()) ;
+ docInfo.setPropertyValue("Title", TITLE);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // Checking Head Tag existance and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-meta"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document-meta") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag("dc:title"),
+ new XMLTools.Tag("office:meta") );
+ filter.addCharactersEnclosed( TITLE,
+ new XMLTools.Tag("dc:title") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument", xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java
new file mode 100644
index 000000000000..244b7c9e3591
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java
@@ -0,0 +1,189 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Draw document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLMetaImporter</code><p>
+ *
+ * The draw document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including
+ * title tag with test name.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam,PrintWriter log ) {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance("com.sun.star.comp.Draw.XMLMetaImporter") ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ final String impTitle = "XMLMetaImporter" ;
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"
+ },
+ {"start", "office:meta"},
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ //set some meta data
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface
+ (XDocumentInfoSupplier.class, xDrawDoc);
+ final XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo());
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String) docInfo.getPropertyValue
+ ("Title") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java
new file mode 100644
index 000000000000..ee6a4cf35d2b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>om.sun.star.comp.Draw.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Property 'IsLayerMode' set to true.
+ * This made for checking if this property is successfully exported within
+ * the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class, oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ //set some settings
+ XModel xDrawModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ XController xController = xDrawModel.getCurrentController();
+ XPropertySet xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xController);
+ xPropSet.setPropertyValue("IsLayerMode", new Boolean("true"));
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // Checking Head Tag existance and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-settings"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag ("office:settings"),
+ new XMLTools.Tag ("office:document-settings") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag ("config:config-item-set"),
+ new XMLTools.Tag ("office:settings") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag ("config:config-item-map-indexed"),
+ new XMLTools.Tag ("config:config-item-set") );
+ filter.addCharactersEnclosed( "true",
+ new XMLTools.Tag( "config:config-item",
+ "config:name",
+ "IsLayerMode" ));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument", xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java
new file mode 100644
index 000000000000..b7716acd0957
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java
@@ -0,0 +1,199 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Text draw destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLSettingsImporter</code><p>
+ *
+ * The draw document is set as a target document for importer.
+ * Imported XML-data contains only settings tags including
+ * tag with property 'IsLayerMode'.
+ * After import property 'IsLayerMode' getting from target
+ * document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Draw.XMLSettingsImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config"},
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "view-settings"},
+ {"start", "config:config-item-map-indexed",
+ "config:name", "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "IsLayerMode",
+ "config:type", "CDATA", "boolean"},
+ {"chars", "true"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"} };
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml);
+ final PrintWriter logF = log;
+ XModel xDrawModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ XController xController = xDrawModel.getCurrentController();
+ final XPropertySet xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xController);
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Boolean value = (Boolean)
+ xPropSet.getPropertyValue("IsLayerMode");
+ logF.println("'IsLayerMode' property value is '"
+ + value + "'");
+ return value.booleanValue() == true;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception while checking import :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java
new file mode 100644
index 000000000000..9caf84ef2d94
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java
@@ -0,0 +1,214 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ XComponent xDrawDoc = null;
+ protected static int counter = 0;
+
+ /**
+ * New draw document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. New style is added to the style family 'graphics' with unique name
+ * every time. This made for checking if this style is successfully exported
+ * within the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws StatusException {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+ final String STYLE_NAME = "New style" + counter++ ;
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLStylesExporter", new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ //obtain style families
+ XStyleFamiliesSupplier styleSup = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xDrawDoc);
+ XNameAccess StyleFamilies = styleSup.getStyleFamilies();
+ //obtain all style family names
+ String[] styleFamiliesNames = StyleFamilies.getElementNames();
+ String styleFamilyName = styleFamiliesNames[0];
+ //obtain style family with name[0]
+ Object objectStyle = StyleFamilies.getByName(styleFamilyName);
+ XNameContainer xStyleFamilyName = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class, objectStyle);
+ //creat new style
+ Object SC = SOF.createInstance(xDrawDoc, "com.sun.star.style.Style");
+ XStyle Style = (XStyle) UnoRuntime.queryInterface(XStyle.class,SC);
+ //add new style to style familiy with name[0]
+ xStyleFamilyName.insertByName(STYLE_NAME,Style);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // Checking Head Tag existance and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-styles"));
+ filter.addTag(new XMLTools.Tag ("office:styles"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("style:style"),
+ new XMLTools.Tag("office:styles") );
+ filter.addTag(new XMLTools.Tag("style:style", "style:name", STYLE_NAME));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument",xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java
new file mode 100644
index 000000000000..19c95803428a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Text draw destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLStylesImporter</code><p>
+ *
+ * The draw document is set as a target document for importer.
+ * Imported XML-data contains only styles tags including
+ * tag with new style.
+ * After import checked existing of this new style in style
+ * collection obtained from target document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Draw.XMLStylesImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ final String impStyleName = "New style for test XMLStylesImporter";
+ final String impFamilyName = "graphics";
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style"},
+ {"start", "office:styles"},
+ {"start", "style:style",
+ "style:name", "CDATA", impStyleName,
+ "style:family", "CDATA", impFamilyName},
+ {"end", "style:style"},
+ {"end", "office:styles"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log;
+ //obtain style families
+ XStyleFamiliesSupplier styleSup = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface (XStyleFamiliesSupplier.class, xDrawDoc) ;
+ final XNameAccess StyleFamilies = styleSup.getStyleFamilies();
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Object objectStyle =
+ StyleFamilies.getByName(impFamilyName);
+ XNameContainer StyleFamilyName = (XNameContainer)
+ UnoRuntime.queryInterface
+ (XNameContainer.class, objectStyle);
+ boolean hasStyle =
+ StyleFamilyName.hasByName(impStyleName);
+ logF.println("Does style with name '" + impStyleName
+ + "' exist? " + String.valueOf(hasStyle) );
+ return hasStyle;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception while checking import :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java
new file mode 100644
index 000000000000..ec6d6104da7a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The impress document is set as a source document for exporter
+ * created. The existing draw page is gotten a new name. This made
+ * for checking if this new name is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ final String expPageName = "XMLContentExporter" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLContentExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ // assigning a draw page a new name
+ XDrawPagesSupplier xPagesSup = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xImpressDoc) ;
+ XDrawPages xPages = xPagesSup.getDrawPages() ;
+ XNamed xPageName = (XNamed) UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(0)) ;
+ xPageName.setName(expPageName) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // adding tags required to be in XML data exported.
+ filter.addTag(new XMLTools.Tag("office:document-content")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document-content")) ;
+ filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page", "draw:name", expPageName),
+ new XMLTools.Tag("office:body")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java
new file mode 100644
index 000000000000..bb919b651ae0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java
@@ -0,0 +1,221 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Disposes document.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLContentImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag with a new page which has
+ * some name.
+ * After import page name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam,PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impPageName = "XMLImporterPage" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLContentImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:presentation", "CDATA", "http://openoffice.org/2000/presentation",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing",
+ "office:class", "CDATA", "presentation"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", impPageName,
+ "draw:master-page-name", "CDATA", "Default"
+ },
+ {"start", "presentation:notes"},
+ {"start", "draw:page-thumbnail",
+ "draw:style-name", "CDATA", "gr1",
+ "draw:layer", "CDATA", "layout",
+ "svg:width", "CDATA", "12.768cm",
+ "svg:height", "CDATA", "9.576cm",
+ "svg:x", "CDATA", "4.411cm",
+ "svg:y", "CDATA", "2.794cm",
+ "presentation:class", "CDATA", "page",
+ "draw:page-number", "CDATA", "1"
+ },
+ {"end", "draw:page-thumbnail"},
+ {"start", "draw:text-box",
+ "presentation:style-name", "CDATA", "Default-notes",
+ "draw:layer", "CDATA", "layout",
+ "svg:width", "CDATA", "15.021cm",
+ "svg:height", "CDATA", "10.63cm",
+ "svg:x", "CDATA", "3.292cm",
+ "svg:y", "CDATA", "13.299cm",
+ "presentation:class", "CDATA", "notes",
+ "presentation:placeholder", "CDATA", "true"
+ },
+ {"end", "draw:text-box"},
+ {"end", "presentation:notes"},
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ XDrawPagesSupplier xPagesSup = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xImpressDoc) ;
+ XDrawPages xPages = xPagesSup.getDrawPages() ;
+ XNamed xPageName = (XNamed) UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(0)) ;
+ String gName = xPageName.getName() ;
+ logF.println("Page name returned = '" + gName + "'") ;
+ return impPageName.equals(gName) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java
new file mode 100644
index 000000000000..cfb3d1117021
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The impress document is set as a source document for exporter
+ * created. A new draw page with specific name created. This made
+ * for checking if this draw page is successfully exported within
+ * the document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ protected synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker Filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ final String NAME = "XMLExporter";
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLExporter", new Object[] {arg});
+
+ //get draw pages
+ XDrawPagesSupplier drawPagesSupplier = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages drawPages = drawPagesSupplier.getDrawPages();
+ //insert new draw page
+ XDrawPage newDrawPage = drawPages.insertNewByIndex(0);
+ //set specific test name
+ XNamed newPageNamed = (XNamed)
+ UnoRuntime.queryInterface(XNamed.class, newDrawPage);
+ newPageNamed.setName(NAME);
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // adding tags which must be contained in XML output
+ Filter.addTag( new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page", "draw:name", NAME),
+ new XMLTools.Tag("office:body") );
+
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java
new file mode 100644
index 000000000000..0675533906f1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Impress document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLImporter</code><p>
+ *
+ * The impress document is set as a target document for importer.
+ * Imported tags contain page with the specific name.
+ * After import existence of the page with this specific
+ * name is checked in the target document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLImporter") ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ final String impName = "XMLImporter";
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", impName },
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"} };
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml);
+
+ //get draw pages
+ XDrawPagesSupplier drawPagesSupplier = (XDrawPagesSupplier)
+ UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages drawPages = drawPagesSupplier.getDrawPages();
+ final XNameAccess xNamePages = (XNameAccess)
+ UnoRuntime.queryInterface(XNameAccess.class, drawPages);
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ return xNamePages.hasByName(impName);
+ }
+ } );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java
new file mode 100644
index 000000000000..a71443adbcc5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Impress document disposed
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( "disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The impress document is set as a source document for exporter
+ * created. A meta property 'Title' is set to specific value. This made
+ * for checking if this value is successfully exported within
+ * the document meta information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+ final String NAME = "XMLMetaExporter";
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLMetaExporter",
+ new Object[]{arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ //change title name
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface
+ (XDocumentInfoSupplier.class, xImpressDoc) ;
+ XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo()) ;
+ docInfo.setPropertyValue("Title", NAME);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // Checking tags existance and changed property value
+ filter.addTag(new XMLTools.Tag ("office:document-meta"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document-meta") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag("dc:title"),
+ new XMLTools.Tag("office:meta") );
+ filter.addCharactersEnclosed(
+ NAME,
+ new XMLTools.Tag ("dc:title") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument", xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, true);
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java
new file mode 100644
index 000000000000..154f1380a9cc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java
@@ -0,0 +1,189 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XDocumentInfoSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Impress document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLMetaImporter</code><p>
+ *
+ * The impress document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including title tag
+ * with test title name. After import title name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam,PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impTitle = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLMetaImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"},
+ {"start", "office:meta"} ,
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XDocumentInfoSupplier infoSup = (XDocumentInfoSupplier)
+ UnoRuntime.queryInterface
+ (XDocumentInfoSupplier.class, xImpressDoc) ;
+ final XPropertySet docInfo = (XPropertySet) UnoRuntime.queryInterface
+ (XPropertySet.class, infoSup.getDocumentInfo()) ;
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String)
+ docInfo.getPropertyValue("Title") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occured while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ } );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java
new file mode 100644
index 000000000000..31aad6b65034
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java
@@ -0,0 +1,219 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New text document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Document disposed here.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The Impress document is set as a source document for exporter
+ * created. Then setting 'IsLayerMode' is changed to a new value.
+ * After this filter checks that value has changed in the XML output.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF();
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+ final boolean NewDataValue;
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ //set some settings
+ XModel xImpressModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+ XController xController = xImpressModel.getCurrentController();
+ XPropertySet xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xController);
+ NewDataValue = ! ((Boolean) xPropSet.getPropertyValue
+ ("IsLayerMode")).booleanValue();
+ xPropSet.setPropertyValue("IsLayerMode",
+ new Boolean (NewDataValue));
+
+/* XViewDataSupplier xViewDataSupp = (XViewDataSupplier)
+ UnoRuntime.queryInterface(XViewDataSupplier.class, xImpressDoc);
+ XIndexAccess xViewData = xViewDataSupp.getViewData();
+ PropertyValue[] xData = (PropertyValue[]) xViewData.getByIndex(0);
+ NewDataValue = ! ((Boolean) xData[1].Value).booleanValue();
+ xData[1].Value = new Boolean(NewDataValue);
+ XIndexReplace xViewDataReplacable = (XIndexReplace)
+ UnoRuntime.queryInterface(XIndexReplace.class, xViewData);
+ xViewDataReplacable.replaceByIndex(0,xData);
+*/
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // Adding tags for checking existance of head tag and other tags
+ filter.addTagEnclosed(new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document-settings"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item-set"),
+ new XMLTools.Tag("office:settings"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item-map-indexed"),
+ new XMLTools.Tag("config:config-item-set"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item-map-entry"),
+ new XMLTools.Tag("config:config-item-map-indexed"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item"),
+ new XMLTools.Tag("config:config-item-map-entry"));
+ filter.addCharactersEnclosed(String.valueOf(NewDataValue),
+ new XMLTools.Tag("config:config-item","config:name","IsLayerMode"));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java
new file mode 100644
index 000000000000..75d0661630bd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java
@@ -0,0 +1,213 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Impress document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLStylesImporter</code><p>
+ *
+ * The Impress document is set as a target document for importer.
+ * Value of a property "IsLayerMode" has imported as 'true' to a target
+ * document. After import property value getting from target document
+ * is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLSettingsImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "xmlns:presentation", "CDATA",
+ "http://openoffice.org/2000/presentation",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config",
+ "office:version", "CDATA", "1.0"},
+ {"start", "office:settings"},
+ {"start", "config:config-item-map-indexed", "config:name",
+ "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start","config:config-item", "config:name", "CDATA",
+ "IsLayerMode"},
+ {"chars", "true"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ // get property before import
+ XModel xImpressModel = (XModel)
+ UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+ XController xController = xImpressModel.getCurrentController();
+ final XPropertySet xPropSet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xController);
+ try {
+ log.println("Property \"IsLayerMode\" before import is " +
+ xPropSet.getPropertyValue("IsLayerMode"));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't create component.", e);
+ }
+ final PrintWriter logF = log;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ Boolean propValue;
+ try {
+ propValue = (Boolean) xPropSet.getPropertyValue
+ ("IsLayerMode");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(logF);
+ throw new StatusException
+ ("Can't get property value.", e);
+ }
+ logF.println("Property \"IsLayerMode\" after import is "
+ + propValue);
+ if ( propValue.booleanValue() == true ) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ });
+
+ return tEnv;
+ } // end of getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java
new file mode 100644
index 000000000000..db0b45e3ae8b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java
@@ -0,0 +1,209 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ XComponent xImpressDoc = null;
+ protected static int counter = 0;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The Impress document is set as a source document for exporter
+ * created. New style 'NewStyle' added to style family "Graphics".
+ * This made for checking if this style is successfully exported within
+ * the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws StatusException {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ String newName = "NewGraphicsStyle" + counter++;
+ // Adding tags for checking existance of head tag and property value
+ filter.addTag(new XMLTools.Tag("office:document-styles"));
+ filter.addTag(new XMLTools.Tag("office:styles"));
+ filter.addTag(new XMLTools.Tag("style:style","style:name", newName));
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLStylesExporter",
+ new Object[] {arg});
+ XExporter xEx = (XExporter)
+ UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ // Obtaining and changing property values
+ XStyleFamiliesSupplier styleSup = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface
+ (XStyleFamiliesSupplier.class, xImpressDoc) ;
+ XNameAccess styleFamilies = styleSup.getStyleFamilies();
+ String[] styleFamiliesNames = styleFamilies.getElementNames();
+ XNameContainer StyleFamilyName = (XNameContainer)
+ UnoRuntime.queryInterface(XNameContainer.class,
+ styleFamilies.getByName(styleFamiliesNames[0]));
+ Object SC = SOF.createInstance
+ (xImpressDoc, "com.sun.star.style.Style");
+ XStyle StylePage = (XStyle)
+ UnoRuntime.queryInterface(XStyle.class,SC);
+ StyleFamilyName.insertByName(newName, StylePage);
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occured in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ protected class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ public FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occured.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java
new file mode 100644
index 000000000000..f67141c2e1fd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * 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 mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New spreadsheet document created.
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF());
+
+ try {
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);;
+ } catch ( Exception e ) {
+ // Some exception occures.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create document", e );
+ }
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a Testenvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLStylesImporter</code><p>
+ *
+ * The Impress document is set as a target document for importer.
+ * Imported XML-data contains only style tags including tag
+ * with new style name.
+ * After import style names getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ public synchronized TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)tParam.getMSF() ;
+
+ try {
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLStylesImporter") ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:fo", "CDATA", "http://www.w3.org/1999/XSL/Format",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table"},
+ {"start", "office:styles"},
+ {"start", "style:style",
+ "style:name", "CDATA", impValue,
+ "style:family", "CDATA", "graphics",
+ "style:parent-style-name", "CDATA", "standard"},
+ {"end", "style:style"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ // adding relation for XDocumentHandler
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+ XNameAccess styles = null ;
+ try {
+ XStyleFamiliesSupplier sup = (XStyleFamiliesSupplier)
+ UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xImpressDoc);
+ XNameAccess oStyleFamilies = sup.getStyleFamilies();
+ Object family = oStyleFamilies.getByName("graphics") ;
+ styles = (XNameAccess) UnoRuntime.queryInterface
+ (XNameAccess.class, family) ;
+ log.println("Styles before:") ;
+ String[] names = styles.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ }
+ final XNameAccess stylesF = styles ;
+ final PrintWriter logF = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ logF.println("Styles after:") ;
+ String[] names = stylesF.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ logF.println(" " + names[i]) ;
+ }
+ return stylesF.hasByName(impValue) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // end of getTestEnvironment
+
+}
+